Well, you can probably use a packethook on 0x07. I havent done anything like this nor tested this so you should test it before putting it on your shard... something like
Code:
var item := SystemFindObjectBySerial(packet.GetInt32(1));
if (who.multi != item.multi)
var reject := CreatePacket(0x27, 2);
reject.SetInt8(1, 0x00);
reject.SendPacket(who);
return 1;
endif
return 0;
If this works as I'm thinking, this will stop anyone from moving anything on any multi whether it'd be a house or a boat unless they were standing on it.
Packet breakdown:
Code:
0x07
Pick Up Item(s) (7 bytes)
· BYTE cmd
· BYTE[4] item id
· BYTE[2] # of items in stack
0x27
Reject Request to Move Items (2 bytes)
· BYTE cmd
· BYTE unknown1 (0x00)