예제 #1
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)
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()
예제 #3
0
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)
예제 #4
0
#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():
예제 #5
0
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:
예제 #6
0
# 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)
예제 #7
0
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
예제 #8
0
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)