def CashItemResLoadLockerDone():
    iPacket = Packet.WaitForRecv(CashItemResultOpcode, 10000)
    if iPacket.GetRemaining() > 0:
        nRes = iPacket.ReadLong(1)
        if nRes == LoadLockerDoneResult:
            bItemLockerFull = iPacket.ReadLong(1)
            if bItemLockerFull == 1:
                nOverItemCount = iPacket.ReadLong(4)
            nCashItemCount = iPacket.ReadLong(2)
            if nCashItemCount >= 0:
                bFound = False
                for i in range(0, nCashItemCount):
                    CashItemInfoDecode(iPacket)
                    if pCashItemInfo.nItemID == 5040004:
                        bFound = True
                        break
                if bFound:
                    time.sleep(1)
                    MoveLToS(pCashItemInfo.liSN, nEmptySlotPOS)
                else:
                    BuyByMeso()
            time.sleep(2)
            Terminal.LeaveCashShop()
    else:
        Terminal.LeaveCashShop()
Esempio n. 2
0
def CashItemResLoadLockerDone():
    iPacket = Packet.WaitForRecv(CashItemResultOpcode, 10000)
    if iPacket.GetRemaining() > 0:
        nRes = iPacket.ReadLong(1)
        if nRes == LoadLockerDoneResult:
            bItemLockerFull = iPacket.ReadLong(1)
            if bItemLockerFull == 1:
                nOverItemCount = iPacket.ReadLong(4)
            nCashItemCount = iPacket.ReadLong(2)
            if nCashItemCount >= 0:
                bFound = False
                for i in range(0, nCashItemCount):
                    CashItemInfoDecode(iPacket)
                    if pCashItemInfo.nItemID == 5040004:
                        bFound = True
                        Terminal.SetProperty("liSN", pCashItemInfo.liSN)
                        break
                if bFound:
                    time.sleep(1)
                    CashItemInfoDecode(iPacket)
                    print("Moving", flush=True)
                    MoveLToS(Terminal.GetProperty("liSN", -1), nEmptySlotPOS)
                else:
                    BuyByMeso()
            time.sleep(2)
            Terminal.LeaveCashShop()
    else:
        Terminal.LeaveCashShop()
        ToggleRushByLevel(True)
        Terminal.StopRush()
Esempio n. 3
0
def buy_ticket():
    buy_count = 0
    collide_cash_items()
    time.sleep(0.5)
    total_slots = Inventory.GetItemSlotCount(5)
    empty_slots = Inventory.GetEmptySlotCount(5)
    start_slot = total_slots - empty_slots
    while not GameState.IsInCashShop():
        print("Entering cash shop")
        Terminal.EnterCashShop()
        time.sleep(2)
    while buy_count < buy_tickets:
        time.sleep(3)
        start_slot += 1
        print("Buying ticket number {}".format(buy_count + 1))
        buy_ticket_packet = Packet.COutPacket(buy_ticket_header)
        buy_ticket_packet.EncodeBuffer("54 052F83EE 003567E0")
        Packet.SendPacket(buy_ticket_packet)
        rPacket = Packet.WaitForRecv(0x066F, 100000000)
        rPacket.Skip(1)
        x = rPacket.ReadLong(3)
        time.sleep(1)
        out = hex(x)
        out = '0x' + out[2:].zfill(8)
        first_byte = out[8:10]
        second_byte = out[6:8]
        third_byte = out[4:6]
        fourth_byte = out[2:4]
        take_out = Packet.COutPacket(buy_ticket_header)
        take_out.EncodeBuffer("0F {} {} {} {} 00 00 00 00 05 {} 00".format(
            first_byte, second_byte, third_byte, fourth_byte,
            hex(start_slot).split('x')[1].zfill(2)))
        print("0F {} {} {} {} 00 00 00 00 05 {} 00".format(
            first_byte, second_byte, third_byte, fourth_byte,
            hex(start_slot).split('x')[1].zfill(2)))
        Packet.SendPacket(take_out)
        buy_count += 1

    time.sleep(1)
    print("Leaving cash shop")
    Terminal.LeaveCashShop()