mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Merge branch 'master' into medicalImprovements
This commit is contained in:
commit
b520a1072b
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,3 +4,4 @@ release/*
|
||||
texHeaders.bin
|
||||
*.swp
|
||||
*.swo
|
||||
*.biprivatekey
|
||||
|
@ -17,7 +17,7 @@ Janus
|
||||
Kieran
|
||||
NouberNou
|
||||
PabstMirror <pabstmirror@gmail.com>
|
||||
Ruthberg
|
||||
Ruthberg <ulteq@web.de>
|
||||
tpM
|
||||
ViperMaul
|
||||
VKing <kauestad@gmail.com>
|
||||
@ -33,6 +33,7 @@ Aggr094 <bastards4glory@gmail.com>
|
||||
Anthariel <Contact@storm-simulation.com>
|
||||
BlackQwar
|
||||
Brakoviejo
|
||||
Brisse <brisse@outlook.com>
|
||||
Clon1998 <ps.patti1998@gmail.com>
|
||||
Codingboy
|
||||
Crusty
|
||||
@ -69,7 +70,7 @@ Raspu86
|
||||
Riccardo Petricca <petriccarcc@gmail.com>
|
||||
Robert Boklahánics <bokirobi@gmail.com>
|
||||
ramius86 <pasini86@hotmail.com>
|
||||
simon84
|
||||
simon84 <badguy360th@gmail.com>
|
||||
Sniperwolf572 <tenga6@gmail.com>
|
||||
Tachi <zaveruha007@gmail.com>
|
||||
Tonic
|
||||
@ -83,3 +84,4 @@ Asgar Serran <piechottaf@web.de>
|
||||
Kavinsky <nmunozfernandez@gmail.com>
|
||||
Coren <coren4@gmail.com>
|
||||
OnkelDisMaster <onkeldismaster@gmail.com>
|
||||
Dimaslg <dimaslg@telecable.e>
|
||||
|
@ -57,7 +57,7 @@ class ACE_Settings {
|
||||
};
|
||||
class GVAR(simulationRadius) {
|
||||
displayName = "Simulation Radius";
|
||||
description = "Defines the radius (in meters) in which advanced ballistics are applied";
|
||||
description = "Defines the radius around the player (in meters) at which advanced ballistics are applied to projectiles";
|
||||
typeName = "SCALAR";
|
||||
value = 3000;
|
||||
};
|
||||
|
@ -69,7 +69,7 @@ class CfgVehicles {
|
||||
};
|
||||
class simulationRadius {
|
||||
displayName = "Simulation Radius";
|
||||
description = "Defines the radius (in meters) in which advanced ballistics are applied";
|
||||
description = "Defines the radius around the player (in meters) at which advanced ballistics are applied to projectiles";
|
||||
typeName = "NUMBER";
|
||||
defaultValue = 3000;
|
||||
};
|
||||
|
@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Edited with tabler. -->
|
||||
<Project name="ACE">
|
||||
<Package name="AdvancedBallistics">
|
||||
<Key ID="STR_ACE_AdvancedBallistics_WindInfoKey">
|
||||
|
@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Edited with tabler. -->
|
||||
<Project name="ACE">
|
||||
<Package name="ATragMX">
|
||||
<Key ID="STR_ACE_ATragMX_Name">
|
||||
|
@ -9,7 +9,7 @@ class CfgVehicles {
|
||||
//hitPart = "systemChat str _this";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
class NATO_Box_Base;
|
||||
class Box_NATO_Wps_F: NATO_Box_Base {
|
||||
class TransportMagazines {
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
class CfgPatches {
|
||||
class ADDON {
|
||||
units[] = {"ACE_TargetWall"};
|
||||
units[] = {"ACE_TargetWall","ACE_Box_Ammo"};
|
||||
weapons[] = {};
|
||||
requiredVersion = REQUIRED_VERSION;
|
||||
requiredAddons[] = {"ace_common"};
|
||||
|
@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Edited with tabler. -->
|
||||
<Project name="ACE">
|
||||
<Package name="FlashSuppressors">
|
||||
<Key ID="STR_ACE_muzzle_mzls_H">
|
||||
|
@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Edited with tabler. -->
|
||||
<Project name="ACE">
|
||||
<Package name="Goggles">
|
||||
<Key ID="STR_ACE_Goggles_ShowInThirdPerson">
|
||||
|
@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Edited with tabler. -->
|
||||
<Project name="ACE">
|
||||
<Package name="Grenades">
|
||||
<Key ID="STR_ACE_Grenades_SwitchGrenadeMode">
|
||||
|
@ -7,7 +7,9 @@ _ctrl = _this select 0;
|
||||
_index = _this select 1;
|
||||
_text = _this select 2;
|
||||
|
||||
if (_text != Str(ARR_SELECT(GVAR(ParsedTextCached),_index,""))) then {
|
||||
//systemChat str (_text != ARR_SELECT(GVAR(ParsedTextCached),_index,"-1"));
|
||||
|
||||
if (_text != ARR_SELECT(GVAR(ParsedTextCached),_index,"-1")) then {
|
||||
GVAR(ParsedTextCached) set [_index, _text];
|
||||
_ctrl ctrlSetStructuredText parseText _text;
|
||||
};
|
||||
|
@ -30,6 +30,7 @@ if (_menuType == 0) then {
|
||||
GVAR(keyDownTime) = diag_tickTime;
|
||||
GVAR(openedMenuType) = _menuType;
|
||||
GVAR(lastTimeSearchedActions) = -1000;
|
||||
GVAR(ParsedTextCached) = [];
|
||||
|
||||
GVAR(useCursorMenu) = (vehicle ACE_player != ACE_player) ||
|
||||
visibleMap ||
|
||||
|
@ -119,6 +119,7 @@ if(!_foundTarget && GVAR(actionSelected)) then {
|
||||
};
|
||||
for "_i" from GVAR(iconCount) to (count GVAR(iconCtrls))-1 do {
|
||||
ctrlDelete (GVAR(iconCtrls) select _i);
|
||||
GVAR(ParsedTextCached) set [_i, ""];
|
||||
};
|
||||
GVAR(iconCtrls) resize GVAR(iconCount);
|
||||
GVAR(iconCount) = 0;
|
||||
|
@ -32,9 +32,9 @@ if(_icon == "") then {
|
||||
};
|
||||
|
||||
_text = if (GVAR(UseListMenu)) then {
|
||||
format ["<img image='%1' color='%2' align='left'/><t color='%3' size='0.80' shadow='2' shadowColor='%4' shadowOffset='0.06'>%5</t>", _icon, _iconColor, _textColor, _shadowColor, _text]
|
||||
format ["<img image='%1' color='%2' align='left'/><t color='%3' size='0.80' shadow='1' shadowColor='%4' shadowOffset='0.06'>%5</t>", _icon, _iconColor, _textColor, _shadowColor, _text]
|
||||
} else {
|
||||
format ["<img image='%1' color='%2' align='center'/><br/><t color='%3' size='0.80' align='center' shadow='2' shadowColor='%4' shadowOffset='0.06'>%5</t>", _icon, _iconColor, _textColor, _shadowColor, "ace_breakLine" callExtension _text];
|
||||
format ["<img image='%1' color='%2' align='center'/><br/><t color='%3' size='0.80' align='center' shadow='1' shadowColor='%4' shadowOffset='0.06'>%5</t>", _icon, _iconColor, _textColor, _shadowColor, "ace_breakLine" callExtension _text];
|
||||
};
|
||||
|
||||
//_ctrl ctrlSetStructuredText parseText _text;
|
||||
|
@ -35,7 +35,7 @@ class CfgVehicles {
|
||||
|
||||
class ACE_TeamManagement {
|
||||
displayName = "$STR_ACE_Interaction_TeamManagement";
|
||||
condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player} && {GVAR(EnableTeamManagement)});
|
||||
condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam) && {GVAR(EnableTeamManagement)});
|
||||
statement = "";
|
||||
showDisabled = 0;
|
||||
priority = 3.2;
|
||||
@ -44,7 +44,7 @@ class CfgVehicles {
|
||||
|
||||
class ACE_JoinTeamRed {
|
||||
displayName = "$STR_ACE_Interaction_JoinTeamRed";
|
||||
condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player});
|
||||
condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam));
|
||||
statement = QUOTE([ARR_2(_target,'RED')] call DFUNC(joinTeam));
|
||||
showDisabled = 1;
|
||||
icon = PATHTOF(UI\team\team_red_ca.paa);
|
||||
@ -53,7 +53,7 @@ class CfgVehicles {
|
||||
};
|
||||
class ACE_JoinTeamGreen {
|
||||
displayName = "$STR_ACE_Interaction_JoinTeamGreen";
|
||||
condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player});
|
||||
condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam));
|
||||
statement = QUOTE([ARR_2(_target,'GREEN')] call DFUNC(joinTeam));
|
||||
showDisabled = 1;
|
||||
icon = PATHTOF(UI\team\team_green_ca.paa);
|
||||
@ -62,7 +62,7 @@ class CfgVehicles {
|
||||
};
|
||||
class ACE_JoinTeamBlue {
|
||||
displayName = "$STR_ACE_Interaction_JoinTeamBlue";
|
||||
condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player});
|
||||
condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam));
|
||||
statement = QUOTE([ARR_2(_target,'BLUE')] call DFUNC(joinTeam));
|
||||
showDisabled = 1;
|
||||
icon = PATHTOF(UI\team\team_blue_ca.paa);
|
||||
@ -71,7 +71,7 @@ class CfgVehicles {
|
||||
};
|
||||
class ACE_JoinTeamYellow {
|
||||
displayName = "$STR_ACE_Interaction_JoinTeamYellow";
|
||||
condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player});
|
||||
condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam));
|
||||
statement = QUOTE([ARR_2(_target,'YELLOW')] call DFUNC(joinTeam));
|
||||
showDisabled = 1;
|
||||
icon = PATHTOF(UI\team\team_yellow_ca.paa);
|
||||
@ -81,7 +81,7 @@ class CfgVehicles {
|
||||
|
||||
class ACE_LeaveTeam {
|
||||
displayName = "$STR_ACE_Interaction_LeaveTeam";
|
||||
condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player} && {assignedTeam _player != 'MAIN'});
|
||||
condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam) && {assignedTeam _player != 'MAIN'});
|
||||
statement = QUOTE([ARR_2(_target,'MAIN')] call DFUNC(joinTeam));
|
||||
showDisabled = 1;
|
||||
icon = PATHTOF(UI\team\team_white_ca.paa);
|
||||
@ -92,8 +92,8 @@ class CfgVehicles {
|
||||
|
||||
class ACE_JoinGroup {
|
||||
displayName = "$STR_ACE_Interaction_JoinGroup";
|
||||
condition = QUOTE(side group _player == side group _target && {group _player != group _target});
|
||||
statement = QUOTE([_player] joinSilent group _target;);
|
||||
condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinGroup));
|
||||
statement = QUOTE([_player] joinSilent group _target);
|
||||
showDisabled = 0;
|
||||
priority = 2.6;
|
||||
icon = PATHTOF(UI\team\team_management_ca.paa);
|
||||
@ -223,7 +223,7 @@ class CfgVehicles {
|
||||
displayName = "$STR_ACE_Interaction_JoinTeamBlue";
|
||||
condition = QUOTE(true);
|
||||
exceptions[] = {"isNotInside"};
|
||||
statement = QUOTE([ARR_2(_player,'BLUE')] call FUNC(joinTeam));
|
||||
statement = QUOTE([ARR_2(_player,'BLUE')] call DFUNC(joinTeam));
|
||||
showDisabled = 1;
|
||||
priority = 2.2;
|
||||
icon = PATHTOF(UI\team\team_blue_ca.paa);
|
||||
@ -233,7 +233,7 @@ class CfgVehicles {
|
||||
displayName = "$STR_ACE_Interaction_JoinTeamYellow";
|
||||
condition = QUOTE(true);
|
||||
exceptions[] = {"isNotInside"};
|
||||
statement = QUOTE([ARR_2(_player,'YELLOW')] call FUNC(joinTeam));
|
||||
statement = QUOTE([ARR_2(_player,'YELLOW')] call DFUNC(joinTeam));
|
||||
showDisabled = 1;
|
||||
priority = 2.1;
|
||||
icon = PATHTOF(UI\team\team_yellow_ca.paa);
|
||||
@ -244,7 +244,7 @@ class CfgVehicles {
|
||||
displayName = "$STR_ACE_Interaction_LeaveTeam";
|
||||
condition = QUOTE(assignedTeam _player != 'MAIN');
|
||||
exceptions[] = {"isNotInside"};
|
||||
statement = QUOTE([ARR_2(_player,'MAIN')] call FUNC(joinTeam));
|
||||
statement = QUOTE([ARR_2(_player,'MAIN')] call DFUNC(joinTeam));
|
||||
showDisabled = 1;
|
||||
priority = 2.5;
|
||||
icon = PATHTOF(UI\team\team_white_ca.paa);
|
||||
@ -252,9 +252,9 @@ class CfgVehicles {
|
||||
};
|
||||
class ACE_BecomeLeader {
|
||||
displayName = "$STR_ACE_Interaction_BecomeLeader";
|
||||
condition = QUOTE(_this call FUNC(canBecomeLeader));
|
||||
condition = QUOTE(_this call DFUNC(canBecomeLeader));
|
||||
exceptions[] = {"isNotInside"};
|
||||
statement = QUOTE(_this call FUNC(doBecomeLeader));
|
||||
statement = QUOTE(_this call DFUNC(doBecomeLeader));
|
||||
showDisabled = 1;
|
||||
priority = 1.0;
|
||||
icon = PATHTOF(UI\team\team_white_ca.paa);
|
||||
@ -405,7 +405,7 @@ class CfgVehicles {
|
||||
displayName = "$STR_ACE_Interaction_Passengers";
|
||||
condition = "true";
|
||||
statement = "";
|
||||
insertChildren = QUOTE(_this call FUNC(addPassengersActions));
|
||||
insertChildren = QUOTE(_this call DFUNC(addPassengersActions));
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -423,7 +423,7 @@ class CfgVehicles {
|
||||
displayName = "$STR_ACE_Interaction_Passengers";
|
||||
condition = "true";
|
||||
statement = "";
|
||||
insertChildren = QUOTE(_this call FUNC(addPassengersActions));
|
||||
insertChildren = QUOTE(_this call DFUNC(addPassengersActions));
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -443,7 +443,7 @@ class CfgVehicles {
|
||||
displayName = "$STR_ACE_Interaction_Passengers";
|
||||
condition = "true";
|
||||
statement = "";
|
||||
insertChildren = QUOTE(_this call FUNC(addPassengersActions));
|
||||
insertChildren = QUOTE(_this call DFUNC(addPassengersActions));
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -461,7 +461,7 @@ class CfgVehicles {
|
||||
displayName = "$STR_ACE_Interaction_Passengers";
|
||||
condition = "true";
|
||||
statement = "";
|
||||
insertChildren = QUOTE(_this call FUNC(addPassengersActions));
|
||||
insertChildren = QUOTE(_this call DFUNC(addPassengersActions));
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -479,7 +479,7 @@ class CfgVehicles {
|
||||
displayName = "$STR_ACE_Interaction_Push";
|
||||
distance = 6;
|
||||
condition = QUOTE(getMass _target < 1000 && {alive _target});
|
||||
statement = QUOTE([ARR_2(_target, [ARR_3(2 * (vectorDir _player select 0), 2 * (vectorDir _player select 1), 0.5)])] call FUNC(push););
|
||||
statement = QUOTE([ARR_2(_target, [ARR_3(2 * (vectorDir _player select 0), 2 * (vectorDir _player select 1), 0.5)])] call DFUNC(push););
|
||||
showDisabled = 0;
|
||||
priority = -1;
|
||||
};
|
||||
@ -490,7 +490,7 @@ class CfgVehicles {
|
||||
displayName = "$STR_ACE_Interaction_Passengers";
|
||||
condition = "true";
|
||||
statement = "";
|
||||
insertChildren = QUOTE(_this call FUNC(addPassengersActions));
|
||||
insertChildren = QUOTE(_this call DFUNC(addPassengersActions));
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -509,7 +509,7 @@ class CfgVehicles {
|
||||
displayName = "$STR_ACE_Interaction_Passengers";
|
||||
condition = "true";
|
||||
statement = "";
|
||||
insertChildren = QUOTE(_this call FUNC(addPassengersActions));
|
||||
insertChildren = QUOTE(_this call DFUNC(addPassengersActions));
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -8,6 +8,8 @@ PREP(addSelectableItem);
|
||||
PREP(applyButtons);
|
||||
PREP(canBecomeLeader);
|
||||
PREP(canInteractWithCivilian);
|
||||
PREP(canJoinGroup);
|
||||
PREP(canJoinTeam);
|
||||
PREP(canTapShoulder);
|
||||
PREP(doBecomeLeader);
|
||||
PREP(getDoor);
|
||||
|
12
addons/interaction/functions/fnc_canJoinGroup.sqf
Normal file
12
addons/interaction/functions/fnc_canJoinGroup.sqf
Normal file
@ -0,0 +1,12 @@
|
||||
// by commy2
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_unit", "_target"];
|
||||
|
||||
_unit = _this select 0;
|
||||
_target = _this select 1;
|
||||
|
||||
alive _target
|
||||
&& {!(_target getVariable ["ACE_isUnconscious", false])}
|
||||
&& {side group _unit == side group _target}
|
||||
&& {group _unit != group _target}
|
12
addons/interaction/functions/fnc_canJoinTeam.sqf
Normal file
12
addons/interaction/functions/fnc_canJoinTeam.sqf
Normal file
@ -0,0 +1,12 @@
|
||||
// by commy2
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_unit", "_target"];
|
||||
|
||||
_unit = _this select 0;
|
||||
_target = _this select 1;
|
||||
|
||||
alive _target
|
||||
&& {!(_target getVariable ["ACE_isUnconscious", false])}
|
||||
&& {!([_target] call EFUNC(common,isPlayer))}
|
||||
&& {_target in units group _unit}
|
@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Edited with tabler. -->
|
||||
<Project name="ACE">
|
||||
<Package name="MagazineRepack">
|
||||
<Key ID="STR_ACE_MagazineRepack_RepackMagazines">
|
||||
|
@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Edited with tabler - 2014-12-22 -->
|
||||
<Project name="ACE">
|
||||
<Package name="Map">
|
||||
|
||||
|
@ -66,13 +66,13 @@ class ACE_Head {
|
||||
EXCEPTIONS
|
||||
};
|
||||
class CheckResponse: CheckPulse {
|
||||
displayName = "Check Response";
|
||||
displayName = "$STR_ACE_MEDICAL_CHECK_RESPONSE";
|
||||
condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckResponse')] call DFUNC(canTreatCached));
|
||||
statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckResponse')] call DFUNC(treatment));
|
||||
EXCEPTIONS
|
||||
};
|
||||
class Diagnose: CheckPulse {
|
||||
displayName = "Diagnose";
|
||||
displayName = "$STR_ACE_MEDICAL_ACTIONS_Diagnose";
|
||||
condition = QUOTE([ARR_4(_player, _target, 'head', 'Diagnose')] call DFUNC(canTreatCached));
|
||||
statement = QUOTE([ARR_4(_player, _target, 'head', 'Diagnose')] call DFUNC(treatment));
|
||||
EXCEPTIONS
|
||||
@ -111,7 +111,7 @@ class ACE_Torso {
|
||||
enableInside = 1;
|
||||
};
|
||||
class TriageCard {
|
||||
displayName = "Triage Card";
|
||||
displayName = "$STR_ACE_MEDICAL_ACTIONS_TriageCard";
|
||||
distance = 2.0;
|
||||
condition = "true";
|
||||
statement = QUOTE([ARR_2(_target, true)] call DFUNC(displayTriageCard));
|
||||
@ -158,21 +158,21 @@ class ACE_Torso {
|
||||
icon = PATHTOF(UI\icons\bandage.paa);
|
||||
};
|
||||
class SurgicalKit: fieldDressing {
|
||||
displayName = "Use Surgical Kit";
|
||||
displayName = "$STR_ACE_MEDICAL_USE_SURGICALKIT";
|
||||
condition = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(canTreatCached));
|
||||
statement = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(treatment));
|
||||
EXCEPTIONS
|
||||
icon = PATHTOF(UI\icons\surgicalKit.paa);
|
||||
};
|
||||
class PersonalAidKit: fieldDressing {
|
||||
displayName = "Use Personal Aid Kit";
|
||||
displayName = "$STR_ACE_MEDICAL_USE_AID_KIT";
|
||||
condition = QUOTE([ARR_4(_player, _target, 'body', 'PersonalAidKit')] call DFUNC(canTreatCached));
|
||||
statement = QUOTE([ARR_4(_player, _target, 'body', 'PersonalAidKit')] call DFUNC(treatment));
|
||||
EXCEPTIONS
|
||||
icon = "";
|
||||
};
|
||||
class CPR: fieldDressing {
|
||||
displayName = "CPR";
|
||||
displayName = "$STR_ACE_MEDICAL_ACTIONS_CPR";
|
||||
condition = QUOTE([ARR_4(_player, _target, 'body', 'CPR')] call DFUNC(canTreatCached));
|
||||
statement = QUOTE([ARR_4(_player, _target, 'body', 'CPR')] call DFUNC(treatment));
|
||||
EXCEPTIONS
|
||||
|
@ -72,8 +72,8 @@ class ACE_Medical_Actions {
|
||||
litter[] = {};
|
||||
};
|
||||
class Diagnose: Bandage {
|
||||
displayName = "Diagnose";
|
||||
displayNameProgress = "Diagnosing...";
|
||||
displayName = "$STR_ACE_MEDICAL_ACTIONS_Diagnose";
|
||||
displayNameProgress = "$STR_ACE_MEDICAL_ACTIONS_Diagnosing";
|
||||
treatmentLocations[] = {"All"};
|
||||
requiredMedic = 0;
|
||||
treatmentTime = 1;
|
||||
@ -250,8 +250,8 @@ class ACE_Medical_Actions {
|
||||
condition = QUOTE([ARR_2(_this select 1, _this select 2)] call FUNC(hasTourniquetAppliedTo));
|
||||
};
|
||||
class CPR: fieldDressing {
|
||||
displayName = "CPR";
|
||||
displayNameProgress = "Performing CPR";
|
||||
displayName = "$STR_ACE_MEDICAL_ACTIONS_CPR";
|
||||
displayNameProgress = "$STR_ACE_MEDICAL_ACTIONS_PerformingCPR";
|
||||
treatmentLocations[] = {"All"};
|
||||
requiredMedic = 0;
|
||||
treatmentTime = 15;
|
||||
@ -297,23 +297,26 @@ class ACE_Medical_Advanced {
|
||||
// Source: Scarle
|
||||
// Also called scrapes, they occur when the skin is rubbed away by friction against another rough surface (e.g. rope burns and skinned knees).
|
||||
class Abrasion {
|
||||
name = "Scrape";
|
||||
name = "$STR_ACE_Medical_Wounds_Abrasion";
|
||||
selections[] = {"All"};
|
||||
bleedingRate = 0.0001;
|
||||
pain = 0.01;
|
||||
causes[] = {"falling", "ropeburn", "vehiclecrash", "unknown"};
|
||||
minDamage = 0.01;
|
||||
class Minor {
|
||||
name = "$STR_ACE_Medical_Wounds_Abrasion_Minor";
|
||||
minDamage = 0.01;
|
||||
maxDamage = 0.2;
|
||||
bleedingRate = 0.0001;
|
||||
};
|
||||
class Medium {
|
||||
name = "$STR_ACE_Medical_Wounds_Abrasion_Medium";
|
||||
minDamage = 0.2;
|
||||
maxDamage = 0.3;
|
||||
bleedingRate = 0.00015;
|
||||
};
|
||||
class Large {
|
||||
name = "$STR_ACE_Medical_Wounds_Abrasion_Large";
|
||||
minDamage = 0.3;
|
||||
bleedingRate = 0.0002;
|
||||
};
|
||||
@ -321,23 +324,26 @@ class ACE_Medical_Advanced {
|
||||
|
||||
// Occur when an entire structure or part of it is forcibly pulled away, such as the loss of a permanent tooth or an ear lobe. Explosions, gunshots, and animal bites may cause avulsions.
|
||||
class Avulsions {
|
||||
name = "Avulsion";
|
||||
name = "$STR_ACE_Medical_Wounds_Avulsion";
|
||||
selections[] = {"All"};
|
||||
bleedingRate = 0.01;
|
||||
pain = 0.3;
|
||||
causes[] = {"explosive", "vehiclecrash", "grenade", "shell", "bullet", "backblast", "bite"};
|
||||
minDamage = 0.2;
|
||||
class Minor {
|
||||
name = "$STR_ACE_Medical_Wounds_Avulsion_Minor";
|
||||
minDamage = 0.2;
|
||||
maxDamage = 0.3;
|
||||
bleedingRate = 0.01;
|
||||
};
|
||||
class Medium {
|
||||
name = "$STR_ACE_Medical_Wounds_Avulsion_Medium";
|
||||
minDamage = 0.3;
|
||||
maxDamage = 0.6;
|
||||
bleedingRate = 0.02;
|
||||
};
|
||||
class Large {
|
||||
name = "$STR_ACE_Medical_Wounds_Avulsion_Large";
|
||||
minDamage = 0.5;
|
||||
bleedingRate = 0.05;
|
||||
};
|
||||
@ -345,22 +351,25 @@ class ACE_Medical_Advanced {
|
||||
|
||||
// Also called bruises, these are the result of a forceful trauma that injures an internal structure without breaking the skin. Blows to the chest, abdomen, or head with a blunt instrument (e.g. a football or a fist) can cause contusions.
|
||||
class Contusion {
|
||||
name = "Bruise";
|
||||
name = "$STR_ACE_Medical_Wounds_Contusion";
|
||||
selections[] = {"All"};
|
||||
bleedingRate = 0.0;
|
||||
pain = 0.05;
|
||||
causes[] = {"bullet", "backblast", "punch","vehiclecrash","falling"};
|
||||
causes[] = {"bullet", "backblast", "punch", "vehiclecrash", "falling"};
|
||||
minDamage = 0.01;
|
||||
maxDamage = 0.1;
|
||||
class Minor {
|
||||
name = "$STR_ACE_Medical_Wounds_Contusion_Minor";
|
||||
minDamage = 0.01;
|
||||
maxDamage = 0.1;
|
||||
};
|
||||
class Medium {
|
||||
name = "$STR_ACE_Medical_Wounds_Contusion_Medium";
|
||||
minDamage = 0.1;
|
||||
maxDamage = 0.15;
|
||||
};
|
||||
class Large {
|
||||
name = "$STR_ACE_Medical_Wounds_Contusion_Large";
|
||||
minDamage = 0.15;
|
||||
maxDamage = 0.2;
|
||||
};
|
||||
@ -368,23 +377,26 @@ class ACE_Medical_Advanced {
|
||||
|
||||
// Occur when a heavy object falls onto a person, splitting the skin and shattering or tearing underlying structures.
|
||||
class CrushWound {
|
||||
name = "Crushed tissue";
|
||||
name = "$STR_ACE_Medical_Wounds_Crush";
|
||||
selections[] = {"All"};
|
||||
bleedingRate = 0.01;
|
||||
pain = 0.1;
|
||||
causes[] = {"falling", "vehiclecrash", "punch", "unknown"};
|
||||
minDamage = 0.1;
|
||||
class Minor {
|
||||
name = "$STR_ACE_Medical_Wounds_Crush_Minor";
|
||||
minDamage = 0.1;
|
||||
maxDamage = 0.45;
|
||||
bleedingRate = 0.005;
|
||||
};
|
||||
class Medium {
|
||||
name = "$STR_ACE_Medical_Wounds_Crush_Medium";
|
||||
minDamage = 0.4;
|
||||
maxDamage = 0.7;
|
||||
bleedingRate = 0.007;
|
||||
};
|
||||
class Large {
|
||||
name = "$STR_ACE_Medical_Wounds_Crush_Large";
|
||||
minDamage = 0.6;
|
||||
bleedingRate = 0.0095;
|
||||
};
|
||||
@ -392,23 +404,26 @@ class ACE_Medical_Advanced {
|
||||
|
||||
// Slicing wounds made with a sharp instrument, leaving even edges. They may be as minimal as a paper cut or as significant as a surgical incision.
|
||||
class Cut {
|
||||
name = "Cut";
|
||||
name = "$STR_ACE_Medical_Wounds_Cut";
|
||||
selections[] = {"All"};
|
||||
bleedingRate = 0.01;
|
||||
pain = 0.075;
|
||||
causes[] = {"vehiclecrash", "grenade", "explosive", "shell", "backblast", "stab", "unknown"};
|
||||
minDamage = 0.1;
|
||||
class Minor {
|
||||
name = "$STR_ACE_Medical_Wounds_Cut_Minor";
|
||||
minDamage = 0.1;
|
||||
maxDamage = 0.3;
|
||||
bleedingRate = 0.005;
|
||||
};
|
||||
class Medium {
|
||||
name = "$STR_ACE_Medical_Wounds_Cut_Medium";
|
||||
minDamage = 0.3;
|
||||
maxDamage = 0.65;
|
||||
bleedingRate = 0.02;
|
||||
};
|
||||
class Large {
|
||||
name = "$STR_ACE_Medical_Wounds_Cut_Large";
|
||||
minDamage = 0.65;
|
||||
bleedingRate = 0.05;
|
||||
};
|
||||
@ -416,23 +431,26 @@ class ACE_Medical_Advanced {
|
||||
|
||||
// Also called tears, these are separating wounds that produce ragged edges. They are produced by a tremendous force against the body, either from an internal source as in childbirth, or from an external source like a punch.
|
||||
class Laceration {
|
||||
name = "Tear";
|
||||
name = "$STR_ACE_Medical_Wounds_Laceration";
|
||||
selections[] = {"All"};
|
||||
bleedingRate = 0.01;
|
||||
pain = 0.075;
|
||||
causes[] = {"vehiclecrash", "punch"};
|
||||
minDamage = 0.01;
|
||||
class Minor {
|
||||
name = "$STR_ACE_Medical_Wounds_Laceration_Minor";
|
||||
minDamage = 0.1;
|
||||
maxDamage = 0.5;
|
||||
bleedingRate = 0.005;
|
||||
};
|
||||
class Medium {
|
||||
name = "$STR_ACE_Medical_Wounds_Laceration_Medium";
|
||||
minDamage = 0.5;
|
||||
maxDamage = 0.7;
|
||||
bleedingRate = 0.01;
|
||||
};
|
||||
class Large {
|
||||
name = "$STR_ACE_Medical_Wounds_Laceration_Large";
|
||||
minDamage = 0.7;
|
||||
bleedingRate = 0.03;
|
||||
};
|
||||
@ -440,22 +458,25 @@ class ACE_Medical_Advanced {
|
||||
|
||||
// Also called velocity wounds, they are caused by an object entering the body at a high speed, typically a bullet or small peices of shrapnel.
|
||||
class velocityWound {
|
||||
name = "Velocity Wound";
|
||||
name = "$STR_ACE_Medical_Wounds_VelocityWound";
|
||||
selections[] = {"All"};
|
||||
bleedingRate = 0.01;
|
||||
pain = 0.2;
|
||||
causes[] = {"bullet", "grenade","explosive", "shell", "unknown"};
|
||||
minDamage = 0.15;
|
||||
class Minor {
|
||||
name = "$STR_ACE_Medical_Wounds_VelocityWound_Minor";
|
||||
minDamage = 0.15;
|
||||
maxDamage = 0.3;
|
||||
bleedingRate = 0.025;
|
||||
};
|
||||
class Medium {
|
||||
name = "$STR_ACE_Medical_Wounds_VelocityWound_Medium";
|
||||
minDamage = 0.3;
|
||||
bleedingRate = 0.05;
|
||||
};
|
||||
class Large {
|
||||
name = "$STR_ACE_Medical_Wounds_VelocityWound_Large";
|
||||
minDamage = 0.75;
|
||||
bleedingRate = 0.1;
|
||||
};
|
||||
@ -463,23 +484,26 @@ class ACE_Medical_Advanced {
|
||||
|
||||
// Deep, narrow wounds produced by sharp objects such as nails, knives, and broken glass.
|
||||
class punctureWound {
|
||||
name = "Puncture Wound";
|
||||
name = "$STR_ACE_Medical_Wounds_PunctureWound";
|
||||
selections[] = {"All"};
|
||||
bleedingRate = 0.01;
|
||||
pain = 0.075;
|
||||
causes[] = {"stab", "grenade"};
|
||||
minDamage = 0.01;
|
||||
class Minor {
|
||||
name = "$STR_ACE_Medical_Wounds_PunctureWound_Minor";
|
||||
minDamage = 0.01;
|
||||
maxDamage = 0.5;
|
||||
bleedingRate = 0.01;
|
||||
};
|
||||
class Medium {
|
||||
name = "$STR_ACE_Medical_Wounds_PunctureWound_Medium";
|
||||
minDamage = 0.5;
|
||||
maxDamage = 0.75;
|
||||
bleedingRate = 0.03;
|
||||
};
|
||||
class Large {
|
||||
name = "$STR_ACE_Medical_Wounds_PunctureWound_Large";
|
||||
minDamage = 0.65;
|
||||
bleedingRate = 0.08;
|
||||
};
|
||||
@ -487,7 +511,7 @@ class ACE_Medical_Advanced {
|
||||
};
|
||||
class fractures {
|
||||
class Femur {
|
||||
name = "Broken Femur";
|
||||
name = "$STR_ACE_Medical_Wounds_Femur";
|
||||
selections[] = {"Head", "Torso"};
|
||||
pain = 0.2;
|
||||
causes[] = {"Bullet", "VehicleCrash", "Backblast", "Explosive", "Shell", "Grenade"};
|
||||
|
@ -33,9 +33,6 @@ class CfgWeapons {
|
||||
};
|
||||
class ACE_packingBandage: ACE_ItemCore {
|
||||
scope = 2;
|
||||
value = 1;
|
||||
count = 1;
|
||||
type = 16;
|
||||
displayName = $STR_ACE_MEDICAL_PACKING_BANDAGE_DISPLAY;
|
||||
picture = QUOTE(PATHTOF(ui\items\packingBandage_x_ca.paa));
|
||||
model = QUOTE(PATHTOF(data\packingbandage.p3d));
|
||||
@ -47,9 +44,6 @@ class CfgWeapons {
|
||||
};
|
||||
class ACE_elasticBandage: ACE_ItemCore {
|
||||
scope = 2;
|
||||
value = 1;
|
||||
count = 1;
|
||||
type = 16;
|
||||
displayName = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY;
|
||||
picture = QUOTE(PATHTOF(ui\items\elasticBandage_x_ca.paa));
|
||||
model = "\A3\Structures_F_EPA\Items\Medical\Bandage_F.p3d";
|
||||
@ -61,9 +55,6 @@ class CfgWeapons {
|
||||
};
|
||||
class ACE_tourniquet: ACE_ItemCore {
|
||||
scope = 2;
|
||||
value = 1;
|
||||
count = 1;
|
||||
type = 16;
|
||||
displayName = $STR_ACE_MEDICAL_TOURNIQUET_DISPLAY;
|
||||
picture = QUOTE(PATHTOF(ui\items\tourniquet_x_ca.paa));
|
||||
model = QUOTE(PATHTOF(data\tourniquet.p3d));
|
||||
@ -75,9 +66,6 @@ class CfgWeapons {
|
||||
};
|
||||
class ACE_morphine: ACE_ItemCore {
|
||||
scope = 2;
|
||||
value = 1;
|
||||
count = 1;
|
||||
type = 16;
|
||||
displayName = $STR_ACE_MEDICAL_MORPHINE_DISPLAY;
|
||||
picture = QUOTE(PATHTOF(ui\items\morphine_x_ca.paa));
|
||||
model = QUOTE(PATHTOF(data\morphine.p3d));
|
||||
@ -89,9 +77,6 @@ class CfgWeapons {
|
||||
};
|
||||
class ACE_atropine: ACE_ItemCore {
|
||||
scope = 2;
|
||||
value = 1;
|
||||
count = 1;
|
||||
type = 16;
|
||||
displayName = $STR_ACE_MEDICAL_ATROPINE_DISPLAY;
|
||||
picture = QUOTE(PATHTOF(ui\items\atropine_x_ca.paa));
|
||||
model = QUOTE(PATHTOF(data\atropine.p3d));
|
||||
@ -104,9 +89,6 @@ class CfgWeapons {
|
||||
};
|
||||
class ACE_epinephrine: ACE_ItemCore {
|
||||
scope = 2;
|
||||
value = 1;
|
||||
count = 1;
|
||||
type = 16;
|
||||
displayName = $STR_ACE_MEDICAL_EPINEPHRINE_DISPLAY;
|
||||
picture = QUOTE(PATHTOF(ui\items\epinephrine_x_ca.paa));
|
||||
model = QUOTE(PATHTOF(data\epinephrine.p3d));
|
||||
@ -118,8 +100,6 @@ class CfgWeapons {
|
||||
};
|
||||
class ACE_plasmaIV: ACE_ItemCore {
|
||||
scope = 2;
|
||||
value = 1;
|
||||
count = 1;
|
||||
displayName = $STR_ACE_MEDICAL_PLASMA_IV;
|
||||
picture = QUOTE(PATHTOF(ui\items\plasmaIV_x_ca.paa));
|
||||
descriptionShort = $STR_ACE_MEDICAL_PLASMA_IV_DESC_SHORT;
|
||||
@ -142,8 +122,6 @@ class CfgWeapons {
|
||||
};
|
||||
class ACE_bloodIV: ACE_ItemCore {
|
||||
scope = 2;
|
||||
value = 1;
|
||||
count = 1;
|
||||
model = "\A3\Structures_F_EPA\Items\Medical\BloodBag_F.p3d";
|
||||
displayName = $STR_ACE_MEDICAL_BLOOD_IV;
|
||||
picture = QUOTE(PATHTOF(ui\items\bloodIV_x_ca.paa));
|
||||
@ -167,8 +145,6 @@ class CfgWeapons {
|
||||
};
|
||||
class ACE_salineIV: ACE_ItemCore {
|
||||
scope = 2;
|
||||
value = 1;
|
||||
count = 1;
|
||||
displayName = $STR_ACE_MEDICAL_SALINE_IV;
|
||||
picture = QUOTE(PATHTOF(ui\items\salineIV_x_ca.paa));
|
||||
descriptionShort = $STR_ACE_MEDICAL_SALINE_IV_DESC_SHORT;
|
||||
@ -191,9 +167,6 @@ class CfgWeapons {
|
||||
};
|
||||
class ACE_quikclot: ACE_ItemCore {
|
||||
scope = 2;
|
||||
value = 1;
|
||||
count = 1;
|
||||
type = 16;
|
||||
displayName = $STR_ACE_MEDICAL_QUIKCLOT_DISPLAY;
|
||||
picture = QUOTE(PATHTOF(ui\items\quickclot_x_ca.paa));
|
||||
descriptionShort = $STR_ACE_MEDICAL_QUIKCLOT_DESC_SHORT;
|
||||
@ -204,9 +177,6 @@ class CfgWeapons {
|
||||
};
|
||||
class ACE_personalAidKit: ACE_ItemCore {
|
||||
scope = 2;
|
||||
value = 1;
|
||||
count = 1;
|
||||
type = 16;
|
||||
displayName = $STR_ACE_MEDICAL_AID_KIT_DISPLAY;
|
||||
picture = QUOTE(PATHTOF(ui\items\personal_aid_kit_x_ca.paa));
|
||||
descriptionShort = $STR_ACE_MEDICAL_AID_KIT_DESC_SHORT;
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
class CfgPatches {
|
||||
class ADDON {
|
||||
units[] = {"ACE_medicalSupplyCrate", "ACE_fieldDressingItem", "ACE_packingBandageItem", "ACE_elasticBandageItem", "ACE_tourniquetItem", "ACE_morphineItem", "ACE_atropineItem", "ACE_epinephrineItem", "ACE_plasmaIVItem", "ACE_bloodIVItem", "ACE_salineIVItem", "ACE_quikclotItem", "ACE_personalAidKitItem", "ACE_surgicalKitItem", "ACE_bodyBagItem", "ACE_bodyBagObject"};
|
||||
units[] = {"ACE_medicalSupplyCrate", "ACE_medicalSupplyCrate_advanced", "ACE_fieldDressingItem", "ACE_packingBandageItem", "ACE_elasticBandageItem", "ACE_tourniquetItem", "ACE_morphineItem", "ACE_atropineItem", "ACE_epinephrineItem", "ACE_plasmaIVItem", "ACE_bloodIVItem", "ACE_salineIVItem", "ACE_quikclotItem", "ACE_personalAidKitItem", "ACE_surgicalKitItem", "ACE_bodyBagItem", "ACE_bodyBagObject"};
|
||||
weapons[] = {"ACE_fieldDressing", "ACE_packingBandage", "ACE_elasticBandage", "ACE_tourniquet", "ACE_morphine", "ACE_atropine", "ACE_epinephrine", "ACE_plasmaIV", "ACE_plasmaIV_500", "ACE_plasmaIV_250", "ACE_bloodIV", "ACE_bloodIV_500", "ACE_bloodIV_250", "ACE_salineIV", "ACE_salineIV_500", "ACE_salineIV_250", "ACE_quikclot", "ACE_personalAidKit", "ACE_surgicalKit", "ACE_bodyBag"};
|
||||
requiredVersion = REQUIRED_VERSION;
|
||||
requiredAddons[] = {"ace_interaction","ace_modules"};
|
||||
|
@ -33,20 +33,20 @@ if ([_caller] call FUNC(isMedic)) then {
|
||||
} else {
|
||||
if (_bloodPressureHigh > 20) then {
|
||||
_output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_2";
|
||||
_logOutPut = "Low";
|
||||
_logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_LOW";
|
||||
if (_bloodPressureHigh > 100) then {
|
||||
_output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_3";
|
||||
_logOutPut = "Normal";
|
||||
_logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_NORMAL";
|
||||
if (_bloodPressureHigh > 160) then {
|
||||
_output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_4";
|
||||
_logOutPut = "High";
|
||||
_logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_HIGH";
|
||||
};
|
||||
|
||||
};
|
||||
} else {
|
||||
if (random(10) > 3) then {
|
||||
_output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_5";
|
||||
_logOutPut = "No Blood Pressure";
|
||||
_logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_NOBLOODPRESSURE";
|
||||
} else {
|
||||
_output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_6";
|
||||
};
|
||||
@ -56,5 +56,5 @@ if ([_caller] call FUNC(isMedic)) then {
|
||||
["displayTextStructured", [_caller], [[_output, [_target] call EFUNC(common,getName), round(_bloodPressureHigh),round(_bloodPressureLow)], 1.75, _caller]] call EFUNC(common,targetEvent);
|
||||
|
||||
if (_logOutPut != "") then {
|
||||
[_target,"activity", "%1 checked Blood Pressure: %2", [[_caller] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog);
|
||||
[_target,"activity", localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_LOG", [[_caller] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog);
|
||||
};
|
||||
|
@ -33,14 +33,14 @@ if (_heartRate > 1.0) then {
|
||||
} else {
|
||||
// non medical personel will only find a pulse/HR
|
||||
_heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_2";
|
||||
_logOutPut = "Weak";
|
||||
_logOutPut = localize "STR_ACE_MEDICAL_CHECK_PULSE_WEAK";
|
||||
if (_heartRate > 60) then {
|
||||
if (_heartRate > 100) then {
|
||||
_heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_3";
|
||||
_logOutPut = "Strong";
|
||||
_logOutPut = localize "STR_ACE_MEDICAL_CHECK_PULSE_STRONG";
|
||||
} else {
|
||||
_heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_4";
|
||||
_logOutPut = "Normal";
|
||||
_logOutPut = localize "STR_ACE_MEDICAL_CHECK_PULSE_NORMAL";
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -49,5 +49,5 @@ if (_heartRate > 1.0) then {
|
||||
["displayTextStructured", [_caller], [[_heartRateOutput, [_unit] call EFUNC(common,getName), round(_heartRate)], 1.5, _caller]] call EFUNC(common,targetEvent);
|
||||
|
||||
if (_logOutPut != "") then {
|
||||
[_unit,"activity","%1 checked Heart Rate: %2",[[_caller] call EFUNC(common,getName),_logOutPut]] call FUNC(addToLog);
|
||||
[_unit,"activity", localize "STR_ACE_MEDICAL_CHECK_PULSE_LOG",[[_caller] call EFUNC(common,getName),_logOutPut]] call FUNC(addToLog);
|
||||
};
|
||||
|
@ -186,7 +186,7 @@ if (_show) then {
|
||||
_lbCtrl lbSetColor [_foreachIndex + _amountOfGeneric, _x select 1];
|
||||
}foreach _allInjuryTexts;
|
||||
if (count _allInjuryTexts == 0) then {
|
||||
_lbCtrl lbAdd "No injuries on this bodypart..";
|
||||
_lbCtrl lbAdd (localize "STR_ACE_Medical_NoInjuriesBodypart");
|
||||
};
|
||||
|
||||
_logCtrl = (_display displayCtrl 302);
|
||||
|
@ -58,7 +58,7 @@ if (_show) then {
|
||||
}foreach _log;
|
||||
|
||||
if (count _triageCardTexts == 0) then {
|
||||
_lbCtrl lbAdd "No entries on this triage card..";
|
||||
_lbCtrl lbAdd (localize "STR_ACE_MEDICAL_TriageCard_NoEntry");
|
||||
};
|
||||
{
|
||||
_lbCtrl lbAdd _x;
|
||||
|
@ -26,7 +26,7 @@ if !(_set) exitwith {
|
||||
_unit setvariable ["ACE_isUnconscious", false, true];
|
||||
};
|
||||
|
||||
if !(!(isNull _unit) && {(_unit isKindOf "CaManBase") && ([_unit] call EFUNC(common,isAwake))}) exitwith{};
|
||||
if !(!(isNull _unit) && {(_unit isKindOf "CAManBase") && ([_unit] call EFUNC(common,isAwake))}) exitwith{};
|
||||
|
||||
if (!local _unit) exitwith {
|
||||
[[_unit], QUOTE(DFUNC(setUnconscious)), _unit, false] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */
|
||||
@ -86,4 +86,7 @@ _startingTime = time;
|
||||
|
||||
[DFUNC(unconsciousPFH), 0.1, [_unit,_animState, _originalPos, _startingTime, _minWaitingTime, false, vehicle _unit isKindOf "ParachuteBase"] ] call CBA_fnc_addPerFrameHandler;
|
||||
|
||||
// unconscious can't talk
|
||||
[_unit, "isUnconscious"] call EFUNC(common,muteUnit);
|
||||
|
||||
["medical_onUnconscious", [_unit, true]] call EFUNC(common,globalEvent);
|
||||
|
@ -31,6 +31,8 @@ if (!alive _unit) exitwith {
|
||||
[_unit, false] call EFUNC(common,disableAI);
|
||||
//_unit setUnitPos _originalPos;
|
||||
_unit setUnconscious false;
|
||||
|
||||
[_unit, "isUnconscious"] call EFUNC(common,unmuteUnit);
|
||||
["medical_onUnconscious", [_unit, false]] call EFUNC(common,globalEvent);
|
||||
|
||||
[(_this select 1)] call cba_fnc_removePerFrameHandler;
|
||||
@ -71,6 +73,8 @@ if !(_unit getvariable ["ACE_isUnconscious",false]) exitwith {
|
||||
|
||||
_unit setUnconscious false;
|
||||
|
||||
[_unit, "isUnconscious"] call EFUNC(common,unmuteUnit);
|
||||
|
||||
// ensure this statement runs only once
|
||||
_args set [5, true];
|
||||
};
|
||||
|
@ -1,6 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project name="ACE">
|
||||
<Package name="Medical">
|
||||
<Key ID="STR_ACE_Medical_Injuries">
|
||||
<English>INJURIES</English>
|
||||
<German>VERLETZUNGEN</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_NoInjuriesBodypart">
|
||||
<English>No injuries on this bodypart ...</English>
|
||||
<German>Körperteil nicht verletzt ...</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_litterSimulationDetail">
|
||||
<English>Litter Simulation Detail</English>
|
||||
<Polish>Detale zużytych medykamentów</Polish>
|
||||
@ -84,7 +92,7 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Apply_Tourniquet">
|
||||
<English>Apply Tourniquet</English>
|
||||
<German>Aderpresse anwenden</German>
|
||||
<German>Tourniquet anwenden</German>
|
||||
<Spanish>Aplicar torniquete</Spanish>
|
||||
<Czech>Aplikovat škrtidlo</Czech>
|
||||
<Polish>Załóż stazę</Polish>
|
||||
@ -259,7 +267,7 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Applying_Tourniquet">
|
||||
<English>Applying Tourniquet ...</English>
|
||||
<German>Setze Aderpresse an ...</German>
|
||||
<German>Setze Tourniquet an ...</German>
|
||||
<Spanish>Aplicando torniquete ...</Spanish>
|
||||
<Czech>Aplikuji škrtidlo</Czech>
|
||||
<Polish>Zakładanie stazy ...</Polish>
|
||||
@ -347,7 +355,7 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_ACTIONS_TriageCard">
|
||||
<English>Triage Card</English>
|
||||
<German>Verletztenanhängekarte</German>
|
||||
<German>Triagekarte</German>
|
||||
<Spanish>Tarjeta de triaje</Spanish>
|
||||
<Russian>Медкарта</Russian>
|
||||
<Polish>Karta segregacyjna</Polish>
|
||||
@ -356,9 +364,13 @@
|
||||
<Hungarian>Orvosi lap</Hungarian>
|
||||
<Italian>Triage Card</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_TriageCard_NoEntry">
|
||||
<English>No entries on this triage card.</English>
|
||||
<German>Keine Einträge auf der Triagekarte</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_ACTIONS_Tourniquet">
|
||||
<English>Tourniquet</English>
|
||||
<German>Aderpresse</German>
|
||||
<German>Tourniquet</German>
|
||||
<Spanish>Torniquete</Spanish>
|
||||
<Russian>Жгут</Russian>
|
||||
<Czech>Škrtidlo</Czech>
|
||||
@ -369,7 +381,7 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet">
|
||||
<English>Remove Tourniquet</English>
|
||||
<German>Aderpresse entfernen</German>
|
||||
<German>Tourniquet entfernen</German>
|
||||
<Spanish>Quitar torniquete</Spanish>
|
||||
<Russian>Снять жгут</Russian>
|
||||
<Czech>Sundat škrtidlo</Czech>
|
||||
@ -378,6 +390,22 @@
|
||||
<Hungarian>Érszorító leszedése</Hungarian>
|
||||
<Italian>Rimuovi laccio emostatico</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_ACTIONS_Diagnose">
|
||||
<English>Diagnose</English>
|
||||
<German>Diagnose</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_ACTIONS_Diagnosing">
|
||||
<English>Diagnosing ...</English>
|
||||
<German>Diagnostizieren ...</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_ACTIONS_CPR">
|
||||
<English>CPR</English>
|
||||
<German>HLW</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_ACTIONS_PerformingCPR">
|
||||
<English>Performing CPR ...</English>
|
||||
<German>HLW durchführen ...</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_ACTIONS_Blood4_1000">
|
||||
<English>Give Blood IV (1000ml)</English>
|
||||
<German>Bluttransfusion IV (1000ml)</German>
|
||||
@ -446,7 +474,7 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_ACTIONS_Saline4_1000">
|
||||
<English>Give Saline IV (1000ml)</English>
|
||||
<German>Kochsaltzlösung IV (1000ml)</German>
|
||||
<German>Kochsalzlösung IV (1000ml)</German>
|
||||
<Spanish>Dar Salino IV (1000ml)</Spanish>
|
||||
<Russian>Перелить пакет физраствора (1000 мл)</Russian>
|
||||
<Polish>Podaj sól fizjologiczną IV (1000ml)</Polish>
|
||||
@ -457,7 +485,7 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_ACTIONS_Saline4_500">
|
||||
<English>Give Saline IV (500ml)</English>
|
||||
<German>Kochsaltzlösung IV (500ml)</German>
|
||||
<German>Kochsalzlösung IV (500ml)</German>
|
||||
<Spanish>Dar Salino IV (500ml)</Spanish>
|
||||
<Russian>Перелить пакет физраствора (500 мл)</Russian>
|
||||
<Polish>Podaj sól fizjologiczną IV (500ml)</Polish>
|
||||
@ -468,7 +496,7 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_ACTIONS_Saline4_250">
|
||||
<English>Give Saline IV (250ml)</English>
|
||||
<German>Kochsaltzlösung IV (250ml)</German>
|
||||
<German>Kochsalzlösung IV (250ml)</German>
|
||||
<Spanish>Dar Salino IV (250ml)</Spanish>
|
||||
<Russian>Перелить пакет физраствора (250 мл)</Russian>
|
||||
<Polish>Podaj sól fizjologiczną IV (250ml)</Polish>
|
||||
@ -611,7 +639,7 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_STATUS_TOURNIQUET_APPLIED">
|
||||
<English>Tourniquet [CAT]</English>
|
||||
<German>Aderpresse [CAT]</German>
|
||||
<German>Tourniquet [CAT]</German>
|
||||
<Russian>Жгут</Russian>
|
||||
<Spanish>Torniquete [CAT]</Spanish>
|
||||
<French>Garrot [CAT]</French>
|
||||
@ -674,7 +702,7 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_PACKING_BANDAGE_DESC_SHORT">
|
||||
<English>Used to pack medium to large wounds and stem the bleeding</English>
|
||||
<German>Verwendet, um mittlere bis große Wunden abzudecken und Blutungen zu stoppen</German>
|
||||
<German>Wird verwendet, um mittlere bis große Wunden abzudecken und Blutungen zu stoppen</German>
|
||||
<Russian>Для тампонирования ран среднего и большого размера и остановки кровотечения.</Russian>
|
||||
<Spanish>Se utiliza para vendar heridas medianas o grandes y detener el sangrado</Spanish>
|
||||
<French>Utilisé pour couvrir des blessures de taille moyenne à grande. Arrête l'hémorragies</French>
|
||||
@ -690,6 +718,7 @@
|
||||
<Polish>Opatrunek stosowany w celu zatrzymania krwawienia i osłony większych ran.</Polish>
|
||||
<Hungarian>Egy kötszerfajta, melyet a sebek nyomására használnak a vérzés elállítása és sebgyógyulás érdekében. A nyomókötés egy lehetőség nagyobb polytraumatikus sérülések esetén.</Hungarian>
|
||||
<Italian>Un bendaggio usato per bendare ferite con emorragie e facilitare la guarigione. Bendare una ferita è una opzione su ferite di vario tipo.</Italian>
|
||||
<German>Ein Verband, um die Wunde abzudecken und die Wundheilung zu fördern. Wunden abdecken ist eine Option bei größeren Polytraumen</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY">
|
||||
<English>Bandage (Elastic)</English>
|
||||
@ -714,7 +743,7 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_BANDAGE_ELASTIC_DESC_USE">
|
||||
<English>Allows an even compression and extra support to the injured area.</English>
|
||||
<German></German>
|
||||
<German>Ermöglicht eine gleichmäßige Kompression und zusätzliche Unterstützung für den verletzten Bereich.</German>
|
||||
<Russian>Давящая повязка обеспечивает равномерное сжатие и дополнительную поддержку поврежденной области</Russian>
|
||||
<French>Ce bandage peut être utilisé pour compresser la plaie afin de ralentir le saignement et assurer la tenue du bandage lors de mouvement.</French>
|
||||
<Polish>Elastyczna opaska podtrzymująca opatrunek oraz usztywniająca okolice stawów.</Polish>
|
||||
@ -724,7 +753,7 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_TOURNIQUET_DISPLAY">
|
||||
<English>Tourniquet (CAT)</English>
|
||||
<German>Aderpresse (CAT)</German>
|
||||
<German>Tourniquet [CAT]</German>
|
||||
<Russian>Жгут</Russian>
|
||||
<Spanish>Torniquete (CAT)</Spanish>
|
||||
<French>Garrot (CAT)</French>
|
||||
@ -832,7 +861,7 @@
|
||||
<Spanish>Aumenta la frecuencia cardiaca y contraresta los efectos de las reacciones alérgicas</Spanish>
|
||||
<French>Augmente la fréquence cadiaque et annule les effets d'une réaction anaphylactique</French>
|
||||
<Polish>Adrenalina. Zwiększa puls i przeciwdziała efektom wywołanym przez reakcje alergiczne</Polish>
|
||||
<German>Steigert die Herzfrequenz, um den Effekt von allergischen Reaktionen zu bekämpfen</German>
|
||||
<German>Steigert die Herzfrequenz und bekämpft Symptome von allergischen Reaktionen.</German>
|
||||
<Hungarian>Növeli a szívverést és ellenzi az allergiás reakciók hatásait</Hungarian>
|
||||
<Italian>Aumenta il battito cardiaco e combatte gli effetti di reazioni allergiche.</Italian>
|
||||
</Key>
|
||||
@ -843,6 +872,7 @@
|
||||
<French>Medicament qui fonctionne sur le système nerveux sympathique créant une dilatation des bronches, augmente la fréquence cardiaque et annule les effets d'une réaction allergique (anaphylaxie). Utilisé lors d'arrêt cardio-respiratoire pour augmenter les chances de retrouver un pouls.</French>
|
||||
<Polish>EpiPen z adrenaliną ma działanie sympatykomimetyczne, tj. pobudza receptory alfa- i beta-adrenergiczne. Pobudzenie układu współczulnego prowadzi do zwiększenia częstotliwości pracy serca, zwiększenia pojemności wyrzutowej serca i przyśpieszenia krążenia wieńcowego. Pobudzenie oskrzelowych receptorów beta-adrenergicznych wywołuje rozkurcz mięśni gładkich oskrzeli, co w efekcie zmniejsza towarzyszące oddychaniu świsty i duszności.</Polish>
|
||||
<Italian>Una sostanza che permette di dilatare i bronchi, aumentare il battito cardiaco e combattere effetti di reazioni allergiche. Usato anche in casi di arresto cardiaco.</Italian>
|
||||
<German>Ein Medikament, dass die Bronchien erweitert, die Herzfrequenz erhöht und Symptome von allergischen Reaktionen(Anaphylaxie) bekämpft. Wird bei plötzlichem Herzstillstand verabreicht.</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_PLASMA_IV">
|
||||
<English>Plasma IV (1000ml)</English>
|
||||
@ -862,6 +892,7 @@
|
||||
<Polish>Składnik krwi, używany do zwiększenia jej objętości.</Polish>
|
||||
<Hungarian>Egy térfogatnövelő vérkiegészítmény.</Hungarian>
|
||||
<Italian>Aiuta ad aumentare il volume sanguigno.</Italian>
|
||||
<German>Volumenerweiterungsmittel (künstliches Blutvolumen)</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_PLASMA_IV_DESC_USE">
|
||||
<English>A volume-expanding blood supplement.</English>
|
||||
@ -871,6 +902,7 @@
|
||||
<Polish>Składnik krwi, używany do zwiększenia jej objętości.</Polish>
|
||||
<Hungarian>Egy térfogatnövelő vérkiegészítmény.</Hungarian>
|
||||
<Italian>Aiuta ad aumentare il volume sanguigno.</Italian>
|
||||
<German>Volumenerweiterungsmittel (künstliches Blutvolumen)</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_PLASMA_IV_500">
|
||||
<English>Plasma IV (500ml)</English>
|
||||
@ -910,6 +942,7 @@
|
||||
<Polish>Krew IV, używana do uzupełnienia krwi u pacjenta, trzymać w warunkach chłodniczych</Polish>
|
||||
<Hungarian>Vér-infúzió, intravénás bejuttatásra egy páciensnek (hidegen tárolandó)</Hungarian>
|
||||
<Italian>Sangue usato per ripristinare pazienti in cui si è verificata una perdita di sangue (conservare al fresco)</Italian>
|
||||
<German>Blut IV, Bluthaushalt des Patienten wiederherstellen. (Kühl halten)</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_BLOOD_IV_DESC_USE">
|
||||
<English>O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care.</English>
|
||||
@ -918,6 +951,7 @@
|
||||
<Spanish>Utilice sólo durante gran pérdida de sangre para reemplazar el volumen de sangre perdida. Uso habitual durante el transporte de heridos.</Spanish>
|
||||
<Italian>Sangue 0 negativo usato per ripristinare sangue in pazienti in cui si è verificata una perdita di sangue.</Italian>
|
||||
<French>Cullot sanguin O- utilisé dans de rares et stricts cas pour compléter une perte de sang importante. Administré normalement lors d'un MEDEVAC</French>
|
||||
<German>O Negative Blutinfusion wird nur in seltenen Fällen verwendet, um den Bluthaushalt des Patienten zu ergänzen. Wird in der Regel wärend der Transportphase durchgeführt.</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_BLOOD_IV_500">
|
||||
<English>Blood IV (500ml)</English>
|
||||
@ -957,6 +991,7 @@
|
||||
<Polish>Sól fizjologiczna, podawana dożylnie (IV), używana w celu uzupełnienia krwi u pacjenta</Polish>
|
||||
<Hungarian>0,9%-os sósvíz-infúzió, a páciens vérmennyiségének helyreállítására</Hungarian>
|
||||
<Italian>Soluzione salina, usata per ripristinare sangue nei pazienti.</Italian>
|
||||
<German>Kochsalzlösung, ein medizinisches Volumenersatzmittel</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_SALINE_IV_DESC_USE">
|
||||
<English>A medical volume-replenishing agent introduced into the blood system through an IV infusion.</English>
|
||||
@ -966,6 +1001,7 @@
|
||||
<Polish>Używany w medycynie w formie płynu infuzyjnego jako środek nawadniający i uzupełniający niedobór elektrolitów, podawany dożylnie (IV).</Polish>
|
||||
<Hungarian>Egy orvosi térfogat-helyreállító készítmény, melyet intravénás módon lehet a szervezetbe juttatni.</Hungarian>
|
||||
<Italian>Una soluzione medica per ripristinare il volume del sangue introdotta tramite trasfusione IV.</Italian>
|
||||
<German>Ein medizinisches Volumenersatzmittel, dass durch einen intravenösen Zugang in den Blutkreislauf verabreicht wird. </German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_SALINE_IV_500">
|
||||
<English>Saline IV (500ml)</English>
|
||||
@ -1038,12 +1074,12 @@
|
||||
<Italian>Include vario materiale medico per trattamenti avanzati.</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_AID_KIT_DESC_USE">
|
||||
<English></English>
|
||||
<Russian></Russian>
|
||||
<French></French>
|
||||
<Spanish></Spanish>
|
||||
<English>Personal Aid Kit for in field stitching or advanced treatment</English>
|
||||
<Polish>W znacznym stopniu poprawia stan pacjenta</Polish>
|
||||
<Italian></Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_USE_AID_KIT">
|
||||
<English>Use Personal Aid Kit</English>
|
||||
<German>Verbandpäckchen benutzen</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_SURGICALKIT_DISPLAY">
|
||||
<English>Surgical Kit</English>
|
||||
@ -1075,6 +1111,10 @@
|
||||
<Hungarian>Sebészeti készlet komplex orvosi feladatok terepen való ellátására</Hungarian>
|
||||
<Italian>Kit chirurgico per trattamenti avanzati sul campo.</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_USE_SURGICALKIT">
|
||||
<English>Use Surgical Kit</English>
|
||||
<German>Operationsset benutzen</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_BODYBAG_DISPLAY">
|
||||
<English>Bodybag</English>
|
||||
<French>Housse mortuaire</French>
|
||||
@ -1125,6 +1165,10 @@
|
||||
<Hungarian>Vérnyomás megmérése...</Hungarian>
|
||||
<Italian>Controllando la pressione sanguigna..</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_LOG">
|
||||
<English>%1 checked Blood Pressure: %2</English>
|
||||
<German>%1 kontrollierte Blutdruck: %2</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_CHECKED_MEDIC">
|
||||
<English>You checked %1</English>
|
||||
<French>Vous diagnostiquez %1</French>
|
||||
@ -1143,6 +1187,7 @@
|
||||
<Hungarian>A vérnyomás %2/%3</Hungarian>
|
||||
<Italian>Hai riscontrato una pressione di %2/%3</Italian>
|
||||
<Polish>Wyczuwasz ciśnienie krwi o wartości %2/%3</Polish>
|
||||
<German>Der Blutdruck liegt bei %2/%3</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_2">
|
||||
<English>You find a low blood pressure</English>
|
||||
@ -1194,6 +1239,22 @@
|
||||
<Hungarian>Nem sikerült a vérnyomás megmérése</Hungarian>
|
||||
<Italian>Manca strumento per misurare pressione sanguigna</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_LOW">
|
||||
<English>Low</English>
|
||||
<German>Niedrig</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_NORMAL">
|
||||
<English>Normal</English>
|
||||
<German>Normal</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_HIGH">
|
||||
<English>High</English>
|
||||
<German>Hoch</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_NOBLOODPRESSURE">
|
||||
<English>No Blood Pressure</English>
|
||||
<German>Kein Blutdruck</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE">
|
||||
<English>Pulse</English>
|
||||
<Russian>Пульс</Russian>
|
||||
@ -1205,14 +1266,14 @@
|
||||
<Italian>Polso</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_CONTENT">
|
||||
<English>Checking Heart Rate..</English>
|
||||
<English>Checking Heart Rate ...</English>
|
||||
<French>Vérification du rythme cardiaque ...</French>
|
||||
<Russian>Проверка пульса ...</Russian>
|
||||
<Spanish>Comprobando ritmo cardíaco...</Spanish>
|
||||
<Polish>Sprawdzanie tętna...</Polish>
|
||||
<German>Kontrolliere Herzfrequenz</German>
|
||||
<Spanish>Comprobando ritmo cardíaco ...</Spanish>
|
||||
<Polish>Sprawdzanie tętna ...</Polish>
|
||||
<German>Kontrolliere Herzfrequenz ...</German>
|
||||
<Hungarian>Szívverés-szám mérése...</Hungarian>
|
||||
<Italian>Controllando il battito cardiaco..</Italian>
|
||||
<Italian>Controllando il battito cardiaco ...</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_CHECKED_MEDIC">
|
||||
<English>You checked %1</English>
|
||||
@ -1220,10 +1281,26 @@
|
||||
<French>Vous examinez %1</French>
|
||||
<Spanish>Examinando a %1</Spanish>
|
||||
<Polish>Zbadałeś %1</Polish>
|
||||
<German>Kontrolliertt %1</German>
|
||||
<German>Kontrolliert %1</German>
|
||||
<Hungarian>A %1 ellenőrizve</Hungarian>
|
||||
<Italian>Hai diagnosticato %1</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_LOG">
|
||||
<English>%1 checked Heart Rate: %2</English>
|
||||
<German>%1 kontrollierte Herzfrequenz: %2</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_WEAK">
|
||||
<English>Weak</English>
|
||||
<German>Schwach</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_NORMAL">
|
||||
<English>Normal</English>
|
||||
<German>Normal</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_STRONG">
|
||||
<English>Strong</English>
|
||||
<German>Stark</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_1">
|
||||
<English>You find a Heart Rate of %2</English>
|
||||
<French>Rythme carquiaque de %2</French>
|
||||
@ -1320,7 +1397,7 @@
|
||||
<French>Vous avez examiné %1</French>
|
||||
<Spanish>Examinas a %1</Spanish>
|
||||
<Polish>Zbadałeś %1</Polish>
|
||||
<German>Du versucht %1 anzusprechen</German>
|
||||
<German>Du hast versucht, %1 anzusprechen</German>
|
||||
<Hungarian>Megnézted %1-t</Hungarian>
|
||||
<Italian>Hai controllato %1</Italian>
|
||||
</Key>
|
||||
@ -1354,6 +1431,7 @@
|
||||
<Polish>Zabandażowano</Polish>
|
||||
<Hungarian>Bekötözve</Hungarian>
|
||||
<Italian>Bendato</Italian>
|
||||
<German>verbunden</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_APPLY_BANDAGE">
|
||||
<English>You bandage %1 (%2)</English>
|
||||
@ -1363,6 +1441,7 @@
|
||||
<Polish>Bandażujesz %1 (%2)</Polish>
|
||||
<Hungarian>Bekötözöd %1-t (%2)</Hungarian>
|
||||
<Italian>Stai bendando %1 (%2)</Italian>
|
||||
<German>Du verbindest %1 (%2)</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_IS_BANDAGING_YOU">
|
||||
<English>%1 is bandaging you</English>
|
||||
@ -1372,10 +1451,12 @@
|
||||
<Polish>%1 bandażuje Ciebie</Polish>
|
||||
<Hungarian>%1 bekötöz téged</Hungarian>
|
||||
<Italian>%1 ti sta bendando</Italian>
|
||||
<German>%1 verbindet dich</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MEDICAL_START_STITCHING_INJURIES">
|
||||
<English>You start stitching injures from %1 (%2)</English>
|
||||
<English>You start stitching injuries from %1 (%2)</English>
|
||||
<Russian>Вы зашиваете ранения от %1 (%2)</Russian>
|
||||
<German>Du nähst die Wunden von %1 (%2)</German>
|
||||
<French>Vous suturez %1 (%2)</French>
|
||||
<Spanish>Estás suturando heridas de %1 en %2</Spanish>
|
||||
<Polish>Zszywasz rany %1 (%2)</Polish>
|
||||
@ -1385,8 +1466,9 @@
|
||||
<Key ID="STR_ACE_MEDICAL_STITCHING">
|
||||
<English>Stitching</English>
|
||||
<Russian>Наложение швов</Russian>
|
||||
<French>Sutures</French>
|
||||
<Spanish>Suturando</Spanish>
|
||||
<German>Nähen</German>
|
||||
<French>Sutures</French>
|
||||
<Polish>Szycie</Polish>
|
||||
<Hungarian>Összevarrás</Hungarian>
|
||||
<Italian>Suturando</Italian>
|
||||
@ -1394,8 +1476,9 @@
|
||||
<Key ID="STR_ACE_MEDICAL_YOU_TREAT_AIRWAY">
|
||||
<English>You treat the airway of %1</English>
|
||||
<Russian>Вы интубируете раненого %1</Russian>
|
||||
<French>Vous traitez les voies respiratoires de %1</French>
|
||||
<Spanish>Estás intubando a %1</Spanish>
|
||||
<German>Du behandelst die Atemwege von %1</German>
|
||||
<French>Vous traitez les voies respiratoires de %1</French>
|
||||
<Polish>Udrażniasz drogi oddechowe %1</Polish>
|
||||
<Hungarian>Kezeled %1 légútját</Hungarian>
|
||||
<Italian>Controlli le vie respiratorie di %1</Italian>
|
||||
@ -1416,6 +1499,7 @@
|
||||
<French>%1 traite vos voies respiratoires</French>
|
||||
<Spanish>%1 te está intubando</Spanish>
|
||||
<Polish>%1 udrażnia Twoje drogi oddechowe</Polish>
|
||||
<German>%1 behandelt deine Atemwege</German>
|
||||
<Hungarian>%1 kezeli a légútadat</Hungarian>
|
||||
<Italian>%1 ti sta trattando le vie respiratorie</Italian>
|
||||
</Key>
|
||||
@ -1483,6 +1567,7 @@
|
||||
<English>Unload patient</English>
|
||||
<Spanish>Descargar el paciente</Spanish>
|
||||
<Russian>Выгрузить пациента</Russian>
|
||||
<German>Patient Ausladen</German>
|
||||
<Polish>Wyładuj pacjenta</Polish>
|
||||
<French>Débarquer le patient</French>
|
||||
<Hungarian>Sebesült kihúzása</Hungarian>
|
||||
@ -1492,6 +1577,7 @@
|
||||
<English>Load patient</English>
|
||||
<Spanish>Cargar el paciente en</Spanish>
|
||||
<Russian>Погрузить пациента</Russian>
|
||||
<German>Patient Einladen</German>
|
||||
<Polish>Załaduj pacjenta</Polish>
|
||||
<French>Embarquer le patient</French>
|
||||
<Hungarian>Sebesült berakása</Hungarian>
|
||||
@ -1501,6 +1587,7 @@
|
||||
<English>Place body in bodybag</English>
|
||||
<Spanish>Colocar cuerpo en bolsa para cadáveres</Spanish>
|
||||
<Russian>Поместить тело в мешок для трупов</Russian>
|
||||
<German>Körper in Leichesack verstauen</German>
|
||||
<Polish>Zapakuj ciało do worka na zwłoki</Polish>
|
||||
<French>Mettre le corps dans la housse mortuaire</French>
|
||||
<Hungarian>Test hullazsákba helyezése</Hungarian>
|
||||
@ -1510,6 +1597,7 @@
|
||||
<English>Placing body in bodybag</English>
|
||||
<Spanish>Colocando cuerpo en bolsa para cadáveres</Spanish>
|
||||
<Russian>Упаковка тела ...</Russian>
|
||||
<German>Verstaue Körper in Leichensack</German>
|
||||
<Polish>Pakowanie ciała do worka na zwłoki</Polish>
|
||||
<French>Placement du corps dans la housse</French>
|
||||
<Hungarian>Test hullazsákba helyezése ...</Hungarian>
|
||||
@ -1519,6 +1607,7 @@
|
||||
<English>%1 has bandaged patient</English>
|
||||
<Spanish>%1 has vendado al paciente</Spanish>
|
||||
<Russian>%1 перевязал пациента</Russian>
|
||||
<German>%1 hat den Patienten verbunden</German>
|
||||
<Polish>%1 zabandażował pacjenta</Polish>
|
||||
<French>%1 a pansé le patient</French>
|
||||
<Hungarian>%1 bekötözte a pácienst</Hungarian>
|
||||
@ -1527,6 +1616,7 @@
|
||||
<Key ID="STR_ACE_MEDICAL_ACTIVITY_usedItem">
|
||||
<English>%1 used %2</English>
|
||||
<Spanish>%1 usó %2</Spanish>
|
||||
<German>%1 benutzt %2</German>
|
||||
<Russian>%1 использовал %2</Russian>
|
||||
<Polish>%1 użył %2</Polish>
|
||||
<French>%1 utilise %2</French>
|
||||
@ -1537,6 +1627,7 @@
|
||||
<English>%1 has given an IV</English>
|
||||
<Spanish>%1 has puesto una IV</Spanish>
|
||||
<Russian>%1 провел переливание</Russian>
|
||||
<German>%1 hat eine Infusion verabreicht</German>
|
||||
<Polish>%1 podał IV</Polish>
|
||||
<French>%1 a administré une IV</French>
|
||||
<Hungarian>%1 infúziót adott</Hungarian>
|
||||
@ -1546,6 +1637,7 @@
|
||||
<English>%1 applied a tourniquet</English>
|
||||
<Spanish>%1 aplicado torniquete</Spanish>
|
||||
<Russian>%1 наложил жгут</Russian>
|
||||
<German>%1 hat einen Tourniquet angelegt</German>
|
||||
<Polish>%1 założył stazę</Polish>
|
||||
<French>%1 a appliqué un garrot</French>
|
||||
<Hungarian>%1 felhelyezett egy érszorítót</Hungarian>
|
||||
@ -1659,5 +1751,145 @@
|
||||
<Spanish>Aberración cromática</Spanish>
|
||||
<French>Aberration chromatique</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_Abrasion">
|
||||
<English>Scrape</English>
|
||||
<German>Kratzer</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_Abrasion_Minor">
|
||||
<English>Minor Scrape</English>
|
||||
<German>Kleiner Kratzer</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_Abrasion_Medium">
|
||||
<English>Medium Scrape</English>
|
||||
<German>Mittlerer Kratzer</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_Abrasion_Large">
|
||||
<English>Large Scrape</English>
|
||||
<German>Großer Kratzer</German>
|
||||
</Key>
|
||||
|
||||
<Key ID="STR_ACE_Medical_Wounds_Avulsion">
|
||||
<English>Avulsion</English>
|
||||
<German>Avulsion</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_Avulsion_Minor">
|
||||
<English>Minor Avulsion</English>
|
||||
<German>Kleine Avulsion</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_Avulsion_Medium">
|
||||
<English>Medium Avulsion</English>
|
||||
<German>Mittlere Avulsion</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_Avulsion_Large">
|
||||
<English>Large Avulsion</English>
|
||||
<German>Große Avulsion</German>
|
||||
</Key>
|
||||
|
||||
<Key ID="STR_ACE_Medical_Wounds_Contusion">
|
||||
<English>Bruise</English>
|
||||
<German>Prellung</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_Contusion_Minor">
|
||||
<English>Minor Bruise</English>
|
||||
<German>Kleine Prellung</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_Contusion_Medium">
|
||||
<English>Medium Bruise</English>
|
||||
<German>Mittlere Prellung</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_Contusion_Large">
|
||||
<English>Large Bruise</English>
|
||||
<German>Große Prellung</German>
|
||||
</Key>
|
||||
|
||||
<Key ID="STR_ACE_Medical_Wounds_Crush">
|
||||
<English>Crushed tissue</English>
|
||||
<German>Quetschverletzung</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_Crush_Minor">
|
||||
<English>Minor crushed tissue</English>
|
||||
<German>Kleine Quetschverletzung</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_Crush_Medium">
|
||||
<English>Medium crushed tissue</English>
|
||||
<German>Mittlere Quetschverletzung</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_Crush_Large">
|
||||
<English>Large crushed tissue</English>
|
||||
<German>Große Quetschverletzung</German>
|
||||
</Key>
|
||||
|
||||
<Key ID="STR_ACE_Medical_Wounds_Cut">
|
||||
<English>Cut</English>
|
||||
<German>Schnittwunde</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_Cut_Minor">
|
||||
<English>Small Cut</English>
|
||||
<German>Kleine Schnittwunde</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_Cut_Medium">
|
||||
<English>Medium Cut</English>
|
||||
<German>Mittlere Schnittwunde</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_Cut_Large">
|
||||
<English>Large Cut</English>
|
||||
<German>Große Schnittwunde</German>
|
||||
</Key>
|
||||
|
||||
<Key ID="STR_ACE_Medical_Wounds_Laceration">
|
||||
<English>Tear</English>
|
||||
<German>Riss</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_Laceration_Minor">
|
||||
<English>Small Tear</English>
|
||||
<German>Kleiner Riss</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_Laceration_Medium">
|
||||
<English>Medium Tear</English>
|
||||
<German>Mittlerer Riss</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_Laceration_Large">
|
||||
<English>Large Tear</English>
|
||||
<German>Großer Riss</German>
|
||||
</Key>
|
||||
|
||||
<Key ID="STR_ACE_Medical_Wounds_VelocityWound">
|
||||
<English>Velocity Wound</English>
|
||||
<German>Ballistisches Trauma</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_VelocityWound_Minor">
|
||||
<English>Smal Velocity Wound</English>
|
||||
<German>Kleines Ballistisches Trauma</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_VelocityWound_Medium">
|
||||
<English>Medium Velocity Wound</English>
|
||||
<German>Mittleres Ballistisches Trauma</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_VelocityWound_Large">
|
||||
<English>Large Velocity Wound</English>
|
||||
<German>Großes Ballistisches Trauma</German>
|
||||
</Key>
|
||||
|
||||
<Key ID="STR_ACE_Medical_Wounds_PunctureWound">
|
||||
<English>Puncture Wound</English>
|
||||
<German>Stichwunde</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_PunctureWound_Minor">
|
||||
<English>Minor Puncture Wound</English>
|
||||
<German>Kleine Stichwunde</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_PunctureWound_Medium">
|
||||
<English>Medium Puncture Wound</English>
|
||||
<German>Mittlere Stichwunde</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Wounds_PunctureWound_Large">
|
||||
<English>Large Puncture Wound</English>
|
||||
<German>Große Stichwunde</German>
|
||||
</Key>
|
||||
|
||||
<Key ID="STR_ACE_Medical_Wounds_Femur">
|
||||
<English>Broken Femur</English>
|
||||
<German>Gebrochener Oberschenkelknochen</German>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
@ -60,7 +60,7 @@ class Rsctitles {
|
||||
font = "PuristaMedium";
|
||||
colorText[] = {0.95, 0.95, 0.95, 0.75};
|
||||
colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"};
|
||||
text = "INJURIES";
|
||||
text = "$STR_ACE_Medical_Injuries";
|
||||
};
|
||||
class InjuryList: ACE_gui_listBoxBase {
|
||||
idc = 200;
|
||||
|
@ -49,7 +49,7 @@ class GVAR(triageCard) {
|
||||
font = "PuristaMedium";
|
||||
colorText[] = {0,0,0,1};
|
||||
colorBackground[] = {0,0,0,0};
|
||||
text = "TRIAGE CARD";
|
||||
text = "$STR_ACE_MEDICAL_ACTIONS_TriageCard";
|
||||
};
|
||||
class TriageList: ACE_gui_listBoxBase {
|
||||
idc = 200;
|
||||
|
@ -138,7 +138,7 @@
|
||||
<Key ID="STR_ACE_microdagr_controlRange">
|
||||
<English>Range:</English>
|
||||
<Spanish>Distancia:</Spanish>
|
||||
<German>Reichweite:</German>
|
||||
<German>Distanz:</German>
|
||||
<Russian>Дистанция:</Russian>
|
||||
<Polish>Dystans:</Polish>
|
||||
<French>Distance:</French>
|
||||
@ -236,7 +236,7 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_toggleUnit">
|
||||
<English>Toggle MicroDAGR Display Mode</English>
|
||||
<German>MicoDAGR Anzeigemodus Wechseln</German>
|
||||
<German>MicoDAGR Anzeigemodus wechseln</German>
|
||||
<Spanish>Conmutar modo de pantalla del MicroDAGR</Spanish>
|
||||
<Russian>Сменить режим показа MicroDAGR</Russian>
|
||||
<Polish>Przełącz GUI MicroDAGR</Polish>
|
||||
@ -258,7 +258,7 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_configure">
|
||||
<English>Configure MicroDAGR</English>
|
||||
<German>MicroDAGR Konfiguriere</German>
|
||||
<German>Konfiguriere MicroDAGR</German>
|
||||
<Spanish>Configurar MicroDAGR</Spanish>
|
||||
<Russian>Настроить MicroDAGR</Russian>
|
||||
<Czech>Konfigurovat MicroDAGR GPS</Czech>
|
||||
|
@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Edited with tabler. -->
|
||||
<Project name="ACE">
|
||||
<Package name="missileguidance">
|
||||
<Key ID="STR_ACE_MissileGuidance">
|
||||
|
@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Edited with tabler - 2015-04-06 -->
|
||||
<Project name="ACE">
|
||||
<Package name="mk6mortar">
|
||||
<Key ID="STR_ACE_MK6MORTAR_rangetable_name">
|
||||
|
@ -62,7 +62,7 @@
|
||||
<Key ID="STR_ACE_NameTags_ShowVehicleCrewInfo">
|
||||
<English>Show vehicle crew info</English>
|
||||
<French>Afficher les informations de l'équipage</French>
|
||||
<German>Zeige Fahrzeugbesatzung</German>
|
||||
<German>Fahrzeugbesatzung anzeigen</German>
|
||||
<Spanish>Mostrar tripulantes</Spanish>
|
||||
<Polish>Pokaż załogę pojazdu</Polish>
|
||||
<Czech>Zobrazit info o posádce vozidla</Czech>
|
||||
@ -72,7 +72,7 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_NameTags_ShowNamesForAI">
|
||||
<English>Show name tags for AI units</English>
|
||||
<German>Zeige Namen für KI Einheiten</German>
|
||||
<German>Namen für KI Einheiten anzeigen</German>
|
||||
<Spanish>Mostrar etiquetas de nombre para unidades IA </Spanish>
|
||||
<Russian>Показывать имена ботов</Russian>
|
||||
<Czech>Zobrazit jména AI</Czech>
|
||||
@ -83,7 +83,7 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_NameTags_ShowSoundWaves">
|
||||
<English>Show SoundWaves (requires player names)</English>
|
||||
<German>Zeigen Schallwellen (benötigt Spielernamen)</German>
|
||||
<German>Schallwellen anzeigen (benötigt Spielernamen)</German>
|
||||
<Spanish>Mostrar onda sonora (requiere Mostrar nombres de jugadores)</Spanish>
|
||||
<Russian>Индикатор разговора (при вкл. именах)</Russian>
|
||||
<Czech>Zobrazit SoundWaves (vyžaduje jména hráčů)</Czech>
|
||||
|
@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Edited with tabler. -->
|
||||
<Project name="ACE">
|
||||
<Package name="Optics">
|
||||
<Key ID="STR_ACE_optic_hamr">
|
||||
|
@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Edited with tabler. -->
|
||||
<Project name="ACE">
|
||||
<Package name="OptionsMenu">
|
||||
<Key ID="STR_ACE_OptionsMenu_OpenConfigMenu">
|
||||
@ -27,7 +26,7 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_OptionsMenu_ResetAll">
|
||||
<English>Reset All</English>
|
||||
<German>Alles Zurücksetzen</German>
|
||||
<German>Alles zurücksetzen</German>
|
||||
<Spanish>Reiniciar todo</Spanish>
|
||||
<Russian>Полный сброс</Russian>
|
||||
<Czech>Vyresetovat vše</Czech>
|
||||
@ -129,7 +128,7 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_OptionsMenu_stringType">
|
||||
<English>String input.</English>
|
||||
<German>String input.</German>
|
||||
<German>Zeichenketteneingabe</German>
|
||||
<Spanish>Introducir frase</Spanish>
|
||||
<Russian>Строчный ввод.</Russian>
|
||||
<Polish>Wpisywanie tekstu.</Polish>
|
||||
@ -150,7 +149,7 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_OptionsMenu_scalarType">
|
||||
<English>Number</English>
|
||||
<German>Nummer</German>
|
||||
<German>Zahl</German>
|
||||
<Spanish>Numero</Spanish>
|
||||
<Russian>Число</Russian>
|
||||
<Czech>Číslo</Czech>
|
||||
@ -183,7 +182,7 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_OptionsMenu_inClientSettings">
|
||||
<English>Include Client Settings</English>
|
||||
<German>Beinhalte Client-Einstellungen</German>
|
||||
<German>Schließe Client-Einstellungen ein</German>
|
||||
<Spanish>Incluir configuración de cliente</Spanish>
|
||||
<Russian>Включить настройки клиента</Russian>
|
||||
<Czech>Zahrnout nastavení klienta</Czech>
|
||||
@ -221,4 +220,4 @@
|
||||
<Spanish>Opción de escalado del menú UI</Spanish>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
</Project>
|
||||
|
@ -130,6 +130,7 @@
|
||||
<Russian>Проверить температуру оружия</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Overheating_CheckTemperatureShort">
|
||||
<German>Waffentemperatur<br/>prüfen</German>
|
||||
<English>Check weapon temperature</English>
|
||||
<Spanish>Verificar temperatura del arma</Spanish>
|
||||
<Polish>Sprawdź temperaturę broni</Polish>
|
||||
@ -164,4 +165,4 @@
|
||||
<Russian>Температура</Russian>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
</Project>
|
||||
|
@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Edited with tabler. -->
|
||||
<Project name="ACE">
|
||||
<Package name="Parachute">
|
||||
<Key ID="STR_ACE_Parachute_showAltimeter">
|
||||
|
@ -193,7 +193,7 @@ class CfgWeapons {
|
||||
};
|
||||
|
||||
// marksmen marksman
|
||||
/*class DMR_02_base_F: Rifle_Long_Base_F {
|
||||
class DMR_02_base_F: Rifle_Long_Base_F {
|
||||
displayName = "$STR_ACE_RealisticNames_DMR_02"; //MAR-10 .338";
|
||||
};
|
||||
|
||||
@ -208,7 +208,6 @@ class CfgWeapons {
|
||||
class srifle_DMR_02_sniper_F: srifle_DMR_02_F {
|
||||
displayName = "$STR_ACE_RealisticNames_srifle_DMR_02_sniper"; //MAR-10 .338 (Sand)";
|
||||
};
|
||||
*/
|
||||
class DMR_03_base_F: Rifle_Long_Base_F {
|
||||
displayName = "$STR_ACE_RealisticNames_DMR_03"; //Mk-I EMR 7.62 mm";
|
||||
};
|
||||
@ -236,7 +235,6 @@ class CfgWeapons {
|
||||
class srifle_DMR_03_spotter_F: srifle_DMR_03_F {
|
||||
displayName = "$STR_ACE_RealisticNames_srifle_DMR_03_spotter"; //NATO DMR (provisional) spotter";
|
||||
};
|
||||
/*
|
||||
class DMR_04_base_F: Rifle_Long_Base_F {
|
||||
displayName = "$STR_ACE_RealisticNames_DMR_04"; //ASP-1 Kir 12.7 mm";
|
||||
};
|
||||
@ -264,7 +262,6 @@ class CfgWeapons {
|
||||
class srifle_DMR_05_tan_f: srifle_DMR_05_blk_F {
|
||||
displayName = "$STR_ACE_RealisticNames_srifle_DMR_05_tan"; //Cyrus 9.3 mm (Tan)";
|
||||
};
|
||||
*/
|
||||
class DMR_06_base_F: Rifle_Long_Base_F {
|
||||
displayName = "$STR_ACE_RealisticNames_DMR_06"; //Mk14 7.62 mm";
|
||||
};
|
||||
@ -278,7 +275,6 @@ class CfgWeapons {
|
||||
};
|
||||
|
||||
// marksmen mgs
|
||||
/*
|
||||
class MMG_01_base_F: Rifle_Long_Base_F {
|
||||
displayName = "$STR_ACE_RealisticNames_MMG_01"; //Navid 9.3 mm";
|
||||
};
|
||||
@ -290,7 +286,6 @@ class CfgWeapons {
|
||||
class MMG_01_tan_F: MMG_01_hex_F {
|
||||
displayName = "$STR_ACE_RealisticNames_MMG_01_tan"; //Navid 9.3 mm (Tan)";
|
||||
};
|
||||
*/
|
||||
class MMG_02_base_F: Rifle_Long_Base_F {
|
||||
displayName = "$STR_ACE_RealisticNames_MMG_02"; //SPMG .338";
|
||||
};
|
||||
|
@ -1482,214 +1482,214 @@
|
||||
<Russian>VS-121</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_DMR_02">
|
||||
<English>TODO: MAR-10 .338</English>
|
||||
<Czech>TODO: MAR-10 .338</Czech>
|
||||
<French>MAR-10 .338</French>
|
||||
<Spanish>TODO: MAR-10 .338</Spanish>
|
||||
<Russian>TODO: MAR-10 .338</Russian>
|
||||
<English>Noreen "Bad News" ULR</English>
|
||||
<Czech>Noreen "Bad News" ULR</Czech>
|
||||
<French>Noreen "Bad News" ULR</French>
|
||||
<Spanish>Noreen "Bad News" ULR</Spanish>
|
||||
<Russian>Noreen "Bad News" ULR</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_srifle_DMR_02">
|
||||
<English>TODO: MAR-10 .338 (Black)</English>
|
||||
<Czech>TODO: MAR-10 .338 (Black)</Czech>
|
||||
<French>MAR-10 .338 (Noir)</French>
|
||||
<Spanish>TODO: MAR-10 .338 (Negro)</Spanish>
|
||||
<Russian>TODO: MAR-10 .338 (черный)</Russian>
|
||||
<English>Noreen "Bad News" ULR (Black)</English>
|
||||
<Czech>Noreen "Bad News" ULR (Black)</Czech>
|
||||
<French>Noreen "Bad News" ULR (Noir)</French>
|
||||
<Spanish>Noreen "Bad News" ULR (Negro)</Spanish>
|
||||
<Russian>Noreen "Bad News" ULR (черный)</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_srifle_DMR_02_camo">
|
||||
<English>TODO: MAR-10 .338 (Camo)</English>
|
||||
<Czech>TODO: MAR-10 .338 (Camo)</Czech>
|
||||
<French>MAR-10 .338 (Camo)</French>
|
||||
<Spanish>TODO: MAR-10 .338 (Camuflaje)</Spanish>
|
||||
<Russian>TODO: MAR-10 .338 (камо)</Russian>
|
||||
<English>Noreen "Bad News" ULR (Camo)</English>
|
||||
<Czech>Noreen "Bad News" ULR (Camo)</Czech>
|
||||
<French>Noreen "Bad News" ULR (Camo)</French>
|
||||
<Spanish>Noreen "Bad News" ULR (Camuflaje)</Spanish>
|
||||
<Russian>Noreen "Bad News" ULR (камо)</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_srifle_DMR_02_sniper">
|
||||
<English>TODO: MAR-10 .338 (Sand)</English>
|
||||
<Czech>TODO: MAR-10 .338 (Sand)</Czech>
|
||||
<French>MAR-10 .338 (Beige)</French>
|
||||
<Spanish>TODO: MAR-10 .338 (Arena)</Spanish>
|
||||
<Russian>TODO: MAR-10 .338 (песочный)</Russian>
|
||||
<English>Noreen "Bad News" ULR (Sand)</English>
|
||||
<Czech>Noreen "Bad News" ULR (Sand)</Czech>
|
||||
<French>Noreen "Bad News" ULR (Beige)</French>
|
||||
<Spanish>Noreen "Bad News" ULR (Arena)</Spanish>
|
||||
<Russian>Noreen "Bad News" ULR (песочный)</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_DMR_03">
|
||||
<English>SG 556 7.62 mm</English>
|
||||
<Czech>SG 556 7.62 mm</Czech>
|
||||
<French>SG 556 7.62 mm</French>
|
||||
<Spanish>SG 556 7.62 mm</Spanish>
|
||||
<Russian>SG 556 7.62 мм</Russian>
|
||||
<Polish>SG 556 7,62 mm</Polish>
|
||||
<English>SIG 556</English>
|
||||
<Czech>SIG 556</Czech>
|
||||
<French>SIG 556</French>
|
||||
<Spanish>SIG 556</Spanish>
|
||||
<Russian>SIG 556</Russian>
|
||||
<Polish>SIG 556</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03">
|
||||
<English>SG 556 7.62 mm (Black)</English>
|
||||
<Czech>SG 556 7.62 mm (Black)</Czech>
|
||||
<French>SG 556 7.62 mm (Noir)</French>
|
||||
<Spanish>SG 556 7.62 mm (Negro)</Spanish>
|
||||
<Russian>SG 556 7.62 мм (черный)</Russian>
|
||||
<Polish>SG 556 7,62 mm (czarny)</Polish>
|
||||
<English>SIG 556 (Black)</English>
|
||||
<Czech>SIG 556 (Black)</Czech>
|
||||
<French>SIG 556 (Noir)</French>
|
||||
<Spanish>SIG 556 (Negro)</Spanish>
|
||||
<Russian>SIG 556 (черный)</Russian>
|
||||
<Polish>SIG 556 (czarny)</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_khaki">
|
||||
<English>SG 556 7.62 mm (Khaki)</English>
|
||||
<Czech>SG 556 7.62 mm (Khaki)</Czech>
|
||||
<French>SG 556 7.62 mm (Kaki)</French>
|
||||
<Spanish>SG 556 7.62 mm (Caqui)</Spanish>
|
||||
<Russian>SG 556 7.62 мм (хаки)</Russian>
|
||||
<Polish>SG 556 7,62 mm (khaki)</Polish>
|
||||
<English>SIG 556 (Khaki)</English>
|
||||
<Czech>SIG 556 (Khaki)</Czech>
|
||||
<French>SIG 556 (Kaki)</French>
|
||||
<Spanish>SIG 556 (Caqui)</Spanish>
|
||||
<Russian>SIG 556 (хаки)</Russian>
|
||||
<Polish>SIG 556 (khaki)</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_tan">
|
||||
<English>SG 556 7.62 mm (Sand)</English>
|
||||
<Czech>SG 556 7.62 mm (Sand)</Czech>
|
||||
<French>SG 556 7.62 mm (Beige)</French>
|
||||
<Spanish>SG 556 7.62 mm (Arena)</Spanish>
|
||||
<Russian>SG 556 7.62 мм (песочный)</Russian>
|
||||
<Polish>SG 556 7,62 mm (piaskowy)</Polish>
|
||||
<English>SIG 556 (Sand)</English>
|
||||
<Czech>SIG 556 (Sand)</Czech>
|
||||
<French>SIG 556 (Beige)</French>
|
||||
<Spanish>SIG 556 (Arena)</Spanish>
|
||||
<Russian>SIG 556 (песочный)</Russian>
|
||||
<Polish>SIG 556 (piaskowy)</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_multicam">
|
||||
<English>SG 556 7.62 mm (Camo)</English>
|
||||
<Czech>SG 556 7.62 mm (Camo)</Czech>
|
||||
<French>SG 556 7.62 mm (Camo)</French>
|
||||
<Spanish>SG 556 7.62 mm (Camuflaje)</Spanish>
|
||||
<Russian>SG 556 7.62 мм (камо)</Russian>
|
||||
<Polish>SG 556 7,62 mm (kamuflaż)</Polish>
|
||||
<English>SIG 556 (Camo)</English>
|
||||
<Czech>SIG 556 (Camo)</Czech>
|
||||
<French>SIG 556 (Camo)</French>
|
||||
<Spanish>SIG 556 (Camuflaje)</Spanish>
|
||||
<Russian>SIG 556 (камо)</Russian>
|
||||
<Polish>SIG 556 (kamuflaż)</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_woodland">
|
||||
<English>SG 556 7.62 mm (Woodland)</English>
|
||||
<Czech>SG 556 7.62 mm (Woodland)</Czech>
|
||||
<French>SG 556 7.62 mm (Woodland)</French>
|
||||
<Spanish>SG 556 7.62 mm (Bosque)</Spanish>
|
||||
<Russian>SG 556 7.62 мм (лесной)</Russian>
|
||||
<Polish>SG 556 7,62 mm (leśny)</Polish>
|
||||
<English>SIG 556 (Woodland)</English>
|
||||
<Czech>SIG 556 (Woodland)</Czech>
|
||||
<French>SIG 556 (Woodland)</French>
|
||||
<Spanish>SIG 556 (Bosque)</Spanish>
|
||||
<Russian>SIG 556 (лесной)</Russian>
|
||||
<Polish>SIG 556 (leśny)</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_spotter">
|
||||
<English>SG 556 7.62 mm (provisional) spotter</English>
|
||||
<Czech>SG 556 7.62 mm (provisional) spotter</Czech>
|
||||
<French>SG 556 7.62 mm (provisoire) Observateur</French>
|
||||
<Spanish>SG 556 7.62 mm (provisional) observador</Spanish>
|
||||
<Russian>SG 556 7.62 мм (provisional) корректировщик</Russian>
|
||||
<Polish>SG 556 7,62 mm (prowizoryczny) obserwator</Polish>
|
||||
<English>SIG 556 (provisional) spotter</English>
|
||||
<Czech>SIG 556 (provisional) spotter</Czech>
|
||||
<French>SIG 556 (provisoire) Observateur</French>
|
||||
<Spanish>SIG 556 (provisional) observador</Spanish>
|
||||
<Russian>SIG 556 (provisional) корректировщик</Russian>
|
||||
<Polish>SIG 556 (prowizoryczny) obserwator</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_DMR_04">
|
||||
<English>TODO: ASP-1 Kir 12.7 mm</English>
|
||||
<Czech>TODO: ASP-1 Kir 12.7 mm</Czech>
|
||||
<French>ASP-1 Kir 12.7 mm</French>
|
||||
<Spanish>TODO: ASP-1 Kir 12.7 mm</Spanish>
|
||||
<Russian>TODO: ASP-1 Kir 12.7 мм</Russian>
|
||||
<English>ASP-1 Kir</English>
|
||||
<Czech>ASP-1 Kir</Czech>
|
||||
<French>ASP-1 Kir</French>
|
||||
<Spanish>ASP-1 Kir</Spanish>
|
||||
<Russian>ASP-1 Kir</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_srifle_DMR_04">
|
||||
<English>TODO: ASP-1 Kir 12.7 mm (Black)</English>
|
||||
<Czech>TODO: ASP-1 Kir 12.7 mm (Black)</Czech>
|
||||
<French>ASP-1 Kir 12.7 mm (Noir)</French>
|
||||
<Spanish>TODO: ASP-1 Kir 12.7 mm (Negro)</Spanish>
|
||||
<Russian>TODO: ASP-1 Kir 12.7 мм (черный)</Russian>
|
||||
<English>ASP-1 Kir (Black)</English>
|
||||
<Czech>ASP-1 Kir (Black)</Czech>
|
||||
<French>ASP-1 Kir (Noir)</French>
|
||||
<Spanish>ASP-1 Kir (Negro)</Spanish>
|
||||
<Russian>ASP-1 Kir (черный)</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_srifle_DMR_04_Tan">
|
||||
<English>TODO: ASP-1 Kir 12.7 mm (Tan)</English>
|
||||
<Czech>TODO: ASP-1 Kir 12.7 mm (Tan)</Czech>
|
||||
<French>ASP-1 Kir 12.7 mm (Tan)</French>
|
||||
<Spanish>TODO: ASP-1 Kir 12.7 mm (Tan)</Spanish>
|
||||
<Russian>TODO: ASP-1 Kir 12.7 мм (бронзовый)</Russian>
|
||||
<English>ASP-1 Kir (Tan)</English>
|
||||
<Czech>ASP-1 Kir (Tan)</Czech>
|
||||
<French>ASP-1 Kir (Tan)</French>
|
||||
<Spanish>ASP-1 Kir (Tan)</Spanish>
|
||||
<Russian>ASP-1 Kir (бронзовый)</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_DMR_05">
|
||||
<English>TODO: Cyrus 9.3 mm</English>
|
||||
<Czech>TODO: Cyrus 9.3 mm</Czech>
|
||||
<French>Cyrus 9.3 mm</French>
|
||||
<Spanish>TODO: Cyrus 9.3 mm</Spanish>
|
||||
<Russian>TODO: Cyrus 9.3 мм</Russian>
|
||||
<English>Cyrus</English>
|
||||
<Czech>Cyrus</Czech>
|
||||
<French>Cyrus</French>
|
||||
<Spanish>Cyrus</Spanish>
|
||||
<Russian>Cyrus</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_srifle_DMR_05_blk">
|
||||
<English>TODO: Cyrus 9.3 mm (Black)</English>
|
||||
<Czech>TODO: Cyrus 9.3 mm (Black)</Czech>
|
||||
<French>Cyrus 9.3 mm (Noir)</French>
|
||||
<Spanish>TODO: Cyrus 9.3 mm (Negro)</Spanish>
|
||||
<Russian>TODO: Cyrus 9.3 мм (черный)</Russian>
|
||||
<English>Cyrus (Black)</English>
|
||||
<Czech>Cyrus (Black)</Czech>
|
||||
<French>Cyrus (Noir)</French>
|
||||
<Spanish>Cyrus (Negro)</Spanish>
|
||||
<Russian>Cyrus (черный)</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_srifle_DMR_05_hex">
|
||||
<English>TODO: Cyrus 9.3 mm (Hex)</English>
|
||||
<Czech>TODO: Cyrus 9.3 mm (Hex)</Czech>
|
||||
<French>Cyrus 9.3 mm (Hex)</French>
|
||||
<Spanish>TODO: Cyrus 9.3 mm (Hex)</Spanish>
|
||||
<Russian>TODO: Cyrus 9.3 мм (гекс)</Russian>
|
||||
<English>Cyrus (Hex)</English>
|
||||
<Czech>Cyrus (Hex)</Czech>
|
||||
<French>Cyrus (Hex)</French>
|
||||
<Spanish>Cyrus (Hex)</Spanish>
|
||||
<Russian>Cyrus (гекс)</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_srifle_DMR_05_tan">
|
||||
<English>TODO: Cyrus 9.3 mm (Tan)</English>
|
||||
<Czech>TODO: Cyrus 9.3 mm (Tan)</Czech>
|
||||
<French>Cyrus 9.3 mm (Tan)</French>
|
||||
<Spanish>TODO: Cyrus 9.3 mm (Tan)</Spanish>
|
||||
<Russian>TODO: Cyrus 9.3 мм (бронза)</Russian>
|
||||
<English>Cyrus (Tan)</English>
|
||||
<Czech>Cyrus (Tan)</Czech>
|
||||
<French>Cyrus (Tan)</French>
|
||||
<Spanish>Cyrus (Tan)</Spanish>
|
||||
<Russian>Cyrus (бронза)</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_DMR_06">
|
||||
<English>M14 7.62 mm</English>
|
||||
<Czech>M14 7.62 mm</Czech>
|
||||
<French>M14 7.62 mm</French>
|
||||
<Spanish>M14 7.62 mm</Spanish>
|
||||
<Russian>M14 7.62 мм</Russian>
|
||||
<Polish>M14 7,62 mm</Polish>
|
||||
<English>M14</English>
|
||||
<Czech>M14</Czech>
|
||||
<French>M14</French>
|
||||
<Spanish>M14</Spanish>
|
||||
<Russian>M14</Russian>
|
||||
<Polish>M14</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_srifle_DMR_06_camo">
|
||||
<English>M14 7.62 mm (Camo)</English>
|
||||
<Czech>M14 7.62 mm (Camo)</Czech>
|
||||
<French>M14 7.62 mm (Camo)</French>
|
||||
<Spanish>M14 7.62 mm (Camuflaje)</Spanish>
|
||||
<Russian>M14 7.62 мм (Камо)</Russian>
|
||||
<Polish>M14 7,62 mm (kamuflaż)</Polish>
|
||||
<English>M14 (Camo)</English>
|
||||
<Czech>M14 (Camo)</Czech>
|
||||
<French>M14 (Camo)</French>
|
||||
<Spanish>M14 (Camuflaje)</Spanish>
|
||||
<Russian>M14 (Камо)</Russian>
|
||||
<Polish>M14 (kamuflaż)</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_srifle_DMR_06_olive">
|
||||
<English>M14 7.62 mm (Olive)</English>
|
||||
<Czech>M14 7.62 mm (Olive)</Czech>
|
||||
<French>M14 7.62 mm (Olive)</French>
|
||||
<Spanish>M14 7.62 mm (Oliva)</Spanish>
|
||||
<Russian>M14 7.62 мм (Олива)</Russian>
|
||||
<Polish>M14 7,62 mm (oliwkowy)</Polish>
|
||||
<English>M14 (Olive)</English>
|
||||
<Czech>M14 (Olive)</Czech>
|
||||
<French>M14 (Olive)</French>
|
||||
<Spanish>M14 (Oliva)</Spanish>
|
||||
<Russian>M14 (Олива)</Russian>
|
||||
<Polish>M14 (oliwkowy)</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_MMG_01">
|
||||
<English>TODO: Navid 9.3 mm</English>
|
||||
<Czech>TODO: Navid 9.3 mm</Czech>
|
||||
<French>Navid 9.3 mm</French>
|
||||
<Spanish>TODO: Navid 9.3 mm</Spanish>
|
||||
<Russian>TODO: Navid 9.3 мм</Russian>
|
||||
<English>HK121</English>
|
||||
<Czech>HK121</Czech>
|
||||
<French>HK121</French>
|
||||
<Spanish>HK121</Spanish>
|
||||
<Russian>HK121</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_MMG_01_hex">
|
||||
<English>TODO: Navid 9.3 mm (Hex)</English>
|
||||
<Czech>TODO: Navid 9.3 mm (Hex)</Czech>
|
||||
<French>Navid 9.3 mm (Hex)</French>
|
||||
<Spanish>TODO: Navid 9.3 mm (Hex)</Spanish>
|
||||
<Russian>TODO: Navid 9.3 мм (гекс)</Russian>
|
||||
<English>HK121 (Hex)</English>
|
||||
<Czech>HK121 (Hex)</Czech>
|
||||
<French>HK121 (Hex)</French>
|
||||
<Spanish>HK121 (Hex)</Spanish>
|
||||
<Russian>HK121 (гекс)</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_MMG_01_tan">
|
||||
<English>TODO: Navid 9.3 mm (Tan)</English>
|
||||
<Czech>TODO: Navid 9.3 mm (Tan)</Czech>
|
||||
<French>Navid 9.3 mm (Tan)</French>
|
||||
<Spanish>TODO: Navid 9.3 mm (Tan)</Spanish>
|
||||
<Russian>TODO: Navid 9.3 мм (бронза)</Russian>
|
||||
<English>HK121 (Tan)</English>
|
||||
<Czech>HK121 (Tan)</Czech>
|
||||
<French>HK121 (Tan)</French>
|
||||
<Spanish>HK121 (Tan)</Spanish>
|
||||
<Russian>HK121 (бронза)</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_MMG_02">
|
||||
<English>LWMMG .338</English>
|
||||
<Czech>LWMMG .338</Czech>
|
||||
<French>LWMMG .338</French>
|
||||
<Spanish>LWMMG .338</Spanish>
|
||||
<Russian>LWMMG .338</Russian>
|
||||
<Polish>LWMMG .338</Polish>
|
||||
<English>LWMMG</English>
|
||||
<Czech>LWMMG</Czech>
|
||||
<French>LWMMG</French>
|
||||
<Spanish>LWMMG</Spanish>
|
||||
<Russian>LWMMG</Russian>
|
||||
<Polish>LWMMG</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_MMG_02_camo">
|
||||
<English>LWMMG .338 (MTP)</English>
|
||||
<Czech>LWMMG .338 (MTP)</Czech>
|
||||
<French>LWMMG .338 (MTP)</French>
|
||||
<Spanish>LWMMG .338 (MTP)</Spanish>
|
||||
<Russian>LWMMG .338 (MTP)</Russian>
|
||||
<Polish>LWMMG .338 (MTP)</Polish>
|
||||
<English>LWMMG (MTP)</English>
|
||||
<Czech>LWMMG (MTP)</Czech>
|
||||
<French>LWMMG (MTP)</French>
|
||||
<Spanish>LWMMG (MTP)</Spanish>
|
||||
<Russian>LWMMG (MTP)</Russian>
|
||||
<Polish>LWMMG (MTP)</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_MMG_02_black">
|
||||
<English>LWMMG .338 (Black)</English>
|
||||
<Czech>LWMMG .338 (Black)</Czech>
|
||||
<French>LWMMG .338 (Noir)</French>
|
||||
<Spanish>LWMMG .338 (Negro)</Spanish>
|
||||
<Russian>LWMMG .338 (Черный)</Russian>
|
||||
<Polish>LWMMG .338 (czarny)</Polish>
|
||||
<English>LWMMG (Black)</English>
|
||||
<Czech>LWMMG (Black)</Czech>
|
||||
<French>LWMMG (Noir)</French>
|
||||
<Spanish>LWMMG (Negro)</Spanish>
|
||||
<Russian>LWMMG (Черный)</Russian>
|
||||
<Polish>LWMMG (czarny)</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_RealisticNames_MMG_02_sand">
|
||||
<English>LWMMG .338 (Sand)</English>
|
||||
<Czech>LWMMG .338 (Sand)</Czech>
|
||||
<French>SPMG .338 (Beige)</French>
|
||||
<Spanish>LWMMG .338 (Arena)</Spanish>
|
||||
<Russian>LWMMG .338 (Песочный)</Russian>
|
||||
<Polish>LWMMG .338 (piaskowy)</Polish>
|
||||
<English>LWMMG (Sand)</English>
|
||||
<Czech>LWMMG (Sand)</Czech>
|
||||
<French>SPMG (Beige)</French>
|
||||
<Spanish>LWMMG (Arena)</Spanish>
|
||||
<Russian>LWMMG (Песочный)</Russian>
|
||||
<Polish>LWMMG (piaskowy)</Polish>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
14
addons/recoil/CfgEventHandlers.hpp
Normal file
14
addons/recoil/CfgEventHandlers.hpp
Normal file
@ -0,0 +1,14 @@
|
||||
|
||||
class Extended_PreInit_EventHandlers {
|
||||
class ADDON {
|
||||
init = QUOTE(call COMPILE_FILE(XEH_preInit));
|
||||
};
|
||||
};
|
||||
|
||||
class Extended_FiredBIS_EventHandlers {
|
||||
class CAManBase {
|
||||
class ADDON {
|
||||
clientFiredBIS = QUOTE(if (_this select 0 == ACE_player) then {_this call FUNC(camshake)};);
|
||||
};
|
||||
};
|
||||
};
|
85
addons/recoil/CfgMoves.hpp
Normal file
85
addons/recoil/CfgMoves.hpp
Normal file
@ -0,0 +1,85 @@
|
||||
|
||||
// Completely disable BI's camshake on fire.
|
||||
#define ACE_CAMSHAKEFIRE_BASE 0
|
||||
#define ACE_CAMSHAKEFIRE_LESS 0
|
||||
#define ACE_CAMSHAKEFIRE_MORE 0
|
||||
|
||||
// Go through all modes that have a camshakefire defined and change it to ours.
|
||||
class CfgMovesBasic {
|
||||
class Default {
|
||||
camShakeFire = ACE_CAMSHAKEFIRE_NORMAL;
|
||||
};
|
||||
};
|
||||
|
||||
class CfgMovesMaleSdr: CfgMovesBasic {
|
||||
class States {
|
||||
class AmovPercMstpSlowWrflDnon;
|
||||
class AmovPknlMstpSlowWrflDnon: AmovPercMstpSlowWrflDnon {
|
||||
camShakeFire = ACE_CAMSHAKEFIRE_LESS;
|
||||
};
|
||||
|
||||
class AmovPercMstpSrasWrflDnon;
|
||||
class AmovPpneMstpSrasWrflDnon: AmovPercMstpSrasWrflDnon {
|
||||
camShakeFire = ACE_CAMSHAKEFIRE_LESS;
|
||||
};
|
||||
|
||||
class AmovPknlMstpSrasWlnrDnon: Default {
|
||||
camShakeFire = ACE_CAMSHAKEFIRE_LESS;
|
||||
};
|
||||
|
||||
class AmovPknlMrunSlowWrflDf;
|
||||
class AmovPknlMtacSlowWrflDf: AmovPknlMrunSlowWrflDf {
|
||||
camShakeFire = ACE_CAMSHAKEFIRE_MORE;
|
||||
};
|
||||
|
||||
class AmovPknlMrunSlowWrflDfl;
|
||||
class AmovPknlMtacSlowWrflDfl: AmovPknlMrunSlowWrflDfl {
|
||||
camShakeFire = ACE_CAMSHAKEFIRE_MORE;
|
||||
};
|
||||
|
||||
class AmovPknlMrunSlowWrflDl;
|
||||
class AmovPknlMtacSlowWrflDl: AmovPknlMrunSlowWrflDl {
|
||||
camShakeFire = ACE_CAMSHAKEFIRE_MORE;
|
||||
};
|
||||
|
||||
class AmovPknlMrunSlowWrflDbl;
|
||||
class AmovPknlMtacSlowWrflDbl: AmovPknlMrunSlowWrflDbl {
|
||||
camShakeFire = ACE_CAMSHAKEFIRE_MORE;
|
||||
};
|
||||
|
||||
class AmovPknlMrunSlowWrflDb;
|
||||
class AmovPknlMtacSlowWrflDb: AmovPknlMrunSlowWrflDb {
|
||||
camShakeFire = ACE_CAMSHAKEFIRE_MORE;
|
||||
};
|
||||
|
||||
class AmovPknlMrunSlowWrflDbr;
|
||||
class AmovPknlMtacSlowWrflDbr: AmovPknlMrunSlowWrflDbr {
|
||||
camShakeFire = ACE_CAMSHAKEFIRE_MORE;
|
||||
};
|
||||
|
||||
class AmovPknlMrunSlowWrflDr;
|
||||
class AmovPknlMtacSlowWrflDr: AmovPknlMrunSlowWrflDr {
|
||||
camShakeFire = ACE_CAMSHAKEFIRE_MORE;
|
||||
};
|
||||
|
||||
class AmovPknlMrunSlowWrflDfr;
|
||||
class AmovPknlMtacSlowWrflDfr: AmovPknlMrunSlowWrflDfr {
|
||||
camShakeFire = ACE_CAMSHAKEFIRE_MORE;
|
||||
};
|
||||
|
||||
class AmovPknlMstpSrasWrflDnon;
|
||||
class AmovPknlMwlkSrasWrflDf: AmovPknlMstpSrasWrflDnon {
|
||||
camShakeFire = ACE_CAMSHAKEFIRE_NORMAL;
|
||||
};
|
||||
|
||||
class AmovPknlMrunSrasWrflDf;
|
||||
class AmovPknlMtacSrasWrflDf: AmovPknlMrunSrasWrflDf {
|
||||
camShakeFire = ACE_CAMSHAKEFIRE_MORE;
|
||||
};
|
||||
|
||||
class AmovPknlMwlkSrasWpstDf;
|
||||
class AmovPknlMtacSrasWpstDf: AmovPknlMwlkSrasWpstDf {
|
||||
camShakeFire = ACE_CAMSHAKEFIRE_MORE;
|
||||
};
|
||||
};
|
||||
};
|
@ -1,11 +1,11 @@
|
||||
|
||||
#define KICKBACK 1.6
|
||||
#define KICKBACK 1.4
|
||||
|
||||
#define MUZZLETEMP 1
|
||||
#define MUZZLEPERM 0.1
|
||||
#define MUZZLETEMP 1.2
|
||||
#define MUZZLEPERM 0.4
|
||||
|
||||
#define MUZZLECLIMB_POS 1
|
||||
#define MUZZLERIGHT_POS 0.4
|
||||
#define MUZZLERIGHT_POS 0.2
|
||||
|
||||
#define MUZZLECLIMB_MAG 1
|
||||
#define MUZZLERIGHT_MAG 1
|
||||
@ -70,7 +70,7 @@ class CfgRecoils {
|
||||
class recoil_sw: recoil_default {
|
||||
muzzleOuter[] = {0.3*MUZZLERIGHT_POS,0.8*MUZZLECLIMB_POS,0.5*MUZZLERIGHT_MAG,0.2*MUZZLECLIMB_MAG};
|
||||
kickBack[] = {0.02*KICKBACK,0.04*KICKBACK};
|
||||
temporary = 0.005*MUZZLETEMP;
|
||||
temporary = 0.01*MUZZLETEMP; //0.005*MUZZLETEMP;
|
||||
};
|
||||
|
||||
class recoil_mxm: recoil_default {
|
||||
@ -178,13 +178,13 @@ class CfgRecoils {
|
||||
class recoil_mk200: recoil_default {
|
||||
muzzleOuter[] = {0.4*MUZZLERIGHT_POS,0.6*MUZZLECLIMB_POS,0.6*MUZZLERIGHT_MAG,0.2*MUZZLECLIMB_MAG};
|
||||
kickBack[] = {0.03*KICKBACK,0.06*KICKBACK};
|
||||
temporary = 0.005*MUZZLETEMP;
|
||||
temporary = 0.01*MUZZLETEMP; //0.005*MUZZLETEMP;
|
||||
};
|
||||
|
||||
class recoil_zafir: recoil_default {
|
||||
muzzleOuter[] = {0.5*MUZZLERIGHT_POS,1*MUZZLECLIMB_POS,0.7*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG};
|
||||
kickBack[] = {0.02*KICKBACK,0.08*KICKBACK};
|
||||
temporary = 0.005*MUZZLETEMP;
|
||||
temporary = 0.01*MUZZLETEMP; //0.005*MUZZLETEMP;
|
||||
};
|
||||
|
||||
class recoil_m320: recoil_default {
|
||||
@ -244,12 +244,12 @@ class CfgRecoils {
|
||||
class recoil_mmg_01: recoil_default {
|
||||
muzzleOuter[] = {0.6*MUZZLERIGHT_POS,1.5*MUZZLECLIMB_POS,0.8*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG};
|
||||
kickBack[] = {0.02*KICKBACK,0.08*KICKBACK};
|
||||
temporary = 0.005*MUZZLETEMP;
|
||||
temporary = 0.01*MUZZLETEMP; //0.005*MUZZLETEMP;
|
||||
};
|
||||
|
||||
class recoil_mmg_02: recoil_default {
|
||||
muzzleOuter[] = {0.5*MUZZLERIGHT_POS,1.5*MUZZLECLIMB_POS,0.6*MUZZLERIGHT_MAG,0.4*MUZZLECLIMB_MAG};
|
||||
kickBack[] = {0.04*KICKBACK,0.08*KICKBACK};
|
||||
temporary = 0.005*MUZZLETEMP;
|
||||
temporary = 0.01*MUZZLETEMP; //0.005*MUZZLETEMP;
|
||||
};
|
||||
};
|
||||
|
8
addons/recoil/XEH_preInit.sqf
Normal file
8
addons/recoil/XEH_preInit.sqf
Normal file
@ -0,0 +1,8 @@
|
||||
// by commy2
|
||||
#include "script_component.hpp"
|
||||
|
||||
ADDON = false;
|
||||
|
||||
PREP(camshake);
|
||||
|
||||
ADDON = true;
|
@ -12,4 +12,12 @@ class CfgPatches {
|
||||
};
|
||||
};
|
||||
|
||||
#include "CfgEventHandlers.hpp"
|
||||
|
||||
#include "CfgMoves.hpp"
|
||||
#include "CfgRecoils.hpp"
|
||||
|
||||
class CfgCameraShake {
|
||||
// What does this do, really? It seems like the engine no longer respects it.
|
||||
defaultCaliberCoefWeaponFire = 0;
|
||||
};
|
||||
|
63
addons/recoil/functions/fnc_camshake.sqf
Normal file
63
addons/recoil/functions/fnc_camshake.sqf
Normal file
@ -0,0 +1,63 @@
|
||||
// TMR: Small Arms - Recoil initialization and functions
|
||||
// (C) 2013 Ryan Schultz. See LICENSE.
|
||||
// Edited prefixes for compatability in AGM_Realism by KoffeinFlummi
|
||||
// Edited by commy2
|
||||
#include "script_component.hpp"
|
||||
|
||||
#define BASE_POWER 0.40
|
||||
#define BASE_TIME 0.19
|
||||
#define BASE_FREQ 13
|
||||
#define RECOIL_COEF 40
|
||||
|
||||
private ["_unit", "_weapon", "_muzzle"];
|
||||
|
||||
_unit = _this select 0;
|
||||
_weapon = _this select 1;
|
||||
_muzzle = _this select 2;
|
||||
|
||||
if (toLower _weapon in ["throw", "put"]) exitWith {};
|
||||
|
||||
private ["_powerMod", "_timeMod", "_freqMod"];
|
||||
|
||||
_powerMod = ([0, -0.1, -0.1, 0, -0.2] select (["STAND", "CROUCH", "PRONE", "UNDEFINED", ""] find stance _unit)) + ([0, -1, 0, -1] select (["INTERNAL", "EXTERNAL", "GUNNER", "GROUP"] find cameraView));
|
||||
_timeMod = 0;
|
||||
_freqMod = 0;
|
||||
|
||||
// to get camshake read kickback
|
||||
private ["_config", "_recoil"];
|
||||
|
||||
_config = configFile >> "CfgWeapons" >> _weapon;
|
||||
_recoil = if (_muzzle == _weapon) then {
|
||||
getText (_config >> "recoil")
|
||||
} else {
|
||||
getText (_config >> _muzzle >> "recoil")
|
||||
};
|
||||
|
||||
_recoil = getArray (configFile >> "CfgRecoils" >> _recoil >> "kickBack");
|
||||
if (count _recoil < 2) then {
|
||||
_recoil = [0, 0];
|
||||
};
|
||||
|
||||
// parse numbers
|
||||
_recoil set [0, call compile format ["%1", _recoil select 0]];
|
||||
_recoil set [1, call compile format ["%1", _recoil select 1]];
|
||||
|
||||
private "_powerCoef";
|
||||
_powerCoef = RECOIL_COEF * linearConversion [0, 1, random 1, _recoil select 0, _recoil select 1, false];
|
||||
|
||||
if (isWeaponRested _unit) then {_powerMod = _powerMod - 0.07};
|
||||
if (isWeaponDeployed _unit) then {_powerMod = _powerMod - 0.11};
|
||||
|
||||
private "_camshake";
|
||||
_camshake = [
|
||||
_powerCoef * (BASE_POWER + _powerMod) max 0,
|
||||
BASE_TIME + _timeMod max 0,
|
||||
BASE_FREQ + _freqMod max 0
|
||||
];
|
||||
|
||||
/*
|
||||
systemChat str _camshake;
|
||||
copyToClipboard format ["addCamShake %1;", _camshake];
|
||||
*/
|
||||
|
||||
addCamShake _camshake;
|
1
addons/recoil/functions/script_component.hpp
Normal file
1
addons/recoil/functions/script_component.hpp
Normal file
@ -0,0 +1 @@
|
||||
#include "\z\ace\addons\recoil\script_component.hpp"
|
@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Edited with tabler. -->
|
||||
<Project name="ACE">
|
||||
<Package name="ReloadLaunchers">
|
||||
<Key ID="STR_ACE_ReloadLaunchers_LoadLauncher">
|
||||
|
@ -1,19 +1,19 @@
|
||||
/*
|
||||
Name: ACE_Respawn_fnc_module
|
||||
Name: ACE_Respawn_fnc_module
|
||||
|
||||
Author(s):
|
||||
KoffeinFlummi, bux578, esteldunedain, commy2
|
||||
Author(s):
|
||||
KoffeinFlummi, bux578, esteldunedain, commy2
|
||||
|
||||
Description:
|
||||
initializes the respawn module
|
||||
Description:
|
||||
initializes the respawn module
|
||||
|
||||
Parameters:
|
||||
0: OBJECT - logic
|
||||
1: ARRAY<OBJECT> - synced units
|
||||
2: BOOLEAN - activated
|
||||
Parameters:
|
||||
0: OBJECT - logic
|
||||
1: ARRAY<OBJECT> - synced units
|
||||
2: BOOLEAN - activated
|
||||
|
||||
Returns:
|
||||
VOID
|
||||
Returns:
|
||||
VOID
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
@ -31,21 +31,17 @@ GVAR(Module) = true;
|
||||
|
||||
if (isServer) then {
|
||||
if (GVAR(RemoveDeadBodiesDisconnected)) then {
|
||||
private "_fnc_deleteDisconnected";
|
||||
_fnc_deleteDisconnected = {
|
||||
_this spawn {
|
||||
addMissionEventHandler ["HandleDisconnect", {
|
||||
[{
|
||||
PARAMS_1(_unit);
|
||||
|
||||
sleep 4;
|
||||
|
||||
if (!alive _unit) then {
|
||||
deleteVehicle _unit;
|
||||
};
|
||||
};
|
||||
},
|
||||
_this, 4, 1] call EFUNC(common,waitAndExecute);
|
||||
false
|
||||
};
|
||||
|
||||
addMissionEventHandler ["HandleDisconnect", _fnc_deleteDisconnected];
|
||||
}];
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -1,47 +1,51 @@
|
||||
/*
|
||||
Name: ACE_Respawn_fnc_moveRallypoint
|
||||
|
||||
Author(s):
|
||||
commy2
|
||||
|
||||
Description:
|
||||
Moves a rallypoint to the player's location
|
||||
|
||||
Parameters:
|
||||
0: OBJECT - unit
|
||||
1: OBJECT - side
|
||||
|
||||
Returns:
|
||||
VOID
|
||||
Name: ACE_Respawn_fnc_moveRallypoint
|
||||
|
||||
Author(s):
|
||||
commy2
|
||||
|
||||
Description:
|
||||
Moves a rallypoint to the player's location
|
||||
|
||||
Parameters:
|
||||
0: OBJECT - unit
|
||||
1: OBJECT - side
|
||||
|
||||
Returns:
|
||||
VOID
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
_this spawn {
|
||||
PARAMS_2(_unit,_side);
|
||||
|
||||
private ["_rallypoint", "_position"];
|
||||
|
||||
// rallypoint names are defined in CfgVehicles.hpp
|
||||
PARAMS_2(_unit,_side);
|
||||
|
||||
_rallypoint = [
|
||||
objNull,
|
||||
missionNamespace getVariable ["ACE_Rallypoint_West", objNull],
|
||||
missionNamespace getVariable ["ACE_Rallypoint_East", objNull],
|
||||
missionNamespace getVariable ["ACE_Rallypoint_Independent", objNull]
|
||||
] select ([west, east, independent] find _side) + 1;
|
||||
private ["_rallypoint", "_position"];
|
||||
|
||||
if (isNull _rallypoint) exitWith {};
|
||||
// rallypoint names are defined in CfgVehicles.hpp
|
||||
|
||||
_position = getPosATL _unit;
|
||||
_position = _position findEmptyPosition [0, 2, typeOf _rallypoint];
|
||||
if (count _position == 0) then {_position = getPosATL _unit};
|
||||
_rallypoint = [
|
||||
objNull,
|
||||
missionNamespace getVariable ["ACE_Rallypoint_West", objNull],
|
||||
missionNamespace getVariable ["ACE_RallypointExit_East", objNull],
|
||||
missionNamespace getVariable ["ACE_RallypointExit_Independent", objNull]
|
||||
] select ([west, east, independent] find _side) + 1;
|
||||
|
||||
_position set [2, 0];
|
||||
if (isNull _rallypoint) exitWith {};
|
||||
|
||||
[localize "STR_ACE_Respawn_Deploy"] call EFUNC(common,displayTextStructured);
|
||||
_position = getPosATL _unit;
|
||||
_position = _position findEmptyPosition [0, 2, typeOf _rallypoint];
|
||||
if (count _position == 0) then {_position = getPosATL _unit};
|
||||
|
||||
_position set [2, 0];
|
||||
|
||||
[localize "STR_ACE_Respawn_Deploy"] call EFUNC(common,displayTextStructured);
|
||||
|
||||
[{
|
||||
_rallypoint = _this select 0;
|
||||
_unit = _this select 1;
|
||||
_position = _this select 2;
|
||||
_rallypoint = _this select 3;
|
||||
|
||||
sleep 5;
|
||||
_rallypoint setPosATL _position;
|
||||
_unit reveal _rallypoint;
|
||||
|
||||
@ -50,4 +54,5 @@ _this spawn {
|
||||
["rallypointMoved", [_rallypoint, _side, _position]] call EFUNC(common,globalEvent);
|
||||
|
||||
[localize "STR_ACE_Respawn_Deployed"] call EFUNC(common,displayTextStructured);
|
||||
};
|
||||
},
|
||||
[_rallypoint, _unit, _position, _rallypoint], 5, 1] call EFUNC(common,waitAndExecute);
|
||||
|
@ -1,22 +1,22 @@
|
||||
/*
|
||||
Name: ACE_Respawn_fnc_removeBody
|
||||
|
||||
|
||||
Author(s):
|
||||
bux578
|
||||
|
||||
|
||||
Description:
|
||||
removes a given body
|
||||
|
||||
|
||||
Parameters:
|
||||
0: OBJECT - body
|
||||
1: BOOLEAN - forceRemove // not used atm
|
||||
|
||||
|
||||
Returns:
|
||||
VOID
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
|
||||
private ["_body", "_forceRemove", "_bodyRemoveTimer"];
|
||||
|
||||
_body = _this select 0;
|
||||
@ -29,9 +29,8 @@ if (_forceRemove) then {
|
||||
_bodyRemoveTimer = 2;
|
||||
};
|
||||
|
||||
[_body, _bodyRemoveTimer] spawn {
|
||||
sleep (_this select 1);
|
||||
[{
|
||||
// hideBody takes ~20s till body is fully underground
|
||||
// a better hideBody would make this more aesthetic
|
||||
deleteVehicle (_this select 0);
|
||||
};
|
||||
deleteVehicle _this;
|
||||
}, _body, _bodyRemoveTimer, 1] call EFUNC(common,waitAndExecute);
|
||||
|
@ -71,4 +71,18 @@ class CfgWeapons {
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class optic_KHS_old : ItemCore {
|
||||
ACE_ScopeAdjust_Vertical[] = { -4, 30 };
|
||||
ACE_ScopeAdjust_Horizontal[] = { -6, 6 };
|
||||
ACE_ScopeAdjust_Increment = 0.1;
|
||||
class ItemInfo : InventoryOpticsItem_Base_F {
|
||||
class OpticsModes {
|
||||
class KHS {
|
||||
discreteDistance[] = { 100 };
|
||||
discreteDistanceInitIndex = 0;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -1,18 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Edited with tabler. -->
|
||||
<Project name="ACE">
|
||||
<Package name="Vector">
|
||||
<Key ID="STR_ACE_Vector_VectorName">
|
||||
<English>Vector IV</English>
|
||||
<German>Vector IV</German>
|
||||
<Spanish>Vector IV</Spanish>
|
||||
<French>Vector IV</French>
|
||||
<Polish>Vector IV</Polish>
|
||||
<Czech>Vector IV</Czech>
|
||||
<Italian>Vector IV</Italian>
|
||||
<Hungarian>Vector IV</Hungarian>
|
||||
<Portuguese>Vector IV</Portuguese>
|
||||
<Russian>Vector IV</Russian>
|
||||
<English>Vector 21</English>
|
||||
<German>Vector 21</German>
|
||||
<Spanish>Vector 21</Spanish>
|
||||
<French>Vector 21</French>
|
||||
<Polish>Vector 21</Polish>
|
||||
<Czech>Vector 21</Czech>
|
||||
<Italian>Vector 21</Italian>
|
||||
<Hungarian>Vector 21</Hungarian>
|
||||
<Portuguese>Vector 21</Portuguese>
|
||||
<Russian>Vector 21</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Vector_VectorDescription">
|
||||
<English>Rangefinder</English>
|
||||
|
@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Edited with tabler. -->
|
||||
<Project name="ACE">
|
||||
<Package name="Vehicles">
|
||||
<Key ID="STR_ACE_SpeedLimiter_On">
|
||||
|
38
addons/weather/ACE_Settings.hpp
Normal file
38
addons/weather/ACE_Settings.hpp
Normal file
@ -0,0 +1,38 @@
|
||||
class ACE_Settings {
|
||||
class GVAR(enableServerController) {
|
||||
displayName = "Weather propagation";
|
||||
description = "Enables sever side weather propagation";
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
};
|
||||
class GVAR(useACEWeather) {
|
||||
displayName = "ACE Weather";
|
||||
description = "Overrides the default weather (editor, mission settings) with ACE weather (map based)";
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
};
|
||||
class GVAR(syncRain) {
|
||||
displayName = "Sync Rain";
|
||||
description = "Synchronizes rain";
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
};
|
||||
class GVAR(syncWind) {
|
||||
displayName = "Sync Wind";
|
||||
description = "Synchronizes wind";
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
};
|
||||
class GVAR(syncMisc) {
|
||||
displayName = "Sync Misc";
|
||||
description = "Synchronizes lightnings, rainbow, fog, ...";
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
};
|
||||
class GVAR(serverUpdateInterval) {
|
||||
displayName = "Update Interval";
|
||||
description = "Defines the interval (seconds) between weather updates";
|
||||
typeName = "SCALAR";
|
||||
value = 60;
|
||||
};
|
||||
};
|
52
addons/weather/CfgVehicles.hpp
Normal file
52
addons/weather/CfgVehicles.hpp
Normal file
@ -0,0 +1,52 @@
|
||||
class CfgVehicles {
|
||||
class ACE_Module;
|
||||
class GVAR(ModuleSettings): ACE_Module {
|
||||
scope = 2;
|
||||
displayName = "Weather";
|
||||
icon = QUOTE(PATHTOF(UI\Icon_Module_Wind_ca.paa));
|
||||
category = "ACE";
|
||||
function = QUOTE(DFUNC(initModuleSettings));
|
||||
functionPriority = 1;
|
||||
isGlobal = 1;
|
||||
isTriggerActivated = 0;
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
class Arguments {
|
||||
class enableServerController {
|
||||
displayName = "Weather propagation";
|
||||
description = "Enables sever side weather propagation";
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class useACEWeather {
|
||||
displayName = "ACE Weather";
|
||||
description = "Overrides the default weather (editor, mission settings) with ACE weather (map based)";
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class syncRain {
|
||||
displayName = "Sync Rain";
|
||||
description = "Synchronizes rain";
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class syncWind {
|
||||
displayName = "Sync Wind";
|
||||
description = "Synchronizes wind";
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class syncMisc {
|
||||
displayName = "Sync Misc";
|
||||
description = "Synchronizes lightnings, rainbow, fog, ...";
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class serverUpdateInterval {
|
||||
displayName = "Update Interval";
|
||||
description = "Defines the interval (seconds) between weather updates";
|
||||
typeName = "NUMBER";
|
||||
defaultValue = 60;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
BIN
addons/weather/UI/Icon_Module_Wind_ca.paa
Normal file
BIN
addons/weather/UI/Icon_Module_Wind_ca.paa
Normal file
Binary file not shown.
@ -9,7 +9,4 @@ GVAR(rain_current_range) = -1+(random 2);
|
||||
// Wind
|
||||
call FUNC(initWind);
|
||||
|
||||
GVAR(overcast_multiplier) = 1;
|
||||
GVAR(serverUpdateInterval) = 60;
|
||||
|
||||
[FUNC(serverController), GVAR(serverUpdateInterval)] call cba_fnc_addPerFrameHandler;
|
||||
|
@ -8,21 +8,15 @@ PREP(calculateBarometricPressure);
|
||||
PREP(displayWindInfo);
|
||||
PREP(getMapData);
|
||||
PREP(getWind);
|
||||
PREP(initModuleSettings);
|
||||
PREP(initWind);
|
||||
PREP(serverController);
|
||||
PREP(updateAceWeather);
|
||||
PREP(updateHumidity);
|
||||
PREP(updateRain);
|
||||
PREP(updateTemperature);
|
||||
PREP(updateWind);
|
||||
|
||||
// Control server side weather propagation
|
||||
GVAR(enableServerController) = true;
|
||||
|
||||
// Control client side weather effects
|
||||
GVAR(syncRain) = true;
|
||||
GVAR(syncWind) = true; // Wind, Gusts, Waves
|
||||
GVAR(syncMisc) = true; // Lightnings, Rainbow, Fog
|
||||
|
||||
// Make sure this data is read before client/server postInit
|
||||
call FUNC(getMapData);
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
class CfgPatches {
|
||||
class ADDON {
|
||||
units[] = {};
|
||||
weapons[] = {};// "ACE_Kestrel4500" };
|
||||
weapons[] = {};
|
||||
requiredVersion = REQUIRED_VERSION;
|
||||
requiredAddons[] = {"ace_common"};
|
||||
author[] = {"q1184", "Rocko", "esteldunedain","Ruthberg"};
|
||||
@ -14,3 +14,5 @@ class CfgPatches {
|
||||
#include "CfgEventhandlers.hpp"
|
||||
#include "CfgWorlds.hpp"
|
||||
#include "RscTitles.hpp"
|
||||
#include "CfgVehicles.hpp"
|
||||
#include "ACE_Settings.hpp"
|
39
addons/weather/functions/fnc_initModuleSettings.sqf
Normal file
39
addons/weather/functions/fnc_initModuleSettings.sqf
Normal file
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Author: Glowbal, Ruthberg
|
||||
* Module for adjusting the wind deflection settings
|
||||
*
|
||||
* Arguments:
|
||||
* 0: The module logic <LOGIC>
|
||||
* 1: units <ARRAY>
|
||||
* 2: activated <BOOL>
|
||||
*
|
||||
* Return Value:
|
||||
* None <NIL>
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_logic", "_units", "_activated"];
|
||||
_logic = _this select 0;
|
||||
_units = _this select 1;
|
||||
_activated = _this select 2;
|
||||
|
||||
if !(_activated) exitWith {};
|
||||
|
||||
// Control server side weather propagation
|
||||
[_logic, QGVAR(enableServerController), "enableServerController"] call EFUNC(common,readSettingFromModule);
|
||||
|
||||
// Overrides the default weather (editor, mission settings) with ACE weather (map based)
|
||||
[_logic, QGVAR(useACEWeather), "useACEWeather"] call EFUNC(common,readSettingFromModule);
|
||||
|
||||
// Control client side weather effects
|
||||
[_logic, QGVAR(syncRain), "syncRain"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(syncWind), "syncWind"] call EFUNC(common,readSettingFromModule); // Wind, Gusts, Waves
|
||||
[_logic, QGVAR(syncMisc), "syncMisc"] call EFUNC(common,readSettingFromModule); // Lightnings, Rainbow, Fog
|
||||
|
||||
// Server weather update interval
|
||||
[_logic, QGVAR(serverUpdateInterval), "serverUpdateInterval"] call EFUNC(common,readSettingFromModule);
|
||||
|
||||
GVAR(serverUpdateInterval) = 1 max GVAR(serverUpdateInterval) min 600;
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Author: ACE2 Team, esteldunedain, ruthberg
|
||||
* Author: Ruthberg
|
||||
*
|
||||
* Calculate the wind and rain evolution on the server. Broadcasts the current and next values to the clients
|
||||
* Gather weather parameters and broadcast them to the clients
|
||||
*
|
||||
* Argument:
|
||||
* None
|
||||
@ -13,95 +13,21 @@
|
||||
|
||||
if (!GVAR(enableServerController)) exitWith {};
|
||||
|
||||
private ["_lastRain", "_rainOverCast", "_transitionTime", "_windDirectionVariance", "_windSpeed", "_windSpeedChange", "_windMaxDiff", "_windMinDiff", "_windDirection", "_windDirectionChange", "_ratioMin", "_ratioMax"];
|
||||
|
||||
// Rain simulation
|
||||
if (GVAR(syncRain) && GVAR(rain_period_count) > GVAR(rain_next_period)) then {
|
||||
|
||||
GVAR(rain_next_period) = ceil((1 + (random 10)) / GVAR(overcast_multiplier));
|
||||
GVAR(rain_period_count) = 0;
|
||||
|
||||
_lastRain = GVAR(current_rain);
|
||||
|
||||
if (overcast >= 0.7) then {
|
||||
_rainOverCast = (overcast - 0.7) / 0.3;
|
||||
if (GVAR(current_rain) == 0) then {
|
||||
// Initialize rain with a random strength depending on the current overcast value
|
||||
GVAR(current_rain) = 0.25 + (random 0.25) + (random 0.5) * _rainOverCast;
|
||||
};
|
||||
|
||||
GVAR(current_rain) = GVAR(current_rain) + GVAR(current_rain) * ((_rainOverCast * GVAR(overcast_multiplier)) / 8) * GVAR(rain_current_range);
|
||||
GVAR(current_rain) = 0.01 max GVAR(current_rain) min 1;
|
||||
|
||||
GVAR(rain_current_range) = -1 + (random 2);
|
||||
} else {
|
||||
_rainOverCast = 1;
|
||||
|
||||
GVAR(current_rain) = 0;
|
||||
if (GVAR(useACEWeather)) then {
|
||||
// Use location based real world weather data
|
||||
[] call FUNC(updateAceWeather);
|
||||
} else {
|
||||
// Simply replicate the server weather on the clients
|
||||
if (GVAR(syncRain)) then {
|
||||
ACE_RAIN_PARAMS = [rain, rain, GVAR(serverUpdateInterval)];
|
||||
publicVariable "ACE_RAIN_PARAMS";
|
||||
};
|
||||
if (GVAR(syncWind)) then {
|
||||
ACE_WIND_PARAMS = [wind call CBA_fnc_vectDir, 0, vectorMagnitude wind, 0, GVAR(serverUpdateInterval)];
|
||||
publicVariable "ACE_WIND_PARAMS";
|
||||
};
|
||||
if (GVAR(syncMisc)) then {
|
||||
ACE_MISC_PARAMS = [lightnings, rainbow, fogParams, GVAR(temperatureShift), GVAR(badWeatherShift), GVAR(humidityShift)];
|
||||
publicVariable "ACE_MISC_PARAMS";
|
||||
};
|
||||
|
||||
_transitionTime = 1 + (_rainOverCast * 5) + (random (_rainOverCast * 20));
|
||||
|
||||
ACE_RAIN_PARAMS = [_lastRain, GVAR(current_rain), _transitionTime];
|
||||
TRACE_4("",_lastRain,_rainOverCast,_transitionTime,overcast);
|
||||
|
||||
GVAR(rain_period_start_time) = time;
|
||||
publicVariable "ACE_RAIN_PARAMS";
|
||||
};
|
||||
|
||||
// Wind simulation
|
||||
if (GVAR(syncWind) && GVAR(wind_period_count) > GVAR(wind_next_period)) then {
|
||||
|
||||
GVAR(wind_next_period) = ceil((2 + (random 5)) / GVAR(overcast_multiplier));
|
||||
GVAR(wind_period_count) = 0;
|
||||
|
||||
_windDirectionVariance = (90 - (random 180)) * (overcast ^ 2);
|
||||
_windDirection = (360 + GVAR(wind_direction_reference) + _windDirectionVariance) % 360;
|
||||
_windDirectionChange = _windDirection - GVAR(current_wind_direction);
|
||||
if (_windDirectionChange > 180) then {
|
||||
_windDirectionChange = _windDirectionChange - 360;
|
||||
};
|
||||
if (_windDirectionChange < -180) then {
|
||||
_windDirectionChange = 360 + _windDirectionChange;
|
||||
};
|
||||
|
||||
_windMaxDiff = GVAR(mean_wind_speed) - GVAR(max_wind_speed);
|
||||
_windMinDiff = GVAR(min_wind_speed) - GVAR(mean_wind_speed);
|
||||
|
||||
_ratioMax = (random 1) ^ 2;
|
||||
_ratioMin = (random 1) ^ 2;
|
||||
|
||||
_windSpeed = GVAR(current_wind_speed);
|
||||
_windSpeedChange = 0;
|
||||
if ((random 1) < (0.3 max overcast)) then {
|
||||
_windSpeed = GVAR(mean_wind_speed) + _windMaxDiff * _ratioMax + _windMinDiff * _ratioMin;
|
||||
_windSpeedChange = _windSpeed - GVAR(current_wind_speed);
|
||||
};
|
||||
|
||||
_transitionTime = GVAR(wind_next_period) * GVAR(serverUpdateInterval);
|
||||
|
||||
TRACE_5("dirCur/dirNew/spdCur/spdNew/period",GVAR(current_wind_direction),_windDirection,GVAR(current_wind_speed),_windSpeed,_transitionTime);
|
||||
|
||||
ACE_WIND_PARAMS = [GVAR(current_wind_direction),
|
||||
_windDirectionChange,
|
||||
GVAR(current_wind_speed),
|
||||
_windSpeedChange,
|
||||
_transitionTime];
|
||||
|
||||
GVAR(current_wind_direction) = _windDirection;
|
||||
GVAR(current_wind_speed) = _windSpeed;
|
||||
|
||||
GVAR(wind_period_start_time) = time;
|
||||
publicVariable "ACE_WIND_PARAMS";
|
||||
};
|
||||
|
||||
|
||||
if (GVAR(syncMisc)) then {
|
||||
ACE_MISC_PARAMS = [lightnings, rainbow, fogParams, GVAR(temperatureShift), GVAR(badWeatherShift), GVAR(humidityShift)];
|
||||
publicVariable "ACE_MISC_PARAMS";
|
||||
};
|
||||
|
||||
GVAR(rain_period_count) = GVAR(rain_period_count) + 1;
|
||||
GVAR(wind_period_count) = GVAR(wind_period_count) + 1;
|
||||
|
||||
GVAR(overcast_multiplier) = 1 max (2* overcast) min 2; // 0 (@ overcast 0), 2 (@ overcast 1)
|
105
addons/weather/functions/fnc_updateAceWeather.sqf
Normal file
105
addons/weather/functions/fnc_updateAceWeather.sqf
Normal file
@ -0,0 +1,105 @@
|
||||
/*
|
||||
* Author: ACE2 Team, esteldunedain, ruthberg
|
||||
*
|
||||
* Updates the wind and rain evolution on the server. Broadcasts the current and next values to the clients
|
||||
*
|
||||
* Argument:
|
||||
* None
|
||||
*
|
||||
* Return value:
|
||||
* None
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_overcastMultiplier", "_lastRain", "_rainOverCast", "_transitionTime", "_windDirectionVariance", "_windSpeed", "_windSpeedChange", "_windMaxDiff", "_windMinDiff", "_windDirection", "_windDirectionChange", "_ratioMin", "_ratioMax"];
|
||||
|
||||
_overcastMultiplier = 1 max (2* overcast) min 2; // 0 (@ overcast 0), 2 (@ overcast 1)
|
||||
|
||||
// Rain simulation
|
||||
if (GVAR(syncRain) && GVAR(rain_period_count) > GVAR(rain_next_period)) then {
|
||||
|
||||
GVAR(rain_next_period) = ceil((1 + (random 10)) / _overcastMultiplier);
|
||||
GVAR(rain_period_count) = 0;
|
||||
|
||||
_lastRain = GVAR(current_rain);
|
||||
|
||||
if (overcast >= 0.7) then {
|
||||
_rainOverCast = (overcast - 0.7) / 0.3;
|
||||
if (GVAR(current_rain) == 0) then {
|
||||
// Initialize rain with a random strength depending on the current overcast value
|
||||
GVAR(current_rain) = 0.25 + (random 0.25) + (random 0.5) * _rainOverCast;
|
||||
};
|
||||
|
||||
GVAR(current_rain) = GVAR(current_rain) + GVAR(current_rain) * ((_rainOverCast * _overcastMultiplier) / 8) * GVAR(rain_current_range);
|
||||
GVAR(current_rain) = 0.01 max GVAR(current_rain) min 1;
|
||||
|
||||
GVAR(rain_current_range) = -1 + (random 2);
|
||||
} else {
|
||||
_rainOverCast = 1;
|
||||
|
||||
GVAR(current_rain) = 0;
|
||||
};
|
||||
|
||||
_transitionTime = 1 + (_rainOverCast * 5) + (random (_rainOverCast * 20));
|
||||
|
||||
ACE_RAIN_PARAMS = [_lastRain, GVAR(current_rain), _transitionTime];
|
||||
TRACE_4("",_lastRain,_rainOverCast,_transitionTime,overcast);
|
||||
|
||||
GVAR(rain_period_start_time) = time;
|
||||
publicVariable "ACE_RAIN_PARAMS";
|
||||
};
|
||||
|
||||
// Wind simulation
|
||||
if (GVAR(syncWind) && GVAR(wind_period_count) > GVAR(wind_next_period)) then {
|
||||
|
||||
GVAR(wind_next_period) = ceil((2 + (random 5)) / _overcastMultiplier);
|
||||
GVAR(wind_period_count) = 0;
|
||||
|
||||
_windDirectionVariance = (90 - (random 180)) * (overcast ^ 2);
|
||||
_windDirection = (360 + GVAR(wind_direction_reference) + _windDirectionVariance) % 360;
|
||||
_windDirectionChange = _windDirection - GVAR(current_wind_direction);
|
||||
if (_windDirectionChange > 180) then {
|
||||
_windDirectionChange = _windDirectionChange - 360;
|
||||
};
|
||||
if (_windDirectionChange < -180) then {
|
||||
_windDirectionChange = 360 + _windDirectionChange;
|
||||
};
|
||||
|
||||
_windMaxDiff = GVAR(mean_wind_speed) - GVAR(max_wind_speed);
|
||||
_windMinDiff = GVAR(min_wind_speed) - GVAR(mean_wind_speed);
|
||||
|
||||
_ratioMax = (random 1) ^ 2;
|
||||
_ratioMin = (random 1) ^ 2;
|
||||
|
||||
_windSpeed = GVAR(current_wind_speed);
|
||||
_windSpeedChange = 0;
|
||||
if ((random 1) < (0.3 max overcast)) then {
|
||||
_windSpeed = GVAR(mean_wind_speed) + _windMaxDiff * _ratioMax + _windMinDiff * _ratioMin;
|
||||
_windSpeedChange = _windSpeed - GVAR(current_wind_speed);
|
||||
};
|
||||
|
||||
_transitionTime = GVAR(wind_next_period) * GVAR(serverUpdateInterval);
|
||||
|
||||
TRACE_5("dirCur/dirNew/spdCur/spdNew/period",GVAR(current_wind_direction),_windDirection,GVAR(current_wind_speed),_windSpeed,_transitionTime);
|
||||
|
||||
ACE_WIND_PARAMS = [GVAR(current_wind_direction),
|
||||
_windDirectionChange,
|
||||
GVAR(current_wind_speed),
|
||||
_windSpeedChange,
|
||||
_transitionTime];
|
||||
|
||||
GVAR(current_wind_direction) = _windDirection;
|
||||
GVAR(current_wind_speed) = _windSpeed;
|
||||
|
||||
GVAR(wind_period_start_time) = time;
|
||||
publicVariable "ACE_WIND_PARAMS";
|
||||
};
|
||||
|
||||
|
||||
if (GVAR(syncMisc)) then {
|
||||
ACE_MISC_PARAMS = [lightnings, rainbow, fogParams, GVAR(temperatureShift), GVAR(badWeatherShift), GVAR(humidityShift)];
|
||||
publicVariable "ACE_MISC_PARAMS";
|
||||
};
|
||||
|
||||
GVAR(rain_period_count) = GVAR(rain_period_count) + 1;
|
||||
GVAR(wind_period_count) = GVAR(wind_period_count) + 1;
|
@ -19,7 +19,7 @@ class ACE_Settings {
|
||||
};
|
||||
class GVAR(simulationRadius) {
|
||||
displayName = "Simulation Radius";
|
||||
description = "Defines the radius (in meters) in which advanced ballistics are applied";
|
||||
description = "Defines the radius around the player (in meters) at which projectiles are wind deflected";
|
||||
typeName = "SCALAR";
|
||||
value = 3000;
|
||||
};
|
||||
|
@ -31,7 +31,7 @@ class CfgVehicles {
|
||||
};
|
||||
class simulationRadius {
|
||||
displayName = "Simulation Radius";
|
||||
description = "Defines the radius (in meters) in which advanced ballistics are applied";
|
||||
description = "Defines the radius around the player (in meters) at which projectiles are wind deflected";
|
||||
typeName = "NUMBER";
|
||||
defaultValue = 3000;
|
||||
};
|
||||
|
@ -31,7 +31,7 @@
|
||||
<Russian>Скорость: %1 м/с</Russian>
|
||||
<Czech>Rychlost: %1 m/s</Czech>
|
||||
<French>Vitesse %1 m/s</French>
|
||||
<German>Geschwindigkeit: %1m/s</German>
|
||||
<German>Geschwindigkeit: %1 m/s</German>
|
||||
<Hungarian>Sebesség: %1 m/s</Hungarian>
|
||||
<Italian>Velocità: %1 m/s</Italian>
|
||||
</Key>
|
||||
|
@ -11,8 +11,42 @@ parent: wiki
|
||||
|
||||
|
||||
## 1. Modules
|
||||
### 1.1 BlueForceTracking
|
||||
*Part of: ACE_Map*
|
||||
### 1.1 Advanced Ballistics
|
||||
*Part of: ace_advanced_ballistics*
|
||||
|
||||
This module allows to enable advanced external- and internal ballistics.
|
||||
|
||||
**Settings:**
|
||||
|
||||
1. **Advanced Ballistics (Boolean)<br>**
|
||||
Enables advanced ballistics.<br>
|
||||
`Default value: No`
|
||||
2. **Always Enabled For Snipers (Boolean)<br>**
|
||||
Always enables advanced ballistics when high power optics are used.<br>
|
||||
`Default value: Yes`
|
||||
3. **Disabled In FullAuto Mode (Boolean)<br>**
|
||||
Disables the advanced ballistics during full auto fire.<br>
|
||||
`Default value: No`
|
||||
4. **Disabled For Non Local Players (Boolean)<br>**
|
||||
Disables the advanced ballistics for bullets coming from other players (enable this if you encounter frame drops during heavy firefights in multiplayer).<br>
|
||||
`Default value: Yes`
|
||||
5. **Enable Ammo Temperature Simulation (Boolean)<br>**
|
||||
Muzzle velocity varies with ammo temperature.<br>
|
||||
`Default value: Yes`
|
||||
6. **Enable Barrel Length Simulation (Boolean)<br>**
|
||||
Muzzle velocity varies with barrel length.<br>
|
||||
`Default value: Yes`
|
||||
7. **Enable Bullet Trace Effect (Boolean)<br>**
|
||||
Enables a bullet trace effect to high caliber bullets (only visible when looking through high power optics).<br>
|
||||
8. **Simulation Interval (Number)<br>**
|
||||
Defines the interval between every calculation step.<br>
|
||||
`Default value: 0.05`
|
||||
9. **Simulation Radius (Number)<br>**
|
||||
Defines the radius around the player (in meters) at which advanced ballistics are applied to projectiles.<br>
|
||||
`Default value: 3000`
|
||||
|
||||
### 1.2 BlueForceTracking
|
||||
*Part of: ace_map*
|
||||
|
||||
When adding the "BlueForceTracking" module to your mission it adds map markers to every group on the players side and refreshes them in certain configurable interval (in seconds). The module takes the group type into account and uses the proper NATO icon for each marker.
|
||||
|
||||
@ -25,8 +59,8 @@ How often the markers should be refreshed (in seconds).<br>
|
||||
Hide markers for "AI only" groups.<br>
|
||||
`Default value: No`
|
||||
|
||||
### 1.2 Check PBOs
|
||||
*Part of: ACE_Core*
|
||||
### 1.3 Check PBOs
|
||||
*Part of: ace_core*
|
||||
|
||||
If you are worried that players haven't updated ACE or other mods to the version you're using on the server, you can place the "Check PBOs" module on your map. You can choose one of three posible actions that are being executed when a player joins that has a wrong version of ACE or an other mod:
|
||||
|
||||
@ -61,8 +95,8 @@ Example 3: @JSRS + @Blastcore-A3:<br>
|
||||
[TBD, "warfxpe","blastcore_vep"]
|
||||
```
|
||||
|
||||
### 1.3 Explosive System
|
||||
*Part of: ACE_Explosive*
|
||||
### 1.4 Explosive System
|
||||
*Part of: ace_explosive*
|
||||
|
||||
The "Explosive System" module lets you tweak the settings for the new explosive system that ACE introduces.
|
||||
|
||||
@ -75,17 +109,17 @@ Require explosive specialists to disable explosives.<br>
|
||||
Increase the time it takes to complete actions for non-specialists.<br>
|
||||
`Default value: Yes`
|
||||
|
||||
### 1.4 Fatigue System (deprecated)
|
||||
### 1.5 Fatigue System (deprecated)
|
||||
**Warning:**
|
||||
*This module is deprecated and only in there not to break older missions that have used this module. It will be removed in a future update. It serves no purpose.*
|
||||
|
||||
### 1.5 Friendly Fire Messages
|
||||
*Part of: ACE_Respawn*
|
||||
### 1.6 Friendly Fire Messages
|
||||
*Part of: ace_respawn*
|
||||
|
||||
The "Friendly Fire Messages" module triggers a message when a player kills a friendly or civilian unit. This module isn't needed on servers with a low difficulty setting.
|
||||
|
||||
### 1.6 Interaction
|
||||
*Part of: ACE_Interaction*
|
||||
### 1.7 Interaction
|
||||
*Part of: ace_interaction*
|
||||
|
||||
This module allows you to tweak the settings for player names tags.
|
||||
|
||||
@ -95,8 +129,8 @@ This module allows you to tweak the settings for player names tags.
|
||||
Sets the distance (in meters) at which player name tags become visible.<br>
|
||||
`Default value: 5`
|
||||
|
||||
### 1.7 Medical System
|
||||
*Part of: ACE_Medical*
|
||||
### 1.8 Medical System
|
||||
*Part of: ace_medical*
|
||||
|
||||
When using the medical system ACE offers you probably want to fine tune some aspects of the wounding, healing or gameplay mechanics and fit them to your needs. The "Medical System" module offers a lot of settings to do just that.
|
||||
|
||||
@ -133,16 +167,16 @@ Use one bandage to heal the entire body.<br>
|
||||
Allow all players to use chat while unconcious? Admin can always use the chat regardless.<br>
|
||||
`Default value: No`
|
||||
|
||||
### 1.8 Rallypoint System
|
||||
*Part of: ACE_Respawn*
|
||||
### 1.9 Rallypoint System
|
||||
*Part of: ace_respawn*
|
||||
|
||||
This module was introduced with 0.94 and enables Mission Makers to specificly enable units to move a rallypoint. Every unit that is synced with that module is able to move a rallypoint.
|
||||
|
||||
**Note:**
|
||||
It's important to mention that this doesn't work for player who join during a mission (JIP = Join in progress). That's something we can't change because that's the way Bohemia has implemented their module framework. To enable JIP players to move rally points have a look at [3.1 ACE Rallypoints](#31-ace-rallypoints).
|
||||
|
||||
### 1.9 Repair System
|
||||
*Part of: ACE_Logistics*
|
||||
### 1.10 Repair System
|
||||
*Part of: ace_logistics*
|
||||
|
||||
Placing the "Repair System" module makes it possible to define the time it takes for certain repair actions.
|
||||
|
||||
@ -161,8 +195,8 @@ Time to replace a track (in seconds).<br>
|
||||
Limits the amount of damage that can be repaired. 0 = Repair all damage, 1 = Cannot repair any damage.<br>
|
||||
`Default value: 0`
|
||||
|
||||
### 1.10 Respawn System
|
||||
*Part of: ACE_Respawn*
|
||||
### 1.11 Respawn System
|
||||
*Part of: ace_respawn*
|
||||
|
||||
The "Respawn System" module enables players to respawn with the gear they had before dying and to remove bodies of players after a configurable interval (in seconds).
|
||||
|
||||
@ -172,8 +206,8 @@ The "Respawn System" module enables players to respawn with the gear they had be
|
||||
Respawn with the gear a player had just before his death.<br>
|
||||
`Default value: No`
|
||||
|
||||
### 1.11 SwitchUnits System
|
||||
*Part of: ACE_SwitchUnits*
|
||||
### 1.12 SwitchUnits System
|
||||
*Part of: ace_switchunits*
|
||||
|
||||
The [SwitchUnits System](#32-ace-switchunits) enables players to control certain AI units on the map.
|
||||
|
||||
@ -199,8 +233,28 @@ The safe zone around players from a different team (in meters)<br>
|
||||
`Default value: 200`
|
||||
|
||||
|
||||
### 1.12 LSD Vehicles
|
||||
*Part of: ACE_Core*
|
||||
### 1.13 LSD Vehicles
|
||||
*Part of: ace_core*
|
||||
|
||||
### 1.14 Wind Deflection
|
||||
*Part of: ace_winddeflection*
|
||||
|
||||
This module allows you to define when wind deflection is active.
|
||||
|
||||
**Settings:**
|
||||
|
||||
1. **Wind Deflection (Boolean)<br>**
|
||||
Enables wind deflection.<br>
|
||||
`Default value: Yes`
|
||||
2. **Vehicle Enabled (Boolean)<br>**
|
||||
Enables wind deflection for static/vehicle gunners.<br>
|
||||
`Default value: Yes`
|
||||
3. **Simulation Interval (Number)<br>**
|
||||
Defines the interval between every calculation step.<br>
|
||||
`Default value: 0.05`
|
||||
4. **Simulation Radius (Number)<br>**
|
||||
Defines the radius around the player (in meters) at which projectiles are wind deflected.<br>
|
||||
`Default value: 3000`
|
||||
|
||||
And then there's the "LSD Vehicles" module … it does 'something' to all vehicles synced to that module.
|
||||
http://youtu.be/X3e0LTexEok
|
||||
|
@ -15,6 +15,11 @@ parent: wiki
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><kbd>Ctrl</kbd>+<kbd>⇧ Shift</kbd>+<kbd>K</kbd></td>
|
||||
<td>Show Protractor</td>
|
||||
<td><code>ACE_Advanced_Ballistics</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><kbd>⊞ Win</kbd></td>
|
||||
<td>Interaction menu</td>
|
||||
@ -200,5 +205,10 @@ parent: wiki
|
||||
<td>FCS: Range down</td>
|
||||
<td><code>ACE_FireControlSsystem</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><kbd>⇧ Shift</kbd>+<kbd>K</kbd></td>
|
||||
<td>Show Wind Info</td>
|
||||
<td><code>ACE_Weather</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
125
optionals/compat_rhs_afrf3/CfgAmmo.hpp
Normal file
125
optionals/compat_rhs_afrf3/CfgAmmo.hpp
Normal file
@ -0,0 +1,125 @@
|
||||
|
||||
class CfgAmmo
|
||||
{
|
||||
class BulletBase;
|
||||
class B_556x45_Ball;
|
||||
class rhs_B_545x39_Ball: B_556x45_Ball
|
||||
{
|
||||
ACE_caliber=0.220;
|
||||
ACE_bulletLength=0.85;
|
||||
ACE_bulletMass=52.9;
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
|
||||
ACE_ballisticCoefficients[]={0.168};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ASM";
|
||||
ACE_dragModel=7;
|
||||
ACE_muzzleVelocities[]={780, 880, 920};
|
||||
ACE_barrelLengths[]={10, 16.3, 20};
|
||||
};
|
||||
class rhs_B_545x39_Ball_Tracer_Green: rhs_B_545x39_Ball
|
||||
{
|
||||
ACE_caliber=0.220;
|
||||
ACE_bulletLength=0.85;
|
||||
ACE_bulletMass=49.8;
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
|
||||
ACE_ballisticCoefficients[]={0.168};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ASM";
|
||||
ACE_dragModel=7;
|
||||
ACE_muzzleVelocities[]={785, 883, 925};
|
||||
ACE_barrelLengths[]={10, 16.3, 20};
|
||||
};
|
||||
class B_762x51_Ball;
|
||||
class rhs_B_762x54_Ball: B_762x51_Ball
|
||||
{
|
||||
ACE_caliber=0.312;
|
||||
ACE_bulletLength=1.14;
|
||||
ACE_bulletMass=152;
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
|
||||
ACE_ballisticCoefficients[]={0.4};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ICAO";
|
||||
ACE_dragModel=1;
|
||||
ACE_muzzleVelocities[]={700, 800, 820, 833};
|
||||
ACE_barrelLengths[]={16, 20, 24, 26};
|
||||
};
|
||||
class rhs_B_762x54_Ball_Tracer_Green: B_762x51_Ball
|
||||
{
|
||||
ACE_caliber=0.312;
|
||||
ACE_bulletLength=1.14;
|
||||
ACE_bulletMass=149;
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
|
||||
ACE_ballisticCoefficients[]={0.395};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ICAO";
|
||||
ACE_dragModel=1;
|
||||
ACE_muzzleVelocities[]={680, 750, 798, 800};
|
||||
ACE_barrelLengths[]={16, 20, 24, 26};
|
||||
};
|
||||
class rhs_B_762x54_7N1_Ball: rhs_B_762x54_Ball
|
||||
{
|
||||
ACE_caliber=0.312;
|
||||
ACE_bulletLength=1.14;
|
||||
ACE_bulletMass=152;
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
|
||||
ACE_ballisticCoefficients[]={0.4};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ICAO";
|
||||
ACE_dragModel=1;
|
||||
ACE_muzzleVelocities[]={700, 800, 820, 833};
|
||||
ACE_barrelLengths[]={16, 20, 24, 26};
|
||||
};
|
||||
class rhs_B_762x39_Ball: B_762x51_Ball
|
||||
{
|
||||
ACE_caliber=0.308;
|
||||
ACE_bulletLength=1.14;
|
||||
ACE_bulletMass=123;
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
|
||||
ACE_ballisticCoefficients[]={0.275};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ICAO";
|
||||
ACE_dragModel=1;
|
||||
ACE_muzzleVelocities[]={650, 716, 750};
|
||||
ACE_barrelLengths[]={10, 16.3, 20};
|
||||
};
|
||||
class rhs_B_762x39_Tracer: rhs_B_762x39_Ball
|
||||
{
|
||||
ACE_caliber=0.308;
|
||||
ACE_bulletLength=1.14;
|
||||
ACE_bulletMass=117;
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
|
||||
ACE_ballisticCoefficients[]={0.275};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ICAO";
|
||||
ACE_dragModel=1;
|
||||
ACE_muzzleVelocities[]={650, 716, 750};
|
||||
ACE_barrelLengths[]={10, 16.3, 20};
|
||||
};
|
||||
class B_9x21_Ball;
|
||||
class rhs_B_9x19_7N21: B_9x21_Ball
|
||||
{
|
||||
ACE_caliber=0.355;
|
||||
ACE_bulletLength=0.610;
|
||||
ACE_bulletMass=80.2;
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
|
||||
ACE_ballisticCoefficients[]={0.14};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ASM";
|
||||
ACE_dragModel=1;
|
||||
ACE_muzzleVelocities[]={445, 460, 480};
|
||||
ACE_barrelLengths[]={4, 5, 9};
|
||||
};
|
||||
class rhs_B_9x18_57N181S: B_9x21_Ball
|
||||
{
|
||||
ACE_caliber=0.365;
|
||||
ACE_bulletLength=0.610;
|
||||
ACE_bulletMass=92.6;
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
|
||||
ACE_ballisticCoefficients[]={0.125};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ICAO";
|
||||
ACE_dragModel=1;
|
||||
ACE_muzzleVelocities[]={298, 330, 350};
|
||||
ACE_barrelLengths[]={3.8, 5, 9};
|
||||
};
|
||||
};
|
58
optionals/compat_rhs_afrf3/CfgWeapons.hpp
Normal file
58
optionals/compat_rhs_afrf3/CfgWeapons.hpp
Normal file
@ -0,0 +1,58 @@
|
||||
|
||||
class CfgWeapons
|
||||
{
|
||||
class hgun_Rook40_F;
|
||||
class rhs_weap_pya: hgun_Rook40_F
|
||||
{
|
||||
ACE_barrelTwist=10;
|
||||
ACE_barrelLength=4.4;
|
||||
};
|
||||
class Pistol_Base_F;
|
||||
class rhs_weap_makarov_pmm: rhs_weap_pya
|
||||
{
|
||||
ACE_barrelTwist=9.45;
|
||||
ACE_barrelLength=3.68;
|
||||
};
|
||||
class rhs_weap_ak74m_Base_F;
|
||||
class rhs_weap_ak74m: rhs_weap_ak74m_Base_F
|
||||
{
|
||||
ACE_barrelTwist=7.87;
|
||||
ACE_barrelLength=16.3;
|
||||
};
|
||||
class rhs_weap_akm: rhs_weap_ak74m
|
||||
{
|
||||
ACE_barrelTwist=7.87;
|
||||
ACE_barrelLength=16.3;
|
||||
};
|
||||
class rhs_weap_aks74u: rhs_weap_aks74
|
||||
{
|
||||
ACE_barrelTwist=6.3;
|
||||
ACE_barrelLength=8.3;
|
||||
};
|
||||
class rhs_weap_svd: rhs_weap_ak74m
|
||||
{
|
||||
ACE_barrelTwist=9.4;
|
||||
ACE_barrelLength=24.4;
|
||||
};
|
||||
class rhs_weap_svds: rhs_weap_svdp
|
||||
{
|
||||
ACE_barrelTwist=9.4;
|
||||
ACE_barrelLength=22.2;
|
||||
};
|
||||
class rhs_pkp_base;
|
||||
class rhs_weap_pkp: rhs_pkp_base
|
||||
{
|
||||
ACE_barrelTwist=9.45;
|
||||
ACE_barrelLength=25.9;
|
||||
};
|
||||
class rhs_weap_pkm: rhs_weap_pkp
|
||||
{
|
||||
ACE_barrelTwist=9.45;
|
||||
ACE_barrelLength=25.4;
|
||||
};
|
||||
class rhs_weap_rpk74m: rhs_weap_pkp
|
||||
{
|
||||
ACE_barrelTwist=7.68;
|
||||
ACE_barrelLength=23.2;
|
||||
};
|
||||
};
|
15
optionals/compat_rhs_afrf3/config.cpp
Normal file
15
optionals/compat_rhs_afrf3/config.cpp
Normal file
@ -0,0 +1,15 @@
|
||||
#include "script_component.hpp"
|
||||
|
||||
class CfgPatches {
|
||||
class ADDON {
|
||||
units[] = {};
|
||||
weapons[] = {};
|
||||
requiredVersion = REQUIRED_VERSION;
|
||||
requiredAddons[] = {"rhs_c_weapons"};
|
||||
author[]={"Ruthberg"};
|
||||
VERSION_CONFIG;
|
||||
};
|
||||
};
|
||||
|
||||
#include "CfgAmmo.hpp"
|
||||
#include "CfgWeapons.hpp"
|
5
optionals/compat_rhs_afrf3/script_component.hpp
Normal file
5
optionals/compat_rhs_afrf3/script_component.hpp
Normal file
@ -0,0 +1,5 @@
|
||||
#define COMPONENT rhs_c_weapons_comp
|
||||
|
||||
#include "\z\ace\addons\main\script_mod.hpp"
|
||||
|
||||
#include "\z\ace\addons\main\script_macros.hpp"
|
97
optionals/compat_rhs_usf3/CfgAmmo.hpp
Normal file
97
optionals/compat_rhs_usf3/CfgAmmo.hpp
Normal file
@ -0,0 +1,97 @@
|
||||
|
||||
class CfgAmmo
|
||||
{
|
||||
class BulletBase;
|
||||
class rhsusf_B_300winmag: BulletBase
|
||||
{
|
||||
ACE_caliber=0.308;
|
||||
ACE_bulletLength=1.489;
|
||||
ACE_bulletMass=220;
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
|
||||
ACE_ballisticCoefficients[]={0.310};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ICAO";
|
||||
ACE_dragModel=7;
|
||||
ACE_muzzleVelocities[]={847, 867, 877};
|
||||
ACE_barrelLengths[]={20, 24, 26};
|
||||
};
|
||||
class B_556x45_Ball;
|
||||
class rhs_ammo_556x45_Mk318_Ball: B_556x45_Ball
|
||||
{
|
||||
ACE_caliber=0.224;
|
||||
ACE_bulletLength=0.906;
|
||||
ACE_bulletMass=62;
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
|
||||
ACE_ballisticCoefficients[]={0.307};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ASM";
|
||||
ACE_dragModel=1;
|
||||
ACE_muzzleVelocities[]={780, 886, 950};
|
||||
ACE_barrelLengths[]={10, 15.5, 20};
|
||||
};
|
||||
class rhs_ammo_556x45_Mk262_Ball: B_556x45_Ball
|
||||
{
|
||||
ACE_caliber=0.224;
|
||||
ACE_bulletLength=0.906;
|
||||
ACE_bulletMass=77;
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
|
||||
ACE_ballisticCoefficients[]={0.361};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ASM";
|
||||
ACE_dragModel=1;
|
||||
ACE_muzzleVelocities[]={624, 816, 832, 838};
|
||||
ACE_barrelLengths[]={7.5, 14.5, 18, 20};
|
||||
};
|
||||
class rhs_ammo_762x51_M80_Ball: BulletBase
|
||||
{
|
||||
ACE_caliber=0.308;
|
||||
ACE_bulletLength=1.14;
|
||||
ACE_bulletMass=146;
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
|
||||
ACE_ballisticCoefficients[]={0.2};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ICAO";
|
||||
ACE_dragModel=7;
|
||||
ACE_muzzleVelocities[]={700, 800, 820, 833, 845};
|
||||
ACE_barrelLengths[]={10, 16, 20, 24, 26};
|
||||
};
|
||||
class rhs_ammo_762x51_M118_Special_Ball: rhs_ammo_762x51_M80_Ball
|
||||
{
|
||||
ACE_caliber=0.308;
|
||||
ACE_bulletLength=1.24;
|
||||
ACE_bulletMass=175;
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
|
||||
ACE_ballisticCoefficients[]={0.243};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ICAO";
|
||||
ACE_dragModel=7;
|
||||
ACE_muzzleVelocities[]={750, 780, 790, 794};
|
||||
ACE_barrelLengths[]={16, 20, 24, 26};
|
||||
};
|
||||
class rhs_ammo_762x51_M993_Ball: rhs_ammo_762x51_M80_Ball
|
||||
{
|
||||
ACE_caliber=0.308;
|
||||
ACE_bulletLength=1.24;
|
||||
ACE_bulletMass=127;
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
|
||||
ACE_ballisticCoefficients[]={0.377};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ICAO";
|
||||
ACE_dragModel=1;
|
||||
ACE_muzzleVelocities[]={875, 910, 930};
|
||||
ACE_barrelLengths[]={13, 16, 20};
|
||||
};
|
||||
class rhs_ammo_45ACP_MHP: BulletBase
|
||||
{
|
||||
ACE_caliber=0.452;
|
||||
ACE_bulletLength=0.68;
|
||||
ACE_bulletMass=230;
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
|
||||
ACE_ballisticCoefficients[]={0.195};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ASM";
|
||||
ACE_dragModel=1;
|
||||
ACE_muzzleVelocities[]={230, 250, 285};
|
||||
ACE_barrelLengths[]={4, 5, 9};
|
||||
};
|
||||
};
|
73
optionals/compat_rhs_usf3/CfgWeapons.hpp
Normal file
73
optionals/compat_rhs_usf3/CfgWeapons.hpp
Normal file
@ -0,0 +1,73 @@
|
||||
|
||||
class CfgWeapons
|
||||
{
|
||||
class Pistol_Base_F;
|
||||
class Rifle_Base_F;
|
||||
class srifle_EBR_F;
|
||||
class rhs_weap_XM2010_Base_F: Rifle_Base_F
|
||||
{
|
||||
ACE_barrelTwist=10;
|
||||
ACE_barrelLength=24;
|
||||
};
|
||||
class arifle_MX_Base_F;
|
||||
class rhs_weap_m4_Base: arifle_MX_Base_F
|
||||
{
|
||||
ACE_barrelTwist=7;
|
||||
ACE_barrelLength=14.5;
|
||||
};
|
||||
class rhs_weap_mk18: rhs_weap_m4a1
|
||||
{
|
||||
ACE_barrelTwist=7;
|
||||
ACE_barrelLength=10.3;
|
||||
};
|
||||
class rhs_weap_m16a4: rhs_weap_m4_Base
|
||||
{
|
||||
ACE_barrelTwist=7;
|
||||
ACE_barrelLength=20;
|
||||
};
|
||||
class rhs_M249_base;
|
||||
class rhs_weap_m249_pip: rhs_M249_base
|
||||
{
|
||||
ACE_barrelTwist=7;
|
||||
ACE_barrelLength=16.3;
|
||||
};
|
||||
class weap_m240_base;
|
||||
class rhs_weap_m240B: weap_m240_base
|
||||
{
|
||||
ACE_barrelTwist=12;
|
||||
ACE_barrelLength=24.8;
|
||||
};
|
||||
class rhs_weap_m14ebrri: srifle_EBR_F
|
||||
{
|
||||
ACE_barrelTwist=12;
|
||||
ACE_barrelLength=22;
|
||||
};
|
||||
class rhs_weap_sr25: rhs_weap_m14ebrri
|
||||
{
|
||||
ACE_barrelTwist=11.25;
|
||||
ACE_barrelLength=24;
|
||||
};
|
||||
class rhs_weap_sr25_ec: rhs_weap_sr25
|
||||
{
|
||||
ACE_barrelTwist=11.25;
|
||||
ACE_barrelLength=20;
|
||||
};
|
||||
class rhs_weap_M590_5RD: Rifle_Base_F
|
||||
{
|
||||
ACE_barrelTwist=0;
|
||||
ACE_twistDirection=0;
|
||||
ACE_barrelLength=18.5;
|
||||
};
|
||||
class rhs_weap_M590_8RD: rhs_weap_M590_5RD
|
||||
{
|
||||
ACE_barrelTwist=0;
|
||||
ACE_twistDirection=0;
|
||||
ACE_barrelLength=20;
|
||||
};
|
||||
class hgun_ACPC2_F;
|
||||
class rhsusf_weap_m1911a1: hgun_ACPC2_F
|
||||
{
|
||||
ACE_barrelTwist=16;
|
||||
ACE_barrelLength=5;
|
||||
};
|
||||
};
|
15
optionals/compat_rhs_usf3/config.cpp
Normal file
15
optionals/compat_rhs_usf3/config.cpp
Normal file
@ -0,0 +1,15 @@
|
||||
#include "script_component.hpp"
|
||||
|
||||
class CfgPatches {
|
||||
class ADDON {
|
||||
units[] = {};
|
||||
weapons[] = {};
|
||||
requiredVersion = REQUIRED_VERSION;
|
||||
requiredAddons[] = {"rhsusf_c_weapons"};
|
||||
author[]={"Ruthberg"};
|
||||
VERSION_CONFIG;
|
||||
};
|
||||
};
|
||||
|
||||
#include "CfgAmmo.hpp"
|
||||
#include "CfgWeapons.hpp"
|
5
optionals/compat_rhs_usf3/script_component.hpp
Normal file
5
optionals/compat_rhs_usf3/script_component.hpp
Normal file
@ -0,0 +1,5 @@
|
||||
#define COMPONENT rhsusf_c_weapons_comp
|
||||
|
||||
#include "\z\ace\addons\main\script_mod.hpp"
|
||||
|
||||
#include "\z\ace\addons\main\script_macros.hpp"
|
Loading…
Reference in New Issue
Block a user