mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2026-02-16 13:12:56 +03:00
sync with DayZ 1.7.4 CE
This commit is contained in:
@@ -34,7 +34,7 @@ player reveal _object;
|
||||
cutText [format[localize "str_build_01",_text], "PLAIN DOWN"];
|
||||
|
||||
dayzPublishObj = [dayz_characterID,_object,[_dir,_location],_classname];
|
||||
publicVariable "dayzPublishObj";
|
||||
publicVariableServer "dayzPublishObj";
|
||||
if (isServer) then {
|
||||
dayzPublishObj call server_publishObj;
|
||||
};
|
||||
|
||||
@@ -8,6 +8,8 @@ _activatingPlayer = _this select 1;
|
||||
_trader_id = (_this select 3) select 0;
|
||||
_category = (_this select 3) select 1;
|
||||
|
||||
diag_log format["DEBUG TRADER OBJ: %1", _trader_id];
|
||||
|
||||
dayzTraderMenu = [_activatingPlayer,_trader_id,_category,_action];
|
||||
publicVariable "dayzTraderMenu";
|
||||
if (isServer) then {
|
||||
@@ -16,28 +18,29 @@ if (isServer) then {
|
||||
|
||||
waitUntil {!isNil "dayzTraderMenuResult"};
|
||||
|
||||
//diag_log format["DEBUG Buy: %1", dayzTraderMenuResult];
|
||||
diag_log format["DEBUG Buy: %1", dayzTraderMenuResult];
|
||||
{
|
||||
_id = parseNumber (_x select 0);
|
||||
_type = _x select 1;
|
||||
_loc = _x select 2;
|
||||
_name = _x select 3;
|
||||
_qty = parseNumber (_x select 4);
|
||||
_cost = parseNumber (_x select 5);
|
||||
_sell = parseNumber (_x select 6);
|
||||
_cur = _x select 7;
|
||||
_cat = _x select 8;
|
||||
_order = parseNumber (_x select 9);
|
||||
_tid = parseNumber (_x select 10);
|
||||
_currency = _x select 11;
|
||||
_actionFile = _x select 12;
|
||||
_header = _x select 0; // "TRD"
|
||||
_btype = _x select 1;
|
||||
_stype = _x select 2;
|
||||
_loc = _x select 3;
|
||||
_name = _x select 4;
|
||||
_qty = _x select 5;
|
||||
_cost = _x select 6;
|
||||
_bcurrency = _x select 7;
|
||||
_sell = _x select 8;
|
||||
_scurrency = _x select 9;
|
||||
_cat = _x select 10;
|
||||
_order = _x select 11;
|
||||
_tid = _x select 12;
|
||||
_actionFile = _x select 13;
|
||||
|
||||
_textPart = getText(configFile >> _type >> _name >> "displayName");
|
||||
_textPart = getText(configFile >> _btype >> _name >> "displayName");
|
||||
|
||||
_File = "\z\addons\dayz_code\actions\" + _actionFile + ".sqf";
|
||||
|
||||
_part_out = _name;
|
||||
_part_in = _currency;
|
||||
_part_in = _bcurrency;
|
||||
_out = 1;
|
||||
_in = _cost;
|
||||
|
||||
@@ -47,13 +50,13 @@ waitUntil {!isNil "dayzTraderMenuResult"};
|
||||
|
||||
// trade_items.sqf | [part_out, part_in, qty_out, qty_in,];
|
||||
_part = player addAction [_Display, _File,[_part_out,_part_in,_out,_in], _order, true, true, "",""];
|
||||
//diag_log format["DEBUG TRADER: %1", _part];
|
||||
s_player_metals set [count s_player_metals,_part];
|
||||
diag_log format["DEBUG TRADER: %1", _part];
|
||||
s_player_parts set [count s_player_parts,_part];
|
||||
|
||||
} forEach dayzTraderMenuResult;
|
||||
|
||||
_cancel = player addAction ["Cancel", "\z\addons\dayz_code\actions\trade_cancel.sqf",["medical"], 92, true, false, "",""];
|
||||
s_player_metals set [count s_player_metals,_cancel];
|
||||
_cancel = player addAction ["Cancel", "\z\addons\dayz_code\actions\trade_cancel.sqf",["medical"], 10, true, false, "",""];
|
||||
s_player_parts set [count s_player_parts,_cancel];
|
||||
|
||||
// Clear Data maybe consider cacheing results
|
||||
dayzTraderMenuResult = nil;
|
||||
|
||||
@@ -9,5 +9,7 @@ if(_whistle) then {
|
||||
|
||||
sleep 1;
|
||||
|
||||
if (_dog distance player <= 900) then {
|
||||
_handle setFSMVariable ["_command","return"];
|
||||
};
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
private["_object"];
|
||||
|
||||
dayzUpdateVehicle = [_this select 3,"all"];
|
||||
publicVariable "dayzUpdateVehicle";
|
||||
publicVariableServer "dayzUpdateVehicle";
|
||||
if (isServer) then {
|
||||
dayzUpdateVehicle call server_updateObject;
|
||||
};
|
||||
30
dayz_code/actions/player_SplitBars.sqf
Normal file
30
dayz_code/actions/player_SplitBars.sqf
Normal file
@@ -0,0 +1,30 @@
|
||||
private["_item"];
|
||||
_item = _this;
|
||||
_config = configFile >> "CfgMagazines" >> _item;
|
||||
|
||||
_consume = getArray (_config >> "ItemActions" >> "SplitBar" >> "use");
|
||||
_create = getArray (_config >> "ItemActions" >> "SplitBar" >> "output");
|
||||
|
||||
_textConsume = getText(configFile >> "CfgMagazines" >> (_consume select 0) >> "displayName");
|
||||
_textCreate = getText(configFile >> "CfgMagazines" >> (_create select 0) >> "displayName");
|
||||
|
||||
_amountNeed = count _consume;
|
||||
_amountHas = {_x == (_consume select 0)} count magazines player;
|
||||
_amountMake = count _create;
|
||||
|
||||
_hasInput = (_amountNeed <= _amountHas);
|
||||
player playActionNow "PutDown";
|
||||
if (_hasInput) then {
|
||||
//Take Items
|
||||
{
|
||||
player removeMagazine _x;
|
||||
} forEach _consume;
|
||||
sleep 1;
|
||||
//Give Items
|
||||
{
|
||||
player addMagazine _x;
|
||||
} forEach _create;
|
||||
cutText [format[("You have successfully converted %1 %2."),_amountMake,_textCreate], "PLAIN DOWN"];
|
||||
} else {
|
||||
cutText [format[("You cannot convert that combination, you need %1 %2."),_amountNeed,_textConsume], "PLAIN DOWN"];
|
||||
};
|
||||
@@ -34,7 +34,7 @@ player reveal _object;
|
||||
cutText [format[localize "str_build_01",_text], "PLAIN DOWN"];
|
||||
|
||||
dayzPublishObj = [dayz_characterID,_object,[_dir,_location],_classname];
|
||||
publicVariable "dayzPublishObj";
|
||||
publicVariableServer "dayzPublishObj";
|
||||
if (isServer) then {
|
||||
dayzPublishObj call server_publishObj;
|
||||
};
|
||||
|
||||
30
dayz_code/actions/player_convertBars.sqf
Normal file
30
dayz_code/actions/player_convertBars.sqf
Normal file
@@ -0,0 +1,30 @@
|
||||
private["_item"];
|
||||
_item = _this;
|
||||
_config = configFile >> "CfgMagazines" >> _item;
|
||||
|
||||
_consume = getArray (_config >> "ItemActions" >> "ReloadMag" >> "use");
|
||||
_create = getArray (_config >> "ItemActions" >> "ReloadMag" >> "output");
|
||||
|
||||
_textConsume = getText(configFile >> "CfgMagazines" >> (_consume select 0) >> "displayName");
|
||||
_textCreate = getText(configFile >> "CfgMagazines" >> (_create select 0) >> "displayName");
|
||||
|
||||
_amountNeed = count _consume;
|
||||
_amountHas = {_x == (_consume select 0)} count magazines player;
|
||||
_amountMake = count _create;
|
||||
|
||||
_hasInput = (_amountNeed <= _amountHas);
|
||||
player playActionNow "PutDown";
|
||||
if (_hasInput) then {
|
||||
//Take Items
|
||||
{
|
||||
player removeMagazine _x;
|
||||
} forEach _consume;
|
||||
sleep 1;
|
||||
//Give Items
|
||||
{
|
||||
player addMagazine _x;
|
||||
} forEach _create;
|
||||
cutText [format[("You have successfully converted %1 %2."),_amountMake,_textCreate], "PLAIN DOWN"];
|
||||
} else {
|
||||
cutText [format[("You cannot convert that combination, you need %1 %2."),_amountNeed,_textConsume], "PLAIN DOWN"];
|
||||
};
|
||||
@@ -35,7 +35,7 @@ _update set [3,true];
|
||||
player setVariable["updatePlayer",_update,true];
|
||||
*/
|
||||
dayzPlayerSave = player;
|
||||
publicVariable "dayzPlayerSave";
|
||||
publicVariableServer "dayzPlayerSave";
|
||||
if (isServer) then {
|
||||
dayzPlayerSave call server_updatePlayer;
|
||||
};
|
||||
|
||||
@@ -1,73 +1,70 @@
|
||||
private["_item","_isFemale","_itemNew","_item","_onLadder"];
|
||||
/*
|
||||
_item spawn player_wearClothes;
|
||||
TODO: female
|
||||
*/
|
||||
private["_item","_isFemale","_itemNew","_item","_onLadder","_model","_hasclothesitem","_config","_text"];
|
||||
_item = _this;
|
||||
call gear_ui_init;
|
||||
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
|
||||
if (_onLadder) exitWith {cutText [(localize "str_player_21") , "PLAIN DOWN"]};
|
||||
|
||||
_hasclothesitem = _this in magazines player;
|
||||
|
||||
_config = configFile >> "CfgMagazines" >> _item;
|
||||
_text = getText (_config >> "displayName");
|
||||
_config = configFile >> "CfgMagazines";
|
||||
_text = getText (_config >> _item >> "displayName");
|
||||
|
||||
if (!_hasclothesitem) exitWith {cutText [format[(localize "str_player_31"),_text,"wear"] , "PLAIN DOWN"]};
|
||||
|
||||
if (vehicle player != player) exitWith {cutText ["You may not change clothes while in a vehicle", "PLAIN DOWN"]};
|
||||
|
||||
_isFemale = ((typeOf player == "SurvivorW2_DZ")||(typeOf player == "BanditW1_DZ"));
|
||||
if (_isFemale) then {
|
||||
if (_item != "Skin_Survivor2_DZ") exitWith {cutText ["Currently Female Characters cannot change to this skin. This will change in a future update.", "PLAIN DOWN"]};
|
||||
};
|
||||
if (_isFemale) exitWith {cutText ["Currently Female Characters cannot change to this skin. This will change in a future update.", "PLAIN DOWN"]};
|
||||
|
||||
private["_itemNew","_myModel","_humanity","_isBandit","_isHero"];
|
||||
_myModel = (typeOf player);
|
||||
_itemNew = "Skin_Survivor2_DZ";
|
||||
|
||||
player removeMagazine _item;
|
||||
_humanity = player getVariable ["humanity",0];
|
||||
_isBandit = _humanity < -2000;
|
||||
_isHero = _humanity > 5000;
|
||||
_itemNew = "Skin_" + _myModel;
|
||||
|
||||
if ( !(isClass(_config >> _itemNew)) ) then {
|
||||
_itemNew = if (!_isFemale) then {"Skin_Survivor2_DZ"} else {"Skin_SurvivorW2_DZ"};
|
||||
};
|
||||
|
||||
switch (_item) do {
|
||||
case "Skin_Sniper1_DZ": {
|
||||
_itemNew = "Skin_" + _myModel;
|
||||
[dayz_playerUID,dayz_characterID,"Sniper1_DZ"] spawn player_humanityMorph;
|
||||
_model = "Sniper1_DZ";
|
||||
};
|
||||
case "Skin_Camo1_DZ": {
|
||||
_itemNew = "Skin_" + _myModel;
|
||||
[dayz_playerUID,dayz_characterID,"Camo1_DZ"] spawn player_humanityMorph;
|
||||
_model = "Camo1_DZ";
|
||||
};
|
||||
case "Skin_Rocket_DZ": {
|
||||
_itemNew = "Skin_" + _myModel;
|
||||
[dayz_playerUID,dayz_characterID,"Rocket_DZ"] spawn player_humanityMorph;
|
||||
_model = "Rocket_DZ";
|
||||
};
|
||||
case "Skin_Soldier1_DZ": {
|
||||
_model = "Soldier1_DZ";
|
||||
};
|
||||
case "Skin_Survivor2_DZ": {
|
||||
_model = "Survivor2_DZ";
|
||||
if (_isFemale) then {
|
||||
_model = "SurvivorW2_DZ";
|
||||
};
|
||||
if (_humanity < -2000) then {
|
||||
if (_isBandit) then {
|
||||
_model = "Bandit1_DZ";
|
||||
if (_isFemale) then {
|
||||
_model = "BanditW1_DZ";
|
||||
};
|
||||
};
|
||||
if (_humanity > 5000) then {
|
||||
if (_isHero) then {
|
||||
_model = "Survivor3_DZ";
|
||||
if (_isFemale) then {
|
||||
_model = "SurvivorW2_DZ";
|
||||
};
|
||||
};
|
||||
if (_model != _myModel) then {
|
||||
[dayz_playerUID,dayz_characterID,_model] spawn player_humanityMorph;
|
||||
};
|
||||
};
|
||||
case "Skin_Soldier1_DZ": {
|
||||
_itemNew = "Skin_" + _myModel;
|
||||
[dayz_playerUID,dayz_characterID,"Soldier1_DZ"] spawn player_humanityMorph;
|
||||
};
|
||||
};
|
||||
|
||||
_config = configFile >> "CfgMagazines" >> _itemNew;
|
||||
_isClass = isClass (_config);
|
||||
|
||||
if (_isClass) then {
|
||||
if (_model != _myModel) then {
|
||||
player removeMagazine _item;
|
||||
player addMagazine _itemNew;
|
||||
};
|
||||
player setVariable ["humanity",_humanity,true];
|
||||
[dayz_playerUID,dayz_characterID,_model] spawn player_humanityMorph;
|
||||
};
|
||||
@@ -14,7 +14,7 @@ _id = [player,50,true,(getPosATL player)] spawn player_alertZombies;
|
||||
sleep 5;
|
||||
|
||||
dayzDeleteObj = [_objectID,_objectUID];
|
||||
publicVariable "dayzDeleteObj";
|
||||
publicVariableServer "dayzDeleteObj";
|
||||
if (isServer) then {
|
||||
dayzDeleteObj call local_deleteObj;
|
||||
};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
private["_activatingPlayer","_trader_id","_category","_action","_id","_type","_loc","_name","_qty","_cost","_qty","_sell","_cur","_order","_tid","_currency","_actionFile","_in","_out","_part","_cat","_cancel","_Display","_File","_textCurrency","_textPart"];
|
||||
private["_activatingPlayer","_trader_id","_category","_action","_id","_btype","_stype","_loc","_name","_qty","_cost","_qty","_sell","_order","_tid","_bcurrency","_scurrency","_actionFile","_in","_out","_part","_cat","_cancel","_Display","_File","_textCurrency","_textPart"];
|
||||
|
||||
{player removeAction _x} forEach s_player_parts;s_player_parts = [];
|
||||
|
||||
@@ -8,7 +8,7 @@ _activatingPlayer = _this select 1;
|
||||
_trader_id = (_this select 3) select 0;
|
||||
_category = (_this select 3) select 1;
|
||||
|
||||
diag_log format["DEBUG TRADER OBJ: %1", _trader];
|
||||
diag_log format["DEBUG TRADER OBJ: %1", _trader_id];
|
||||
|
||||
dayzTraderMenu = [_activatingPlayer,_trader_id,_category,_action];
|
||||
publicVariable "dayzTraderMenu";
|
||||
@@ -18,27 +18,28 @@ if (isServer) then {
|
||||
|
||||
waitUntil {!isNil "dayzTraderMenuResult"};
|
||||
|
||||
//diag_log format["DEBUG Sell: %1", dayzTraderMenuResult];
|
||||
diag_log format["DEBUG Sell: %1", dayzTraderMenuResult];
|
||||
{
|
||||
_id = parseNumber (_x select 0);
|
||||
_type = _x select 1;
|
||||
_loc = _x select 2;
|
||||
_name = _x select 3;
|
||||
_qty = parseNumber (_x select 4);
|
||||
_cost = parseNumber (_x select 5);
|
||||
_sell = parseNumber (_x select 6);
|
||||
_cur = _x select 7;
|
||||
_cat = _x select 8;
|
||||
_order = parseNumber (_x select 9);
|
||||
_tid = parseNumber (_x select 10);
|
||||
_currency = _x select 11;
|
||||
_actionFile = _x select 12;
|
||||
_header = _x select 0; // "TRD"
|
||||
_btype = _x select 1;
|
||||
_stype = _x select 2;
|
||||
_loc = _x select 3;
|
||||
_name = _x select 4;
|
||||
_qty = _x select 5;
|
||||
_cost = _x select 6;
|
||||
_bcurrency = _x select 7;
|
||||
_sell = _x select 8;
|
||||
_scurrency = _x select 9;
|
||||
_cat = _x select 10;
|
||||
_order = _x select 11;
|
||||
_tid = _x select 12;
|
||||
_actionFile = _x select 13;
|
||||
|
||||
_textPart = getText(configFile >> _type >> _name >> "displayName");
|
||||
_textPart = getText(configFile >> _stype >> _name >> "displayName");
|
||||
|
||||
_File = "\z\addons\dayz_code\actions\" + _actionFile + ".sqf";
|
||||
|
||||
_part_out = _cur;
|
||||
_part_out = _scurrency;
|
||||
_part_in = _name;
|
||||
_out = _sell;
|
||||
_in = 1;
|
||||
@@ -54,7 +55,7 @@ waitUntil {!isNil "dayzTraderMenuResult"};
|
||||
|
||||
} forEach dayzTraderMenuResult;
|
||||
|
||||
_cancel = player addAction ["Cancel", "\z\addons\dayz_code\actions\trade_cancel.sqf",["medical"], 99, true, false, "",""];
|
||||
_cancel = player addAction ["Cancel", "\z\addons\dayz_code\actions\trade_cancel.sqf",["medical"], 10, true, false, "",""];
|
||||
s_player_parts set [count s_player_parts,_cancel];
|
||||
|
||||
dayzTraderMenuResult = nil;
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
private["_sellgeneric1"];
|
||||
private["none"];
|
||||
|
||||
{player removeAction _x} forEach s_player_tradecans;s_player_tradecans = [];
|
||||
{player removeAction _x} forEach s_player_metals;s_player_metals = [];
|
||||
{player removeAction _x} forEach s_player_bank;s_player_bank = [];
|
||||
{player removeAction _x} forEach s_player_parts;s_player_parts = [];
|
||||
//{player removeAction _x} forEach s_player_bank;s_player_bank = [];
|
||||
|
||||
s_player_tradecans_crtl = -1;
|
||||
s_player_metal_crtl = -1;
|
||||
s_player_bank_crtl = -1;
|
||||
s_player_parts_crtl = -1;
|
||||
//s_player_bank_crtl = -1;
|
||||
Reference in New Issue
Block a user