Side Relations: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Lou Montana moved page Side relations to Side Relations: Name standard)
 
(50 intermediate revisions by 12 users not shown)
Line 1: Line 1:
==Sides and Factions==
{{TOC|side}}
The game consists of 8 [[Side]]s: West, East, Civilian, Resistance, sideLogic, Friendly, Enemy or Unknown. You can determine which [[Side]] a unit is on by using the [[side]] command.
{{Feature|arma3|
This page deals with all '''{{arma3}}''' sides, which has more than previous games. See the [[Side]] page to see previous titles' available sides.
Also:
* [[west]] {{=}} [[blufor]]
* [[east]] {{=}} [[opfor]]
* [[resistance]] {{=}} [[independent]]
}}
== Sides Relations ==


Sometimes you may want to use the [[faction]] command. Factions are slightly different to [[Side]]s. A US vehicle driven by a Russian will respond as belonging to the East [[Side]], but the USMC [[faction]].
{{Wiki|extractionScript}}


==Setting relations==
=== Sides Friendship ===
You can set which sides Resistance is friendly to in the mission editor (click on the Intel box). However, it is not possible to change the Resistance side relationship during a game.


Everyone is friendly toward Civilians. This means an armed Civilian will be able to slaughter unfriendly AI troops with impunity.
Helper function: [[BIS_fnc_sideIsFriendly]]


You can use the [[setFriend]] command at the initialisation of a mission to set relations. It is even possible to make Russian and American troops friendly and greet one another on the road.
{| class="wikitable" style="text-align: center"
! ↓ is friendly to →
! [[east]]
! [[west]]
! [[resistance]]
! [[civilian]]
! [[sideAmbientLife]]
! [[sideUnknown]]
! [[sideEnemy]]
! [[sideFriendly]]
! [[sideEmpty]]
! [[sideLogic]]
|-
| [[east]]
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
|-
| [[west]]
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
|-
| [[resistance]]
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
|-
| [[civilian]]
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
|-
| [[sideAmbientLife]]
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
|-
| [[sideUnknown]]
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
|-
| [[sideEnemy]]
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
|-
| [[sideFriendly]]
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
|-
| [[sideEmpty]]
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
|-
| [[sideLogic]]
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
|}


<code>EAST setFriend [WEST, 1];
=== Sides Enmity ===
WEST setFriend [EAST, 1];</code>


==Hostile Civilians==
Helper function: [[BIS_fnc_sideIsEnemy]]
You can arm Civilians by inserting code like the following in their initialisation field:


<code>this addWeapon "Colt1911"; this addMagazine "7Rnd_45ACP_1911"; </code>
{| class="wikitable" style="text-align: center"
! &darr; is enemy to &rarr;
! [[east]]
! [[west]]
! [[resistance]]
! [[civilian]]
! [[sideAmbientLife]]
! [[sideUnknown]]
! [[sideEnemy]]
! [[sideFriendly]]
! [[sideEmpty]]
! [[sideLogic]]
|-
| [[east]]
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
|-
| [[west]]
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
|-
| [[resistance]]
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
|-
| [[civilian]]
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
|-
| [[sideAmbientLife]]
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
|-
| [[sideUnknown]]
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
|-
| [[sideEnemy]]
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
|-
| [[sideFriendly]]
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
|-
| [[sideEmpty]]
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
|-
| [[sideLogic]]
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|checked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
| {{Icon|unchecked}}
|}


===One way hostility===
Armed civilians will automatically shoot at anybody who is not friendly to Resistance. Or alternatively, you can make Civilians hostile to other sides by using the [[setFriend]] command:


<code>civilian setFriend [west , 0]; // Will cause civilians to shoot at West, but not West and Civilians</code>
== Change Relations ==


* You can set which sides [[resistance]] is friendly/enemy to in the mission editor (click on the Intel box).
* Everyone is friendly toward [[civilian]]s. Civilians AI have a total impunity and can kill any enemy without retaliation (same as [[captive]] units).
* You can use the [[setFriend]] command to set relations between any sides (even [[east]] and [[west]]).


<sqf>
// will make east friendly to west and vice versa
east setFriend [west, 1];
west setFriend [east, 1];
</sqf>


=== One Way Hostility ===


You can make other sides hostile to a civilian by making the civilian renegade, but this will mean other civilians too will attack the unit. Run this code on the unit:
Using the [[setCaptive]] command allows you to stop enemy units to fire on the target unit.
<code>this AddRating -10000; // Will cause sides to shoot civilian, but not civilian to shoot back</code>
<sqf>_soldier setCaptive true; // _soldier can shoot at enemy but enemy will not return fire</sqf>


When the rating gets below -2000, the unit's side switches to "ENEMY" and the unit is attacked by everyone.
You can re-activate hostility by canceling captive status.
<sqf>_soldier setCaptive false; // _soldier will be shot at again by enemy units</sqf>


===Two way hostility===
=== Two Way Hostility With Civilians ===
To enable hostility both ways - civilians shooting at a side and the side shooting back, you need to move the civilian unit to a hostile side.


'''Example:'''
To make a civilian a potential target to other sides, you can either:
* make the civilian a renegade by using the [[addRating]] command. This will make him a [[sideEnemy|renegade]], meaning an enemy to everyone including other civilians.
<sqf>_civilian addRating -10000; // this will cause sides to shoot civilian, but not civilian to shoot back - for that, use setFriend</sqf>


To shoot at West, you can make Resistance unfriendly to West and group the civilian unit with Resistance, or you could group them to East side.
{{Feature|informative|The [[sideEnemy|renegade]] rating threshold is ''below'' -2000 (e.g -2001, -5000 etc).}}


# Group your civilians with an East officer of higher rank than the civilians.
* make the civilian [[join]] an enemy group, e.g [[east]]:<sqf>
# put: '''deletevehicle this''' in the officer’s initialisation field (this will cause the officer not to appear)
private _eastGroup = createGroup east;
# When you start the mission, the officer won't be there as he is deleted, but the civvies think they are East, will take over command and follow all waypoints, and fire on anyone on the opposite side
[_civilian] joinSilent _eastGroup;
</sqf>


=== Set in the Editor ===


Causing a civilian unit to change sides during a mission by using the [[joinSilent]] command and joining them to a live officer (using an officer with '''deletevehicle this''' in their init field will not work), will cause the civilian to attack the other side, but the other side will not attack the civilian. Two way hositility must occur using the above method instead.
# Group your civilians with an [[east]] leader
# Delete the [[east]] leader on mission load:
#* Put <sqf inline>deleteVehicle this</sqf> in the officer's initialisation field.
#* Alternatively, set the '''[[Eden Editor: System#Attributes|probability of presence]]''' slider of the officer to '''zero'''.
# On mission start, the [[east]] leader will not be here but the [[civilian]]s will be on the [[east]] side.


The [[side]] command will return the correct side for units grouped with a side officer at the start of a mission, but not for units joined during a mission by means of the [[joinSilent]] command.
 
[[Category: Scripting Topics]]

Latest revision as of 23:38, 25 May 2023

Arma 3
This page deals with all Arma 3 sides, which has more than previous games. See the Side page to see previous titles' available sides.

Also:

Sides Relations

Extraction script can be found on the Biki Export Scripts page.

Sides Friendship

Helper function: BIS_fnc_sideIsFriendly

↓ is friendly to → east west resistance civilian sideAmbientLife sideUnknown sideEnemy sideFriendly sideEmpty sideLogic
east Checked Unchecked Unchecked Checked Unchecked Unchecked Unchecked Checked Unchecked Unchecked
west Unchecked Checked Checked Checked Unchecked Unchecked Unchecked Checked Unchecked Unchecked
resistance Unchecked Checked Checked Checked Unchecked Unchecked Unchecked Checked Unchecked Unchecked
civilian Unchecked Checked Checked Checked Unchecked Unchecked Unchecked Checked Unchecked Unchecked
sideAmbientLife Unchecked Unchecked Unchecked Unchecked Unchecked Unchecked Unchecked Checked Unchecked Unchecked
sideUnknown Unchecked Unchecked Unchecked Unchecked Unchecked Unchecked Unchecked Checked Unchecked Unchecked
sideEnemy Unchecked Unchecked Unchecked Unchecked Unchecked Unchecked Unchecked Checked Unchecked Unchecked
sideFriendly Unchecked Unchecked Unchecked Unchecked Unchecked Unchecked Unchecked Checked Unchecked Unchecked
sideEmpty Unchecked Unchecked Unchecked Unchecked Unchecked Unchecked Unchecked Checked Unchecked Unchecked
sideLogic Checked Checked Checked Checked Unchecked Unchecked Unchecked Checked Unchecked Unchecked

Sides Enmity

Helper function: BIS_fnc_sideIsEnemy

↓ is enemy to → east west resistance civilian sideAmbientLife sideUnknown sideEnemy sideFriendly sideEmpty sideLogic
east Unchecked Checked Checked Unchecked Unchecked Unchecked Checked Unchecked Unchecked Unchecked
west Checked Unchecked Unchecked Unchecked Unchecked Unchecked Checked Unchecked Unchecked Unchecked
resistance Checked Unchecked Unchecked Unchecked Unchecked Unchecked Checked Unchecked Unchecked Unchecked
civilian Checked Unchecked Unchecked Unchecked Unchecked Unchecked Checked Unchecked Unchecked Unchecked
sideAmbientLife Checked Checked Checked Checked Unchecked Unchecked Checked Unchecked Unchecked Unchecked
sideUnknown Checked Checked Checked Checked Unchecked Unchecked Checked Unchecked Unchecked Unchecked
sideEnemy Checked Checked Checked Checked Unchecked Unchecked Checked Unchecked Unchecked Unchecked
sideFriendly Checked Checked Checked Checked Unchecked Unchecked Checked Unchecked Unchecked Unchecked
sideEmpty Checked Checked Checked Checked Unchecked Unchecked Checked Unchecked Unchecked Unchecked
sideLogic Unchecked Unchecked Unchecked Unchecked Unchecked Unchecked Checked Unchecked Unchecked Unchecked


Change Relations

  • You can set which sides resistance is friendly/enemy to in the mission editor (click on the Intel box).
  • Everyone is friendly toward civilians. Civilians AI have a total impunity and can kill any enemy without retaliation (same as captive units).
  • You can use the setFriend command to set relations between any sides (even east and west).

// will make east friendly to west and vice versa east setFriend [west, 1]; west setFriend [east, 1];

One Way Hostility

Using the setCaptive command allows you to stop enemy units to fire on the target unit.

_soldier setCaptive true; // _soldier can shoot at enemy but enemy will not return fire

You can re-activate hostility by canceling captive status.

_soldier setCaptive false; // _soldier will be shot at again by enemy units

Two Way Hostility With Civilians

To make a civilian a potential target to other sides, you can either:

  • make the civilian a renegade by using the addRating command. This will make him a renegade, meaning an enemy to everyone including other civilians.

_civilian addRating -10000; // this will cause sides to shoot civilian, but not civilian to shoot back - for that, use setFriend

The renegade rating threshold is below -2000 (e.g -2001, -5000 etc).

Set in the Editor

  1. Group your civilians with an east leader
  2. Delete the east leader on mission load:
  3. On mission start, the east leader will not be here but the civilians will be on the east side.