|
@ -124,12 +124,14 @@ pub struct PlayerChangedMap { |
|
|
|
|
|
|
|
|
#[pso_message(0x1F)]
|
|
|
#[pso_message(0x1F)]
|
|
|
pub struct PlayerChangedMap2 {
|
|
|
pub struct PlayerChangedMap2 {
|
|
|
map_area: u32,
|
|
|
|
|
|
|
|
|
map_area: u16,
|
|
|
|
|
|
_unknown1: u16,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x20)]
|
|
|
#[pso_message(0x20)]
|
|
|
pub struct TellOtherPlayerMyLocation {
|
|
|
pub struct TellOtherPlayerMyLocation {
|
|
|
map_area: u32,
|
|
|
|
|
|
|
|
|
map_area: u16,
|
|
|
|
|
|
_unknown1: u16,
|
|
|
x: f32,
|
|
|
x: f32,
|
|
|
y: f32,
|
|
|
y: f32,
|
|
|
z: f32,
|
|
|
z: f32,
|
|
@ -163,7 +165,7 @@ pub struct PlayerTeleported { |
|
|
#[pso_message(0x25)]
|
|
|
#[pso_message(0x25)]
|
|
|
pub struct PlayerEquipItem {
|
|
|
pub struct PlayerEquipItem {
|
|
|
item_id: u32,
|
|
|
item_id: u32,
|
|
|
variety: u8,
|
|
|
|
|
|
|
|
|
sub_menu: u8, // changes based on which menu used to equip item. f12 -> item pack -> items = 0, quick and f12 -> item pack -> equip = 6
|
|
|
unknown1: u16,
|
|
|
unknown1: u16,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
@ -193,7 +195,7 @@ pub struct PlayerSplitItemStack { |
|
|
#[pso_message(0x2A)]
|
|
|
#[pso_message(0x2A)]
|
|
|
pub struct PlayerDropItem {
|
|
|
pub struct PlayerDropItem {
|
|
|
unknown1: u16,
|
|
|
unknown1: u16,
|
|
|
area: u16,
|
|
|
|
|
|
|
|
|
map_area: u16,
|
|
|
item_id: u32,
|
|
|
item_id: u32,
|
|
|
x: f32,
|
|
|
x: f32,
|
|
|
y: f32,
|
|
|
y: f32,
|
|
@ -277,7 +279,8 @@ pub struct PlayerSpawnedIntoArea { |
|
|
#[pso_message(0x3E)]
|
|
|
#[pso_message(0x3E)]
|
|
|
pub struct PlayerStopped {
|
|
|
pub struct PlayerStopped {
|
|
|
unknown1: u32,
|
|
|
unknown1: u32,
|
|
|
unknown2: u32,
|
|
|
|
|
|
|
|
|
area: u16,
|
|
|
|
|
|
room: u16,
|
|
|
x: f32,
|
|
|
x: f32,
|
|
|
y: f32,
|
|
|
y: f32,
|
|
|
z: f32,
|
|
|
z: f32,
|
|
@ -416,7 +419,7 @@ pub struct LobbyEmote { |
|
|
pub struct RemoveItemFromFloor {
|
|
|
pub struct RemoveItemFromFloor {
|
|
|
client_id: u8,
|
|
|
client_id: u8,
|
|
|
unknown: u8,
|
|
|
unknown: u8,
|
|
|
area: u8,
|
|
|
|
|
|
|
|
|
map_area: u8, // change to u16 to be consistent with other packets
|
|
|
unknown2: u8,
|
|
|
unknown2: u8,
|
|
|
item_id: u32,
|
|
|
item_id: u32,
|
|
|
}
|
|
|
}
|
|
@ -424,7 +427,7 @@ pub struct RemoveItemFromFloor { |
|
|
#[pso_message(0x5A)]
|
|
|
#[pso_message(0x5A)]
|
|
|
pub struct PickupItem {
|
|
|
pub struct PickupItem {
|
|
|
item_id: u32,
|
|
|
item_id: u32,
|
|
|
area: u8,
|
|
|
|
|
|
|
|
|
map_area: u8, // change to u16 to be consistent with other packets
|
|
|
unknown: [u8; 3],
|
|
|
unknown: [u8; 3],
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
@ -432,8 +435,8 @@ pub struct PickupItem { |
|
|
// it does not have a y as DropCoordinates only specifies an xz
|
|
|
// it does not have a y as DropCoordinates only specifies an xz
|
|
|
#[pso_message(0x5D)]
|
|
|
#[pso_message(0x5D)]
|
|
|
pub struct DropSplitStack {
|
|
|
pub struct DropSplitStack {
|
|
|
pub map_area: u8,
|
|
|
|
|
|
pub variety: u8,
|
|
|
|
|
|
|
|
|
pub map_area: u8, // change to u16 to be consistent with other packets
|
|
|
|
|
|
pub variety: u8, // what is variety used for? is it ever non-0?
|
|
|
pub unknown1: u16,
|
|
|
pub unknown1: u16,
|
|
|
pub x: f32,
|
|
|
pub x: f32,
|
|
|
pub z: f32,
|
|
|
pub z: f32,
|
|
@ -455,7 +458,7 @@ pub struct DropSplitStack { |
|
|
|
|
|
|
|
|
#[pso_message(0x5F)]
|
|
|
#[pso_message(0x5F)]
|
|
|
pub struct ItemDrop {
|
|
|
pub struct ItemDrop {
|
|
|
pub area: u8,
|
|
|
|
|
|
|
|
|
pub map_area: u8,
|
|
|
pub variety: u8,
|
|
|
pub variety: u8,
|
|
|
pub unknown: u16,
|
|
|
pub unknown: u16,
|
|
|
pub x: f32,
|
|
|
pub x: f32,
|
|
@ -469,7 +472,7 @@ pub struct ItemDrop { |
|
|
|
|
|
|
|
|
#[pso_message(0x60)]
|
|
|
#[pso_message(0x60)]
|
|
|
pub struct RequestItem {
|
|
|
pub struct RequestItem {
|
|
|
area: u8,
|
|
|
|
|
|
|
|
|
map_area: u8,
|
|
|
pt_index: u8,
|
|
|
pt_index: u8,
|
|
|
enemy_id: u16,
|
|
|
enemy_id: u16,
|
|
|
x: f32,
|
|
|
x: f32,
|
|
@ -531,12 +534,14 @@ pub struct WordSelect { |
|
|
|
|
|
|
|
|
#[pso_message(0x75)]
|
|
|
#[pso_message(0x75)]
|
|
|
pub struct PlayerChangedFloor {
|
|
|
pub struct PlayerChangedFloor {
|
|
|
map: u32,
|
|
|
|
|
|
|
|
|
map: u16,
|
|
|
|
|
|
_unknown1: u16,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x76)]
|
|
|
#[pso_message(0x76)]
|
|
|
pub struct KillMonster {
|
|
|
pub struct KillMonster {
|
|
|
data: [u8; 4],
|
|
|
|
|
|
|
|
|
map_area: u16,
|
|
|
|
|
|
data: [u8; 2],
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
//#[pso_message(0x77)]
|
|
|
//#[pso_message(0x77)]
|
|
@ -791,7 +796,8 @@ pub struct GiveCharacterExp { |
|
|
|
|
|
|
|
|
#[pso_message(0xC3)]
|
|
|
#[pso_message(0xC3)]
|
|
|
pub struct DropCoordinates {
|
|
|
pub struct DropCoordinates {
|
|
|
map_area: u32,
|
|
|
|
|
|
|
|
|
map_area: u16,
|
|
|
|
|
|
room: u16,
|
|
|
x: f32,
|
|
|
x: f32,
|
|
|
z: f32,
|
|
|
z: f32,
|
|
|
item_id: u32,
|
|
|
item_id: u32,
|
|
|