def acceptVJ():
    curMap = Field.GetID()
    if curMap != vjMap:
        Terminal.Rush(vjMap)
        return

    if Terminal.GetCheckBox("Kami Vac"):
        Terminal.SetCheckBox("Kami Vac", False)

    Terminal.SetCheckBox("Auto NPC", True)
    SunCat.Teleport(-1941, 60)
    time.sleep(0.1)
    if Quest.GetQuestState(34128) != 2:
        Quest.StartQuest(34128, vjNPC)
        time.sleep(1.5)
        Quest.CompleteQuest(34128, vjNPC)
    #Quest.StartQuest(34128, vjNPC)

    Npc.ClearSelection()
    #Npc.RegisterSelection("[Daily Quest] Vanishing Journey")
    Npc.RegisterSelection("Those are all")
    time.sleep(3)
    Quest.StartQuest(34129, vjNPC)
    time.sleep(3)
    #Character.TalkToNpc(vjNPC)
    #time.sleep(1)

    if SCLib.GetVar("UsingKami"):
        Terminal.SetCheckBox("Kami Vac", True)

    SCLib.UpdateVar("CurStep", "DoingVJ")
Esempio n. 2
0
def attackSI(skillid,on,delay=100,siOption = "SIRadioMelee"):
    Terminal.SetLineEdit("SISkillID",str(skillid))
    Terminal.SetSpinBox("SkillInjection",delay)
    Terminal.SetCheckBox("Melee No Delay",False)
    Terminal.SetCheckBox("Auto Attack",False)
    Terminal.SetCheckBox("Skill Injection", on)
    Terminal.SetRadioButton(siOption,True)
def initDD():
    if Field.GetID() != ddStartingMap:
        Terminal.Rush(ddStartingMap)
    else:
        leaveParty()

        SunCat.HookDD()

        Terminal.SetCheckBox("Auto NPC", True)
        Terminal.SetCheckBox("Kami Vac", False)
        Terminal.SetCheckBox("Full Map Attack", False)
        Terminal.SetCheckBox("General FMA", False)

        #for mob in ddFilterMobs:
        #SunCat.FilterMob(mob)

        #SunCat.FilterMob(ddYellowBox)

        Npc.ClearSelection()
        Npc.RegisterSelection("Attempt")
        Npc.RegisterSelection(str(ddLevelSelect))
        time.sleep(2)
        Character.TalkToNpc(ddNpc)
        time.sleep(3)

        SCLib.UpdateVar("CurStep", "StartingDD")
Esempio n. 4
0
def TerminalATK(flag, quest=False):
    if not quest:
        if useSI:
            Terminal.SetCheckBox("Skill Injection", flag)
        else:
            Terminal.SetCheckBox("Auto Attack", flag)
    else:
        Terminal.SetCheckBox("Skill Injection", False)
        Terminal.SetCheckBox("General FMA", False)
        Terminal.SetCheckBox("Full Map Attack", False)
        Terminal.SetCheckBox("Melee No Delay", False)
        Terminal.SetCheckBox("Auto Attack", flag)

    if useKami:
        Terminal.SetCheckBox("Kami Vac", flag)
    elif useFallLegit:
        Terminal.SetCheckBox("Legit Vac", flag)
        Terminal.SetCheckBox("Mob Falldown", flag)
        if flag:
            _left = Field.GetRect().left
            _right = Field.GetRect().right
            _mid = (_left + _right) / 2
            if not (_mid - 10 < Character.GetPos().x < _mid + 10):
                Character.AMoveX(int(_mid))
                time.sleep(walkTime)
Esempio n. 5
0
def SemiNDSi(siSkill,dummySkill,delay,on,attackSpeed):
    Terminal.SetCheckBox("Auto Attack",False)
    Terminal.SetRadioButton("SIRadioMelee",True)
    Terminal.SetCheckBox("MonkeySpiritsNDcheck",False)
    count = 0
    if siSkill != 32120055:
        delay = 30*math.ceil(delay*1000 * (10+attackSpeed)/480)/1000
    print("The delay for skill {} is {}, starting si".format(siSkill,delay))
    if siSkill in [5311000,5301000]:
        sleepTime = 0.161
    elif siSkill not in [25101000,25121000]:
        sleepTime = 0.211
    else:
        sleepTime = 0.101
    while Field.GetCharacterCount()<=1 and Field.GetEliteState() !=2 and len(Field.GetMobs())>0 and not Terminal.IsRushing() and GameState.IsInGame() and not Terminal.GetRadioButton("SIRadioDragon") and on:
        Terminal.SetCheckBox("Skill Injection",True)
        Terminal.SetLineEdit("SISkillID",str(siSkill))
        Terminal.SetCheckBox("Melee No Delay",True)
        Terminal.SetSpinBox("SkillInjection",17)
        time.sleep(sleepTime)
        #Terminal.SetCheckBox("Melee No Delay",False)
        Terminal.SetLineEdit("SISkillID",str(dummySkill))
        time.sleep(0.043)
        Terminal.SetCheckBox("Skill Injection",False)
        time.sleep(delay+0.05)
        #if Terminal.IsRushing():
        #    break
        if (siSkill == 27111303 or siSkill == 27121303) and not(Character.HasBuff(2,20040220) or Character.HasBuff(2,20040219)):
            break
        count += 1
    print("Si ended due to break options")
Esempio n. 6
0
def attackAuto(skillid,on):
    attack_key = 0x44
    Key.Set(attack_key,1,skillid)
    Terminal.SetCheckBox("Skill Injection", False)
    Terminal.SetCheckBox("Melee No Delay",False)
    Terminal.SetCheckBox("Auto Attack", on)
    Terminal.SetComboBox("AttackKey",33)
    Terminal.SetSpinBox("autoattack_spin",100)
Esempio n. 7
0
def goThru(x, y):
      useKami = Terminal.GetCheckBox("Kami Vac")
      Terminal.SetCheckBox("Kami Vac",False)
      tele(x, y - 10)
      print("Going thru portal.")
      Character.EnterPortal()
      time.sleep(.5)
      Character.EnterPortal()
      time.sleep(1)
      Terminal.SetCheckBox("Kami Vac",useKami)
Esempio n. 8
0
def mano():
    mob = Field.FindMob(9300815)
    if mob.valid:
        Terminal.SetCheckBox("Kami Vac", True)
        Terminal.SetCheckBox("Auto Attack", True)
        Character.BasicAttack()
    if not mob.valid:
        Terminal.SetCheckBox("Kami Vac", False)
        Terminal.SetCheckBox("Auto Attack", False)
        Character.Teleport(68, 150)
        Character.EnterPortal()
Esempio n. 9
0
 def __LogGM(self):
     GMLogs = self.__ReadGMLogs()
     world = Terminal.GetComboBox('LoginWorld')
     worldStatus = ast.literal_eval(GMLogs)['worlds'][self.__GetWorld(
         world)]['status']
     worldsToCheck = self.__ReadWorldsToLogOut()[self.__GetWorld(world)]
     if worldStatus == 'online' and bool(worldsToCheck):
         Terminal.SetCheckBox('Auto Login', False)
         if GameState.IsInGame():
             Terminal.Logout()
     if worldStatus == 'offline' and bool(worldsToCheck):
         Terminal.SetCheckBox("Auto Login", True)
Esempio n. 10
0
 def __LogGM(self):
     try:
         worldStatus = ast.literal_eval(
             self.__ReadGMLogs())[self.__GetWorld(
                 Terminal.GetComboBox('LoginWorld'))]
         worldsToCheck = ast.literal_eval(
             self.__ReadWorldsToLogOut())[self.__GetWorld(
                 Terminal.GetComboBox('LoginWorld'))]
         if worldStatus == 'online' and bool(worldsToCheck):
             Terminal.SetCheckBox('Auto Login', False)
             Terminal.Logout()
         if worldStatus == 'offline' and bool(worldsToCheck):
             Terminal.SetCheckBox("Auto Login", True)
     except:
         pass
def initChuChu():
    if Field.GetID() != ccStartingMap:
        Terminal.Rush(ccStartingMap)
    else:
        SunCat.HookChuChu()

        Terminal.SetCheckBox("Auto NPC", True)
        Terminal.SetCheckBox("Kami Vac", False)
        Terminal.SetCheckBox("Full Map Attack", False)
        Terminal.SetCheckBox("General FMA", False)
        Terminal.SetPushButton("Whitelist", False)

        changeChannel()

        SCLib.UpdateVar("CurStep", "StartingChuChu")
Esempio n. 12
0
def doSS():
    Terminal.SetCheckBox("bot/si_no_wait", True)
    #Terminal.SetCheckBox("main/boss_freeze", True)
    Terminal.SetCheckBox("Auto Buff", False)

    for i in range(roundsPerRun):
        killCount = 0

        mobsKilled = []

        while killCount < 5:
            if not GameState.IsInGame() or not isInSS():
                print("Not in SS!")
                break

            curMob = ""

            for mobID in mobArray:
                mob = Field.FindMob(mobID)
                if mob.valid and mob not in mobsKilled:
                    curMob = mob
                    mobsKilled.append(mob)
                    break

            if curMob != "":
                SunCat.KamiTP(curMob.x, curMob.y)
                time.sleep(killTime)
                Key.Press(npcChatKey)
                time.sleep(0.2)
                Key.Press(npcChatKey)
                time.sleep(waitTime)
                killCount += 1
            else:
                print("No mobs left!")
                time.sleep(
                    3)  #Wait for mobs to respawn - this should never be hit

        SunCat.KamiTP(baseX, baseY)
        time.sleep(roundWaitTime)

    Terminal.SetCheckBox("bot/si_no_wait", False)
    #Terminal.SetCheckBox("main/boss_freeze", False)
    Terminal.SetCheckBox("Auto Buff", True)

    SunCat.StopTP()
    print("Finished!")
Esempio n. 13
0
def start_DD():
    print("Attempting to join Dream Defender")
    Party.LeaveParty()
    Disabler()
    if Terminal.GetCheckBox("Skill Injection"):
        Terminal.SetCheckBox("Skill Injection", False)
    Npc.ClearSelection()
    Npc.RegisterSelection("Dream")
    Npc.RegisterSelection("Stage")
    Character.TalkToNpc(9010100)
    time.sleep(3)
Esempio n. 14
0
def setAttack(bool):
   if Character.GetJob() == 4212:  # kanna settings
      Terminal.SetCheckBox("MonkeySpiritsNDcheck", bool)
      Terminal.SetCheckBox("bot/kanna_kami", bool)
      Terminal.SetCheckBox("Summon Kishin", bool)
      Terminal.SetCheckBox("bot/kishin_fma", bool)
      Terminal.SetCheckBox("Grenade Kami", bool)
   else:
      if kami == 1 and Terminal.GetCheckBox("Kami Vac") != bool:
         Terminal.SetCheckBox("Kami Vac", bool)
      if auto == 1 and Terminal.GetCheckBox("Auto Attack") != bool:
         Terminal.SetCheckBox("Auto Attack", bool)
      elif auto == 0 and Terminal.GetCheckBox("Skill Injection") != bool:
         Terminal.SetCheckBox("Skill Injection", bool)
Esempio n. 15
0
def ToggleBuffs(buffid,skillid = None,toggleKami = False):
    short_sleep = 0.75
    if skillid is None:
        skillid = buffid
    if Character.GetSkillLevel(buffid) > 0:
        if Character.HasBuff(2, buffid) == False:
            autoAttack = Terminal.GetCheckBox("Auto Attack")
            skillInject = Terminal.GetCheckBox("Skill Injection")
            javelin = Terminal.GetCheckBox("bot/illium/radiant_javelin_delay")
            Terminal.SetCheckBox("Auto Attack",False)
            Terminal.SetCheckBox("bot/illium/radiant_javelin_delay",False)
            Terminal.SetCheckBox("Skill Injection",False)
            if toggleKami:
                ToggleKami(False)
            time.sleep(short_sleep)
            Character.UseSkill(skillid)
            #time.sleep(short_sleep)
            if job in BattleMageJobs:
                time.sleep(short_sleep)
                Character.UseSkill(32001014)
                #time.sleep(short_sleep)
            if Character.HasBuff(2, buffid) == True:
                if toggleKami:
                    ToggleKami(True)
            Terminal.SetCheckBox("Auto Attack",autoAttack)
            Terminal.SetCheckBox("bot/illium/radiant_javelin_delay",javelin)
            Terminal.SetCheckBox("Skill Injection",skillInject)
    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)
def initSS():
    if Field.GetID() != ssStartingMap:
        Terminal.Rush(ssStartingMap)
    else:
        SunCat.Teleport(0, 139)

        leaveParty()

        Terminal.SetCheckBox("Auto NPC", True)
        Terminal.SetCheckBox("Kami Vac", False)
        Terminal.SetCheckBox("Full Map Attack", False)
        Terminal.SetCheckBox("General FMA", False)
        Terminal.SetCheckBox("Auto Buff", False)

        for mob in enemyMobs:
            SunCat.FilterMob(mob)

        Npc.ClearSelection()
        Npc.RegisterSelection("Attempt")
        Character.TalkToNpc(ssNpc)
        time.sleep(3)

        SCLib.UpdateVar("CurStep", "StartingSS")
Esempio n. 18
0
def fgm(bool):
   if bool:
      Terminal.SetCheckBox("Full God Mode", True)
      Terminal.SetCheckBox("30 Sec God Mode", False)
      Terminal.SetCheckBox("Guard God Mode", False)
   else:
      Terminal.SetCheckBox("Full God Mode", f)
      Terminal.SetCheckBox("30 Sec God Mode", s)
      Terminal.SetCheckBox("Guard God Mode", g)
def startDD():
    if Field.GetID() >= ddMap and Field.GetID() <= ddMapEnd:
        curStage = SunCat.GetDDStage()
        if curStage >= ddExitLevel:
            SunCat.StopTP()
            retreatDD()
            time.sleep(4)
        else:
            boxFound = False
            for box in ddPurpleBoxes:
                curBox = Field.FindMob(box)
                if curBox.valid:
                    boxFound = True
                    if SCLib.GetVar("UsingSI"):
                        Terminal.SetCheckBox("Skill Injection", True)
                    SunCat.KamiTP(curBox.x + kamiOffsetX,
                                  curBox.y + kamiOffsetY)
                    break
        if boxFound == False:
            Terminal.SetCheckBox("Skill Injection", False)
            SunCat.KamiTP(ddRestX, ddRestY)
    elif Field.GetID() == ddExitMap:
        SunCat.StopTP()
        #SunCat.UnfilterMobs()
        Character.TalkToNpc(ddNpc)
    else:
        if SCLib.GetVar("RetryCount") < 3:
            print("Failed to enter DD... Retrying")
            SCLib.UpdateVar("RetryCount", SCLib.GetVar("RetryCount") + 1)
            SCLib.UpdateVar("CurStep", "InitDD")
        else:
            print("Finished DD")
            SunCat.UnhookDD()
            SCLib.UpdateVar("CurStep", "InitSS")
            SCLib.UpdateVar("CurDaily", "SS")
            SCLib.UpdateVar("RetryCount", 0)
Esempio n. 20
0
def InitAll():
    Terminal.SetCheckBox("bot/si_no_wait", True)
    Terminal.SetCheckBox("Kami Vac", False)
    Terminal.SetCheckBox("General FMA", False)
    Terminal.SetCheckBox("Full Map Attack", False)
    Terminal.SetCheckBox("bot/kanna_kami", False)
    if Field.GetID() not in ([startingMap, exitMap]+hungryMutoMaps):
        Terminal.Rush(startingMap)
        if usingParty:
            time.sleep(5)

    if Field.GetID() == startingMap:
        print('Starting...')
        SunCat.HookChuChu()
        InitRecipes()
        
        Terminal.SetCheckBox("Auto NPC", True)
        
        changeChannel()
        
        
        retryCount = 0
        tryAgain = True
        
        while tryAgain:
            if retryCount > 3:
                print("Failed to enter ChuChu, have you already done it 3 times? Move to next daily")
                SCLib.UpdateVar("ChuchuDone", True)
                break
            Npc.ClearSelection()
            Npc.RegisterSelection("Enter <Hungry Muto>")
            if isHardMode:
                Npc.RegisterSelection("Hard")
            else:
                Npc.RegisterSelection("Normal")
            Character.TalkToNpc(3003166)
            time.sleep(5)
            
            if Field.GetID() == startingMap:
                print("Creating a new party...")
                if not usingParty:
                    Party.LeaveParty()
                    Party.CreateParty()
                retryCount += 1
                time.sleep(2)
            elif Field.GetID() in hungryMutoMaps:
                print("Starting ChuChuPQ!")
                tryAgain = False
                DoChuChu()
            else:
                tryAgain = False
                print("Not in ChuChuPQ!")
                SunCat.UnhookChuChu()
    else:
        print("Not in ChuChu Entry Map!")
Esempio n. 21
0
def Disabler():
    if Terminal.GetCheckBox("General FMA"):
        Terminal.SetCheckBox("General FMA", False)
    if Terminal.GetCheckBox("Full Map Attack"):
        Terminal.SetCheckBox("Full Map Attack", False)
    if Terminal.GetCheckBox("Grenade Kami"):
        Terminal.SetCheckBox("Grenade Kami", False)
    if Terminal.GetCheckBox("Mob Falldown"):
        Terminal.SetCheckBox("Mob Falldown", False)
    if Terminal.GetCheckBox("Kami Vac"):
        Terminal.SetCheckBox("Kami Vac", False)
    if Terminal.GetCheckBox("bot/kanna_kami"):
        Terminal.SetCheckBox("bot/kanna_kami", False)
    
    if not (Terminal.GetCheckBox("General FMA") or Terminal.GetCheckBox("Full Map Attack") or Terminal.GetCheckBox("Grenade Kami") or Terminal.GetCheckBox("Mob Falldown") or Terminal.GetCheckBox("bot/kanna_kami") or Terminal.GetCheckBox("Kami Vac")):
        return True
    else:
        return False
Esempio n. 22
0
def CheckBox(set, value):
    if Terminal.GetCheckBox(set) != value:
        Terminal.SetCheckBox(set, value)
Esempio n. 23
0
def ToggleLoot(indicator):
    Terminal.SetCheckBox("Kami Loot", indicator)
    Terminal.SetCheckBox("Auto Loot", indicator)
Esempio n. 24
0
def ToggleFaceLeft(indicator):
    Terminal.SetCheckBox("flacc", indicator)
Esempio n. 25
0
def ToggleHyperTeleportRock(indicator):
    Terminal.SetCheckBox("map/maprusher/hypertelerock", indicator)
Esempio n. 26
0
def ToggleKami(indicator):
    Terminal.SetCheckBox("Kami Vac", indicator)
Esempio n. 27
0
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)
Esempio n. 28
0
ReactorSend = 0x042E
MovementSend = 0x00D5
delay = 0.01

def grabObjectID():
   iPacket = Packet.WaitForRecv(ReactorRecv, 10000)
   if iPacket.GetRemaining() > 0:
       objectID = iPacket.ReadLong(4)
       Terminal.SetProperty(str(GameState.GetChannel()), objectID)
    
def blubBlub():
   oPacket = Packet.COutPacket(ReactorSend)
   oPacket.Encode4(Terminal.GetProperty(str(GameState.GetChannel()), 0))
   oPacket.Encode4(2)
   oPacket.Encode2(0x106)
   oPacket.Encode4(0)
   Packet.SendPacket(oPacket)

while GameState.IsInGame():
   if Field.GetID() == 230040420:
       if Terminal.GetProperty(str(GameState.GetChannel()), 0) == 0:
           Terminal.SetCheckBox("Jump Down Anywhere", True)
           if Character.GetPos().y <= 78:
               Character.JumpDown()
               time.sleep(2)
           Character.JumpDown()
           grabObjectID()
       else:
           blubBlub()
           time.sleep(delay)
           Character.AMoveX(-491)
Esempio n. 29
0
if Character.GetLevel() ==5:
    Quest.StartQuest(32213, 10306)
    if Quest.GetQuestState(32213) == 1:
        if Field.GetID() == 4000031:
            Character.Teleport(34 ,527)
            time.sleep(3)
            Character.EnterPortal()
    if Field.GetID() == 4000030:
        if not Inventory.FindItemByID(4033914).valid:
            Character.Teleport(1895 ,407)
            time.sleep(5)
            Character.BasicAttack()
            item = Field.FindItem(4033914)
            if item.valid:
                Character.Teleport(item.x, item.y)
                Terminal.SetCheckBox("Auto Loot", True)
        if Inventory.FindItemByID(4033914).valid:
            if Field.GetID() == 4000030:
                Terminal.SetCheckBox("Auto Loot", False)
                Character.Teleport(2506, 287)
                time.sleep(3)
                Character.EnterPortal()      
    
if Character.GetLevel() == 6:
    if Field.GetID() == 4000030:
        Character.EnterPortal()
    if Field.GetID() == 4000031:
        Character.Teleport(1835, 407)
        time.sleep(5)
        Quest.StartQuest(32214, 10305)
        if Quest.GetQuestState(32214) ==1:
Esempio n. 30
0
def ToggleLoot(indicator):
    Terminal.SetCheckBox("Kami Loot",indicator)
    Terminal.SetCheckBox("Auto Loot",indicator)

def DungeonTeleport():
    time.sleep(1)
    Key.Press(0x08)
    time.sleep(1)
    Character.EnterPortal()
    time.sleep(1)

if GameState.IsInGame():
   # settings
   Terminal.SetRushByLevel(False)
   Terminal.SetCheckBox("Rush By Level", False)
   Terminal.SetCheckBox("map/maprusher/hypertelerock", False)
   Terminal.SetCheckBox("Auto NPC", True)
   Terminal.SetCheckBox("Auto Rune", True)
   Terminal.SetSpinBox("KamiOffsetX", -75)
   Terminal.SetSpinBox("KamiOffsetY", -30)
   f = Terminal.GetCheckBox("Full God Mode")
   s = Terminal.GetCheckBox("30 Sec God Mode")
   g = Terminal.GetCheckBox("Guard God Mode")

   # main script
   if doQuest(31260):
      # quest id's
      q0 = 31240
      q1 = q0 + 1
      q2 = q1 + 1