def checkSScoin(): if Inventory.GetItemCount(4310235) == (SCLib.GetVar("SpiritCoin"+CharName)+30)\ or Inventory.GetItemCount(4310235) == (SCLib.GetVar("SpiritCoin"+CharName)+60): print("You earned daily cap for spirit coin") print("Finished Spirit Savior Daily") RestoreSetting() SCLib.UpdateVar("SpiritDone" + CharName, True) return True else: return False
def GetCoin(npc): print("Receiving coins from", npc) retry=0 while SCLib.GetVar("DDCoin") == Inventory.GetItemCount(4310227) and retry<3: Character.TalkToNpc(npc) time.sleep(3) retry+=1
def Main(): if GameState.IsInGame( ) and not Terminal.IsRushing() and not Terminal.IsSolvingRune(): hieizanLastQuest = 58913 ayame = 9130103 princess = ayame + 1 kannaring = 1113155 hayatoshoulder = 1152171 ayametreasure = 1132275 _map = Field.GetID() if not QuestCompleted(hieizanLastQuest - 2) and QuestInProgress( hieizanLastQuest, ayame): Hieizan(_map) else: if onlyKanna: if Inventory.GetItemCount(kannaring) == 0: KannaRing(_map, "kanna") else: print('we are done') else: if Inventory.GetItemCount( kannaring) > 0 and Inventory.GetItemCount( hayatoshoulder) == 0: KannaRing(_map, "hayato") elif Inventory.GetItemCount( kannaring) > 0 and Inventory.GetItemCount( hayatoshoulder) > 0 and Inventory.GetItemCount( ayametreasure) == 0: KannaRing(_map, "ayameHero") elif Inventory.GetItemCount(kannaring) == 0: KannaRing(_map, "kanna") else: # pno quest line if Inventory.GetItemCount(4034142) > 0: if not QuestCompleted(hieizanLastQuest): CompletingQuest(hieizanLastQuest, ayame, _map) else: if not QuestCompleted(58950): CompletingQuest(58950, princess, _map) print("we're done here")
import Packet, Inventory, time, Terminal, GameState, random randumb = random.randint(0, 3050) * 1000 #Change this number for the amount of nodes you want to use that are dropped from monsters (transferable within account) AmountDropped = 100 #Change this number for the amount of nodes you want to use that are crafted (tradable) AmountCrafted = 0 if GameState.IsInGame: Packet.BlockRecvHeader(0x006C) Packet.BlockRecvHeader(0x0332) Packet.BlockRecvHeader(0x0196) if Inventory.GetItemCount(2436324) >= AmountDropped: for i in range(AmountDropped): useNode = Packet.COutPacket(0x0111) useNode.Encode4(random.randint(162366415, 171995320)) useNode.Encode2(Inventory.FindItemByID(2436324).pos) useNode.EncodeBuffer("00252CE4 00000001") Packet.SendPacket(useNode) time.sleep(0.05) if Inventory.GetItemCount(2435719) >= AmountCrafted: for i in range(AmountCrafted): useNode2 = Packet.COutPacket(0x0111) useNode2.Encode4(random.randint(162366415, 171995320)) useNode2.Encode2(Inventory.FindItemByID(2435719).pos) useNode2.EncodeBuffer("00252A87 00000001") Packet.SendPacket(useNode2) time.sleep(0.05) time.sleep(15)
def __Items(self): IGN = Character.GetName() Channel = GameState.GetChannel() World = GameState.GetWorldID() Level = Character.GetLevel() 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, '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, 'mapID': Field.GetID(), '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
time.sleep(1) if tinglebrainPotion == 0: Quest.StartQuest(3552, 2140002) time.sleep(1) elif Quest.CheckCompleteDemand(3552, 2140002) == 0: # if its completed, rush back to the room if currentMap != 270020211: Terminal.Rush(270020211) time.sleep(1) Quest.CompleteQuest(3552, 2140002) else: # otherwise, we are doing it if Inventory.GetItemCount(4033171) < 50: if currentMap != 270020100: Terminal.Rush(270020100) time.sleep(1) else: if currentMap != 270020400: Terminal.Rush(270020400) time.sleep(1) elif bitByBit != 2: KaoAndDo(270020211, 270000000, bitByBit, 3553, 2140002, 2140006) continue elif makeThoseMemories != 2: KaoAndDo(270000000, 270030411, makeThoseMemories, 3554, 2140000, 2140003)
print("Couldn't find SunCat module") ########################## # Initial setup ########################## SCLib.StartVars() if SCLib.GetVar("ChuchuDone") is None: SCLib.PersistVar("ChuchuDone", False) if SCLib.GetVar("DreamDone") is None: SCLib.PersistVar("DreamDone", False) if SCLib.GetVar("SpiritDone") is None: SCLib.PersistVar("SpiritDone", False) if SCLib.GetVar("DDCoinDone") is None: SCLib.PersistVar("DDCoinDone", False) if SCLib.GetVar("DDCoin") is None: SCLib.PersistVar("DDCoin", Inventory.GetItemCount(4310227)) if SCLib.GetVar("SpiritCoin") is None: SCLib.PersistVar("SpiritCoin", Inventory.GetItemCount(4310235)) if SCLib.GetVar("defaultEva") is None: SCLib.PersistVar("defaultEva", Terminal.GetComboBox("HackingOpt")) options = ['General FMA', 'Full Map Attack', 'Grenade Kami', 'Mob Falldown', 'Kami Vac', 'bot/kanna_kami', 'bot/si_no_wait', 'Skill Injection', 'Auto Attack'] for option in options: if SCLib.GetVar(option) is None: SCLib.PersistVar(option, Terminal.GetCheckBox(option)) else: SCLib.UpdateVar(option, Terminal.GetCheckBox(option)) SCHotkey.StartHotkeys(100) def KillPersistVarThred(): print("Restarting SCLib variables")
SCLib.StartVars() CharName = Character.GetName() if SCLib.GetVar("DailyDate" + CharName) is None: print("Initialize variables for {0}".format(CharName)) SCLib.PersistVar("DailyDate" + CharName, time.gmtime().tm_mday) 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)
elif quest4 != 2: talkquest(quest4, 34453, 450005015, 450005015, 3003301, 3003301) elif quest5 != 2: talkquest(quest5, 34454, 450005015, 450005100, 3003302, 3003304) elif quest6 != 2: if quest6 == 0: rush(450005100) Quest.StartQuest(34455, 3003303) if quest6 == 1: if Quest.CheckCompleteDemand(34455, 3003303) == 0: rush(450005100) Quest.CompleteQuest(34455, 3003303) else: while Inventory.GetItemCount(4036096) != 10: rush(450005110) time.sleep(1) while Inventory.GetItemCount(4036097) != 10: rush(450005120) time.sleep(1) while Inventory.GetItemCount(4036098) != 10: rush(450005130) time.sleep(1) elif quest7 != 2: if quest7 == 0: rush(450005100) Quest.StartQuest(34456, 3003303) if quest7 == 1: if qcheck(34456, 3003303, 450005100) == -1:
nCommodityID = iPacket.ReadLong(4) nNumber = iPacket.ReadLong(2) sBuyCharacterID = iPacket.ReadLong(13) ftDateExpire = iPacket.ReadLong(8) # FileTime(4, 4) nPaybackRate = iPacket.ReadLong(4) dDiscountRate = iPacket.ReadLong(8) dwOrderNo = iPacket.ReadLong(4) dwProductNo = iPacket.ReadLong(4) bRefundable = iPacket.ReadLong(1) nSourceFlag = iPacket.ReadLong(1) nStorageBank = iPacket.ReadLong(1) # CashItemOption Decode liCashItemSN = iPacket.ReadLong(8) ftExpireDate = iPacket.ReadLong(8) # FileTime(4, 4) nGrade = iPacket.ReadLong(4) iPacket.ReadLong(4) # aOption[0] iPacket.ReadLong(4) # aOption[1] iPacket.ReadLong(4) # aOption[2] if GameState.IsInGame(): if Inventory.GetItemCount(5040004) == 0 and Inventory.GetEmptySlotCount( 5) > 0 and Character.GetMeso() >= 5200000: nEmptySlotPOS = 0 for i in range(1, Inventory.GetItemSlotCount(5)): pItem = Inventory.GetItem(5, i) if not pItem.valid: nEmptySlotPOS = i break Terminal.EnterCashShop() CashItemResLoadLockerDone()
def Hieizan(_map): takeda = 9130102 mouri = 9130008 ayame = 9130103 sakuno = 9130104 momijigaoka = 807000000 q1 = 58901 q2 = q1 + 1 q3 = q2 + 1 q4 = q3 + 4 q5 = q4 + 1 q6 = q5 + 1 q7 = q6 + 1 q8 = q7 + 1 q9 = q8 + 2 if not QuestCompleted(q1): TerminalATK(False) mapid = 811000001 CheckQuestMap(mapid) StartingQuest(q1, takeda) CompletingQuest(q1, takeda, mapid) if not QuestCompleted(q2) and QuestCompleted(q1): mapid = 811000001 CheckQuestMap(mapid) StartingQuest(q2, takeda) itemid = 4034126 if QuestInProgress(q2, takeda): # and Inventory.GetItemCount(itemid) < 30: TerminalATK(True) else: TerminalATK(False) CompletingQuest(q2, takeda, mapid) if not QuestCompleted(q3) and QuestCompleted(q2): itemid = 4009286 StartingQuest(q3, takeda) if QuestInProgress(q3, takeda): if Inventory.GetItemCount(itemid) < 20: mapid = 811000004 CheckQuestMap(mapid) TerminalATK(True) else: mapid = 811000006 TerminalATK(False) CheckQuestMap(mapid) if _map == mapid: if (Character.GetPos().x != -8) and Character.GetPos().y != -628: Character.Teleport(-8, -628) time.sleep(teleportTime) else: questItem = Inventory.FindItemByID(itemid) if questItem.valid: TerminalATK(False) for x in range(20): Inventory.SendChangeSlotPositionRequest( 4, questItem.pos, 0, 1) time.sleep(dropTime) SendingPacket() if not QuestInProgress(q3, takeda): break mapid = 811000001 CheckQuestMap(mapid, False) else: mapid = 811000001 herbid = 4034128 if Inventory.GetItemCount(herbid) > 0: CheckQuestMap(mapid, False) else: CheckQuestMap(mapid) StartingQuest(q3, takeda) CompletingQuest(q3, takeda, mapid) if not QuestCompleted(q4) and QuestCompleted(q3): mapid = 811000001 if _map > mapid: CheckQuestMap(mapid, False) StartingQuest(q4, takeda) time.sleep(questTime) CheckQuestMap(momijigaoka, False) CompletingQuest(q4, mouri, momijigaoka) elif QuestCompleted(q4): if _map == momijigaoka: EnterPortal("west00") if not QuestCompleted(q5) and QuestCompleted(q4): StartingQuest(q5, ayame) if not QuestCompleted(q6) and QuestCompleted(q5): StartingQuest(q6, sakuno) if not QuestCompleted(q7) and QuestCompleted(q6): StartingQuest(q7, ayame) if not QuestCompleted(q8) and QuestCompleted(q7): StartingQuest(q8, ayame) CompletingQuest(q8, ayame, _map) if not QuestCompleted(q9) and QuestCompleted(q8): StartingQuest(q9, ayame)
def has_htr(): return Inventory.GetItemCount(5040004) >= 1
print( "Sending out packet to interact with herb") #Packet.SendPacket(oPacket) #E3 03 86 AB 34 00 time.sleep(2) herb_drop = Field.FindItem(4034128) if herb_drop.valid: print("Picking up herb") Character.Teleport(herb_drop.x, herb_drop.y) Character.LootItem() while not SCLib.GetVar("HuntDone"): drop = Field.FindItem(4009286) if drop.valid: SunCat.KamiTP(drop.x, drop.y) Character.LootItem() if Inventory.GetItemCount(4009286) >= 40: SCLib.UpdateVar("HuntDone", True) SunCat.StopTP() print("Farmed enough items, finding reactor") else: print("Not in game") time.sleep(1) #channel 1 E3 03 5E 2A 41 00 #channel 2 E3 03 1C 95 48 00 #channel 3 E3 03 53 F8 04 00 #channel 4 E3 03 6A F8 04 00 #channel 5 E3 03 DA F7 04 00 #channel 6 E3 03 9F F2 16 00 #channel 7 E3 03 B2 9C 08 00 #channel 8 E3 03 31 F8 04 00