Exemple #1
0
def TalkAscii(text, type=0, hue=0x34, font=1):
    p = PacketWriter(0x03)
    p.byte(type)
    p.ushort(hue)
    p.ushort(font)
    p.cstring(text)
    return p.finish()
Exemple #2
0
def VendorSellReply(vendor_serial, item_serial, amount=1):
    p = PacketWriter(0x9f)
    p.uint(vendor_serial)
    p.ushort(1)
    p.uint(item_serial)
    p.ushort(amount)
    return p.finish()
Exemple #3
0
    def to_data(self):
        packet = PacketWriter(0x8C, self.packet_length)
        packet.ipv4(self.relay.ip)
        packet.ushort(self.relay.port)
        packet.uint(self.relay.auth_id)

        return packet.finish()
Exemple #4
0
def TalkAscii(text, type=0, hue=0x34, font=1):
    p = PacketWriter(0x03)
    p.byte(type)
    p.ushort(hue)
    p.ushort(font)
    p.cstring(text)
    return p.finish()
Exemple #5
0
def VendorBuyReply(vendor_serial, item_serial, amount=1):
    p = PacketWriter(0x3b)
    p.uint(vendor_serial)
    p.byte(2)  # flags
    p.byte(0)  # layer
    p.uint(item_serial)
    p.ushort(amount)
    return p.finish()
Exemple #6
0
def Drop(serial, x, y, z, dest_serial):
    p = PacketWriter(0x08)
    p.uint(serial)
    p.ushort(x)
    p.ushort(y)
    p.sbyte(z)
    p.uint(dest_serial)
    return p.finish()
Exemple #7
0
def Drop(serial, x, y, z, dest_serial):
    p = PacketWriter(0x08)
    p.uint(serial)
    p.ushort(x)
    p.ushort(y)
    p.sbyte(z)
    p.uint(dest_serial)
    return p.finish()
Exemple #8
0
def VendorBuyReply(vendor_serial, item_serial, amount=1):
    p = PacketWriter(0x3b)
    p.uint(vendor_serial)
    p.byte(2) # flags
    p.byte(0) # layer
    p.uint(item_serial)
    p.ushort(amount)
    return p.finish()
Exemple #9
0
def PlayCharacter(slot):
    p = PacketWriter(0x5d)
    p.uint(0)
    p.fixstring("", 30)
    p.ushort(0)
    p.uint(0)
    p.fixstring("", 24)
    p.uint(slot)
    p.uint(0xdeadbeef)
    return p.finish()
Exemple #10
0
def PlayCharacter(slot):
    p = PacketWriter(0x5d)
    p.uint(0)
    p.fixstring("", 30)
    p.ushort(0)
    p.uint(0)
    p.fixstring("", 24)
    p.uint(slot)
    p.uint(0xdeadbeef)
    return p.finish()
Exemple #11
0
def TargetResponse(type, target_id, flags, serial, x, y, z, graphic):
    p = PacketWriter(0x6c)
    p.byte(type)
    p.uint(target_id)
    p.byte(flags)
    p.uint(serial)
    p.ushort(x)
    p.ushort(y)
    p.sshort(z)
    p.ushort(graphic)
    return p.finish()
Exemple #12
0
    def __init__(self, data: bytes, transport: asyncio.WriteTransport, packet_length: int):
        self.data: bytes = data[:]
        self.p: uo.packets.UOPacket = uo.packets.UOPacket(self.data, packet_length)
        self.packet_length = packet_length
        self.razor_features = uo.packets.RazorFeatures(self.p.from_buffer())

        if self.razor_features.features == 0xFE:
            packet = PacketWriter(0xF0, packet_length)
            packet.ushort(0x0004)
            packet.byte(0xFF)
            transport.write(packet.finish())
Exemple #13
0
def TalkUnicode(text, keyword, type=0xc0, hue=0x34, font=1):
    p = PacketWriter(0xad)
    p.byte(type)
    p.ushort(hue)
    p.ushort(font)
    p.fixstring('Eng', 4)
    p.byte(0x00)
    p.byte(0x10)
    p.byte(keyword)
    p.cstring(text)
    return p.finish()
Exemple #14
0
def TalkUnicode(text, keyword, type=0xc0, hue=0x34, font=1):
    p = PacketWriter(0xad)
    p.byte(type)
    p.ushort(hue)
    p.ushort(font)
    p.fixstring('Eng', 4)
    p.byte(0x00)
    p.byte(0x10)
    p.byte(keyword)
    p.cstring(text)
    return p.finish()
Exemple #15
0
def TargetResponse(type, target_id, flags, serial, x, y, z, graphic):
    p = PacketWriter(0x6c)
    p.byte(type)
    p.uint(target_id)
    p.byte(flags)
    p.uint(serial)
    p.ushort(x)
    p.ushort(y)
    p.sshort(z)
    p.ushort(graphic)
    return p.finish()
Exemple #16
0
    def to_data(self):
        packet = PacketWriter(0xA8, self.packet_length)
        packet.byte(self.server_list.sys_info_flag)
        packet.ushort(self.server_list.count)

        for server in self.server_list.servers:
            packet.ushort(server.index)
            packet.fixstring(server.name, 32)
            packet.byte(server.percent_full)
            packet.byte(server.timezone)
            packet.ipv4(server.ip, True)

        return packet.finish()
Exemple #17
0
def MenuResponse(serial, index):
    p = PacketWriter(0x7d)
    p.uint(serial)
    p.ushort(0) # menu id
    p.ushort(index)
    p.ushort(0) # item id
    p.ushort(0) # hue
    return p.finish()
Exemple #18
0
def CreateCharacter(name):
    p = PacketWriter(0x00)
    p.uint(0xedededed)
    p.uint(0xffffffff)
    p.byte(0x00)
    p.fixstring(name, 30)
    p.ushort(0x0000)
    p.uint(0x0000003f)  # flags
    p.uint(0x00000001)
    p.uint(0x0000000f)
    p.byte(0x00)  # profession
    p.byte(0x00)
    p.byte(0x00)
    p.byte(0x00)
    p.uint(0x00000000)
    p.uint(0x00000000)
    p.byte(0x02)  # male?
    p.byte(0x3c)  # str
    p.byte(0x0a)  # dex
    p.byte(0x0a)  # int
    p.byte(0x19)  # is1
    p.byte(0x27)  # vs1
    p.byte(0x2c)  # is2
    p.byte(0x0b)  # vs2
    p.byte(0x0b)  # is3
    p.byte(0x32)  # vs3
    p.ushort(0x03ea)  # hue
    p.ushort(0x2047)  # hair
    p.ushort(0x044e)  # hair hue
    p.ushort(0x204b)  # facial hair
    p.ushort(0x044e)  # facial hair hue
    p.byte(0x00)
    p.byte(0x00)  # city
    p.uint(0x00000000)  # char slot
    p.uint(0xdeadbeef)  # client ip
    p.ushort(0x00e0)  # shirt hue
    p.ushort(0x01a1)  # pants hue
    return p.finish()
Exemple #19
0
def StatLock(stat, lock):
    p = PacketWriter(0xbf)
    p.ushort(0x001a)
    p.byte(stat)
    p.byte(lock)
    return p.finish()
Exemple #20
0
def PlayServer(index):
    p = PacketWriter(0xa0)
    p.ushort(index)
    return p.finish()
Exemple #21
0
def LiftRequest(serial, amount=0xffff):
    p = PacketWriter(0x07)
    p.uint(serial)
    p.ushort(amount)
    return p.finish()
Exemple #22
0
def SkillLock(skill, lock):
    p = PacketWriter(0x3a)
    p.ushort(skill)
    p.byte(lock)
    return p.finish()
Exemple #23
0
def SkillLock(skill, lock):
    p = PacketWriter(0x3a)
    p.ushort(skill)
    p.byte(lock)
    return p.finish()
Exemple #24
0
def LiftRequest(serial, amount=0xffff):
    p = PacketWriter(0x07)
    p.uint(serial)
    p.ushort(amount)
    return p.finish()