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()
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()
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()
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()
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()
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()
def MobileQuery(type, serial): p = PacketWriter(0x34) p.uint(0xedededed) p.byte(type) p.uint(serial) return p.finish()
def EquipRequest(item_serial, layer, target_serial): p = PacketWriter(0x13) p.uint(item_serial) p.byte(layer) p.uint(target_serial) return p.finish()
def Click(serial): p = PacketWriter(0x09) p.uint(serial) return p.finish()
def CheckSecureTrade(serial): p = PacketWriter(0x6f) p.byte(0x02) p.uint(serial) p.uint(1) return p.finish()
def Use(serial): p = PacketWriter(0x06) p.uint(serial) return p.finish()
def WalkRequest(direction, seq): p = PacketWriter(0x02) p.byte(direction) p.byte(seq) p.uint(0) return p.finish()
def GumpResponse(serial, gump_id, button_id=1, switches=[]): p = PacketWriter(0xb1) p.uint(serial) p.uint(gump_id) p.uint(button_id) p.uint(len(switches)) for x in switches: p.uint(x) p.uint(0) # number of text responses return p.finish()
def GameLogin(username, password, auth_id): p = PacketWriter(0x91) p.uint(auth_id) p.fixstring(username, 30) p.fixstring(password, 30) return p.finish()
def CancelSecureTrade(serial): p = PacketWriter(0x6f) p.byte(0x01) p.uint(serial) return p.finish()
def LiftRequest(serial, amount=0xffff): p = PacketWriter(0x07) p.uint(serial) p.ushort(amount) return p.finish()