You've already forked arma2-epoch-server
Initial
This commit is contained in:
279
MPMissions/DayZ_Epoch_24.Napf/scripts/servicePoints/init.sqf
Executable file
279
MPMissions/DayZ_Epoch_24.Napf/scripts/servicePoints/init.sqf
Executable file
@ -0,0 +1,279 @@
|
||||
/*
|
||||
Vehicle Service Point by Axe Cop
|
||||
Rewritten for single currency, gems, briefcase support and 1.0.7 epoch compatibility by salival - https://github.com/oiad/
|
||||
|
||||
Requires DayZ Epoch 1.0.7
|
||||
|
||||
This version adds support for both single currency and gems (from the epoch 1.0.7 update) as well as the original epoch briefcase currency system.
|
||||
Instead of pricing things like the original way, prices are now done on a "worth" similar to how coins are done. The price value of items are below.
|
||||
|
||||
1 silver = 1 worth
|
||||
1 10oz silver = 10 worth
|
||||
1 gold = 100 worth
|
||||
1 10oz gold = 1,000 worth
|
||||
1 briefcase = 10,000 worth
|
||||
|
||||
Please see dayz_code\configVariables.sqf for the value of gems (DZE_GemWorthArray) and their relevant worth if they are enabled.
|
||||
|
||||
Example config settings for _refuel_costs, _repair_costs and _rearm_costs:
|
||||
|
||||
All 3 sections can either be made free, disabled or a specifc price with the following examples:
|
||||
|
||||
["Air",_freeText] will make the vehicle config class of "Air" free for the specific action.
|
||||
["Air",_disabledText] will make the vehicle config class of "Air" disabled for the specific action.
|
||||
["Air",2000] will make the vehicle config class of "Air" have a worth of 2000 for the specific action.
|
||||
["Armored_SUV_PMC",2000] will make the specific vehicle have a worth of 2000 for the specific action.
|
||||
["Armored_SUV_PMC",_freeText] will make the specific vehicle be free for the specific action.
|
||||
["Armored_SUV_PMC",_disabledText] will make the specific vehicle be disabled for the specific action.
|
||||
|
||||
Valid vehicle config classes as an example: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank"
|
||||
*/
|
||||
|
||||
private ["_folder","_servicePointClasses","_maxDistance","_actionTitleFormat","_actionCostsFormat","_message","_messageShown","_refuel_enable","_refuel_costs","_refuel_updateInterval","_refuel_amount","_repair_enable","_repair_costs","_repair_repairTime","_rearm_enable","_rearm_defaultcost","_rearm_costs","_rearm_magazineCount","_lastVehicle","_lastRole","_fnc_removeActions","_fnc_getCostsWep","_fnc_getCostsWep","_fnc_actionTitle","_fnc_isArmed","_fnc_getWeapons","_rearm_ignore","_cycleTime","_servicePoints","_vehicle","_role","_costs","_actionTitle","_weapons","_weaponName","_disabledText","_freeText"];
|
||||
|
||||
diag_log "Service Points: loading config...";
|
||||
|
||||
// general settings
|
||||
_folder = "scripts\servicePoints\"; // folder where the service point scripts are saved, relative to the mission file
|
||||
_servicePointClasses = ["Map_A_FuelStation_Feed","Land_A_FuelStation_Feed","FuelPump_DZ"]; // service point classes, You can also use dayz_fuelpumparray by its self for all the default fuel pumps.
|
||||
_maxDistance = 50; // maximum distance from a service point for the options to be shown
|
||||
_actionTitleFormat = "%1 (%2)"; // text of the vehicle menu, %1 = action name (Refuel, Repair, Rearm), %2 = costs (see format below)
|
||||
_actionCostsFormat = "%2 %1"; // %1 = item name, %2 = item count
|
||||
_message = localize "STR_CL_SP_MESSAGE"; // This is translated from your stringtable.xml in your mission folder root. Set to "" to disable
|
||||
_cycleTime = 5; // Time in sections for how often the action menu will be refreshed and how often it will search for a nearby fuel station (setting this too low can make a lot of lag)
|
||||
_disabledText = (localize "str_temp_param_disabled"); // Disabled text to show up when items are disabled, DO NOT CHANGE.
|
||||
_freeText = (localize "strwffree"); // Free text to show up when items are free, DO NOT CHANGE.
|
||||
|
||||
// refuel settings
|
||||
_refuel_enable = true; // enable or disable the refuel option
|
||||
_refuel_costs = [
|
||||
["Land",_freeText], // All vehicles are free to refuel.
|
||||
["Air",1000] //1000 worth is 1 10oz gold for all air vehicles
|
||||
];
|
||||
_refuel_updateInterval = 1; // update interval (in seconds)
|
||||
_refuel_amount = 0.05; // amount of fuel to add with every update (in percent)
|
||||
|
||||
// repair settings
|
||||
_repair_enable = true; // enable or disable the repair option
|
||||
_repair_repairTime = 2; // time needed to repair each damaged part (in seconds)
|
||||
_repair_costs = [
|
||||
["Air",4000], // 4000 worth is 4 10oz gold.
|
||||
["AllVehicles",2000] // 2000 worth is 2 10oz gold for all other vehicles
|
||||
];
|
||||
|
||||
// rearm settings
|
||||
_rearm_enable = true; // enable or disable the rearm option
|
||||
_rearm_defaultcost = 10000; // Default cost to rearm a weapon. (10000 worth == 1 briefcase)
|
||||
_rearm_magazineCount = 2; // amount of magazines to be added to the vehicle weapon
|
||||
_rearm_ignore = [(localize "str_dn_horn"),(localize "str_dn_laser_designator")]; // Array of weapon display names that are ignored in the rearm listing.
|
||||
|
||||
/*
|
||||
_ream_costs is an array based on the AMMO type. I.e M240, MK19, PKM, PKT, M134 etc.
|
||||
You can disable certain ammo types from being able to be rearmed by making the price _disabledText
|
||||
example: ["M134",_disabledText]
|
||||
*/
|
||||
|
||||
_rearm_costs = [
|
||||
[(localize "str_mn_40rnd_grad"),_disabledText], // BM-21 Grad is disabled (ammo is broken)
|
||||
[(localize "str_dn_flarelauncher"),2000], // Flares
|
||||
[(localize "str_ep1_dn_smokelauncher"),2000], // Smokes
|
||||
[(localize "str_dn_pk"),5000], // PKM
|
||||
[(localize "str_dn_pkt"),5000], // PKT
|
||||
[(localize "str_sn_m134"),5000], // M134
|
||||
[(localize "str_dn_ags30"),5000], // AGS-30
|
||||
[(localize "str_dn_dshkm"),5000], // DSHKM
|
||||
[(localize "str_DN_VIKHR_CCP"),5000], // Vikhr 9A4172
|
||||
[(localize "str_baf_baf_l94a10"),5000], // L94A1 Chain Gun
|
||||
[(localize "str_baf_crv70"),5000], // CRV7
|
||||
[(localize "str_baf_ctws0"),5000], // CTWS
|
||||
[(localize "str_baf_m621_manual0"),5000], // M621
|
||||
[(localize "str_dn_2a38m"),5000], // 2A38M Gun
|
||||
[(localize "str_dn_2a42"),5000], // 2A42
|
||||
[(localize "str_dn_2a46m"),5000], // 2A46M Cannon
|
||||
[(localize "str_dn_2a46m_rocket"),5000], // 9M119M Refleks rocket
|
||||
[(localize "str_dn_2a70"),5000], // 2A70 100mm
|
||||
[(localize "str_dn_2a70_rocket"),5000], // 9M117M1 Arkan
|
||||
[(localize "str_dn_2a72"),5000], // 2A72 30mm
|
||||
[(localize "str_dn_80mmlauncher_burst"),5000], // S-8
|
||||
[(localize "str_dn_9m311laucher"),5000], // Tunguska 9M311
|
||||
[(localize "str_dn_ags17"),5000], // AGS-17
|
||||
[(localize "str_dn_d81"),5000], // D-81
|
||||
[(localize "str_dn_dt_veh"),5000], // DT
|
||||
[(localize "str_dn_hellfire"),5000], // AGM-114 Hellfire
|
||||
[(localize "str_dn_kord"),5000], // KORD
|
||||
[(localize "str_dn_m197"),5000], // M197
|
||||
[(localize "str_dn_m240"),5000], // M240
|
||||
[(localize "str_dn_m242"),5000], // M242
|
||||
[(localize "str_dn_m256"),5000], // M256
|
||||
[(localize "str_dn_sidewinderlaucher"),5000], // AIM-9L Sidewinder
|
||||
[(localize "str_dn_zis_s_53"),5000], // ZiS-S-53
|
||||
[(localize "str_ep1_dn_57mmlauncher"),5000], // S-5
|
||||
[(localize "str_ep1_dn_azp85"),5000], // AZP-23
|
||||
[(localize "str_ep1_dn_ffarlauncher"),5000], // Hydra
|
||||
[(localize "str_ep1_dn_m2"),5000], // M2 Machinegun
|
||||
[(localize "str_ep1_dn_m230"),5000], // M230
|
||||
[(localize "str_ep1_dn_m32_ep1"),5000], // M32
|
||||
[(localize "str_ep1_dn_mk19"),5000], // Mk19
|
||||
[(localize "str_ep1_dn_yakb"),5000], // Yak-B
|
||||
[(localize "str_mn_at2_mi24d"),5000], // Falanga 3M11
|
||||
[(localize "str_mn_at5_bmp2"),5000], // Konkurs 9M113
|
||||
[(localize "str_mn_stinger"),5000], // FIM-92F Stinger
|
||||
[(localize "str_mn_12rnd_mlrs"),5000], // MLRS
|
||||
[(localize "str_baf_baf_l2a10"),5000], // L111A1
|
||||
[(localize "STR_DN_D10_CCP"),5000], // D-10
|
||||
[(localize "str_dn_tow"),5000], // M220 TOW
|
||||
[(localize "str_dn_zu23"),5000], // ZU-23
|
||||
[(localize "str_dn_kpvt"),5000], // KPVT
|
||||
[(localize "str_dn_m3p"),5000], // M3P
|
||||
[(localize "str_dn_spg9"),5000], // SPG-9
|
||||
[(localize "str_dn_gau8"),5000], // GAU-8
|
||||
[(localize "str_dn_maverick"),5000], // AGM-65 Maverick
|
||||
[(localize "str_dn_gbu12"),5000], // GBU-12
|
||||
[(localize "str_dn_gau12"),5000], // GAU-12
|
||||
[(localize "STR_DN_KH29_CCP"),5000], // Kh-29L
|
||||
[(localize "str_dn_r73"),5000], // R-73
|
||||
[(localize "str_mn_fab250"),5000], // FAB-250
|
||||
[(localize "str_dn_gsh301"),5000], // GSh-301
|
||||
[(localize "str_mn_23mm_gsh23l"),5000], // GSh-23L
|
||||
[(localize "str_sn_grenade"),5000], // Grenade
|
||||
[(localize "str_mn_at9_mi24p"),5000], // Ataka-V 9M120
|
||||
[(localize "str_mn_at6_mi24v"),5000], // Shturm 9K114
|
||||
|
||||
["SGMT",5000], // SGMT no localization available
|
||||
["M68",5000], // M68 no localization available
|
||||
["GAU-22",5000], // GAU-22 no localization available
|
||||
["GSh-30",5000], // GSh-30 no localization available
|
||||
["M60",5000], // M60 no localization available
|
||||
["GSh-30K",5000] // GSh-30K no localization available
|
||||
];
|
||||
|
||||
_lastVehicle = objNull;
|
||||
_lastRole = [];
|
||||
_messageShown = false;
|
||||
|
||||
SP_refuel_action = -1;
|
||||
SP_repair_action = -1;
|
||||
SP_rearm_actions = [];
|
||||
|
||||
_fnc_removeActions = {
|
||||
if (isNull _lastVehicle) exitWith {};
|
||||
_lastVehicle removeAction SP_refuel_action;
|
||||
SP_refuel_action = -1;
|
||||
_lastVehicle removeAction SP_repair_action;
|
||||
SP_repair_action = -1;
|
||||
{
|
||||
_lastVehicle removeAction _x;
|
||||
} forEach SP_rearm_actions;
|
||||
SP_rearm_actions = [];
|
||||
_lastVehicle = objNull;
|
||||
_lastRole = [];
|
||||
};
|
||||
|
||||
_fnc_getCosts = {
|
||||
private ["_getVehicle","_getCosts","_cost","_getTypeName"];
|
||||
_getVehicle = _this select 0;
|
||||
_getCosts = _this select 1;
|
||||
_cost = [];
|
||||
{
|
||||
_getTypeName = _x select 0;
|
||||
if (_getVehicle isKindOf _getTypeName) exitWith {
|
||||
_cost = _x select 1;
|
||||
};
|
||||
} forEach _getCosts;
|
||||
_cost
|
||||
};
|
||||
|
||||
_fnc_getCostsWep = {
|
||||
private ["_weapon","_getCostsWep","_returnCostWep","_typeName"];
|
||||
_weapon = _this select 0;
|
||||
_getCostsWep = _this select 1;
|
||||
_returnCostWep = _rearm_defaultcost;
|
||||
{
|
||||
_typeName = _x select 0;
|
||||
if (_weapon == _typeName) exitWith {
|
||||
_returnCostWep = _x select 1;
|
||||
};
|
||||
} forEach _getCostsWep;
|
||||
_returnCostWep
|
||||
};
|
||||
|
||||
_fnc_actionTitle = {
|
||||
private ["_actionName","_actionCosts","_costsText","_return"];
|
||||
_actionName = _this select 0;
|
||||
_actionCosts = _this select 1;
|
||||
if (typeName _actionCosts == "STRING") then {
|
||||
_costsText = _actionCosts;
|
||||
} else {
|
||||
_costsText = if (Z_SingleCurrency) then {format ["%1 %2",[_actionCosts] call BIS_fnc_numberText,CurrencyName]} else {format ["%1",[_actionCosts,true] call z_calcCurrency]};
|
||||
};
|
||||
_return = format [_actionTitleFormat,_actionName,_costsText];
|
||||
_return
|
||||
};
|
||||
|
||||
_fnc_getWeapons = {
|
||||
private ["_gWeaponsVehicle","_gWeaponsRole","_gWeapons","_gWeaponName","_gTurret","_gWeaponsTurret"];
|
||||
_gWeaponsVehicle = _this select 0;
|
||||
_gWeaponsRole = _this select 1;
|
||||
_gWeapons = [];
|
||||
if (count _gWeaponsRole > 1) then {
|
||||
_gTurret = _gWeaponsRole select 1;
|
||||
_gWeaponsTurret = _gWeaponsVehicle weaponsTurret _gTurret;
|
||||
{
|
||||
_gWeaponName = getText (configFile >> "CfgWeapons" >> _x >> "displayName");
|
||||
if !(_gWeaponName in _rearm_ignore) then {
|
||||
_gWeapons set [count _gWeapons, [_x,_gWeaponName,_gTurret]];
|
||||
};
|
||||
} forEach _gWeaponsTurret;
|
||||
};
|
||||
_gWeapons
|
||||
};
|
||||
|
||||
while {true} do {
|
||||
_vehicle = vehicle player;
|
||||
if (_vehicle != player) then {
|
||||
_servicePoints = (nearestObjects [getPosATL _vehicle,_servicePointClasses,_maxDistance]) - [_vehicle];
|
||||
if (count _servicePoints > 0) then {
|
||||
if (assignedDriver _vehicle == player) then {
|
||||
_role = ["Driver", [-1]];
|
||||
} else {
|
||||
_role = assignedVehicleRole player;
|
||||
};
|
||||
if (((str _role) != (str _lastRole)) || {_vehicle != _lastVehicle}) then {
|
||||
call _fnc_removeActions;
|
||||
};
|
||||
_lastVehicle = _vehicle;
|
||||
_lastRole = _role;
|
||||
if ((SP_refuel_action < 0) && _refuel_enable) then {
|
||||
_costs = [_vehicle,_refuel_costs] call _fnc_getCosts;
|
||||
_actionTitle = [localize "config_depot.sqf8",_costs] call _fnc_actionTitle;
|
||||
SP_refuel_action = _vehicle addAction [_actionTitle,_folder + "servicePointActions.sqf",["refuel",_costs,_refuel_updateInterval,_refuel_amount],-1,false,true];
|
||||
};
|
||||
if ((SP_repair_action < 0) && _repair_enable) then {
|
||||
_costs = [_vehicle,_repair_costs] call _fnc_getCosts;
|
||||
_actionTitle = [localize "config_depot.sqf1",_costs] call _fnc_actionTitle;
|
||||
SP_repair_action = _vehicle addAction [_actionTitle,_folder + "servicePointActions.sqf",["repair",_costs,_repair_repairTime],-1,false,true];
|
||||
};
|
||||
if ((count _role > 1) && _rearm_enable && {count SP_rearm_actions == 0}) then {
|
||||
_weapons = [_vehicle,_role] call _fnc_getWeapons;
|
||||
{
|
||||
_weaponName = _x select 1;
|
||||
_costs = [_weaponName,_rearm_costs] call _fnc_getCostsWep;
|
||||
_actionTitle = [format["%1 %2",localize "config_depot.sqf5",_weaponName],_costs] call _fnc_actionTitle;
|
||||
SP_rearm_action = _vehicle addAction [_actionTitle,_folder + "servicePointActions.sqf",["rearm",_costs,_rearm_magazineCount,_x],-1,false,true];
|
||||
SP_rearm_actions set [count SP_rearm_actions, SP_rearm_action];
|
||||
} forEach _weapons;
|
||||
};
|
||||
if (!_messageShown && {_message != ""}) then {
|
||||
_messageShown = true;
|
||||
_vehicle vehicleChat _message;
|
||||
};
|
||||
} else {
|
||||
call _fnc_removeActions;
|
||||
_messageShown = false;
|
||||
};
|
||||
} else {
|
||||
call _fnc_removeActions;
|
||||
_messageShown = false;
|
||||
};
|
||||
uiSleep _cycleTime;
|
||||
};
|
143
MPMissions/DayZ_Epoch_24.Napf/scripts/servicePoints/servicePointActions.sqf
Executable file
143
MPMissions/DayZ_Epoch_24.Napf/scripts/servicePoints/servicePointActions.sqf
Executable file
@ -0,0 +1,143 @@
|
||||
// Vehicle Service Point (Rearm) by Axe Cop
|
||||
// Rewritten for single currency, gems, briefcase support and 1.0.7 epoch compatibility by salival - https://github.com/oiad/
|
||||
// Requires DayZ Epoch 1.0.7 for gem support.
|
||||
|
||||
private ["_vehicle","_costs","_fuel","_magazineCount","_weapon","_type","_name","_weaponType","_weaponName","_turret","_magazines","_ammo","_textMissing","_pos","_message","_action","_damage","_selection","_strH","_disabled","_amount","_enoughMoney","_moneyInfo","_wealth","_success","_reason","_cmpt"];
|
||||
|
||||
_vehicle = _this select 0;
|
||||
|
||||
_ammo = "";
|
||||
_reason = "";
|
||||
|
||||
_action = (_this select 3) select 0;
|
||||
|
||||
_type = typeOf _vehicle;
|
||||
_disabled = false;
|
||||
_name = getText(configFile >> "cfgVehicles" >> _type >> "displayName");
|
||||
|
||||
_amount = (_this select 3) select 1;
|
||||
|
||||
if (_action == "rearm") then {
|
||||
_magazineCount = (_this select 3) select 2;
|
||||
_weapon = (_this select 3) select 3;
|
||||
|
||||
_weaponType = _weapon select 0;
|
||||
_weaponName = _weapon select 1;
|
||||
_turret = _weapon select 2;
|
||||
};
|
||||
|
||||
if (typeName _amount == "STRING") then {
|
||||
if (_amount == (localize "str_temp_param_disabled")) then {
|
||||
if (_action == "rearm") then {_reason = format[localize "STR_CL_SP_UNABLE_REARM",_weaponName]; _disabled = true};
|
||||
if (_action == "repair") then {_reason = format[localize "STR_CL_SP_UNABLE_REPAIR",_name]; _disabled = true};
|
||||
if (_action == "refuel") then {_reason = format[localize "STR_CL_SP_UNABLE_REFUEL",_name]; _disabled = true};
|
||||
};
|
||||
if (_amount == (localize "strwffree")) then {_amount = 0};
|
||||
};
|
||||
|
||||
if (_disabled) exitWith {[_reason,1] call dayz_rollingMessages};
|
||||
|
||||
_enoughMoney = false;
|
||||
_moneyInfo = [false, [], [], [], 0];
|
||||
_wealth = player getVariable [(["cashMoney","globalMoney"] select Z_persistentMoney),0];
|
||||
|
||||
if (Z_SingleCurrency) then {
|
||||
_enoughMoney = (_wealth >= _amount);
|
||||
} else {
|
||||
Z_Selling = false;
|
||||
if (Z_AllowTakingMoneyFromVehicle) then {false call Z_checkCloseVehicle};
|
||||
_moneyInfo = _amount call Z_canAfford;
|
||||
_enoughMoney = _moneyInfo select 0;
|
||||
};
|
||||
|
||||
_success = if (Z_SingleCurrency) then {true} else {[player,_amount,_moneyInfo,true,0] call Z_payDefault};
|
||||
|
||||
if (!_success && _enoughMoney) exitWith {systemChat localize "STR_EPOCH_TRADE_GEAR_AND_BAG_FULL"}; // Not enough room in gear or bag to accept change
|
||||
|
||||
if (_enoughMoney) then {
|
||||
_success = if (Z_SingleCurrency) then {_amount <= _wealth} else {[player,_amount,_moneyInfo,false,0] call Z_payDefault};
|
||||
if (_success) then {
|
||||
if (Z_SingleCurrency) then {
|
||||
player setVariable [(["cashMoney","globalMoney"] select Z_persistentMoney),(_wealth - _amount),true];
|
||||
};
|
||||
|
||||
[player,(getPosATL player),50,"refuel"] spawn fnc_alertZombies;
|
||||
_vehicle engineOn false;
|
||||
if (_action == "refuel") then {
|
||||
[format[localize "STR_CL_SP_REFUELING",_name],1] call dayz_rollingMessages;
|
||||
|
||||
while {vehicle player == _vehicle} do {
|
||||
if ([0,0,0] distance (velocity _vehicle) > 1) exitWith {[format[localize "STR_CL_SP_REFUELING_STOPPED",_name],1] call dayz_rollingMessages};
|
||||
_fuel = (fuel _vehicle) + ((_this select 3) select 3);
|
||||
if (_fuel > 0.99) exitWith {
|
||||
_vehicle setFuel 1;
|
||||
[format[localize "STR_CL_SP_REFUEL_OK",_name],1] call dayz_rollingMessages;
|
||||
};
|
||||
_vehicle setFuel _fuel;
|
||||
uiSleep ((_this select 3) select 2);
|
||||
};
|
||||
};
|
||||
if (_action == "repair") then {
|
||||
[_vehicle,"repair",0,false] call dayz_zombieSpeak;
|
||||
|
||||
_hitpoints = _vehicle call vehicle_getHitpoints;
|
||||
_allRepaired = true;
|
||||
{
|
||||
if ((vehicle player != _vehicle) || {[0,0,0] distance (velocity _vehicle) > 1}) exitWith {
|
||||
_allRepaired = false;
|
||||
[format[localize "STR_CL_SP_REPAIRING_STOPPED",_name],1] call dayz_rollingMessages;
|
||||
};
|
||||
_hits = [_vehicle,_x] call object_getHit;
|
||||
_damage = _hits select 0;
|
||||
if (_damage > 0) then {
|
||||
_cmpt = [];
|
||||
{
|
||||
if (_forEachIndex > 2) then {_cmpt set [count _cmpt,_x]};
|
||||
} forEach toArray (_x);
|
||||
_cmpt = toString _cmpt;
|
||||
[format[localize "STR_CL_SP_REPAIRING",_cmpt],1] call dayz_rollingMessages;
|
||||
_selection = getText(configFile >> "cfgVehicles" >> _type >> "HitPoints" >> _x >> "name");
|
||||
_strH = "hit_" + (_selection);
|
||||
_vehicle setHit[_selection,0];
|
||||
_vehicle setVariable [_strH,0,true];
|
||||
uiSleep ((_this select 3) select 2);
|
||||
};
|
||||
} forEach _hitpoints;
|
||||
PVDZ_veh_Save = [_vehicle,"repair",true];
|
||||
publicVariableServer "PVDZ_veh_Save";
|
||||
|
||||
if (_allRepaired) then {
|
||||
_vehicle setDamage 0;
|
||||
_vehicle setVelocity [0,0,1];
|
||||
[format[localize "STR_CL_SP_REPAIR_OK",_name],1] call dayz_rollingMessages;
|
||||
};
|
||||
};
|
||||
|
||||
if (_action == "rearm") then {
|
||||
_magazines = getArray (configFile >> "CfgWeapons" >> _weaponType >> "magazines");
|
||||
_ammo = _magazines select 0;
|
||||
|
||||
if (_weaponType == "CMFlareLauncher") then {
|
||||
_vehicle removeWeaponTurret ["CMFlareLauncher",_turret];
|
||||
for "_i" from 1 to _magazineCount do {_vehicle addMagazineTurret [_ammo,_turret];};
|
||||
_vehicle addWeaponTurret ["CMFlareLauncher",_turret];
|
||||
} else {
|
||||
{_vehicle removeMagazinesTurret [_x,_turret];} forEach _magazines;
|
||||
|
||||
for "_i" from 1 to _magazineCount do {_vehicle addMagazineTurret [_ammo,_turret];};
|
||||
};
|
||||
|
||||
[format[localize "STR_CL_SP_REARMED",_weaponName,_name],1] call dayz_rollingMessages;
|
||||
};
|
||||
call player_forceSave;
|
||||
} else {
|
||||
systemChat localize "STR_EPOCH_TRADE_DEBUG";
|
||||
};
|
||||
} else {
|
||||
_itemText = if (Z_SingleCurrency) then {CurrencyName} else {[_amount,true] call z_calcCurrency};
|
||||
if (Z_SingleCurrency) then {
|
||||
systemChat format[localize "STR_CL_SP_FAIL_COINS",[_amount] call BIS_fnc_numberText,_itemText,_action,_name];
|
||||
} else {
|
||||
systemChat format[localize "STR_CL_SP_FAIL_BRIEFCASES",_itemText,_action,_name];
|
||||
};
|
||||
};
|
Reference in New Issue
Block a user