Difference between revisions of "Game Opcodes:Set Actor Position"
From FFXIV Classic Wiki
m (Added info about a conditional regarding floatingHeight.) |
|||
(36 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
:; Opcode - 0x0CE | :; Opcode - 0x0CE | ||
:; Source - Server | :; Source - Server | ||
− | :; Data Size - | + | :; Data Size - 0x28 bytes |
:; Requirements - None | :; Requirements - None | ||
Line 17: | Line 17: | ||
| 0x00 || uint32 || 4 Bytes || unknown || | | 0x00 || uint32 || 4 Bytes || unknown || | ||
|- | |- | ||
− | | 0x04 || uint32 || 4 Bytes || actorID || The actor ID that this applies to. | + | | 0x04 || uint32 || 4 Bytes || actorID || The actor ID that this applies to. If it's the player, it is set to 0x00000000. |
|- | |- | ||
| 0x08 || float || 4 Bytes || xPosition || The X position of the spawning actor. | | 0x08 || float || 4 Bytes || xPosition || The X position of the spawning actor. | ||
Line 26: | Line 26: | ||
|- | |- | ||
| 0x14 || float || 4 Bytes || rotation || The rotation of the spawning actor. | | 0x14 || float || 4 Bytes || rotation || The rotation of the spawning actor. | ||
+ | |- | ||
+ | | 0x18 || float || 4 Bytes || unknown|| | ||
+ | |- | ||
+ | | 0x1C || float || 4 Bytes || floatingHeight || The distance from the yPosition to offset the mob at. Require setGroundOn to be true in the class script. Used for Bombs, Imps, etc. | ||
+ | |- | ||
+ | | 0x20 || float || 4 Bytes || unknown|| | ||
|- | |- | ||
| 0x24 || uint16 || 2 Bytes || spawnType || The animation to play when this actor spawns. | | 0x24 || uint16 || 2 Bytes || spawnType || The animation to play when this actor spawns. | ||
Line 34: | Line 40: | ||
== Notes == | == Notes == | ||
− | == | + | == Spawn Types == |
+ | |||
+ | The following spawn types were discovered through testing and confirmed in the assembly at <code>0x58B2D7</code>. What each does hasn't been 100% confirmed. These were tested on the player actor, some are specifically for mobs. | ||
− | {| class="wikitable" style=" | + | {| class="wikitable sortable" |
− | | | + | ! width="50px" style="text-align: center; font-size: 14px;" | Value |
+ | ! style="text-align: center; font-size: 14px;" | Description | ||
+ | |- | ||
+ | | 0x01 || Fades to load, stays on loading screen. | ||
+ | |- | ||
+ | | 0x02 || Fades out/in, plays duty teleport in animation. | ||
+ | |- | ||
+ | | 0x03 || Fades out/in, plays duty teleport in animation with a different sound. Used by Retainers. | ||
+ | |- | ||
+ | | 0x04 || Fades out/in, doesn't work on players (black screen). On mobs it shows the duty teleport in animation. | ||
+ | |- | ||
+ | | 0x05 || Fades out/in, plays a yellow animation. | ||
+ | |- | ||
+ | | 0x06 || Same as 0x02. | ||
+ | |- | ||
+ | | 0x07 || Fades out/in, plays a "light" animation. | ||
+ | |- | ||
+ | | 0x08 || Same as 0x02. | ||
+ | |- | ||
+ | | 0x09 || Same as 0x02. | ||
+ | |- | ||
+ | | 0x0A || Same as 0x02. | ||
+ | |- | ||
+ | | 0x0F || Fades out/in, no animation is played. | ||
+ | |- | ||
+ | | 0x10 || Fades to load, stays on loading screen. This is used to lock the loading screen when entering Ifrit. | ||
+ | |- | ||
+ | | 0x11 || Quick fade out/in, no animation is played. Does not show loading graphic. | ||
+ | |- | ||
+ | | 0x12 || Fades player out/in. On fade in, textID <code>52036</code> is displayed ("You were removed from the instance due to connectivity issues."). | ||
|- | |- | ||
− | | | + | | 0x13 || If the areaMaster has _isWarpRideChocobo() == true, on fade in textID <code>25248</code> is displayed ("You obtain a key item: a chocobo whistle."). |
− | |||
|- | |- | ||
− | + | | 0x14 || If rental properties are set by the [[Game Opcodes:Set Chocobo Ride|Set Chocobo Ride]] packet; the UI will update to show the timer and notification. If the player does not have a chocobo, the mount/dismount button will appear while riding. | |
− | | | ||
− | |||
− | |||
− | | | ||
|- | |- | ||
− | + | | 0x15 || Same as 0x10. | |
− | | | ||
− | | | ||
− | |||
|- | |- | ||
− | + | | 0x16 || Nothing happens, movement update is also ignored. | |
|- | |- | ||
− | | | + | | 0x17 || Long fade out. If areaMaster has isInstanceRaid() == true, on fade in textID <code>34270</code> is displayed ("You are sucked into the shifting sands..."). |
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
+ | | 0x18 || Fades player out/in. On fade in, textID <code>51139</code> is displayed ("You feel unsettled after the nightmare..."). | ||
|} | |} | ||
+ | == Visual Layout == | ||
{| class="wikitable" style="border:1px solid black; text-align:center;" | {| class="wikitable" style="border:1px solid black; text-align:center;" | ||
− | | colspan=17 | | + | | colspan=17 | Packet Data layout |
|- | |- | ||
| | | | ||
Line 71: | Line 98: | ||
|- | |- | ||
! 0x00 | ! 0x00 | ||
− | | colspan="4" style="background:# | + | | colspan="4" style="background:#CEE0F2" | '''unknown''' |
− | | | + | | colspan="4" style="background:#8FA6E8" | '''actorID''' |
− | | colspan="4" style="background:# | + | | colspan="4" style="background:#8FA6E8" | '''xPosition''' |
− | | | + | | colspan="4" style="background:#8FA6E8" | '''yPosition''' |
|- | |- | ||
! 0x10 | ! 0x10 | ||
− | | | + | | colspan="4" style="background:#8FA6E8" | '''zPosition''' |
− | | colspan="4" style="background:# | + | | colspan="4" style="background:#8FA6E8" | '''rotation''' |
− | | colspan="4" style="background:# | + | | colspan="4" style="background:#CEE0F2" | '''unknown''' |
− | | colspan="4" style="background:# | + | | colspan="4" style="background:#8FA6E8" | '''floatingHeight''' |
|- | |- | ||
! 0x20 | ! 0x20 | ||
− | | colspan="4" style="background:# | + | | colspan="4" style="background:#CEE0F2" | '''unknown''' |
− | | | + | | colspan="2" style="background:#8FA6E8" | '''spawnType''' |
+ | | colspan="2" style="background:#8FA6E8" | '''isPlayerZoning''' | ||
|} | |} | ||
− | |||
− | |||
[[Category:Unfinished]] | [[Category:Unfinished]] |
Latest revision as of 16:52, 12 December 2022
Sets the spawn parameters for an actor that was just instantiated.
- Opcode - 0x0CE
- Source - Server
- Data Size - 0x28 bytes
- Requirements - None
Contents
Data
Offset | Data Type | Length | Variable | Description |
---|---|---|---|---|
0x00 | uint32 | 4 Bytes | unknown | |
0x04 | uint32 | 4 Bytes | actorID | The actor ID that this applies to. If it's the player, it is set to 0x00000000. |
0x08 | float | 4 Bytes | xPosition | The X position of the spawning actor. |
0x0C | float | 4 Bytes | yPosition | The Y position of the spawning actor. |
0x10 | float | 4 Bytes | zPosition | The Z position of the spawning actor. |
0x14 | float | 4 Bytes | rotation | The rotation of the spawning actor. |
0x18 | float | 4 Bytes | unknown | |
0x1C | float | 4 Bytes | floatingHeight | The distance from the yPosition to offset the mob at. Require setGroundOn to be true in the class script. Used for Bombs, Imps, etc. |
0x20 | float | 4 Bytes | unknown | |
0x24 | uint16 | 2 Bytes | spawnType | The animation to play when this actor spawns. |
0x26 | uint16 | 2 Bytes | isZoningPlayer | This has to be 1 if the actor is a player being zoned. |
Notes
Spawn Types
The following spawn types were discovered through testing and confirmed in the assembly at 0x58B2D7
. What each does hasn't been 100% confirmed. These were tested on the player actor, some are specifically for mobs.
Value | Description |
---|---|
0x01 | Fades to load, stays on loading screen. |
0x02 | Fades out/in, plays duty teleport in animation. |
0x03 | Fades out/in, plays duty teleport in animation with a different sound. Used by Retainers. |
0x04 | Fades out/in, doesn't work on players (black screen). On mobs it shows the duty teleport in animation. |
0x05 | Fades out/in, plays a yellow animation. |
0x06 | Same as 0x02. |
0x07 | Fades out/in, plays a "light" animation. |
0x08 | Same as 0x02. |
0x09 | Same as 0x02. |
0x0A | Same as 0x02. |
0x0F | Fades out/in, no animation is played. |
0x10 | Fades to load, stays on loading screen. This is used to lock the loading screen when entering Ifrit. |
0x11 | Quick fade out/in, no animation is played. Does not show loading graphic. |
0x12 | Fades player out/in. On fade in, textID 52036 is displayed ("You were removed from the instance due to connectivity issues.").
|
0x13 | If the areaMaster has _isWarpRideChocobo() == true, on fade in textID 25248 is displayed ("You obtain a key item: a chocobo whistle.").
|
0x14 | If rental properties are set by the Set Chocobo Ride packet; the UI will update to show the timer and notification. If the player does not have a chocobo, the mount/dismount button will appear while riding. |
0x15 | Same as 0x10. |
0x16 | Nothing happens, movement update is also ignored. |
0x17 | Long fade out. If areaMaster has isInstanceRaid() == true, on fade in textID 34270 is displayed ("You are sucked into the shifting sands...").
|
0x18 | Fades player out/in. On fade in, textID 51139 is displayed ("You feel unsettled after the nightmare...").
|
Visual Layout
Packet Data layout | ||||||||||||||||
0x0 | 0x1 | 0x2 | 0x3 | 0x4 | 0x5 | 0x6 | 0x7 | 0x8 | 0x9 | 0xA | 0xB | 0xC | 0xD | 0xE | 0xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x00 | unknown | actorID | xPosition | yPosition | ||||||||||||
0x10 | zPosition | rotation | unknown | floatingHeight | ||||||||||||
0x20 | unknown | spawnType | isPlayerZoning |