Difference between revisions of "Modding:PVEMissions:mission.php:MissionContextCommands"

From Galactineers
Jump to navigationJump to search
Line 309: Line 309:
  
 
==SetRegion()==
 
==SetRegion()==
Defines a region on the map. This function has an overload for two region types:
+
Defines a region on the map. A region can be used for a ''in-region trigger'' or ''outside-region trigger'', or to add/remove obstacles. This function has an overload for two region types:
 +
<source lang="php">
 +
$MissionContext->SetRegion($regionId, $topLeftCoordinates, $size); //Rectangle
 +
$MissionContext->SetRegion($regionId, $centerCoordinates, $radius); //Circle
 +
</source>
  
 +
{| class="wikitable"
 +
|+ Parameters
 +
|-
 +
! Parameter
 +
! Type
 +
! Description
 +
|-
 +
| $regionId || string || The Id of the region which can be used for the ''AddRegionTrigger'' or ''AddOutsideRegionTrigger'' commands.
 +
|-
 +
| $topLeftCoordinates || array || The x and z coordinates of the top left corner of the rectangle.
 +
|-
 +
| $size || array || The width and height of the rectangle.
 +
|-
 +
| $centerCoordinates || array || The x and z coordinates of the center of the circle.
 +
|-
 +
| $radius || integer || The radius of the circle.
 +
|}
  
 +
'''Examples:'''
 +
<source lang="php">
 +
$MissionContext->SetRegion('myRectangle, array(10, 12), array(5, 5));
 +
$MissionContext->SetRegion('myCircle', array(10, 12), 4);
 +
</source>
  
 
[[Category:Modding:PVEMissions:mission.php]]
 
[[Category:Modding:PVEMissions:mission.php]]

Revision as of 19:25, 15 March 2016

AddInRegionTrigger()

This command adds a trigger for when a ship is inside a certain region. The function call like this:

$MissionContext->AddInRegionTrigger($triggerId, $regionId, $shipId)
Parameters
Parameter Type Description
$triggerId string The Id which is passed in the OnTrigger event handler and can be used in the RemoveTrigger command.
$regionId string The Id of a region that has been defined with the SetRegion command before.
$shipId integer The Id of a ship

Example:

$MissionContext->SetRegion('myCircle', array(10, 12), 7);
$MissionContext->AddInRegionTrigger('myTrigger', 'myCircle', 17);


AddOutsideRegionTrigger()

This command adds a trigger for when a ship is not inside a certain region. The function signature and parameters are identical to the AddInRegionTrigger command:

$MissionContext->AddOutsideRegionTrigger($triggerId, $regionId, $shipId)


AddShip()

This command adds a new ship to the map. The function call looks like this:

$shipId = $MissionContext->AddShip($definitionId, $coordinates, $rotation, $owner)
Parameters
Parameter Type Description
$definitionId string The Id of the <ShipDefinition> from the shipdefinitions.xml.
$coordinates array The x and z coordinates where to spawn the ship.
$rotation integer The rotation (in degrees) of the ship.
$owner string The PlayerId of the ship owner. 'X' for enemies, 'Y' for allies, the playerId from the $MissionContext->PlayerList property for a player.
Return Value
Type Description
int The Id of the ship on the map for use in MoveShip command or OnShipKilled trigger for example.

Examples:

$shipId = $MissionContext->AddShip('PirateProbe', array(10, 12), 0, 'X');
$playerId = $MissionContext->PlayersList[0];
$shipId2 = $MissionContext->AddShip('Rosinante', array(6, -7), 45, $playerId);


MoveShip()

This command moves an existing ship to the target coordinates.

$MissionContext->MoveShip($shipId, $coordinates)

| class="wikitable" |+ Parameters |- ! Parameter ! Type ! Description |- | $shipId || integer || The Id of the ship received from the AddShip command or from the $MissionContext->PlayerShipList or $MissionContext->EnemyShipList properties. |- | $coordinates || array || The x and z coordinates where to move the ship. |}

Example:

$rosinante = $MissionContext->AddShip('Rosinante', array(6, -7), 45, '4711');  
$MissionContext->MoveShip($rosinante);


RemoveCounter()

Removes an existing counter from the UI of the players.

$MissionContext->RemoveCounter($counterId)
Parameters
Parameter Type Description
$counterId string The Id of the counter used when creating the counter with the SetCounter command.

Example:

$MissionContext->SetCounter('myCounter', 12, array('EN' => 'This counter has the value 12.));
$MissionContext->RemoveCounter('myCounter');


RemoveMissionObjective()

Removes an existing mission objective from the UI of the players.

$MissionContext->RemoveMissionObjective($objectiveId)
Parameters
Parameter Type Description
$objectiveId string The Id of the objective used when creating the objective with the SetMissionObjective command.

Example:

$MissionContext->SetMissionObjective('myObjective', array('EN' => 'This is an objective'));
$MissionContext->RemoveMissionObjective('myObjective');


RemoveTimer()

Removes an existing timer, and prevents its expiration.

$MissionContext->RemoveTimer($timerId)
Parameters
Parameter Type Description
$timerId string The Id of the timer used when creating the timer with the SetTimer command.

Example:

$MissionContext->SetTimer('myTimer', 12, true, array('EN' => 'This is a visible timer.'));
$MissionContext->RemoveTimer('myTimer');


RemoveTrigger()

Removes an existing trigger and prevents it from being triggered.

$MissionContext->RemoveTrigger($triggerId)
Parameters
Parameter Type Description
$trigger string The Id of the trigger used when creating the trigger with the AddInRegionTrigger or AddOutsideRegionTrigger command.

Example:

$MissionContext->AddInRegionTrigger('myTrigger', 'myCircle', 18);
$MissionContext->RemoveTrigger('myTrigger');


SendSystemMessage()

Sends an orange system chat message to all players.

$MissionContext->SendSystemMessage($messages)
Parameters
Parameter Type Description
$messages array The array of translated messages.

Example:

$MissionContext->SendSystemMessage(array('EN' => 'This is a message', 'DE' => 'Dies ist eine Nachricht'));


SetCounter()

Adds or updates a counter visible to all players.

$MissionContext->SetCounter($counterId, $value, $counterTexts)
Parameters
Parameter Type Description
$counterId string The Id which can be used to call RemoveCounter or SetCounter (in order to update it again) later.
$value integer The (new) value of the counter.
$counterTexts array The array of translated counter descriptions

Example:

$MissionContext->SetCounter('enemyCounter', 20, array('EN' => 'Remaining enemies', 'DE' => 'Verbleibende Feinde.')); //Create
$MissionContext->SetCounter('enemyCounter', $MissionContext->EnemiesShipList->Count, array('EN' => 'Remaining enemies', 'DE' => 'Verbleibende Feinde.')); //Update


SetMissionObjective()

Adds or updates a mission objective visible to all players.

$MissionContext->SetCounter($objectiveId, $objectiveTexts)
Parameters
Parameter Type Description
$objectiveId string The Id which can be used to call RemoveMissionObjective or SetMissionObjective (in order to update it again) later.
$objectiveTexts array The array of translated objective texts.

Example:

$MissionContext->SetMissionObjective('killEnemies', array('EN' => 'Kill the first three enemies', 'DE' => 'Zerstöre die ersten drei Feinde.')); //Create
$MissionContext->SetMissionObjective('killEnemies', array('EN' => 'Kill all remaining enemies', 'DE' => 'Zerstöre alle verbleibenden Feinde.')); //Update


SetMissionFailed()

Ends the mission with a fail.

$MissionContext->SetMissionFailed($loseTexts)
Parameters
Parameter Type Description
$loseTexts array The array of translated texts why the mission was lost.

Example:

$MissionContext->SetMissionFailed(array('EN' => 'The timer has expired.', 'DE' => 'Die Zeit ist abgelaufen.'));


SetMissionSuccessful()

Ends the mission with a win. Will trigger the loot distribution.

$MissionContext->SetMissionSuccessful($winTexts)
Parameters
Parameter Type Description
$winTexts array The array of translated texts why the mission was won.

Example:

$MissionContext->SetMissionSuccessful(array('EN' => 'All enemies have been defeated.', 'DE' => 'Alle Feinde wurden zerstört.'));


SetRegion()

Defines a region on the map. A region can be used for a in-region trigger or outside-region trigger, or to add/remove obstacles. This function has an overload for two region types:

$MissionContext->SetRegion($regionId, $topLeftCoordinates, $size); //Rectangle
$MissionContext->SetRegion($regionId, $centerCoordinates, $radius); //Circle
Parameters
Parameter Type Description
$regionId string The Id of the region which can be used for the AddRegionTrigger or AddOutsideRegionTrigger commands.
$topLeftCoordinates array The x and z coordinates of the top left corner of the rectangle.
$size array The width and height of the rectangle.
$centerCoordinates array The x and z coordinates of the center of the circle.
$radius integer The radius of the circle.

Examples:

$MissionContext->SetRegion('myRectangle, array(10, 12), array(5, 5));
$MissionContext->SetRegion('myCircle', array(10, 12), 4);