ACS built-in functions

From Eternity Wiki
Revision as of 06:03, 25 November 2018 by 109.98.154.24 (talk) (→‎Things: Made link)
Jump to navigationJump to search

These ACS functions are imported from ZDoom.

Special TID info

For functions affecting things, some TIDs (thing tags) carry special meaning. TID 0 means the activator, and TIDs -1 ... -4 mean each of the four players in the game -- this in an Eternity extension

Sound and music

  • void ActivatorSound(str sound, int volume)
Starts a sound from script's activator, at the given volume. If there's no activating thing, the sound will be ambient.
  • void AmbientSound(str sound, int volume)
Starts an ambient sound.
  • void LocalAmbientSound(str sound, str volume)
Starts an ambient sound that can only be heard by the activator, normally a player.
  • void PlaySound (int tid, str sound [, int channel [, fixed volume [, bool looping [, fixed attenuation]]]])
  • void PlayActorSound (int tid, int sound, int channel, fixed volume, bool looping, fixed attenuation)
  • void SectorSound(str sound, int volume);
  • void SetMusic (str song [, int order [, int unused]])
  • void LocalSetMusic (str song [, int order [, int unused]])
  • void SoundSequence (str sndseq);
  • void SoundSequenceOnActor (int tid, str sndseq);
  • void StopSound (int tid, int channel);
  • void ThingSound (int tid, str sound, int volume);

Sectors

  • void ChangeCeiling(int tag, str flatname)
Changes the ceiling texture of tagged sectors to flatname.
  • void ChangeFloor(int tag, str flatname)
Changes the floor texture of tagged sectors to flatname.
  • fixed GetSectorCeilingZ (int tag, int x, int y)
Gets sector ceiling height. Currently x and y are reserved for the time Eternity gets working slope physics.
  • fixed GetSectorFloorZ (int tag, int x, int y)
Gets sector floor height. Currently x and y are reserved for the time Eternity gets working slope physics.
  • int GetSectorLightLevel (int tag)

Things

  • bool CheckSight(int source, int dest, int flags)
Returns true if there's a line of sight between at least one thing tagged as source and one thing tagged as dest. Currently flags is reserved and must be 0.
  • bool CheckFlag(int tid, str flag)
Returns true if the first thing with the given tid has the given flag enabled.
  • bool CheckActorClass(int tid, str class)
Returns true if the first thing with the given tid is of the given class.
Checks the kind of thing tagged tid. It returns a set of flags, possibly combined:
  • ACTOR_PLAYER (2): it's player-controlled
  • ACTOR_VOODOODOLL (8): it's a duplicate player start, not controlled by the player but still linked to it. Used in Boom maps for advanced mapping tricks
  • ACTOR_MONSTER (16): it's a monster (has COUNTKILL or KILLABLE thing type flag set)
  • ACTOR_MISSILE (128): it's a projectile in flight (has MISSILE thing type flag set)
  • ACTOR_GENERIC (256): neither a monster, nor a projectile
  • ACTOR_ALIVE (32): has positive health
  • ACTOR_DEAD (64): has health <= 0
  • ACTOR_NONE (0): no thing found with this TID
  • ACTOR_WORLD (1): TID is 0 but activator isn't a thing
  • GetActorProperty
  • IsTIDUsed
  • void SectorDamage (int tag, int amount, str type, str protection_item, int flags)
  • int SetActivator (int tid[, pointer_selector])
  • bool SetActivatorToTarget (int tid)
  • void SetActorAngle (int tid, fixed angle)
  • bool SetActorVelocity (int tid, fixed velx, fixed vely, fixed velz, bool add, bool setbob)
  • void SetActorPitch (int tid, int pitch)
  • bool SetActorPosition (int tid, fixed x, fixed y, fixed z, bool fog)
  • void SetThingSpecial (int tid, int special [, int arg0 [, int arg1 [, int arg2 [, int arg3 [, int arg4]]]]])
  • int SetActorState(int tid, str statename[, bool exact]);
  • SetActorProperty
  • int Spawn (str classname, fixed x, fixed y, fixed z [, int tid [, int angle]])
  • int SpawnForced (str classname, fixed x, fixed y, fixed z [, int tid [, int angle]])
  • void SpawnProjectile (int tid, string type, int angle, int speed, int vspeed, int gravity, int newtid);
  • int SpawnSpot (str classname, int spottid [, int tid [, int angle]])
  • int SpawnSpotForced (str classname, int spottid [, int tid [, int angle]])
  • int SpawnSpotFacing (str classname, int spottid [, int tid])
  • int SpawnSpotFacingForced (str classname, int spottid [, int tid])
  • int ThingCount (int type, int tid)
  • int ThingCountName (str classname, int tid)
  • int ThingCountSector (int type, int tid, int tag)
  • int ThingCountNameSector (str classname, int tid, int tag)
  • int Thing_Damage2 (int tid, int amount, str type);
  • void Thing_Projectile2 (int tid, int type, int angle, int speed, int vspeed, int gravity, int newtid)
  • int UniqueTID ([int tid[, int limit]])

Linedefs and sidedefs

  • GetLineX
  • GetLineY
  • LineSide
  • void ReplaceTextures (str oldtexturename, str newtexturename [, int flags])
  • void SetLineSpecial (int lineid, int special [, int arg0 [, int arg1 [, int arg2 [, int arg3 [, int arg4]]]]])
  • void SetLineTexture(int lineid, int line_side, int sidedef_texture, str texturename);

Sky

  • void SetSkyScrollSpeed (int sky, fixed skyspeed);

Scripts

  • bool ACS_NamedExecuteAlways(str script, int map, int arg1, int arg2, int arg3)
  • Executes a named script, starting a new instance if one already exists. Returns true if successfully started.
  • bool ACS_NamedExecute(str script, int map, int arg1, int arg2, int arg3)
  • Executes a named script. Returns true if successfully started.
  • int ACS_NamedExecuteWithResult (string script, int s_arg1, int s_arg2, int s_arg3, int s_arg4)
  • bool ACS_NamedSuspend (string script, int map)
  • bool ACS_NamedTerminate (string script, int map)

Console

  • int GetCVar (str cvar)
  • string GetCVarString (str cvar)
  • int GetPlayerInput (int player, int input)

Polyobjects

  • fixed GetPolyobjX (int po)
  • fixed GetPolyobjY (int po)

Quake

  • void Radius_Quake2 (int tid, int intensity, int duration, int damrad, int tremrad, str sound)

Math

  • int Random (int min, int max)
  • int Sqrt (int number)
  • fixed FixedSqrt (fixed number)
  • int VectorLength (int x, int y)

Strings

  • str StrLeft (str string, int length)
  • str StrMid (str string, int start, int length)
  • str StrRight (str string, int length)

Level state