Difference between revisions of "Game Opcodes:SetPushEventConditionWithTriggerBox"

From FFXIV Classic Wiki
Jump to: navigation, search
(Data)
m (Changed 'circle' to 'box', also tested if it was still the case with this opcode, and yes it still is.)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Sets a push event trigger to this actor. "Push" events are collision tested events, this one specifically setting a trigger box around the actor. This seems to be some kind of driver for BG Objects.
+
Sets a push event trigger to this actor. "Push" events are collision tested events, this one specifically assigning a predefined trigger box to an actor. This seems to be some kind of driver for BG Objects.
  
 
:; Opcode - 0x175
 
:; Opcode - 0x175
Line 25: Line 25:
 
| 0x10 || int32 || 4 Bytes || unknown ||
 
| 0x10 || int32 || 4 Bytes || unknown ||
 
|-
 
|-
| 0x14 || byte || 1 Bytes || inwards || Either 0x11 or 0x1.
+
| 0x14 || byte || 1 Bytes || options || Format is 000[W] [Z][Y][XX] If 0x11; triggers when player leaves the box. If 0x1, triggers when player enters the box.  
 
|-
 
|-
 
| 0x15 || byte || 1 Bytes || priority ||
 
| 0x15 || byte || 1 Bytes || priority ||
Line 31: Line 31:
 
| 0x16 || byte || 1 Bytes || isSilent ||
 
| 0x16 || byte || 1 Bytes || isSilent ||
 
|-
 
|-
| 0x17 || string || 21 Bytes || eventName || The name of the event that will be sent when a Start/End event is fired.
+
| 0x17 || string || 32 Bytes || eventName || The name of the event that will be sent when a Start/End event is fired.
 
|-
 
|-
| 0x38 || string || 8 Bytes || reactionName || Might do more, but for DoorStandard; passes to _onReaction.
+
| 0x37 || byte || 1 Bytes || unknown ||
 +
|-
 +
| 0x38 || string || 8 Bytes || reactionName || DoorStandard passes to _onReaction.  MarketEntrance to <code>dwti</code> for Limsa, <code>dtwi</code> for Gridania and Ul'dah.
 
|}
 
|}
  
 
== Notes ==
 
== Notes ==
  
MarketEntrance is the only known actor that uses this trigger. However in the scripts; DoorStandard also uses this programmatically to trigger doors opening/closing when a player goes near them.
+
MarketEntrance is the only known actor that uses this trigger. The box it uses presumably defined by dtwi, dtwo, utwi, utwo in the MapLayoutResourceData file.
 +
 
 +
DoorStandard also uses this programmatically in its script to trigger doors opening/closing when a player goes near them.
  
 
== Visual Layout ==
 
== Visual Layout ==
Line 49: Line 53:
 
|-
 
|-
 
! 0x00
 
! 0x00
| colspan="4" style="background:#CEE0F2" | '''bgObjectID'''
+
| colspan="4" style="background:#8FE0C2" | '''bgObjectID'''
| colspan="4" style="background:#CEE0F2" | '''layoutID'''
+
| colspan="4" style="background:#8FA6E8" | '''layoutID'''
| colspan="4" style="background:#CEE0F2" | '''unknown'''
+
| colspan="4" style="background:#C0E8A7" | '''actorID'''
 
| colspan="4" style="background:#CEE0F2" | '''unknown'''
 
| colspan="4" style="background:#CEE0F2" | '''unknown'''
 
|-
 
|-
 
! 0x10
 
! 0x10
 
| colspan="4" style="background:#CEE0F2" | '''unknown'''
 
| colspan="4" style="background:#CEE0F2" | '''unknown'''
| colspan="1" style="background:#CEE0F2" | '''unknown'''
+
| colspan="1" style="background:#C0E8A7" | '''options'''
| colspan="1" style="background:#CEE0F2" | '''unknown'''
+
| colspan="1" style="background:#f1cbff" | '''priority'''
| colspan="1" style="background:#CEE0F2" | '''unknown'''
+
| colspan="1" style="background:#eedfcc" | '''isSilent'''
| colspan="9" style="background:#8FA6E8" |
+
| colspan="9" style="background:#fdf5e6" |
 
|-
 
|-
 
! 0x20
 
! 0x20
| colspan="16" style="background:#8FA6E8" | '''eventName'''
+
| colspan="16" style="background:#fdf5e6" | '''eventName'''
 
|-
 
|-
 
! 0x30
 
! 0x30
| colspan="8" style="background:#8FA6E8" |
+
| colspan="7" style="background:#fdf5e6" |
| colspan="8" style="background:#CEE0F2" | '''unknown'''
+
| colspan="1" style="background:#CEE0F2" | '''unk'''
 +
| colspan="8" style="background:#FFA6E8" | '''reactionName'''
 
|}
 
|}
  
 
[[Category:Unfinished]]
 
[[Category:Unfinished]]

Latest revision as of 22:05, 19 March 2020

Sets a push event trigger to this actor. "Push" events are collision tested events, this one specifically assigning a predefined trigger box to an actor. This seems to be some kind of driver for BG Objects.

Opcode - 0x175
Source - Server
Data Size - 0x40 bytes
Requirements - None

Data

Offset Data Type Length Variable Description
0x00 int32 4 Bytes bgObjectID BG Object ID
0x04 int32 4 Bytes layoutID Layout ID
0x08 int32 4 Bytes actorID Actor ID that this triggers from? 1.22+ it is just set to 0x4.
0x0C float 4 Bytes unknown
0x10 int32 4 Bytes unknown
0x14 byte 1 Bytes options Format is 000[W] [Z][Y][XX] If 0x11; triggers when player leaves the box. If 0x1, triggers when player enters the box.
0x15 byte 1 Bytes priority
0x16 byte 1 Bytes isSilent
0x17 string 32 Bytes eventName The name of the event that will be sent when a Start/End event is fired.
0x37 byte 1 Bytes unknown
0x38 string 8 Bytes reactionName DoorStandard passes to _onReaction. MarketEntrance to dwti for Limsa, dtwi for Gridania and Ul'dah.

Notes

MarketEntrance is the only known actor that uses this trigger. The box it uses presumably defined by dtwi, dtwo, utwi, utwo in the MapLayoutResourceData file.

DoorStandard also uses this programmatically in its script to trigger doors opening/closing when a player goes near them.

Visual Layout

Packet Data layout
0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xA 0xB 0xC 0xD 0xE 0xF
0x00 bgObjectID layoutID actorID unknown
0x10 unknown options priority isSilent
0x20 eventName
0x30 unk reactionName