Hey! Does anybody know a way to open a mailbox? Thanks
Hey! Does anybody know a way to open a mailbox? Thanks
I don't have much experience in this kind of area, but if the player is in-range of a mailbox, pretty sure you can use all of the mailbox API functions even if they don't have the interface open. Could you not somehow use them with Lua injections like most things do?
pretty sure just using the API functions will show them client side for you, but not exactly server side. It'll just interact with an interface not directly connected to the server and just your client. Now this may not be totally true but this is what i have picked up. With a mailbox, you have to have some interact with mouseover function to open its server interface then you can interact with it sucessfully. This is not straight up fact but just what i have picked up from playing and messing around with all this stuff.
If you're going to be injected, you could just send the mailbox open packet. I believe the only parameter is the guid of the mailbox gameobject. That is presumably so the server can enforce your proximity to the object.
Bitpack stuff is quite complicated but i even managed to emulate mail packets long time ago. (cata version).
function mailsomebody(gold)
local Subject = "_Gold Mail"
local recipientsize = get_size(recipientname)
local byte35 = ((get_size(recipientname)+1)*16)-1
local new_packet = create_client_packet()
new_packet:set_opcode(CMSG_SEND_MAIL)
new_packet:put_dword(41, 11)
new_packet:put_dword(0)
new_packet:put_dword(0)
new_packet:put_dword(gold*10000) --gold
new_packet:put_dword(0)
new_packet:put_word(0)
new_packet:put_byte(get_size(Subject)*8, 33)
new_packet:put_byte(0x28)
new_packet:put_byte(byte35)
new_packet:put_byte(0x80)
new_packet:put_byte(mail_guid_four)
new_packet:put_byte(mail_guid_one)
new_packet:put_byte(mail_guid_two)
new_packet:put_byte(mail_guid_three)
new_packet:put_string(Subject, 41, false)
new_packet:put_string(recipientname, 41+get_size(Subject), false)
new_packet:put_byte(mail_guid_six)
new_packet:put_byte(mail_guid_eight)
new_packet:put_byte(mail_guid_seven)
end;
write its guid to the target address and then use the interact hotkey
Can this really work?