Difference between revisions of "Game Opcodes:Set Actor Position"
From FFXIV Classic Wiki
(→Visual Layout) |
m (Added info about a conditional regarding floatingHeight.) |
||
| (8 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 29: | Line 29: | ||
| 0x18 || float || 4 Bytes || unknown|| | | 0x18 || float || 4 Bytes || unknown|| | ||
|- | |- | ||
| − | | 0x1C || float || 4 Bytes || floatingHeight || The distance from the yPosition to offset the mob at. Used for Bombs, Imps, etc. | + | | 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|| | | 0x20 || float || 4 Bytes || unknown|| | ||
| Line 52: | Line 52: | ||
| 0x02 || Fades out/in, plays duty teleport in animation. | | 0x02 || Fades out/in, plays duty teleport in animation. | ||
|- | |- | ||
| − | | 0x03 || Fades out/in, plays duty teleport in animation with a different sound. | + | | 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. | | 0x04 || Fades out/in, doesn't work on players (black screen). On mobs it shows the duty teleport in animation. | ||
| Line 76: | Line 76: | ||
| 0x12 || Fades player out/in. On fade in, textID <code>52036</code> is displayed ("You were removed from the instance due to connectivity issues."). | | 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 || | + | | 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 || | + | | 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. | | 0x15 || Same as 0x10. | ||
| Line 84: | Line 84: | ||
| 0x16 || Nothing happens, movement update is also ignored. | | 0x16 || Nothing happens, movement update is also ignored. | ||
|- | |- | ||
| − | | 0x17 || Long fade out, | + | | 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..."). | | 0x18 || Fades player out/in. On fade in, textID <code>51139</code> is displayed ("You feel unsettled after the nightmare..."). | ||
| Line 98: | Line 98: | ||
|- | |- | ||
! 0x00 | ! 0x00 | ||
| − | | | + | | colspan="4" style="background:#CEE0F2" | '''unknown''' |
| + | | colspan="4" style="background:#8FA6E8" | '''actorID''' | ||
| colspan="4" style="background:#8FA6E8" | '''xPosition''' | | colspan="4" style="background:#8FA6E8" | '''xPosition''' | ||
| colspan="4" style="background:#8FA6E8" | '''yPosition''' | | colspan="4" style="background:#8FA6E8" | '''yPosition''' | ||
| Line 105: | Line 106: | ||
| colspan="4" style="background:#8FA6E8" | '''zPosition''' | | colspan="4" style="background:#8FA6E8" | '''zPosition''' | ||
| colspan="4" style="background:#8FA6E8" | '''rotation''' | | colspan="4" style="background:#8FA6E8" | '''rotation''' | ||
| − | | colspan=" | + | | colspan="4" style="background:#CEE0F2" | '''unknown''' |
| − | | | + | | colspan="4" style="background:#8FA6E8" | '''floatingHeight''' |
|- | |- | ||
! 0x20 | ! 0x20 | ||
| colspan="4" style="background:#CEE0F2" | '''unknown''' | | colspan="4" style="background:#CEE0F2" | '''unknown''' | ||
| − | | colspan=" | + | | colspan="2" style="background:#8FA6E8" | '''spawnType''' |
| − | | colspan=" | + | | 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 | |||||||||||||