def KillHorntail(bossDifficulty): SCLib.PersistVar("HasSpawned", False) SCLib.PersistVar("NowLockedVar", False) HasSpawned = SCLib.GetVar("HasSpawned") NowLockedVar = SCLib.GetVar("NowLockedVar") SCLib.StartVars() if bossDifficulty == 0: HorntailEasy = True HorntailNormal = False HorntailChaos = False elif bossDifficulty == 1: HorntailEasy = False HorntailNormal = True HorntailChaos = False else: HorntailEasy = False HorntailNormal = False HorntailChaos = True HorntailPreQuest = Quest.GetQuestState(7313) if HorntailPreQuest == 0: print( "Horntail Prequest not started or done, Starting quest before entery" ) if Field.GetID() != CaveOfLifeEntrance1: Terminal.Rush(CaveOfLifeEntrance1) else: Quest.StartQuest(7313, 2081006) print("Horntail Prequest started") else: #ToggleKami(False) print("Doing Horntail") if HorntailEasy: print("Easy") if Field.GetID() != HorntailsCaveEasy: if Field.GetID() != TheCaveOfTrialEasy2: if Field.GetID() != TheCaveOfTrialEasy1: if Field.GetID() != EntranceToHorntailsCave: GotoHorntail() else: if not NowLockedVar: Npc.ClearSelection() Npc.RegisterSelection( "Easy Mode (Level 130 or above)") time.sleep(1) Character.TalkToNpc(2083004) time.sleep(1) else: print( "Seems like you diddnt finish your last attempt and are locked. Continueing other bosses" ) SCLib.UpdateVar("KillHorntail", False) ResetNowLockedFunction() else: NowLockedFunction() boss = Field.FindMob(HorntailsLeftHeadEasy) if boss.valid: ToggleKami(False) if Character.GetPos().x != 522: Character.Teleport(522, -40) print("Horntails left head still alive standby") else: ToggleFaceLeft(True) ToggleKami(False) if Character.GetPos().x != 840: Character.Teleport(840, -165) else: Character.EnterPortal() else: boss = Field.FindMob(HorntailsRightHeadEasy) if boss.valid: ToggleKami(False) ToggleAttack(True) if Character.GetPos().x != 9: Character.Teleport(9, -40) print("Horntails right head still alive standby") else: ToggleFaceLeft(False) ToggleKami(False) if Character.GetPos().x != -307: Character.Teleport(-307, -165) else: Character.EnterPortal() else: boss = Field.FindMob(EasyHorntail) if boss.valid: ToggleAttack(True) DidSpawn() ToggleKami(True) print("Horntail still alive Standby") else: if HasSpawned: ToggleKami(False) ToggleLoot(True) print( "Horntail Easy Is dead waiting 10 sec before continueing" ) time.sleep(10) Character.TalkToNpc(2083002) time.sleep(1) SCLib.UpdateVar("KillHorntail", False) ToggleLoot(False) ResetSpawn() ResetNowLockedFunction() else: ToggleKami(False) ToggleAttack(False) crystal = Field.FindReactor(2401300) if crystal.valid: if Character.GetPos().x != 540: Character.Teleport(540, 15) else: Character.BasicAttack() time.sleep(2) elif HorntailNormal: print("Normal") if Field.GetID() not in HorntailsCaveNormal: if Field.GetID() not in TheCaveOfTrialNormal2: if Field.GetID() not in TheCaveOfTrialNormal1: if Field.GetID() != EntranceToHorntailsCave: GotoHorntail() else: if not NowLockedVar: Npc.ClearSelection() Npc.RegisterSelection( "Normal Mode (Level 130 or above)") time.sleep(1) Character.TalkToNpc(2083004) time.sleep(1) else: print( "Seems like you diddnt finish your last attempt and are locked. Continueing other bosses" ) SCLib.UpdateVar("KillHorntail", False) ResetNowLockedFunction() else: NowLockedFunction() boss = Field.FindMob(HorntailsLeftHeadNormal) if boss.valid: ToggleKami(False) ToggleAttack(True) if Character.GetPos().x != 522: Character.Teleport(522, -40) print("Horntails left head still alive standby") else: ToggleFaceLeft(True) ToggleKami(False) if Character.GetPos().x != 840: Character.Teleport(840, -165) else: Character.EnterPortal() else: boss = Field.FindMob(HorntailsRightHeadNormal) if boss.valid: ToggleKami(False) if Character.GetPos().x != 9: Character.Teleport(9, -40) print("Horntails right head still alive standby") else: ToggleFaceLeft(False) ToggleKami(False) if Character.GetPos().x != -307: Character.Teleport(-307, -165) else: Character.EnterPortal() else: boss = Field.FindMob(NormalHorntail) if boss.valid: ToggleAttack(True) ToggleKami(True) DidSpawn() print("Horntail Normal still alive Standby") else: if HasSpawned: ToggleKami(False) ToggleLoot(True) print( "Horntail Normal Is dead waiting 10 sec before continueing" ) time.sleep(10) Character.TalkToNpc(2083002) time.sleep(1) ToggleLoot(False) SCLib.UpdateVar("KillHorntail", False) ResetSpawn() ResetNowLockedFunction() else: ToggleAttack(False) ToggleKami(False) crystal = Field.FindReactor(2401000) if crystal.valid: if Character.GetPos().x != 540: Character.Teleport(540, 15) else: Character.BasicAttack() time.sleep(2) elif HorntailChaos: print("Chaos") if Field.GetID() not in ChaosHorntailsCave: if Field.GetID() not in TheCaveOfTrialChaos2: if Field.GetID() not in TheCaveOfTrialChaos1: if Field.GetID() != EntranceToHorntailsCave: GotoHorntail() else: if not NowLockedVar: Npc.ClearSelection() Npc.RegisterSelection( "Chaos Mode (Level 135 or above)") time.sleep(1) Character.TalkToNpc(2083004) time.sleep(1) else: print( "Seems like you diddnt finish your last attempt and are locked. Continueing other bosses" ) SCLib.UpdateVar("KillHorntail", False) ResetNowLockedFunction() else: NowLockedFunction() boss = Field.FindMob(ChaosHorntailsLeftHead) if boss.valid: ToggleKami(False) ToggleAttack(True) while Character.GetPos().x not in range(500, 570): Character.AMoveX(522) print("Horntails left head still alive standby") else: ToggleFaceLeft(True) ToggleKami(False) if Character.GetPos().x != 840: Character.Teleport(840, -165) else: Character.EnterPortal() else: boss = Field.FindMob(ChaosHorntailsRightHead) if boss.valid: ToggleKami(False) ToggleAttack(True) while Character.GetPos().x not in range(-40, 40): Character.AMoveX(9) print("Horntails right head still alive standby") else: ToggleFaceLeft(False) ToggleKami(False) if Character.GetPos().x != -307: Character.Teleport(-307, -165) else: Character.EnterPortal() else: boss = Field.FindMob(ChaosHorntail) boss1 = Field.FindMob(ChaosHorntail1) boss2 = Field.FindMob(ChaosHorntail2) boss3 = Field.FindMob(ChaosHorntail3) boss4 = Field.FindMob(ChaosHorntail4) if boss.valid or boss1.valid or boss2.valid or boss3.valid or boss4.valid: ToggleAttack(True) #ToggleKami(True) DidSpawn() while Character.GetPos().x not in range(140, 220): Character.AMoveX(183) print("Horntail still alive, Standby") else: if HasSpawned: ToggleKami(False) ToggleLoot(False) #print("Horntail Is dead waiting 10 sec before continueing") print("Looting") Terminal.SetCheckBox("Auto Loot", True) MoveToXLocation(Field.GetRect().left) time.sleep(1.5) MoveToXLocation(Field.GetRect().right) time.sleep(1.5) MoveToXLocation(Field.GetRect().left) time.sleep(1.5) MoveToXLocation(Field.GetRect().right) time.sleep(1.5) MoveToXLocation(Field.GetRect().left) time.sleep(1.5) #time.sleep(10) Character.TalkToNpc(2083002) time.sleep(1) SCLib.UpdateVar("KillHorntail", False) ToggleLoot(False) ResetSpawn() ResetNowLockedFunction() else: ToggleAttack(False) ToggleKami(False) crystal = Field.FindReactor(2401100) if crystal.valid: if Character.GetPos().x != 540: Character.Teleport(540, 15) else: Character.BasicAttack() time.sleep(2)
def initVars(): SCLib.PersistVar("StartingMap", Field.GetID()) SCLib.PersistVar("UsingKami", Terminal.GetCheckBox("Kami Vac")) SCLib.PersistVar("UsingSI", Terminal.GetCheckBox("Skill Injection")) SCLib.PersistVar("UsingFMA", Terminal.GetCheckBox("Full Map Attack")) SCLib.PersistVar("UsingGFMA", Terminal.GetCheckBox("General FMA")) SCLib.PersistVar("UsingWhitelist", Terminal.GetPushButton("Whitelist")) SCLib.PersistVar("UsingAutoBuff", Terminal.GetCheckBox("Auto Buff")) SCLib.PersistVar("CurDaily", "VJ") SCLib.PersistVar("CurQuest", None) SCLib.PersistVar("SymbolCount", 0) SCLib.PersistVar("CurSSRuns", 0) SCLib.PersistVar("CurStep", "StartingVJ") SCLib.PersistVar("RetryCount", 0) SCLib.StartVars()
import time import GameState import Terminal if not any("SunCat" in s for s in sys.path): sys.path.append(os.getcwd() + "/SunCat") try: import SunCat, SCLib, SCHotkey except: print("Couldn't find SunCat module") SCLib.StartVars() ###persist variables if SCLib.GetVar("QuestDone") is None: SCLib.PersistVar("QuestDone", False) 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)
#Black Herb: 100008 #Purple Herb: 100009 #Herb: 100010 #Heart Herb: 100011 #Mysterious: 100012 #Legendary: 100013 ###Expand the list for easier changes :) ######################################################################################################################################### # # # Do not change anything below this line! # # # ######################################################################################################################################### SCLib.PersistVar("noReactorInMap", False) SCLib.PersistVar("MapNumber", 0) SCLib.PersistVar("TeleportAttempt", 0) SCLib.PersistVar("HarvestAttempt", 0) SCLib.PersistVar("TeleportCount", 0) SCLib.StartVars(20) HasLooted = SCLib.GetVar("noReactorInMap") TeleportAttempt = SCLib.GetVar("TeleportAttempt") HarvestAttempt = SCLib.GetVar("HarvestAttempt") fieldID = Field.GetID() pos = Character.GetPos() CurrentChannel = GameState.GetChannel() NewChannel = CurrentChannel + 1 def ChangeChannels():
import os, sys, Character, GameState, Field, DataType, time, Npc, Packet, Terminal, Context, Inventory, Key, Quest, Party if not any("SunCat" in s for s in sys.path): sys.path.append(os.getcwd() + "\SunCat") try: import SunCat, SCLib, SCHotkey except: 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:
# Initial setup leader = False if usingParty and Party.IsInParty(): if Party.GetPartyBossID() == Character.GetID(): leader = True if usingParty and len(Party.GetPartyMembers()) <= 1: usingParty = False # Suncat 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)
sky_forest = "Sky Forest Training Center (Lv.120-129)" secret_pirate = "Secret Pirate Hideout (Lv.125-134)" other_world = "Otherworld Battleground (Lv.135-144)" dangerous_forest = "Dangerously Isolated Forest (Lv.140-149)" forbidden_time = "Forbidden Time (Lv.145-154)" clandestine_ruins = "Clandestine Ruins (Lv.150-159)" ruined_city = "Ruined City" leopard_portal = (493, 92) tiger_portal = (661, 92) buy_ticket_header = 0x0508 recv = 0x0684 collide_header = 0x00FE KannaJobs = [4200, 4210, 4211, 4212] if SCLib.GetVar("MPDone") is None: SCLib.PersistVar("MPDone", False) if SCLib.GetVar("DoingMP") is None: SCLib.PersistVar("DoingMP", False) if SCLib.GetVar("retry_count") is None: SCLib.PersistVar("retry_count", 0) SCLib.StartVars(100) def KillPersistVarThred(): print("Stopping vars") SCLib.StopVars() time.sleep(1) SCHotkey.RegisterKeyEvent(HotKey, KillPersistVarThred) #F9
quest23 = Quest.GetQuestState(58968) herb_header = 0x03E3 #Key to restart pers. variables HotKey = 0x7A def TP_EnterPortal(x, y): Character.Teleport(x, y) time.sleep(1) Character.EnterPortal() SCLib.StartVars() if SCLib.GetVar("HuntDone") is None: SCLib.PersistVar("HuntDone", False) SCHotkey.StartHotkeys(100) def KillPersistVarThred(): SCLib.StopVars() time.sleep(1) SCHotkey.RegisterKeyEvent(HotKey, KillPersistVarThred) #F11 #SunCat.StopTP() print("Starting kanna ring script") Terminal.SetCheckBox("Kami Loot", False) Terminal.SetCheckBox("Auto Loot", False)