Merge pull request #669 from EpochModTeam/experimental

release 0.4 b668
This commit is contained in:
vbawol 2016-12-02 10:25:51 -06:00 committed by GitHub
commit 461af9b864
77 changed files with 217 additions and 152 deletions

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
5 "" !="[0-9]:[0-9]{1,4}" !" GroundWeaponHolder$" !" WeaponHolderSimulated$" !" Epoch_(Sapper|SapperB|Cloak|Female_CamoRed)_F$" !" EPOCH_RyanZombie_[1-5](|_(C|Sp|B|W|M|P))$" !" (Land_MPS|Bobber|Rabbit)_EPOCH$" !" (Sheep|Goat|Snake|Snake2|Hen|Cock|Fin|Alsatian)_random_EPOCH$" !" (Bed|locker|Filing|Chair|ChairRed|wardrobe|cooker|Couch|Table|Pelican|Fridge|Shelf|ToolRack|Shoebox|Bunk|Cabinet|Freezer|Tarp)_EPOCH$" !" (SapperHead|Jack|SolarGen)_SIM_EPOCH$" !" (Tipi|Workbench|StorageShelf|CinderWallHalf|Foundation|Wood(Floor|LargeWall|Stairs|Ramp|Foundation|Ladder|Tower))_Ghost_EPOCH$" !" Wood(Floor|LargeWall|LargeWallCor|LargeWallDoor|LargeWallDoorL|LargeWallDoorway|Stairs|Stairs2|Ramp|Ladder|Tower)_SIM_EPOCH$" !" (Safe|Workbench|LockBox|CinderWall|CinderWallGarage|CinderWallHalf|PlotPole|Tipi|StorageShelf|Fireplace|TankTrap)_SIM_EPOCH$" !" (Hesco3|Metal|WoodWall[1-4])_(Ghost|SIM)_EPOCH$" !" (Spike|Metal)_TRAP_SIM_EPOCH$" !" (WoodFoundation|Foundation)_Ghost_EPOCH$" !" I_(Soldier[1-3]|Soldier)_EPOCH$" !" I_(helipilot|helicrew)_F$" !" I_UAV_01_F$" !" (I|B|O)_UAV_AI$" !" I_Boat_Armed_01_minigun_F" !" B_Heli_Transport_01_F" !" Land_Cages_F$"
5 "" !="[0-9]{1,2}:[0-9]{1,4}" !" GroundWeaponHolder$" !" WeaponHolderSimulated$" !" Epoch_(Sapper|SapperB|Cloak|Female_CamoRed)_F$" !" EPOCH_RyanZombie_[1-5](|_(C|Sp|B|W|M|P))$" !" (Land_MPS|Bobber|Rabbit)_EPOCH$" !" (Sheep|Goat|Snake|Snake2|Hen|Cock|Fin|Alsatian)_random_EPOCH$" !" (Bed|locker|Filing|Chair|ChairRed|wardrobe|cooker|Couch|Table|Pelican|Fridge|Shelf|ToolRack|Shoebox|Bunk|Cabinet|Freezer|Tarp)_EPOCH$" !" (SapperHead|Jack|SolarGen)_SIM_EPOCH$" !" (Tipi|Workbench|StorageShelf|CinderWallHalf|Foundation|Wood(Floor|LargeWall|Stairs|Ramp|Foundation|Ladder|Tower))_Ghost_EPOCH$" !" Wood(Floor|LargeWall|LargeWallCor|LargeWallDoor|LargeWallDoorL|LargeWallDoorway|Stairs|Stairs2|Ramp|Ladder|Tower)_SIM_EPOCH$" !" (Safe|Workbench|LockBox|CinderWall|CinderWallGarage|CinderWallHalf|PlotPole|Tipi|StorageShelf|Fireplace|TankTrap)_SIM_EPOCH$" !" (Hesco3|Metal|WoodWall[1-4])_(Ghost|SIM)_EPOCH$" !" (Spike|Metal)_TRAP_SIM_EPOCH$" !" (WoodFoundation|Foundation)_Ghost_EPOCH$" !" I_(Soldier[1-3]|Soldier)_EPOCH$" !" I_(helipilot|helicrew)_F$" !" I_UAV_01_F$" !" (I|B|O)_UAV_AI$" !" I_Boat_Armed_01_minigun_F" !" B_Heli_Transport_01_F" !" Land_Cages_F$"

View File

@ -9,8 +9,7 @@
7 allMissionObjects !="_alljammer = allmissionobjects 'PlotPole_EPOCH';"
7 callExtension
7 showCommandingMenu !="showCommandingMenu '';" !="showCommandingMenu '#USER:"
7 moveIn !="\"BIS_fnc_moveIn\"" !="\"A3\functions_f\Misc\fn_moveIn.sqf\"" !="\"A3\functions_f\arrays\fn_removeIndex.sqf\"" !="player moveInAny _vehicle;\nEPOCH_antiWallCount = EPOCH_antiWallCount + 1;" !="[\"I_UAV_AI\", position _unit, [], 0, \"CAN_COLLIDE\"];\n_driver moveInAny _unit;" !="_driver moveInAny Epoch_mission_uav;" !="axeVIP moveInDriver vehicle axeVIP;" !="axeVIP moveInCargo vehicle axeVIP;" !="_driver moveInDriver _axeCopter;" !="_unit moveInGunner _axeCopter;" !="axeVIP moveInDriver vehicle axeVIP;" !="axeVIP moveInCargo vehicle axeVIP;" !="_driver moveInAny axeUAV"
7 attachTo !="attachToRelative" !="_meat attachTo [_object,[0,0,0.2],\"head\"];" !="setParticleClass \"ObjectDestructionFire1Smallx\";\n_source01 attachto [_object,[0,0,0]];" !="_smoke1 attachTo [_v,[0,0,0],\"engine_effect_1\"];" !="EP_light attachTo [player,[0,8.11,_nlZ]];" !="_bomb attachTo [_unit, [0,0,0],\"Pelvis\"];" !="_dogHolder attachTo [_dog, [-0.2,1.2,0.7]];" !="EPOCH_target attachTo[player];" !="_sapperSmoke attachTo [_sapper,[0,0,-0.4]];" !="_cage attachTo [_cage2,[0,1.3,0]];" !="_flame attachto [_unit,[0,0,0]];"
7 moveIn !="fnc_moveInCargo" !="\"BIS_fnc_moveIn\"" !="\"A3\functions_f\Misc\fn_moveIn.sqf\"" !="\"A3\functions_f\arrays\fn_removeIndex.sqf\"" !="player moveInAny _vehicle;\nEPOCH_antiWallCount = EPOCH_antiWallCount + 1;" !="[\"I_UAV_AI\", position _unit, [], 0, \"CAN_COLLIDE\"];\n_driver moveInAny _unit;" !="_driver moveInAny Epoch_mission_uav;" !="axeVIP moveInDriver vehicle axeVIP;" !="axeVIP moveInCargo vehicle axeVIP;" !="_driver moveInDriver _axeCopter;" !="_unit moveInGunner _axeCopter;" !="axeVIP moveInDriver vehicle axeVIP;" !="axeVIP moveInCargo vehicle axeVIP;" !="_driver moveInAny axeUAV"
7 enableCollisionWith
7 hideObject !="_dogHolder hideobject true;" !="_dogHolder hideobject false;" !="player hideobject true;" !="_ship hideobject true;\n_ship hideobjectglobal true;"
7 setvelocity !="setVelocityTarget" !="_bolt setPosATL _pos;\n_bolt setVelocity [0, 0, -10];" !="EPOCH_target setvelocitytransformation" !="_currentTarget setVelocity [0,0,-0.01];" !="_head setVelocity [\n(sin _dir * _speed), \n(cos _dir * _speed)" !="_vel = velocity this; _dir = getDir player; this setVelocity[(_vel select 0)+(sin _dir * 2),(_vel select 1)+(cos _dir * 2),(_vel select 2)];" !="_head setVelocity [random 2,random 2,10];" !="_bobber setVelocity [0,-1,-10];" !="_x setvelocity [0,0,0.1];" !="_veh setVelocity [0,0,0];" !="_this select 0 setvelocity (_this select 1)" !="_zombie setVelocityTransformation [_aslPos,_aslPos,_unitV,_unitV,_unitvDir,_vDir,_unitvUp,_unitvUp,2];"
@ -23,7 +22,7 @@
7 addMagazineCargo !="_dogHolder addMagazineCargo [\"RabbitCarcass_EPOCH\", 1]" !="_dogHolder addMagazineCargo [\"Pelt_EPOCH\", 1]" !="_dogHolder addMagazineCargo [\"Venom_EPOCH\", 1]" !="_dogHolder addMagazineCargo [\"SnakeCarcass_EPOCH\", 1]" !="_dogHolder addMagazineCargo [\"ChickenCarcass_EPOCH\", 1]" !="_acceptHolder addMagazineCargo [_wAmmo, 1] ;" !="CBA_fnc_addMagazineCargo" !="\\fnc_addMagazineCargo" !="\"addMagazineCargo" !="cba_fAddMagazineCargo"
7 addItem !="{player addItemToVest _x} forEach _vestItems;" !="player addItem _item;" !="_plyr addItemToVest _missionItem;" !="axeVIP addItemToVest _item;" !="_plyr addItemToVest _missionItem;" !="EPOCH_fnc_addItemOverflow" !="CBA_fnc_addItem" !="\\fnc_addItem" !="\"addItem" !="fnc_addItemCargo"
7 addBackPack !="fnc_addBackpackCargo"
7 addMissionEventHandler !="addMissionEventHandler [\"HandleDisconnect\"," !="addMissionEventHandler [\"Loaded\"," !="addMissionEventHandler ['Draw3D',_var + \"call Epoch_gui3DCooldownEH;\"];" !="addMissionEventHandler ['Draw3D',_var + \"call epoch_gui3dModelPosEH;\"];" !="addMissionEventHandler ['Draw3D',_var + \"call epoch_gui3dWorldPosEH;\"];" !="addMissionEventHandler [\n\"ended\",\n{\n\nBIS_fnc_missionHandlers_end = _this;"
7 addMissionEventHandler !="CBA_clientID = [0, 2] select isMultiplayer;\naddMissionEventHandler [\"PlayerConnected\", {\nparams [\"_id\", \"_uid\", \"_name\"" !="addMissionEventHandler [\"EachFrame\", cba_common_fnc_onFrame];" !="addMissionEventHandler [\"HandleDisconnect\"," !="addMissionEventHandler [\"Loaded\"," !="addMissionEventHandler ['Draw3D',_var + \"call Epoch_gui3DCooldownEH;\"];" !="addMissionEventHandler ['Draw3D',_var + \"call epoch_gui3dModelPosEH;\"];" !="addMissionEventHandler ['Draw3D',_var + \"call epoch_gui3dWorldPosEH;\"];" !="addMissionEventHandler [\n\"ended\",\n{\n\nBIS_fnc_missionHandlers_end = _this;"
7 removeMissionEventHandler !="removeMissionEventHandler [\"Draw3D\", _id];"
7 removeAllWeapons !="removeAllWeapons axeGeneral;"
7 removeAllItems
@ -33,7 +32,7 @@
7 createVehicleCrew !="createvehiclecrew _x;"
7 createVehicleLocal !="\"#particlesource\" createVehicleLocal" !="\"#lightpoint\" createVehicleLocal" !="\"BloodSplat\" createVehicleLocal" !="[\"lightning1_F\", \"lightning2_F\"] call BIS_fnc_selectRandom;\n_lighting = _class createVehicleLocal" !="SLX_XEH_DUMMY createVehicleLocal [0, 0, 0];" !="CBA_eventHandlers = \"Logic\" createVehicleLocal [0, 0];"
7 createUnit !="_driver = _grp createUnit[\"I_UAV_AI\", position _unit, [], 0, \"CAN_COLLIDE\"];" !="axeGeneral = grpVIPGeneral createUnit [\"I_officer_F\", axeGeneralPos, [], 1, \"CAN_COLLIDE\"];" !="bis_functions_mainscope = _grpLogic createunit [\"Logic\",[9,9,9],[],0,\"none\"];" !="_unit = _grp createUnit[selectRandom _arrUnits, _pos, [], 0, \"FORM\"];" !="_driver = (group player) createUnit[\"I_UAV_AI\", position axeUAV, [], 0, \"CAN_COLLIDE\"];"
7 createAgent !="bis_revive_ratioLethal = createAgent [\"Logic\", [10,10,0], [], 0, \"CAN_COLLIDE\"];" !="_unit = createAgent[_unitClass, _targetPos, [], 256, \"FORM\"];" !="_unit = createAgent [_unitClass, _targetPos, [], 120, \"FORM\"];" !="_animal = createAgent[_randomAIClass, _animalPos, [], 5, \"NONE\"];" !="_unit = createAgent [\"Epoch_Cloak_F\", _pos, [], 0, \"CAN_COLLIDE\"];" !="_unit = createAgent [\"Epoch_Sapper_F\", _targetPos, [], 180, \"FORM\"];" !="_sapper = createAgent [\"Epoch_Sapper_F\", getPos _cage2, [], 0, \"FORM\"];" !="_unit = createAgent[_unitClass, position player, [], _zRange, \"FORM\"];" !="_animal = createAgent[_randomAIClass, _animalPos, [], 0, \"CAN_COLLIDE\"];" !="_axeSapper = createAgent [\"Epoch_Sapper_F\", _pos, [], 12, \"FORM\"];"
7 createAgent !="bis_revive_ratioLethal = createAgent [\"Logic\", [10,10,0], [], 0, \"CAN_COLLIDE\"];" !="_unit = createAgent[_unitClass, _targetPos, [], 256, \"FORM\"];" !="_unit = createAgent [_unitClass, _targetPos, [], 120, \"FORM\"];" !="_animal = createAgent[_randomAIClass, _animalPos, [], 5, \"NONE\"];" !="_unit = createAgent [\"Epoch_Cloak_F\", _pos, [], 0, \"CAN_COLLIDE\"];" !="_unit = createAgent [\"Epoch_Sapper_F\", _targetPos, [], 180, \"FORM\"];" !="_sapper = createAgent [\"Epoch_Sapper_F\", getPos _cage2, [], 0, \"FORM\"];" !="_unit = createAgent[_unitClass, position player, [], _zRange, \"FORM\"];" !="_animal = createAgent[_randomAIClass, _animalPos, [], 0, \"CAN_COLLIDE\"];" !="_axeSapper = createAgent [\"Epoch_Sapper_F\", _pos, [], 12, \"FORM\"];" !="_nestMate = createAgent [\"Epoch_Sapper_F\", _garrPos, [], 0, \"FORM\"];"
7 createTeam
7 createDialog !="createDialog \"rmx_dynamenu\";" !="createDialog \"rmx_craftingUI\";" !="createDialog \"QuickUpgrade\";" !="createDialog \"QuickTake\";" !="createDialog \"InteractBank\";" !="createdialog \"SelectGender\";" !="_handled = createdialog _dialog;" !="if !(createdialog \"InteractItem\") exitWith {};" !="createDialog _tapDiag;" !="if !(createdialog \"Trade\") exitWith {};" !="_ok = createdialog \"Interact\";" !="_ok = createdialog \"TradeNPCMenu\";" !="createDialog \"Epoch_myGroup\";" !="createDialog (if ((Epoch_my_GroupUID == \"\") && (Epoch_my_Group isEqualTo [])) then {\"EPOCH_createGrp\"} else {\"Epoch_myGroup\"});" !="createDialog \"GroupRequests\";" !="_ok = createdialog \"MissionSelect\";" !="createDialog 'Skaronator_AdminMenu';"
7 createDisplay !="createDisplay \"rmx_dynamenu\";" !="createDisplay \"rmx_moveDynamicHUD\";" !="_parent createdisplay _displayClass;" !="finddisplay 151 createdisplay 'RscDisplayOptionsLayout'"
@ -49,7 +48,7 @@
7 addMPEventHandler
7 addEventHandler !"displayAddEventHandler" !"ctrlAddEventHandler" !="player addeventhandler [\"PostReset\",{BIS_EnginePPReset = true;} ];" !="player addEventHandler [_x,([\"CfgEpochClient\", _x, \"\"] call EPOCH_fnc_returnConfigEntryV2)];" !="\"CBA_fnc_addEventHandler\"" !="\\fnc_addEventHandler" !="\"addEventHandler" !="_eventFunc = _eventFunc + \"(_this select 0) addEventHandler ['Respawn', \" + str _eventFunc + \"];\";" !="_unit addEventHandler [\"hitpart\"," !="CBA_fnc_addEventHandler" !="_ship addEventHandler [\"AttributesChanged3DEN\"" !="addEventHandler [\"HandleDamage\",bis_fnc_reviveOnPlayerHandleDamage];" !="_unit addEventHandler [\"FiredNear\"" !="_smokeEH = _plyr addEventHandler [\"FiredNear\", \"airDropHandle setFSMVariable" !="_onContactEH = _currentTarget addEventHandler[\"EpeContactStart""
7 displayAddEventHandler !="(findDisplay 46) displayAddEventHandler [\"KeyDown\",\"true\"];" !="displayAddEventHandler [_x,([\"CfgEpochClient\", _x, \"\"] call EPOCH_fnc_returnConfigEntryV2)];" !="_display displayaddeventhandler\n[\n\"mousemoving\"," !="_display displayaddeventhandler [\"unload\",\"uinamespace setvariable ['BIS_fnc_guiMess" !="findDisplay -1337 displayAddEventHandler ['Unload'" !="_display displayaddeventhandler [\"keydown\",\"with uinamespace do {['keyDown'" !="_display displayaddeventhandler [_x,_fnc_animate];" !="Development\") then\n{\n_display displayaddeventhandler [\n\"keydown\"" !="CBA_fnc_addDisplayHandler" !="_display displayAddEventHandler [\"MouseMoving" !="private _handler = _display displayAddEventHandler [_key, _code];"
7 ctrlAddEventHandler !="_ctrlMap = _display displayctrl 101;\n_ctrlMap ctrladdeventhandler" !="_display displayctrl 21995;\n_assetsButton ctrladdeventhandler [\"buttonclick\"," !="_display displayctrl 2406; \n_control ctrladdeventhandler [\"buttonclick\"," !="_display displayctrl 2400;\n_control ctrladdeventhandler [\"buttonclick\"," !="_ctrlTags ctrladdeventhandler [\"lbselchanged\"," !="_ButtonGeneral ctrladdeventhandler [\"buttonclick\"," !="_ctrlExecuteLocal ctrladdeventhandler [\"buttonclick\"," !="_bg ctrlAddEventHandler [\"MouseEnter\"," !="_container ctrlAddEventHandler [\"LBDblClick\",\"_this call EPOCH_itemInteractClick\"];" !="(uiNamespace getVariable 'ESP_map') ctrlAddEventHandler['Draw', '_esp_targets = EPOCH_ESPMAP_TARGETS;" !="ctrlAddEventHandler ['MouseButtonDown'" !="(_display displayctrl _idc) ctrlAddEventHandler [\"LBSelChanged\"," !="_ctrl ctrlSetEventHandler [\"mouseEnter\", (format [\"_c = _this select 0;" !="_ctrl ctrlSetEventHandler [\"mouseExit\", (format [\"_c = _this select 0;" !="_ctrl ctrlSetEventHandler [\"mouseButtonDown\", (format [\"call %1;\",(_buttonSettings select _e select 2)])];" !="_prevButton ctrlAddEventHandler [\"MouseButtonUp\", {_this call cba_diagnostic_fnc_debug" !="BIS_RscRespawnControlsMap_ctrlHeaderRespawnButton ctrlAddEventhandler [\"ButtonDown\"" !="_control = _display displayctrl 105;\n_control ctrladdeventhandler [\"MouseButtonUp\""
7 ctrlAddEventHandler !="_control = _display displayctrl 37305; \n_control ctrladdeventhandler" !="_ctrlMap = _display displayctrl 101;\n_ctrlMap ctrladdeventhandler" !="_display displayctrl 21995;\n_assetsButton ctrladdeventhandler [\"buttonclick\"," !="_display displayctrl 2406; \n_control ctrladdeventhandler [\"buttonclick\"," !="_display displayctrl 2400;\n_control ctrladdeventhandler [\"buttonclick\"," !="_ctrlTags ctrladdeventhandler [\"lbselchanged\"," !="_ButtonGeneral ctrladdeventhandler [\"buttonclick\"," !="_ctrlExecuteLocal ctrladdeventhandler [\"buttonclick\"," !="_bg ctrlAddEventHandler [\"MouseEnter\"," !="_container ctrlAddEventHandler [\"LBDblClick\",\"_this call EPOCH_itemInteractClick\"];" !="(uiNamespace getVariable 'ESP_map') ctrlAddEventHandler['Draw', '_esp_targets = EPOCH_ESPMAP_TARGETS;" !="ctrlAddEventHandler ['MouseButtonDown'" !="(_display displayctrl _idc) ctrlAddEventHandler [\"LBSelChanged\"," !="_ctrl ctrlSetEventHandler [\"mouseEnter\", (format [\"_c = _this select 0;" !="_ctrl ctrlSetEventHandler [\"mouseExit\", (format [\"_c = _this select 0;" !="_ctrl ctrlSetEventHandler [\"mouseButtonDown\", (format [\"call %1;\",(_buttonSettings select _e select 2)])];" !="_prevButton ctrlAddEventHandler [\"MouseButtonUp\", {_this call cba_diagnostic_fnc_debug" !="BIS_RscRespawnControlsMap_ctrlHeaderRespawnButton ctrlAddEventhandler [\"ButtonDown\"" !="_control = _display displayctrl 105;\n_control ctrladdeventhandler [\"MouseButtonUp\""
7 removeAllEventHandlers !"ctrlRemoveAllEventHandlers" !"displayRemoveAllEventHandlers" !="_vehicle removeAllEventHandlers \"GetOut\";" !="_sapper removeAllEventHandlers \"Hit\";\n_sapper removeAllEventHandlers \"FiredNear\";" !="_unit removeAllEventHandlers \"Hit\";\n_unit removeAllEventHandlers \"FiredNear\";" !="{_ship removeAllEventHandlers _x;} forEach [\"AttributesChanged3DEN\"" !="_zombie removeAllEventHandlers \"Hit\";" !="_zombie removeAllEventHandlers \"FiredNear\";"
7 displayRemoveAllEventHandlers !="_display displayRemoveAllEventHandlers _x;" !="if !(isMultiplayer) then { { (findDisplay 46) displayRemoveAllEventHandlers _x } forEach [\"KeyUp\", \"KeyDown\"] };"
7 removeAllMissionEventHandlers

View File

@ -19,7 +19,8 @@ private ["_buildClass","_buildingCountLimit","_buildingJammerRange","_canCapacit
EPOCH_InteractedItem params ["_text","_item","_pic"];
_cfgBaseBuilding = 'CfgBaseBuilding' call EPOCH_returnConfig;
_cfgItemInteractions = (('CfgItemInteractions' call EPOCH_returnConfig) >> _item);
_cfgItemInteractions = ["CfgItemInteractions", _item] call EPOCH_returnConfigV2;
// _cfgItemInteractions = (('CfgItemInteractions' call EPOCH_returnConfig) >> _item);
_interactOption = getNumber(_cfgItemInteractions >> "interactAction");
_interactAttributes = getArray(_cfgItemInteractions >> "interactAttributes");

View File

@ -109,7 +109,7 @@ if (diag_tickTime - EPOCH_lastTrash > 2) then {
{
_index = lbAdd[21500, name _x];
lbSetData[21500, _index, netId _x];
} forEach(playableUnits - [player]);
} forEach(allPlayers - [player]);
};
_return = true;
};

View File

@ -0,0 +1,36 @@
/*
Author: Aaron Clark - EpochMod.com
Contributors:
Description:
Returns missionConfigFile if exists otherwise uses configFile
Licence:
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
Github:
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/functions/EPOCH_returnConfig.sqf
Example:
[['CfgCrafting', 'item1']] call EPOCH_returnConfigV2;
Parameter(s):
_this: ARRAY of STRING/s - Config class name Array
Returns:
CONFIG
*/
//[[[cog import generate_private_arrays ]]]
private ["_missionconfig","_return"];
//[[[end]]]
_return = configfile;
_missionconfig = missionConfigFile;
{
_return = (_return >> _x);
_missionconfig = (_missionconfig >> _x);
} forEach _this;
if (isClass _missionconfig) then{
_return = _missionconfig;
};
_return

View File

@ -29,7 +29,9 @@ private ["_bar","_bar_compare","_color","_colorCompare","_container","_display",
disableSerialization;
EPOCH_InteractedItem = [];
EPOCH_lastContainer = _this select 1;
params ["_unit","_targetContainer","_secondaryContainer"];
EPOCH_targetContainer = _targetContainer;
EPOCH_secondaryContainer = _secondaryContainer;
waitUntil {!isNull findDisplay 602};
_display = (findDisplay 602);

View File

@ -21,7 +21,8 @@ _buttonTXT = "";
_magCount = 1;
_interactActions = [];
_config = (configfile >> "CfgWeapons" >> _data);
_cfgItemInteractions = (('CfgItemInteractions' call EPOCH_returnConfig) >> _data);
// _cfgItemInteractions = (('CfgItemInteractions' call EPOCH_returnConfig) >> _data);
_cfgItemInteractions = ["CfgItemInteractions", _data] call EPOCH_returnConfigV2;
if (isClass (_config)) then {
_type = getNumber (_config >> "type");
_interactOption = getNumber (_cfgItemInteractions >> "interactAction");

View File

@ -23,7 +23,7 @@
NOTHING
*/
//[[[cog import generate_private_arrays ]]]
private ["_arr","_craftingArray","_craftingArrayNames","_data","_exit","_index","_name","_pic","_text"];
private ["_container","_craftingArray","_craftingArrayNames","_data","_idc","_index","_pic","_text","_weaponsAndItems"];
//[[[end]]]
params ["_control","_index"];
EPOCH_InteractedItem = [];
@ -32,24 +32,26 @@ if (_index isEqualType []) then {
_index = (_index select 0) select 1;
};
_idc = ctrlIDC _control;
_text = _control lbText _index;
_data = _control lbData _index;
_pic = _control lbPicture _index;
_val = _control lbValue _index;
_craftingArray = [];
_craftingArrayNames = [];
// This test is to over come an issue that causes the wrong class selected
// when more than two classes share the same displayName
// weapons and items do not return a class so a workaround is used to find the class
if (_data == "") then {
{
_name = configName(_x);
_exit = false;
if !(isNull EPOCH_lastContainer) then {
_arr = ((getItemCargo EPOCH_lastContainer) select 0) + [uniform player,vest player,headgear player];
_exit = (_name in _arr);
_container = switch (_idc) do {
case 633: { uniformContainer player };
case 638: { vestContainer player };
case 632: { EPOCH_targetContainer };
case 640: { EPOCH_secondaryContainer };
default { backpackContainer player };
};
if (_exit) exitWith {_data = _name};
} forEach ("getText (_x >> 'displayName') == _text" configClasses(configFile >> "CfgWeapons"));
_weaponsAndItems = ((getWeaponCargo _container) select 0);
_weaponsAndItems append ((getItemCargo _container) select 0);
_data = _weaponsAndItems param [_val,""];
};
EPOCH_InteractedItem = [_text,_data,_pic];

View File

@ -1,13 +1,17 @@
// make sure we wait for Display #46
waitUntil {!(isNull (findDisplay 46))};
// setup display EH's
{
(findDisplay 46) displayAddEventHandler [_x,(["CfgEpochClient", _x, ""] call EPOCH_fnc_returnConfigEntryV2)];
} forEach (["CfgEpochClient", "displayAddEventHandler", []] call EPOCH_fnc_returnConfigEntryV2);
// reset anim state
player switchMove "";
// setup Epoch Hud
call epoch_dynamicHUD_start;
if (isNil "EPOCH_display_setup_complete") then {
EPOCH_display_setup_complete = true;
{
(findDisplay 46) displayAddEventHandler [_x,(["CfgEpochClient", _x, ""] call EPOCH_fnc_returnConfigEntryV2)];
} forEach (["CfgEpochClient", "displayAddEventHandler", []] call EPOCH_fnc_returnConfigEntryV2);
// reset anim state
player switchMove "";
// setup Epoch Hud
call epoch_dynamicHUD_start;
};
_prevEquippedItem = [];
_damagePlayer = damage player;

View File

@ -13,137 +13,143 @@
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/scripts/craftingv2/EPOCH_crafting_load.sqf
*/
if (rmx_var_craftingENABLED) exitWith {false};
disableSerialization;
private ["_in","_cfg","_3DCTRL","_recipeCTRL","_recipeConfigs"];
_in = param [0,""];
createDialog "rmx_craftingUI";
call EPOCH_crafting_ctrl_collector;
_this spawn {
private ["_in","_cfg","_3DCTRL","_recipeCTRL","_recipeConfigs"];
//Var defs
rmx_var_craftQTY = 0;
rmx_var_craftQTYOut = 0;
rmx_var_craftInProgress = false;
disableSerialization;
//Defines
_cfg = 'CfgCrafting' call EPOCH_returnConfig;
_in = param [0,""];
_cfg call EPOCH_crafting_colorScheme;
waitUntil {!isNull findDisplay 77700};
call EPOCH_crafting_ctrl_collector;
_3DCTRL = rmx_var_crafting_ctrl_DEVMisc select 0;
_recipeCTRL = rmx_var_crafting_ctrl_main select 0;
//Var defs
rmx_var_craftQTY = 0;
rmx_var_craftQTYOut = 0;
rmx_var_craftInProgress = false;
//First Launch
_recipeConfigs = "true" configClasses _cfg;
_recipeConfigs deleteRange [0,6]; //delete main templates as they are not real items
//Defines
_cfg = 'CfgCrafting' call EPOCH_returnConfig;
rmx_var_crafting_FullConfigData = _recipeConfigs call EPOCH_crafting_getConfig;
rmx_var_crafting_SearchConfigData = rmx_var_crafting_FullConfigData;
_cfg call EPOCH_crafting_colorScheme;
[_3DCTRL] call Epoch_3DctrlSpin;
_3DCTRL ctrlEnable false;
_3DCTRL = rmx_var_crafting_ctrl_DEVMisc select 0;
_recipeCTRL = rmx_var_crafting_ctrl_main select 0;
call EPOCH_crafting_LB_defaults; //Default state
//First Launch
_recipeConfigs = "true" configClasses _cfg;
_recipeConfigs deleteRange [0,6]; //delete main templates as they are not real items
//Basic EH setup
if (getNumber (_cfg >> "DeveloperMode") > 0) then {
private "_ctrlDevMain";
_ctrlDevMain = rmx_var_crafting_ctrl_DEVMisc select 1;
_ctrlDevMain ctrlEnable true;
_ctrlDevMain ctrlShow true;
};
rmx_var_crafting_progressClicked = false;
rmx_var_crafting_FullConfigData = _recipeConfigs call EPOCH_crafting_getConfig;
rmx_var_crafting_SearchConfigData = rmx_var_crafting_FullConfigData;
ctrlSetFocus _recipeCTRL;
[_3DCTRL] call Epoch_3DctrlSpin;
_3DCTRL ctrlEnable false;
//puts arguments into search field
if (_in isEqualType "STRING") then {
if (count _in > 0) then { //required, empty string crashes game for some reason
(rmx_var_crafting_ctrl_Interact select 4) ctrlSetText _in;
};
};
call EPOCH_crafting_LB_defaults; //Default state
//Post Processing
rmx_var_crafting_PP_CC = ["colorCorrections",11] call epoch_postProcessCreate;
rmx_var_crafting_PP_DB = ["dynamicBlur",11] call epoch_postProcessCreate;
//Basic EH setup
if (getNumber (_cfg >> "DeveloperMode") > 0) then {
private "_ctrlDevMain";
_ctrlDevMain = rmx_var_crafting_ctrl_DEVMisc select 1;
_ctrlDevMain ctrlEnable true;
_ctrlDevMain ctrlShow true;
};
rmx_var_crafting_progressClicked = false;
[rmx_var_crafting_PP_CC, 0, [1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,0,0,0,0.296494,1]] call epoch_postprocessAdjust;
[rmx_var_crafting_PP_DB, 1, [1]] call epoch_postprocessAdjust;
ctrlSetFocus _recipeCTRL;
//Custom textures
//puts arguments into search field
if (_in isEqualType "STRING") then {
if (count _in > 0) then { //required, empty string crashes game for some reason
(rmx_var_crafting_ctrl_Interact select 4) ctrlSetText _in;
};
};
//Post Processing
rmx_var_crafting_PP_CC = ["colorCorrections",11] call epoch_postProcessCreate;
rmx_var_crafting_PP_DB = ["dynamicBlur",11] call epoch_postProcessCreate;
[rmx_var_crafting_PP_CC, 0, [1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,0,0,0,0.296494,1]] call epoch_postprocessAdjust;
[rmx_var_crafting_PP_DB, 1, [1]] call epoch_postprocessAdjust;
//Custom textures
//Manages quantity slider
[] spawn {
private ["_pos","_txt"];
while {rmx_var_craftingLOOPS} do {
_pos = progressPosition (rmx_var_crafting_ctrl_Interact select 2);
rmx_var_craftQTYOut = round (_pos * rmx_var_craftQTY);
_txt = format ["[%1/%2]",rmx_var_craftQTYOut,rmx_var_craftQTY];
(rmx_var_crafting_ctrl_Interact select 3) ctrlSetText _txt;
};
};
//Manages quantity slider
[] spawn {
private ["_pos","_txt"];
while {rmx_var_craftingLOOPS} do {
_pos = progressPosition (rmx_var_crafting_ctrl_Interact select 2);
rmx_var_craftQTYOut = round (_pos * rmx_var_craftQTY);
_txt = format ["[%1/%2]",rmx_var_craftQTYOut,rmx_var_craftQTY];
(rmx_var_crafting_ctrl_Interact select 3) ctrlSetText _txt;
};
};
//Search box
[] spawn {
disableSerialization;
private ["_searchCTRL","_searchTextTEMP"];
_searchCTRL = rmx_var_crafting_ctrl_Interact select 4;
_searchTextTEMP = "";
//Search box
[] spawn {
disableSerialization;
private ["_searchCTRL","_searchTextTEMP"];
_searchCTRL = rmx_var_crafting_ctrl_Interact select 4;
_searchTextTEMP = "";
while {rmx_var_craftingLOOPS} do {
while {rmx_var_craftingLOOPS} do {
uiSleep 0.5; //speed of search, should be less or equal to unload delay
uiSleep 0.5; //speed of search, should be less or equal to unload delay
if !(_searchTextTEMP isEqualTo (ctrlText _searchCTRL)) then {
rmx_var_crafting_SearchConfigData = [];
{
_idx = toLower(_x select 1) find toLower (ctrlText _searchCTRL);
if !(_idx isEqualTo -1) then {
rmx_var_crafting_SearchConfigData pushBack _x;
};
} forEach rmx_var_crafting_FullConfigData;
if !(_searchTextTEMP isEqualTo (ctrlText _searchCTRL)) then {
rmx_var_crafting_SearchConfigData = [];
{
_idx = toLower(_x select 1) find toLower (ctrlText _searchCTRL);
if !(_idx isEqualTo -1) then {
rmx_var_crafting_SearchConfigData pushBack _x;
};
} forEach rmx_var_crafting_FullConfigData;
_searchTextTEMP = ctrlText _searchCTRL;
call EPOCH_crafting_LB_defaults;
(rmx_var_crafting_ctrl_main select 0) lbSetCurSel 0;
ctrlSetFocus _searchCTRL;
};
};
};
_searchTextTEMP = ctrlText _searchCTRL;
call EPOCH_crafting_LB_defaults;
(rmx_var_crafting_ctrl_main select 0) lbSetCurSel 0;
ctrlSetFocus _searchCTRL;
};
};
};
//Craft button states
[] spawn {
private ["_btn","_btn_cancel","_btn_craft","_btn_close"];
disableSerialization;
_btn = rmx_var_crafting_ctrl_Interact select 0;
_btn ctrlEnable true;
//Craft button states
[] spawn {
private ["_btn","_btn_cancel","_btn_craft","_btn_close"];
disableSerialization;
_btn = rmx_var_crafting_ctrl_Interact select 0;
_btn ctrlEnable true;
_btn_cancel = rmx_var_crafting_colorScheme select 0;
_btn_craft = rmx_var_crafting_colorScheme select 1;
_btn_close = rmx_var_crafting_colorScheme select 2;
_btn_cancel = rmx_var_crafting_colorScheme select 0;
_btn_craft = rmx_var_crafting_colorScheme select 1;
_btn_close = rmx_var_crafting_colorScheme select 2;
while {rmx_var_craftingLOOPS} do {
uiSleep 0.1;
while {rmx_var_craftingLOOPS} do {
uiSleep 0.1;
if (rmx_var_craftInProgress) then {
_btn ctrlSetText _btn_cancel;
} else {
if (rmx_var_craftQTYOut > 0) then {
_btn ctrlSetText _btn_craft;
} else {
_btn ctrlSetText _btn_close;
};
}
};
};
if (rmx_var_craftInProgress) then {
_btn ctrlSetText _btn_cancel;
} else {
if (rmx_var_craftQTYOut > 0) then {
_btn ctrlSetText _btn_craft;
} else {
_btn ctrlSetText _btn_close;
};
}
};
};
[] spawn {
private "_pos";
_pos = position player;
while {rmx_var_craftingLOOPS} do {
if ((_pos distance (position player)) > 1) exitWith {closeDialog 0;};
};
[] spawn {
private "_pos";
_pos = position player;
while {rmx_var_craftingLOOPS} do {
if ((_pos distance (position player)) > 1) exitWith {closeDialog 0;};
};
};
};
true

View File

@ -104,6 +104,7 @@ class CfgClientFunctions
{
class worldObjectType {};
class returnConfig {};
class returnConfigV2 {};
class colorRange {};
class convertTemp {};
class fnc_playerDeath {};

View File

@ -55,7 +55,7 @@ class CfgEpochClient
Take = "(_this select 1) call EPOCH_interact;_this call EPOCH_UnisexCheck";
Fired = "_this call EPOCH_fnc_playerFired;";
InventoryClosed = "if !(EPOCH_arr_interactedObjs isEqualTo[]) then {[EPOCH_arr_interactedObjs] remoteExec['EPOCH_server_save_vehicles', 2]; EPOCH_arr_interactedObjs = [];};";
InventoryOpened = "setMousePosition[0.5, 0.5]; call EPOCH_showStats;_this spawn EPOCH_initUI;_container = _this select 1;_lockedNear = false;if (_container isKindOf 'GroundWeaponHolder' || _container isKindOf 'WeaponHolderSimulated') then {{if (locked _x in [2, 3] ||_x getVariable['EPOCH_Locked', false]) exitWith {_lockedNear = true}} forEach (player nearSupplies 10);};if (locked _container in [2, 3] || _container getVariable['EPOCH_Locked', false] || _lockedNear) then {[] spawn {disableSerialization;waitUntil {!isNull findDisplay 602};_display = findDisplay 602;_ctrl_cargo = _display displayCtrl 6401;_ctrl_ground = _display displayCtrl 6321;_ctrl_cargo ctrlEnable false;ctrlSetFocus _ctrl_ground;ctrlActivate _ctrl_ground;};};";
InventoryOpened = "setMousePosition[0.5, 0.5];call EPOCH_showStats;_this spawn EPOCH_initUI;params ['_unit','_container','_sec'];_containerlocked = (locked _container in [2, 3] || _container getVariable['EPOCH_Locked', false]);_seclocked = false;if !(isNull _sec) then {_seclocked = (locked _sec in [2, 3] || _sec getVariable['EPOCH_Locked', false]);};if (_containerlocked || _seclocked) then {[] spawn {disableSerialization;waitUntil {!isNull findDisplay 602};_d = findDisplay 602;_cargo = _d displayCtrl 6401;_ground = _d displayCtrl 6321;_cargo ctrlEnable false;ctrlSetFocus _ground;ctrlActivate _ground;};};";
Killed = "_this call EPOCH_fnc_playerDeath;";
HandleRating = "EPOCH_playerKarma = EPOCH_playerKarma + (_this select 1);0";
HandleDamage = "";

View File

@ -1 +1 @@
build=655;
build=668;

View File

@ -1 +1 @@
build=655;
build=668;

View File

@ -49,7 +49,7 @@ if ((_response select 0) == 1 && (_response select 1) isEqualType []) then {
if ((_x getVariable["GROUP",""]) == _groupID) exitWith {
_group = group _x;
};
}count playableUnits;
}count allPlayers;
if (isNull _group) then {
_group = createGroup west;

View File

@ -128,7 +128,7 @@ if (_this isEqualType []) then {
if ((_x getVariable["GROUP", ""]) == _playerGroup) exitWith{
_group = group _x;
};
} forEach playableUnits;
} forEach allPlayers;
};
if (isNull _group) then {

View File

@ -123,7 +123,7 @@ if (!local _player) then {
if ((_x getVariable["GROUP",""]) == _playerGroup) exitWith {
_group = group _x;
};
}forEach playableUnits;
}forEach allPlayers;
if (isNull _group) then {
_group = createGroup west;

View File

@ -79,7 +79,18 @@ addMissionEventHandler ["PlayerConnected", {
["PlayerData", _uid, EPOCH_expiresPlayer, [_name]] call EPOCH_fnc_server_hiveSETEX;
['Connected', [_uid, _name]] call EPOCH_fnc_server_hiveLog;
}];
addMissionEventHandler ["HandleDisconnect", {_this call EPOCH_server_onPlayerDisconnect}];
onPlayerDisconnected {
params ["_id", "_uid", "_name"];
_unit = objNull;
{
if ((_x getVariable["PUID", "0"]) == _uid) exitWith {
_unit = _x;
};
} forEach allUnits;
[_unit,_id,_uid,_name] call EPOCH_server_onPlayerDisconnect
};
// addMissionEventHandler ["HandleDisconnect", {_this call EPOCH_server_onPlayerDisconnect}];
diag_log "Epoch: Setup Side Settings";
//set side status

View File

@ -1273,7 +1273,7 @@ _skn_admincode = compileFinal ("
getText (configFile >> 'CfgVehicles' >> typeOf _x >> 'Icon'), _x call _getDmgColor, visiblePosition _x, _size, _size, getDir _x, name _x
];
};
}forEach playableUnits;
}forEach allPlayers;
};
if ("+_skn_tg_map_corpse+") then {
_size = (1/ctrlMapScale _display) max 20;
@ -1382,7 +1382,7 @@ _skn_admincode = compileFinal ("
{(_x call "+_skn_getCtrl+") ctrlShow false}forEach[40,41,42,43,50,51,52,60,61,62,63,64,65,66,67,68,69,70,71] };
if (getPlayerUID player in "+str _skn_blockedSpawnMenuUID+") then {ctrlEnable [21,false]};
ctrlEnable [22,false];
(1 call "+_skn_getCtrl+") ctrlSetText format['Players %1 of %2',count playableUnits,playersNumber civilian];
(1 call "+_skn_getCtrl+") ctrlSetText format['Players %1 of %2',count allPlayers,playersNumber civilian];
(2 call "+_skn_getCtrl+") ctrlSetText format['Epoch Mod Admin Menu by Skaronator.com - Server Uptime: %1h %2min', _hours, _minutes];
(5 call "+_skn_getCtrl+") ctrlSetEventHandler ['LBDblClick', '_this call "+_skn_fnc_Spec+"'];
(6 call "+_skn_getCtrl+") ctrlSetEventHandler ['LBDblClick', '_this call "+_skn_dbClickMainMenu+"'];
@ -1980,7 +1980,7 @@ _skn_admincode = compileFinal ("
lbclear _ctrl;
_sorted = [];
_unsorted = playableUnits;
_unsorted = allPlayers;
_buttonRange = 10 call "+_skn_getCtrl+";
_buttonRange ctrlSetText 'Range';

View File

@ -1,11 +1,11 @@
/*%FSM<COMPILE "F:\Program Files (x86)\Bohemia Interactive\Tools\FSM Editor Personal Edition\scriptedFSM.cfg, Server Monitor">*/
/*%FSM<HEAD>*/
/*
item0[] = {"Init",0,4346,600.000000,-575.000000,700.000000,-525.000000,0.000000,"Init"};
item0[] = {"Init",0,250,600.000000,-575.000000,700.000000,-525.000000,0.000000,"Init"};
item1[] = {"_",8,218,600.000000,-500.000000,700.000000,-450.000000,0.000000,""};
item2[] = {"Process",2,250,600.000000,-350.000000,700.000000,-300.000000,0.000000,"Process"};
item3[] = {"De_simulate_Vehicle",4,218,750.000000,-225.000000,850.000000,-175.000000,2.000000,"De-simulate" \n "Vehicle Check"};
item4[] = {"Simulate_Vehicle",4,218,750.000000,-300.000000,850.000000,-250.000000,1.000000,"Simulate" \n "Vehicle Check"};
item4[] = {"Simulate_Vehicle",4,4314,750.000000,-300.000000,850.000000,-250.000000,1.000000,"Simulate" \n "Vehicle Check"};
item5[] = {"CMD_queue",4,218,450.000000,-450.000000,550.000000,-400.000000,10.000000,"CMD queue"};
item6[] = {"Save_Players",4,218,450.000000,-375.000000,550.000000,-325.000000,3.000000,"Save" \n "Players"};
item7[] = {"Cleanup",4,218,750.000000,-375.000000,850.000000,-325.000000,8.000000,"Cleanup"};
@ -33,8 +33,8 @@ link16[] = {8,2};
link17[] = {9,2};
link18[] = {10,2};
link19[] = {11,2};
globals[] = {25.000000,1,0,0,0,640,480,1,3,6316128,1,275.180084,1161.319580,208.497711,-659.879456,898,880,1};
window[] = {2,-1,-1,-1,-1,838,78,1370,78,3,916};
globals[] = {0.000000,0,0,0,0,640,480,1,3,6316128,1,275.180084,1161.319580,208.497711,-659.879456,898,854,1};
window[] = {2,-1,-1,-1,-1,786,-1654,-362,26,3,916};
*//*%FSM</HEAD>*/
class FSM
{
@ -328,8 +328,10 @@ class FSM
" _activeVehicles pushBack _x;" \n
" };" \n
" } else {" \n
" diag_log format[""DEBUG: Invalid Vehicle Token, deleted %1"",_x];" \n
" deleteVehicle _x;" \n
" if ((objectCurators _x) isEqualTo []) then {" \n
" diag_log format[""DEBUG: Invalid Vehicle Token, deleted %1"",_x];" \n
" deleteVehicle _x;" \n
" };" \n
" };" \n
" };" \n
" }forEach (_x nearEntities[[""LandVehicle"", ""Ship"", ""Air"", ""Tank""], 300]);" \n
@ -349,7 +351,7 @@ class FSM
" if (_pUID != """") then { _playersTemp pushBack _pUID; };" \n
" };" \n
" };" \n
"}forEach playableUnits;" \n
"}forEach allPlayers;" \n
"_players = _playersTemp;"/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/

View File

@ -1 +1 @@
build=655;
build=668;

View File

@ -1 +1 @@
build=655;
build=668;

View File

@ -1 +1 @@
655
668