Category:Lua Commands

From Fortress Forever Wiki
Revision as of 18:32, 10 July 2009 by Crazycarl (talk | contribs)
Jump to navigationJump to search


Mapping for FF
The Basics

Setting up Hammer
Getting Started With Lua
Releasing a map

FF-specific Entities

Lua location system

Map Templates
FF Lua Documentation

Entity Typing
Entity Collections

Commands
Callbacks

LUA commands that are specific for Fortress Forever. This list is incomplete and will be replaced eventually, and everything put into categories.

Casting Commands

These functions cast game objects into different data types. See Lua:Entity_typing

LUA Command Description
CastToBeam( ent_id ) tries to cast the entity to a beam (to see if whatever triggered the event was a laser beam, a la SD2). If it fails, it returns null.
CastToPlayer( ent_id ) used to cast the passed in entity to a player, often used for touch commands.
CastToInfoScript( ent_id )
CastToTriggerScript( ent_id )
CastToTriggerClip( ent_id )
CastToGrenade( ent_id )
CastToDispenser( ent_id )
CastToSentrygun( ent_id )
CastToDetpack( ent_id )

Entity Checks

These commands are used to check if a passed in entity is a game entity of a specific type

LUA Command Description
IsPlayer( ent_id ) used to see if a passed in entity is a player to before actions are performed on said player.
IsDispenser( ent_id )
IsSentrygun( ent_id )
IsDetpack( ent_id )
IsGrenade( ent_id )
IsTurret( ent_id )

Player messaging and sounds

these are used to send text messages and sounds to players.

LUA Command Description
BroadCastMessage( message ) broadcasts a given message to all players.
BroadCastMessageToPlayer( player, message ) broadcasts message to one player.
SmartTeamMessage
Smartmessage
BroadCastSound( sound )
BroadCastSoundToPlayer( player, sound )
SmartSound
SmartTeamSound
SpeakAll
SpeakPlayer
SpeakTeam


Schedules

Schedules are a way to delay the effects of a script for a specific length of time.

LUA Command Description
AddSchedule("name", time, function[, param1 ... param4]) Schedules function to go off with (time) second delay. Optional parameters are applied to the function.
AddScheduleRepeating("name", time, function[, param1 ... param4]) Adds a schedule that repeats (function) constantly every (time) seconds.
AddScheduleRepeatingNotInfinitely("name", time, function, counts[, param1 ... param4]) Adds a schedule that repeats (function) (counts) times every (time) seconds.
DeleteSchedule( schedulename ) deletes an existing schedule.
RemoveSchedule( schedulename ) same as delete.

HUD Items

Through Lua, a map can display information on a player's screen.

LUA Command Description
AddHudIcon( player, HudIconType, NameOfHudIcon, X, Y, Width, Height, Align ) adds HUD icon to given player of given type. Name is generally taken from the flag entity to apply the right kind. X, Y, W, H, and A are all standard.
AddHudIconToAll( HudIconType, NameOfHudUcon, X, Y, W, H, A ) adds HUD icon to all players like those used for flag info.
AddHudText
AddHudTextToAll
AddHudTimer
AddHudTimerToAll
RemoveHudItem
RemoveHudItemFromAll

Other Commands

other misc commands not lumped into any group as of yet.

LUA Command Description
ConsoleToAll( message ) sends a message to server console. Inaccurately named--players will not see this.
GetConvar( cvar ) checks the value of a console variable (cvar)
GetEntity( index ) gets an entity by its index.
GetEntityByName( name ) obvious?
GetInfoScriptById( id ) gets an info_ff_script's information by its id.
GetInfoScriptByName( name ) obvious?
GetGrenade() ??
GetPacketloss( playerentity ) gets a player's packet loss. Woo?
GetPing( playerentity )
GetPlayer( playerentity )
GetPlayerByID( id )
GetServerTime()
GetSteamID( playerentity )
GetTeam( playerentity )
GetTriggerScriptByName( name )
GoToIntermission( ) ???
IncludeScript( luafile ) used to include Lua files found in /includes/ such as base_teamplay or base_ctf.
ApplyToAll( effect )
ApplyToTeam( effect, team )
ApplyToPlayer( effect, player )
AreTeamsAllied( team1, team2 ) obvious?
KillAndRespawnAllPlayers() obvious!
NumPlayers() gets the number of players.
OutputEvent( event, ent_id[, param1, param2, etc.] ) tells an entity to fire the given output.
OutputEvent , void * const char* , const char* , const char* , float , unsigned int &FFLib::FireOutput
PrecacheModel( modelfile ) loads a given model into memory for use later.
PrecacheSound( soundfile ) as above.
PrintBool , &FFLib::PrintBool
RandomFloat( min, max ) generates a random float.
RandomInt( min, max ) generates a random integer
RemoveEntity( ent_id ) removes entity.
RespawnAllPlayers( ) respawns everyone.
ResetMap() resets map.
SetGlobalRespawnDelay( time ) enforces a respawn delay.
SetPlayerLimit( team , # ) used to set player limit per team.
SetPlayerLimits( #, # )
SmartClassLimits( team, #scout, #sniper, #soldier, #demoman, #medic, #hwguy, #pyro, #spy, #engineer, #civilian ) sets smart class limits instead of using individual commands.
SetConvar( player, var, value ) sets a players cvar to set value
SetTeamAllies( team , bits ) used to ally one team to another.
SetTeamClassLimit( team, class, limit )
SetTeamName( team, name )
SetTeamPlayerLimit( team, limit )
SetTeamPlayerLimit( team, limit )