def TeleQuest(startRush, killingMap, endRush, questState, questID, npcStartID, npcEndID, startX, startY, endX, endY): if currentMap != startRush and questState == 0: Terminal.Rush(startRush) time.sleep(2) if questState == 0: # accept it if startX != 0 and startY != 0: Character.Teleport(startX, startY) time.sleep(2) time.sleep(2) Quest.StartQuest(questID, npcStartID) time.sleep(2) elif Quest.CheckCompleteDemand(questID, npcEndID) == 0: if currentMap != endRush: Terminal.Rush(endRush) time.sleep(2) if endX != 0 and endY != 0: Character.Teleport(endX, endY) time.sleep(2) Quest.CompleteQuest(questID, npcEndID) else: Terminal.Rush(killingMap) time.sleep(5)
def KaoAndDo(startRush, endRush, questState, questID, npcStartID, npcEndID): if currentMap != startRush and questState == 0: Terminal.Rush(startRush) time.sleep(1) if currentMap == 270000000: pos = Character.GetPos() if pos.x != -2387 and pos.y != -177: Character.Teleport(-2387, -177) if currentMap == 270010111: time.sleep(2) Character.Teleport(-493, -868) time.sleep(5) 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)
def doVJ(): if dailyVJ: initVJ() counter = -1 if SCLib.GetVar("CurStep") == "StartingVJ": print("Starting Vanishing Journey") acceptVJ() elif SCLib.GetVar("CurStep") == "DoingVJ": counter = 0 for q in vjQuests: if q.IsActive(): counter += 1 if SCLib.GetVar("CurQuest") == None or SCLib.GetVar( "CurQuest") == q.quest: q.DoQuest() if counter == 0: SCLib.UpdateVar("CurStep", "FinishedVJ") elif SCLib.GetVar("CurStep") == "FinishedVJ": print("Finishing VJ") if not Quest.CheckCompleteDemand(34129, vjNPC): Quest.CompleteQuest(34129, vjNPC) vjSymbol = Inventory.FindItemByID(1712001) if not useSymbol(vjSymbol): print("Finished VJ") SCLib.UpdateVar("CurDaily", "ChuChu") SCLib.UpdateVar("CurStep", "InitChuChu") else: print("Skipping VJ") SCLib.UpdateVar("CurDaily", "ChuChu") SCLib.UpdateVar("CurStep", "InitChuChu")
def qcheck(qid, npc, map): if Quest.CheckCompleteDemand(qid, npc) == 0: if map == 940200216: enterbramble() else: rush(map) Quest.CompleteQuest(qid, npc) return 0 else: return -1
def NonTeleQuest(startRush, killingMap, endRush, questState, questID, npcStartID, npcEndID): if currentMap != startRush and questState == 0: Terminal.Rush(startRush) time.sleep(2) if questState == 0: # accept it time.sleep(2) Quest.StartQuest(questID, npcStartID) time.sleep(2) elif Quest.CheckCompleteDemand(questID, npcEndID) == 0: if currentMap != endRush: Terminal.Rush(endRush) time.sleep(2) Quest.CompleteQuest(questID, npcEndID) else: # quest is in progress Terminal.Rush(killingMap) time.sleep(5)
def DoQuest(self): if Quest.GetQuestState(self.quest) == 1: curMap = Field.GetID() SCLib.UpdateVar("CurQuest", self.quest) if Quest.CheckCompleteDemand(self.quest, self.npc): if curMap != self.killmap: Terminal.Rush(self.killmap) else: if curMap != self.completemap: Terminal.Rush(self.completemap) else: if Terminal.GetCheckBox("Kami Vac"): Terminal.SetCheckBox("Kami Vac", False) SunCat.Teleport(self.npcx, self.npcy) time.sleep(1) Quest.CompleteQuest(self.quest, self.npc) time.sleep(2) if SCLib.GetVar("UsingKami"): Terminal.SetCheckBox("Kami Vac", True) SCLib.UpdateVar("CurQuest", None)
daily16 = Quest.GetQuestState(34145) daily17 = Quest.GetQuestState(34146) daily18 = Quest.GetQuestState(34147) daily19 = Quest.GetQuestState(34148) daily20 = Quest.GetQuestState(34149) daily21 = Quest.GetQuestState(34150) if not Terminal.GetCheckBox("Kami Vac"): job = Character.GetJob() if job != 4212 and job != 15512: Terminal.SetCheckBox("Kami Vac", True) if Terminal.IsRushing(): time.sleep(1) #loops so we can use statements like break and continue elif daily1 == 1: #if daily quest 1 is active if Quest.CheckCompleteDemand(34130, 3003104) == False: #if demand is met and can be turned in RushAndComplete(450001000, 34130, 3003104) else:#isn't ready to turn in RushCheck(450001010) #check if current map is killing map, if not rush there, check def above. elif daily2 == 1: if Quest.CheckCompleteDemand(34131, 3003104) == False: RushAndComplete(450001000, 34131, 3003104) else: RushCheck(450001012) elif daily3 == 1: if Quest.CheckCompleteDemand(34132, 3003104) == False: RushAndComplete(450001000, 34132, 3003104) else: RushCheck(450001014)
if fieldid == 450001340: time.sleep(1) if Character.GetPos().x != 563: Character.Teleport(563, 177) if fieldid == 450001350: time.sleep(1) if Character.GetPos().x != 1200: Character.Teleport(1200, 177) if quest1 != 2: if quest1 == 0: if fieldid != 270010111: Terminal.Rush(270010111) else: Quest.StartQuest(1466, 2140001) elif quest1 == 1: if Quest.CheckCompleteDemand(1466, 2140001) == 0: if fieldid != 270010111: Terminal.Rush(270010111) else: Quest.CompleteQuest(1466, 2140001) time.sleep(3) oPacket = Packet.COutPacket(0x00F4) oPacket.Encode4(0x291000E6) oPacket.Encode1(0x01) oPacket.Encode2(0x0001) oPacket.Encode2(0xF9C0) oPacket.Encode2(0xFFFF) Packet.SendPacket(oPacket) time.sleep(3) else:
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()
for _ in range(0, 40): left = 0x25 Key.Down(left) time.sleep(0.1) Key.Up(left) Terminal.SetRushByLevel(False) if Character.GetLevel() >= 235: if Quest.GetQuestState(34562) == 0: Quest.CompleteQuest(34562, 3003541) if Quest.GetQuestState(34562) == 2: if Quest.GetQuestState(34563) == 0: Quest.StartQuest(34563, 3003541) if Quest.GetQuestState(34563) == 1: if Quest.CheckCompleteDemand(34563, 3003542) != 0: Terminal.Rush(450007010) kami() if Quest.CheckCompleteDemand(34563, 3003542) == 0: kamioff() Character.Teleport(-89, -205) Quest.CompleteQuest(34563, 3003542) if Quest.GetQuestState(34563) == 2: if Quest.GetQuestState(34564) == 0: Quest.StartQuest(34564, 3003542) if Quest.GetQuestState(34564) == 1: Terminal.Rush(450007030) if Field.GetID() == 450007030: Character.Teleport(44, -205) Quest.CompleteQuest(34564, 3003543) if Quest.GetQuestState(34564) == 2:
Quest.StartQuest(34772, 3003530) time.sleep(1) else: Quest.CompleteQuest(34772, 3003530) time.sleep(1) if completedaily == 0: Terminal.ChangeStatus('Esfera Daily Started') Quest.StartQuest(34773, 3003530) Npc.ClearSelection() Npc.RegisterSelection( "Those are all the requests I want to swap out.") time.sleep(5) if daily1 == 1: if Quest.CheckCompleteDemand(34780, 3003530): RushCheck(450007010) elif Quest.CheckCompleteDemand(34780, 3003530) == False: RushAndComplete(450007040, 34780, 3003530) elif daily2 == 1: if Quest.CheckCompleteDemand(34781, 3003530): RushCheck(450007030) elif Quest.CheckCompleteDemand(34781, 3003530) == False: RushAndComplete(450007040, 34781, 3003530) elif daily3 == 1: if Quest.CheckCompleteDemand(34782, 3003530): RushCheck(450007050) elif Quest.CheckCompleteDemand(34782, 3003530) == False: RushAndComplete(450007040, 34782, 3003530)
# this is the one where we go to the memory keeper and ask him for help if currentMap != 270010111 and memoryKeeper == 0: Terminal.Rush(270010111) time.sleep(10) Character.Teleport(-493,-868) time.sleep(1) if memoryKeeper == 0: pos = Character.GetPos() if pos.x != -493 and pos.y != -868: Character.Teleport(-493, -868) time.sleep(5) Quest.StartQuest(3507, 2140001) time.sleep(1) elif Quest.CheckCompleteDemand(3507, 2140001) == 0: if currentMap != 270010111: Terminal.Rush(270010111) time.sleep(1) time.sleep(10) Character.Teleport(-493,-868) Quest.CompleteQuest(3507, 2140001) elif seekingLostMemory !=2: if seekingLostMemory == 0: # KANNA if jobid == 4212: if currentMap != 807000000: Terminal.Rush(807000000) time.sleep(1) continue
def questDone(quest, npc): return Quest.CheckCompleteDemand(quest, npc) == 0
preq = Quest.GetQuestState(55610) quest = Quest.GetQuestState(52743) #CompleteQuest(55612, 9330600) #CompleteQuest(52743, 9201269) #CompleteQuest(52743, 9330277) quest_number = 52743 quest_npc = 9201269 quest_npc2 = 9330277 grove_of_the_spirit_tree = 450005000 #print(SCLib.GetVar("QuestDone")) if GameState.IsInGame() and SCLib.GetVar("QuestDone") == False: if SCLib.GetVar("QuestDone") == False: Quest.StartQuest(quest_number, quest_npc) Terminal.SetCheckBox("Rush By Level", True) if quest == 1: if Quest.CheckCompleteDemand(quest_number, quest_npc) == 0: Quest.CompleteQuest(quest_number, quest_npc2) Terminal.SetCheckBox("Rush By Level", False) Terminal.Rush(grove_of_the_spirit_tree) SCLib.UpdateVar("QuestDone", True) if Quest.CheckCompleteDemand(quest_number, quest_npc2) == 0: Quest.CompleteQuest(quest_number, quest_npc2) Terminal.SetCheckBox("Rush By Level", False) Terminal.Rush(grove_of_the_spirit_tree) SCLib.UpdateVar("QuestDone", True) else: time.sleep(1)
def doneQuest(id, npc): return Quest.CheckCompleteDemand(id, npc) == 0
clocktower4 = Quest.GetQuestState(34330) lachsymbol = Inventory.FindItemByID(1712003) # enter ID if lachsymbol.valid: Inventory.SendChangeSlotPositionRequest(1, lachsymbol.pos, -1602, -1) time.sleep(5) # First quest. Starts by rushing to lachelein main town if festival != 2: # if not accepted, rush to the town if festival == 0: Terminal.Rush(450003000) if festival == 1: if Quest.CheckCompleteDemand(34300, 3003202) == 0: Quest.CompleteQuest(34300, 3003202) # need to talk to the 3 NPC else: # cat mask Character.TalkToNpc(3003225) time.sleep(3) # rabbit mask Character.TalkToNpc(3003226) time.sleep(3) # flutist mask Character.TalkToNpc(3003227) time.sleep(3) else:
elif quest3 != 2: talkquest(quest3, 34452, 450005015, 450005015, 3003301, 3003301) 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:
if quest5 == 1: if fieldID != 865010200: Terminal.Rush(865010200) else: Quest.CompleteQuest(17608, 9390201) # Completing [Commerci Republic] Berry Concerned 1 elif quest6 != 2: if quest6 == 0: if fieldID != 865010200: Terminal.Rush(865010200) else: Quest.StartQuest(17610, 9390201) time.sleep(1) elif quest6 == 1: if Quest.CheckCompleteDemand(17610, 9390201) == 0: if fieldID != 865010200: Terminal.Rush(865010200) else: Quest.CompleteQuest(17610, 9390201) else: if fieldID != 865010100: Terminal.Rush(865010100) # Completing [Commerci Republic] Berry Concerned 2 elif quest7 != 2: if quest7 == 0: if fieldID != 865010200: Terminal.Rush(865010200) else: Quest.StartQuest(17611, 9390201)
if currentMap != 271010000: Terminal.Rush(271010000) continue # if we are in the map, hand in the quest to alex Quest.CompleteQuest(31103, 2142001) elif chiefAlex != 2: # if not in map, rush to it if currentMap != 271010000: Terminal.Rush(271010000) continue if chiefAlex == 0: Quest.StartQuest(31104, 2142001) elif Quest.CheckCompleteDemand(31104, 2142001) == 0: # answer his quiz Npc.ClearSelection() Npc.RegisterSelection("Kerning City") Npc.RegisterSelection("You were a runaway") Npc.RegisterSelection("Stan") Npc.RegisterSelection("An old golden watch") Quest.CompleteQuest(31104, 2142001) elif henesysInRuins != 2: if currentMap != 271010000: Terminal.Rush(271010000) continue if henesysInRuins == 0: Quest.StartQuest(31105, 2142001)
def InProgress(id, npc): if Quest.CheckCompleteDemand(id, npc) != 0: return True else: return False
Quest.StartQuest(34201, 3003150) elif quest3 != 2: if quest3 == 0: if fieldid != 450002000: Terminal.Rush(450002000) elif fieldid == 450002000: Quest.StartQuest(34202, 3003152) elif quest4 != 2: if quest4 == 0: if fieldid != 450002000: Terminal.Rush(450002000) elif fieldid == 450002000: Quest.StartQuest(34203, 3003152) elif quest4 == 1: if Quest.CheckCompleteDemand(34203, 3003152) == 0: if fieldid != 450002000: Terminal.Rush(450002000) else: Quest.CompleteQuest(34203, 3003152) else: if fieldid != 450002001: Terminal.Rush(450002001) elif quest5 != 2: if quest5 == 0: if fieldid != 450002000: Terminal.Rush(450002000) elif fieldid == 450002000: Quest.StartQuest(34204, 3003152)