R3vo/Sandbox1 – User

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
m (Blanked the page)
Tag: Blanking
 
(122 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{TOC|side}}
Arma 3 comes with a variety of shooting targets. Most of these targets come with a somewhat hidden functionality.


= Changing pop-up-behaviour =
The pop-up-behaviour can be changed by setting the variable {{ic|noPop}} in missionNamespace
  missionNamespace [[setVariable]] ["noPop", [[true]]]; {{cc|Will prevent the targets from popping up again once they were hit}}
  missionNamespace [[setVariable]] ["noPop", [[false]]]; {{cc|Targets will pop up normally again after they were hit}}
= Animating the targets =
All of the above listed targets have an animation source called <tt>terc</tt>. This can be used to change the angle of the target.
Let's say we have a pop up target place in the editor with the name <tt>popUpTarget</tt>:
  popUpTarget [[animateSource]] ["terc", 0.5]; {{cc|Target will have an angle of 45°}}
  popUpTarget [[animateSource]] ["terc", 1]; {{cc|Target will have an angle of 180°}}
  popUpTarget [[animateSource]] ["terc", 0]; {{cc|Target will have an angle of 90° e.g. the target will stand up straight}}
{{Feature|Informative|'''Random Fact:''' "terc" is Czech and means Object.}}
= Example mission with "noPop" and "terc" =
1. Open a new mission in [[Eden Editor]] and save it.</br>
2. Place three pop-up targets. Make sure they are compatible. See {{HashLink|{{PAGENAME}}#Targets}}.</br>
3. Name the pop-up targets {{ic|target_0}}, {{ic|target_1}}, {{ic|target_2}}.</br>
4. Place any object you would like to use to control the targets' states and name it {{ic|flag_control_targets}}.</br>
5. Navigate to ''Menu Strip'' → ''Scenario'' → ''Open Scenario Folder''.</br>
6. In that folder create a file called {{ic|initPlayerLocal.sqf}}. See [[Event Scripts]] for more information.</br>
7. Paste the following code into that file and save it.</br>
<code>{{cc|Three local actions are added to the object "flag_control_targets". These actions are available for every player}}
{{cc|Reset the animation state of all three targets}}
flag_control_targets addAction ["Reset Targets", {[target_0, target_1, target_2] apply {_x animateSource ["terc", 0]}}];
{{cc|Disable the pop-up functionality by setting "noPop" to true globally}}
flag_control_targets addAction ["Disable pop-up", {missionNamespace setVariable ["noPop", true, true]}];
{{cc|Enable the pop-up functionality by setting "noPop" to false globally. The targets will not automatically reset. Use the Reset Targets action}}
flag_control_targets addAction ["Enable pop-up", {missionNamespace setVariable ["noPop", false, true]}];</code>
8. Preview the mission and play around with the targets.</br>
= Interesting Scripts =
The following scripts are used to animate the targets. Some of them only create a simply destruction effect, others are more sophisticated.
To see their content, combine [[loadFile]] with the path.
* <tt>a3\structures_f_mark\items\sport\scripts\balloon_01_air_f_hitpart.sqf</tt>
* {{ic|a3\structures_f_mark\items\sport\scripts\balloon_01_water_f_hitpart.sqf}}
* {{ic|a3\structures_f_epa\items\vessels\scripts\eaudecombat_01_f_hitpart.sqf}}
* {{ic|a3\props_f_orange\humanitarian\supplies\scripts\fruit_hitpart.sqf}}
* {{ic|a3\structures_f\training\data\scripts\land_target_oval_f_hitpart.sqf}}
* {{ic|a3\structures_f\training\data\scripts\metal_pole_skeet_f_hitpart.sqf}}
* {{ic|a3\structures_f\training\data\scripts\skeet_clay_f_hitpart.sqf}}
* {{ic|a3\structures_f_mark\training\scripts\target_dueling_01_f_hitpart.sqf}}
* {{ic|a3\structures_f_mark\training\scripts\target_swivel_01_f_hitpart.sqf}}
* {{ic|a3\structures_f\training\data\scripts\targetp_inf_f_hitpart.sqf}}
= Targets =
The following targets all posess the "terc" animation source and can therefore be animated.
{| class="wikitable"
|-
! Display Name !! Class
|-
| Pop-Up Target 1 || {{ic|TargetP_Inf_F}}
|-
| Pop-Up Target 1 (Zones) || {{ic|TargetP_Inf_Acc1_F}}
|-
| Pop-Up Target 1 (Accuracy) || {{ic|TargetP_Inf_Acc2_F}}
|-
| Moving Target 1 (Side) || {{ic|Target_PopUp_Moving_F}}
|-
| Moving Target 1 (Side - Zones) || {{ic|Target_PopUp_Moving_Acc1_F}}
|-
| Moving Target 1 (Side - Accuracy) || {{ic|Target_PopUp_Moving_Acc2_F}}
|-
| Moving Target 1 (Front) || {{ic|Target_PopUp_Moving_90deg_F}}
|-
| Moving Target 1 (Front - Zones) || {{ic|Target_PopUp_Moving_90deg_Acc1_F}}
|-
| Moving Target 1 (Front - Accuracy) || {{ic|Target_PopUp_Moving_90deg_Acc2_F}}
|-
| Pop-Up Target 2 || {{ic|TargetP_Inf2_F}}
|-
| Pop-Up Target 2 (Zones) || {{ic|TargetP_Inf2_Acc1_F}}
|-
| Pop-Up Target 2 (Accuracy) || {{ic|TargetP_Inf2_Acc2_F}}
|-
| Moving Target 2 (Side) || {{ic|Target_PopUp2_Moving_F}}
|-
| Moving Target 2 (Side - Zones) || {{ic|Target_PopUp2_Moving_Acc1_F}}
|-
| Moving Target 2 (Side - Accuracy) || {{ic|Target_PopUp2_Moving_Acc2_F}}
|-
| Moving Target 2 (Front) || {{ic|Target_PopUp2_Moving_90deg_F}}
|-
| Moving Target 2 (Front - Zones) || {{ic|Target_PopUp2_Moving_90deg_Acc1_F}}
|-
| Moving Target 2 (Front - Accuracy) || {{ic|Target_PopUp2_Moving_90deg_Acc2_F}}
|-
| Pop-Up Target 3 || {{ic|TargetP_Inf3_F}}
|-
| Pop-Up Target 3 (Zones) || {{ic|TargetP_Inf3_Acc1_F}}
|-
| Pop-Up Target 3 (Accuracy) || {{ic|TargetP_Inf3_Acc2_F}}
|-
| Moving Target 3 (Side) || {{ic|Target_PopUp3_Moving_F}}
|-
| Moving Target 3 (Side - Zones) || {{ic|Target_PopUp3_Moving_Acc1_F}}
|-
| Moving Target 3 (Side - Accuracy) || {{ic|Target_PopUp3_Moving_Acc2_F}}
|-
| Moving Target 3 (Front) || {{ic|Target_PopUp3_Moving_90deg_F}}
|-
| Moving Target 3 (Front - Zones) || {{ic|Target_PopUp3_Moving_90deg_Acc1_F}}
|-
| Moving Target 3 (Front - Accuracy) || {{ic|Target_PopUp3_Moving_90deg_Acc2_F}}
|-
| Pop-Up Zombie 1 || {{ic|TargetP_Zom_F}}
|-
| Pop-Up Zombie 1 (Zones) || {{ic|TargetP_Zom_Acc1_F}}
|-
| Moving Zombie 1 (Side) || {{ic|Zombie_PopUp_Moving_F}}
|-
| Moving Zombie 1 (Side - Zones) || {{ic|Zombie_PopUp_Moving_Acc1_F}}
|-
| Moving Zombie 1 (Front) || {{ic|Zombie_PopUp_Moving_90deg_F}}
|-
| Moving Zombie 1 (Front - Zones) || {{ic|Zombie_PopUp_Moving_90deg_Acc1_F}}
|-
| Pop-Up Hostage 1 || {{ic|TargetP_Civ_F}}
|-
| Moving Hostage 1 (Side) || {{ic|Hostage_PopUp_Moving_F}}
|-
| Moving Hostage 1 (Front) || {{ic|Hostage_PopUp_Moving_90deg_F}}
|-
| Pop-Up Hostage 2 || {{ic|TargetP_Civ2_F}}
|-
| Moving Hostage 2 (Side) || {{ic|Hostage_PopUp2_Moving_F}}
|-
| Moving Hostage 2 (Front) || {{ic|Hostage_PopUp2_Moving_90deg_F}}
|-
| Pop-Up Hostage 3 || {{ic|TargetP_Civ3_F}}
|-
| Moving Hostage 3 (Side) || {{ic|Hostage_PopUp3_Moving_F}}
|-
| Moving Hostage 3 (Front) || {{ic|Hostage_PopUp3_Moving_90deg_F}}
|-
| Target Human Simple || {{ic|TargetBootcampHumanSimple_F}}
|-
| Target Human || {{ic|TargetBootcampHuman_F}}
|-
| Pop-Up Target 4 || {{ic|TargetP_Inf4_F}}
|-
| Pop-Up Target 4 (Zones) || {{ic|TargetP_Inf4_Acc1_F}}
|-
| Pop-Up Target 4 (Accuracy) || {{ic|TargetP_Inf4_Acc2_F}}
|-
| Moving Target 4 (Side) || {{ic|Target_PopUp4_Moving_F}}
|-
| Moving Target 4 (Side - Zones) || {{ic|Target_PopUp4_Moving_Acc1_F}}
|-
| Moving Target 4 (Side - Accuracy) || {{ic|Target_PopUp4_Moving_Acc2_F}}
|-
| Moving Target 4 (Front) || {{ic|Target_PopUp4_Moving_90deg_F}}
|-
| Moving Target 4 (Front - Zones) || {{ic|Target_PopUp4_Moving_90deg_Acc1_F}}
|-
| Moving Target 4 (Front - Accuracy) || {{ic|Target_PopUp4_Moving_90deg_Acc2_F}}
|-
| Pop-Up Target 5 || {{ic|TargetP_HVT1_F}}
|-
| Moving Target 5 (Side) || {{ic|Target_PopUp_HVT1_Moving_F}}
|-
| Moving Target 5 (Front) || {{ic|Target_PopUp_HVT1_Moving_90deg_F}}
|-
| Pop-Up Target 6 || {{ic|TargetP_HVT2_F}}
|-
| Moving Target 6 (Side) || {{ic|Target_PopUp_HVT2_Moving_F}}
|-
| Moving Target 6 (Front) || {{ic|Target_PopUp_HVT2_Moving_90deg_F}}
|-
| Pop-Up Target 7 || {{ic|TargetP_Inf7_F}}
|-
| Pop-Up Target 7 (Zones) || {{ic|TargetP_Inf7_Acc1_F}}
|-
| Pop-Up Target 7 (Accuracy) || {{ic|TargetP_Inf7_Acc2_F}}
|-
| Moving Target 7 (Side) || {{ic|Target_PopUp7_Moving_F}}
|-
| Moving Target 7 (Side - Zones) || {{ic|Target_PopUp7_Moving_Acc1_F}}
|-
| Moving Target 7 (Side - Accuracy) || {{ic|Target_PopUp7_Moving_Acc2_F}}
|-
| Moving Target 7 (Front) || {{ic|Target_PopUp7_Moving_90deg_F}}
|-
| Moving Target 7 (Front - Zones) || {{ic|Target_PopUp7_Moving_90deg_Acc1_F}}
|-
| Moving Target 7 (Front - Accuracy) || {{ic|Target_PopUp7_Moving_90deg_Acc2_F}}
|-
| Pop-Up Target 8 || {{ic|TargetP_Inf8_F}}
|-
| Pop-Up Target 8 (Zones) || {{ic|TargetP_Inf8_Acc1_F}}
|-
| Pop-Up Target 8 (Accuracy) || {{ic|TargetP_Inf8_Acc2_F}}
|-
| Moving Target 8 (Side) || {{ic|Target_PopUp8_Moving_F}}
|-
| Moving Target 8 (Side - Zones) || {{ic|Target_PopUp8_Moving_Acc1_F}}
|-
| Moving Target 8 (Side - Accuracy) || {{ic|Target_PopUp8_Moving_Acc2_F}}
|-
| Moving Target 8 (Front) || {{ic|Target_PopUp8_Moving_90deg_F}}
|-
| Moving Target 8 (Front - Zones) || {{ic|Target_PopUp8_Moving_90deg_Acc1_F}}
|-
| Moving Target 8 (Front - Accuracy) || {{ic|Target_PopUp8_Moving_90deg_Acc2_F}}
|-
| Pop-Up Target 9 || {{ic|TargetP_Inf9_F}}
|-
| Pop-Up Target 9 (Zones) || {{ic|TargetP_Inf9_Acc1_F}}
|-
| Pop-Up Target 9 (Accuracy) || {{ic|TargetP_Inf9_Acc2_F}}
|-
| Moving Target 9 (Side) || {{ic|Target_PopUp9_Moving_F}}
|-
| Moving Target 9 (Side - Zones) || {{ic|Target_PopUp9_Moving_Acc1_F}}
|-
| Moving Target 9 (Side - Accuracy) || {{ic|Target_PopUp9_Moving_Acc2_F}}
|-
| Moving Target 9 (Front) || {{ic|Target_PopUp9_Moving_90deg_F}}
|-
| Moving Target 9 (Front - Zones) || {{ic|Target_PopUp9_Moving_90deg_Acc1_F}}
|-
| Moving Target 9 (Front - Accuracy) || {{ic|Target_PopUp9_Moving_90deg_Acc2_F}}
|-
| Pop-Up Alien 1 || {{ic|TargetP_Alien1_F}}
|-
| Pop-Up Alien 1 (Zones) || {{ic|TargetP_Alien1_Acc1_F}}
|-
| Moving Alien 1 (Side) || {{ic|Target_PopUp_Alien1_Moving_F}}
|-
| Moving Alien 1 (Side - Zones) || {{ic|Target_PopUp_Alien1_Moving_Acc1_F}}
|-
| Moving Alien 1 (Front) || {{ic|Target_PopUp_Alien1_Moving_90deg_F}}
|-
| Moving Alien 1 (Front - Zones) || {{ic|Target_PopUp_Alien1_Moving_90deg_Acc1_F}}
|}
<code>
popUpTargets = "{| class=""wikitable""
|-
! Display Name !! Class";
{
  if (isClass (_x >> "AnimationSources" >> "Terc")) then
  {
    popUpTargets = popUpTargets + endl + "|-" + endl + "| " + getText (_x >> "displayName") + " || " + "{{ic|" + configName _x + "}}";
  };
} forEach ("getNumber (_x >> 'scope') > 1" configClasses (configfile >> "CfgVehicles"));
copyToClipboard (popUpTargets + endl + "|}");</code>

Latest revision as of 17:02, 18 October 2024