Scripting API
AiParams
Class that handles AI parameters management.
Return | Function Name | Description | Vote |
---|---|---|---|
void | allowBeingTargeted | If enabled, enemies will target this soldier whenever they see him. If disabled, the soldier will be completly ignored by enemies. Toghether with allowCheckForEnemies, this function is helpful to script systems like Civilian or Non combatant medics. | 16 |
void | allowChangePose | When enabled, AI will change pose depending on cover, suppression and other situations. Disable this function if you want to control soldier's pose by custom scripting | 20 |
void | allowCheckForEnemies | When enabled, AI will check for enemies around and target them. When this function is disabled AI will not search and target enemies. Useful for custom AI implementations | 9 |
void | allowDoMedic | When this function is enabled, if a soldier has medic equipments in his inventory he will proceed to heal nearby units | 11 |
void | allowFindCoverWhenSuppressed | When enabled, AI will automatically find cover when suppressed. If you want to move the AI trough custom scripting, you most likely want to disable this feature | 18 |
void | allowFollowOrders | When enabled, AI will automatically follow squad leader orders. If you want to move this specific unit with your custom scripts, for example by using Soldier.moveTo function, most likely you want this to be disabled | 10 |
void | allowGiveOrders | When enabled, AI will automatically give orders to the squad if squad leader. If you want to give orders to a squad with your custom scripts, for example by using Squad.moveTo function, most likely you want this to be disabled | 14 |
void | allowLeaveVehicle | When enabled, AI will leave vehicle when necessary. If you want to control which vehicle the AI should use or force an AI never to leave a vehicle, you might want to disable this feature | 10 |
void | allowMovements | When enabled, AI will perform move commands. if you don't want the AI never to move, not even with moveTo commands, disable this feature | 17 |
void | allowOpenWindows | When enabled, AI will open windows that blocks it's vision, for example when in cover behind a window | 19 |
void | allowRadioOrders | When enabled and if radioman, AI will communicate radio orders requested by squad leader | 14 |
void | enableAiBehaviour | This function enables or disbales all AI functionalities toghether, including: allowChangePose, allowCheckForEnemies, allowFindCoverWhenSuppressed, allowLeaveVehicle, allowMovements, allowOpenWindows, allowOrders and allowRadioOrders | 21 |
void | followCustomDirectCommands | Disable various AI behaviors in order to prepare the soldier to follow direct commands, such as soldier.moveTo() | 15 |
void | followCustomSquadOrders | Normally squad soldiers will automatically give the orders that they cosndier the best according to the situation. This function disables various AI behaviors in order to prepare the soldier to only follow and give custom squad orders via code, such as squad.moveTo() | 15 |
string | getName | Return the name of the vehicle | 19 |
void | setTargetPlanesOften | Enable this feature to force the AI to target planes, if closer than any other spotted enemy | 11 |
Base Functions
These functions are not part of a specific class and can be called from anywhere.
Return | Function Name | Description | Vote |
---|---|---|---|
void | #include | Include an external file into the code of a lua script. Useful to create files with collections of functions to share across different script. Included files must be placed within the folder '[mission folder]/scripts/general/' or any subfolder. The script will be pre-processed and aded to the final code before executing it | 13 |
float | distance | The distance between 2 Vector3 points in meters | 13 |
void | log | Log some text in the F3 console. This helps a lot with testing custom Lua code. press F3 to open the console and visualize the log | 23 |
void | Display a message on the screen | 15 | |
float | round | Round a number to a specific quantity to decimal points | 25 |
void | sleep | Pause the execution of the LUA script for some time. Notice: this is very helpful to give some pause to the CPU, expecially during 'while' and 'for' loops | 24 |
Soldier | spawnHuman | Spawn a new human without specific loadout or rank. Faction Ids can be acquired in the Script Settings menu -> Id tables section | 21 |
Objective | spawnMissionObjective | Spawn a Scriptable Mission Objective on current active phase and it's relative 3D Marker on the current phase. Only the master client can spawn and handle a Mission Objective. A Scriptable Objective doesn't do anything in particular on it's own. The user must make sure to update it's progress value, text, and other parameters on it's own, otherwise it will just act as a 3D Marker. For icon Ids see setIcon. | 13 |
Soldier | spawnSoldier | Spawn an AI soldier. Faction Ids and loadout Ids can be acquired in the Script Settings menu -> Id tables section | 16 |
Soldier | spawnSoldierOnVehicle | Spawn an AI soldier on a vehicle. Faction Ids and loadout Ids can be acquired in the Script Settings menu -> Id tables section | 14 |
Squad | spawnSquad | Spawn an AI squad. Faction Ids and Squad Ids can be acquired in the Script Settings menu -> Id tables section. Can spawn custom squads made with Squad Editor | 11 |
Squad | spawnSquadOnVehicle | Spawn an AI squad inside a given vehicle. Faction Ids and Squad Ids can be acquired in the Script Settings menu -> Id tables section. Vehicle crew squads will automatically fit the seats inside the vehicle. Can spawn custom squads made with Squad Editor | 22 |
Squad | spawnSquadOnVehicle_script | Spawn an AI squad inside a given vehicle, and assign a script to each AI. Faction Ids and Squad Ids can be acquired in the Script Settings menu -> Id tables section. Vehicle crew squads will automatically fit the seats inside the vehicle. Can spawn custom squads made with Squad Editor | 13 |
Squad | spawnSquad_script | Spawn an AI squad and assign a script to each AI. Faction Ids and Squad Ids can be acquired in the Script Settings menu -> Id tables section. Can spawn custom squads made with Squad Editor | 18 |
Vehicle | spawnVehicle | Spawn a vehicle. Vehicle Ids can be acquired in the Script Settings menu -> Id tables section | 16 |
Vehicle | spawnVehicle_camo | Spawn a vehicle with a specified camo. Vehicle Ids can be acquired in the Script Settings menu -> Id tables section | 13 |
Vehicle | spawnVehicle_camo_dest | Spawn a vehicle with a specified camo and give it a destination. For Auto-Transport vehicles, this is where units will be deployed. Vehicle Ids can be acquired in the Script Settings menu -> Id tables section | 16 |
Vehicle | spawnVehicle_dest | Spawn a vehicle and give it a destination. For Auto-Transport vehicles, this is where units will be deployed. Vehicle Ids can be acquired in the Script Settings menu -> Id tables section | 11 |
void | waitForAny | Pause the execution of the script until any of the given conditions are met. | 13 |
void | waitUntil | Pause the execution of the script until one or multiple conditions are met. | 14 |
er2
General utility and helper functions.
Return | Function Name | Description | Vote |
---|---|---|---|
void | addInvadersTickets | Adds tickets to the current invaders faction. | 13 |
vec3 | cameraPosition | Get the world position of the camera | 13 |
void | clearAllRunOnJoin | Clear all buffered requests to run a script locally for joining users | 19 |
integer | countAliveDefenders | Get the count of all the currently alive defenders | 15 |
integer | countAliveInFaction | Get the count of all the currently alive units on a specific faction | 13 |
integer | countAliveInvaders | Get the count of all the currently alive invaders | 20 |
integer | countDeceasedDefenders | Count how many defenders are deceased during the mission | 12 |
integer | countDeceasedInvaders | Count how many invaders are deceased during the mission | 15 |
integer | countLostVehiclesDefenders | Count how many defenders have been captured during the mission | 16 |
integer | countLostVehiclesInvaders | Count how many invaders have been captured during the mission | 11 |
integer | countPrisonersDefenders | Count how many vehicles have been lost by the defenders during the mission | 11 |
integer | countPrisonersInvaders | Count how many vehicles have been lost by the invaders during the mission | 11 |
void | endPrecipitation | Stops the rain or the snow from falling in the map | 11 |
void | explosion | Generates an explosion | 19 |
Soldier | findSoldier | Find a soldier from it's unique Id (network safe). Useful in case you have to reference a specific soldier across different phases or players, based on it's unique Id, for example, passed trough a global variable | 16 |
Soldier | findVehicle | Find a vehicle from it's unique Id (network safe). Useful in case you have to reference a specific vehicle across different phases or players, based on it's unique Id, for example, passed trough a global variable | 14 |
void | getAllObjectives | Get all Mission Objectives in the current phase. | 14 |
void | getAllSoldiers | Get all alive soldiers. Notice: After a new soldier spawns or dies, this function might get a few instant before returning a correctly updated value. | 18 |
void | getAllVehicles | Get all vehicles around the map | 14 |
string | getBattleName | Returns the current battle's name | 28 |
Number | getCurrentPhaseId | Get the Id of the current phases. | 21 |
string | getDefendersFaction | Get the Id for the defenders faction | 16 |
float | getDistanceFromTerrain | Returns the distance between the given position and the terrain. | 10 |
string | getInvadersFaction | Get the Id for the invaders faction | 15 |
integer | getInvadersTicket | Returns the number of tickets left by the invaders | 13 |
string | getMapName | Returns the name of the map of the current battle | 13 |
string | getMyNickname | Get nickname of the local user | 13 |
Objective | getNearestObjective | Get the nearest Mission Objective to a specific location | 13 |
Squad | getNearestSoldier | Get nearest soldier to a specific location | 12 |
Vehicle | getNearestVehicle | Get nearest vehicle from a specific location | 16 |
string | getNickname | Get nickname of an online player | 12 |
Soldier | getPlayer | Find a reference to the Soldier controlled by the player | 21 |
float | getSettingMaxAllies | Get the max allies threshold set during match creation. It is suggested to use this value to measure the amount of AI to spawn according to player preference. This can be used to impact gameplay balancing and performance. | 11 |
float | getSettingMaxAxis | Get the max axis threshold set during match creation. It is suggested to use this value to measure the amount of AI to spawn according to player preference. This can be used to impact gameplay balancing and performance. | 14 |
integer | getSettingMaxPlayersDefenders | Get the max allowed amount of Human Players on the defenders faction. Works only during multiplayer matches | 15 |
integer | getSettingMaxPlayersInvaders | Get the max allowed amount of Human Players on the invaders faction. Works only during multiplayer matches | 18 |
float | getSettingTicketsMultiplier | Get the tickets multipler set during match creation | 16 |
Table | getSoldiersInArea | Get all alive soldiers within a specific radius from a specific position, ordered by the distance from the given position. Notice: After a new soldier spawns or dies, this function might get a few instant before returning a correctly updated value. | 16 |
float | getTerrainHeight | Returns the terrain height from sea level of the given x and z coordinates. | 12 |
void | getVehiclesInArea | Get all vehicles within a specific area | 12 |
bool | isAllied | Check if a given faction Id is part of Allies faction | 18 |
bool | isAxis | Check if a given faction Id is part of Axis faction | 17 |
AiParams | isCivilian | Check if a given faction Id is part of Civilians faction | 15 |
bool | isInsideMainTerrainBounds | Checks if the given position is inside the terrain bounds | 14 |
bool | isMasterClient | Check if current user is master client for online match. In an offline mission, the user is always the master client | 12 |
bool | isOnline | Check if current mission is being played on an online match | 25 |
bool | isSameFaction | Check if two faction Ids are part of the same faction (Allies or Axis) | 10 |
Squad | makeSquad | Create a new empty squad. You can add soldiers to this squad in order to make them react to squad orders | 15 |
bool | nextPhase | Force mission to skip to next phase | 19 |
void | playClip | Play a global Audio Clip (.wav) | 16 |
void | playClip3D | Play a 3D Audio Clip, coming from a specific location and with a maximum hear distance (.wav). Notice: In various occasions, such as host change, a phase script might restart, so make use of set and get to check whenever set to be played in loop forever was already initialized to avoid spawning it multiple times. | 13 |
void | playClipOnRadio | Play a global Audio Clip with a radio distortion effect (.wav) | 14 |
void | playClipOnRadio3D | Play a 3D Audio Clip, coming from a specific location and with a maximum hear distance with a radio distortion effect (.wav) | 16 |
void | playMusic | Plays a music track globally. | 21 |
bool | previousPhase | Force mission to skip to previous phase | 16 |
float | raycast | Casts a ray from an origin toward a direction. Used to test collisions and objects presence. The test is done trough a Unity Raycast. | 15 |
void | require | Equivalent to default Lua require function, but handles the script paths as local misison paths, to ensure easier file referencing and compatibility with Xbox, Nintendo Switch and PlayStation systems. External file must be placed within the folder '[mission folder]/scripts/general/' or any subfolder | 19 |
bool | resetCallback | Unassign a callback by it's Id. | 18 |
void | resetCallbacks | Unassign all global callbacks | 15 |
bool | run | Execute an external file without stopping execution of current scrip. External file must be placed within the folder '[mission folder]/scripts/general/' or any subfolder | 15 |
void | runEveryone | Run a script locally for every player in the match (or just for the user if it's a SinglePlayer match). External file must be placed within the folder '[mission folder]/scripts/general/' or any subfolder | 18 |
void | runEveryoneOnce | Run a script locally for every player in the match making sure it was not executed before (or just for the user if it's a SinglePlayer match). External file must be placed within the folder '[mission folder]/scripts/general/' or any subfolder | 18 |
bool | runOnce | Execute an external file without stopping execution of current scrip, if the external file was never executed before during the mission. External file must be placed within the folder '[mission folder]/scripts/general/' or any subfolder | 16 |
bool | setCallback | register a global callback on a specific event Id. Only a callback can be tied to an event Id, so when this is called again on the same Id, the new callback reference will override previous one. Callback Ids are specified at this page. | 16 |
bool | setPhase | Changes the current phase to the one of index order | 15 |
void | setRaining | Activates the rain on the map. | 16 |
void | setSnowing | Activates the snow on the map. | 14 |
void | setTimeAndWeather | Sets the current time of day of the mission and some weather conditions, like clouds, snow and fog. NOTE: This function it's CPU heavy | 10 |
void | setTimeOfDay | Sets the current time of day of the mission. NOTE: This function is CPU heavy | 19 |
void | setVictoryDefenders | Concludes the mission declaring defenders as winners | 20 |
void | setVictoryInvaders | Concludes the mission declaring invaders as winners | 14 |
void | showObjective | Display a new objective text | 13 |
float | time | Time in seconds since the start of the execution of the game. The value is linear and doesn't take into account pausing, slowing down or speeding up game time | 21 |
float | timeScaled | Scaled time in seconds since the start of the execution of the game. If the game is paused the count of the time doesn't increase. If the game is speeding up or slowing down this variable also increases with a proportional rate | 18 |
bool | triggerCallback | Force the triggering of a callback set trough setCallback | 16 |
global
Functions to manipulate global variables that can be accessed from any script and over the network.
Return | Function Name | Description | Vote |
---|---|---|---|
any | get | Get the value of a stored global variable | 16 |
any | myplayerget | Get the value of a stored global variable by my player. | 19 |
void | myplayerset | Set a global variable for my network player that can be referenced from any script and by any player in the room. If another player sets a variable with the same id, it won't compromise my variable. | 20 |
any | playerget | Get the value of a stored global variable by a specific player. | 21 |
void | set | Set a global variable that can be referenced from any script and by any player in the room | 18 |
Objective
Functions related to mission objective areas and markers.
Return | Function Name | Description | Vote |
---|---|---|---|
bool | canControl | Check if user can change the objective data, such as objective name, completition value, radius, icon and position. Usually this correspond to the Master Client | 27 |
void | complete | Set the conquer progress of the Scripted Mission Objective to 1 (max). Equivalent of Objective.setProgress(1). Just like any other Mission Objective property, it doesn't work with Conquer Area Objective, or any other Vanilla objective type, but only with Scripted Mission Objective spawned with spawnMissionObjective call. Notice: When all the objectives in a Mission Phase are completed (progress = 1) the Next Phase is automatically triggered | 15 |
vec3 | getPosition | Get the world position of the Mission Objective | 15 |
float | getProgress | Get the progress of a Mission Objective. A value equals to 1 means that the Objective have been completed. When all Objectives in a Mission Phase are completed, the match pass automatically to the Next Phase | 19 |
float | getRadius | Get the area radius of the Mission Objective | 13 |
bool | isAttractor | Check if a Mission Objective will attract default AI to fight on the area for at least a faction, or optionally, for a specific one. | 20 |
bool | isCompleted | Check whenever a Mission Objective progress is complete (check if Objective.getProgress >= 1). Notice: When all the Mission Objectives in the current Mission Phase are marked as completed, the Next Phase will automatically be triggered | 19 |
bool | isInside | Check whenever a vec3() position is inside a specific Mission Objective, specifically within it's radius from it's center position | 23 |
bool | isScripted | Check if a Mission Objective is a scriptable one 8Scripted Mission Objective spawned with spawnMissionObjective call), where it is possible to control all the data | 15 |
void | remove | Remove this objective from the current Mission Phase. Just like setting properties, only the master client can call do this operation | 17 |
void | resetIconDefenders | Unset the icon of a Scripted Mission Objective specifically for the defenders faction, making it using the same icon as the attackers. This function impacts network performance during online gameplay, so don't call it too often. When this icon gets unset, the defenders will share the same icon as the attackers, which is assigned with setIcon | 10 |
void | setAttractor | Enable or disable the attractor feature of the Scripted Mission Objective for both factions. When enabled, default AI will try to reach and fight inside the area. Optionally can change the effect for one faction only | 23 |
void | setIcon | Update the icon of a Scripted Mission Objective from the icon Id. This function impacts network performance during online gameplay, so don't call it too often. Possible Ids are: "0": Conquer area icon. "1": Defend area icon. "2": Clear area icon. "3": Destroy AT gun icon. "4": Destroy vehicle icon. "5": Important area icon. | 18 |
void | setIconDefenders | Update the icon of a Scripted Mission Objective from the icon Id, specifically for the defenders faction. This function impacts network performance during online gameplay, so don't call it too often. When this icon gets unset, the defenders will share the same icon as the attackers, which is assigned with setIcon | 15 |
void | setPosition | Update the world position of a Scripted Mission Objective | 15 |
void | setProgress | Set the conquer progress of the Scripted Mission Objective. Just like any other Mission Objective property, it doesn't work with Conquer Area Objective, or any other Vanilla objective type, but only with Scripted Mission Objective spawned with spawnMissionObjective call. Notice: When all the objectives in a Mission Phase are completed (progress = 1) the Next Phase is automatically triggered | 22 |
void | setRadius | Update the area radius of a Scripted Mission Task | 13 |
void | setText | Update the text of a Scripted Mission Objective. The text is displayed when inside the Mission Objective radius. This function impacts network performance during online gameplay, so don't call it too often | 29 |
void | setTextDefenders | Update the text of a Scripted Mission Objective for the Defenders. The text is displayed when inside the Mission Objective radius. If this function is never called, the defenders will see the same text as the invaders. This function impacts network performance during online gameplay, so don't call it too often. | 12 |
Soldier
Functions related to player actions and properties.
Return | Function Name | Description | Vote |
---|---|---|---|
bool | addAmmo | Adds an ammo box to the soldier's invetory | 15 |
bool | addMagazine | Adds a magazine to the soldier's invetory. | 11 |
bool | addNewItem | Adds an item to the soldier's inventory | 17 |
void | alertFor | Puts the soldier in an alert state for a defined time | 17 |
void | applyBleeding | Applies bleed status to the soldier | 20 |
void | boardVehicle | Order the soldier to approach and borar onto the specified vehicle if available. | 16 |
bool | canSwitchSeat | Check if the soldier is ready to switch seat. Usually this happens when a soldier is not busy with enteirng or leaving the vehicle with an animation. | 17 |
void | carryBody | Force the soldier to carry a another incapacitated soldier | 23 |
void | damageSoldier | Apply damage to a soldier | 18 |
void | decreaseStamina | Decreases soldier's stamina | 12 |
void | disableHitByVehicleFor | Disable receiving damage from impacts with vehicles for some time | 13 |
bool | doingMelee | Check if the soldier is doing a melee attack | 17 |
void | executeOrdersRoutine | Executes the routine to process squad orders for the soldier. | 18 |
void | findCover | Finds a cover position near a specified position within a given radius. | 11 |
bool | forceTarget | Force a Soldier to target a specific Soldier or Vehicle. | 20 |
AiParams | getAiParams | Access AI parameters management | 17 |
Soldier | getCarriedBody | Get a reference to the incapacitated soldier carried by this unit | 18 |
string | getClassName | Returns the soldier's class name | 14 |
Vehicle | getCurrentVehicle | Returns the current vehicle the soldier is in | 22 |
float | getDistanceFromGround | Get the distance between the soldier and the ground below | 14 |
vec3 | getFacePosition | Get the world position of soldier's face | 20 |
string | getFaction | Gets the soldier's faction ID | 11 |
vec3 | getFireDirection | Return a vector representing the direction where the gun held by the soldier is pointed to | 18 |
string | getHeadgearId | Returns the current wearing headgear Id | 18 |
float | getHealth | Get the soldier's health | 11 |
vec3 | getMoveDirection | Returns the moving direction of the soldier | 15 |
string | getName | Returns the soldier's full name | 15 |
Soldier | getNearestInjured | Get the nearest wounded soldier around the current one | 13 |
Vehicle | getNearestVehicleToRepair | Returns the nearest vehicle that requires repair from the current soldier | 13 |
void | getOffVehicle | Kicks the soldier from the current vehicle | 14 |
string | getOwnerId | Get Id of the online player controlling this soldier (Including AIs being controlled by his machine). | 16 |
vec3 | getPosition | Get world position of the soldier | 21 |
Squad | getSquad | Get the Squad that the soldier is currently in. Notice: The squad might not be available immediatly after a soldier is spawned, so make sure to wait for it to be ready | 16 |
float | getSuppressionValue | Checks the suppression value of the soldier from the enemy fire. | 12 |
string | getUniformId | Get the Id of the uniform worn by the soldier | 14 |
integer | getUniqueId | Get unique identifier for the unit. This is useful to check if a unit already exist, or to find specific units with findSoldier, especially across the network or between different phases. | 11 |
Vehicle | getVehicleSoldierIsExitingFrom | Get the vehicle the current soldier is exiting from | 15 |
vec3 | getVelocity | Returns the current soldier's velocity | 22 |
string | getVestId | Get the Id of the vest worn by the soldier | 21 |
bool | hasHeadgear | Check if the the soldier is wearing an headgear | 14 |
bool | hasRadio | Check if a soldier is wearing a radio | 15 |
bool | hasVest | Check if a soldier is wearing a vest | 20 |
void | healSoldier | Heals soldier of a certain amount | 22 |
void | incapacitate | Force incapacitate a soldier | 18 |
bool | isAI | Checks if the current soldier is controlled by the AI | 21 |
bool | isAiming | Checks if the current soldier is aiming the gun | 16 |
bool | isAlerted | Check if the soldier has spotted an enemy recently and is moving carefully | 18 |
bool | isAlive | Checks if the current soldier is alive | 18 |
bool | isAllied | Check if current soldier is part of Allies faction | 15 |
bool | isAmmoBoxCarrier | Check if soldier is carrying an ammo box | 15 |
bool | isATSoldier | Returns true if the current soldier is an Anti-Tank unit | 18 |
bool | isAxis | Check if current soldier is part of Axis faction | 13 |
bool | isBleeding | Check if the soldier is bleeding | 27 |
bool | isCarried | Returns true if the current soldier is getting carried | 12 |
bool | isCarryingBody | Check if the current soldier is carrying an incapacitated soldier | 17 |
bool | isCharging | Returns true if the current soldier is charging | 16 |
AiParams | isCivilian | Check if current soldier is part of Civilians faction | 13 |
bool | isCrawling | Returns true if the current soldier is crawling | 23 |
bool | isDead | Check if a soldier is dead | 16 |
bool | isEnteringVehicle | Returns true if the current soldier has started the entering vehicle animation | 18 |
bool | isExitingVehicle | Returns true if the current soldier has started the exiting vehicle animation | 15 |
bool | isFallingFromParachute | Checks if the current soldier is falling with a parachute | 11 |
bool | isFlameThrowerCarrier | Check if a soldier is a flamethrower carrier | 15 |
bool | isFromChargingFaction | Check if the soldier can execute a charge order | 15 |
bool | isGrounded | Returns true if the soldier is on the ground | 17 |
bool | isIncapacitated | Check if a soldier is incapacitated | 17 |
bool | isInsideVehicle | Check if the soldier is inside a vehicle | 14 |
bool | isJumping | Returns true if the current soldier is jumping | 12 |
bool | isMarksman | Returns true if the current soldier is a Marksman | 12 |
bool | isMechanic | Returns true if the current soldier is a mechanic | 24 |
bool | isMedic | Returns true if the current soldier is a medic | 24 |
bool | isMine | Check whenever I have network authority over a soldier | 23 |
bool | isMoving | Returns true if the current soldier is moving | 16 |
bool | isOnCover | Check if a soldier is taking cover | 32 |
bool | isOnFire | Returns true if the current soldier is on fire | 12 |
bool | isOnWater | Check if a soldier is walking inside water | 27 |
bool | isOutOfStamina | Returns true if the current soldier is out of stamina | 15 |
bool | isPlayer | Check if the soldier is a player | 21 |
bool | isPlayerFPS | Returns true if the current soldier is a player and in first person | 17 |
bool | isRadioman | Check if the current soldier is a Radioman | 12 |
bool | isReachingVehicleToMount | Check if a soldier is on his way to mount inside a vehicle | 14 |
bool | isReloading | Returns true if the current soldier is reloading a weapon | 15 |
bool | isRunning | Returns true if the current soldier is running | 17 |
bool | isSameFaction | Check if another soldier is in the same faction of this soldier | 16 |
bool | isSquadLeader | Returns true if the current soldier is the Squad Leader | 19 |
bool | isSquadReady | Check if soldier is in a squad, and the squad is marked as ready to receive orders. Notice: A squad might not be ready immediately after a soldier has spawned, so this can be used to check whenever the soldier is in a squad before getting the squad reference | 11 |
bool | isStealth | Returns true if the soldier is moving stealthly | 14 |
bool | isSuppressed | Checks if the soldier is being suppressed | 14 |
bool | isSurrendering | Check if the soldier is surrendering | 24 |
bool | isTalking | Returns true if the current soldier is talking | 18 |
bool | isThrowing | Returns true if the current soldier is throwing something | 28 |
bool | isTowardWall | Returns true if the current soldier is facing a wall | 18 |
bool | isUsingVehicleTurret | Check if soldier is operating a turret | 14 |
void | jump | Makes the soldier jump. Notice: the jump movement is based on the current soldier velocity and direction. | 14 |
void | killSoldier | Kills the soldier | 22 |
void | leaveVehicle | Commands the soldier to eject from the current vehicle. | 15 |
void | moveTo | Moves the soldier to a specified position using CoverPosition with a new DestinationWithoutCover based on the given position and current pose. | 21 |
Soldier | myself | Can be called within a SoldierBrain script to acquire the soldier controlled by the script | 19 |
void | pauseAlert | Pauses the soldier's alert state. Notice: the difference between this and setnotalerted is that this one just pauses the alert state, while the other one stops | 19 |
void | removeBleeding | Removes bleeding effect from soldier | 17 |
bool | removeItem | Remove one or multiple items from a soldier invenotory | 19 |
bool | resetCallback | Unassign a callback by it's Id on a specific Soldier | 13 |
void | resetCallbacks | Unassign all callbacks on a specific Soldier | 13 |
void | resetPose | Allow the soldier to automatically choose it's pose, canceling setPose command | 20 |
void | say | Makes the soldier say a line based on the VoiceClip Enum | 22 |
void | sayClip | Play a 3D Audio Clip, coming from soldier mouth and with soldier speaking animation (.wav) | 18 |
bool | setBrain | Set script that controls AI. Usually AI will work with "Default" behaviour, which will controls the way AI gives and follows squad orders, however it's possible to define a completly new behaviour by coding a dedicated "brain" LUA file and assign it to the AI with this function | 20 |
bool | setCallback | Register a callback for a specific event Id on a specific Soldier. Only a callback can be tied to an event Id, so when this is called again on the same Id, the new callback reference will override previous one. Callback Ids are specified at this page. | 11 |
void | setInVehicle | Teleport the soldier inside the specified vehicle. | 16 |
void | setNotAlerted | Force concludes the alert state of the soldier | 17 |
void | setOnFire | Sets the current soldier on fire. Notice: The fire does not damage the soldier. | 28 |
void | setPlayer | Force a soldier to be controlled by the player. Notice: This only works for soldiers and AIs that have been spawned (or are controlled) by current player's machine | 15 |
void | setPose | Sets the soldier's pose based on the given integer. The soldier will strictly follow the assigned pose until resetPose is called | 24 |
void | stop | Stops the soldier by resetting the cover position to the current position. | 20 |
void | stopIncapacitate | Stops a soldier from being incapacitated | 18 |
void | stopSurrendering | Cancel soldier surrendering action | 16 |
void | surrender | Force surrender the current soldier | 18 |
bool | triggerCallback | Force the triggering of a callback set trough setCallback on a specific Soldier | 15 |
Squad
Class to handle a Squad controlling multiple Soldiers.
Return | Function Name | Description | Vote |
---|---|---|---|
bool | addSoldier | Add a Soldier to a squad | 12 |
void | alertEnemies | Alert all enemies of the presence of the squad for some time | 10 |
void | attackFromPoint | Orders the squad to attack from the specified waypoint within the given radius. | 20 |
void | boardVehicle | Orders the squad to board the specified vehicle. | 13 |
void | cancelRadioRequest | Cancels any active radio request by the squad. | 15 |
void | charge | Orders the squad to charge towards the specified position within the given radius. | 15 |
void | coverArea | Orders the squad to cover an area defined by a center position and radius. | 14 |
void | fireAtWill | Orders the squad to fire at will, canceling the stealth "hold fire" order, optionally playing an order animation. | 15 |
void | followLeader | Orders the squad to follow their leader, optionally playing an order animation. | 14 |
void | getAllMembers | Get all soldiers inside the squad | 20 |
Soldier | getLeader | Get reference to the Squad Leader | 13 |
Soldier | getMechanic | Get reference to the Squad Mechanic | 16 |
Soldier | getMedic | Get reference to the Squad Medic | 18 |
vec3 | getObjectivePosition | Returns the position of the squad's current objective, or the leader's position if none is set. | 15 |
float | getObjectiveRadius | Returns the radius of the squad's current objective area, or a default value if none exists. | 13 |
Soldier | getRadioman | Get reference to the Squad Radioman | 13 |
bool | hasAliveMembers | Returns whether the squad has any alive members. | 16 |
bool | hasFullySpawned | When using in-game Spawn Manager, spawning a squad can take a few instants. This function can be used to check whenever a squad has fully spawned | 9 |
bool | hasObjective | Returns whether the squad has an assigned objective. | 17 |
void | holdFire | Orders the squad to hold fire and move stealthy, optionally playing an order animation. | 14 |
bool | isPlayerInSquad | Check if Player is inside a squad | 19 |
void | leaveVehicle | Orders the squad to leave the specified vehicle. The force flag determines whether the leave order is forced. | 12 |
void | moveTo | Orders the squad to hold an area at the specified position with the given radius. Make sure that the squad can follow order, and eventually that the squad leader AI has give order feature disabled to avoid squad leader to override your orders | 20 |
bool | removeSoldier | Remove a Soldier from a Squad (Soldier will be put on a new Squad) | 13 |
void | repairVehicle | Orders the squad to repair the specified vehicle. | 15 |
void | setClosestObjective | Orders the squad to set their objective to the closest available one. | 17 |
void | setRandomObjective | Orders the squad to set a random objective. | 13 |
Vehicle
Functions to handle vehicle spawning and behavior.
Return | Function Name | Description | Vote |
---|---|---|---|
void | addNewItemToCargo | Add a new item to the cargo of the vehicle | 18 |
bool | canBeRepaired | Checks if the vehicle can be repaired | 12 |
any | canRecieveDamage | Checks if the vehicle can recieve any form of damage. | 13 |
bool | canRefillAmmo | Checks if is possible to refill ammo for the vehicle | 16 |
bool | canShootInDirection | Checks if someone on the vehicle can shoot in that direction | 12 |
bool | cargoContainsItem | Check if vehicle inventory contains a specific item | 18 |
integer | countEmptySeats | Counts the empty seats in the vehicle | 12 |
integer | countItems | Count how many items with a specific Id are found inside the inventory of the vehicle | 14 |
any | countPeopleInside | Counts all the people inside the vehicle | 16 |
void | damage | Apply damage to the hull of a vehicle | 16 |
void | damageEngine | Damage vehicle engine (if any) | 18 |
void | damageFuelTank | Damage vehicle fuel tank (if any) | 12 |
void | damageTracks | Damage vehicle tracks and/or wheels (if any) | 19 |
void | destroy | Disable the vehicle forever | 16 |
void | dropInfantry | Kicks all the soldier seated in the passenger seats | 18 |
void | emptyAllTurrets | Empties the magazines of all the turrets in the vehicle | 10 |
float | getDamage | Check life amount of a vehicle (hull integrity) | 13 |
Soldier | getDriver | Get reference to the Soldier driving the vehicle | 15 |
float | getEngineDamage | Check life amount of a vehicle engine (engine integrity) | 15 |
string | getFaction | Get faction Id of the vehicle | 17 |
float | getFueltankDamage | Check life amount of vehicle fuel tank | 14 |
Soldier | getGunner | Get reference to a soldier controlling a turret of the vehicle | 10 |
Soldier | getLeader | Get reference of the soldier in the commanding seat of the vehicle | 17 |
Soldier | getPassengers | Get all passengers of the vehicle | 13 |
vec3 | getPosition_vehicle | Get the world position of the vehicle | 15 |
float | getTracksDamage | Check life amount of vehicle tracks/wheels | 16 |
integer | getUniqueId | Get unique identifier for the vehicle. This is useful to check if a vehicle already exist, or to find specific vehicle with findVehicle, especially across the network or between different phases. | 13 |
bool | hasDriver | Checks if the vehicle has a driver | 18 |
bool | isArtilleryVehicle | Checks if the vehicle has any seat to be considered artillery | 11 |
bool | isBraking | Checks if the vehicle is braking | 13 |
bool | isDestroyed | Check if vehicle is fully destroyed | 16 |
bool | isDriverAlive | Checks if there's a driver and is alive | 17 |
bool | isEmpty | Check if vehicle is empty (No units are left inside) | 16 |
bool | isFull | Check if vehicle seats are all occupied | 16 |
bool | isLocked | Check whenever a vehicle can be entered or leaved | 14 |
bool | isMine | Check whenever I have network authority over a vehicle | 26 |
void | kickEveryoneOut | Force everyone to leave the vehicle | 15 |
void | kickUnits | Force specific units to leave the vehicle | 14 |
void | removeItemFromCargo | Remove an item from the cargo of the vehicle | 12 |
void | repair | Set vehicle to fully repaired. Notice: This works only on vehicles that are not fully destroyed | 14 |
bool | resetCallback | Unassign a callback by it's Id on a specific Vehicle | 17 |
void | resetCallbacks | Unassign all callbacks on a specific Vehicle | 14 |
bool | setCallback | Register a callback for a specific event Id on a specific Vehicle. Only a callback can be tied to an event Id, so when this is called again on the same Id, the new callback reference will override previous one. Callback Ids are specified at this page. | 17 |
bool | triggerCallback | Force the triggering of a callback set trough setCallback on a specific Vehicle | 10 |