mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
Merge pull request #669 from EpochModTeam/experimental
release 0.4 b668
This commit is contained in:
commit
461af9b864
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Server_Install_Pack/@epochhive/libhiredis.so.0.10
Normal file
BIN
Server_Install_Pack/@epochhive/libhiredis.so.0.10
Normal file
Binary file not shown.
BIN
Server_Install_Pack/@epochhive/libpcre.so.3
Normal file
BIN
Server_Install_Pack/@epochhive/libpcre.so.3
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -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$"
|
||||
|
@ -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
|
||||
|
@ -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");
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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
|
@ -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);
|
||||
|
@ -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");
|
||||
|
@ -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];
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -104,6 +104,7 @@ class CfgClientFunctions
|
||||
{
|
||||
class worldObjectType {};
|
||||
class returnConfig {};
|
||||
class returnConfigV2 {};
|
||||
class colorRange {};
|
||||
class convertTemp {};
|
||||
class fnc_playerDeath {};
|
||||
|
@ -28,7 +28,7 @@ class CfgEpochClient
|
||||
minJammerDistance = 650;
|
||||
maxBuildingHeight = 33;
|
||||
buildingCountLimit = 200; //overall building limit in range of jammer (overridden if "useGroupCountLimits=1")
|
||||
storageCountLimit = 100; //overall storage limit in range of jammer (triggers only if "splitCountLimits=1" & "useGroupCountLimits=0")
|
||||
storageCountLimit = 100; //overall storage limit in range of jammer (triggers only if "splitCountLimits=1" & "useGroupCountLimits=0")
|
||||
splitCountLimits = 0; //1 = distinguish buildingCountLimit from storageCountLimit (ex.: buildingCountLimit=100, storageCountLimit=100 >> you can build 100 baseparts AND additional 100 storage objects like safes, lockboxes...)
|
||||
useGroupCountLimits = 1; //1 = enable leader and member counts (doesn´t affect "splitCountLimits")
|
||||
buildingCountLeader = 125; //ignore if "useGroupCountLimits=0"
|
||||
@ -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 = "";
|
||||
|
@ -1 +1 @@
|
||||
build=655;
|
||||
build=668;
|
||||
|
@ -1 +1 @@
|
||||
build=655;
|
||||
build=668;
|
||||
|
@ -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;
|
||||
|
@ -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 {
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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';
|
||||
|
@ -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>*/
|
||||
|
@ -1 +1 @@
|
||||
build=655;
|
||||
build=668;
|
||||
|
@ -1 +1 @@
|
||||
build=655;
|
||||
build=668;
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user