Mission Lua API: Difference between revisions

From Off Grid Wiki
Jump to navigation Jump to search
No edit summary
 
(8 intermediate revisions by 3 users not shown)
Line 2: Line 2:
= Mission =
= Mission =
== Description ==
== Description ==
The Mission API controls the flow of the mission, this includes starting and stopping the mission, triggering hints and messages and sending data between varying mission characters
The Mission API controls the flow of the mission, this includes starting and stopping the mission, and dealing with objectives and other mission-related information
== Functions ==
== Functions ==
=== MissionStarted ===
=== CompletedMissionSetup_Always ===
<syntaxhighlight source lang="lua">Mission.MissionStarted()</syntaxhighlight>
<syntaxhighlight source lang="lua">Mission.CompletedMissionSetup_Always()</syntaxhighlight>
'''Description''': This should be called once the initial state of the mission has been set
'''Description''': This should be called at the end of MissionSetup_Always()
It will cause the game to begin gameplay
After it the game will either load last save and start, or execute MissionSetup_NoSave()
 
'''Returns''': Nothing
 
=== CompletedMissionSetup_NoSave ===
<syntaxhighlight source lang="lua">Mission.CompletedMissionSetup_NoSave()</syntaxhighlight>
'''Description''': This should be called at the end of MissionSetup_NoSave()
Call this AFTER all Devices have been connected to their networks. This allows DataPoints to be processed correctly.


'''Returns''': Nothing
'''Returns''': Nothing
Line 24: Line 31:
'''Returns''': Nothing
'''Returns''': Nothing


=== AddCharacter ===
=== SpawnCharacter ===
<syntaxhighlight source lang="lua">Mission.AddCharacter(characterTable)</syntaxhighlight>
<syntaxhighlight source lang="lua">Mission.SpawnCharacter(internalName)</syntaxhighlight>
'''Expected parameter types'''
{| class="wikitable"
|-
! Name !! Type
|-
| characterTable || Lua Table
|}
'''Description''': Register and spawn a chracter in the game
 
'''Returns''': Nothing
 
=== SendMessageToPlayer ===
<syntaxhighlight source lang="lua">Mission.SendMessageToPlayer(sender, message)</syntaxhighlight>
'''Expected parameter types'''
{| class="wikitable"
|-
! Name !! Type
|-
| sender || string
|-
| message || string
|}
'''Description''': Send an SMS with the contents _message_ from ''sender''
 
'''Returns''': Nothing
 
=== AddNetwork ===
<syntaxhighlight source lang="lua">Mission.AddNetwork(networkTable)</syntaxhighlight>
'''Expected parameter types'''
{| class="wikitable"
|-
! Name !! Type
|-
| networkTable || Lua Table
|}
'''Description''': Register a network to the game
 
'''Returns''': Nothing
 
=== ConnectToNetwork ===
<syntaxhighlight source lang="lua">Mission.ConnectToNetwork(connector, targetNetwork, accessKey)</syntaxhighlight>
'''Expected parameter types'''
{| class="wikitable"
|-
! Name !! Type
|-
| connector || Lua Type
|-
| targetNetwork || Lua Type
|-
| accessKey || string
|}
'''Description''': Connect a device to a specified network
 
'''Returns''': Nothing
 
=== SendData ===
<syntaxhighlight source lang="lua">Mission.SendData(sender, receiver, dataTable)</syntaxhighlight>
'''Expected parameter types'''
'''Expected parameter types'''
{| class="wikitable"
{| class="wikitable"
Line 89: Line 38:
! Name !! Type
! Name !! Type
|-
|-
| sender || Lua Type
| internalName || string
|-
| receiver || Lua Type
|-
| dataTable || Lua Table
|}
|}
'''Description''': Send a data file from one device to another
'''Description''': Spawn a registered character in the game
 
'''Returns''': Nothing
 
'''Notes''': Much like _ConnectToNetwork_ both _senderName_ and _receiverName_ can be character names (assuming those characters have net devices)
=== SetNetDeviceNFCData ===
<syntaxhighlight source lang="lua">Mission.SetNetDeviceNFCData(deviceTable, dataTable)</syntaxhighlight>
'''Expected parameter types'''
{| class="wikitable"
|-
! Name !! Type
|-
| deviceTable || Lua Table
|-
| dataTable || Lua Table
|}
'''Description''': Sets NFC data on a mission object
 
'''Returns''': Nothing
 
=== SetNetDeviceNFC ===
<syntaxhighlight source lang="lua">Mission.SetNetDeviceNFC(deviceTable, enabled)</syntaxhighlight>
'''Expected parameter types'''
{| class="wikitable"
|-
! Name !! Type
|-
| deviceTable || Lua Table
|-
| enabled || bool
|}
'''Description''': Set if a mission object supports NFCAddNetDevice
 
'''Returns''': Nothing
 
=== AddNetDevice ===
<syntaxhighlight source lang="lua">Mission.AddNetDevice(deviceTable)</syntaxhighlight>
'''Expected parameter types'''
{| class="wikitable"
|-
! Name !! Type
|-
| deviceTable || Lua Table
|}
'''Description''': Add a network device to the mission that's not hackable but can communicate with other devices
 
'''Returns''': Nothing
 
=== AddHackableDevice ===
<syntaxhighlight source lang="lua">Mission.AddHackableDevice(deviceTable)</syntaxhighlight>
'''Expected parameter types'''
{| class="wikitable"
|-
! Name !! Type
|-
| deviceTable || Lua Table
|}
'''Description''': Add a hackable device to the mission


'''Returns''': Nothing
'''Returns''': Nothing
Line 183: Line 71:


=== StartObjective ===
=== StartObjective ===
<syntaxhighlight source lang="lua">Mission.StartObjective(objectiveTable)</syntaxhighlight>
<syntaxhighlight source lang="lua">Mission.StartObjective(objectiveName)</syntaxhighlight>
'''Expected parameter types'''
'''Expected parameter types'''
{| class="wikitable"
{| class="wikitable"
Line 189: Line 77:
! Name !! Type
! Name !! Type
|-
|-
| objectiveTable || Lua Table
| objectiveName || string
|}
|}
'''Description''': Start the provided objective
'''Description''': Start the provided objective
Line 196: Line 84:


=== CompleteObjective ===
=== CompleteObjective ===
<syntaxhighlight source lang="lua">Mission.CompleteObjective(objectiveTable)</syntaxhighlight>
<syntaxhighlight source lang="lua">Mission.CompleteObjective(objectiveName)</syntaxhighlight>
'''Expected parameter types'''
'''Expected parameter types'''
{| class="wikitable"
{| class="wikitable"
Line 202: Line 90:
! Name !! Type
! Name !! Type
|-
|-
| objectiveTable || Lua Table
| objectiveName || string
|}
|}
'''Description''': Complete the provided objective
'''Description''': Complete the provided objective
Line 208: Line 96:
'''Returns''': Nothing
'''Returns''': Nothing


=== SendNextHint ===
=== GetCurrentObjective ===
<syntaxhighlight source lang="lua">Mission.SendNextHint(objectiveTable)</syntaxhighlight>
<syntaxhighlight source lang="lua">Mission.GetCurrentObjective()</syntaxhighlight>
'''Description''': Get the name of the current objective
 
'''Returns''': string
 
=== TriggerAutoSave ===
<syntaxhighlight source lang="lua">Mission.TriggerAutoSave()</syntaxhighlight>
'''Description''': Triggers an autosave, only if the game is current in a mission
 
'''Returns''': Nothing
 
=== SetMissionObjectInteractionRequirement ===
<syntaxhighlight source lang="lua">Mission.SetMissionObjectInteractionRequirement(name, requirement)</syntaxhighlight>
'''Expected parameter types'''
'''Expected parameter types'''
{| class="wikitable"
{| class="wikitable"
Line 215: Line 115:
! Name !! Type
! Name !! Type
|-
|-
| objectiveTable || Lua Table
| name || string
|-
| requirement || number
|}
|}
'''Description''': Send the next hint in the Objective's hint array
'''Description''': Sets if a MissionObject should request the player to select an item or data file before interaction


'''Returns''': Nothing
'''Returns''': Nothing


=== SendNextMessage ===
=== SetNPCInteractionRequirement ===
<syntaxhighlight source lang="lua">Mission.SendNextMessage(fromCharacter, objectiveTable)</syntaxhighlight>
<syntaxhighlight source lang="lua">Mission.SetNPCInteractionRequirement(name, requirement)</syntaxhighlight>
'''Expected parameter types'''
'''Expected parameter types'''
{| class="wikitable"
{| class="wikitable"
Line 228: Line 130:
! Name !! Type
! Name !! Type
|-
|-
| fromCharacter || Lua Table
| name || string
|-
|-
| objectiveTable || Lua Table
| requirement || number
|}
|}
'''Description''': Send the next message in the Objective's message array from ''fromCharacter''
'''Description''': Sets if a Character should request the player to select an item or data file before interaction


'''Returns''': Nothing
'''Returns''': Nothing


=== GetCurrentObjective ===
'''Notes''': The character must also have OnNPCInteraction function defined in the mission script!
<syntaxhighlight source lang="lua">Mission.GetCurrentObjective()</syntaxhighlight>
'''Description''': Get the name of the current objective


'''Returns''': string
=== SetNPCInteractable ===
 
<syntaxhighlight source lang="lua">Mission.SetNPCInteractable(name, state)</syntaxhighlight>
=== TriggerAutoSave ===
'''Expected parameter types'''
<syntaxhighlight source lang="lua">Mission.TriggerAutoSave()</syntaxhighlight>
{| class="wikitable"
'''Description''': Triggers an autosave, only if the game is current in a mission
|-
! Name !! Type
|-
| name || string
|-
| state || bool
|}
'''Description''': Sets if a Character should be interactable or not at the moment


'''Returns''': Nothing
'''Returns''': Nothing


=== DevicesConnected ===
'''Notes''': The character must also have OnNPCInteraction function defined in the mission script!
<syntaxhighlight source lang="lua">Mission.DevicesConnected()</syntaxhighlight>
'''Description''': Call this AFTER all Devices have been connected to their networks. This allows DataPoints to be processed correctly.
 
'''Returns''': Nothing


=== SetPlayerControlled ===
=== SetPlayerControlled ===
Line 351: Line 254:
'''Returns''': Nothing
'''Returns''': Nothing


=== StartVibrationEvent ===
<syntaxhighlight source lang="lua">Mission.StartVibrationEvent(objectName)</syntaxhighlight>
'''Expected parameter types'''
{| class="wikitable"
|-
! Name !! Type
|-
| objectName || string
|}
'''Description''': Start a mission object vibration event
'''Returns''': Nothing
=== StopVibrationEvent ===
<syntaxhighlight source lang="lua">Mission.StopVibrationEvent(objectName)</syntaxhighlight>
'''Expected parameter types'''
{| class="wikitable"
|-
! Name !! Type
|-
| objectName || string
|}
'''Description''': Stop a mission object vibration event
'''Returns''': Nothing
=== SpawnWanderNPCs ===
<syntaxhighlight source lang="lua">Mission.SpawnWanderNPCs(spawnPoint, spawnNum, characterPrefabs, headProps, colorTextures, metalTextures, gestures)</syntaxhighlight>
'''Expected parameter types'''
{| class="wikitable"
|-
! Name !! Type
|-
| spawnPoint || Lua Type
|-
| spawnNum || number
|-
| characterPrefabs || Lua Type
|-
| headProps || Lua Type
|-
| colorTextures || Lua Type
|-
| metalTextures || Lua Type
|-
| gestures || Lua Type
|}
'''Description''': Spawns various Wander NPCs in a randomized way
'''Returns''': Nothing
'''Notes''': All the parameters, expect the spawnNum, can be a string or a table of strings. For the head props and the the gestures the string "None" can be used to have the possibility to not have any head props and gestures, respectively, in the wander NPCs. Also for the color textures and metal textures the string "Default" can be used for the character's default textures.




This file is auto generated, please don't edit manually!
This file is auto generated, please don't edit manually!


'''Docs last hacked together on''': 15/11/2019 14:59
'''Docs last hacked together on''': 29/08/2023 16:24
[[Category:Modding]][[Category:LuaAPI]]
[[Category:Modding]][[Category:LuaAPI]]

Latest revision as of 11:50, 19 October 2023

Mission

Description

The Mission API controls the flow of the mission, this includes starting and stopping the mission, and dealing with objectives and other mission-related information

Functions

CompletedMissionSetup_Always

Mission.CompletedMissionSetup_Always()

Description: This should be called at the end of MissionSetup_Always() After it the game will either load last save and start, or execute MissionSetup_NoSave()

Returns: Nothing

CompletedMissionSetup_NoSave

Mission.CompletedMissionSetup_NoSave()

Description: This should be called at the end of MissionSetup_NoSave() Call this AFTER all Devices have been connected to their networks. This allows DataPoints to be processed correctly.

Returns: Nothing

MissionCompleted

Mission.MissionCompleted()

Description: This should be called when the final objective of the mission has been completed It will trigger the game to fade to black and return to the main menu

Returns: Nothing

MissionFailed

Mission.MissionFailed()

Description: This function will fail the current mission, as if Joe had been tazed (or similar).

Returns: Nothing

SpawnCharacter

Mission.SpawnCharacter(internalName)

Expected parameter types

Name Type
internalName string

Description: Spawn a registered character in the game

Returns: Nothing

ObjectiveIsActive

Mission.ObjectiveIsActive(objectiveName)

Expected parameter types

Name Type
objectiveName string

Description: Returns true if objective has been started but not completed yet.

Returns: bool

ObjectiveIsCompleted

Mission.ObjectiveIsCompleted(objectiveName)

Expected parameter types

Name Type
objectiveName string

Description: Returns true if objective has been completed.

Returns: bool

StartObjective

Mission.StartObjective(objectiveName)

Expected parameter types

Name Type
objectiveName string

Description: Start the provided objective

Returns: Nothing

CompleteObjective

Mission.CompleteObjective(objectiveName)

Expected parameter types

Name Type
objectiveName string

Description: Complete the provided objective

Returns: Nothing

GetCurrentObjective

Mission.GetCurrentObjective()

Description: Get the name of the current objective

Returns: string

TriggerAutoSave

Mission.TriggerAutoSave()

Description: Triggers an autosave, only if the game is current in a mission

Returns: Nothing

SetMissionObjectInteractionRequirement

Mission.SetMissionObjectInteractionRequirement(name, requirement)

Expected parameter types

Name Type
name string
requirement number

Description: Sets if a MissionObject should request the player to select an item or data file before interaction

Returns: Nothing

SetNPCInteractionRequirement

Mission.SetNPCInteractionRequirement(name, requirement)

Expected parameter types

Name Type
name string
requirement number

Description: Sets if a Character should request the player to select an item or data file before interaction

Returns: Nothing

Notes: The character must also have OnNPCInteraction function defined in the mission script!

SetNPCInteractable

Mission.SetNPCInteractable(name, state)

Expected parameter types

Name Type
name string
state bool

Description: Sets if a Character should be interactable or not at the moment

Returns: Nothing

Notes: The character must also have OnNPCInteraction function defined in the mission script!

SetPlayerControlled

Mission.SetPlayerControlled(tf)

Expected parameter types

Name Type
tf bool

Description: Set whether the player is currently in control (or not). Used for cutscenes, and other things that we haven't thought of yet.

Returns: Nothing

GetBool

Mission.GetBool(key)

Expected parameter types

Name Type
key string

Description: Get a boolean value of a key in mission Lua script. Returns false if key doesn't exist.

Returns: bool

SetBool

Mission.SetBool(key, newBool)

Expected parameter types

Name Type
key string
newBool bool

Description: Sets a boolean value of a key in mission Lua script.

Returns: Nothing

GetString

Mission.GetString(key)

Expected parameter types

Name Type
key string

Description: Get a string value of a key in mission Lua script. Returns empty if key doesn't exist.

Returns: string

SetString

Mission.SetString(key, newString)

Expected parameter types

Name Type
key string
newString string

Description: Sets a string value of a key in mission Lua script.

Returns: Nothing

GetNumber

Mission.GetNumber(key)

Expected parameter types

Name Type
key string

Description: Get a numeric value of a key in mission Lua script. Returns 0 if key doesn't exist.

Returns: number

SetNumber

Mission.SetNumber(key, newValue)

Expected parameter types

Name Type
key string
newValue number

Description: Sets a numeric value of a key in mission Lua script.

Returns: Nothing

StartVibrationEvent

Mission.StartVibrationEvent(objectName)

Expected parameter types

Name Type
objectName string

Description: Start a mission object vibration event

Returns: Nothing

StopVibrationEvent

Mission.StopVibrationEvent(objectName)

Expected parameter types

Name Type
objectName string

Description: Stop a mission object vibration event

Returns: Nothing

SpawnWanderNPCs

Mission.SpawnWanderNPCs(spawnPoint, spawnNum, characterPrefabs, headProps, colorTextures, metalTextures, gestures)

Expected parameter types

Name Type
spawnPoint Lua Type
spawnNum number
characterPrefabs Lua Type
headProps Lua Type
colorTextures Lua Type
metalTextures Lua Type
gestures Lua Type

Description: Spawns various Wander NPCs in a randomized way

Returns: Nothing

Notes: All the parameters, expect the spawnNum, can be a string or a table of strings. For the head props and the the gestures the string "None" can be used to have the possibility to not have any head props and gestures, respectively, in the wander NPCs. Also for the color textures and metal textures the string "Default" can be used for the character's default textures.


This file is auto generated, please don't edit manually!

Docs last hacked together on: 29/08/2023 16:24