ACS_NamedExecuteAlways

bool ACS_NamedExecuteAlways (string script, int map, int s_arg1, int s_arg2, int s_arg3)
ACS_NamedExecuteAlways (string script, int map, int s_arg1, int s_arg2, int s_arg3)

Usage

Variant of ACS_ExecuteAlways for named scripts.

There is both an ACS and a DECORATE version of this function. Both behave identically.

However, it is not available as an action special: to call named scripts from a a line or thing special, you have to use the non-named variant (ACS_ExecuteAlways) in UDMF, with the arg0str custom argument set to the name of the script this will override the first parameter.

Parameters

  • script: Name of the script to execute
  • map: Map which contains the script
  • s_arg1: First argument passed to the script
  • s_arg2: Second argument passed to the script
  • s_arg3: Third argument passed to the script

Return value

Returns true if the script could be executed successfully, false otherwise. Deferred scripts are always considered successful.

Examples

This example gives a one-time full heal to a player when nearly dead, if the player picked a special item. The item runs the script, while the script monitors players status and activates when players health is reduced to 1.

Decorate Item:

Actor AvoidDeath : CustomInventory
{
  Inventory.MaxAmount 0
  +INVENTORY.AUTOACTIVATE
  States
  {
  Use:
    TNT1 A 0 ACS_NamedExecuteAlways("AvoidDeathScript", 0)
    Stop
  }
}

ACS Script:

script "AvoidDeathScript" (void)
{
  SetPlayerProperty(0, 1, PROP_BUDDHA);  // Sets buddha mode for player
  while(1) // Permanent Loop
  {
    if(GetActorProperty(0, APROP_HEALTH) <= 1) // Checks if the player is wounded enough to heal
    {
      SetPlayerProperty(0, 0, PROP_BUDDHA); // Remove the buddha mode
      GiveInventory("Health", 100);        // and heal the player
      terminate;
    }
    delay(1);
  }
}
Script functions
ACS_ExecuteACS_NamedExecute
ACS_ExecuteWaitACS_NamedExecuteWait
ACS_ExecuteAlwaysACS_NamedExecuteAlways
ACS_ExecuteWithResultACS_NamedExecuteWithResult
ACS_LockedExecuteACS_NamedLockedExecute
ACS_LockedExecuteDoorACS_NamedLockedExecuteDoor
ACS_SuspendACS_NamedSuspend
ACS_TerminateACS_NamedTerminate
ScriptWaitNamedScriptWait
FS_ExecuteUsePuzzleItem
This article is issued from Zdoom. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.