Category:Structure access: Difference between revisions

From EDukeWiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
get<struct>[<id>].<[[Full list of structure members|member]]> <[[gamevar]]><br>
set<struct>[<id>].<[[Full list of structure members|member]]> <value><br>
get<struct>var[<id>].<[[gamevar]]> <[[gamevar]]><br>
set<struct>var[<id>].<[[gamevar]]> <value><br>
getuserdef .<[[Members of the userdef structure|member]]> <[[gamevar]]><br>
setuserdef .<[[Members of the userdef structure|member]]> <value><br>
The '''get''' commands fetch one of the [[Full list of structure members|members of a structure]] into a [[gamevar]].
The '''set''' commands assign the value provided to the member.
The commands with the "var" suffix are used to access custom members for a struct, which are really just that ID's gamevars which have the per-<struct> flag set. So <code>setactorvar[THISACTOR].temp 0</code> is the same as <code>setvar temp 0</code>.
{| {{prettytable}}
!Struct!!ID type!!<nowiki>-</nowiki>'''var'''<nowiki>?</nowiki>!!Description!!Notes!!
|-
|[[Members of the sprite, hittype, and spriteext structures|actor]]
|[[sprite id]]
|Yes
|sprites and hittypes
|You can use [[THISACTOR]] as the id for current sprite.
|-
|[[Members of the tsprite structure|tspr]]
|[[sprite id]]
|No
|sprites' display properties
|Can only be used within [[EVENT_ANIMATESPRITES]] on sprites with [[mdflags]] containing flag 16.<br>You can use [[THISACTOR]] as the id for current sprite.
|-
|[[Members of the projectile structure|projectile]]
|[[tile number]]
|No
|projectile types
|
|-
|[[Members of the projectile structure|thisprojectile]]
|[[sprite id]]
|No
|individual projectiles
|You can use [[THISACTOR]] as the id for current sprite.
|-
|[[Members of the sector structure|sector]]
|[[sector id]]
|No
|sectors, floors, and ceilings
|You can use [[THISACTOR]] as the sector id for the sector in which the current actor is in.
|-
|[[Members of the wall structure|wall]]
|[[wall id]]
|No
|walls
|
|-
|[[Members of the player structure|player]]
|[[yvel|player id]]
|Yes
|players
|The player id is usually [[THISACTOR]], but [[screenpeek]] and [[myconnectindex]] are technically possible.
|-
|[[Members of the input structure|input]]
|[[yvel|player id]]
|No
|input
|Generally used within [[EVENT_PROCESSINPUT]].<br>The player id is usually provided by [[THISACTOR]]. It is unknown whether other values are useful or applicable.
|-
|[[Members of the userdef structure|userdef]]
|(none)
|No
|user preferences, game state
|Brackets are not required.
|}
[[Category:EDuke32 end-user documentation]]
[[Category:EDuke32 end-user documentation]]
[[Category:Scripting documentation]]
[[Category:Scripting documentation]]

Revision as of 19:08, 3 April 2015

get<struct>[<id>].<member> <gamevar>
set<struct>[<id>].<member> <value>
get<struct>var[<id>].<gamevar> <gamevar>
set<struct>var[<id>].<gamevar> <value>
getuserdef .<member> <gamevar>
setuserdef .<member> <value>

The get commands fetch one of the members of a structure into a gamevar.

The set commands assign the value provided to the member.

The commands with the "var" suffix are used to access custom members for a struct, which are really just that ID's gamevars which have the per-<struct> flag set. So setactorvar[THISACTOR].temp 0 is the same as setvar temp 0.

Struct ID type -var? Description Notes
actor sprite id Yes sprites and hittypes You can use THISACTOR as the id for current sprite.
tspr sprite id No sprites' display properties Can only be used within EVENT_ANIMATESPRITES on sprites with mdflags containing flag 16.
You can use THISACTOR as the id for current sprite.
projectile tile number No projectile types
thisprojectile sprite id No individual projectiles You can use THISACTOR as the id for current sprite.
sector sector id No sectors, floors, and ceilings You can use THISACTOR as the sector id for the sector in which the current actor is in.
wall wall id No walls
player player id Yes players The player id is usually THISACTOR, but screenpeek and myconnectindex are technically possible.
input player id No input Generally used within EVENT_PROCESSINPUT.
The player id is usually provided by THISACTOR. It is unknown whether other values are useful or applicable.
userdef (none) No user preferences, game state Brackets are not required.