sync with DayZ 1.7.4 CE

This commit is contained in:
Aaron Clark
2012-11-10 08:02:49 -06:00
parent e9e55f912b
commit 039f1eb8da
36 changed files with 921 additions and 518 deletions

View File

@@ -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;
};

View File

@@ -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;

View File

@@ -9,5 +9,7 @@ if(_whistle) then {
sleep 1;
if (_dog distance player <= 900) then {
_handle setFSMVariable ["_command","return"];
};

View File

@@ -1,7 +1,7 @@
private["_object"];
dayzUpdateVehicle = [_this select 3,"all"];
publicVariable "dayzUpdateVehicle";
publicVariableServer "dayzUpdateVehicle";
if (isServer) then {
dayzUpdateVehicle call server_updateObject;
};

View 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"];
};

View File

@@ -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;
};

View 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"];
};

View File

@@ -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;
};

View File

@@ -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;
};

View File

@@ -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;
};

View File

@@ -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;

View File

@@ -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;