From ac1a64d682e70f2e8fe9b1a09cb527b52a7a4eff Mon Sep 17 00:00:00 2001 From: "[VB]AWOL" Date: Fri, 22 Nov 2013 09:13:40 -0600 Subject: [PATCH] cleanup move some code to includes --- SQF/dayz_code/compile/player_murderMenu.sqf | 81 ++++++ SQF/dayz_code/compile/player_traderMenu.sqf | 184 +++++++++++++ SQF/dayz_code/init/compiles.sqf | 277 +------------------- 3 files changed, 270 insertions(+), 272 deletions(-) create mode 100644 SQF/dayz_code/compile/player_murderMenu.sqf create mode 100644 SQF/dayz_code/compile/player_traderMenu.sqf diff --git a/SQF/dayz_code/compile/player_murderMenu.sqf b/SQF/dayz_code/compile/player_murderMenu.sqf new file mode 100644 index 000000000..0eabfee78 --- /dev/null +++ b/SQF/dayz_code/compile/player_murderMenu.sqf @@ -0,0 +1,81 @@ +// murder message boards by maca134 +/* +_death_record = [ + 0_victimName, + 1_killerName, + 2_weapon, + 3_distance, + 4ServerCurrentTime +]; +*/ +EpochDeathBoardDialogList = 21000; +EpochDeathBoardDialogSText = 21001; +EpochDeathBoardDeaths = []; + +EpochDeathBoardLoad = { + createdialog "EpochDeathBoardDialog"; + /*PVDZE_plr_DeathBResult = [ + ["maca134","Bob","AK_107_Kobra",100,[8,30]], + ["Fred","Jonny","FN_FAL",42,[8,32]], + ["maca134","Bob","M9SD",100,[5,30]], + ["Fred","Jonny","BAF_AS50_scoped",42,[8,34]] + ];*/ + { + lbAdd [EpochDeathBoardDialogList, (_x select 0)]; + } forEach PVDZE_plr_DeathBResult; +}; + + +EpochDeathBoardClick = { + disableSerialization; + private ["_i", "_record", "_output", "_record_stxt", "_name", "_image", "_h", "_m", "_format"]; + _quotes = [ + "Death is God's way of telling you not to be such a wise guy.", + "What happens if you get scared half to death, twice?", + "Don't upset me.. I'm running out of places to hide the bodies.", + "Don't run, you'll just die tired.", + "Give me immortality or give me death.", + "I can't live with death; he's always leaving the toilet seat up.", + "Why won't you die?!?!", + "Guns don't kill people; death kills people. It's a proven medical fact." + ]; + _i = _this select 0; + if (_i < 0) exitWith {}; + _output = _this select 1; + _record = PVDZE_plr_DeathBResult select _i; + _record_stxt = call compile format["epoch_death_board_record_%1;",_i]; + if(isNil "_record_stxt") then { + _record_stxt = format["%1

", (_record select 0)]; + + _format = { + private ["_codeCount", "_str"]; + _str = format["%1", _this]; + _codeCount = (count (toArray _str)); + if (_codeCount == 1) then { + _str = format["0%1", _str]; + }; + _str; + }; + _h = ((_record select 4) select 0)+timezoneswitch; + _m = (_record select 4) select 1; + + _record_stxt = format["%1Died at %2:%3

", _record_stxt, (_h call _format), (_m call _format)]; + + if ((_record select 1) != 'unknown') then { + _record_stxt = format["%1Was killed by %2

", _record_stxt, (_record select 1)]; + }; + + if ((_record select 2) != 'unknown') then { + _name = getText(configFile >> "cfgWeapons" >> (_record select 2) >> "displayName"); + _image = getText(configFile >> "cfgWeapons" >> (_record select 2) >> "picture"); + _record_stxt = format["%1With a %2


", _record_stxt, _name, _image]; + }; + + if (format["%1", (_record select 3)] != 'unknown') then { + _record_stxt = format["%1At a distance of %2m

", _record_stxt, (_record select 3)]; + }; + _record_stxt = format["%1%2", _record_stxt, (_quotes call BIS_fnc_selectRandom)]; + call compile format["epoch_death_board_record_%1 = ""%2"";" ,_i , _record_stxt]; + }; + _output ctrlSetStructuredText parseText _record_stxt; +}; \ No newline at end of file diff --git a/SQF/dayz_code/compile/player_traderMenu.sqf b/SQF/dayz_code/compile/player_traderMenu.sqf new file mode 100644 index 000000000..175dd57e4 --- /dev/null +++ b/SQF/dayz_code/compile/player_traderMenu.sqf @@ -0,0 +1,184 @@ +// trader menu gui by maca134 +TraderDialogCatList = 12000; +TraderDialogItemList = 12001; +TraderDialogBuyPrice = 12002; +TraderDialogSellPrice = 12003; + +TraderCurrentCatIndex = -1; +TraderCatList = -1; +TraderItemList = -1; + +TraderDialogLoadItemList = { + private ["_index", "_trader_id", "_activatingPlayer"]; + TraderItemList = -1; + _index = _this select 0; + + if (_index < 0 or TraderCurrentCatIndex == _index) exitWith {}; + TraderCurrentCatIndex = _index; + + _trader_id = TraderCatList select _index; + _activatingPlayer = player; + + lbClear TraderDialogItemList; + ctrlSetText [TraderDialogBuyPrice, ""]; + ctrlSetText [TraderDialogSellPrice, ""]; + + lbAdd [TraderDialogItemList, "Loading items..."]; + + PVDZE_plr_TradeMenuResult = call compile format["tcacheBuy_%1;",_trader_id]; + + if(isNil "PVDZE_plr_TradeMenuResult") then { + PVDZE_plr_TradeMenu = [_activatingPlayer,_trader_id]; + publicVariableServer "PVDZE_plr_TradeMenu"; + waitUntil {!isNil "PVDZE_plr_TradeMenuResult"}; + }; + + lbClear TraderDialogItemList; + _item_list = []; + { + private ["_header", "_item", "_name", "_type", "_textPart", "_qty", "_buy", "_bqty", "_bname", "_btype", "_btextCurrency", "_sell", "_sqty", "_sname", "_stype", "_stextCurrency", "_order", "_order", "_afile", "_File", "_count", "_bag", "_bagclass", "_index", "_image"]; + _header = _x select 0; // "TRD" + _item = _x select 1; + _name = _item select 0; + _type = _item select 1; + switch (true) do { + case (_type == 1): { + _type = "CfgMagazines"; + }; + case (_type == 2): { + _type = "CfgVehicles"; + }; + case (_type == 3): { + _type = "CfgWeapons"; + }; + }; + // Display Name of item + _textPart = getText(configFile >> _type >> _name >> "displayName"); + + // Total in stock + _qty = _x select 2; + + // Buy Data from array + _buy = _x select 3; + _bqty = _buy select 0; + _bname = _buy select 1; + _btype = _buy select 2; + switch(true)do{ + case (_btype == 1): { + _btype = "CfgMagazines"; + }; + case (_btype == 2): { + _btype = "CfgVehicles"; + }; + case (_btype == 3): { + _btype = "CfgWeapons"; + }; + }; + + // Display Name of buy item + _btextCurrency = getText(configFile >> _btype >> _bname >> "displayName"); + + _sell = _x select 4; + _sqty = _sell select 0; + _sname = _sell select 1; + _stype = _sell select 2; + switch(true)do{ + case (_stype == 1): { + _stype = "CfgMagazines"; + }; + case (_stype == 2): { + _stype = "CfgVehicles"; + }; + case (_stype == 3): { + _stype = "CfgWeapons"; + }; + }; + // Display Name of sell item + _stextCurrency = getText(configFile >> _stype >> _sname >> "displayName"); + + // Menu sort order + _order = _x select 5; + + // Action file to use for trade + _afile = _x select 7; + _File = "\z\addons\dayz_code\actions\" + _afile + ".sqf"; + + _count = 0; + if(_type == "CfgVehicles") then { + if (_afile == "trade_backpacks") then { + _bag = unitBackpack player; + _bagclass = typeOf _bag; + if(_name == _bagclass) then { + _count = 1; + }; + } else { + _count = {(typeOf _x) == _name} count (nearestObjects [player, [_name], 20]); + } + }; + + if(_type == "CfgMagazines") then { + _count = {_x == _name} count magazines player; + }; + + if(_type == "CfgWeapons") then { + _count = {_x == _name} count weapons player; + }; + + _index = lbAdd [TraderDialogItemList, format["%1 (%2)", _textPart, _name]]; + + if (_count > 0) then { + lbSetColor [TraderDialogItemList, _index, [0, 1, 0, 1]]; + }; + + _image = getText(configFile >> _type >> _name >> "picture"); + lbSetPicture [TraderDialogItemList, _index, _image]; + + _item_list set [count _item_list, [ + _name, + _textPart, + _bqty, + _bname, + _btextCurrency, + _sqty, + _sname, + _stextCurrency, + _header, + _File + ]]; + } forEach PVDZE_plr_TradeMenuResult; + TraderItemList = _item_list; +}; + +TraderDialogShowPrices = { + private ["_index", "_item"]; + _index = _this select 0; + if (_index < 0) exitWith {}; + while {count TraderItemList < 1} do { sleep 1; }; + _item = TraderItemList select _index; + ctrlSetText [TraderDialogBuyPrice, format["%1 %2", _item select 2, _item select 4]]; + ctrlSetText [TraderDialogSellPrice, format["%1 %2", _item select 5, _item select 7]]; +}; + +TraderDialogBuy = { + private ["_index", "_item", "_data"]; + _index = _this select 0; + if (_index < 0) exitWith { + cutText [(localize "str_epoch_player_6"), "PLAIN DOWN"]; + }; + _item = TraderItemList select _index; + _data = [_item select 0, _item select 3, 1, _item select 2, "buy", _item select 4, _item select 1, _item select 8]; + [0, player, '', _data] execVM (_item select 9); + TraderItemList = -1; +}; + +TraderDialogSell = { + private ["_index", "_item", "_data"]; + _index = _this select 0; + if (_index < 0) exitWith { + cutText [(localize "str_epoch_player_6"), "PLAIN DOWN"]; + }; + _item = TraderItemList select _index; + _data = [_item select 6, _item select 0, _item select 5, 1, "sell", _item select 1, _item select 7, _item select 8]; + [0, player, '', _data] execVM (_item select 9); + TraderItemList = -1; +}; diff --git a/SQF/dayz_code/init/compiles.sqf b/SQF/dayz_code/init/compiles.sqf index 5ddcfcb70..79c52369f 100644 --- a/SQF/dayz_code/init/compiles.sqf +++ b/SQF/dayz_code/init/compiles.sqf @@ -420,277 +420,11 @@ if (!isDedicated) then { dayz_originalPlayer = player; + // trader menu code + call compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_traderMenu.sqf"; - // trader menu gui by maca134 - TraderDialogCatList = 12000; - TraderDialogItemList = 12001; - TraderDialogBuyPrice = 12002; - TraderDialogSellPrice = 12003; - - TraderCurrentCatIndex = -1; - TraderCatList = -1; - TraderItemList = -1; - - TraderDialogLoadItemList = { - private ["_index", "_trader_id", "_activatingPlayer"]; - TraderItemList = -1; - _index = _this select 0; - - if (_index < 0 or TraderCurrentCatIndex == _index) exitWith {}; - TraderCurrentCatIndex = _index; - - _trader_id = TraderCatList select _index; - _activatingPlayer = player; - - lbClear TraderDialogItemList; - ctrlSetText [TraderDialogBuyPrice, ""]; - ctrlSetText [TraderDialogSellPrice, ""]; - - lbAdd [TraderDialogItemList, "Loading items..."]; - - PVDZE_plr_TradeMenuResult = call compile format["tcacheBuy_%1;",_trader_id]; - - if(isNil "PVDZE_plr_TradeMenuResult") then { - PVDZE_plr_TradeMenu = [_activatingPlayer,_trader_id]; - publicVariableServer "PVDZE_plr_TradeMenu"; - waitUntil {!isNil "PVDZE_plr_TradeMenuResult"}; - }; - - lbClear TraderDialogItemList; - _item_list = []; - { - private ["_header", "_item", "_name", "_type", "_textPart", "_qty", "_buy", "_bqty", "_bname", "_btype", "_btextCurrency", "_sell", "_sqty", "_sname", "_stype", "_stextCurrency", "_order", "_order", "_afile", "_File", "_count", "_bag", "_bagclass", "_index", "_image"]; - _header = _x select 0; // "TRD" - _item = _x select 1; - _name = _item select 0; - _type = _item select 1; - switch (true) do { - case (_type == 1): { - _type = "CfgMagazines"; - }; - case (_type == 2): { - _type = "CfgVehicles"; - }; - case (_type == 3): { - _type = "CfgWeapons"; - }; - }; - // Display Name of item - _textPart = getText(configFile >> _type >> _name >> "displayName"); - - // Total in stock - _qty = _x select 2; - - // Buy Data from array - _buy = _x select 3; - _bqty = _buy select 0; - _bname = _buy select 1; - _btype = _buy select 2; - switch(true)do{ - case (_btype == 1): { - _btype = "CfgMagazines"; - }; - case (_btype == 2): { - _btype = "CfgVehicles"; - }; - case (_btype == 3): { - _btype = "CfgWeapons"; - }; - }; - - // Display Name of buy item - _btextCurrency = getText(configFile >> _btype >> _bname >> "displayName"); - - _sell = _x select 4; - _sqty = _sell select 0; - _sname = _sell select 1; - _stype = _sell select 2; - switch(true)do{ - case (_stype == 1): { - _stype = "CfgMagazines"; - }; - case (_stype == 2): { - _stype = "CfgVehicles"; - }; - case (_stype == 3): { - _stype = "CfgWeapons"; - }; - }; - // Display Name of sell item - _stextCurrency = getText(configFile >> _stype >> _sname >> "displayName"); - - // Menu sort order - _order = _x select 5; - - // Action file to use for trade - _afile = _x select 7; - _File = "\z\addons\dayz_code\actions\" + _afile + ".sqf"; - - _count = 0; - if(_type == "CfgVehicles") then { - if (_afile == "trade_backpacks") then { - _bag = unitBackpack player; - _bagclass = typeOf _bag; - if(_name == _bagclass) then { - _count = 1; - }; - } else { - _count = {(typeOf _x) == _name} count (nearestObjects [player, [_name], 20]); - } - }; - - if(_type == "CfgMagazines") then { - _count = {_x == _name} count magazines player; - }; - - if(_type == "CfgWeapons") then { - _count = {_x == _name} count weapons player; - }; - - _index = lbAdd [TraderDialogItemList, format["%1 (%2)", _textPart, _name]]; - - if (_count > 0) then { - lbSetColor [TraderDialogItemList, _index, [0, 1, 0, 1]]; - }; - - _image = getText(configFile >> _type >> _name >> "picture"); - lbSetPicture [TraderDialogItemList, _index, _image]; - - _item_list set [count _item_list, [ - _name, - _textPart, - _bqty, - _bname, - _btextCurrency, - _sqty, - _sname, - _stextCurrency, - _header, - _File - ]]; - } forEach PVDZE_plr_TradeMenuResult; - TraderItemList = _item_list; - }; - - TraderDialogShowPrices = { - private ["_index", "_item"]; - _index = _this select 0; - if (_index < 0) exitWith {}; - while {count TraderItemList < 1} do { sleep 1; }; - _item = TraderItemList select _index; - ctrlSetText [TraderDialogBuyPrice, format["%1 %2", _item select 2, _item select 4]]; - ctrlSetText [TraderDialogSellPrice, format["%1 %2", _item select 5, _item select 7]]; - }; - - TraderDialogBuy = { - private ["_index", "_item", "_data"]; - _index = _this select 0; - if (_index < 0) exitWith { - cutText [(localize "str_epoch_player_6") , "PLAIN DOWN"]; - }; - _item = TraderItemList select _index; - _data = [_item select 0, _item select 3, 1, _item select 2, "buy", _item select 4, _item select 1, _item select 8]; - [0, player, '', _data] execVM (_item select 9); - TraderItemList = -1; - }; - - TraderDialogSell = { - private ["_index", "_item", "_data"]; - _index = _this select 0; - if (_index < 0) exitWith { - cutText [(localize "str_epoch_player_6") , "PLAIN DOWN"]; - }; - _item = TraderItemList select _index; - _data = [_item select 6, _item select 0, _item select 5, 1, "sell", _item select 1, _item select 7, _item select 8]; - [0, player, '', _data] execVM (_item select 9); - TraderItemList = -1; - }; - - // murder message boards by maca134 - /* - _death_record = [ - 0_victimName, - 1_killerName, - 2_weapon, - 3_distance, - 4ServerCurrentTime - ]; - */ - EpochDeathBoardDialogList = 21000; - EpochDeathBoardDialogSText = 21001; - EpochDeathBoardDeaths = []; - - - EpochDeathBoardLoad = { - createdialog "EpochDeathBoardDialog"; - /*PVDZE_plr_DeathBResult = [ - ["maca134","Bob","AK_107_Kobra",100,[8,30]], - ["Fred","Jonny","FN_FAL",42,[8,32]], - ["maca134","Bob","M9SD",100,[5,30]], - ["Fred","Jonny","BAF_AS50_scoped",42,[8,34]] - ];*/ - { - lbAdd [EpochDeathBoardDialogList, (_x select 0)]; - } forEach PVDZE_plr_DeathBResult; - }; - - - EpochDeathBoardClick = { - disableSerialization; - private ["_i", "_record", "_output", "_record_stxt", "_name", "_image", "_h", "_m", "_format"]; - _quotes = [ - "Death is God's way of telling you not to be such a wise guy.", - "What happens if you get scared half to death, twice?", - "Don't upset me.. I'm running out of places to hide the bodies.", - "Don't run, you'll just die tired.", - "Give me immortality or give me death.", - "I can't live with death; he's always leaving the toilet seat up.", - "Why won't you die?!?!", - "Guns don't kill people; death kills people. It's a proven medical fact." - ]; - _i = _this select 0; - if (_i < 0) exitWith {}; - _output = _this select 1; - _record = PVDZE_plr_DeathBResult select _i; - _record_stxt = call compile format["epoch_death_board_record_%1;",_i]; - if(isNil "_record_stxt") then { - _record_stxt = format["%1

", (_record select 0)]; - - _format = { - private ["_codeCount", "_str"]; - _str = format["%1", _this]; - _codeCount = (count (toArray _str)); - if (_codeCount == 1) then { - _str = format["0%1", _str]; - }; - _str; - }; - _h = ((_record select 4) select 0)+timezoneswitch; - _m = (_record select 4) select 1; - - _record_stxt = format["%1Died at %2:%3

", _record_stxt, (_h call _format), (_m call _format)]; - - if ((_record select 1) != 'unknown') then { - _record_stxt = format["%1Was killed by %2

", _record_stxt, (_record select 1)]; - }; - - if ((_record select 2) != 'unknown') then { - _name = getText(configFile >> "cfgWeapons" >> (_record select 2) >> "displayName"); - _image = getText(configFile >> "cfgWeapons" >> (_record select 2) >> "picture"); - _record_stxt = format["%1With a %2


", _record_stxt, _name, _image]; - }; - - if (format["%1", (_record select 3)] != 'unknown') then { - _record_stxt = format["%1At a distance of %2m

", _record_stxt, (_record select 3)]; - }; - _record_stxt = format["%1%2", _record_stxt, (_quotes call BIS_fnc_selectRandom)]; - call compile format["epoch_death_board_record_%1 = ""%2"";" ,_i , _record_stxt]; - }; - _output ctrlSetStructuredText parseText _record_stxt; - }; - - - + // recent murders menu code + call compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_murderMenu.sqf"; }; progressLoadingScreen 0.8; @@ -775,7 +509,6 @@ if (!isDedicated) then { _medical }; - //Server Only if (isServer) then { call compile preprocessFileLineNumbers "\z\addons\dayz_server\init\server_functions.sqf"; @@ -783,4 +516,4 @@ if (!isDedicated) then { eh_localCleanup = {}; }; -initialized = true; +initialized = true; \ No newline at end of file