ACS: Difference between revisions

From Zandronum Wiki
(Added missing Skulltag functions)
(Renamed GetCurrentMapPosition to GetMapPosition.)
Tag: Source edit
 
(25 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This is an '''incomplete''' list of Zandronum-'''only''' ACS functions and extensions. See {{zdw2|Built-in_ACS_functions|here}} for a list of ZDoom-supported ACS functions. Note that not all of them are supported by Zandronum.
This is a list of Zandronum-'''only''' ACS functions and extensions. See {{zdw2|Built-in_ACS_functions|here}} for a list of ZDoom-supported ACS functions.  


==Features==
For a list of all the ACS functions supported by Zandronum, [[List of ACS functions in Zandronum|click here]].
 
== Features ==
Zandronum supports [[Databases|databases]], powered by [http://sqlite.org/ SQLite].
Zandronum supports [[Databases|databases]], powered by [http://sqlite.org/ SQLite].


==Script Types==
== Script types ==
'''<code>[[EVENT_scripts|EVENT]]</code>''' scripts are executed when specific game events occur.
'''<code>[[EVENT_scripts|EVENT]]</code>''' scripts are executed when specific game events occur.


Line 11: Line 13:
* <code>'''CLIENTSIDE'''</code> scripts client-side and can not be executed by the puke command.
* <code>'''CLIENTSIDE'''</code> scripts client-side and can not be executed by the puke command.
* <code>'''NET CLIENTSIDE'''</code> scripts are client-side and can be executed by the puke command.
* <code>'''NET CLIENTSIDE'''</code> scripts are client-side and can be executed by the puke command.
<br>
In this example, when someone picks up the enemy item it will start this script on the Client side:
Script 1 PICKUP CLIENTSIDE
{
    {{zdoomwiki|Print}}(s:"Someone got the flag!");
}


It is worth reading [[Clientside Scripting]] if you intend on using CLIENTSIDE scripts.
It is worth reading [[Clientside Scripting]] if you intend on using CLIENTSIDE scripts.


==ACS Functions==
==ACS Functions==
* <code>[[AddBot]]</code> {{Devfeature|3.2|alpha}}
* <code>[[AnnouncerSound]]</code>
* <code>[[AnnouncerSound]]</code>
* <code>[[BanFromGame]]</code> {{Devfeature|3.2|alpha}}
* <code>[[BeginDBTransaction]]</code>
* <code>[[BeginDBTransaction]]</code>
* <code>[[ChangeTeamScore]]</code> {{Devfeature|3.2|alpha}}
* <code>[[CloseMenu]]</code> {{Devfeature|3.2|alpha}}
* <code>[[ConsoleCommand]]</code>
* <code>[[ConsoleCommand]]</code>
* <code>[[ConsolePlayerNumber]]</code>
* <code>[[ConsolePlayerNumber]]</code>
* <code>[[CountDBResults]]</code>
* <code>[[CountDBResults]]</code>
* <code>[[EndDBTransaction]]</code>
* <code>[[EndDBTransaction]]</code>
* <code>[[ExecuteClientScript]]</code>
* <code>[[FreeDBResults]]</code>
* <code>[[FreeDBResults]]</code>
* <code>[[GameType]]</code>
* <code>[[GameType]]</code>
* <code>[[GetActorSectorLocation]]</code> {{Devfeature|3.2|alpha}}
* <code>[[GetChatMessage]]</code>
* <code>[[GetCurrentGameMode]]</code>
* <code>[[GetCustomPlayerValue]]</code> {{Devfeature|3.2|alpha}}
* <code>[[GetEventResult]]</code> {{Devfeature|3.2|alpha}}
* <code>[[GetDBEntries]]</code>
* <code>[[GetDBEntries]]</code>
* <code>[[GetDBEntry‎]]</code>
* <code>[[GetDBEntry‎]]</code>
Line 40: Line 45:
* <code>[[GetInvasionState]]</code>
* <code>[[GetInvasionState]]</code>
* <code>[[GetInvasionWave]]</code>
* <code>[[GetInvasionWave]]</code>
* <code>[[GetMapPosition]]</code> {{Devfeature|3.2|alpha}}
* <code>[[GetMapRotationInfo]]</code>
* <code>[[GetMapRotationSize]]</code>
* <code>[[GetPlayerAccountName]]</code>
* <code>[[GetPlayerAccountName]]</code>
* <code>[[GetPlayerChasecam]]</code>
* <code>[[GetPlayerCountry]]</code> {{Devfeature|3.2|alpha}}
* <code>[[GetPlayerJoinQueuePosition]]</code> {{Devfeature|3.2|alpha}}
* <code>[[GetPlayerLivesLeft]]</code>
* <code>[[GetPlayerLivesLeft]]</code>
* <code>[[GetPlayerScore]]</code>
* <code>[[GetPlayerSkin]]</code> {{Devfeature|3.2|alpha}}
* <code>[[GetPlayerStatus]]</code> {{Devfeature|3.2|alpha}}
* <code>[[GetTeamProperty]]</code>
* <code>[[GetTeamProperty]]</code>
* <code>[[GetTimeProperty]]</code>
* <code>[[GetTimeProperty]]</code>
* <code>[[GivePlayerMedal]]</code> {{Devfeature|3.2|alpha}}
* <code>[[IncrementDBEntry]]</code>
* <code>[[IncrementDBEntry]]</code>
* <code>[[IsNetworkGame]]</code>
* <code>[[InDemoMode]]</code>
* <code>[[IsNetworkGame|IsMultiplayer]]</code>
* <code>[[IsOneFlagCTF]]</code>
* <code>[[IsOneFlagCTF]]</code>
* <code>[[KickFromGame]]</code>
* <code>[[KickFromGame]]</code>
* <code>[[LumpOpen]]</code> {{Devfeature|3.2|alpha}}
* <code>[[LumpRead]]</code> {{Devfeature|3.2|alpha}}
* <code>[[LumpReadArray]]</code> {{Devfeature|3.2|alpha}}
* <code>[[LumpReadString]]</code> {{Devfeature|3.2|alpha}}
* <code>[[LumpGetInfo]]</code> {{Devfeature|3.2|alpha}}
* <code>[[LumpClose]]</code> {{Devfeature|3.2|alpha}}
* <code>[[ExecuteClientScript|NamedExecuteClientScript]]</code>
* <code>[[RequestScriptPuke|NamedRequestScriptPuke]]</code>
* <code>[[RequestScriptPuke|NamedRequestScriptPuke]]</code>
* <code>[[Player_GiveItem]]</code>
* <code>[[SendNetworkString|NamedSendNetworkString]]</code>
* <code>[[Player_RemoveItem]]</code>
* <code>[[OpenMenu]]</code> {{Devfeature|3.2|alpha}}
* <code>[[Player_SetTeam]]</code>
* <code>[[Player_SetTeam]]</code>
* <code>[[PlayerArmorpoints]]</code>
* <code>[[PlayerArmorpoints]]</code>
Line 57: Line 80:
* <code>[[PlayerIsSpectator]]</code>
* <code>[[PlayerIsSpectator]]</code>
* <code>[[PlayerTeam]]</code>
* <code>[[PlayerTeam]]</code>
* <code>[[RemoveBot]]</code> {{Devfeature|3.2|alpha}}
* <code>[[RequestScriptPuke]]</code>
* <code>[[RequestScriptPuke]]</code>
* <code>[[ResetCustomDataToDefault]]</code> {{Devfeature|3.2|alpha}}
* <code>[[ResetMap]]</code>
* <code>[[ResetMap]]</code>
* <code>[[SendNetworkString]]</code>
* <code>[[SetActivatorToPlayer]]</code>
* <code>[[SetActivatorToPlayer]]</code>
* <code>[[SetCurrentGameMode]]</code>
* <code>[[SetCustomPlayerValue]]</code> {{Devfeature|3.2|alpha}}
* <code>[[SetDBEntry]]</code>
* <code>[[SetDBEntry]]</code>
* <code>[[SetDBEntryString]]</code>
* <code>[[SetDBEntryString]]</code>
* <code>[[SetDeadSpectator]]</code>
* <code>[[SetDeadSpectator]]</code>
* <code>[[SetGameModeLimit]]</code>
* <code>[[SetGameplaySetting]]</code> {{Devfeature|3.2|alpha}}
* <code>[[SetNextMapPosition]]</code> {{Devfeature|3.2|alpha}}
* <code>[[SetPlayerChasecam]]</code>
* <code>[[SetPlayerClass]]</code>
* <code>[[SetPlayerLivesLeft]]</code>
* <code>[[SetPlayerLivesLeft]]</code>
* <code>[[SetPlayerScore]]</code>
* <code>[[SetPlayerSkin]]</code> {{Devfeature|3.2|alpha}}
* <code>[[SetPlayerWeaponZoomFactor]]</code> {{Devfeature|3.2|alpha}}
* <code>[[SkipJoinQueue]]</code> {{Devfeature|3.2|alpha}}
* <code>[[SortDBEntries]]</code>
* <code>[[SortDBEntries]]</code>
* <code>[[Strftime]]</code>
* <code>[[Strftime]]</code>
Line 69: Line 106:
* <code>[[Team_GivePoints]]</code>
* <code>[[Team_GivePoints]]</code>
* <code>[[Team_Score]]</code>
* <code>[[Team_Score]]</code>
* <code>[[Teleport_NoStop]]</code>


==Deprecated==
== Deprecated ==
These functions are '''deprecated'''. They still work, but will be removed eventually. It is recommended you use more up to date functions.
These functions are '''deprecated'''. They still work, but will be removed eventually. It is recommended you use more up to date functions.


Line 89: Line 125:
* [[Adding New ACS Functions to ACC]]
* [[Adding New ACS Functions to ACC]]


[[Category:Level Development]]
[[Category:ACS]]
[[Category:ACS Functions]]
[[Category:Modding]]
[[Category:Modding]]

Latest revision as of 17:29, 17 November 2024

This is a list of Zandronum-only ACS functions and extensions. See here for a list of ZDoom-supported ACS functions.

For a list of all the ACS functions supported by Zandronum, click here.

Features

Zandronum supports databases, powered by SQLite.

Script types

EVENT scripts are executed when specific game events occur.

There are additional script types that can be appended to regular script types:

  • NET scripts are server-side and can be executed by clients using the puke command.
  • CLIENTSIDE scripts client-side and can not be executed by the puke command.
  • NET CLIENTSIDE scripts are client-side and can be executed by the puke command.

It is worth reading Clientside Scripting if you intend on using CLIENTSIDE scripts.

ACS Functions

Deprecated

These functions are deprecated. They still work, but will be removed eventually. It is recommended you use more up to date functions.

Related Articles