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

From Galactineers
Jump to navigationJump to search
Line 332: Line 332:
 
| $radius || integer || The radius of the circle.
 
| $radius || integer || The radius of the circle.
 
|}
 
|}
 +
  
 
'''Examples:'''
 
'''Examples:'''
Line 339: Line 340:
 
</source>
 
</source>
  
 +
==SetShipOwner()==
 +
Changes the owner of a ship.
 +
 +
<source lang="php">
 +
$MissionContext->SetShipOwner($shipId, $ownerId);
 +
</source>
 +
 +
{| class="wikitable"
 +
|+ Parameters
 +
|-
 +
! Parameter
 +
! Type
 +
! Description
 +
|-
 +
| $shipId|| integer|| The Id of the ship which has been retreived from the ''PlayersShipList'' or via the ''AddShip'' command.
 +
|-
 +
| $ownerId || string|| The player Id of the new owner of the ship. ''X'' for enemy, ''Y'' for neutral, or from the ''PlayersList''
 +
|}
 +
 +
'''Examples:'''
 +
<source lang="php">
 +
$MissionContext->SetShipOwner(1,'X');
 +
$MissionContext->SetShipOwner($myShipId, 'Y');
 +
</source>
  
 
==SetTimer()==
 
==SetTimer()==

Revision as of 18:54, 21 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);

SetShipOwner()

Changes the owner of a ship.

$MissionContext->SetShipOwner($shipId, $ownerId);
Parameters
Parameter Type Description
$shipId integer The Id of the ship which has been retreived from the PlayersShipList or via the AddShip command.
$ownerId string The player Id of the new owner of the ship. X for enemy, Y for neutral, or from the PlayersList

Examples:

$MissionContext->SetShipOwner(1,'X');
$MissionContext->SetShipOwner($myShipId, 'Y');

SetTimer()

Adds or updates a timer. It can count down secretly or be displayed (with a title) to the players.

$MissionContext->SetTimer($timer, $seconds, $display, $timerTexts);
Parameters
Parameter Type Description
$timer string The Id of the timer which can be used for the RemoveTimer or SetTimer (to update it later) commands, and which is passed to the OnTimerExpired event handler.
$seconds integer The remaining seconds on the timer until expiration.
$display boolean Defines if the timer is visible to the players.
$timerTexts array The translated titles of the timer. Mandatory, if $display = true.

Example:

$MissionContext->SetTimer('myTimer', 60, false);
$MissionContext->SetTimer('myTimer', 30, true, array('EN' => 'Remaining time until attack wave', 'DE' => 'Verbleibende Zeit bis Angriffswelle'));