コード例 #1
0
ファイル: packets.py プロジェクト: jackuoll/GemUO
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()
コード例 #2
0
ファイル: packets.py プロジェクト: cculianu/gemuo
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()
コード例 #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()
コード例 #4
0
ファイル: packets.py プロジェクト: cculianu/gemuo
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()
コード例 #5
0
ファイル: packets.py プロジェクト: jackuoll/GemUO
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()
コード例 #6
0
ファイル: packets.py プロジェクト: cculianu/gemuo
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()
コード例 #7
0
ファイル: packets.py プロジェクト: jackuoll/GemUO
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()
コード例 #8
0
ファイル: packets.py プロジェクト: cculianu/gemuo
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()
コード例 #9
0
ファイル: packets.py プロジェクト: jackuoll/GemUO
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()
コード例 #10
0
ファイル: packets.py プロジェクト: cculianu/gemuo
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()
コード例 #11
0
ファイル: packets.py プロジェクト: jackuoll/GemUO
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()
コード例 #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())
コード例 #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()
コード例 #14
0
ファイル: packets.py プロジェクト: cculianu/gemuo
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()
コード例 #15
0
ファイル: packets.py プロジェクト: cculianu/gemuo
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()
コード例 #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()
コード例 #17
0
ファイル: packets.py プロジェクト: cculianu/gemuo
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()
コード例 #18
0
ファイル: packets.py プロジェクト: jackuoll/GemUO
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()
コード例 #19
0
ファイル: packets.py プロジェクト: cculianu/gemuo
def StatLock(stat, lock):
    p = PacketWriter(0xbf)
    p.ushort(0x001a)
    p.byte(stat)
    p.byte(lock)
    return p.finish()
コード例 #20
0
ファイル: packets.py プロジェクト: cculianu/gemuo
def PlayServer(index):
    p = PacketWriter(0xa0)
    p.ushort(index)
    return p.finish()
コード例 #21
0
ファイル: packets.py プロジェクト: jackuoll/GemUO
def LiftRequest(serial, amount=0xffff):
    p = PacketWriter(0x07)
    p.uint(serial)
    p.ushort(amount)
    return p.finish()
コード例 #22
0
ファイル: packets.py プロジェクト: cculianu/gemuo
def SkillLock(skill, lock):
    p = PacketWriter(0x3a)
    p.ushort(skill)
    p.byte(lock)
    return p.finish()
コード例 #23
0
ファイル: packets.py プロジェクト: jackuoll/GemUO
def SkillLock(skill, lock):
    p = PacketWriter(0x3a)
    p.ushort(skill)
    p.byte(lock)
    return p.finish()
コード例 #24
0
ファイル: packets.py プロジェクト: cculianu/gemuo
def LiftRequest(serial, amount=0xffff):
    p = PacketWriter(0x07)
    p.uint(serial)
    p.ushort(amount)
    return p.finish()