Category:All commands: Difference between revisions
Hendricks266 (talk | contribs) No edit summary  | 
				|||
| (37 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
{{EDuke32 Intro}}  | {{EDuke32 Intro}}  | ||
==Preprocessor==  | |||
===  | *[[include]]  | ||
*[[  | *[[includedefault]]  | ||
*[[  | *[[define]]  | ||
*[[  | *// single-line comment  | ||
===  | */* block comment */  | ||
*[[  | *whitespace characters: <code>( ) ; ,</code>  | ||
*[[  | ==Meta-Settings==  | ||
*[[  | <!-- These deal with matters outside the game world. -->  | ||
*[[  | *[[dynamicremap]]  | ||
*[[  | *[[dynamicsoundremap]]  | ||
*[[  | *[[setcfgname]]  | ||
*[[  | *[[setdefname]]  | ||
*[[  | *[[setgamename]]  | ||
*[[  | *[[precache]]  | ||
*[[  | *[[scriptsize]]  | ||
*[[  | *[[cheatkeys]]  | ||
*[[  | *[[definecheat]]  | ||
*[[  | *[[definegamefuncname]]  | ||
*[[  | *[[definegametype]]  | ||
*[[  | *[[definevolumename]]  | ||
*[[  | *[[definevolumeflags]]  | ||
*[[  | *[[definelevelname]]  | ||
*[[  | *[[defineskillname]]  | ||
*[[  | *[[undefinevolume]]  | ||
*[[  | *[[undefinelevel]]  | ||
*[[  | *[[undefineskill]]  | ||
*[[  | ===If===  | ||
*[[ifrespawn]]  | |||
*[[ifmultiplayer]]  | |||
*[[ifclient]]  | |||
*[[ifserver]]  | |||
==Global Settings==  | |||
<!-- These deal with matters inside the game world. -->  | |||
*[[gamestartup]]  | |||
*[[spritenopal]]  | |||
*[[spritenoshade]]  | |||
*[[spritenvg]]  | |||
*[[spriteshadow]]  | |||
==Block Delimiting==  | |||
===Object-Oriented===  | |||
*[[actor]]  | |||
*[[useractor]]  | |||
*[[enda]]  | |||
===Procedural===  | |||
*[[onevent]]  | |||
*[[appendevent]]  | |||
*[[endevent]]  | |||
===Subroutines===  | |||
*[[state]]  | |||
*[[defstate]]  | |||
*[[ends]]  | |||
*[[prependstate]]  | |||
*[[appendstate]]  | |||
==Flow Control==  | |||
===If Components===  | |||
*[[nullop]]  | |||
*[[else]]  | |||
===Switch===  | |||
*[[switch]]  | |||
*[[endswitch]]  | |||
*[[case]]  | |||
*[[default]]  | |||
===Termination===  | |||
*[[break]]  | |||
*[[continue]]  | |||
*[[exit]]  | |||
*[[return]]  | |||
*[[terminate]]  | |||
===Jump===  | |||
:''Note: Jumping commands are deprecated and will not be supported by Lunatic. Use [[#Loops|loops]] instead.''  | |||
*[[getcurraddress]]  | |||
*[[jump]]  | |||
===Loops===  | |||
*[[whilevarl]]  | |||
*[[whilevarvarl]]  | |||
*[[whilevare]]  | |||
*[[whilevarn]]  | |||
*[[whilevarvarn]]  | |||
:''It is also possible to loop by calling a state from within itself.''  | |||
==Game Variables==  | |||
*[[gamevar]]  | |||
*[[gamearray]]  | |||
===Gamevar Operators===  | ===Gamevar Operators===  | ||
*[[setvar]]  | |||
*[[setvarvar]]  | |||
*[[setarray]]  | |||
*[[addvar]]  | *[[addvar]]  | ||
*[[addvarvar]]  | *[[addvarvar]]  | ||
| Line 46: | Line 109: | ||
*[[xorvar]]  | *[[xorvar]]  | ||
*[[xorvarvar]]  | *[[xorvarvar]]  | ||
===Gamevar Conditions==  | *[[randvar]]  | ||
*[[randvarvar]]  | |||
===Gamevar Conditions===  | |||
*[[ifvare]]  | *[[ifvare]]  | ||
*[[ifvarn]]  | *[[ifvarn]]  | ||
| Line 63: | Line 128: | ||
*[[ifvarvarxor]]  | *[[ifvarvarxor]]  | ||
*[[ifvarvareither]]  | *[[ifvarvareither]]  | ||
===Projectiles==  | ===Math Operations===  | ||
*[[sqrt]]  | |||
*[[calchypotenuse]]  | |||
*[[sin]]  | |||
*[[cos]]  | |||
*[[shiftvarl]]  | |||
*[[shiftvarr]]  | |||
*[[mulscale]]  | |||
*[[getangle]]  | |||
*[[getincangle]]  | |||
===Array Operations===  | |||
*[[getarraysize]]  | |||
*[[getarraysequence]]  | |||
*[[resizearray]]  | |||
*[[copy]]  | |||
*[[setarray]]  | |||
*[[setarraysequence]]  | |||
===Data Saving===  | |||
*[[readgamevar]]  | |||
*[[savegamevar]]  | |||
*[[readarrayfromfile]]  | |||
*[[writearraytofile]]  | |||
==Structure Access==  | |||
*[[getactor]]  | |||
*[[getactorvar]]  | |||
*[[getinput]]  | |||
*[[getplayer]]  | |||
*[[getplayervar]]  | |||
*[[getprojectile]]  | |||
*[[getsector]]  | |||
*[[getthisprojectile]]  | |||
*[[gettspr]]  | |||
*[[getuserdef]]  | |||
*[[getwall]]  | |||
*[[setactor]]  | |||
*[[setactorvar]]  | |||
*[[setinput]]  | |||
*[[setplayer]]  | |||
*[[setplayervar]]  | |||
*[[setprojectile]]  | |||
*[[setsector]]  | |||
*[[setthisprojectile]]  | |||
*[[settspr]]  | |||
*[[setuserdef]]  | |||
*[[setwall]]  | |||
==Actors==  | |||
===Structures===  | |||
*[[cactor]] <!-- picnum -->  | |||
*[[action]] <!-- htg_t 4 (2, 3) -->  | |||
*[[ai]] <!-- htg_t 5 (1?) -->  | |||
*[[move]] <!-- htg_t 1 -->  | |||
*[[count]] <!-- htg_t 0 -->  | |||
*[[resetactioncount]] <!-- htg_t 2 -->  | |||
*[[resetcount]] <!-- htg_t 0 -->  | |||
*[[cstat]] <!-- cstat -->  | |||
*[[cstator]] <!-- cstat -->  | |||
*[[clipdist]] <!-- clipdist -->  | |||
*[[sizeat]] <!-- [xy]repeat -->  | |||
*[[sizeto]] <!-- [xy]repeat -->  | |||
*[[strength]] <!-- extra -->  | |||
*[[addstrength]] <!-- extra -->  | |||
*[[spritepal]] <!-- pal -->  | |||
*[[getlastpal]] <!-- httempang -->  | |||
*[[sleeptime]] <!-- httimetosleep -->  | |||
*[[spriteflags]] <!-- htflags -->  | |||
*[[angoff]] <!-- angoff -->  | |||
*[[angoffvar]] <!-- angoff -->  | |||
*[[changespritesect]] <!-- sectnum -->  | |||
*[[changespritestat]] <!-- statnum -->  | |||
*[[setsprite]] <!-- [xyz] -->  | |||
====If====  | |||
*[[ifactor]]  | |||
*[[ifaction]]  | |||
*[[ifactioncount]]  | |||
*[[ifai]]  | |||
*[[ifcount]]  | |||
*[[ifmove]]  | |||
*[[ifspawnedby]]  | |||
*[[ifspritepal]]  | |||
*[[ifstrength]]  | |||
*[[ifhitweapon]]  | |||
*[[ifwasweapon]]  | |||
*[[ifdead]]  | |||
*[[ifactornotstayput]]  | |||
===Commands===  | |||
*[[fall]]  | |||
*[[insertspriteq]]  | |||
*[[killit]]  | |||
*[[movesprite]]  | |||
*[[ssp]]  | |||
*[[clipmove]]  | |||
*[[clipmovenoslide]]  | |||
===Measurements===  | |||
*[[dist]]  | |||
*[[ldist]]  | |||
*[[cansee]]  | |||
*[[canseespr]]  | |||
===Surroundings===  | |||
====Commands====  | |||
*[[hitradius]]  | |||
*[[hitradiusvar]]  | |||
*[[flash]]  | |||
====If====  | |||
*[[ifawayfromwall]]  | |||
*[[ifbulletnear]]  | |||
*[[ifceilingdistl]]  | |||
*[[iffloordistl]]  | |||
*[[ifgapzl]]  | |||
*[[ifsquished]]  | |||
*[[ifnotmoving]]  | |||
*[[ifinwater]]  | |||
*[[ifonwater]]  | |||
*[[ifoutside]]  | |||
*[[ifinspace]]  | |||
*[[ifinouterspace]]  | |||
*[[ifrnd]] <!-- This is here because it really only has a use in actor code. -->  | |||
===Mapping Features===  | |||
*[[mikesnd]]  | |||
*[[respawnhitag]]  | |||
===Player Interaction===  | |||
*[[ifangdiffl]]  | |||
*[[ifcansee]]  | |||
*[[ifcanseetarget]]  | |||
*[[ifcanshoottarget]]  | |||
*[[ifhitspace]]  | |||
*[[getangletotarget]]  | |||
===Spawning===  | |||
*[[spawn]]  | |||
*[[espawn]]  | |||
*[[espawnvar]]  | |||
*[[qspawn]]  | |||
*[[qspawnvar]]  | |||
*[[eqspawn]]  | |||
*[[eqspawnvar]]  | |||
===Materials===  | |||
*[[debris]]  | |||
*[[guts]]  | |||
*[[lotsofglass]]  | |||
*[[mail]]  | |||
*[[money]]  | |||
*[[paper]]  | |||
==Projectiles==  | |||
*[[defineprojectile]]  | |||
*[[shoot]]  | *[[shoot]]  | ||
*[[shootvar]]  | *[[shootvar]]  | ||
| Line 72: | Line 280: | ||
*[[ezshoot]]  | *[[ezshoot]]  | ||
*[[ezshootvar]]  | *[[ezshootvar]]  | ||
===  | ==Player==  | ||
===Commands===  | |||
*[[addammo]]  | *[[addammo]]  | ||
*[[addinventory]]  | *[[addinventory]]  | ||
*[[addweapon]]  | *[[addweapon]]  | ||
*[[addweaponvar]]  | *[[addweaponvar]]  | ||
*[[  | *[[addphealth]]  | ||
*[[  | *[[tossweapon]]  | ||
*[[  | *[[gmaxammo]]  | ||
*[[  | *[[smaxammo]]  | ||
*[[checkavailinven]]  | *[[checkavailinven]]  | ||
*[[checkavailweapon]]  | *[[checkavailweapon]]  | ||
*[[  | *[[addkills]]  | ||
*[[  | *[[lockplayer]]  | ||
*[[  | *[[resetplayer]]  | ||
*[[  | *[[resetplayerflags]]  | ||
===If===  | |||
*[[ifgotweaponce]]  | |||
*[[ifp]]  | |||
*[[ifpdistg]]  | |||
*[[ifpdistl]]  | |||
*[[ifphealthl]]  | |||
*[[  | *[[ifpinventory]]  | ||
*[[  | *[[ifplayersl]]  | ||
*[[  | ==Sectors==  | ||
*[[  | ===Operating===  | ||
*[[  | *[[operate]]  | ||
*[[  | *[[operateactivators]]  | ||
*[[  | *[[operatemasterswitches]]  | ||
*[[operaterespawns]]  | |||
*[[operatesectors]]  | |||
*[[  | *[[activatebysector]]  | ||
*[[  | *[[activate]]  | ||
*[[  | ===Manipulation===  | ||
*[[  | |||
*[[  | |||
*[[  | |||
*[[  | |||
*[[dragpoint]]  | *[[dragpoint]]  | ||
*[[  | *[[movesector]]  | ||
*[[  | *[[sectsetinterpolation]]  | ||
*[[  | *[[sectclearinterpolation]]  | ||
*[[  | |||
*[[  | ===Analysis===  | ||
*[[  | *[[getceilzofslope]]  | ||
*[[  | *[[getflorzofslope]]  | ||
*[[  | *[[getzrange]]  | ||
*[[  | *[[updatesector]]  | ||
*[[  | *[[updatesectorz]]  | ||
*[[  | *[[checkactivatormotion]]  | ||
*[[  | *[[rotatepoint]]  | ||
*[[  | *[[lineintersect]]  | ||
*[[rayintersect]]  | |||
*[[sectorofwall]]  | |||
==Discovery==  | |||
===Searching===  | |||
*[[findnearactor]]  | *[[findnearactor]]  | ||
*[[findnearactor3d]]  | *[[findnearactor3d]]  | ||
| Line 158: | Line 346: | ||
*[[findotherplayer]]  | *[[findotherplayer]]  | ||
*[[findplayer]]  | *[[findplayer]]  | ||
*[[  | *[[neartag]]  | ||
*[[  | *[[hitscan]]  | ||
===Sorting===  | |||
*[[headspritesect]]  | *[[headspritesect]]  | ||
*[[headspritestat]]  | *[[headspritestat]]  | ||
*[[nextspritesect]]  | *[[nextspritesect]]  | ||
*[[nextspritestat]]  | *[[nextspritestat]]  | ||
*[[prevspritesect]]  | *[[prevspritesect]]  | ||
*[[prevspritestat]]  | *[[prevspritestat]]  | ||
*[[  | ==Audio==  | ||
*[[  | ===Sounds===  | ||
*[[  | *[[definesound]]  | ||
*[[  | *[[sound]]  | ||
*[[soundvar]]  | |||
*[[soundonce]]  | |||
*[[soundoncevar]]  | |||
*[[globalsound]]  | |||
*[[globalsoundvar]]  | |||
*[[screensound]]  | |||
*[[stopsound]]  | |||
*[[stopsoundvar]]  | |||
*[[stopactorsound]]  | |||
*[[stopallsounds]]  | |||
*[[ifsound]]  | |||
*[[ifactorsound]]  | |||
*[[ifnosounds]]  | |||
*[[setactorsoundpitch]]  | |||
===Music===  | |||
*[[music]]  | |||
*[[starttrack]]  | |||
*[[starttrackvar]]  | |||
*[[getmusicposition]]  | |||
*[[setmusicposition]]  | |||
==Quotes==  | |||
*[[definequote]]  | |||
*[[redefinequote]]  | |||
*[[quote]]  | |||
*[[userquote]]  | |||
*[[qsprintf]]  | *[[qsprintf]]  | ||
*[[qstrcpy]]  | |||
*[[qstrcat]]  | *[[qstrcat]]  | ||
*[[  | *[[qstrncat]]  | ||
*[[qstrlen]]  | *[[qstrlen]]  | ||
*[[qsubstr]]  | *[[qsubstr]]  | ||
*[[qstrdim]]  | |||
*[[qgetsysstr]]  | |||
*[[getpname]]  | |||
*[[getkeyname]]  | |||
==Cutscenes==  | |||
*[[startcutscene]]  | |||
*[[ifcutscene]]  | |||
==Screen==  | |||
===Screen Manipulation===  | |||
*[[palfrom]]  | |||
*[[guniqhudid]]  | |||
*[[setgamepalette]]  | |||
*[[setaspect]]  | |||
===Player Actions===  | |||
*[[wackplayer]]  | |||
*[[quake]]  | *[[quake]]  | ||
*[[  | *[[pkick]]  | ||
*[[  | *[[pstomp]]  | ||
*[[  | *[[tip]]  | ||
===Screen Drawing===  | |||
*[[rotatesprite]]  | *[[rotatesprite]]  | ||
*[[rotatesprite16]]  | *[[rotatesprite16]]  | ||
*[[rotatespritea]]  | |||
*[[screentext]]  | |||
*[[gametext]]  | |||
*[[gametextz]]  | |||
*[[minitext]]  | |||
*[[digitalnumber]]  | |||
*[[digitalnumberz]]  | |||
*[[showview]]  | |||
*[[showviewunbiased]]  | |||
===Math===  | |||
*[[displayrand]]  | |||
*[[displayrandvar]]  | |||
*[[displayrandvarvar]]  | |||
==Time Access==  | |||
*[[getticks]]  | |||
*[[gettimedate]]  | |||
==Game-Changing==  | |||
*[[activatecheat]]  | |||
*[[startlevel]]  | |||
*[[inittimer]]  | |||
*[[endofgame]]  | |||
*[[endoflevel]]  | |||
*[[cmenu]]  | |||
==Game Saving==  | |||
*[[save]]  | *[[save]]  | ||
*[[  | *[[savenn]]  | ||
===Hub Maps===  | |||
*[[loadmapstate]]  | |||
*[[savemapstate]]  | *[[savemapstate]]  | ||
*[[  | *[[clearmapstate]]  | ||
*[[  | ==Debug==  | ||
*[[  | *[[debug]]  | ||
*[[addlog]]  | |||
*[[addlogvar]]  | |||
*[[echo]]  | |||
==Deprecated==  | |||
*[[betaname]]  | |||
*[[enhanced]]  | |||
*[[eventloadactor]]  | |||
*[[time]]  | |||
*[[shadeto]]  | |||
===Screen Drawing===  | |||
*[[myos]]  | |||
*[[myosx]]  | |||
*[[myospal]]  | |||
*[[myospalx]]  | |||
===Single-Use Structure Access===  | |||
*[[getactorangle]]  | |||
*[[getplayerangle]]  | |||
*[[gettextureceiling]]  | |||
*[[gettexturefloor]]  | |||
*[[sectgethitag]]  | *[[sectgethitag]]  | ||
*[[sectgetlotag]]  | *[[sectgetlotag]]  | ||
*[[  | *[[spgethitag]]  | ||
*[[  | *[[spgetlotag]]  | ||
*[[setactorangle]]  | *[[setactorangle]]  | ||
*[[setplayerangle]]  | *[[setplayerangle]]  | ||
[[Category:  | [[Category:Scripting documentation]]  | ||
Latest revision as of 07:30, 5 July 2025
EDuke32 Scripting
Scripting · Full command list (alphabetized · categorized) · Event list · Structure members
Preprocessor
- include
 - includedefault
 - define
 - // single-line comment
 - /* block comment */
 - whitespace characters: 
( ) ; , 
Meta-Settings
- dynamicremap
 - dynamicsoundremap
 - setcfgname
 - setdefname
 - setgamename
 - precache
 - scriptsize
 - cheatkeys
 - definecheat
 - definegamefuncname
 - definegametype
 - definevolumename
 - definevolumeflags
 - definelevelname
 - defineskillname
 - undefinevolume
 - undefinelevel
 - undefineskill
 
If
Global Settings
Block Delimiting
Object-Oriented
Procedural
Subroutines
Flow Control
If Components
Switch
Termination
Jump
- Note: Jumping commands are deprecated and will not be supported by Lunatic. Use loops instead.
 
Loops
- It is also possible to loop by calling a state from within itself.
 
Game Variables
Gamevar Operators
- setvar
 - setvarvar
 - setarray
 - addvar
 - addvarvar
 - subvar
 - subvarvar
 - mulvar
 - mulvarvar
 - divvar
 - divvarvar
 - modvar
 - modvarvar
 - andvar
 - andvarvar
 - orvar
 - orvarvar
 - xorvar
 - xorvarvar
 - randvar
 - randvarvar
 
Gamevar Conditions
- ifvare
 - ifvarn
 - ifvarg
 - ifvarl
 - ifvarand
 - ifvaror
 - ifvarxor
 - ifvareither
 - ifvarvare
 - ifvarvarn
 - ifvarvarg
 - ifvarvarl
 - ifvarvarand
 - ifvarvaror
 - ifvarvarxor
 - ifvarvareither
 
Math Operations
Array Operations
Data Saving
Structure Access
- getactor
 - getactorvar
 - getinput
 - getplayer
 - getplayervar
 - getprojectile
 - getsector
 - getthisprojectile
 - gettspr
 - getuserdef
 - getwall
 - setactor
 - setactorvar
 - setinput
 - setplayer
 - setplayervar
 - setprojectile
 - setsector
 - setthisprojectile
 - settspr
 - setuserdef
 - setwall
 
Actors
Structures
- cactor
 - action
 - ai
 - move
 - count
 - resetactioncount
 - resetcount
 - cstat
 - cstator
 - clipdist
 - sizeat
 - sizeto
 - strength
 - addstrength
 - spritepal
 - getlastpal
 - sleeptime
 - spriteflags
 - angoff
 - angoffvar
 - changespritesect
 - changespritestat
 - setsprite
 
If
- ifactor
 - ifaction
 - ifactioncount
 - ifai
 - ifcount
 - ifmove
 - ifspawnedby
 - ifspritepal
 - ifstrength
 - ifhitweapon
 - ifwasweapon
 - ifdead
 - ifactornotstayput
 
Commands
Measurements
Surroundings
Commands
If
- ifawayfromwall
 - ifbulletnear
 - ifceilingdistl
 - iffloordistl
 - ifgapzl
 - ifsquished
 - ifnotmoving
 - ifinwater
 - ifonwater
 - ifoutside
 - ifinspace
 - ifinouterspace
 - ifrnd
 
Mapping Features
Player Interaction
Spawning
Materials
Projectiles
Player
Commands
- addammo
 - addinventory
 - addweapon
 - addweaponvar
 - addphealth
 - tossweapon
 - gmaxammo
 - smaxammo
 - checkavailinven
 - checkavailweapon
 - addkills
 - lockplayer
 - resetplayer
 - resetplayerflags
 
If
Sectors
Operating
- operate
 - operateactivators
 - operatemasterswitches
 - operaterespawns
 - operatesectors
 - activatebysector
 - activate
 
Manipulation
Analysis
- getceilzofslope
 - getflorzofslope
 - getzrange
 - updatesector
 - updatesectorz
 - checkactivatormotion
 - rotatepoint
 - lineintersect
 - rayintersect
 - sectorofwall
 
Discovery
Searching
- findnearactor
 - findnearactor3d
 - findnearactor3dvar
 - findnearactorvar
 - findnearactorz
 - findnearactorzvar
 - findnearsprite
 - findnearsprite3d
 - findnearsprite3dvar
 - findnearspritevar
 - findnearspritez
 - findnearspritezvar
 - findotherplayer
 - findplayer
 - neartag
 - hitscan
 
Sorting
Audio
Sounds
- definesound
 - sound
 - soundvar
 - soundonce
 - soundoncevar
 - globalsound
 - globalsoundvar
 - screensound
 - stopsound
 - stopsoundvar
 - stopactorsound
 - stopallsounds
 - ifsound
 - ifactorsound
 - ifnosounds
 - setactorsoundpitch
 
Music
Quotes
- definequote
 - redefinequote
 - quote
 - userquote
 - qsprintf
 - qstrcpy
 - qstrcat
 - qstrncat
 - qstrlen
 - qsubstr
 - qstrdim
 - qgetsysstr
 - getpname
 - getkeyname
 
Cutscenes
Screen
Screen Manipulation
Player Actions
Screen Drawing
- rotatesprite
 - rotatesprite16
 - rotatespritea
 - screentext
 - gametext
 - gametextz
 - minitext
 - digitalnumber
 - digitalnumberz
 - showview
 - showviewunbiased
 
Math
Time Access
Game-Changing
Game Saving
Hub Maps
Debug
Deprecated
Screen Drawing
Single-Use Structure Access
Subcategories
This category has the following 14 subcategories, out of 14 total.
D
- Duke3D 1.3/1.5 commands (110 P)
 
E
- EDuke commands (77 P)
 - EDuke32 specific commands (270 P)
 
G
I
- If conditions (90 P)
 
P
S
- Screen drawing commands (24 P)
 - Sound manipulation (25 P)
 - String manipulation (18 P)