safe_enter_portal() elif to_room == 'center': if from_room == 'up' and ptback_up.valid: safe_teleport(ptback_up.x, ptback_up.y) elif from_room == 'down' and ptback_down.valid: safe_teleport(ptback_down.x, ptback_down.y) elif from_room == 'left' and ptback_left.valid: safe_teleport(ptback_left.x, ptback_left.y) elif from_room == 'right' and ptback_right.valid: safe_teleport(ptback_right.x, ptback_right.y) safe_enter_portal() else: moving_to_room(from_room, 'center') if GameState.IsInGame() and Field.GetID() in DD_MAP: box = find_one_box() if box is None: print('Can not find any nightmare box. Wait.') toggle_attack(False) time.sleep(SLEEP_TIME) else: room_of_box = room_of(box.x, box.y) print('Found box in room: %s' % room_of_box) pos = Character.GetPos() room_of_char = room_of(pos.x, pos.y) print('The character is in room: %s' % room_of_char) if room_of_box == room_of_char: if close_enough(pos.x, pos.y, box.x, box.y, 50):
import SunCat import SCHotkey import SCLib except BaseException: print("Couldn't find SunCat module", flush=True) # WTFM x Colorless # Constants buffmap_id = 701100015 xpbonus = 2023532 mesobonus = 2023533 attbonus = 2023534 hs = 2311003 htr = 5040004 map = Field.GetID() # Variables To Change # Change these values accordingly using_mule = False mule_channel = 5 def ToggleRushByLevel(indicator): Terminal.SetCheckBox("Rush By Level",indicator) Terminal.SetRushByLevel(indicator) if GameState.IsInGame(): if Inventory.FindItemByID(htr).valid: # Checks for HS if using_mule: Terminal.ChangeChannel(mule_channel)
def MapRange(map): if Field.GetID() >= map and Field.GetID() <= map + 1: return True else: return False
def Main(): if GameState.IsInGame(): if not Quest.GetQuestState(33284) == 2: if Terminal.IsRushing(): Terminal.StopRush() CoreEnterance = 350060000 Core = 350060160 Lotus1 = 350060220 Lotus2 = 350060240 Lotus3 = 350060260 BHCorrider = 350062000 BHCorrider1 = 350062110 BHCorrider2 = 350062120 BHCorrider3 = 350062130 BHCorrider4 = 350062150 Quater = 350062400 Gelimer = 350062410 Gelimer2 = 350062500 Escape1 = 350063000 Escape2 = 350063001 Escape3 = 350063002 Escape4 = 350063003 Escape5 = 350063004 currentMap = Field.GetID() if not 350060000 <= Field.GetID() <= 350063500: Terminal.Rush(350061000) time.sleep(5) if currentMap == CoreEnterance: SetAttack(False) ToPortal("bossIn00") if currentMap in range(Core, Core + 10): SetAttack(True) if MapRange(Lotus1) or MapRange(Lotus2) or MapRange(Lotus3): SetAttack() if currentMap == 350061000: ToPortal("pt_350061000") elif currentMap == BHCorrider: SetAttack(False) ToPortal("In00") elif currentMap in range(BHCorrider1, BHCorrider1 + 10): if len(Field.GetMobs()) > 0: SetAttack(True) else: SetAttack(False) ToPortal("east00") elif currentMap in range(BHCorrider3, BHCorrider3 + 10): if len(Field.GetMobs()) > 0: SetAttack(True) else: SetAttack(False) ToPortal("east00") elif currentMap in range(BHCorrider4, BHCorrider4 + 10): if len(Field.GetMobs()) > 0: SetAttack(True) else: SetAttack(False) ToPortal("east00") if currentMap == Quater: SetAttack(False) ToPortal("pt00") elif currentMap == Gelimer: Npc.ClearSelection() Npc.RegisterSelection("Please") time.sleep(2) SpamSpace() elif currentMap == Gelimer2: Character.MoveX(Field.FindPortal("pt00").x, 8000) # ToPortal("pt00") SpamSpace() elif currentMap == 350062900: ToPortal("out00") elif currentMap == Escape1: Character.MoveX(0, 5000) elif currentMap == Escape2: ToPortal("wet00") elif currentMap == Escape3: ToPortal("west00") elif currentMap == Escape4: time.sleep(2) ToPortal("pt00") elif currentMap == Escape5: SetAttack(False, False) Character.MoveX(200, 15000) # ToPortal("pt00") SpamKey("alt") elif currentMap == 350063200: quests = { 33281: 1540744, 33282: 1540745, 33283: 1540746, 33284: 1540729 } for qid, npc in quests.items(): if DoQuest(qid): StartQuest(qid, npc) time.sleep(5)
def isInSS(): if Field.GetID() >= ssMapStart and Field.GetID() <= ssMapEnd: return True else: return False
daily8 = Quest.GetQuestState(34787) daily9 = Quest.GetQuestState(34788) daily10 = Quest.GetQuestState(34789) daily11 = Quest.GetQuestState(34790) daily12 = Quest.GetQuestState(34791) daily13 = Quest.GetQuestState(34792) daily14 = Quest.GetQuestState(34793) daily15 = Quest.GetQuestState(34794) daily16 = Quest.GetQuestState(34795) daily17 = Quest.GetQuestState(34796) daily18 = Quest.GetQuestState(34797) daily19 = Quest.GetQuestState(34798) daily20 = Quest.GetQuestState(34799) completedaily = Quest.GetQuestState(34773) while Field.GetID() < 450007000: esfera = Packet.COutPacket(0x02CC) esfera.EncodeBuffer("00 00 00 90 D2 1A") Packet.SendPacket(esfera) time.sleep(5) while Quest.GetQuestState(34772) != 2: RushCheck(450007040) if Quest.GetQuestState(34772) == 0: Quest.StartQuest(34772, 3003530) time.sleep(1) else: Quest.CompleteQuest(34772, 3003530) time.sleep(1) if completedaily == 0:
#StartQuest(34252, 3003421) teleport to 220 -417 for kanna CompleteQuest(34252, 3003421) #time.sleep(10) until map 450006040 go to map 450006130 then go to map 450006110 teleport to -2059 -473 StartQuest(34253, 3003423) tp to -465 -656 for kanna #teleport to -2059 -473 CompleteQuest(34253, 3003424) time.sleep(7) StartQuest(34254, 3003425) #in map 450006130 teleport to 1956 -449 CompleteQuest(34254, 3003426) #in map 450006130 StartQuest(34255, 3003426) go to map 450006140 #for kanna tp -963 24 check complete go back 450006130 CompleteQuest(34255, 3003426) #StartQuest(34256, 3003427) go to map 450006150 for kanna tp -188 -298 done go back to 450006130 #CompleteQuest(34256, 3003427) StartQuest(34257, 3003427) tp to -344 24 CompleteQuest(34257, 3003425) sleep(10) #in map 450006240 StartQuest(34258, 3003428) #in map 450006240 CompleteQuest(34258, 3003429) StartQuest(34259, 3003429) go to map 450006210 tp 418 25 for kanna #find item 2437666 in inventory use it until quest complete #go back to 450006240 CompleteQuest(34259, 3003429) StartQuest(34260, 3003428) time.sleep(10) #in map 450006240 StartQuest(34261, 3003429) go to 450006220 for kanna tp 485 25 #go back to 450006240 CompleteQuest(34261, 3003429) sleep(15) StartQuest(34262, 3003428) time.sleep(10) #in map 450006300 StartQuest(34263, 3003430) for kanna tp 1482 297 go back -233 30 CompleteQuest(34263, 3003430) sleep(10) currmap = Field.GetID() job = Character.GetJob() pos = Character.GetPos() if GameState.IsInGame(): if doQuest(q1): if needQuest(q1): startQuest(q1, npc1) time.sleep(1) elif doQuest(q2): if needQuest(q2): if currmap == 450006000: Terminal.Rush(450006010) elif currmap == 450006010: time.sleep(5) startQuest(q2, npc2) else:
Terminal.Rush(endRush) time.sleep(2) Quest.CompleteQuest(questID, npcEndID) else: # quest is in progress Terminal.Rush(killingMap) time.sleep(5) # created by: leroy.jenkins93, Marik Terminal.SetRushByLevel(False) while True: time.sleep(1) currentMap = Field.GetID() jobid = Character.GetJob() level = Character.GetLevel() if jobid == -1 or level == -1: # not in game continue if Terminal.IsRushing(): time.sleep(1) continue fieldid = Field.GetID() if level >= 220: festival = Quest.GetQuestState(34300)
import Character, GameState, Context, DataType, Field, Inventory, Key, Npc, Packet, Quest, Terminal, time, random #Script is written by Retard (https://www.gamekiller.net/members/retard.942916/) def toPortal(portal): # Credit to Rain for this function tPortal = Field.FindPortal(portal) if tPortal.valid: while tPortal.x != Character.GetPos().x: Character.Teleport(tPortal.x, tPortal.y) time.sleep(1) if tPortal.x == Character.GetPos().x: break Character.EnterPortal() time.sleep(2) if GameState.IsInGame() and Character.GetLevel() >= 140: if Field.GetID() != 271041000 and not Character.HasBuff(2, 2311003): oPacket = Packet.COutPacket(0x02C2) oPacket.Encode4(0x0000000F) oPacket.Encode4(0x00000000) oPacket.Encode4(0x1027C1E8) Packet.SendPacket(oPacket) time.sleep(3) elif Field.GetID() == 271041000 and Character.HasBuff(2, 2311003): toPortal("out00") else: print("Not level 140 or above")
def CheckInstanceMap(mapid, dir, forward=True): _map = Field.GetID() entrance = 811000014 field1 = 811000098 field2 = 811000097 down1 = 811000015 down2 = down1 + 1 down3 = down2 + 1 well1 = down3 + 1 templeEntrance = 811000019 boss1 = 811000020 nBossEntry = 811000025 nBoss1 = nBossEntry + 1 nBoss2 = nBoss1 + 1 nBoss3 = nBoss2 + 2 lastBossEntry = nBossEntry + 3 if _map != mapid: if dir != "momi": Terminal.StopRush() if forward: if _map == entrance and dir == "up": EnterPortal("out01") if _map == field1 and dir == "up": EnterPortal("out01") if _map == entrance and dir == "down": EnterPortal("out02") if _map == down1 and dir == "down": EnterPortal("out01") if _map == down2 and dir == "down": EnterPortal("out01") if _map == down3 and dir == "down": EnterPortal("out01") if _map == templeEntrance and dir == "mid": EnterPortal("in00") if _map == entrance and dir == "right": EnterPortal("out02") if _map == down1 and dir == "right": EnterPortal("out01") if _map == down2 and dir == "right": EnterPortal("out01") if _map == down3 and dir == "right": EnterPortal("out01") if _map == templeEntrance - 1 and dir == "right": EnterPortal("out01") if _map == templeEntrance and dir == "right": EnterPortal("out01") if _map == templeEntrance + 1 and dir == "right": EnterPortal("out01") if _map == boss1 + 1 and dir == "right": EnterPortal("out01") if _map == nBossEntry and dir == "right": EnterPortal("out01") if _map == lastBossEntry and dir == "right": EnterPortal("in00") else: if _map == field1 and dir == "up": EnterPortal("out00") if _map == field2 and dir == "up": EnterPortal("out00") if _map == down1 and dir == "down": EnterPortal("out00") if _map == down2 and dir == "down": EnterPortal("out00") if _map == down3 and dir == "down": EnterPortal("out00") if _map == boss1 and dir == "mid": EnterPortal("out00") if _map == nBoss3 and dir == "mid2": EnterPortal("out00") if _map == nBoss2 and dir == "mid2": EnterPortal("out00") if _map == nBoss1 and dir == "mid2": EnterPortal("out00")
def __Items(self): IGN = Character.GetName() Channel = GameState.GetChannel() World = GameState.GetWorldID() Level = Character.GetLevel() mapID = Field.GetID() CharID = Character.GetID() PercentageExp = self.__GetPercentage() VJSymbol = Inventory.GetItemCount(1712001) ChuSymbol = Inventory.GetItemCount(1712002) LachSymbol = Inventory.GetItemCount(1712003) ArcanaSymbol = Inventory.GetItemCount(1712004) MorrasSymbol = Inventory.GetItemCount(1712005) EsferaSymbol = Inventory.GetItemCount(1712006) StigmaAmount = Inventory.GetItemCount(4001868) CoreAmount = Inventory.GetItemCount(4001842) TradNodes = Inventory.GetItemCount(2435719) UntradNodes = Inventory.GetItemCount(2436324) MesoCount = Character.GetMeso() DropletCount = Inventory.GetItemCount(4001878) EsferaDropletCount = Inventory.GetItemCount(4001879) ProtAmount = Inventory.GetItemCount(2531000) + Inventory.GetItemCount(2531001) + \ Inventory.GetItemCount(2531004) + Inventory.GetItemCount(2531005) CssAmount = Inventory.GetItemCount(2049004) + Inventory.GetItemCount(2049009) + Inventory.GetItemCount(2049011) + \ Inventory.GetItemCount(2049018) + Inventory.GetItemCount(2049022) PotentialScrolls = Inventory.GetItemCount(2049401) items = { 'IGN': IGN, 'World': World, 'CharID': CharID, 'Channel': Channel, 'Level': Level, 'mapID': mapID, 'EXP': PercentageExp, 'VJSymbols': VJSymbol, 'ChuChuSymbols': ChuSymbol, 'LacheleinSymbols': LachSymbol, 'ArcanaSymbols': ArcanaSymbol, 'MorrasSymbol': MorrasSymbol, 'EsferaSymbols': EsferaSymbol, 'StigmaCores': StigmaAmount, 'ACores': CoreAmount, 'TradableNodes': TradNodes, 'UntradableNodes': UntradNodes, 'Meso': MesoCount, 'Droplets': DropletCount, 'EsferaDroplets': EsferaDropletCount, 'ProtectionScrolls': ProtAmount, 'CleanSlate': CssAmount, 'PotentialScrolls': PotentialScrolls } try: self.__toFile('TMRemote/temp/logs', 'ab', items) return True except: try: with open('TMRemote/temp/logs', 'wb+') as temp: pass self.__toFile('TMRemote/temp/logs', 'ab', items) return True except: return False
def mapsMP(): return Field.GetID() >= 952000000 and Field.GetID() <= 954070599
SCHotkey.RegisterKeyEvent(HotKey, KillPersistVarThred) #F11 #SunCat.StopTP() print("Starting kanna ring script") Terminal.SetCheckBox("Kami Loot", False) Terminal.SetCheckBox("Auto Loot", False) if GameState.IsInGame(): if quest1 != 2: if quest1 == 0: print("Starting first quest") Quest.StartQuest(58901, 9130102) elif quest1 == 1: print("Doing first quest") if Quest.CheckCompleteDemand(58901, 9130102) == 0: if Field.GetID() == 807000000: TP_EnterPortal(-1688, 32) elif Field.GetID() == 811000001: Quest.CompleteQuest(58901, 9130102) else: Terminal.Rush(807000000) if quest2 != 2: if quest2 == 0: print("Starting second quest") #if Field.GetID() == 811000001: Quest.StartQuest(58902, 9130102) elif quest2 == 1: print("Doing second quest") if Quest.CheckCompleteDemand(58902, 9130102) == 0: SunCat.StopTP() Character.Teleport(633, -268)
def Job1(): def to_portal(pname, enter=True): map = Field.GetID() portal = Field.FindPortal(pname) if portal.valid: if not ((portal.x-10 < Character.GetPos().x < portal.x+10)\ and (portal.y-10 < Character.GetPos().y < portal.y+15)): Character.Teleport(portal.x, portal.y-20) time.sleep(1) attempt = 0 while enter and Field.GetID() == map and attempt < 3: attempt += 1 Character.EnterPortal() time.sleep(1) def startQuest(quest, npc): print("Starting quest {0} from npc {1}".format(quest, npc)) Quest.StartQuest(quest, npc) time.sleep(1) def completeQuest(quest, npc): print("Completing quest {0} from npc {1}".format(quest, npc)) Quest.StartQuest(quest, npc) time.sleep(1) def questDone(quest, npc): return Quest.CheckCompleteDemand(quest, npc) == 0 def needQuest(id): # quest hasn't been accepted return Quest.GetQuestState(id) == 0 def hasQuest(id): # quest is active return Quest.GetQuestState(id) == 1 def doQuest(id): # quest isn't complete/turned in return Quest.GetQuestState(id) != 2 def doneQuest(id): # quest isn't complete/turned in return Quest.GetQuestState(id) == 2 map = Field.GetID() if Character.GetJob() != 301 and Character.GetLevel() <= 29: if map == 910090301: Terminal.SetCheckBox("RushByLevel", False) Terminal.SetCheckBox("Auto Pet", True) Inventory.UseItem(2434265) to_portal("east00") elif doQuest(35900): if needQuest(35900): time.sleep(1) startQuest(35900, 0) time.sleep(1) elif hasQuest(35900): time.sleep(1) completeQuest(35900, 1013305) time.sleep(1) elif doneQuest(35900) and doQuest(35901): if needQuest(35901): time.sleep(1) startQuest(35901, 1013305) time.sleep(1) elif hasQuest(35901): time.sleep(5) completeQuest(35901, 1013305) time.sleep(5) elif doneQuest(35901) and doQuest(35902): if needQuest(35902): time.sleep(1) startQuest(35902, 1013305) time.sleep(1) if hasQuest(35902): if not questDone(35902, 1013305): if map == 910090302: to_portal("east00") if map == 910090303: Terminal.SetCheckBox("Legit Vac", False) Terminal.SetCheckBox("Mob Falldown", True) Terminal.SetCheckBox("Auto Aggro", False) Terminal.SetCheckBox("Melee No Delay", False) Terminal.SetCheckBox("Skill Inection", False) Terminal.SetCheckBox("General FMA", False) Terminal.SetCheckBox("Auto Attack", True) Terminal.SetPushButton("Item Filter", False) if questDone(35902, 1013305): Terminal.SetCheckBox("Auto Aggro", False) Terminal.SetCheckBox("Melee No Delay", False) Terminal.SetCheckBox("Auto Attack", False) if map == 910090303: to_portal("west00") if map == 910090302: Npc.ClearSelection() Npc.RegisterSelection("Fire") completeQuest(35902, 1013305) elif doneQuest(35902) and not doneQuest(35903): if needQuest(35903): time.sleep(1) startQuest(35903, 9010000) else: if map == 910090305 and Character.GetLevel() <= 15: Terminal.SetCheckBox("RushByLevel", True) to_portal("out00")
import time import Login import Terminal import Quest import Inventory fameCharacter = "Mikkushu" #"ElfBenKi"#"NikuBenKi"#'FibreOptics' fameMap = 807000000 farmMap = 807020100 accountPIC = '000111' channel = 14 if GameState.IsInGame(): if Quest.GetQuestState(57402) != 2: Terminal.SetRushByLevel(False) if Field.GetID() == 807040000 or Field.GetID() == 807040100: quest1 = Quest.GetQuestState(57400) quest2 = Quest.GetQuestState(57401) quest3 = Quest.GetQuestState(57402) Terminal.SetCheckBox("Kami Vac", False) if Terminal.IsRushing(): print("Stopping terminal rush") Terminal.StopRush() if quest1 != 2: if quest1 == 0: Quest.StartQuest(57400, 0) time.sleep(0.2) elif quest2 != 2: if quest2 == 0: Quest.StartQuest(57401, 9130082) time.sleep(0.2)
rush(map) Quest.CompleteQuest(qid, npc) return 0 else: return -1 jobid = Character.GetJob() level = Character.GetLevel() if GameState.IsInGame() and (jobid != -1 or level != -1): time.sleep(1) if Terminal.IsRushing(): time.sleep(1) print("hi") fieldid = Field.GetID() quest1 = Quest.GetQuestState(34450) quest2 = Quest.GetQuestState(34451) quest3 = Quest.GetQuestState(34452) quest4 = Quest.GetQuestState(34453) quest5 = Quest.GetQuestState(34454) quest6 = Quest.GetQuestState(34455) quest7 = Quest.GetQuestState(34456) quest8 = Quest.GetQuestState(34459) quest9 = Quest.GetQuestState(34460) quest10 = Quest.GetQuestState(34461) quest11 = Quest.GetQuestState(34462) quest12 = Quest.GetQuestState(34463) quest13 = Quest.GetQuestState(34464) quest14 = Quest.GetQuestState(34465) quest15 = Quest.GetQuestState(34466)
import Character import DataType import Field import Inventory import Key import Npc import Packet import Quest import Terminal import time Terminal.SetRushByLevel(False) while True: time.sleep(2) field_id = Field.GetID() jobid = Character.GetJob() level = Character.GetLevel() pos = Character.GetPos() if jobid == -1 or level == -1: #not in game continue if Terminal.IsRushing(): continue #if the script doesn't start right away, then go to any Victoria Island or Ossyria map elif field_id >= 100000000 and field_id <= 340000000: oPacket = Packet.COutPacket(0x019A) oPacket.Encode2(0x0002) Packet.SendPacket(oPacket) time.sleep(1) oPacket = Packet.COutPacket(0x022B)
SCLib.PersistVar("VJDone" + CharName, False) SCLib.PersistVar("ChuchuDone" + CharName, False) SCLib.PersistVar("DreamDone" + CharName, False) SCLib.PersistVar("SpiritDone" + CharName, False) SCLib.PersistVar("DDCoinDone" + CharName, False) SCLib.PersistVar("MorassDone" + CharName, False) SCLib.PersistVar("ChuchuRun" + CharName, 0) SCLib.PersistVar("DreamRun" + CharName, 0) SCLib.PersistVar("SpiritRun" + CharName, 0) SCLib.PersistVar("ChuchuSymbol" + CharName, 0) SCLib.PersistVar("DDCoin" + CharName, Inventory.GetItemCount(4310227)) SCLib.PersistVar("SpiritCoin" + CharName, Inventory.GetItemCount(4310235)) SCLib.PersistVar("defaultEva" + CharName, Terminal.GetComboBox("HackingOpt")) SCLib.PersistVar("Completed" + CharName, False) SCLib.PersistVar("startingMap" + CharName, Field.GetID()) elif SCLib.GetVar("DailyDate" + CharName) != time.gmtime().tm_mday: print("Daily has been reset. Reset daily status") SCLib.UpdateVar("DailyDate" + CharName, time.gmtime().tm_mday) SCLib.UpdateVar("VJDone" + CharName, False) SCLib.UpdateVar("ChuchuDone" + CharName, False) SCLib.UpdateVar("DreamDone" + CharName, False) SCLib.UpdateVar("MorassDone" + CharName, False) SCLib.UpdateVar("SpiritDone" + CharName, False) SCLib.UpdateVar("DDCoinDone" + CharName, False) SCLib.UpdateVar("ChuchuRun" + CharName, 0) SCLib.UpdateVar("DreamRun" + CharName, 0) SCLib.UpdateVar("SpiritRun" + CharName, 0) SCLib.PersistVar("ChuchuSymbol" + CharName, 0) SCLib.UpdateVar("DDCoin" + CharName, Inventory.GetItemCount(4310227)) SCLib.UpdateVar("SpiritCoin" + CharName, Inventory.GetItemCount(4310235))
def CheckMap(map): if Field.GetID() == map: return True else: return False
def Rush(mapid): if Terminal.IsRushing(): time.sleep(1) elif Field.GetID() != mapid: time.sleep(1) Terminal.Rush(mapid)
if questState == 0: # accept it time.sleep(1) Quest.StartQuest(questID, npcStartID) time.sleep(1) elif Quest.CheckCompleteDemand(questID, npcEndID) == 0: if currentMap != endRush: Terminal.Rush(endRush) time.sleep(1) Quest.CompleteQuest(questID, npcEndID) if GameState.IsInGame(): time.sleep(1) currentMap = Field.GetID() jobid = Character.GetJob() jobid = Character.GetJob() level = Character.GetLevel() if level >= 200: Terminal.SetRushByLevel(False) # -------------------------------------------------------- # 5TH JOB QUESTS BELOW # -------------------------------------------------------- # 5th job quests # quests erdaCall = Quest.GetQuestState(1460) goddessBlessing = Quest.GetQuestState(1461) mapleStoneQuest = Quest.GetQuestState(1462)