Example #1
0
    def StoreMeso(self):
        storage_map_id = 550000000
        storage_npc_id = 9270054
        ###########store mesos
        def store_mesos():
            while True:
                if Field.GetID() == storage_map_id:
                    print("Current Mesos before store = {}".format(Character.GetMeso()))
                    Packet.BlockRecvHeader(PACKET_HEADERS.block_header)
                    Character.Teleport(2268,17)
                    time.sleep(1)
                    Character.TalkToNpc(storage_npc_id)
                    time.sleep(1)
                    oPacket = Packet.COutPacket(PACKET_HEADERS.store_header)
                    oPacket.EncodeBuffer("07 FFFFFFF903DC5401")
                    Packet.SendPacket(oPacket)
                    oPacket1 = Packet.COutPacket(PACKET_HEADERS.store_header)
                    oPacket1.Encode2(8)
                    Packet.SendPacket(oPacket1)
                    print("Completed meso storing")
                    time.sleep(1)
                    print("Current Mesos after store = {}".format(Character.GetMeso()))
                    Packet.UnBlockRecvHeader(PACKET_HEADERS.block_header)
                    break
                else:
                    Terminal.Rush(storage_map_id)
                    print("Still rushing to storage")
                    time.sleep(2)

        def withdraw_mesos():
            if Field.GetID() ==101000000: #wait till character gets to ellinia
                #1032006
                time.sleep(2)
                Packet.BlockRecvHeader(PACKET_HEADERS.block_header)
                print("Current Mesos before withdraw = {}".format(Character.GetMeso()))
                Character.TalkToNpc(1032006)
                time.sleep(3)
                oPacket = Packet.COutPacket(PACKET_HEADERS.store_header)
                oPacket.EncodeBuffer("07 00000006FC23ABFF")
                Packet.SendPacket(oPacket)
                oPacket1 = Packet.COutPacket(PACKET_HEADERS.store_header)
                oPacket1.Encode2(8)
                #oPacket2.EncodeBuffer("08")
                Packet.SendPacket(oPacket1)
                time.sleep(1)
                print("Current Mesos after withdraw = {}".format(Character.GetMeso()))
                time.sleep(1)
                Packet.UnBlockRecvHeader(PACKET_HEADERS.block_header)

            else:
                Terminal.Rush(101000000)
                time.sleep(3)

        if Character.GetMeso() == 29999999999 and Character.GetJob() == 4212:
            #if mesos =29999999999, which is max, store them in the storage
            HELPER.ToggleRushByLevel(False)
            #Terminal.LoadProfile(r"C:\Users\Jacopo\Desktop\TerminalManager\terminalProfiles\StoreMesos.xml")
            if self.accountData['storing_meso'] == False:
                store_mesos()
            #Next step is to change the AutoChar Number and then logon into the new created luminous and release control
            #Read AutoChar Number, +1 write to file.
            time.sleep(3)
            if Character.GetMeso() == 0:
                self.accountData['storing_meso'] = True
                self.writeJson()
                print("logging out")
                if GameState.IsInGame():
                    Terminal.Logout()
                time.sleep(3)
        #print(GameState.GetLoginStep())
        if self.accountData['storing_meso'] and GameState.GetLoginStep() == 2:
            autochar_kanna = 19
            autochar_lumi = 11
            Terminal.SetCheckBox("Auto Login",False)
            Terminal.SetLineEdit("LoginChar", str(accountData['storage_number'] + 1))
            Terminal.SetComboBox("settings/autochar_job",autochar_lumi)
            Terminal.SetCheckBox("Auto Login",True)
            Terminal.SetCheckBox("settings/autochar",True)
        

        if self.accountData['storing_meso'] and Character.GetJob() == 2700 and Character.GetMeso() == 0:
            print("withdrawing mesos")
            HELPER.ToggleRushByLevel(False)
            withdraw_mesos()
            time.sleep(2)
            SCLib.UpdateVar("withdraw_flag",True)
        elif self.accountData['storing_meso'] and Character.GetJob() == 2700 and Character.GetMeso() == 29999999999 and SCLib.GetVar("withdraw_flag"):
            #safe to say that storage is empty and can switch back to kanna
            self.accountData['storage_number'] = self.accountData['storage_number'] + 1
            self.accountData['storing_meso'] = False
            self.writeJson()
            if GameState.IsInGame():
                Terminal.Logout()
            Terminal.SetLineEdit("LoginChar", self.accountData['kanna_pos'])
            SCLib.UpdateVar("withdraw_flag",False)
            print("Logging out and changing to Kanna farmer")
            time.sleep(2)
        elif self.accountData['storing_meso'] and Character.GetJob() == 2700 and Character.GetMeso() != 0 and not SCLib.GetVar("withdraw_flag"):
            #need to update bank number but did not withdraw mesos
            self.accountData['storage_number'] = self.accountData['storage_number'] + 1
            self.writeJson()
            if GameState.IsInGame():
                Terminal.Logout()
            print("Logging out and changing to next bank")
            time.sleep(2)

        def ChooseLightPath():
            choosePacket = Packet.COutPacket(PACKET_HEADERS.dialogue_header)
            choosePacket.EncodeBuffer("1A 01 00000000")
            Packet.SendPacket(choosePacket)

        if Field.GetID() == 927020000:
            ChooseLightPath()
            time.sleep(1)
Example #2
0
def LoggingIn():
    if GameState.GetLoginStep() == 2:
        self.accountData['total_slots'] = Login.GetCharSlot()
        self.accountData['used_slots'] = Login.GetCharCount()
        self.writeJson()
Example #3
0
            if famePerson.valid:
                print("Faming Character {}".format(fameCharacter))
                #Character.Teleport(famePerson.x, famePerson.y)
                time.sleep(1)
                charPacket = Packet.COutPacket(0x015B)
                charPacket.Encode4(int(time.monotonic() * 1000))
                charPacket.Encode4(famePerson.id)
                charPacket.EncodeBuffer('FF 00 01 00 00')
                Packet.SendPacket(charPacket)
                time.sleep(1)
                famePacket = Packet.COutPacket(0x0159)
                famePacket.Encode4(famePerson.id)
                famePacket.EncodeBuffer('01')
                Packet.SendPacket(famePacket)
                Packet.WaitForRecv(0x006B, 2000)
                #time.sleep(1)
                #Packet.SendPacket(famePacket)
                Terminal.SetProperty('lastFameChar', Character.GetName())
                time.sleep(0.2)
                Terminal.Logout()

if GameState.GetLoginStep() == 2 and Login.GetCharCount() > 0:
    time.sleep(0.1)
    if Login.GetChar(0).name == Terminal.GetProperty('lastFameChar', 'lol'):
        print("Deleting {}".format(Terminal.GetProperty('lastFameChar',
                                                        'lol')))
        deleteChar = Packet.COutPacket(0x0082)
        deleteChar.EncodeString(accountPIC)
        deleteChar.Encode4(Login.GetChar(0).id)
        Packet.SendPacket(deleteChar)
        time.sleep(1)