ACS built-in functions: Difference between revisions
From Eternity Wiki
Jump to navigationJump to search
No edit summary |
(→Things: Made link) |
||
Line 49: | Line 49: | ||
:*ACTOR_WORLD (1): TID is 0 but activator isn't a thing | :*ACTOR_WORLD (1): TID is 0 but activator isn't a thing | ||
*[[GetActorProperty]] | *[[GetActorProperty]] | ||
* | *[[IsTIDUsed]] | ||
*void SectorDamage (int tag, int amount, str type, str protection_item, int flags) | *void SectorDamage (int tag, int amount, str type, str protection_item, int flags) | ||
*int SetActivator (int tid[, pointer_selector]) | *int SetActivator (int tid[, pointer_selector]) |
Revision as of 06:03, 25 November 2018
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.
- CheckActorProperty
- int ClassifyActor(int tid)
- 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)