mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
commit
fc45cb8f69
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -27,6 +27,7 @@ forceRestartTime = 14400; // 4 hour restarts
|
|||||||
{ 900, "ChangeWeather", 1 , 2, -1, {} ,{"VR"}},
|
{ 900, "ChangeWeather", 1 , 2, -1, {} ,{"VR"}},
|
||||||
{ 1200, "ContainerSpawner", 0 , 2, -1, {} ,{"VR"}},
|
{ 1200, "ContainerSpawner", 0 , 2, -1, {} ,{"VR"}},
|
||||||
{ 1440, "GardenManager", 0 , 2, -1, {} ,{"VR"}},
|
{ 1440, "GardenManager", 0 , 2, -1, {} ,{"VR"}},
|
||||||
|
{ 1440, "SolarChargerManager", 0 , 2, -1, {} ,{"VR"}},
|
||||||
{ 900, "MoneyDrop", 0 , 2 , -1, {} ,{"VR"}},
|
{ 900, "MoneyDrop", 0 , 2 , -1, {} ,{"VR"}},
|
||||||
{ 300, "PlantSpawner", 0 , 2 , -1, {} ,{"VR"}} //No comma on last Entry
|
{ 300, "PlantSpawner", 0 , 2 , -1, {} ,{"VR"}} //No comma on last Entry
|
||||||
};
|
};
|
||||||
@ -63,8 +64,10 @@ forceRestartTime = 14400; // 4 hour restarts
|
|||||||
};
|
};
|
||||||
|
|
||||||
// vehicles - Max vehicle slots is calculated from per vehicle limits below. Warning! Higher the number lower the performance.
|
// vehicles - Max vehicle slots is calculated from per vehicle limits below. Warning! Higher the number lower the performance.
|
||||||
|
immuneIfStartInBase = "true"; // Protect vehicles from damage in bases until first unlocked after restart
|
||||||
ReservedVehSlots = 50; // Reserved Vehicle Slots (only needed, if you manually spawn in additional Vehicles - AdminTool / Blackmarket...)
|
ReservedVehSlots = 50; // Reserved Vehicle Slots (only needed, if you manually spawn in additional Vehicles - AdminTool / Blackmarket...)
|
||||||
disableAutoRefuel = "true"; // Removes auto refuel from all buildings at server startup.
|
disableAutoRefuel = "false"; // Removes auto refuel from all buildings at server startup.
|
||||||
|
disableFuelNearPlots = "false"; // Removes auto refuel in PlotPole-Ranges at server startup.
|
||||||
VehLockMessages = "true"; // Give players a hint, that the Vehicle is locked / unlocked
|
VehLockMessages = "true"; // Give players a hint, that the Vehicle is locked / unlocked
|
||||||
removevehweapons[] = { // remove these Weapons from spawned Vehicles
|
removevehweapons[] = { // remove these Weapons from spawned Vehicles
|
||||||
"missiles_DAR","gatling_30mm","gatling_20mm","missiles_DAGR","cannon_30mm_Plane_CAS_02_F","Missile_AA_03_Plane_CAS_02_F","Missile_AGM_01_Plane_CAS_02_F","Rocket_03_HE_Plane_CAS_02_F",
|
"missiles_DAR","gatling_30mm","gatling_20mm","missiles_DAGR","cannon_30mm_Plane_CAS_02_F","Missile_AA_03_Plane_CAS_02_F","Missile_AGM_01_Plane_CAS_02_F","Rocket_03_HE_Plane_CAS_02_F",
|
||||||
@ -89,6 +92,8 @@ forceRestartTime = 14400; // 4 hour restarts
|
|||||||
"Safe_EPOCH"
|
"Safe_EPOCH"
|
||||||
};
|
};
|
||||||
ExceptedBaseObjects[] = { // Not Indestructible, also if in a Class of IndestructibleBaseObjects
|
ExceptedBaseObjects[] = { // Not Indestructible, also if in a Class of IndestructibleBaseObjects
|
||||||
|
"Spike_TRAP_EPOCH",
|
||||||
|
"Metal_TRAP_EPOCH",
|
||||||
"CinderWallGarage_EPOCH",
|
"CinderWallGarage_EPOCH",
|
||||||
"WoodLargeWallDoorL_EPOCH",
|
"WoodLargeWallDoorL_EPOCH",
|
||||||
"WoodLargeWallDoor_EPOCH",
|
"WoodLargeWallDoor_EPOCH",
|
||||||
|
@ -15,6 +15,8 @@ http://www.microsoft.com/en-us/download/details.aspx?id=40784
|
|||||||
6. Open the SC/Battleye folder and rename example-BEServer.cfg to BEServer.cfg and change the RConPassword.
|
6. Open the SC/Battleye folder and rename example-BEServer.cfg to BEServer.cfg and change the RConPassword.
|
||||||
7. Look at the "start-A3-cmd-line-example.txt" file for an example command line for starting your server.
|
7. Look at the "start-A3-cmd-line-example.txt" file for an example command line for starting your server.
|
||||||
|
|
||||||
|
For more details in Server installation, visit: https://epochmod.com/forum/topic/44751-dec2017-arma-3-epochmod-server-installation-and-setup/
|
||||||
|
|
||||||
== NOTES ==
|
== NOTES ==
|
||||||
|
|
||||||
* You should use a service restarter (like firedaemon) to keep the redis server and Arma 3 server running.
|
* You should use a service restarter (like firedaemon) to keep the redis server and Arma 3 server running.
|
||||||
|
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.
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 "" !="H_MM_(Buzzard_Gasmask|Helmet)_01" !="V_MM_Vest_01" !="(V|H)_(F|)[0-9]{1,3}_EPOCH" !="(clown|pkin|wolf|radiation|hockey|plague|ghostface|skull|witch)_mask_epoch" !="Item(Map|GPS|Compass|Watch|GeigerCounter_EPOCH)|Power_Sword" !="EpochRadio[0-9]" !="B_UavTerminal" !="(U|G|bipod|acc|muzzle|optic)_[0-9A-Z_]{1,100}" !="(NVG|Defib|Heal|Repair|Elcan(_reflex|))_EPOCH" !="(Binocular|Rangefinder|Hatchet|CrudeHatchet|WoodClub|Melee(Sledge|Maul|Rod|Sword)|ChainSaw|MultiGun|Rollins_F|Plunger)" !="(ruger_pistol|speargun|1911_pistol|akm|m14|M14Grn|m16|m16Red|m107|m107Tan|m249|m249Tan|m4a3|sr25|l85a2|l85a2_(pink|ugl))_epoch" !="SMG_(01|02|05)_F" !="hgun_(PDW2000|ACPC2|Rook40|P07|Pistol_heavy_0[1-2]|Pistol_Signal)_F" !="LMG_(Mk200|Zafir)_F" !="srifle_(EBR|GM6|LRR|DMR_01)_(camo_|)F" !="arifle_(Katiba|Katiba_C|Katiba_GL|SDAR|TRG21|TRG20|TRG21_GL|Mk20|Mk20C|Mk20C_plain|Mk20_GL|Mk20_plain|Mk20_GL_plain)_F" !="arifle_(MXC|MX|MX_GL|MXM|MXM_Black|MX_GL_Black|MX_Black|MXC_Black|MX_SW|MX_SW_Black)_F" !="srifle_DMR_0[2-7](_(camo|sniper|khaki|tan|multicam|woodland|spotter|blk|hex|olive)_|_)F" !="MMG_0[1-2]_(hex|tan|camo|black|sand)_F" !"CUP_((h|s)gun|(s|a)rifle|(l|s)mg)_" !"CUP_(optic|muzzle|acc|bipod)_" !"CUP_(Mxx|SVD)_camo"
|
5 "" !="H_MM_(Buzzard_Gasmask|Helmet)_01" !="V_MM_Vest_01" !="(V|H)_(F|)[0-9]{1,3}_EPOCH" !="(clown|pkin|wolf|radiation|hockey|plague|ghostface|skull|witch|thor|iron)_mask_epoch" !="Item(Map|GPS|Compass|Watch|GeigerCounter_EPOCH)|Power_Sword" !="EpochRadio[0-9]" !="B_UavTerminal" !="(U|G|bipod|acc|muzzle|optic)_[0-9A-Z_]{1,100}" !="(NVG|Defib|Heal|Repair|Elcan(_reflex|))_EPOCH" !="(Binocular|Rangefinder|Hatchet|CrudeHatchet|WoodClub|Melee(Sledge|Maul|Rod|Sword)|ChainSaw|MultiGun|Rollins_F|Plunger)" !="(ruger_pistol|speargun|1911_pistol|akm|m14|M14Grn|m16|m16Red|m107|m107Tan|m249|m249Tan|m4a3|sr25|l85a2|l85a2_(pink|ugl))_epoch" !="SMG_(01|02|05)_F" !="hgun_(PDW2000|ACPC2|Rook40|P07|Pistol_heavy_0[1-2]|Pistol_Signal)_F" !="LMG_(Mk200|Zafir)_F" !="srifle_(EBR|GM6|LRR|DMR_01)_(camo_|)F" !="arifle_(Katiba|Katiba_C|Katiba_GL|SDAR|TRG21|TRG20|TRG21_GL|Mk20|Mk20C|Mk20C_plain|Mk20_GL|Mk20_plain|Mk20_GL_plain)_F" !="arifle_(MXC|MX|MX_GL|MXM|MXM_Black|MX_GL_Black|MX_Black|MXC_Black|MX_SW|MX_SW_Black)_F" !="srifle_DMR_0[2-7](_(camo|sniper|khaki|tan|multicam|woodland|spotter|blk|hex|olive)_|_)F" !="MMG_0[1-2]_(hex|tan|camo|black|sand)_F" !"CUP_((h|s)gun|(s|a)rifle|(l|s)mg)_" !"CUP_(optic|muzzle|acc|bipod)_" !"CUP_(Mxx|SVD)_camo"
|
||||||
|
@ -1 +1 @@
|
|||||||
5 "" !="bis_fnc_execvm \[\[.+\],\"initPlayerServer.sqf\"]" !="bis_fnc_effectkilled(airdestruction|secondaries) \[.+\]" !="epoch_server_(checkplayer|save(_vehicles|building)|(lock|pack)Storage|(upgrade|remove|paint|maint)build) \[.+\]" !="epoch_server_((load|respawn|dead|invite|revive|teleport)Player) \[.+\]" !="epoch_server_((upgrade|updateplayer|inviteplayer|create|delete)(Temp|)Group) \[.+\]" !="epoch_server_(deadplayerdetonate|triggerantagonist|playersetvariable|missioncomms|make(marker|SP)|removemarker) \[.+\]" !="epoch_server_(upgrade_vehicle|knockDownTree|mineRocks|lootAnimal|handle_(say3d|switchmove|sapperObjs)) \[.+\]" !="epoch_server_((repair|fill|lock)Vehicle|(loot|fill)Container|(store|take)Crypto|make(NPC|)Trade) \[.+\]" !="epoch_server_(paycrypto|tradeRequest|equippeditem|packJack|create(object|AirDrop)|airDropCrate|destroytrash|unpackBackpack) \[.+\]" !="epoch_(localcleanup|fnc_saveplayer|client_bitePlayer|serverlootobject|fnc_updateplayerstats) \[.+\]" !="cup_fnc_handletow \[.+\]" !="bis_fnc_reviveinitaddplayer \[.+\]"
|
5 "" !="bis_fnc_execvm \[\[.+\],\"initPlayerServer.sqf\"]" !="bis_fnc_effectkilled(airdestruction|secondaries) \[.+\]" !="epoch_server_(checkplayer|save(_vehicles|building)|(lock|pack)Storage|(upgrade|remove|paint|maint)build) \[.+\]" !="epoch_server_((load|respawn|dead|invite|revive|teleport)Player) \[.+\]" !="epoch_server_((upgrade|updateplayer|inviteplayer|create|delete)(Temp|)Group) \[.+\]" !="epoch_server_(deadplayerdetonate|triggerantagonist|playersetvariable|missioncomms|make(marker|SP)|removemarker) \[.+\]" !="epoch_server_(upgrade_vehicle|knockDownTree|mineRocks|lootAnimal|handle_(say3d|switchmove|sapperObjs)) \[.+\]" !="epoch_server_((repair|fill|lock)Vehicle|(loot|fill)Container|(store|take)Crypto|make(NPC|)Trade) \[.+\]" !="epoch_server_(paycrypto|tradeRequest|equippeditem|packJack|create(object|AirDrop)|airDropCrate|destroytrash|unpackBackpack) \[.+\]" !="epoch_(localcleanup|fnc_saveplayer|client_bitePlayer|serverlootobject|fnc_updateplayerstats|server_setfinalplayerpos) \[.+\]" !="cup_fnc_handletow \[.+\]" !="bis_fnc_reviveinitaddplayer \[.+\]"
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
5 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\"];"
|
5 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\"];"
|
||||||
5 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\"];"
|
5 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\"];"
|
||||||
5 createTeam
|
5 createTeam
|
||||||
5 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';" !="createDialog \"Epoch_myTempGroup\";" !="createDialog (if ((Epoch_my_tempGroupUID == \"\") && (Epoch_my_tempGroup isEqualTo [])) then {\"EPOCH_createTempGrp\"} else {\"Epoch_myTempGroup\"});" !="createDialog \"tempGroupRequests\";"
|
5 createDialog !="createdialog 'Epoch_CamDialog'" !="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';" !="createDialog \"Epoch_myTempGroup\";" !="createDialog (if ((Epoch_my_tempGroupUID == \"\") && (Epoch_my_tempGroup isEqualTo [])) then {\"EPOCH_createTempGrp\"} else {\"Epoch_myTempGroup\"});" !="createDialog \"tempGroupRequests\";"
|
||||||
5 createDisplay !="createDisplay \"rmx_dynamenu\";" !="createDisplay \"rmx_moveDynamicHUD\";" !="_parent createdisplay _displayClass;" !="finddisplay 151 createdisplay 'RscDisplayOptionsLayout'" !="_display createdisplay \"RscDisplayDLCPreview\";"
|
5 createDisplay !="createDisplay \"rmx_dynamenu\";" !="createDisplay \"rmx_moveDynamicHUD\";" !="_parent createdisplay _displayClass;" !="finddisplay 151 createdisplay 'RscDisplayOptionsLayout'" !="_display createdisplay \"RscDisplayDLCPreview\";"
|
||||||
5 deleteMarker !="deleteMarkerLocal _mName;"
|
5 deleteMarker !="deleteMarkerLocal _mName;"
|
||||||
5 setMarker !="CBA_fnc_setMarkerPersistent\"" !="\\fnc_setMarkerPersistent" !="\"setMarkerPersistent" !="_mName setMarkerShapeLocal _mShape;" !="_mName setMarkerTypeLocal _mType;" !="(_x select 0) setMarkerPosLocal (position player);" !="_zoomMarker setMarkerSizeLocal"
|
5 setMarker !="CBA_fnc_setMarkerPersistent\"" !="\\fnc_setMarkerPersistent" !="\"setMarkerPersistent" !="_mName setMarkerShapeLocal _mShape;" !="_mName setMarkerTypeLocal _mType;" !="(_x select 0) setMarkerPosLocal (position player);" !="_zoomMarker setMarkerSizeLocal"
|
||||||
|
@ -1 +1 @@
|
|||||||
5 "" !="Epoch_(Male|Female)_F" !="(Bed|locker|Filing|Chair|ChairRed|wardrobe|cooker|Couch|Table|Pelican|Fridge|Shelf)_EPOCH" !="(ToolRack|Rabbit|Cabinet|toilet|KitchenSink)_EPOCH" !="(Sheep|Goat|Snake|Hen|Cock|Fin|Alsatian)_random_EPOCH" !="Foundation_EPOCH" !="WoodFoundation_EPOCH" !=".+_(SIM|Ghost)_EPOCH" !="(FirePlace|FirePlaceOn)_EPOCH"
|
5 "" !="Epoch_(Male|Female)_F" !="(Bed|locker|Filing|Chair|ChairRed|wardrobe|cooker|Couch|Table|Pelican|Fridge|Shelf)_EPOCH" !="(ToolRack|Rabbit|Cabinet|toilet|KitchenSink)_EPOCH" !="(Sheep|Goat|Snake|Hen|Cock|Fin|Alsatian)_random_EPOCH" !="Foundation_EPOCH" !="WoodFoundation_EPOCH" !=".+_(SIM|Ghost)_EPOCH" !="(FirePlace|FirePlaceOn)_EPOCH" !"K(01|02|03|04)" !"ebike" !"Quadbike" !"hoverboard_epoch" !"C_Kart_"
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
/*%FSM<COMPILE "F:\Program Files (x86)\Steam\steamapps\common\Arma 3 Tools\FSMEditor\scriptedFSM.cfg, Epoch Login">*/
|
/*%FSM<COMPILE "scriptedFSM.cfg, Epoch Login">*/
|
||||||
/*%FSM<HEAD>*/
|
/*%FSM<HEAD>*/
|
||||||
/*
|
/*
|
||||||
item0[] = {"INIT",0,250,-25.000000,-375.000000,75.000000,-325.000000,0.000000,"INIT"};
|
item0[] = {"INIT",0,250,-25.000000,-375.000000,75.000000,-325.000000,0.000000,"INIT"};
|
||||||
item1[] = {"FINISH",1,250,-149.463196,1518.792480,-49.463196,1568.792480,0.000000,"FINISH"};
|
item1[] = {"FINISH",1,250,-156.564148,1645.189819,-56.564148,1695.189819,0.000000,"FINISH"};
|
||||||
item2[] = {"true",8,218,-150.000000,-125.000000,-50.000000,-75.000000,0.000000,"true"};
|
item2[] = {"true",8,218,-150.000000,-125.000000,-50.000000,-75.000000,0.000000,"true"};
|
||||||
item3[] = {"Version_Check",2,250,-25.000000,-75.000000,75.000000,-25.000000,0.000000,"Version Check"};
|
item3[] = {"Version_Check",2,250,-25.000000,-75.000000,75.000000,-25.000000,0.000000,"Version Check"};
|
||||||
item4[] = {"Player_Object_Re",4,218,-150.000000,75.000000,-50.000000,125.000000,0.000000,"Player" \n "Object Ready"};
|
item4[] = {"Player_Object_Re",4,218,-150.000000,75.000000,-50.000000,125.000000,0.000000,"Player" \n "Object Ready"};
|
||||||
@ -17,23 +17,23 @@ item12[] = {"Empty_PlayerUID",4,218,125.000000,125.000000,225.000000,175.000000,
|
|||||||
item13[] = {"ERROR_PlayerUID",2,250,275.000000,125.000000,375.000000,175.000000,0.000000,"ERROR" \n "PlayerUID Empty"};
|
item13[] = {"ERROR_PlayerUID",2,250,275.000000,125.000000,375.000000,175.000000,0.000000,"ERROR" \n "PlayerUID Empty"};
|
||||||
item14[] = {"",7,210,471.000061,145.999908,478.999939,154.000092,0.000000,""};
|
item14[] = {"",7,210,471.000061,145.999908,478.999939,154.000092,0.000000,""};
|
||||||
item15[] = {"Timeout_No_Respo",4,218,125.000000,875.000000,225.000000,925.000000,0.000000,"Timeout" \n "No Response"};
|
item15[] = {"Timeout_No_Respo",4,218,125.000000,875.000000,225.000000,925.000000,0.000000,"Timeout" \n "No Response"};
|
||||||
item16[] = {"Response",4,4314,-150.000000,825.000000,-50.000000,875.000000,0.000000,"Response"};
|
item16[] = {"Response",4,218,-150.000000,825.000000,-50.000000,875.000000,0.000000,"Response"};
|
||||||
item17[] = {"Setup_Player_Var",2,250,-25.000000,1075.000000,75.000000,1125.000000,0.000000,"Setup Player" \n "Variables"};
|
item17[] = {"Setup_Player_Var",2,250,-32.100952,1201.397339,67.899048,1251.397339,0.000000,"Setup Player" \n "Variables"};
|
||||||
item18[] = {"Request_Hive",2,250,-25.000000,575.000000,75.000000,625.000000,0.000000,"Request Hive"};
|
item18[] = {"Request_Hive",2,250,-25.000000,575.000000,75.000000,625.000000,0.000000,"Request Hive"};
|
||||||
item19[] = {"Timeout_No_Respo",4,218,125.000000,575.000000,225.000000,625.000000,0.000000,"Timeout" \n "No Response"};
|
item19[] = {"Timeout_No_Respo",4,218,125.000000,575.000000,225.000000,625.000000,0.000000,"Timeout" \n "No Response"};
|
||||||
item20[] = {"ERROR_Server_not",2,250,275.000000,875.000000,375.000000,925.000000,0.000000,"ERROR" \n "Server not" \n "Response"};
|
item20[] = {"ERROR_Server_not",2,250,275.000000,875.000000,375.000000,925.000000,0.000000,"ERROR" \n "Server not" \n "Response"};
|
||||||
item21[] = {"",7,210,471.000000,895.999939,479.000000,904.000061,0.000000,""};
|
item21[] = {"",7,210,471.000000,895.999939,479.000000,904.000061,0.000000,""};
|
||||||
item22[] = {"Timeout_No_Respo",4,218,125.000000,775.000000,225.000000,825.000000,0.000000,"Timeout" \n "No Response"};
|
item22[] = {"Timeout_No_Respo",4,218,125.000000,775.000000,225.000000,825.000000,0.000000,"Timeout" \n "No Response"};
|
||||||
item23[] = {"Wrong_Server_Ver",4,218,125.000000,475.000000,225.000000,525.000000,10.000000,"Wrong" \n "Server Version"};
|
item23[] = {"Wrong_Server_Ver",4,218,125.000000,475.000000,225.000000,525.000000,10.000000,"Wrong" \n "Server Version"};
|
||||||
item24[] = {"Player_In_Game",8,218,-150.000000,1125.000000,-50.000000,1175.000000,0.000000,"Player" \n "In Game"};
|
item24[] = {"Player_In_Game",8,218,-157.100952,1251.397339,-57.100952,1301.397339,0.000000,"Player" \n "In Game"};
|
||||||
item25[] = {"ERROR_Wrong_Server",2,250,275.000000,475.000000,375.000000,525.000000,0.000000,"ERROR" \n "Wrong" \n "Server Version"};
|
item25[] = {"ERROR_Wrong_Server",2,250,275.000000,475.000000,375.000000,525.000000,0.000000,"ERROR" \n "Wrong" \n "Server Version"};
|
||||||
item26[] = {"Display_Message",4,218,600.000000,1150.000000,700.000000,1200.000000,0.000000,"" \n "Display Message" \n "Wait..."};
|
item26[] = {"Display_Message",4,218,600.000000,1150.000000,700.000000,1200.000000,0.000000,"" \n "Display Message" \n "Wait..."};
|
||||||
item27[] = {"Setup_Player_Obj",2,250,-25.000000,975.000000,75.000000,1025.000000,0.000000,"Setup Player" \n "Object"};
|
item27[] = {"Setup_Player_Obj",2,250,-32.100952,1101.397339,67.899048,1151.397339,0.000000,"Setup Player" \n "Object"};
|
||||||
item28[] = {"Check_if_Player",4,218,750.000000,1225.000000,850.000000,1275.000000,0.000000,"Check if" \n "Player got Kicked"};
|
item28[] = {"Check_if_Player",4,218,750.000000,1225.000000,850.000000,1275.000000,0.000000,"Check if" \n "Player got Kicked"};
|
||||||
item29[] = {"Preload_done",8,218,-150.000000,1425.000000,-50.000000,1475.000000,0.000000,"Preload" \n "done"};
|
item29[] = {"Preload_done",8,218,-157.100952,1551.397339,-57.100952,1601.397339,0.000000,"Preload" \n "done"};
|
||||||
item30[] = {"",7,210,471.000000,796.000000,479.000000,804.000000,0.000000,""};
|
item30[] = {"",7,210,471.000000,796.000000,479.000000,804.000000,0.000000,""};
|
||||||
item31[] = {"",7,210,471.000000,796.000000,479.000000,804.000000,0.000000,""};
|
item31[] = {"",7,210,471.000000,796.000000,479.000000,804.000000,0.000000,""};
|
||||||
item32[] = {"true",8,218,425.000000,1075.000000,525.000000,1125.000000,0.000000,"true"};
|
item32[] = {"true",8,218,417.899048,1201.397339,517.899048,1251.397339,0.000000,"true"};
|
||||||
item33[] = {"Display_Message",2,250,600.000000,1075.000000,700.000000,1125.000000,0.000000,"Display" \n "Message"};
|
item33[] = {"Display_Message",2,250,600.000000,1075.000000,700.000000,1125.000000,0.000000,"Display" \n "Message"};
|
||||||
item34[] = {"Server_Ready",4,218,-25.000000,300.000000,75.000000,350.000000,0.000000,"Server" \n "Ready"};
|
item34[] = {"Server_Ready",4,218,-25.000000,300.000000,75.000000,350.000000,0.000000,"Server" \n "Ready"};
|
||||||
item35[] = {"Check_Server",2,250,-25.000000,375.000000,75.000000,425.000000,0.000000,"Check Server"};
|
item35[] = {"Check_Server",2,250,-25.000000,375.000000,75.000000,425.000000,0.000000,"Check Server"};
|
||||||
@ -50,26 +50,26 @@ item45[] = {"Arma_Version_Che",2,250,-25.000000,25.000000,75.000000,75.000000,0.
|
|||||||
item46[] = {"Outdated_Version",4,218,125.000000,25.000000,225.000000,75.000000,10.000000,"Outdated" \n "Version"};
|
item46[] = {"Outdated_Version",4,218,125.000000,25.000000,225.000000,75.000000,10.000000,"Outdated" \n "Version"};
|
||||||
item47[] = {"ERROR_Wrong_Version_1",2,250,275.000000,25.000000,375.000000,75.000000,0.000000,"ERROR" \n "Wrong Version" \n "ArmA"};
|
item47[] = {"ERROR_Wrong_Version_1",2,250,275.000000,25.000000,375.000000,75.000000,0.000000,"ERROR" \n "Wrong Version" \n "ArmA"};
|
||||||
item48[] = {"",7,210,471.000061,45.999908,478.999939,54.000092,0.000000,""};
|
item48[] = {"",7,210,471.000061,45.999908,478.999939,54.000092,0.000000,""};
|
||||||
item49[] = {"new_player_____p",4,218,-150.000000,1025.000000,-50.000000,1075.000000,0.000000,"new player == " \n "player"};
|
item49[] = {"new_player_____p",4,218,-157.100952,1151.397339,-57.100952,1201.397339,0.000000,"new player == " \n "player"};
|
||||||
item50[] = {"Setup_EH_s_and_H",2,250,-25.000000,1175.000000,75.000000,1225.000000,0.000000,"Setup EH's" \n "and" \n "HitPoints"};
|
item50[] = {"Setup_EH_s_and_H",2,250,-32.100952,1301.397339,67.899048,1351.397339,0.000000,"Setup EH's" \n "and" \n "HitPoints"};
|
||||||
item51[] = {"no_weapons",4,218,-25.000000,1275.000000,75.000000,1325.000000,0.000000,"no weapons"};
|
item51[] = {"no_weapons",4,218,-32.100952,1401.397339,67.899048,1451.397339,0.000000,"no weapons"};
|
||||||
item52[] = {"Process",2,250,-25.000000,1375.000000,75.000000,1425.000000,0.000000,"Process"};
|
item52[] = {"Process",2,250,-32.100952,1501.397339,67.899048,1551.397339,0.000000,"Process"};
|
||||||
item53[] = {"Has_Current_Weap",4,218,100.000000,1175.000000,200.000000,1225.000000,10.000000,"Has" \n "Current" \n "Weapon"};
|
item53[] = {"Has_Current_Weap",4,218,92.899048,1301.397339,192.899048,1351.397339,10.000000,"Has" \n "Current" \n "Weapon"};
|
||||||
item54[] = {"Find_Active_Weap",2,250,225.000000,1175.000000,325.000000,1225.000000,0.000000,"Find" \n "Active" \n "Weapon"};
|
item54[] = {"Find_Active_Weap",2,250,217.899048,1301.397339,317.899048,1351.397339,0.000000,"Find" \n "Active" \n "Weapon"};
|
||||||
item55[] = {"Current_Weapon_Not",4,218,150.000000,1225.000000,250.000000,1275.000000,0.000000,"Current" \n "Weapon" \n "Not Selected"};
|
item55[] = {"Current_Weapon_Not",4,218,142.899048,1351.397339,242.899048,1401.397339,0.000000,"Current" \n "Weapon" \n "Not Selected"};
|
||||||
item56[] = {"Current_Weapon_S",4,218,300.000000,1225.000000,400.000000,1275.000000,0.000000,"Current" \n "Weapon" \n "Selected"};
|
item56[] = {"Current_Weapon_S",4,218,292.899048,1351.397339,392.899048,1401.397339,0.000000,"Current" \n "Weapon" \n "Selected"};
|
||||||
item57[] = {"Select_Weapon",2,250,150.000000,1300.000000,250.000000,1350.000000,0.000000,"Select" \n "Weapon"};
|
item57[] = {"Select_Weapon",2,250,142.899048,1426.397339,242.899048,1476.397339,0.000000,"Select" \n "Weapon"};
|
||||||
item58[] = {"true",8,218,225.000000,1375.000000,325.000000,1425.000000,0.000000,"true"};
|
item58[] = {"true",8,218,217.899048,1501.397339,317.899048,1551.397339,0.000000,"true"};
|
||||||
item59[] = {"Do_nothing",2,250,300.000000,1300.000000,400.000000,1350.000000,0.000000,"Do nothing"};
|
item59[] = {"Do_nothing",2,250,292.899048,1426.397339,392.899048,1476.397339,0.000000,"Do nothing"};
|
||||||
item60[] = {"Check_New_Player",2,250,-25.000000,875.000000,75.000000,925.000000,0.000000,"Check" \n "New Player" \n "Setup"};
|
item60[] = {"Check_New_Player",2,250,-20.739410,880.680786,79.260590,930.680786,0.000000,"Check" \n "New Player"};
|
||||||
item61[] = {"check_new__player",4,218,-150.000000,925.000000,-50.000000,975.000000,0.000000,"check new " \n "player not null"};
|
item61[] = {"check_1_new__pla",4,218,-147.159637,930.680786,-47.159637,980.680786,0.000000,"check 1 new " \n "player"};
|
||||||
item62[] = {"true",4,218,-150.000000,-325.000000,-60.000000,-275.000000,0.000000,"true"};
|
item62[] = {"true",4,218,-150.000000,-325.000000,-60.000000,-275.000000,0.000000,"true"};
|
||||||
item63[] = {"Process_1",2,250,-25.000000,-275.000000,75.000000,-225.000000,0.000000,"Process"};
|
item63[] = {"Process_1",2,250,-25.000000,-275.000000,75.000000,-225.000000,0.000000,"Process"};
|
||||||
item64[] = {"Wait_ArmA_Loading",4,218,-150.000000,-225.000000,-50.000000,-175.000000,0.000000,"Wait ArmA" \n "Loading Screen" \n "Done"};
|
item64[] = {"Wait_ArmA_Loading",4,218,-150.000000,-225.000000,-50.000000,-175.000000,0.000000,"Wait ArmA" \n "Loading Screen" \n "Done"};
|
||||||
item65[] = {"Start_Loading_Sc",2,250,-25.000000,-175.000000,75.000000,-125.000000,0.000000,"Start Loading" \n "Screen"};
|
item65[] = {"Start_Loading_Sc",2,250,-25.000000,-175.000000,75.000000,-125.000000,0.000000,"Start Loading" \n "Screen"};
|
||||||
item66[] = {"Timeout_",4,218,125.000000,975.000000,225.000000,1025.000000,0.000000,"" \n "Timeout" \n ""};
|
item66[] = {"Timeout_",4,218,117.899048,1101.397339,217.899048,1151.397339,0.000000,"" \n "Timeout" \n ""};
|
||||||
item67[] = {"ERROR_Player_Setup",2,250,275.000000,975.000000,375.000000,1025.000000,0.000000,"ERROR" \n "Player Setup" \n "Invalid"};
|
item67[] = {"ERROR_Player_Setup",2,250,267.899048,1101.397339,367.899048,1151.397339,0.000000,"ERROR" \n "Player Setup" \n "Invalid"};
|
||||||
item68[] = {"",7,210,471.000000,996.000000,479.000000,1004.000000,0.000000,""};
|
item68[] = {"",7,210,463.899048,1122.397339,471.899048,1130.397339,0.000000,""};
|
||||||
item69[] = {"Server_Version_C",2,250,-25.000000,475.000000,75.000000,525.000000,0.000000,"Server Version" \n "Check"};
|
item69[] = {"Server_Version_C",2,250,-25.000000,475.000000,75.000000,525.000000,0.000000,"Server Version" \n "Check"};
|
||||||
item70[] = {"Version_Okay",4,218,-125.000000,525.000000,-25.000000,575.000000,0.000000,"Version" \n "Okay"};
|
item70[] = {"Version_Okay",4,218,-125.000000,525.000000,-25.000000,575.000000,0.000000,"Version" \n "Okay"};
|
||||||
item71[] = {"",7,210,471.000000,496.000000,479.000000,504.000000,0.000000,""};
|
item71[] = {"",7,210,471.000000,496.000000,479.000000,504.000000,0.000000,""};
|
||||||
@ -86,6 +86,11 @@ item81[] = {"Timeout",4,218,-350.000000,750.000000,-250.000000,800.000000,0.0000
|
|||||||
item82[] = {"Send_character_s",2,250,-400.000000,825.000000,-300.000000,875.000000,0.000000,"Send" \n "character" \n "selection"};
|
item82[] = {"Send_character_s",2,250,-400.000000,825.000000,-300.000000,875.000000,0.000000,"Send" \n "character" \n "selection"};
|
||||||
item83[] = {"Process_3",2,250,-25.000000,775.000000,75.000000,825.000000,0.000000,"Process"};
|
item83[] = {"Process_3",2,250,-25.000000,775.000000,75.000000,825.000000,0.000000,"Process"};
|
||||||
item84[] = {"ERROR_Server_not_4",2,250,275.000000,775.000000,375.000000,825.000000,0.000000,"ERROR" \n "Server not" \n "Response"};
|
item84[] = {"ERROR_Server_not_4",2,250,275.000000,775.000000,375.000000,825.000000,0.000000,"ERROR" \n "Server not" \n "Response"};
|
||||||
|
item85[] = {"Check_New_Player_1",2,250,-29.260529,995.716492,70.739471,1045.716309,0.000000,"Check" \n "New Player" \n "Setup"};
|
||||||
|
item86[] = {"check_2_new__pla",4,4314,-154.260574,1044.296387,-54.260574,1094.296387,0.000000,"check 2 new " \n "player"};
|
||||||
|
item87[] = {"Timeout_No_Respo",4,218,127.840363,997.136780,227.840363,1047.136475,0.000000,"Timeout" \n "No Response"};
|
||||||
|
item88[] = {"ERROR_Server_not_5",2,250,266.478851,995.716614,366.478851,1045.716309,0.000000,"ERROR" \n "Server not" \n "Response"};
|
||||||
|
item89[] = {"",7,210,466.446442,1000.643677,474.446442,1008.643677,0.000000,""};
|
||||||
link0[] = {0,62};
|
link0[] = {0,62};
|
||||||
link1[] = {2,3};
|
link1[] = {2,3};
|
||||||
link2[] = {3,7};
|
link2[] = {3,7};
|
||||||
@ -109,7 +114,7 @@ link19[] = {18,19};
|
|||||||
link20[] = {18,75};
|
link20[] = {18,75};
|
||||||
link21[] = {19,72};
|
link21[] = {19,72};
|
||||||
link22[] = {20,21};
|
link22[] = {20,21};
|
||||||
link23[] = {21,68};
|
link23[] = {21,89};
|
||||||
link24[] = {22,84};
|
link24[] = {22,84};
|
||||||
link25[] = {23,25};
|
link25[] = {23,25};
|
||||||
link26[] = {24,50};
|
link26[] = {24,50};
|
||||||
@ -154,7 +159,7 @@ link64[] = {58,52};
|
|||||||
link65[] = {59,58};
|
link65[] = {59,58};
|
||||||
link66[] = {60,15};
|
link66[] = {60,15};
|
||||||
link67[] = {60,61};
|
link67[] = {60,61};
|
||||||
link68[] = {61,27};
|
link68[] = {61,85};
|
||||||
link69[] = {62,63};
|
link69[] = {62,63};
|
||||||
link70[] = {63,64};
|
link70[] = {63,64};
|
||||||
link71[] = {64,65};
|
link71[] = {64,65};
|
||||||
@ -183,8 +188,14 @@ link93[] = {82,76};
|
|||||||
link94[] = {83,16};
|
link94[] = {83,16};
|
||||||
link95[] = {83,22};
|
link95[] = {83,22};
|
||||||
link96[] = {84,31};
|
link96[] = {84,31};
|
||||||
globals[] = {0.000000,0,0,0,0,640,480,1,247,6316128,1,-279.414825,540.037537,1629.530029,374.077881,577,884,1};
|
link97[] = {85,86};
|
||||||
window[] = {2,-1,-1,-1,-1,819,52,1036,52,3,595};
|
link98[] = {85,87};
|
||||||
|
link99[] = {86,27};
|
||||||
|
link100[] = {87,88};
|
||||||
|
link101[] = {88,89};
|
||||||
|
link102[] = {89,68};
|
||||||
|
globals[] = {0.000000,0,0,0,0,640,480,1,258,6316128,1,-228.686249,247.871552,1378.466309,648.349915,577,884,1};
|
||||||
|
window[] = {2,-1,-1,-1,-1,845,78,1062,78,3,595};
|
||||||
*//*%FSM</HEAD>*/
|
*//*%FSM</HEAD>*/
|
||||||
class FSM
|
class FSM
|
||||||
{
|
{
|
||||||
@ -517,7 +528,7 @@ class FSM
|
|||||||
priority = 0.000000;
|
priority = 0.000000;
|
||||||
to="ERROR_Server_not_3";
|
to="ERROR_Server_not_3";
|
||||||
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
||||||
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 120"/*%FSM</CONDITION""">*/;
|
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 30"/*%FSM</CONDITION""">*/;
|
||||||
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
||||||
};
|
};
|
||||||
/*%FSM</LINK>*/
|
/*%FSM</LINK>*/
|
||||||
@ -615,7 +626,7 @@ class FSM
|
|||||||
priority = 0.000000;
|
priority = 0.000000;
|
||||||
to="ERROR_Player_Setup";
|
to="ERROR_Player_Setup";
|
||||||
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
||||||
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 60"/*%FSM</CONDITION""">*/;
|
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 30"/*%FSM</CONDITION""">*/;
|
||||||
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
||||||
};
|
};
|
||||||
/*%FSM</LINK>*/
|
/*%FSM</LINK>*/
|
||||||
@ -1044,48 +1055,37 @@ class FSM
|
|||||||
name = "Check_New_Player";
|
name = "Check_New_Player";
|
||||||
itemno = 60;
|
itemno = 60;
|
||||||
init = /*%FSM<STATEINIT""">*/"_myTime = diag_tickTime;" \n
|
init = /*%FSM<STATEINIT""">*/"_myTime = diag_tickTime;" \n
|
||||||
"" \n
|
|
||||||
"player reveal _playerObject;" \n
|
"player reveal _playerObject;" \n
|
||||||
"" \n
|
|
||||||
"_playerPos = getpos _playerObject;" \n
|
|
||||||
"" \n
|
|
||||||
"""Loading Player Inventory... Please wait!"" call Epoch_updateLoadingScreen;" \n
|
"""Loading Player Inventory... Please wait!"" call Epoch_updateLoadingScreen;" \n
|
||||||
"progressLoadingScreen 0.6;" \n
|
"progressLoadingScreen 0.6;" \n
|
||||||
""/*%FSM</STATEINIT""">*/;
|
""/*%FSM</STATEINIT""">*/;
|
||||||
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
||||||
class Links
|
class Links
|
||||||
{
|
{
|
||||||
/*%FSM<LINK "check_new__player">*/
|
/*%FSM<LINK "check_1_new__pla">*/
|
||||||
class check_new__player
|
class check_1_new__pla
|
||||||
{
|
{
|
||||||
itemno = 61;
|
itemno = 61;
|
||||||
priority = 0.000000;
|
priority = 0.000000;
|
||||||
to="Setup_Player_Obj";
|
to="Check_New_Player_1";
|
||||||
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
||||||
condition=/*%FSM<CONDITION""">*/"" \n
|
condition=/*%FSM<CONDITION""">*/"_state = false;" \n
|
||||||
"_state = false;" \n
|
|
||||||
"_playerCheck = !(isNull _playerObject);" \n
|
"_playerCheck = !(isNull _playerObject);" \n
|
||||||
"_playerCheckSetup = false;" \n
|
"_PlayerPosCheck = false;" \n
|
||||||
"_playerCheckObjectsReady = false;" \n
|
"_playerCheckMass = false;" \n
|
||||||
"_playerCheckFinal = false;" \n
|
|
||||||
"if (_playerCheck) then {" \n
|
"if (_playerCheck) then {" \n
|
||||||
" _playerCheckSetup = _playerObject getVariable [""SETUP"",false];" \n
|
" _PlayerPosCheck = !((_playerObject getVariable [""FinalDest"",[]]) isequalto []);" \n
|
||||||
" if (_playerCheckSetup) then {" \n
|
" if (_PlayerPosCheck) then {" \n
|
||||||
" _playerCheckObjectsReady = _playerPos nearObjectsReady 10;" \n
|
" _playerCheckMass = (_loadabs == (loadabs _playerObject));" \n
|
||||||
" if (_playerCheckObjectsReady) then {" \n
|
" if (_playerCheckMass) then {" \n
|
||||||
" _playerCheckFinal = (_mass isEqualTo (loadAbs _playerObject));" \n
|
|
||||||
" if (_playerCheckFinal) then {" \n
|
|
||||||
" _state = true;" \n
|
" _state = true;" \n
|
||||||
" };" \n
|
" };" \n
|
||||||
" };" \n
|
" };" \n
|
||||||
"};" \n
|
"};" \n
|
||||||
"};" \n
|
|
||||||
"if (_debug) then {" \n
|
"if (_debug) then {" \n
|
||||||
" diag_log format[""DEBUG: Checking Player Object: %1"", [""FAILED"",""OK""] select _playerCheck];" \n
|
" diag_log format[""DEBUG: Checking Player Object: %1"", [""FAILED"",""OK""] select _playerCheck];" \n
|
||||||
" diag_log format[""DEBUG: Checking Player is setup: %1"", [""FAILED"",""OK""] select _playerCheckSetup];" \n
|
" diag_log format[""DEBUG: Checking Player PosVar: %1"", [""FAILED"",""OK""] select _PlayerPosCheck];" \n
|
||||||
" diag_log format[""DEBUG: Checking world preloaded: %1"", [""FAILED"",""OK""] select _playerCheckObjectsReady];" \n
|
" diag_log format[""DEBUG: Final Player mass check: %1 (%2 != %3)"", [""FAILED"",""OK""] select _playerCheckMass, _loadabs, (loadabs _playerObject)];" \n
|
||||||
" diag_log format[""DEBUG: Final Player mass check: %1 (%2 != %3)"", [""FAILED"",""OK""] select _playerCheckFinal, _mass, (loadAbs _playerObject)];" \n
|
|
||||||
" diag_log format[""DEBUG: Pos check: %1 == %2"", getpos _playerObject, getpos player];" \n
|
|
||||||
"};" \n
|
"};" \n
|
||||||
"_state"/*%FSM</CONDITION""">*/;
|
"_state"/*%FSM</CONDITION""">*/;
|
||||||
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
||||||
@ -1098,7 +1098,7 @@ class FSM
|
|||||||
priority = 0.000000;
|
priority = 0.000000;
|
||||||
to="ERROR_Server_not";
|
to="ERROR_Server_not";
|
||||||
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
||||||
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 120"/*%FSM</CONDITION""">*/;
|
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 30"/*%FSM</CONDITION""">*/;
|
||||||
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
||||||
};
|
};
|
||||||
/*%FSM</LINK>*/
|
/*%FSM</LINK>*/
|
||||||
@ -1373,7 +1373,7 @@ class FSM
|
|||||||
priority = 0.000000;
|
priority = 0.000000;
|
||||||
to="ERROR_Server_not_4";
|
to="ERROR_Server_not_4";
|
||||||
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
||||||
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 120"/*%FSM</CONDITION""">*/;
|
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 30"/*%FSM</CONDITION""">*/;
|
||||||
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
||||||
};
|
};
|
||||||
/*%FSM</LINK>*/
|
/*%FSM</LINK>*/
|
||||||
@ -1388,7 +1388,7 @@ class FSM
|
|||||||
action=/*%FSM<ACTION""">*/"_playerObject = _C_SET deleteAt 0;" \n
|
action=/*%FSM<ACTION""">*/"_playerObject = _C_SET deleteAt 0;" \n
|
||||||
"_playerVariables = _C_SET deleteAt 0;" \n
|
"_playerVariables = _C_SET deleteAt 0;" \n
|
||||||
"_currentWeapon = _C_SET deleteAt 0;" \n
|
"_currentWeapon = _C_SET deleteAt 0;" \n
|
||||||
"_mass = _C_SET deleteAt 0;" \n
|
"_loadabs = _C_SET deleteAt 0;" \n
|
||||||
"" \n
|
"" \n
|
||||||
"Epoch_my_GroupUID = _C_SET deleteAt 0;" \n
|
"Epoch_my_GroupUID = _C_SET deleteAt 0;" \n
|
||||||
"Epoch_my_tempGroupUID = """";" \n
|
"Epoch_my_tempGroupUID = """";" \n
|
||||||
@ -1436,6 +1436,103 @@ class FSM
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
/*%FSM</STATE>*/
|
/*%FSM</STATE>*/
|
||||||
|
/*%FSM<STATE "Check_New_Player_1">*/
|
||||||
|
class Check_New_Player_1
|
||||||
|
{
|
||||||
|
name = "Check_New_Player_1";
|
||||||
|
itemno = 85;
|
||||||
|
init = /*%FSM<STATEINIT""">*/"_myTime = diag_tickTime;" \n
|
||||||
|
"_playerPos = (_playerObject getvariable [""FinalDest"",[[0,0,0],0]]) select 0;" \n
|
||||||
|
"[player,_playerobject] remoteexec [""EPOCH_server_SetFinalPlayerPos"",2];" \n
|
||||||
|
"""Setting final Player Position... Please wait!"" call Epoch_updateLoadingScreen;" \n
|
||||||
|
"progressLoadingScreen 0.7;" \n
|
||||||
|
""/*%FSM</STATEINIT""">*/;
|
||||||
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
||||||
|
class Links
|
||||||
|
{
|
||||||
|
/*%FSM<LINK "Timeout_No_Respo">*/
|
||||||
|
class Timeout_No_Respo
|
||||||
|
{
|
||||||
|
itemno = 87;
|
||||||
|
priority = 0.000000;
|
||||||
|
to="ERROR_Server_not_5";
|
||||||
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
||||||
|
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 30"/*%FSM</CONDITION""">*/;
|
||||||
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
||||||
|
};
|
||||||
|
/*%FSM</LINK>*/
|
||||||
|
/*%FSM<LINK "check_2_new__pla">*/
|
||||||
|
class check_2_new__pla
|
||||||
|
{
|
||||||
|
itemno = 86;
|
||||||
|
priority = 0.000000;
|
||||||
|
to="Setup_Player_Obj";
|
||||||
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
||||||
|
condition=/*%FSM<CONDITION""">*/"_state = false;" \n
|
||||||
|
"_playerCheck = !(isNull _playerObject);" \n
|
||||||
|
"_playerCheckSetup = false;" \n
|
||||||
|
"_playerCheckObjectsReady = false;" \n
|
||||||
|
"_playerPosCheck = false;" \n
|
||||||
|
"_HiddenCheck = false;" \n
|
||||||
|
"if (_playerCheck) then {" \n
|
||||||
|
" _playerCheckSetup = _playerObject getVariable [""SETUP"",false];" \n
|
||||||
|
" if (_playerCheckSetup) then {" \n
|
||||||
|
" _playerCheckObjectsReady = _playerPos nearObjectsReady 10;" \n
|
||||||
|
" if (_playerCheckObjectsReady) then {" \n
|
||||||
|
" _playerPosCheck = (getposatl _playerObject distance _playerPos < 100);" \n
|
||||||
|
" if (_playerPosCheck) then {" \n
|
||||||
|
" _HiddenCheck = !(isObjectHidden _playerObject);" \n
|
||||||
|
" if (_HiddenCheck) then {" \n
|
||||||
|
" _state = true;" \n
|
||||||
|
" };" \n
|
||||||
|
" };" \n
|
||||||
|
" };" \n
|
||||||
|
" };" \n
|
||||||
|
"};" \n
|
||||||
|
"if (_debug) then {" \n
|
||||||
|
" diag_log format[""DEBUG: Checking Player Object: %1"", [""FAILED"",""OK""] select _playerCheck];" \n
|
||||||
|
" diag_log format[""DEBUG: Checking Player is setup: %1"", [""FAILED"",""OK""] select _playerCheckSetup];" \n
|
||||||
|
" diag_log format[""DEBUG: Checking world preloaded: %1"", [""FAILED"",""OK""] select _playerCheckObjectsReady];" \n
|
||||||
|
" diag_log format[""DEBUG: Pos check: _playerObj: %1 - Player: %2 - dist: %3"", getposatl _playerObject, _playerPos, getposatl _playerObject distance _playerPos];" \n
|
||||||
|
" diag_log format[""DEBUG: Checking is Object is visible: %1"", [""FAILED"",""OK""] select _HiddenCheck];" \n
|
||||||
|
"};" \n
|
||||||
|
"_state"/*%FSM</CONDITION""">*/;
|
||||||
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
||||||
|
};
|
||||||
|
/*%FSM</LINK>*/
|
||||||
|
};
|
||||||
|
};
|
||||||
|
/*%FSM</STATE>*/
|
||||||
|
/*%FSM<STATE "ERROR_Server_not_5">*/
|
||||||
|
class ERROR_Server_not_5
|
||||||
|
{
|
||||||
|
name = "ERROR_Server_not_5";
|
||||||
|
itemno = 88;
|
||||||
|
init = /*%FSM<STATEINIT""">*/"_msg = ""Authentication Failed, Disconnect and try again"";" \n
|
||||||
|
"_msg call Epoch_updateLoadingScreen;" \n
|
||||||
|
"diag_log _msg;" \n
|
||||||
|
"" \n
|
||||||
|
"_rejectPlayer = {" \n
|
||||||
|
" PLAYER_REJECT_NoResponse2 = true;" \n
|
||||||
|
" publicVariableServer ""PLAYER_REJECT_NoResponse2"";" \n
|
||||||
|
"};"/*%FSM</STATEINIT""">*/;
|
||||||
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
||||||
|
class Links
|
||||||
|
{
|
||||||
|
/*%FSM<LINK "true">*/
|
||||||
|
class true
|
||||||
|
{
|
||||||
|
itemno = 32;
|
||||||
|
priority = 0.000000;
|
||||||
|
to="Display_Message";
|
||||||
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
||||||
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
||||||
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
||||||
|
};
|
||||||
|
/*%FSM</LINK>*/
|
||||||
|
};
|
||||||
|
};
|
||||||
|
/*%FSM</STATE>*/
|
||||||
};
|
};
|
||||||
initState="INIT";
|
initState="INIT";
|
||||||
finalStates[] =
|
finalStates[] =
|
||||||
|
130
Sources/epoch_code/compile/EPOCH_CamUse.sqf
Normal file
130
Sources/epoch_code/compile/EPOCH_CamUse.sqf
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
/*
|
||||||
|
Author: He-Man
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
|
||||||
|
Description: BaseCam Script
|
||||||
|
|
||||||
|
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/EPOCH_CamUse.sqf
|
||||||
|
*/
|
||||||
|
|
||||||
|
private ["_mycams","_buildingJammerRange","_curcam"];
|
||||||
|
|
||||||
|
_mycams = EPOCH_BaseCams select {(_x getVariable["BUILD_OWNER", "-1"]) in [getPlayerUID player, Epoch_my_GroupUID]};
|
||||||
|
if (["CfgEpochClient", "BaseCamOnlyHome",true] call EPOCH_fnc_returnConfigEntryV2) then {
|
||||||
|
_buildingJammerRange = ["CfgEpochClient", "buildingJammerRange",75] call EPOCH_fnc_returnConfigEntryV2;
|
||||||
|
_mycams = _mycams select {!(((nearestobjects [_x,["Plotpole_EPOCH"],_buildingJammerRange]) select {(_x getVariable["BUILD_OWNER", "-1"]) in [getPlayerUID player, Epoch_my_GroupUID]}) isequalto [])};
|
||||||
|
};
|
||||||
|
if !(_mycams isequalto []) then {
|
||||||
|
_curcam = _mycams find Epoch_ActiveCam;
|
||||||
|
if (_curcam > -1 && (count _mycams) > (_curcam + 1)) then {
|
||||||
|
Epoch_ActiveCam = _mycams select (_curcam + 1);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Epoch_ActiveCam = _mycams select 0;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Epoch_ActiveCam = objnull;
|
||||||
|
};
|
||||||
|
|
||||||
|
if !(isnull (finddisplay -1200)) exitwith {};
|
||||||
|
if (isnull Epoch_ActiveCam) exitwith {
|
||||||
|
["No Camera found",5] call Epoch_Message;
|
||||||
|
};
|
||||||
|
|
||||||
|
_mycams spawn {
|
||||||
|
private ["_mycams","_display","_AutoCam","_ActiveCam","_campos","_CamFov","_CamDir","_CamDist","_EpochCam","_targetheight","_targetpos","_dirs","_intensity","_sharpness","_h","_oldalpha","_newalpha"];
|
||||||
|
_mycams = _this;
|
||||||
|
createdialog 'Epoch_CamDialog';
|
||||||
|
waituntil {!isnull finddisplay -1200};
|
||||||
|
_display = finddisplay -1200;
|
||||||
|
(_display displayctrl 1000) ctrlsettext format ["Cam %1",(_mycams find Epoch_ActiveCam) + 1];
|
||||||
|
(_display displayctrl 1001) ctrlsetstructuredtext parseText format [
|
||||||
|
"<t align='center' color='#FFFF00' size='1'>Controls:</t><br/><br/>Cam Up: %1<br/>Cam Down: %2<br/>Cam Left: %3<br/>Cam Right: %4<br/>Zoom In: %5<br/>Zoom Out: %6<br/><br/>AutoCam: %7<br/>NextCam: %8",
|
||||||
|
keyName Epoch_KB_BaseCamUp,keyName Epoch_KB_BaseCamDown,keyName Epoch_KB_BaseCamLeft,keyName Epoch_KB_BaseCamRight,keyName Epoch_KB_BaseCamZoomIn,keyName Epoch_KB_BaseCamZoomOut,keyName Epoch_KB_BaseCamAutoCam,keyName Epoch_KB_BaseCamNextCam
|
||||||
|
];
|
||||||
|
Epoch_AutoCam = true;
|
||||||
|
_AutoCam = Epoch_AutoCam;
|
||||||
|
Epoch_CamAdjust = [0,0,0];
|
||||||
|
_ActiveCam = Epoch_ActiveCam;
|
||||||
|
_campos = Epoch_ActiveCam getRelPos [0.2,180];
|
||||||
|
_campos set [2,(getposatl Epoch_ActiveCam select 2)];
|
||||||
|
if (isnil "Epoch_CamFilmGrain") then {
|
||||||
|
Epoch_CamFilmGrain = ppEffectCreate ["FilmGrain", 2000 + 25];
|
||||||
|
};
|
||||||
|
Epoch_CamFilmGrain ppEffectEnable true;
|
||||||
|
_intensity = ((player distance Epoch_ActiveCam) / 10000) min 1;
|
||||||
|
_sharpness = 1.25 - _intensity;
|
||||||
|
Epoch_CamFilmGrain ppEffectAdjust [_intensity,_sharpness,2.01,0.75,1.0,true];
|
||||||
|
Epoch_CamFilmGrain ppEffectCommit 0;
|
||||||
|
_CamFov = 0.7;
|
||||||
|
_CamDir = 0;
|
||||||
|
_CamDist = 250;
|
||||||
|
_EpochCam = 'camera' camCreate _campos;
|
||||||
|
showCinemaBorder true;
|
||||||
|
_EpochCam cameraEffect ['internal', 'front'];
|
||||||
|
_EpochCam camCommit 0;
|
||||||
|
_targetheight = ((getposasl Epoch_ActiveCam) select 2)-50;
|
||||||
|
_targetpos = Epoch_ActiveCam getRelPos [_CamDist, 180+_CamDir];
|
||||||
|
_targetpos set [2,_targetheight];
|
||||||
|
if !(surfaceiswater _targetpos) then {
|
||||||
|
_targetpos = ASLtoATL _targetpos;
|
||||||
|
};
|
||||||
|
_EpochCam camSetTarget _targetpos;
|
||||||
|
_EpochCam camCommit 0;
|
||||||
|
_dirs = [5,10,15,20,25,30,35,40,45,40,35,30,25,20,15,10,5,0,-5,-10,-15,-20,-25,-30,-35,-40,-45,-40,-35,-30,-25,-20,-15,-10,-5,0];
|
||||||
|
while {!isnull _display} do {
|
||||||
|
Epoch_CamAdjust params ["_dir","_height","_zoom"];
|
||||||
|
_AutoCam = Epoch_AutoCam;
|
||||||
|
if !(_ActiveCam isequalto Epoch_ActiveCam) then {
|
||||||
|
_ActiveCam = Epoch_ActiveCam;
|
||||||
|
camDestroy _EpochCam;
|
||||||
|
_campos = Epoch_ActiveCam getRelPos [0.2,180];
|
||||||
|
_campos set [2,(getposatl Epoch_ActiveCam select 2)];
|
||||||
|
_CamFov = 0.7;
|
||||||
|
_CamDir = 0;
|
||||||
|
_EpochCam = 'camera' camCreate _campos;
|
||||||
|
showCinemaBorder true;
|
||||||
|
_EpochCam cameraEffect ['internal', 'front'];
|
||||||
|
_EpochCam camCommit 0;
|
||||||
|
_targetheight = ((getposasl Epoch_ActiveCam) select 2)-50;
|
||||||
|
_intensity = ((player distance Epoch_ActiveCam) / 10000) min 1;
|
||||||
|
_sharpness = 1.25 - _intensity;
|
||||||
|
Epoch_CamFilmGrain ppEffectAdjust [_intensity,_sharpness,2.01,0.75,1.0,true];
|
||||||
|
Epoch_CamFilmGrain ppEffectCommit 0;
|
||||||
|
(_display displayctrl 1000) ctrlsettext format ["Cam %1",(_mycams find Epoch_ActiveCam) + 1];
|
||||||
|
};
|
||||||
|
if !(Epoch_AutoCam) then {
|
||||||
|
_targetheight = ((_targetheight + _height) min 50) max -150;
|
||||||
|
_CamDir = ((_CamDir + _dir) max -45) min 45;
|
||||||
|
_CamFov = ((_CamFov + _zoom) min 1.25) max 0.35;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
_targetheight = ((getposasl Epoch_ActiveCam) select 2)-50;
|
||||||
|
_CamFov = 0.7;
|
||||||
|
_CamDir = _dirs deleteat 0;
|
||||||
|
_dirs pushback _CamDir;
|
||||||
|
};
|
||||||
|
_targetpos = Epoch_ActiveCam getRelPos [_CamDist, 180+_CamDir];
|
||||||
|
_targetpos set [2,_targetheight];
|
||||||
|
if !(surfaceiswater _targetpos) then {
|
||||||
|
_targetpos = ASLtoATL _targetpos;
|
||||||
|
};
|
||||||
|
_EpochCam camSetTarget _targetpos;
|
||||||
|
_EpochCam camSetFov _CamFov;
|
||||||
|
_EpochCam camCommit 0.75;
|
||||||
|
Epoch_CamAdjust = [0,0,0];
|
||||||
|
waitUntil {camCommitted _EpochCam || isnull _display || isnull Epoch_ActiveCam || !(_ActiveCam isequalto Epoch_ActiveCam)};
|
||||||
|
if (isnull Epoch_ActiveCam) exitwith {};
|
||||||
|
};
|
||||||
|
player cameraEffect ['Terminate', 'FRONT'];
|
||||||
|
camDestroy _EpochCam;
|
||||||
|
_display closedisplay 0;
|
||||||
|
Epoch_ActiveCam = objnull;
|
||||||
|
Epoch_CamFilmGrain ppEffectEnable false;
|
||||||
|
};
|
57
Sources/epoch_code/compile/EPOCH_DefibrillatorUse.sqf
Normal file
57
Sources/epoch_code/compile/EPOCH_DefibrillatorUse.sqf
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
/*
|
||||||
|
Author: He-Man - EpochMod.com
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
|
||||||
|
Description:
|
||||||
|
Epoch use Defibrillator function
|
||||||
|
|
||||||
|
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/EPOCH_DefibrillatorUse.sqf
|
||||||
|
*/
|
||||||
|
|
||||||
|
private ["_item","_energyneeded","_totalDefis","_CurDefiArr"];
|
||||||
|
|
||||||
|
params ["_unit"];
|
||||||
|
|
||||||
|
if (isplayer _unit) then {
|
||||||
|
_item = 'ItemDefibrillator';
|
||||||
|
if (_item in magazines player) then {
|
||||||
|
_energyneeded = 3;
|
||||||
|
_totalDefis = (magazinesammo player) select {(_x select 0) isequalto _item};
|
||||||
|
_CurDefiArr = [];
|
||||||
|
{
|
||||||
|
if ((_x select 1) >= _energyneeded) exitwith {
|
||||||
|
_CurDefiArr = _totalDefis deleteat _foreachindex;
|
||||||
|
};
|
||||||
|
} foreach _totalDefis;
|
||||||
|
if (_CurDefiArr isequalto []) exitwith {
|
||||||
|
["Defibrillator needs more Energy",5] call Epoch_Message;
|
||||||
|
};
|
||||||
|
if ((_CurDefiArr select 1) - _energyneeded > 0) then {
|
||||||
|
_CurDefiArr set [1,(_CurDefiArr select 1) - _energyneeded];
|
||||||
|
_totalDefis pushback _CurDefiArr;
|
||||||
|
};
|
||||||
|
player removemagazines _item;
|
||||||
|
{
|
||||||
|
_x call EPOCH_fnc_addMagazineOverflow;
|
||||||
|
} foreach _totalDefis;
|
||||||
|
_unit spawn {
|
||||||
|
player playMove 'AinvPknlMstpSnonWrflDnon_medic0';
|
||||||
|
player playMove 'AinvPknlMstpSnonWrflDnon_medicEnd';
|
||||||
|
uisleep 8;
|
||||||
|
if (alive player && isplayer _this) then {
|
||||||
|
[_this,player,Epoch_personalToken] remoteExec ['EPOCH_server_revivePlayer',2];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
['You need a Defibrillator to Revive',5] call Epoch_Message;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
['This Player can not be revived',5] call Epoch_Message;
|
||||||
|
};
|
@ -12,10 +12,14 @@
|
|||||||
Github:
|
Github:
|
||||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_PutHandler.sqf
|
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_PutHandler.sqf
|
||||||
*/
|
*/
|
||||||
private _class = param [2];
|
params ["_unit", "_container", "_class"];
|
||||||
//Radio Check
|
//Radio Check
|
||||||
if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _class)) == "ItemRadio") then {
|
if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _class)) == "ItemRadio") then {
|
||||||
if !(_class in(assignedItems player)) then {
|
if !(_class in(assignedItems player)) then {
|
||||||
EPOCH_equippedItem_PVS = [_class,false,player];
|
EPOCH_equippedItem_PVS = [_class,false,player];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (_class in ["EnergyPack","EnergyPackLg"] && (typeof _container) in ["SolarCharger_EPOCH","SolarChargerXL_EPOCH"]) then {
|
||||||
|
["Charging ...",5,[[0,1,0,0.2],[1,1,1,1]]] call Epoch_Message;
|
||||||
|
};
|
||||||
|
@ -49,6 +49,10 @@ if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _item)) == "ItemRadio"
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (_item in ["EnergyPack","EnergyPackLg"] && (typeof _container) in ["SolarCharger_EPOCH","SolarChargerXL_EPOCH"]) then {
|
||||||
|
["Stop Charging ...",5,[[1,0,0,0.2],[1,1,1,1]]] call Epoch_Message;
|
||||||
|
};
|
||||||
|
|
||||||
// Unisex vest check
|
// Unisex vest check
|
||||||
_woman = getNumber(configFile >> "CfgVehicles" >> (typeOf player) >> "woman");
|
_woman = getNumber(configFile >> "CfgVehicles" >> (typeOf player) >> "woman");
|
||||||
_config = configfile >> "cfgweapons" >> _item;
|
_config = configfile >> "cfgweapons" >> _item;
|
||||||
|
@ -42,13 +42,32 @@ if (_inputCount >= 3) then {
|
|||||||
_removeItem = {([player,_this] call BIS_fnc_invRemove) == 1};
|
_removeItem = {([player,_this] call BIS_fnc_invRemove) == 1};
|
||||||
|
|
||||||
_unifiedInteract = {
|
_unifiedInteract = {
|
||||||
private _removed = _item call _removeItem;
|
private ["_removed","_multi","_maxMagRnd","_totalMags","_remove"];
|
||||||
|
_removed = false;
|
||||||
|
_multi = 1;
|
||||||
|
_maxMagRnd = getnumber (configfile >> "cfgMagazines" >> _item >> "count");
|
||||||
|
if (_maxMagRnd > 1) then {
|
||||||
|
_totalMags = (magazinesammo player) select {(_x select 0) isequalto _item};
|
||||||
|
if !(_totalMags isequalto []) then {
|
||||||
|
_remove = _totalMags deleteat 0;
|
||||||
|
_removed = true;
|
||||||
|
_remove params ["_class","_rounds"];
|
||||||
|
_multi = _rounds / _maxMagRnd;
|
||||||
|
player removemagazines _item;
|
||||||
|
{
|
||||||
|
_x call EPOCH_fnc_addMagazineOverflow;
|
||||||
|
} foreach _totalMags;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
_removed = _item call _removeItem;
|
||||||
|
};
|
||||||
if (_removed) then {
|
if (_removed) then {
|
||||||
if (_interactReturnOnUse != "") then {
|
if (_interactReturnOnUse != "") then {
|
||||||
_interactReturnOnUse call EPOCH_fnc_addItemOverflow;
|
_interactReturnOnUse call EPOCH_fnc_addItemOverflow;
|
||||||
};
|
};
|
||||||
{
|
{
|
||||||
_output = _x call EPOCH_giveAttributes;
|
_output = [_x select 0, round ((_x select 1) * _multi)] call EPOCH_giveAttributes;
|
||||||
if (_output != "") then {
|
if (_output != "") then {
|
||||||
[_output, 5] call Epoch_message_stack;
|
[_output, 5] call Epoch_message_stack;
|
||||||
};
|
};
|
||||||
@ -412,6 +431,47 @@ switch _interactOption do {
|
|||||||
[format["%1 is not needed at this time",_item call EPOCH_itemDisplayName], 5] call Epoch_message;
|
[format["%1 is not needed at this time",_item call EPOCH_itemDisplayName], 5] call Epoch_message;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
case 17: { // Defibrillator
|
||||||
|
_maxMagRnd = getnumber (configfile >> "cfgMagazines" >> _item >> "count");
|
||||||
|
_totalDefis = (magazinesammo player) select {(_x select 0) isequalto _item};
|
||||||
|
_totalMags = (magazinesammo player) select {(_x select 0) in ["EnergyPackLg","EnergyPack"]};
|
||||||
|
if (_totalDefis isequalto []) exitwith {};
|
||||||
|
if !(_totalMags isequalto []) then {
|
||||||
|
_CurDefiArr = [];
|
||||||
|
{
|
||||||
|
if ((_x select 1) < _maxMagRnd) exitwith {
|
||||||
|
_CurDefiArr = _totalDefis deleteat _foreachindex;
|
||||||
|
};
|
||||||
|
} foreach _totalDefis;
|
||||||
|
if (_CurDefiArr isequalto []) exitwith {
|
||||||
|
["Defibrillator is already fully charged",5] call Epoch_Message;
|
||||||
|
};
|
||||||
|
_remove = _totalMags deleteat 0;
|
||||||
|
_remove params ["_class","_rounds"];
|
||||||
|
_charge = _rounds min (_maxMagRnd - (_CurDefiArr select 1));
|
||||||
|
if (_rounds - _charge > 0) then {
|
||||||
|
_remove set [1,_rounds - _charge];
|
||||||
|
_totalMags pushback _remove;
|
||||||
|
};
|
||||||
|
if (_charge > 0) then {
|
||||||
|
_CurDefiArr set [1,(_CurDefiArr select 1) + _charge];
|
||||||
|
_totalDefis pushback _CurDefiArr;
|
||||||
|
player removemagazines _item;
|
||||||
|
player removemagazines "EnergyPackLg";
|
||||||
|
player removemagazines "EnergyPack";
|
||||||
|
{
|
||||||
|
_x call EPOCH_fnc_addMagazineOverflow;
|
||||||
|
} foreach _totalMags;
|
||||||
|
{
|
||||||
|
_x call EPOCH_fnc_addMagazineOverflow;
|
||||||
|
} foreach _totalDefis;
|
||||||
|
[format ["Recharged Defibrillator with %1 Energy",_charge],5] call Epoch_Message;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
["You need an Energy Pack",5] call Epoch_Message;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
default {
|
default {
|
||||||
["Found nothing", 5] call Epoch_message;
|
["Found nothing", 5] call Epoch_message;
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
BOOL
|
BOOL
|
||||||
*/
|
*/
|
||||||
//[[[cog import generate_private_arrays ]]]
|
//[[[cog import generate_private_arrays ]]]
|
||||||
private ["_alljammer","_buildingAllowed","_buildingCountLeader","_buildingCountLimit","_buildingCountPerMember","_buildingJammerRange","_bypassJammer","_c","_cfgBaseBuilding","_config","_ghostClass","_isAllowed","_jammer","_jammerGLOnly","_jammerPerGroup","_limitNearby","_maxBuildingHeight","_membercount","_minJammerDistance","_myPosATL","_nearestJammer","_obj","_objType","_objectscount","_ownedJammerExists","_range","_restricted","_restrictedArray","_restrictedLocations","_restrictedLocationsArray","_restrictedLocationsRange","_simulClass","_staticClass","_storageCountLeader","_storageCountLimit","_storageCountPerMember","_useGroupCountLimits","_useSplitCountLimits"];
|
private ["_CamCountLimit","_alljammer","_buildingAllowed","_buildingCountLeader","_buildingCountLimit","_buildingCountPerMember","_buildingJammerRange","_bypassJammer","_c","_cfgBaseBuilding","_config","_ghostClass","_isAllowed","_jammer","_jammerGLOnly","_jammerPerGroup","_limitNearby","_maxBuildingHeight","_membercount","_minJammerDistance","_myPosATL","_nearestJammer","_obj","_objType","_objectscount","_ownedJammerExists","_range","_restricted","_restrictedArray","_restrictedLocations","_restrictedLocationsArray","_restrictedLocationsRange","_simulClass","_staticClass","_storageCountLeader","_storageCountLimit","_storageCountPerMember","_useGroupCountLimits","_useSplitCountLimits"];
|
||||||
//[[[end]]]
|
//[[[end]]]
|
||||||
|
|
||||||
_buildingAllowed = true;
|
_buildingAllowed = true;
|
||||||
@ -49,6 +49,7 @@ _storageCountPerMember = getNumber(_config >> "storageCountPerMember");
|
|||||||
_minJammerDistance = getNumber(_config >> "minJammerDistance");
|
_minJammerDistance = getNumber(_config >> "minJammerDistance");
|
||||||
_maxBuildingHeight = getNumber(_config >> "maxBuildingHeight");
|
_maxBuildingHeight = getNumber(_config >> "maxBuildingHeight");
|
||||||
_jammerPerGroup = getNumber(_config >> "jammerPerGroup");
|
_jammerPerGroup = getNumber(_config >> "jammerPerGroup");
|
||||||
|
_CamCountLimit = getNumber(_config >> "maxCams");
|
||||||
if(getNumber(_config >> "useGroupCountLimits") == 0)then{_useGroupCountLimits=false};
|
if(getNumber(_config >> "useGroupCountLimits") == 0)then{_useGroupCountLimits=false};
|
||||||
if(getNumber(_config >> "splitCountLimits") == 1)then{_useSplitCountLimits=true};
|
if(getNumber(_config >> "splitCountLimits") == 1)then{_useSplitCountLimits=true};
|
||||||
if(getNumber(_config >> "jammerGLOnly") == 0)then{_jammerGLOnly=false};
|
if(getNumber(_config >> "jammerGLOnly") == 0)then{_jammerGLOnly=false};
|
||||||
@ -59,6 +60,7 @@ if(_storageCountLeader == 0)then{_storageCountLeader = 100};
|
|||||||
if(_minJammerDistance == 0)then{_minJammerDistance = _buildingJammerRange*3};
|
if(_minJammerDistance == 0)then{_minJammerDistance = _buildingJammerRange*3};
|
||||||
if(_maxBuildingHeight == 0)then{_maxBuildingHeight = 100};
|
if(_maxBuildingHeight == 0)then{_maxBuildingHeight = 100};
|
||||||
if(_jammerPerGroup == 0)then{_jammerPerGroup = 2};
|
if(_jammerPerGroup == 0)then{_jammerPerGroup = 2};
|
||||||
|
if(_CamCountLimit == 0)then{_CamCountLimit = 2};
|
||||||
|
|
||||||
// input
|
// input
|
||||||
params ["_objType"];
|
params ["_objType"];
|
||||||
@ -133,6 +135,12 @@ if !(_jammer isEqualTo []) then {
|
|||||||
_buildingAllowed = false;
|
_buildingAllowed = false;
|
||||||
["Building Disallowed: Max building height reached",5] call Epoch_message;
|
["Building Disallowed: Max building height reached",5] call Epoch_message;
|
||||||
};
|
};
|
||||||
|
if (_objType isequalto "BaseCam_EPOCH" && _buildingAllowed) then {
|
||||||
|
if ((count (nearestObjects[_nearestJammer,["BaseCam_EPOCH","BaseCam_SIM_EPOCH","BaseCam_Ghost_EPOCH"],_buildingJammerRange]-[_obj])) >= _CamCountLimit) then {
|
||||||
|
_buildingAllowed = false;
|
||||||
|
[format["Building Disallowed: Max %1 Cams per Base!", _CamCountLimit], 5] call Epoch_message;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -101,7 +101,7 @@ if (_object isKindOf "Constructions_static_F") then {
|
|||||||
|
|
||||||
_canUpgrade = true;
|
_canUpgrade = true;
|
||||||
_canUpgradePartCount = 0;
|
_canUpgradePartCount = 0;
|
||||||
_missingParts = "";
|
_missingParts = "Missing: ";
|
||||||
{
|
{
|
||||||
_part = _x select 0;
|
_part = _x select 0;
|
||||||
_req = _x select 1;
|
_req = _x select 1;
|
||||||
@ -111,27 +111,27 @@ if (_object isKindOf "Constructions_static_F") then {
|
|||||||
_missingCount = _req - _partCheck;
|
_missingCount = _req - _partCheck;
|
||||||
|
|
||||||
_canUpgrade = false;
|
_canUpgrade = false;
|
||||||
_missingParts = _missingParts + format["Missing %1 %2, ", _missingCount, (_part call EPOCH_itemDisplayName)];
|
_missingParts = _missingParts + format["%1 %2, ", _missingCount, (_part call EPOCH_itemDisplayName)];
|
||||||
};
|
};
|
||||||
_canUpgradePartCount = _canUpgradePartCount + _req;
|
_canUpgradePartCount = _canUpgradePartCount + _req;
|
||||||
} forEach _upgradeParts;
|
} forEach _upgradeParts;
|
||||||
|
|
||||||
_doors = ["WoodLargeWallDoorL_EPOCH","WoodWall4_EPOCH","CinderWallDoorwHatch_EPOCH"];
|
_doors = ["WoodLargeWallDoorL_EPOCH","WoodWall4_EPOCH","CinderWallDoorwHatch_EPOCH","WoodStairs3_EPOCH"];
|
||||||
_gates = ["CinderWallGarage_EPOCH"];
|
_gates = ["CinderWallGarage_EPOCH","WoodWallGarage_EPOCH","MetalWallGarage_EPOCH"];
|
||||||
if (_canUpgrade) then {
|
if (_canUpgrade) then {
|
||||||
_upgradeto = _upgrade select 0;
|
_upgradeto = _upgrade select 0;
|
||||||
if (_upgradeto in _doors) then {
|
if (_upgradeto in _doors) then {
|
||||||
_countdoors = count (nearestobjects [_nearestJammer,_doors,_buildingJammerRange]);
|
_countdoors = count (nearestobjects [_nearestJammer,_doors,_buildingJammerRange]);
|
||||||
if (_countdoors >= _maxdoors) then {
|
if (_countdoors >= _maxdoors) then {
|
||||||
_canUpgrade = false;
|
_canUpgrade = false;
|
||||||
_missingParts = _missingParts + format["Can not upgrade to locked Door! Max %1 allowed per Base!", _maxdoors];
|
_missingParts = format["Can not upgrade to locked Door / Stairs! Max %1 allowed per Base!", _maxdoors];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
if (_upgradeto in _gates) then {
|
if (_upgradeto in _gates) then {
|
||||||
_countgates = count (nearestobjects [_nearestJammer,_gates,_buildingJammerRange]);
|
_countgates = count (nearestobjects [_nearestJammer,_gates,_buildingJammerRange]);
|
||||||
if (_countgates >= _maxgates) then {
|
if (_countgates >= _maxgates) then {
|
||||||
_canUpgrade = false;
|
_canUpgrade = false;
|
||||||
_missingParts = _missingParts + format["Can not upgrade to Gate! Max %1 allowed per Base!", _maxgates];
|
_missingParts = format["Can not upgrade to Gate! Max %1 allowed per Base!", _maxgates];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/functions/EPOCH_fn_returnConfigEntryV2.sqf
|
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/functions/EPOCH_fn_returnConfigEntryV2.sqf
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
_sapperRndChance = ["CfgEpochClient", "sapperRngChance", 100] call EPOCH_fnc_returnConfigEntryV2;
|
_config = ["CfgEpochClient", "sapperRngChance", 100] call EPOCH_fnc_returnConfigEntryV2;
|
||||||
|
|
||||||
Parameter(s):
|
Parameter(s):
|
||||||
_this select 0: STRING - Config Class
|
_this select 0: STRING - Config Class
|
||||||
@ -24,7 +24,7 @@
|
|||||||
MIXED
|
MIXED
|
||||||
*/
|
*/
|
||||||
//[[[cog import generate_private_arrays ]]]
|
//[[[cog import generate_private_arrays ]]]
|
||||||
private ["_config","_finalconfig","_missionconfig","_sapperRndChance","_varData"];
|
private ["_config","_finalconfig","_missionconfig","_varData"];
|
||||||
//[[[end]]]
|
//[[[end]]]
|
||||||
params ["_configClass","_variableName","_defaultData"];
|
params ["_configClass","_variableName","_defaultData"];
|
||||||
_varData = _defaultData;
|
_varData = _defaultData;
|
||||||
|
@ -37,7 +37,7 @@ switch true do {
|
|||||||
if (!isNull cursorTarget) then {
|
if (!isNull cursorTarget) then {
|
||||||
_cursorTarget = cursorTarget;
|
_cursorTarget = cursorTarget;
|
||||||
_repaired = false;
|
_repaired = false;
|
||||||
if ((player distance _cursorTarget) <= 6) then {
|
if ((player distance _cursorTarget) <= (((SizeOf (TypeOf _cursorTarget))/2) max 6) min 12) then {
|
||||||
_attachments = handgunItems player;
|
_attachments = handgunItems player;
|
||||||
_heal = false;
|
_heal = false;
|
||||||
if (_cursorTarget isKindOf "Man") then {
|
if (_cursorTarget isKindOf "Man") then {
|
||||||
@ -97,12 +97,14 @@ switch true do {
|
|||||||
};
|
};
|
||||||
case (_ammo isKindOf "B_Swing" || _ammo isKindOf "B_Stick") : {
|
case (_ammo isKindOf "B_Swing" || _ammo isKindOf "B_Stick") : {
|
||||||
player playActionNow "SledgeSwing";
|
player playActionNow "SledgeSwing";
|
||||||
if (_weapon in ["MeleeSword","Power_Sword"]) then {
|
|
||||||
call EPOCH_mineRocks;
|
|
||||||
call EPOCH_chopWood;
|
|
||||||
};
|
|
||||||
if (_weapon isEqualTo "MeleeRod") then {
|
if (_weapon isEqualTo "MeleeRod") then {
|
||||||
call EPOCH_fish;
|
call EPOCH_fish;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
call EPOCH_mineRocks;
|
||||||
|
if (_weapon in ["MeleeSword","Power_Sword"]) then {
|
||||||
|
call EPOCH_chopWood;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
case (_ammo isKindOf "ChainSaw_Bullet"): {
|
case (_ammo isKindOf "ChainSaw_Bullet"): {
|
||||||
|
@ -161,10 +161,10 @@ if (vehicle player == player) then {
|
|||||||
};
|
};
|
||||||
if (Epoch_target iskindof 'Const_Ghost_EPOCH') then {
|
if (Epoch_target iskindof 'Const_Ghost_EPOCH') then {
|
||||||
switch (_dikCode) do {
|
switch (_dikCode) do {
|
||||||
case eXpoch_keysVectorTiltL: {_adj = 1;if(_shift)then{_adj = 2.5};if(_alt)then{_adj = 0.5};EPOCH_buildDirectionRoll = (EPOCH_buildDirectionRoll - _adj) max -180; EPOCH_doRotate = true; _handled = true };
|
case eXpoch_keysVectorTiltL: {_adj = 1;if(_shift)then{_adj = 2.5};if(_alt)then{_adj = 0.5};EPOCH_buildDirectionRoll = (EPOCH_buildDirectionRoll - _adj) max -EPOCH_MaxBuildingTilt; EPOCH_doRotate = true; _handled = true };
|
||||||
case eXpoch_keysVectorTiltR: {_adj = 1;if(_shift)then{_adj = 2.5};if(_alt)then{_adj = 0.5};EPOCH_buildDirectionRoll = (EPOCH_buildDirectionRoll + _adj) min 180; EPOCH_doRotate = true; _handled = true };
|
case eXpoch_keysVectorTiltR: {_adj = 1;if(_shift)then{_adj = 2.5};if(_alt)then{_adj = 0.5};EPOCH_buildDirectionRoll = (EPOCH_buildDirectionRoll + _adj) min EPOCH_MaxBuildingTilt; EPOCH_doRotate = true; _handled = true };
|
||||||
case eXpoch_keysVectorTiltAwy: {_adj = 1;if(_shift)then{_adj = 2.5};if(_alt)then{_adj = 0.5};EPOCH_buildDirectionPitch = (EPOCH_buildDirectionPitch - _adj) max -180; EPOCH_doRotate = true; _handled = true };
|
case eXpoch_keysVectorTiltAwy: {_adj = 1;if(_shift)then{_adj = 2.5};if(_alt)then{_adj = 0.5};EPOCH_buildDirectionPitch = (EPOCH_buildDirectionPitch - _adj) max -EPOCH_MaxBuildingTilt; EPOCH_doRotate = true; _handled = true };
|
||||||
case eXpoch_keysVectorTiltTwd: {_adj = 1;if(_shift)then{_adj = 2.5};if(_alt)then{_adj = 0.5};EPOCH_buildDirectionPitch = (EPOCH_buildDirectionPitch + _adj) min 180; EPOCH_doRotate = true; _handled = true };
|
case eXpoch_keysVectorTiltTwd: {_adj = 1;if(_shift)then{_adj = 2.5};if(_alt)then{_adj = 0.5};EPOCH_buildDirectionPitch = (EPOCH_buildDirectionPitch + _adj) min EPOCH_MaxBuildingTilt; EPOCH_doRotate = true; _handled = true };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -270,8 +270,10 @@ if (_dikCode in (actionKeys "NightVision")) then {
|
|||||||
};
|
};
|
||||||
|
|
||||||
if(!_ctrl && (_dikCode in (actionKeys "HeliRopeAction")))then{
|
if(!_ctrl && (_dikCode in (actionKeys "HeliRopeAction")))then{
|
||||||
|
if (player == vehicle player) exitwith {};
|
||||||
_msg = "";
|
_msg = "";
|
||||||
if(EPOCH_ArmaSlingLoad)then{
|
if(EPOCH_ArmaSlingLoad)then{
|
||||||
|
if (["CfgEpochClient", "ActionHookRope", true] call EPOCH_fnc_returnConfigEntryV2) then {
|
||||||
if(driver vehicle player isEqualTo player)then{
|
if(driver vehicle player isEqualTo player)then{
|
||||||
_slung = ropeAttachedObjects vehicle player;
|
_slung = ropeAttachedObjects vehicle player;
|
||||||
if(_slung isEqualTo [])then{
|
if(_slung isEqualTo [])then{
|
||||||
@ -285,6 +287,7 @@ if(!_ctrl && (_dikCode in (actionKeys "HeliRopeAction")))then{
|
|||||||
player addItem 'ItemRope';
|
player addItem 'ItemRope';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}else{
|
}else{
|
||||||
_msg = "Hook/Unhook Malfunction, overrode by R3F or AdvSlingLoad";
|
_msg = "Hook/Unhook Malfunction, overrode by R3F or AdvSlingLoad";
|
||||||
_handled = true;
|
_handled = true;
|
||||||
@ -294,4 +297,47 @@ if(!_ctrl && (_dikCode in (actionKeys "HeliRopeAction")))then{
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (!isnull (finddisplay -1200) && !isnull Epoch_ActiveCam) then {
|
||||||
|
_multi = 1;
|
||||||
|
if (isnil 'Epoch_CamTrigger') then {
|
||||||
|
Epoch_CamTrigger = diag_ticktime - 0.2;
|
||||||
|
};
|
||||||
|
if (diag_ticktime - Epoch_CamTrigger < 0.1) then {
|
||||||
|
_multi = 3;
|
||||||
|
};
|
||||||
|
Epoch_CamTrigger = diag_ticktime;
|
||||||
|
switch _dikCode do {
|
||||||
|
case Epoch_KB_BaseCamNextCam: { /* Num Enter */
|
||||||
|
call Epoch_CamUse;
|
||||||
|
};
|
||||||
|
case Epoch_KB_BaseCamLeft: { /* Num 4 */
|
||||||
|
Epoch_AutoCam = false;
|
||||||
|
Epoch_CamAdjust = [-3*_multi,0,0];
|
||||||
|
};
|
||||||
|
case Epoch_KB_BaseCamRight: { /* Num 6 */
|
||||||
|
Epoch_AutoCam = false;
|
||||||
|
Epoch_CamAdjust = [3*_multi,0,0];
|
||||||
|
};
|
||||||
|
case Epoch_KB_BaseCamUp: { /* Num 8 */
|
||||||
|
Epoch_AutoCam = false;
|
||||||
|
Epoch_CamAdjust = [0,8*_multi,0];
|
||||||
|
};
|
||||||
|
case Epoch_KB_BaseCamDown: { /* Num 2 */
|
||||||
|
Epoch_AutoCam = false;
|
||||||
|
Epoch_CamAdjust = [0,-8*_multi,0];
|
||||||
|
};
|
||||||
|
case Epoch_KB_BaseCamZoomOut: { /* Num - */
|
||||||
|
Epoch_AutoCam = false;
|
||||||
|
Epoch_CamAdjust = [0,0,0.1*_multi];
|
||||||
|
};
|
||||||
|
case Epoch_KB_BaseCamZoomIn: { /* Num + */
|
||||||
|
Epoch_AutoCam = false;
|
||||||
|
Epoch_CamAdjust = [0,0,-0.1*_multi];
|
||||||
|
};
|
||||||
|
case Epoch_KB_BaseCamAutoCam: { /* Num 0 */
|
||||||
|
Epoch_AutoCam = true;
|
||||||
|
Epoch_CamAdjust = [0,0,0];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
_handled
|
_handled
|
||||||
|
@ -26,17 +26,21 @@ params [
|
|||||||
_blocked = false;
|
_blocked = false;
|
||||||
_msg = '';
|
_msg = '';
|
||||||
_type = typeOf _actionObj;
|
_type = typeOf _actionObj;
|
||||||
switch(true)do{
|
_config = 'CfgEpochClient' call EPOCH_returnConfig;
|
||||||
case (_actionName isEqualTo 'FireInflame'): {
|
switch(_actionName)do{
|
||||||
|
case 'FireInflame': {
|
||||||
|
if (["CfgEpochClient", "ActionFireOnLighter", true] call EPOCH_fnc_returnConfigEntryV2) then {
|
||||||
if!('lighter_epoch' in magazines player) then {
|
if!('lighter_epoch' in magazines player) then {
|
||||||
_msg = 'You need a lighter';
|
_msg = 'You need a lighter';
|
||||||
_blocked = true;
|
_blocked = true;
|
||||||
}else{
|
}else{
|
||||||
[player,'lighter_epoch',-1] call EPOCH_usedItemRepack;
|
[player,'lighter_epoch',-5] call EPOCH_usedItemRepack;
|
||||||
//[_actionObj] remoteExec ['EPOCH_server_addToFireSystem',2];
|
//[_actionObj] remoteExec ['EPOCH_server_addToFireSystem',2];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
case (_actionName isEqualTo 'FirePutDown'): {
|
};
|
||||||
|
case 'FirePutDown': {
|
||||||
|
if (["CfgEpochClient", "ActionBurnBarrelOffExtinguisher", true] call EPOCH_fnc_returnConfigEntryV2) then {
|
||||||
if(_type isEqualTo 'BurnBarrel_EPOCH')then{
|
if(_type isEqualTo 'BurnBarrel_EPOCH')then{
|
||||||
if!('ItemFireExtinguisher' in magazines player) then {
|
if!('ItemFireExtinguisher' in magazines player) then {
|
||||||
_msg = 'You need an extinguisher';
|
_msg = 'You need an extinguisher';
|
||||||
@ -46,8 +50,10 @@ switch(true)do{
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
case (_actionName isEqualTo 'HookCargo'): {
|
};
|
||||||
|
case 'HookCargo': {
|
||||||
if(EPOCH_ArmaSlingLoad)then{
|
if(EPOCH_ArmaSlingLoad)then{
|
||||||
|
if (["CfgEpochClient", "ActionHookRope", true] call EPOCH_fnc_returnConfigEntryV2) then {
|
||||||
if(driver vehicle player isEqualTo player)then{
|
if(driver vehicle player isEqualTo player)then{
|
||||||
_slung = ropeAttachedObjects vehicle player;
|
_slung = ropeAttachedObjects vehicle player;
|
||||||
if(_slung isEqualTo [])then{
|
if(_slung isEqualTo [])then{
|
||||||
@ -61,14 +67,17 @@ switch(true)do{
|
|||||||
player addItem 'ItemRope';
|
player addItem 'ItemRope';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}else{
|
}else{
|
||||||
_msg = 'Hook Malfunction, overrode by R3F or AdvSlingLoad';
|
_msg = 'Hook Malfunction, overrode by R3F or AdvSlingLoad';
|
||||||
_blocked = true;
|
_blocked = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
case (_actionName isEqualTo 'UnhookCargo'): {
|
case 'UnhookCargo': {
|
||||||
if(EPOCH_ArmaSlingLoad)then{
|
if(EPOCH_ArmaSlingLoad)then{
|
||||||
|
if (["CfgEpochClient", "ActionHookRope", true] call EPOCH_fnc_returnConfigEntryV2) then {
|
||||||
player addItem 'ItemRope';
|
player addItem 'ItemRope';
|
||||||
|
};
|
||||||
}else{
|
}else{
|
||||||
_msg = 'Unhook Malfunction, overrode by R3F or AdvSlingLoad';
|
_msg = 'Unhook Malfunction, overrode by R3F or AdvSlingLoad';
|
||||||
_blocked = true;
|
_blocked = true;
|
||||||
|
@ -44,6 +44,9 @@ EPOCH_arr_snapObjects = [];
|
|||||||
EPOCH_prevTarget = objNull;
|
EPOCH_prevTarget = objNull;
|
||||||
EPOCH_interactOption = 0;
|
EPOCH_interactOption = 0;
|
||||||
EPOCH_playerStaminaMax = 100;
|
EPOCH_playerStaminaMax = 100;
|
||||||
|
Epoch_ActiveCam = objnull;
|
||||||
|
Epoch_AutoCam = true;
|
||||||
|
Epoch_CamAdjust = [0,0,0];
|
||||||
|
|
||||||
{
|
{
|
||||||
missionNamespace setVariable [format ["EPOCH_player%1",_x],EPOCH_defaultVars select _forEachIndex];
|
missionNamespace setVariable [format ["EPOCH_player%1",_x],EPOCH_defaultVars select _forEachIndex];
|
||||||
|
@ -57,7 +57,16 @@ _keyMap =
|
|||||||
["Build: Vector RIGHT", "eXpoch_keysVectorTiltR", 0xCD],
|
["Build: Vector RIGHT", "eXpoch_keysVectorTiltR", 0xCD],
|
||||||
["Build: Vector AWAY", "eXpoch_keysVectorTiltAwy", 0xC8],
|
["Build: Vector AWAY", "eXpoch_keysVectorTiltAwy", 0xC8],
|
||||||
["Build: Vector TOWARD", "eXpoch_keysVectorTiltTwd", 0xD0],
|
["Build: Vector TOWARD", "eXpoch_keysVectorTiltTwd", 0xD0],
|
||||||
["Build: Reset Object", "eXpoch_keysVectorResetObject", 0x4C]
|
["Build: Reset Object", "eXpoch_keysVectorResetObject", 0x4C],
|
||||||
|
|
||||||
|
["BaseCam: NextCam","Epoch_KB_BaseCamNextCam",0x9C],
|
||||||
|
["BaseCam: Left","Epoch_KB_BaseCamLeft",0x4B],
|
||||||
|
["BaseCam: Right","Epoch_KB_BaseCamRight",0x4D],
|
||||||
|
["BaseCam: Up","Epoch_KB_BaseCamUp",0x48],
|
||||||
|
["BaseCam: Down","Epoch_KB_BaseCamDown",0x50],
|
||||||
|
["BaseCam: Zoom -","Epoch_KB_BaseCamZoomOut",74],
|
||||||
|
["BaseCam: Zoom +","Epoch_KB_BaseCamZoomIn",78],
|
||||||
|
["BaseCam: AutoCam","Epoch_KB_BaseCamAutoCam",0x52]
|
||||||
];
|
];
|
||||||
|
|
||||||
_keyMap call EPOCH_custom_KeyMap;
|
_keyMap call EPOCH_custom_KeyMap;
|
||||||
|
@ -9,3 +9,17 @@ if (EPOCH_IsAutoRunning) then {
|
|||||||
player switchMove "";
|
player switchMove "";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (animationstate player in ['aadjpknlmstpsraswpstddown','aadjpknlmstpsraswrflddown'] && cameraview == 'GUNNER' && (player weapondirection (currentweapon player)) select 2 < -0.88) then {
|
||||||
|
_fadedblack = true;
|
||||||
|
TitleText ['Stop BugUsing!','BLACK FADED'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(_fadedblack) then {
|
||||||
|
[] spawn {
|
||||||
|
uisleep 2;
|
||||||
|
TitleText ['','PLAIN DOWN'];
|
||||||
|
};
|
||||||
|
_fadedblack = false;
|
||||||
|
};
|
||||||
|
};
|
@ -21,7 +21,7 @@ _energyValue = _chargeRate min _energyRegenMax;
|
|||||||
_vehicle = vehicle player;
|
_vehicle = vehicle player;
|
||||||
if (_vehicle != player && isEngineOn _vehicle) then {
|
if (_vehicle != player && isEngineOn _vehicle) then {
|
||||||
if !(_vehicle iskindof "Bicycle") then {
|
if !(_vehicle iskindof "Bicycle") then {
|
||||||
_energyValue = _energyValue + 5;
|
_energyValue = _energyValue + _energyRegenInVeh;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
if (currentVisionMode player == 1) then { //NV enabled
|
if (currentVisionMode player == 1) then { //NV enabled
|
||||||
@ -36,8 +36,8 @@ if (currentVisionMode player == 1) then { //NV enabled
|
|||||||
// Sets visual effect
|
// Sets visual effect
|
||||||
_playerAlcohol = missionNamespace getVariable [_playerAlcoholKey, _playerAlcoholDefault];
|
_playerAlcohol = missionNamespace getVariable [_playerAlcoholKey, _playerAlcoholDefault];
|
||||||
if (_playerAlcohol > 20) then {
|
if (_playerAlcohol > 20) then {
|
||||||
_drunkVal = linearConversion [0,100,_playerAlcohol,0.1,1,true];
|
_drunkVal = linearConversion [0,100,_playerAlcohol,0,10,true];
|
||||||
[_drunkVal, 2] call epoch_setDrunk;
|
[(ceil _drunkVal)/10, 2] call epoch_setDrunk;
|
||||||
} else {
|
} else {
|
||||||
[0, 2] call epoch_setDrunk;
|
[0, 2] call epoch_setDrunk;
|
||||||
};
|
};
|
||||||
|
@ -2,7 +2,7 @@ _position = getPosATL player;
|
|||||||
|
|
||||||
_nearestLocations = nearestLocations[player, _radioactiveLocations, 300];
|
_nearestLocations = nearestLocations[player, _radioactiveLocations, 300];
|
||||||
EPOCH_nearestLocations = _nearestLocations;
|
EPOCH_nearestLocations = _nearestLocations;
|
||||||
_powerSources = nearestObjects[player, ["Land_spp_Tower_F","Land_wpp_Turbine_V2_F","Land_wpp_Turbine_V1_F","SolarGen_EPOCH","Land_Wreck_Satellite_EPOCH"], _energyRange];
|
_powerSources = nearestObjects[player, _energyPowerSources, _energyRange];
|
||||||
|
|
||||||
// TODO: add more sources and config based check instead of global var
|
// TODO: add more sources and config based check instead of global var
|
||||||
// _nearestLocations removed as they don't support getVariable
|
// _nearestLocations removed as they don't support getVariable
|
||||||
@ -115,19 +115,20 @@ if !(_powerSources isEqualTo[]) then {
|
|||||||
if (_powerCap == 0) then {
|
if (_powerCap == 0) then {
|
||||||
_powerCap = 100;
|
_powerCap = 100;
|
||||||
};
|
};
|
||||||
if (_powerType == 1) then {
|
_powerCap = switch _powerType do {
|
||||||
if (sunOrMoon < 1) then {
|
case 1: {if (sunOrMoon == 1) then {_powerCap * (1-overcast)} else {(_powerCap * (1 - overcast))/2}};
|
||||||
_powerCap = _powerCap/2;
|
case 2: {_powerCap * windstr};
|
||||||
};
|
case 3: {_powerCap * (1 - ((player distance _x) / _energyRange))};
|
||||||
|
default {_powerCap};
|
||||||
};
|
};
|
||||||
_totalCapacity = _totalCapacity + _powerCap;
|
_totalCapacity = _totalCapacity + _powerCap;
|
||||||
} forEach _powerSources;
|
} forEach _powerSources;
|
||||||
if (_totalCapacity > 0) then {
|
if (_totalCapacity > 0) then {
|
||||||
_players = player nearEntities[["Epoch_Male_F", "Epoch_Female_F"], _energyRange];
|
_players = player nearEntities[["Epoch_Male_F", "Epoch_Female_F"], _energyRange];
|
||||||
if (_players isEqualTo []) then {
|
if (_players isEqualTo []) then {
|
||||||
_chargeRate = ceil _totalCapacity;
|
_chargeRate = round _totalCapacity;
|
||||||
} else {
|
} else {
|
||||||
_chargeRate = ceil (_totalCapacity / (count _players));
|
_chargeRate = round (_totalCapacity / (count _players));
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -13,6 +13,9 @@ EPOCH_forceUpdateNow = false;
|
|||||||
// start alive timer
|
// start alive timer
|
||||||
_clientAliveTimer = diag_tickTime;
|
_clientAliveTimer = diag_tickTime;
|
||||||
|
|
||||||
|
// Fade Black Screen
|
||||||
|
_fadedblack = false;
|
||||||
|
|
||||||
// init player stat vars
|
// init player stat vars
|
||||||
_gmVarsInit = ["CfgEpochClient", "gmVars", [["Temp",98.6],["Hunger",500],["Thirst",500],["Toxicity",0],["Stamina",10],["BloodP",100],["Alcohol",0],["Radiation",0]]] call EPOCH_fnc_returnConfigEntryV2;
|
_gmVarsInit = ["CfgEpochClient", "gmVars", [["Temp",98.6],["Hunger",500],["Thirst",500],["Toxicity",0],["Stamina",10],["BloodP",100],["Alcohol",0],["Radiation",0]]] call EPOCH_fnc_returnConfigEntryV2;
|
||||||
_gModeVarNames = _gmVarsInit apply {_x param [0,""]};
|
_gModeVarNames = _gmVarsInit apply {_x param [0,""]};
|
||||||
@ -122,6 +125,8 @@ _baseThirstLoss = ["CfgEpochClient", "baseThirstLoss", 2] call EPOCH_fnc_returnC
|
|||||||
_baseAlcoholLoss = ["CfgEpochClient", "baseAlcoholLoss", 0.17] call EPOCH_fnc_returnConfigEntryV2;
|
_baseAlcoholLoss = ["CfgEpochClient", "baseAlcoholLoss", 0.17] call EPOCH_fnc_returnConfigEntryV2;
|
||||||
_lossMultiplier = if (["CfgEpochClient", "accelerateHTALoss", true] call EPOCH_fnc_returnConfigEntryV2) then {timeMultiplier} else {1};
|
_lossMultiplier = if (["CfgEpochClient", "accelerateHTALoss", true] call EPOCH_fnc_returnConfigEntryV2) then {timeMultiplier} else {1};
|
||||||
_energyCostNV = ["CfgEpochClient", "energyCostNV", 3] call EPOCH_fnc_returnConfigEntryV2;
|
_energyCostNV = ["CfgEpochClient", "energyCostNV", 3] call EPOCH_fnc_returnConfigEntryV2;
|
||||||
|
_energyPowerSources = ["CfgEpochClient", "energyPowerSources", ["Land_spp_Tower_F","Land_wpp_Turbine_V2_F","Land_wpp_Turbine_V1_F","SolarGen_EPOCH","Land_Wreck_Satellite_EPOCH"]] call EPOCH_fnc_returnConfigEntryV2;
|
||||||
|
_energyRegenInVeh = ["CfgEpochClient", "energyChargeInVeh", 5] call EPOCH_fnc_returnConfigEntryV2;
|
||||||
_energyRegenMax = ["CfgEpochClient", "energyRegenMax", 5] call EPOCH_fnc_returnConfigEntryV2;
|
_energyRegenMax = ["CfgEpochClient", "energyRegenMax", 5] call EPOCH_fnc_returnConfigEntryV2;
|
||||||
_energyRange = ["CfgEpochClient", "energyRange", 75] call EPOCH_fnc_returnConfigEntryV2;
|
_energyRange = ["CfgEpochClient", "energyRange", 75] call EPOCH_fnc_returnConfigEntryV2;
|
||||||
_hudConfigs = ["CfgEpochClient", "hudConfigs", []] call EPOCH_fnc_returnConfigEntryV2;
|
_hudConfigs = ["CfgEpochClient", "hudConfigs", []] call EPOCH_fnc_returnConfigEntryV2;
|
||||||
|
@ -51,10 +51,16 @@ if !(isNull EPOCH_lastNPCtradeTarget) then {
|
|||||||
{
|
{
|
||||||
_item = _x;
|
_item = _x;
|
||||||
_rounds = 1;
|
_rounds = 1;
|
||||||
|
_onHand = false;
|
||||||
if (_item isequaltype []) then {
|
if (_item isequaltype []) then {
|
||||||
_item = _x select 0;
|
_item = _x select 0;
|
||||||
|
if ((_x select 1) isequalto "Hand") then {
|
||||||
|
_onHand = true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
_rounds = _x select 1;
|
_rounds = _x select 1;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
if !(_item isequalto "") then {
|
if !(_item isequalto "") then {
|
||||||
_maxrnd = 1;
|
_maxrnd = 1;
|
||||||
_tooltip = "";
|
_tooltip = "";
|
||||||
@ -66,7 +72,7 @@ if !(isNull EPOCH_lastNPCtradeTarget) then {
|
|||||||
_tooltip = format ["%1 rounds left in Magazine",_rounds];
|
_tooltip = format ["%1 rounds left in Magazine",_rounds];
|
||||||
};
|
};
|
||||||
if (_index == 0 || (tolower _item) in _FilterArray) then {
|
if (_index == 0 || (tolower _item) in _FilterArray) then {
|
||||||
_id = lbAdd [_PlayerItemsBox, _item call EPOCH_itemDisplayName];
|
_id = lbAdd [_PlayerItemsBox, (_item call EPOCH_itemDisplayName) + (if (_onHand) then {" (in Hand)"} else {""})];
|
||||||
lbSetData [_PlayerItemsBox, _id, _item];
|
lbSetData [_PlayerItemsBox, _id, _item];
|
||||||
lbSetValue [_PlayerItemsBox, _id, _rounds];
|
lbSetValue [_PlayerItemsBox, _id, _rounds];
|
||||||
lbSetPicture [_PlayerItemsBox, _id, _item call EPOCH_itemPicture];
|
lbSetPicture [_PlayerItemsBox, _id, _item call EPOCH_itemPicture];
|
||||||
@ -74,6 +80,9 @@ if !(isNull EPOCH_lastNPCtradeTarget) then {
|
|||||||
lbSetTooltip [_PlayerItemsBox, _id, _tooltip];
|
lbSetTooltip [_PlayerItemsBox, _id, _tooltip];
|
||||||
lbSetColor [_PlayerItemsBox,_id,[1,(_rounds/_maxrnd),0,1]];
|
lbSetColor [_PlayerItemsBox,_id,[1,(_rounds/_maxrnd),0,1]];
|
||||||
};
|
};
|
||||||
|
if (_onHand) then {
|
||||||
|
lbSetColor [_PlayerItemsBox,_id,[1,1,1,0.5]];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
} forEach EPOCH_NpcTradePlayerItems;
|
} forEach EPOCH_NpcTradePlayerItems;
|
||||||
|
@ -13,8 +13,8 @@
|
|||||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/traders/EPOCH_npcTraderAdd.sqf
|
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/traders/EPOCH_npcTraderAdd.sqf
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private [ "_PlayerFilerDropDown","_PlayerItemsBox","_PlayerItemsOutBox","_TraderItemsOutBox","_CryptoInCtrl","_CryptoOutCtrl","_allowAdd","_uiItem","_rounds","_itemIcon","_itemColor","_errormsg","_stockLimit","_config",
|
private [ "_PlayerFilerDropDown","_PlayerItemsBox","_PlayerItemsOutBox","_TraderItemsOutBox","_CryptoInCtrl","_CryptoOutCtrl","_allowAdd","_uiItem","_rounds","_itemIcon","_itemColor","_errormsg","_config",
|
||||||
"_itemClasses","_itemQtys","_qtyIndex","_limit","_sizeOut","_item","_vehicle","_itemName","_index","_maxrnd","_ItemIndex","_cryptoCount","_worth","_itemTax","_tax"
|
"_sizeOut","_item","_vehicle","_itemName","_index","_maxrnd","_ItemIndex","_cryptoCount","_worth","_itemTax","_tax"
|
||||||
];
|
];
|
||||||
params ["_control","_selected"];
|
params ["_control","_selected"];
|
||||||
_selected params ["_CurControl","_id"];
|
_selected params ["_CurControl","_id"];
|
||||||
@ -33,36 +33,10 @@ if !(isNull EPOCH_lastNPCtradeTarget) then {
|
|||||||
_itemIcon = _CurControl lbPicture _id;
|
_itemIcon = _CurControl lbPicture _id;
|
||||||
_itemColor = _CurControl lbColor _id;
|
_itemColor = _CurControl lbColor _id;
|
||||||
_errormsg = "";
|
_errormsg = "";
|
||||||
_stockLimit = false;
|
|
||||||
|
|
||||||
_config = 'CfgPricing' call EPOCH_returnConfig;
|
_config = 'CfgPricing' call EPOCH_returnConfig;
|
||||||
if (isClass (_config >> _uiItem)) then {
|
if (isClass (_config >> _uiItem)) then {
|
||||||
if (_control == _PlayerItemsOutBox) then {
|
if (_control == _PlayerItemsOutBox) then {
|
||||||
_itemClasses = EPOCH_NpcTradeTraderItems select 0;
|
|
||||||
_itemQtys = EPOCH_NpcTradeTraderItems select 1;
|
|
||||||
_qtyIndex = _itemClasses find _uiItem;
|
|
||||||
if (_qtyIndex != -1) then {
|
|
||||||
_itemQty = _itemQtys select _qtyIndex;
|
|
||||||
_maxrnd = 1;
|
|
||||||
if ([_uiItem,"cfgMagazines"] call Epoch_fnc_isAny) then {
|
|
||||||
_maxrnd = getnumber (configfile >> "cfgMagazines" >> _uiItem >> "count");
|
|
||||||
};
|
|
||||||
_itemQty = _itemQty / _maxrnd;
|
|
||||||
_sizeIn = lbSize _PlayerItemsOutBox;
|
|
||||||
if (_sizeIn > 0) then {
|
|
||||||
for "_i" from 0 to (_sizeIn - 1) do {
|
|
||||||
_InItem = lbData [_PlayerItemsOutBox, _i];
|
|
||||||
if ((lbData [_PlayerItemsOutBox, _i]) == _uiItem) then {
|
|
||||||
_itemQty = _itemQty + ((lbValue [_PlayerItemsOutBox, _i])/_maxrnd);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
_limit = ["CfgTraderLimits", _uiItem, 100] call EPOCH_fnc_returnConfigEntryV2;
|
|
||||||
if (_itemQty >= _limit) then{
|
|
||||||
_stockLimit = true;
|
|
||||||
_allowAdd = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
if (_uiItem isKindOf "Air" || _uiItem isKindOf "Ship" || _uiItem isKindOf "LandVehicle" || _uiItem isKindOf "Tank") then {
|
if (_uiItem isKindOf "Air" || _uiItem isKindOf "Ship" || _uiItem isKindOf "LandVehicle" || _uiItem isKindOf "Tank") then {
|
||||||
_sizeOut = lbSize _PlayerItemsOutBox;
|
_sizeOut = lbSize _PlayerItemsOutBox;
|
||||||
if (_sizeOut > 0) then {
|
if (_sizeOut > 0) then {
|
||||||
@ -114,7 +88,12 @@ if !(isNull EPOCH_lastNPCtradeTarget) then {
|
|||||||
lbSetPicture [_control, _index, _itemIcon];
|
lbSetPicture [_control, _index, _itemIcon];
|
||||||
lbSetColor [_control,_index,_itemColor];
|
lbSetColor [_control,_index,_itemColor];
|
||||||
if (_control == _PlayerItemsBox && !(_uiItem iskindof "Landvehicle" || _uiItem iskindof "SHIP" || _uiItem iskindof "AIR" || _uiItem iskindof "TANK")) then {
|
if (_control == _PlayerItemsBox && !(_uiItem iskindof "Landvehicle" || _uiItem iskindof "SHIP" || _uiItem iskindof "AIR" || _uiItem iskindof "TANK")) then {
|
||||||
|
if ((_itemName find " (in Hand)") > -1) then {
|
||||||
|
EPOCH_NpcTradePlayerItems pushback [_uiItem,"Hand"];
|
||||||
|
}
|
||||||
|
else {
|
||||||
EPOCH_NpcTradePlayerItems pushback [_uiItem,_rounds];
|
EPOCH_NpcTradePlayerItems pushback [_uiItem,_rounds];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if ([_uiItem,"cfgMagazines"] call Epoch_fnc_isAny) then {
|
if ([_uiItem,"cfgMagazines"] call Epoch_fnc_isAny) then {
|
||||||
@ -124,9 +103,15 @@ if !(isNull EPOCH_lastNPCtradeTarget) then {
|
|||||||
lbSetTooltip [_control,_index,_tooltip];
|
lbSetTooltip [_control,_index,_tooltip];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
_ItemIndex = EPOCH_NpcTradePlayerItems find [_uiItem,_rounds];
|
_ItemIndex = -1;
|
||||||
|
if ((_itemName find " (in Hand)") > -1) then {
|
||||||
|
_ItemIndex = EPOCH_NpcTradePlayerItems find [_uiItem,"Hand"];
|
||||||
|
};
|
||||||
if (_ItemIndex < 0) then {
|
if (_ItemIndex < 0) then {
|
||||||
_ItemIndex = EPOCH_NpcTradePlayerItems find _uiItem;
|
_ItemIndex = EPOCH_NpcTradePlayerItems find _uiItem;
|
||||||
|
if (_ItemIndex < 0) then {
|
||||||
|
_ItemIndex = EPOCH_NpcTradePlayerItems find [_uiItem,_rounds];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
if (_ItemIndex > -1) then {
|
if (_ItemIndex > -1) then {
|
||||||
EPOCH_NpcTradePlayerItems deleteat _ItemIndex;
|
EPOCH_NpcTradePlayerItems deleteat _ItemIndex;
|
||||||
@ -172,15 +157,10 @@ if !(isNull EPOCH_lastNPCtradeTarget) then {
|
|||||||
lbSetCurSel [_PlayerFilerDropDown, 0];
|
lbSetCurSel [_PlayerFilerDropDown, 0];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
if (_stockLimit) then{
|
|
||||||
["Trader has the maximum amount of this item", 5] call Epoch_message;
|
|
||||||
}
|
|
||||||
else {
|
else {
|
||||||
[_errormsg, 5] call Epoch_message;
|
[_errormsg, 5] call Epoch_message;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
closeDialog 0;
|
closeDialog 0;
|
||||||
|
@ -23,7 +23,13 @@ if (alive _target) then {
|
|||||||
EPOCH_lastNPCtradeTarget = _target;
|
EPOCH_lastNPCtradeTarget = _target;
|
||||||
EPOCH_NpcTradePlayerItems = (items player)+(magazinesammo player);
|
EPOCH_NpcTradePlayerItems = (items player)+(magazinesammo player);
|
||||||
if (primaryWeapon player != "") then {
|
if (primaryWeapon player != "") then {
|
||||||
EPOCH_NpcTradePlayerItems pushback primaryWeapon player;
|
EPOCH_NpcTradePlayerItems pushback [primaryWeapon player,"Hand"];
|
||||||
|
};
|
||||||
|
if (secondaryWeapon player != "") then {
|
||||||
|
EPOCH_NpcTradePlayerItems pushback [secondaryWeapon player,"Hand"];
|
||||||
|
};
|
||||||
|
if (handgunWeapon player != "") then {
|
||||||
|
EPOCH_NpcTradePlayerItems pushback [handgunWeapon player,"Hand"];
|
||||||
};
|
};
|
||||||
if (count backpackItems player == 0 && count backpackmagazines player == 0 && backpack player != "") then {
|
if (count backpackItems player == 0 && count backpackmagazines player == 0 && backpack player != "") then {
|
||||||
EPOCH_NpcTradePlayerItems pushback backpack player;
|
EPOCH_NpcTradePlayerItems pushback backpack player;
|
||||||
|
@ -13,12 +13,13 @@
|
|||||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/traders/EPOCH_startNpcTrade.sqf
|
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/traders/EPOCH_startNpcTrade.sqf
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private ["_PlayerItemsOutBox","_TraderItemsOutBox","_config","_current_crypto","_sizeIn","_arrayIn","_item","_rounds","_mags","_itemMags","_index","_sizeOut","_arrayOut","_itemWorth","_itemTax","_tax","_maxrnd"];
|
private ["_EnableTempVehTrade","_PlayerItemsOutBox","_TraderItemsOutBox","_config","_current_crypto","_sizeIn","_arrayIn","_item","_rounds","_mags","_itemMags","_index","_sizeOut","_arrayOut","_itemWorth","_itemTax","_tax","_maxrnd"];
|
||||||
|
|
||||||
if (!isNil "EPOCH_TRADE_STARTED") exitWith{};
|
if (!isNil "EPOCH_TRADE_STARTED") exitWith{};
|
||||||
if (isNull _this) exitWith{};
|
if (isNull _this) exitWith{};
|
||||||
|
|
||||||
if (alive _this) then {
|
if (alive _this) then {
|
||||||
|
_EnableTempVehTrade = ["CfgEpochClient", "EnableTempVehTrade", false] call EPOCH_fnc_returnConfigEntryV2;
|
||||||
_PlayerItemsOutBox = 41501;
|
_PlayerItemsOutBox = 41501;
|
||||||
_TraderItemsOutBox = 41502;
|
_TraderItemsOutBox = 41502;
|
||||||
_config = 'CfgPricing' call EPOCH_returnConfig;
|
_config = 'CfgPricing' call EPOCH_returnConfig;
|
||||||
@ -27,6 +28,11 @@ if (alive _this) then {
|
|||||||
_arrayIn = [];
|
_arrayIn = [];
|
||||||
if (_sizeIn > 0) then {
|
if (_sizeIn > 0) then {
|
||||||
for "_i" from 0 to (_sizeIn - 1) do {
|
for "_i" from 0 to (_sizeIn - 1) do {
|
||||||
|
_onHand = false;
|
||||||
|
_itemName = lbText [_PlayerItemsOutBox, _i];
|
||||||
|
if ((_itemName find " (in hand)") > -1) then {
|
||||||
|
_onHand = true;
|
||||||
|
};
|
||||||
_item = lbData [_PlayerItemsOutBox, _i];
|
_item = lbData [_PlayerItemsOutBox, _i];
|
||||||
_rounds = lbValue [_PlayerItemsOutBox, _i];
|
_rounds = lbValue [_PlayerItemsOutBox, _i];
|
||||||
if (isClass (_config >> _item)) then{
|
if (isClass (_config >> _item)) then{
|
||||||
@ -38,13 +44,36 @@ if (alive _this) then {
|
|||||||
_itemWorth = round (_itemWorth*(_rounds/_maxrnd));
|
_itemWorth = round (_itemWorth*(_rounds/_maxrnd));
|
||||||
_added = false;
|
_added = false;
|
||||||
if ([_item, "CfgWeapons"] call EPOCH_fnc_isAny) then {
|
if ([_item, "CfgWeapons"] call EPOCH_fnc_isAny) then {
|
||||||
if (_item in items player) then {
|
if (_item in items player && !_onHand) then {
|
||||||
player removeItem _item;
|
player removeItem _item;
|
||||||
_arrayIn pushBack [_item,_rounds];
|
_arrayIn pushBack [_item,_rounds];
|
||||||
_added = true;
|
_added = true;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (_item == primaryweapon player) then {
|
if (_item in [primaryweapon player,secondaryweapon player, handgunweapon player]) then {
|
||||||
|
_index = if (_item == primaryweapon player) then {0} else {if (_item == secondaryweapon player) then {1} else {2}};
|
||||||
|
{
|
||||||
|
if (_foreachindex > 0) then {
|
||||||
|
_weaponaddon = _x;
|
||||||
|
_count = 1;
|
||||||
|
if !(_weaponaddon isequalto [] || _weaponaddon isequalto "") then {
|
||||||
|
if (_weaponaddon isequaltype []) then {
|
||||||
|
if (count _weaponaddon > 1) then {
|
||||||
|
_weaponaddon = _x select 0;
|
||||||
|
_count = _x select 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
if ([_weaponaddon, "CfgWeapons"] call EPOCH_fnc_isAny) then {
|
||||||
|
_weaponaddon call EPOCH_fnc_addItemOverflow;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if ([_weaponaddon, "CfgMagazines"] call EPOCH_fnc_isAny) then {
|
||||||
|
[_weaponaddon,_count] call EPOCH_fnc_addMagazineOverflow;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
} foreach ((getunitloadout player) select _index);
|
||||||
player removeweapon _item;
|
player removeweapon _item;
|
||||||
_arrayIn pushBack [_item,_rounds];
|
_arrayIn pushBack [_item,_rounds];
|
||||||
_added = true;
|
_added = true;
|
||||||
@ -65,7 +94,7 @@ if (alive _this) then {
|
|||||||
if (!isNull _vehicle) then {
|
if (!isNull _vehicle) then {
|
||||||
if (local _vehicle) then {
|
if (local _vehicle) then {
|
||||||
_vehSlot = _vehicle getVariable["VEHICLE_SLOT", "ABORT"];
|
_vehSlot = _vehicle getVariable["VEHICLE_SLOT", "ABORT"];
|
||||||
if (_vehSlot != "ABORT") then {
|
if (_vehSlot != "ABORT" || _EnableTempVehTrade) then {
|
||||||
_arrayIn pushBack [_item,_rounds];
|
_arrayIn pushBack [_item,_rounds];
|
||||||
_added = true;
|
_added = true;
|
||||||
};
|
};
|
||||||
|
@ -24,13 +24,14 @@ if (_veh iskindof "ebike_epoch") then {
|
|||||||
_wheels = 2;
|
_wheels = 2;
|
||||||
};
|
};
|
||||||
_wheelcounter = 0;
|
_wheelcounter = 0;
|
||||||
{
|
|
||||||
_HitPointName = _x;
|
|
||||||
_Hit = (getAllHitPointsDamage _veh) select 2 select _foreachindex;
|
|
||||||
{
|
{
|
||||||
_x params ["_searchedhit","_limit1","_limit2"];
|
_x params ["_searchedhit","_limit1","_limit2"];
|
||||||
|
_searchedhit = tolower _searchedhit;
|
||||||
|
{
|
||||||
|
_HitPointName = tolower _x;
|
||||||
|
_Hit = (getAllHitPointsDamage _veh) select 2 select _foreachindex;
|
||||||
if (_searchedhit isequalto _HitPointName) then {
|
if (_searchedhit isequalto _HitPointName) then {
|
||||||
_wheel = ["wheel",tolower _searchedhit] call bis_fnc_instring;
|
_wheel = ["wheel",_searchedhit] call bis_fnc_instring;
|
||||||
if (_wheel) then {
|
if (_wheel) then {
|
||||||
_wheelcounter = _wheelcounter + 1;
|
_wheelcounter = _wheelcounter + 1;
|
||||||
};
|
};
|
||||||
@ -42,7 +43,7 @@ _wheelcounter = 0;
|
|||||||
_repairs pushback _searchedhit;
|
_repairs pushback _searchedhit;
|
||||||
};
|
};
|
||||||
if (!((_veh getvariable ["vehicle_slot","-1"]) isequalto "-1") && _EnableRemoveParts) then {
|
if (!((_veh getvariable ["vehicle_slot","-1"]) isequalto "-1") && _EnableRemoveParts) then {
|
||||||
if (_searchedhit in ["HitLFWheel","HitLF2Wheel","HitLMWheel","HitLBWheel","HitRFWheel","HitRF2Wheel","HitRMWheel","HitRBWheel","HitEngine"]) then {
|
if (_searchedhit in ["hitlfwheel","hitlf2wheel","hitlmwheel","hitlbwheel","hitrfwheel","hitrf2wheel","hitrmwheel","hitrbwheel","hitengine"]) then {
|
||||||
_removes pushback _searchedhit;
|
_removes pushback _searchedhit;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -50,7 +51,7 @@ _wheelcounter = 0;
|
|||||||
else {
|
else {
|
||||||
if (_searchedhit isequalto "glass") then {
|
if (_searchedhit isequalto "glass") then {
|
||||||
if ("glass" in _repairs) exitwith {};
|
if ("glass" in _repairs) exitwith {};
|
||||||
_glass = ["glass",tolower _HitPointName] call bis_fnc_instring;
|
_glass = ["glass",_HitPointName] call bis_fnc_instring;
|
||||||
if (_glass) then {
|
if (_glass) then {
|
||||||
if (_Hit >= _limit1) exitwith {
|
if (_Hit >= _limit1) exitwith {
|
||||||
_repairs pushback _searchedhit;
|
_repairs pushback _searchedhit;
|
||||||
@ -58,12 +59,13 @@ _wheelcounter = 0;
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
} foreach _VehicleRepairs;
|
|
||||||
} foreach ((getAllHitPointsDamage _veh) select 0);
|
} foreach ((getAllHitPointsDamage _veh) select 0);
|
||||||
|
} foreach _VehicleRepairs;
|
||||||
|
|
||||||
_repairarrays = [];
|
_repairarrays = [];
|
||||||
{
|
{
|
||||||
if (!(_x in _repairs || _x in _replaces || (["glass",tolower _x] call Bis_fnc_instring)) || _x isequalto "") then {
|
_HitPointName = tolower _x;
|
||||||
|
if (!(_HitPointName in _repairs || _HitPointName in _replaces || (["glass",_HitPointName] call Bis_fnc_instring)) || _x isequalto "") then {
|
||||||
_repairarrays pushback [_foreachindex, 0];
|
_repairarrays pushback [_foreachindex, 0];
|
||||||
};
|
};
|
||||||
} foreach ((getAllHitPointsDamage _veh) select 0);
|
} foreach ((getAllHitPointsDamage _veh) select 0);
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
*/
|
*/
|
||||||
private ["_secondlocalcheck","_repairarrays","_config","_VehicleRepairs","_reqiredMat","_searchname","_line","_returnmat"];
|
private ["_secondlocalcheck","_repairarrays","_config","_VehicleRepairs","_reqiredMat","_searchname","_line","_returnmat"];
|
||||||
params ["_veh","_do","_hitpointname"];
|
params ["_veh","_do","_hitpointname"];
|
||||||
|
_hitpointname = tolower _hitpointname;
|
||||||
_secondlocalcheck = false;
|
_secondlocalcheck = false;
|
||||||
_returnmat = "";
|
_returnmat = "";
|
||||||
_repairarrays = [];
|
_repairarrays = [];
|
||||||
@ -31,25 +32,28 @@ EPOCH_Vehicle_MaintainLock = true;
|
|||||||
|
|
||||||
switch _do do {
|
switch _do do {
|
||||||
case 'repair': {
|
case 'repair': {
|
||||||
_reqiredMat = "";
|
_reqiredMat = "NONE";
|
||||||
_searchname = _hitpointname;
|
_searchname = _hitpointname;
|
||||||
if (["glass",tolower _hitpointname] call Bis_fnc_instring) then {
|
if (["glass",_hitpointname] call Bis_fnc_instring) then {
|
||||||
_searchname = "glass";
|
_searchname = "glass";
|
||||||
};
|
};
|
||||||
{
|
{
|
||||||
_x params ["_name","","","_repairmat"];
|
_x params ["_name","","","_repairmat"];
|
||||||
|
_name = tolower _name;
|
||||||
if (_searchname isequalto _name) exitwith {
|
if (_searchname isequalto _name) exitwith {
|
||||||
_reqiredMat = _repairmat;
|
_reqiredMat = _repairmat;
|
||||||
};
|
};
|
||||||
} foreach _VehicleRepairs;
|
} foreach _VehicleRepairs;
|
||||||
if (_reqiredMat isequalto "") exitwith {
|
if (_reqiredMat isequalto "NONE") exitwith {
|
||||||
['Error - Can not find required Material',5] call Epoch_message;
|
['Error - Can not find required Material',5] call Epoch_message;
|
||||||
};
|
};
|
||||||
if !(_reqiredMat in (magazines player)) exitwith {
|
if (!(_reqiredMat in (magazines player)) && !(_reqiredMat isequalto "")) exitwith {
|
||||||
_line = format ['You need %1 to repair',_reqiredMat call EPOCH_itemDisplayName];
|
_line = format ['You need %1 to repair',_reqiredMat call EPOCH_itemDisplayName];
|
||||||
[_line,5] call Epoch_message;
|
[_line,5] call Epoch_message;
|
||||||
};
|
};
|
||||||
|
if !(_reqiredMat isequalto "") then {
|
||||||
player removemagazine _reqiredMat;
|
player removemagazine _reqiredMat;
|
||||||
|
};
|
||||||
if (_hitpointname isequalto "glass") then {
|
if (_hitpointname isequalto "glass") then {
|
||||||
{
|
{
|
||||||
if (["glass",tolower _x] call Bis_fnc_instring) then {
|
if (["glass",tolower _x] call Bis_fnc_instring) then {
|
||||||
@ -62,25 +66,28 @@ switch _do do {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
case 'replace': {
|
case 'replace': {
|
||||||
_reqiredMat = "";
|
_reqiredMat = "NONE";
|
||||||
_searchname = _hitpointname;
|
_searchname = _hitpointname;
|
||||||
if (["glass",tolower _hitpointname] call Bis_fnc_instring) then {
|
if (["glass", _hitpointname] call Bis_fnc_instring) then {
|
||||||
_searchname = "glass";
|
_searchname = "glass";
|
||||||
};
|
};
|
||||||
{
|
{
|
||||||
_x params ["_name","","","","_replacemat"];
|
_x params ["_name","","","","_replacemat"];
|
||||||
|
_name = tolower _name;
|
||||||
if (_searchname isequalto _name) exitwith {
|
if (_searchname isequalto _name) exitwith {
|
||||||
_reqiredMat = _replacemat;
|
_reqiredMat = _replacemat;
|
||||||
};
|
};
|
||||||
} foreach _VehicleRepairs;
|
} foreach _VehicleRepairs;
|
||||||
if (_reqiredMat isequalto "") exitwith {
|
if (_reqiredMat isequalto "NONE") exitwith {
|
||||||
['Error - Can not find required Material',5] call Epoch_message;
|
['Error - Can not find required Material',5] call Epoch_message;
|
||||||
};
|
};
|
||||||
if !(_reqiredMat in (magazines player)) exitwith {
|
if (!(_reqiredMat in (magazines player)) && !(_reqiredMat isequalto "")) exitwith {
|
||||||
_line = format ['You need %1 to repair',_reqiredMat call EPOCH_itemDisplayName];
|
_line = format ['You need %1 to repair',_reqiredMat call EPOCH_itemDisplayName];
|
||||||
[_line,5] call Epoch_message;
|
[_line,5] call Epoch_message;
|
||||||
};
|
};
|
||||||
|
if !(_reqiredMat isequalto "") then {
|
||||||
player removemagazine _reqiredMat;
|
player removemagazine _reqiredMat;
|
||||||
|
};
|
||||||
if (_hitpointname isequalto "glass") then {
|
if (_hitpointname isequalto "glass") then {
|
||||||
{
|
{
|
||||||
if (["glass",tolower _x] call Bis_fnc_instring) then {
|
if (["glass",tolower _x] call Bis_fnc_instring) then {
|
||||||
@ -100,6 +107,7 @@ switch _do do {
|
|||||||
_searchname = _hitpointname;
|
_searchname = _hitpointname;
|
||||||
{
|
{
|
||||||
_x params ["_name","","","","_replacemat"];
|
_x params ["_name","","","","_replacemat"];
|
||||||
|
_name = tolower _name;
|
||||||
if (_searchname isequalto _name) exitwith {
|
if (_searchname isequalto _name) exitwith {
|
||||||
_returnmat = _replacemat;
|
_returnmat = _replacemat;
|
||||||
};
|
};
|
||||||
|
@ -68,13 +68,14 @@ _respawnButton ctrlEnable false;
|
|||||||
[_display] spawn {
|
[_display] spawn {
|
||||||
disableSerialization;
|
disableSerialization;
|
||||||
params ["_display"];
|
params ["_display"];
|
||||||
_startTime = diag_tickTime+5;
|
_startTime = diag_tickTime+4;
|
||||||
waitUntil {
|
waitUntil {
|
||||||
uiSleep 0.2;
|
uiSleep 0.2;
|
||||||
(isNull _display) || ((_startTime - diag_tickTime) <= 0)
|
(isNull _display) || ((_startTime - diag_tickTime) <= 0)
|
||||||
};
|
};
|
||||||
if (!isNull _display) then {
|
if (!isNull _display) then {
|
||||||
player setUnitLoadout (getUnitLoadout player);
|
player setUnitLoadout (getUnitLoadout player);
|
||||||
|
uisleep 1; // give one second to broadcast clothing change
|
||||||
missionnamespace setvariable ["EPOCH_forceUpdateNow",true];
|
missionnamespace setvariable ["EPOCH_forceUpdateNow",true];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -20,7 +20,7 @@ private ["_arr","_ctrl","_ctrlCurrent","_ctrlDefault","_ctrlEdit","_data","_defa
|
|||||||
//[[[end]]]
|
//[[[end]]]
|
||||||
params ["_ctrl"];
|
params ["_ctrl"];
|
||||||
|
|
||||||
_display = if (typeName _ctrl isEqualTo "CONTROL") then {ctrlParent _ctrl} else {displayNull};
|
_display = if (_ctrl isEqualType controlNull) then {ctrlParent _ctrl} else {displayNull};
|
||||||
_input = if (_ctrl isEqualType "STRING") then {_ctrl} else {str _ctrl};
|
_input = if (_ctrl isEqualType "STRING") then {_ctrl} else {str _ctrl};
|
||||||
|
|
||||||
switch (_input) do {
|
switch (_input) do {
|
||||||
|
@ -28,7 +28,7 @@ if !(false call EPOCH_crafting_checkResources) exitWith {};
|
|||||||
//craft button
|
//craft button
|
||||||
[] spawn {
|
[] spawn {
|
||||||
|
|
||||||
private ["_craftReturn","_needBench","_craftCount","_fnc_UILock","_itemCraftTime","_selection","_craftItem","_item","_itemName","_itemCraftTime","_itemRecipeItems","_itemType","_nearbyReq","_hasNearby","_canCraft","_wH","_nearByHolder","_wHPos"];
|
private ["_GiveBackRounds","_TotalroundsIn","_TotalMaxRoundsIn","_roundsCheck","_maxMagrnd","_maxMagRndTmp","_roundsCheckTmp","_magsammosearched","_craftReturn","_needBench","_craftCount","_fnc_UILock","_itemCraftTime","_selection","_craftItem","_item","_itemName","_itemCraftTime","_itemRecipeItems","_itemType","_nearbyReq","_hasNearby","_canCraft","_wH","_nearByHolder","_wHPos"];
|
||||||
disableSerialization;
|
disableSerialization;
|
||||||
|
|
||||||
_fnc_UILock = {
|
_fnc_UILock = {
|
||||||
@ -54,6 +54,8 @@ if !(false call EPOCH_crafting_checkResources) exitWith {};
|
|||||||
_craftCount = _craftItem param [15,1];
|
_craftCount = _craftItem param [15,1];
|
||||||
_craftReturn = _craftItem param [16,[]];
|
_craftReturn = _craftItem param [16,[]];
|
||||||
|
|
||||||
|
_BulletCalculateOnCraft = ["CfgEpochClient", "BulletCalculateOnCraft", false] call EPOCH_fnc_returnConfigEntryV2;
|
||||||
|
|
||||||
for "_c" from 1 to rmx_var_craftQTYOut do {
|
for "_c" from 1 to rmx_var_craftQTYOut do {
|
||||||
false call _fnc_UILock;
|
false call _fnc_UILock;
|
||||||
_hasNearby = false call EPOCH_crafting_checkResources;
|
_hasNearby = false call EPOCH_crafting_checkResources;
|
||||||
@ -64,20 +66,64 @@ if !(false call EPOCH_crafting_checkResources) exitWith {};
|
|||||||
|
|
||||||
if !(_canCraft && rmx_var_craftingLOOPS) exitWith {};
|
if !(_canCraft && rmx_var_craftingLOOPS) exitWith {};
|
||||||
|
|
||||||
|
_GiveBackRounds = 0;
|
||||||
|
_TotalroundsIn = 0;
|
||||||
|
_TotalMaxRoundsIn = 0;
|
||||||
|
_roundsCheck = false;
|
||||||
|
_maxMagrnd = (getnumber (configfile >> "cfgMagazines" >> _item >> "count")) max 1;
|
||||||
{
|
{
|
||||||
if !(_x isEqualType []) then {_x = [_x,1]};
|
if !(_x isEqualType []) then {_x = [_x,1]};
|
||||||
for "_r" from 1 to (_x select 1) do {
|
_x params ["_recipetype","_recipetypecount"];
|
||||||
player removeItem (_x select 0); //removes any type of item, but only if not in special slots
|
_recipetype = tolower _recipetype;
|
||||||
|
_maxMagRndTmp = getnumber (configfile >> "cfgMagazines" >> _recipetype >> "count");
|
||||||
|
_roundsCheckTmp = ([_recipetype,"cfgMagazines"] call Epoch_fnc_isAny && [_item,"cfgMagazines"] call Epoch_fnc_isAny && _maxMagrnd > 1 && _maxMagRndTmp > 1 && _BulletCalculateOnCraft);
|
||||||
|
for "_r" from 1 to _recipetypecount do {
|
||||||
|
if (_roundsCheckTmp) then {
|
||||||
|
_roundsCheck = true;
|
||||||
|
_magsammosearched = [];
|
||||||
|
{
|
||||||
|
_x params ["_type","_rounds"];
|
||||||
|
if ((tolower _type) isequalto _recipetype) then {
|
||||||
|
_magsammosearched pushback _x;
|
||||||
|
};
|
||||||
|
} foreach (magazinesammo player);
|
||||||
|
_TotalMaxRoundsIn = _TotalMaxRoundsIn + _maxMagRndTmp;
|
||||||
|
_TotalroundsIn = _TotalroundsIn + ((_magsammosearched deleteat 0) select 1);
|
||||||
|
player removemagazines _recipetype;
|
||||||
|
{
|
||||||
|
_x call EPOCH_fnc_addMagazineOverflow;
|
||||||
|
} foreach _magsammosearched;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
player removeItem _recipetype; //removes any type of item, but only if not in special slots
|
||||||
|
};
|
||||||
};
|
};
|
||||||
} forEach _itemRecipeItems;
|
} forEach _itemRecipeItems;
|
||||||
|
|
||||||
|
if (_roundsCheck) then {
|
||||||
|
_GiveBackRounds = (_maxMagrnd * (_TotalroundsIn / _TotalMaxRoundsIn));
|
||||||
|
};
|
||||||
|
|
||||||
_nearByBench = nearestObjects [player,["WorkBench_EPOCH"],3];
|
_nearByBench = nearestObjects [player,["WorkBench_EPOCH"],3];
|
||||||
|
|
||||||
if (!(_nearByBench isEqualTo []) && (_needBench > 0)) then { //adds item on top of bench if bench was required
|
if (!(_nearByBench isEqualTo []) && (_needBench > 0)) then { //adds item on top of bench if bench was required
|
||||||
|
if (_roundsCheck) then {
|
||||||
|
(_nearByBench select 0) addMagazineAmmoCargo [_item, _craftCount, ((ceil (_GiveBackRounds / _craftCount)) min _maxMagrnd) max 1];
|
||||||
|
}
|
||||||
|
else {
|
||||||
(_nearByBench select 0) addItemCargoGlobal [_item,_craftCount];
|
(_nearByBench select 0) addItemCargoGlobal [_item,_craftCount];
|
||||||
} else {
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (_roundsCheck) then {
|
||||||
|
for "_i" from 1 to _craftCount do {
|
||||||
|
[_item,((ceil (_GiveBackRounds / _craftCount)) min _maxMagrnd) max 1] call EPOCH_fnc_addMagazineOverflow;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
[_item,_craftCount] call EPOCH_fnc_addItemOverflow;
|
[_item,_craftCount] call EPOCH_fnc_addItemOverflow;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
// return items
|
// return items
|
||||||
{
|
{
|
||||||
|
@ -21,7 +21,7 @@ _arrIn = _this;
|
|||||||
_cfg = 'CfgEpochClient' call EPOCH_returnConfig;
|
_cfg = 'CfgEpochClient' call EPOCH_returnConfig;
|
||||||
_Suppressed = getarray (_cfg >> "SuppressedCraftingItems");
|
_Suppressed = getarray (_cfg >> "SuppressedCraftingItems");
|
||||||
|
|
||||||
if !(typeName (_arrIn select 0) isEqualTo "CONFIG") exitWith {[]};
|
if !((_arrIn select 0) isEqualType configNull) exitWith {[]};
|
||||||
|
|
||||||
_type0 = []; _type1 = []; _type2 = []; _type3 = []; _out = [];
|
_type0 = []; _type1 = []; _type2 = []; _type3 = []; _out = [];
|
||||||
{
|
{
|
||||||
|
@ -32,7 +32,7 @@ if(_customCol isEqualTo [])then{
|
|||||||
_txtCol = if((_customCol select 1)isEqualTypeAll 0) then [{_customCol select 1},{_txtCol = [1,1,1,0.95]}];
|
_txtCol = if((_customCol select 1)isEqualTypeAll 0) then [{_customCol select 1},{_txtCol = [1,1,1,0.95]}];
|
||||||
};
|
};
|
||||||
|
|
||||||
if !(typeName _msg isEqualTo "STRING") then { //Needed to remove quotations from strings
|
if !(_msg isEqualType "STRING") then { //Needed to remove quotations from strings
|
||||||
_msg = str (parseText str _msg); //Parses and converts text back to small string
|
_msg = str (parseText str _msg); //Parses and converts text back to small string
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ if(_customCol isEqualTo [])then{
|
|||||||
_bgCol = if((_customCol select 0)isEqualTypeAll 0) then [{_customCol select 0},{_bgCol = [0,0,0,0.2]}];
|
_bgCol = if((_customCol select 0)isEqualTypeAll 0) then [{_customCol select 0},{_bgCol = [0,0,0,0.2]}];
|
||||||
_txtCol = if((_customCol select 1)isEqualTypeAll 0) then [{_customCol select 1},{_txtCol = [1,1,1,0.95]}];
|
_txtCol = if((_customCol select 1)isEqualTypeAll 0) then [{_customCol select 1},{_txtCol = [1,1,1,0.95]}];
|
||||||
};
|
};
|
||||||
if !(typeName _msg isEqualTo "STRING") then { //Needed to remove quotations from strings
|
if !(_msg isEqualType "STRING") then { //Needed to remove quotations from strings
|
||||||
_msg = str (parseText str _msg); //Parses and converts text back to small string
|
_msg = str (parseText str _msg); //Parses and converts text back to small string
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -24,19 +24,21 @@ private ["_priority","_wd","_db"];
|
|||||||
params [["_level",0,[0]],["_speed",0,[0]]];
|
params [["_level",0,[0]],["_speed",0,[0]]];
|
||||||
|
|
||||||
if (isNil "rmx_var_drunkHandles") then {
|
if (isNil "rmx_var_drunkHandles") then {
|
||||||
|
|
||||||
_priority = 15;
|
_priority = 15;
|
||||||
_wd = ["wetdistortion",_priority] call epoch_postProcessCreate;
|
_wd = ["wetdistortion",_priority] call epoch_postProcessCreate;
|
||||||
_db = ["dynamicBlur",_priority] call epoch_postProcessCreate;
|
_db = ["dynamicBlur",_priority] call epoch_postProcessCreate;
|
||||||
|
|
||||||
rmx_var_drunkHandles = [_wd,_db];
|
rmx_var_drunkHandles = [_wd,_db];
|
||||||
|
|
||||||
|
// Preload defaults
|
||||||
|
[(rmx_var_drunkHandles select 0), 0, [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]] call epoch_postprocessAdjust;
|
||||||
|
[(rmx_var_drunkHandles select 1), 0, [0]] call epoch_postprocessAdjust;
|
||||||
};
|
};
|
||||||
|
|
||||||
switch _level do {
|
switch _level do {
|
||||||
case 0:
|
case 0:
|
||||||
{
|
{
|
||||||
rmx_var_drunkHandles call epoch_postprocessDestroy;
|
(rmx_var_drunkHandles select 0) ppEffectEnable false;
|
||||||
rmx_var_drunkHandles = nil;
|
(rmx_var_drunkHandles select 1) ppEffectEnable false;
|
||||||
};
|
};
|
||||||
case 0.1:
|
case 0.1:
|
||||||
{
|
{
|
||||||
|
@ -25,25 +25,25 @@ private ["_cc","_ci","_fg","_priority"];
|
|||||||
params [["_level",0,[0]],["_speed",0,[0]] ];
|
params [["_level",0,[0]],["_speed",0,[0]] ];
|
||||||
|
|
||||||
if (isNil "rmx_var_RadiationHandles") then {
|
if (isNil "rmx_var_RadiationHandles") then {
|
||||||
|
|
||||||
_priority = 16;
|
_priority = 16;
|
||||||
_fg = ["filmGrain",_priority] call epoch_postProcessCreate;
|
_fg = ["filmGrain",_priority] call epoch_postProcessCreate;
|
||||||
_cc = ["colorCorrections",_priority] call epoch_postProcessCreate;
|
_cc = ["colorCorrections",_priority] call epoch_postProcessCreate;
|
||||||
_ci = ["colorInversion",_priority] call epoch_postProcessCreate;
|
_ci = ["colorInversion",_priority] call epoch_postProcessCreate;
|
||||||
|
|
||||||
rmx_var_RadiationHandles = [_fg,_cc,_ci];
|
rmx_var_RadiationHandles = [_fg,_cc,_ci];
|
||||||
|
|
||||||
|
// Preload defaults
|
||||||
|
[(rmx_var_RadiationHandles select 0), 0, [0.005,1.25,2.01,0.75,1.0,true]] call epoch_postprocessAdjust;
|
||||||
|
[(rmx_var_RadiationHandles select 1), 0, [1,1,0,[0,0,0,0],[1,1,1,1],[0.299,0.587,0.114,0],[-1,-1,0,0,0,0,0]]] call epoch_postprocessAdjust;
|
||||||
|
[(rmx_var_RadiationHandles select 2), 0, [0,0,0]] call epoch_postprocessAdjust;
|
||||||
};
|
};
|
||||||
|
|
||||||
switch _level do {
|
switch _level do {
|
||||||
case 0:
|
case 0;
|
||||||
{
|
|
||||||
rmx_var_RadiationHandles call epoch_postprocessDestroy;
|
|
||||||
rmx_var_RadiationHandles = nil;
|
|
||||||
};
|
|
||||||
case 0.1:
|
case 0.1:
|
||||||
{
|
{
|
||||||
rmx_var_RadiationHandles call epoch_postprocessDestroy;
|
(rmx_var_RadiationHandles select 0) ppEffectEnable false;
|
||||||
rmx_var_RadiationHandles = nil;
|
(rmx_var_RadiationHandles select 1) ppEffectEnable false;
|
||||||
|
(rmx_var_RadiationHandles select 2) ppEffectEnable false;
|
||||||
};
|
};
|
||||||
case 0.2:
|
case 0.2:
|
||||||
{
|
{
|
||||||
|
@ -83,6 +83,7 @@ EPOCH_keysActionPressed = false; //prevents EH spam
|
|||||||
|
|
||||||
// load some frequently used configs to variables
|
// load some frequently used configs to variables
|
||||||
EPOCH_maxBuildingHeight = ["CfgEpochClient", "maxBuildingHeight", 100] call EPOCH_fnc_returnConfigEntryV2;
|
EPOCH_maxBuildingHeight = ["CfgEpochClient", "maxBuildingHeight", 100] call EPOCH_fnc_returnConfigEntryV2;
|
||||||
|
EPOCH_MaxBuildingTilt = ["CfgEpochClient", "MaxBuildingTilt", 180] call EPOCH_fnc_returnConfigEntryV2;
|
||||||
Epoch_NuisanceMulti = ["CfgEpochClient", "NuisanceMulti", 0.5] call EPOCH_fnc_returnConfigEntryV2;
|
Epoch_NuisanceMulti = ["CfgEpochClient", "NuisanceMulti", 0.5] call EPOCH_fnc_returnConfigEntryV2;
|
||||||
|
|
||||||
//ON INIT and RESPAWN
|
//ON INIT and RESPAWN
|
||||||
|
@ -29,7 +29,7 @@ class CfgActionMenu
|
|||||||
|
|
||||||
dyna_buildMode = "([10] call EPOCH_fnc_cursorTarget) call EPOCH_checkBuild;";
|
dyna_buildMode = "([10] call EPOCH_fnc_cursorTarget) call EPOCH_checkBuild;";
|
||||||
dyna_isVehicle = "if (!(isNull dyna_cursorTarget) && alive dyna_cursorTarget) then {((dyna_cursorTarget isKindOf 'LandVehicle') || (dyna_cursorTarget isKindOf 'Air') || (dyna_cursorTarget isKindOf 'Ship') || (dyna_cursorTarget isKindOf 'Tank'))} else {false}";
|
dyna_isVehicle = "if (!(isNull dyna_cursorTarget) && alive dyna_cursorTarget) then {((dyna_cursorTarget isKindOf 'LandVehicle') || (dyna_cursorTarget isKindOf 'Air') || (dyna_cursorTarget isKindOf 'Ship') || (dyna_cursorTarget isKindOf 'Tank'))} else {false}";
|
||||||
dyna_isTrader = "if (!(isNull dyna_cursorTarget) && alive dyna_cursorTarget) then {((dyna_cursorTarget isKindOf 'Man') && (dyna_cursorTarget != player) && (!isPlayer dyna_cursorTarget) && ((dyna_cursorTarget getVariable['AI_SLOT', -1]) != -1))} else {false}";
|
dyna_isTrader = "if (!(isNull dyna_cursorTarget) && alive dyna_cursorTarget) then {((dyna_cursorTarget != player) && (!isPlayer dyna_cursorTarget) && ((dyna_cursorTarget getVariable['AI_SLOT', -1]) != -1))} else {false}";
|
||||||
dyna_isPlayer = "if (!(isNull dyna_cursorTarget) && alive dyna_cursorTarget) then {((dyna_cursorTarget isKindOf 'Man') && (dyna_cursorTarget != player) && (isPlayer dyna_cursorTarget))} else {false}";
|
dyna_isPlayer = "if (!(isNull dyna_cursorTarget) && alive dyna_cursorTarget) then {((dyna_cursorTarget isKindOf 'Man') && (dyna_cursorTarget != player) && (isPlayer dyna_cursorTarget))} else {false}";
|
||||||
dyna_isDeadPlayer = "if (!(isNull dyna_cursorTarget) && !(alive dyna_cursorTarget)) then {(dyna_cursorTargetType in ['Epoch_Male_F','Epoch_Female_F'])} else {false}";
|
dyna_isDeadPlayer = "if (!(isNull dyna_cursorTarget) && !(alive dyna_cursorTarget)) then {(dyna_cursorTargetType in ['Epoch_Male_F','Epoch_Female_F'])} else {false}";
|
||||||
dyna_canAcceptTrade = "if (!(isNull EPOCH_pendingP2ptradeTarget) && alive EPOCH_pendingP2ptradeTarget) then {((EPOCH_pendingP2ptradeTarget isKindOf 'Man') && (dyna_cursorTarget isEqualTo EPOCH_pendingP2ptradeTarget))} else {false}";
|
dyna_canAcceptTrade = "if (!(isNull EPOCH_pendingP2ptradeTarget) && alive EPOCH_pendingP2ptradeTarget) then {((EPOCH_pendingP2ptradeTarget isKindOf 'Man') && (dyna_cursorTarget isEqualTo EPOCH_pendingP2ptradeTarget))} else {false}";
|
||||||
@ -50,6 +50,7 @@ class CfgActionMenu
|
|||||||
dyna_mapDeathMarker = "(((getArray(('CfgMarkerSets' call EPOCH_returnConfig) >> 'DeathMarker' >> 'markerArray') select 0) select 0) in allMapMarkers)";
|
dyna_mapDeathMarker = "(((getArray(('CfgMarkerSets' call EPOCH_returnConfig) >> 'DeathMarker' >> 'markerArray') select 0) select 0) in allMapMarkers)";
|
||||||
|
|
||||||
dyna_AtHome = "call {_config = 'CfgEpochClient' call EPOCH_returnConfig;_buildingJammerRange = getNumber(_config >> 'buildingJammerRange');_nearjammers = nearestobjects [player,['Plotpole_EPOCH'],_buildingJammerRange];if (_nearjammers isEqualTo []) exitwith {false};_nearestJammer = _nearjammers select 0;((_nearestJammer getVariable['BUILD_OWNER', '-1']) in[getPlayerUID player, Epoch_my_GroupUID])}";
|
dyna_AtHome = "call {_config = 'CfgEpochClient' call EPOCH_returnConfig;_buildingJammerRange = getNumber(_config >> 'buildingJammerRange');_nearjammers = nearestobjects [player,['Plotpole_EPOCH'],_buildingJammerRange];if (_nearjammers isEqualTo []) exitwith {false};_nearestJammer = _nearjammers select 0;((_nearestJammer getVariable['BUILD_OWNER', '-1']) in[getPlayerUID player, Epoch_my_GroupUID])}";
|
||||||
|
dyna_Watersource = "call {_nearObjects = nearestObjects [player, [], 2];_check = 'water';_ok = false;{if (alive _x) then {_ok = [_x, _check] call EPOCH_worldObjectType;};if (_ok) exitWith {};} forEach _nearObjects;_ok}";
|
||||||
};
|
};
|
||||||
|
|
||||||
class self
|
class self
|
||||||
|
@ -95,7 +95,7 @@ class base_mode_snap_direction
|
|||||||
{
|
{
|
||||||
condition = "EPOCH_buildMode == 1";
|
condition = "EPOCH_buildMode == 1";
|
||||||
action = "EPOCH_snapDirection = EPOCH_snapDirection + 1; if (EPOCH_snapDirection > 3) then {EPOCH_snapDirection = 0};[format['SNAP DIRECTION: %1°', EPOCH_snapDirection*90], 5] call Epoch_message;";
|
action = "EPOCH_snapDirection = EPOCH_snapDirection + 1; if (EPOCH_snapDirection > 3) then {EPOCH_snapDirection = 0};[format['SNAP DIRECTION: %1°', EPOCH_snapDirection*90], 5] call Epoch_message;";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_move.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_rotate.paa";
|
||||||
tooltip = "Build Mode: Rotate 90°";
|
tooltip = "Build Mode: Rotate 90°";
|
||||||
tooltipcode = "format ['Build Mode: Switch Snap Direction to %1° (current %2°)',if (EPOCH_snapDirection < 3) then {(EPOCH_snapDirection+1)*90} else {0},EPOCH_snapDirection*90]";
|
tooltipcode = "format ['Build Mode: Switch Snap Direction to %1° (current %2°)',if (EPOCH_snapDirection < 3) then {(EPOCH_snapDirection+1)*90} else {0},EPOCH_snapDirection*90]";
|
||||||
};
|
};
|
||||||
@ -103,23 +103,30 @@ class base_mode_detach
|
|||||||
{
|
{
|
||||||
condition = "EPOCH_buildMode > 0 && !isnull EPOCH_target && EPOCH_target_attachedTo isequalto player && Epoch_target iskindof 'Const_Ghost_EPOCH'";
|
condition = "EPOCH_buildMode > 0 && !isnull EPOCH_target && EPOCH_target_attachedTo isequalto player && Epoch_target iskindof 'Const_Ghost_EPOCH'";
|
||||||
action = "EPOCH_target_attachedTo = objnull; ['Object Detached', 5] call Epoch_message;";
|
action = "EPOCH_target_attachedTo = objnull; ['Object Detached', 5] call Epoch_message;";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_move.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_detach.paa";
|
||||||
tooltip = "Build Mode: Detach Object";
|
tooltip = "Build Mode: Detach Object";
|
||||||
};
|
};
|
||||||
class base_mode_attach
|
class base_mode_attach
|
||||||
{
|
{
|
||||||
condition = "EPOCH_buildMode > 0 && !isnull EPOCH_target && !(EPOCH_target_attachedTo isequalto player) && Epoch_target iskindof 'Const_Ghost_EPOCH'";
|
condition = "EPOCH_buildMode > 0 && !isnull EPOCH_target && !(EPOCH_target_attachedTo isequalto player) && Epoch_target iskindof 'Const_Ghost_EPOCH'";
|
||||||
action = "EPOCH_target_attachedTo = player; ['Object Attached', 5] call Epoch_message;";
|
action = "EPOCH_target_attachedTo = player; ['Object Attached', 5] call Epoch_message;";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_move.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_attach.paa";
|
||||||
tooltip = "Build Mode: Attach Object";
|
tooltip = "Build Mode: Attach Object";
|
||||||
};
|
};
|
||||||
class Drink
|
class Drink
|
||||||
{
|
{
|
||||||
condition = "_nearObjects = nearestObjects [player, [], 2];_check = 'water';_ok = false;{if (alive _x) then {_ok = [_x, _check] call EPOCH_worldObjectType;};if (_ok) exitWith {};} forEach _nearObjects;_ok";
|
condition = "dyna_Watersource";
|
||||||
action = "if (currentweapon player == '') then {player playmove 'AinvPknlMstpSnonWnonDnon_Putdown_AmovPknlMstpSnonWnonDnon';}else {if (currentweapon player == handgunweapon player) then {player playmove 'AinvPknlMstpSrasWpstDnon_Putdown_AmovPknlMstpSrasWpstDnon';}else { player playmove 'AinvPknlMstpSrasWrflDnon_Putdown_AmovPknlMstpSrasWrflDnon';};};{_output = _x call EPOCH_giveAttributes;if (_output != '') then {[_output, 5] call Epoch_message_stack;};} foreach [['Toxicity',4,1],['Stamina',10],['Thirst',100]];";
|
action = "if (currentweapon player == '') then {player playmove 'AinvPknlMstpSnonWnonDnon_Putdown_AmovPknlMstpSnonWnonDnon';}else {if (currentweapon player == handgunweapon player) then {player playmove 'AinvPknlMstpSrasWpstDnon_Putdown_AmovPknlMstpSrasWpstDnon';}else { player playmove 'AinvPknlMstpSrasWrflDnon_Putdown_AmovPknlMstpSrasWrflDnon';};};{_output = _x call EPOCH_giveAttributes;if (_output != '') then {[_output, 5] call Epoch_message_stack;};} foreach [['Thirst',100],['Toxicity',1,1],['Stamina',10]];";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Drink.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Drink.paa";
|
||||||
tooltip = "Drink";
|
tooltip = "Drink";
|
||||||
};
|
};
|
||||||
|
class Wash
|
||||||
|
{
|
||||||
|
condition = "dyna_Watersource";
|
||||||
|
action = "if !('Soap_Epoch' in magazines player) exitwith {['You need a Soap to wash yourself',5] call Epoch_Message;};[] spawn {player playMove 'AinvPknlMstpSnonWrflDnon_medic0';player playMove 'AinvPknlMstpSnonWrflDnon_medicEnd';['Washing ...',5] call Epoch_Message;player removeitem 'Soap_Epoch';uisleep 6;{_output = _x call EPOCH_giveAttributes; if (_output != '') then {[_output, 5] call Epoch_message_stack;};} foreach [['Soiled',-25]];};";
|
||||||
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Washing.paa";
|
||||||
|
tooltip = "Wash yourself";
|
||||||
|
};
|
||||||
class ServicePoint
|
class ServicePoint
|
||||||
{
|
{
|
||||||
condition = "call EPOCH_SP_Check";
|
condition = "call EPOCH_SP_Check";
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_target.hpp
|
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_target.hpp
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//Build mode enabled
|
|
||||||
class build_upgrade
|
class build_upgrade
|
||||||
{
|
{
|
||||||
condition = "dyna_buildMode select 0";
|
condition = "dyna_buildMode select 0";
|
||||||
@ -27,7 +26,7 @@ class build_remove
|
|||||||
{
|
{
|
||||||
condition = "dyna_buildMode select 1";
|
condition = "dyna_buildMode select 1";
|
||||||
action = "dyna_cursorTarget call EPOCH_removeBUILD;";
|
action = "dyna_cursorTarget call EPOCH_removeBUILD;";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_remove.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_trash.paa";
|
||||||
tooltipcode = "format['Remove %1',getText(configFile >> 'CfgVehicles' >> (typeof dyna_cursorTarget) >> 'displayName')]";
|
tooltipcode = "format['Remove %1',getText(configFile >> 'CfgVehicles' >> (typeof dyna_cursorTarget) >> 'displayName')]";
|
||||||
};
|
};
|
||||||
class build_move
|
class build_move
|
||||||
@ -111,7 +110,7 @@ class select_jammer
|
|||||||
{
|
{
|
||||||
condition = "dyna_cursorTargetType isEqualTo 'PlotPole_EPOCH' && (damage dyna_cursorTarget < 1)";
|
condition = "dyna_cursorTargetType isEqualTo 'PlotPole_EPOCH' && (damage dyna_cursorTarget < 1)";
|
||||||
action = "[dyna_cursorTarget,player,Epoch_personalToken] remoteExec [""EPOCH_server_makeSP"",2];";
|
action = "[dyna_cursorTarget,player,Epoch_personalToken] remoteExec [""EPOCH_server_makeSP"",2];";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\player_inspect.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\spawnpoint.paa";
|
||||||
tooltip = "Make Spawnpoint";
|
tooltip = "Make Spawnpoint";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -175,29 +174,29 @@ class VehMaintanance
|
|||||||
tooltip = "Repair Vehicle";
|
tooltip = "Repair Vehicle";
|
||||||
class RepairHull
|
class RepairHull
|
||||||
{
|
{
|
||||||
condition = "'HitHull' in (EPOCH_VehicleRepairs select 0)";
|
condition = "'hithull' in (EPOCH_VehicleRepairs select 0)";
|
||||||
action = "[dyna_cursorTarget,'repair','HitHull'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'repair','hithull'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_HullBody.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_HullBody.paa";
|
||||||
tooltip = "Repair Hull";
|
tooltip = "Repair Hull";
|
||||||
};
|
};
|
||||||
class ReplaceHull
|
class ReplaceHull
|
||||||
{
|
{
|
||||||
condition = "'HitHull' in (EPOCH_VehicleRepairs select 2)";
|
condition = "'hithull' in (EPOCH_VehicleRepairs select 2)";
|
||||||
action = "[dyna_cursorTarget,'replace','HitHull'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'replace','hithull'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_HullBody.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_HullBody.paa";
|
||||||
tooltip = "Repair Hull";
|
tooltip = "Repair Hull";
|
||||||
};
|
};
|
||||||
class RepairEngine
|
class RepairEngine
|
||||||
{
|
{
|
||||||
condition = "'HitEngine' in (EPOCH_VehicleRepairs select 0)";
|
condition = "'hitengine' in (EPOCH_VehicleRepairs select 0)";
|
||||||
action = "[dyna_cursorTarget,'repair','HitEngine'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'repair','hitengine'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Engine.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Engine.paa";
|
||||||
tooltip = "Repair Engine";
|
tooltip = "Repair Engine";
|
||||||
};
|
};
|
||||||
class ReplaceEngine
|
class ReplaceEngine
|
||||||
{
|
{
|
||||||
condition = "'HitEngine' in (EPOCH_VehicleRepairs select 2)";
|
condition = "'hitengine' in (EPOCH_VehicleRepairs select 2)";
|
||||||
action = "[dyna_cursorTarget,'replace','HitEngine'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'replace','hitengine'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Engine.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Engine.paa";
|
||||||
tooltip = "Replace Engine";
|
tooltip = "Replace Engine";
|
||||||
};
|
};
|
||||||
@ -210,183 +209,211 @@ class VehMaintanance
|
|||||||
};
|
};
|
||||||
class RepairBody
|
class RepairBody
|
||||||
{
|
{
|
||||||
condition = "'HitBody' in (EPOCH_VehicleRepairs select 0)";
|
condition = "'hitbody' in (EPOCH_VehicleRepairs select 0)";
|
||||||
action = "[dyna_cursorTarget,'repair','HitBody'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'repair','hitbody'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_HullBody.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_HullBody.paa";
|
||||||
tooltip = "Repair Body";
|
tooltip = "Repair Body";
|
||||||
};
|
};
|
||||||
class ReplaceBody
|
class ReplaceBody
|
||||||
{
|
{
|
||||||
condition = "'HitBody' in (EPOCH_VehicleRepairs select 2)";
|
condition = "'hitbody' in (EPOCH_VehicleRepairs select 2)";
|
||||||
action = "[dyna_cursorTarget,'replace','HitBody'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'replace','hitbody'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_HullBody.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_HullBody.paa";
|
||||||
tooltip = "Repair Body";
|
tooltip = "Repair Body";
|
||||||
};
|
};
|
||||||
class RepairFuel
|
class RepairFuel
|
||||||
{
|
{
|
||||||
condition = "'HitFuel' in (EPOCH_VehicleRepairs select 0)";
|
condition = "'hitfuel' in (EPOCH_VehicleRepairs select 0)";
|
||||||
action = "[dyna_cursorTarget,'repair','HitFuel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'repair','hitfuel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Fuel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Fuel.paa";
|
||||||
tooltip = "Repair Fuel Hose";
|
tooltip = "Repair Fuel Hose";
|
||||||
};
|
};
|
||||||
class RepairMainRotor
|
class RepairMainRotor
|
||||||
{
|
{
|
||||||
condition = "'HitHRotor' in (EPOCH_VehicleRepairs select 0)";
|
condition = "'hithrotor' in (EPOCH_VehicleRepairs select 0)";
|
||||||
action = "[dyna_cursorTarget,'repair','HitHRotor'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'repair','hithrotor'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_MainRotor.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_MainRotor.paa";
|
||||||
tooltip = "Repair Main Rotor";
|
tooltip = "Repair Main Rotor";
|
||||||
};
|
};
|
||||||
class ReplaceFuel
|
class ReplaceFuel
|
||||||
{
|
{
|
||||||
condition = "'HitFuel' in (EPOCH_VehicleRepairs select 2)";
|
condition = "'hitfuel' in (EPOCH_VehicleRepairs select 2)";
|
||||||
action = "[dyna_cursorTarget,'replace','HitFuel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'replace','hitfuel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Fuel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Fuel.paa";
|
||||||
tooltip = "Replace Fuel Hose";
|
tooltip = "Replace Fuel Hose";
|
||||||
};
|
};
|
||||||
class ReplaceMainRotor
|
class ReplaceMainRotor
|
||||||
{
|
{
|
||||||
condition = "'HitHRotor' in (EPOCH_VehicleRepairs select 2)";
|
condition = "'hithrotor' in (EPOCH_VehicleRepairs select 2)";
|
||||||
action = "[dyna_cursorTarget,'replace','HitHRotor'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'replace','hithrotor'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_MainRotor.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_MainRotor.paa";
|
||||||
tooltip = "Replace Main Rotor";
|
tooltip = "Replace Main Rotor";
|
||||||
};
|
};
|
||||||
class RepairTailRotor
|
class RepairTailRotor
|
||||||
{
|
{
|
||||||
condition = "'HitVRotor' in (EPOCH_VehicleRepairs select 0)";
|
condition = "'hitvrotor' in (EPOCH_VehicleRepairs select 0)";
|
||||||
action = "[dyna_cursorTarget,'repair','HitVRotor'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'repair','hitvrotor'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_TailRotor.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_TailRotor.paa";
|
||||||
tooltip = "Repair Tail Rotor";
|
tooltip = "Repair Tail Rotor";
|
||||||
};
|
};
|
||||||
class ReplaceTailRotor
|
class ReplaceTailRotor
|
||||||
{
|
{
|
||||||
condition = "'HitVRotor' in (EPOCH_VehicleRepairs select 2)";
|
condition = "'hitvrotor' in (EPOCH_VehicleRepairs select 2)";
|
||||||
action = "[dyna_cursorTarget,'replace','HitVRotor'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'replace','hitvrotor'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_TailRotor.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_TailRotor.paa";
|
||||||
tooltip = "Replace Tail Rotor";
|
tooltip = "Replace Tail Rotor";
|
||||||
};
|
};
|
||||||
class ReplaceWinch
|
class ReplaceWinch
|
||||||
{
|
{
|
||||||
condition = "'HitWinch' in (EPOCH_VehicleRepairs select 0) || 'HitWinch' in (EPOCH_VehicleRepairs select 2)";
|
condition = "'hitwinch' in (EPOCH_VehicleRepairs select 0) || 'hitwinch' in (EPOCH_VehicleRepairs select 2)";
|
||||||
action = "[dyna_cursorTarget,'replace','HitWinch'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'replace','hitwinch'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_SLG.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_SLG.paa";
|
||||||
tooltip = "Replace Winch";
|
tooltip = "Replace Winch";
|
||||||
};
|
};
|
||||||
|
class RepairTireBike1
|
||||||
|
{
|
||||||
|
condition = "'hitfwheel' in (EPOCH_VehicleRepairs select 0)";
|
||||||
|
action = "[dyna_cursorTarget,'repair','hitfwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa";
|
||||||
|
tooltip = "Repair 1st Wheel";
|
||||||
|
};
|
||||||
|
class RepairTireBike2
|
||||||
|
{
|
||||||
|
condition = "'hitbwheel' in (EPOCH_VehicleRepairs select 0)";
|
||||||
|
action = "[dyna_cursorTarget,'repair','hitbwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa";
|
||||||
|
tooltip = "Repair 2nd Wheel";
|
||||||
|
};
|
||||||
class RepairTire1
|
class RepairTire1
|
||||||
{
|
{
|
||||||
condition = "'HitLFWheel' in (EPOCH_VehicleRepairs select 0)";
|
condition = "'hitlfwheel' in (EPOCH_VehicleRepairs select 0)";
|
||||||
action = "[dyna_cursorTarget,'repair','HitLFWheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'repair','hitlfwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa";
|
||||||
tooltip = "Repair 1st Left Wheel";
|
tooltip = "Repair 1st Left Wheel";
|
||||||
};
|
};
|
||||||
class RepairTire2
|
class RepairTire2
|
||||||
{
|
{
|
||||||
condition = "'HitLF2Wheel' in (EPOCH_VehicleRepairs select 0)";
|
condition = "'hitlf2wheel' in (EPOCH_VehicleRepairs select 0)";
|
||||||
action = "[dyna_cursorTarget,'repair','HitLF2Wheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'repair','hitlf2wheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa";
|
||||||
tooltip = "Repair 2nd Left Wheel";
|
tooltip = "Repair 2nd Left Wheel";
|
||||||
};
|
};
|
||||||
class RepairTire3
|
class RepairTire3
|
||||||
{
|
{
|
||||||
condition = "'HitLMWheel' in (EPOCH_VehicleRepairs select 0)";
|
condition = "'hitlmwheel' in (EPOCH_VehicleRepairs select 0)";
|
||||||
action = "[dyna_cursorTarget,'repair','HitLMWheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'repair','hitlmwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa";
|
||||||
tooltip = "Repair 3rd Left Wheel";
|
tooltip = "Repair 3rd Left Wheel";
|
||||||
};
|
};
|
||||||
class RepairTire4
|
class RepairTire4
|
||||||
{
|
{
|
||||||
condition = "'HitLBWheel' in (EPOCH_VehicleRepairs select 0)";
|
condition = "'hitlbwheel' in (EPOCH_VehicleRepairs select 0)";
|
||||||
action = "[dyna_cursorTarget,'repair','HitLBWheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'repair','hitlbwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa";
|
||||||
tooltip = "Repair 4th Left Wheel";
|
tooltip = "Repair 4th Left Wheel";
|
||||||
};
|
};
|
||||||
class RepairTire5
|
class RepairTire5
|
||||||
{
|
{
|
||||||
condition = "'HitRFWheel' in (EPOCH_VehicleRepairs select 0)";
|
condition = "'hitrfwheel' in (EPOCH_VehicleRepairs select 0)";
|
||||||
action = "[dyna_cursorTarget,'repair','HitRFWheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'repair','hitrfwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa";
|
||||||
tooltip = "Repair 1st Right Wheel";
|
tooltip = "Repair 1st Right Wheel";
|
||||||
};
|
};
|
||||||
class RepairTire6
|
class RepairTire6
|
||||||
{
|
{
|
||||||
condition = "'HitRF2Wheel' in (EPOCH_VehicleRepairs select 0)";
|
condition = "'hitrf2wheel' in (EPOCH_VehicleRepairs select 0)";
|
||||||
action = "[dyna_cursorTarget,'repair','HitRF2Wheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'repair','hitrf2wheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa";
|
||||||
tooltip = "Repair 2nd Right Wheel";
|
tooltip = "Repair 2nd Right Wheel";
|
||||||
};
|
};
|
||||||
class RepairTire7
|
class RepairTire7
|
||||||
{
|
{
|
||||||
condition = "'HitRMWheel' in (EPOCH_VehicleRepairs select 0)";
|
condition = "'hitrmwheel' in (EPOCH_VehicleRepairs select 0)";
|
||||||
action = "[dyna_cursorTarget,'repair','HitRMWheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'repair','hitrmwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa";
|
||||||
tooltip = "Repair 3rd Right Wheel";
|
tooltip = "Repair 3rd Right Wheel";
|
||||||
};
|
};
|
||||||
class RepairTire8
|
class RepairTire8
|
||||||
{
|
{
|
||||||
condition = "'HitRBWheel' in (EPOCH_VehicleRepairs select 0)";
|
condition = "'hitrbwheel' in (EPOCH_VehicleRepairs select 0)";
|
||||||
action = "[dyna_cursorTarget,'repair','HitRBWheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'repair','hitrbwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Wheel.paa";
|
||||||
tooltip = "Repair 4th Right Wheel";
|
tooltip = "Repair 4th Right Wheel";
|
||||||
};
|
};
|
||||||
|
class ReplaceTireBike1
|
||||||
|
{
|
||||||
|
condition = "'hitfwheel' in (EPOCH_VehicleRepairs select 2)";
|
||||||
|
action = "[dyna_cursorTarget,'replace','hitfwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Wheel.paa";
|
||||||
|
tooltip = "Replace 1st Wheel";
|
||||||
|
};
|
||||||
|
class ReplaceTireBike2
|
||||||
|
{
|
||||||
|
condition = "'hitbwheel' in (EPOCH_VehicleRepairs select 2)";
|
||||||
|
action = "[dyna_cursorTarget,'replace','hitbwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Wheel.paa";
|
||||||
|
tooltip = "Replace 2nd Wheel";
|
||||||
|
};
|
||||||
class ReplaceTire1
|
class ReplaceTire1
|
||||||
{
|
{
|
||||||
condition = "'HitLFWheel' in (EPOCH_VehicleRepairs select 2)";
|
condition = "'hitlfwheel' in (EPOCH_VehicleRepairs select 2)";
|
||||||
action = "[dyna_cursorTarget,'replace','HitLFWheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'replace','hitlfwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Wheel.paa";
|
||||||
tooltip = "Replace 1st Left Wheel";
|
tooltip = "Replace 1st Left Wheel";
|
||||||
};
|
};
|
||||||
class ReplaceTire2
|
class ReplaceTire2
|
||||||
{
|
{
|
||||||
condition = "'HitLF2Wheel' in (EPOCH_VehicleRepairs select 2)";
|
condition = "'hitlf2wheel' in (EPOCH_VehicleRepairs select 2)";
|
||||||
action = "[dyna_cursorTarget,'replace','HitLF2Wheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'replace','hitlf2wheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Wheel.paa";
|
||||||
tooltip = "Replace 2nd Left Wheel";
|
tooltip = "Replace 2nd Left Wheel";
|
||||||
};
|
};
|
||||||
class ReplaceTire3
|
class ReplaceTire3
|
||||||
{
|
{
|
||||||
condition = "'HitLMWheel' in (EPOCH_VehicleRepairs select 2)";
|
condition = "'hitlmwheel' in (EPOCH_VehicleRepairs select 2)";
|
||||||
action = "[dyna_cursorTarget,'replace','HitLMWheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'replace','hitlmwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Wheel.paa";
|
||||||
tooltip = "Replace 3rd Left Wheel";
|
tooltip = "Replace 3rd Left Wheel";
|
||||||
};
|
};
|
||||||
class ReplaceTire4
|
class ReplaceTire4
|
||||||
{
|
{
|
||||||
condition = "'HitLBWheel' in (EPOCH_VehicleRepairs select 2)";
|
condition = "'hitlbwheel' in (EPOCH_VehicleRepairs select 2)";
|
||||||
action = "[dyna_cursorTarget,'replace','HitLBWheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'replace','hitlbwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Wheel.paa";
|
||||||
tooltip = "Replace 4th Left Wheel";
|
tooltip = "Replace 4th Left Wheel";
|
||||||
};
|
};
|
||||||
class ReplaceTire5
|
class ReplaceTire5
|
||||||
{
|
{
|
||||||
condition = "'HitRFWheel' in (EPOCH_VehicleRepairs select 2)";
|
condition = "'hitrfwheel' in (EPOCH_VehicleRepairs select 2)";
|
||||||
action = "[dyna_cursorTarget,'replace','HitRFWheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'replace','hitrfwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Wheel.paa";
|
||||||
tooltip = "Replace 1st Right Wheel";
|
tooltip = "Replace 1st Right Wheel";
|
||||||
};
|
};
|
||||||
class ReplaceTire6
|
class ReplaceTire6
|
||||||
{
|
{
|
||||||
condition = "'HitRF2Wheel' in (EPOCH_VehicleRepairs select 2)";
|
condition = "'hitrf2wheel' in (EPOCH_VehicleRepairs select 2)";
|
||||||
action = "[dyna_cursorTarget,'replace','HitRF2Wheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'replace','hitrf2wheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Wheel.paa";
|
||||||
tooltip = "Replace 2nd Right Wheel";
|
tooltip = "Replace 2nd Right Wheel";
|
||||||
};
|
};
|
||||||
class ReplaceTire7
|
class ReplaceTire7
|
||||||
{
|
{
|
||||||
condition = "'HitRMWheel' in (EPOCH_VehicleRepairs select 2)";
|
condition = "'hitrmwheel' in (EPOCH_VehicleRepairs select 2)";
|
||||||
action = "[dyna_cursorTarget,'replace','HitRMWheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'replace','hitrmwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Wheel.paa";
|
||||||
tooltip = "Replace 3rd Right Wheel";
|
tooltip = "Replace 3rd Right Wheel";
|
||||||
};
|
};
|
||||||
class ReplaceTire8
|
class ReplaceTire8
|
||||||
{
|
{
|
||||||
condition = "'HitRBWheel' in (EPOCH_VehicleRepairs select 2)";
|
condition = "'hitrbwheel' in (EPOCH_VehicleRepairs select 2)";
|
||||||
action = "[dyna_cursorTarget,'replace','HitRBWheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'replace','hitrbwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Wheel.paa";
|
||||||
tooltip = "Replace 4th Right Wheel";
|
tooltip = "Replace 4th Right Wheel";
|
||||||
};
|
};
|
||||||
class RepairAvionics
|
class RepairAvionics
|
||||||
{
|
{
|
||||||
condition = "'HitAvionics' in (EPOCH_VehicleRepairs select 0) || 'HitAvionics' in (EPOCH_VehicleRepairs select 2)";
|
condition = "'hitavionics' in (EPOCH_VehicleRepairs select 0) || 'hitavionics' in (EPOCH_VehicleRepairs select 2)";
|
||||||
action = "[dyna_cursorTarget,'replace','HitAvionics'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'replace','hitavionics'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Avionics.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Repair_Avionics.paa";
|
||||||
tooltip = "Repair Avionics";
|
tooltip = "Repair Avionics";
|
||||||
};
|
};
|
||||||
@ -399,64 +426,64 @@ class VehMaintanance
|
|||||||
tooltip = "Remove Parts";
|
tooltip = "Remove Parts";
|
||||||
class RemoveEngine
|
class RemoveEngine
|
||||||
{
|
{
|
||||||
condition = "'HitEngine' in (EPOCH_VehicleRepairs select 1)";
|
condition = "'hitengine' in (EPOCH_VehicleRepairs select 1)";
|
||||||
action = "[dyna_cursorTarget,'remove','HitEngine'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'remove','hitengine'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Remove_Engine.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Remove_Engine.paa";
|
||||||
tooltip = "Remove Engine";
|
tooltip = "Remove Engine";
|
||||||
};
|
};
|
||||||
class RemoveTire1
|
class RemoveTire1
|
||||||
{
|
{
|
||||||
condition = "'HitLFWheel' in (EPOCH_VehicleRepairs select 1)";
|
condition = "'hitlfwheel' in (EPOCH_VehicleRepairs select 1)";
|
||||||
action = "[dyna_cursorTarget,'remove','HitLFWheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'remove','hitlfwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Remove_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Remove_Wheel.paa";
|
||||||
tooltip = "Remove 1st Left Wheel";
|
tooltip = "Remove 1st Left Wheel";
|
||||||
};
|
};
|
||||||
class RemoveTire2
|
class RemoveTire2
|
||||||
{
|
{
|
||||||
condition = "'HitLF2Wheel' in (EPOCH_VehicleRepairs select 1)";
|
condition = "'hitlf2wheel' in (EPOCH_VehicleRepairs select 1)";
|
||||||
action = "[dyna_cursorTarget,'remove','HitLF2Wheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'remove','hitlf2wheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Remove_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Remove_Wheel.paa";
|
||||||
tooltip = "Remove 2nd Left Wheel";
|
tooltip = "Remove 2nd Left Wheel";
|
||||||
};
|
};
|
||||||
class RemoveTire3
|
class RemoveTire3
|
||||||
{
|
{
|
||||||
condition = "'HitLMWheel' in (EPOCH_VehicleRepairs select 1)";
|
condition = "'hitlmwheel' in (EPOCH_VehicleRepairs select 1)";
|
||||||
action = "[dyna_cursorTarget,'remove','HitLMWheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'remove','hitlmwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Remove_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Remove_Wheel.paa";
|
||||||
tooltip = "Remove 3rd Left Wheel";
|
tooltip = "Remove 3rd Left Wheel";
|
||||||
};
|
};
|
||||||
class RemoveTire4
|
class RemoveTire4
|
||||||
{
|
{
|
||||||
condition = "'HitLBWheel' in (EPOCH_VehicleRepairs select 1)";
|
condition = "'hitlbwheel' in (EPOCH_VehicleRepairs select 1)";
|
||||||
action = "[dyna_cursorTarget,'remove','HitLBWheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'remove','hitlbwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Remove_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Remove_Wheel.paa";
|
||||||
tooltip = "Remove 4th Left Wheel";
|
tooltip = "Remove 4th Left Wheel";
|
||||||
};
|
};
|
||||||
class RemoveTire5
|
class RemoveTire5
|
||||||
{
|
{
|
||||||
condition = "'HitRFWheel' in (EPOCH_VehicleRepairs select 1)";
|
condition = "'hitrfwheel' in (EPOCH_VehicleRepairs select 1)";
|
||||||
action = "[dyna_cursorTarget,'remove','HitRFWheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'remove','hitrfwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Remove_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Remove_Wheel.paa";
|
||||||
tooltip = "Remove 1st Right Wheel";
|
tooltip = "Remove 1st Right Wheel";
|
||||||
};
|
};
|
||||||
class RemoveTire6
|
class RemoveTire6
|
||||||
{
|
{
|
||||||
condition = "'HitRF2Wheel' in (EPOCH_VehicleRepairs select 1)";
|
condition = "'hitrf2wheel' in (EPOCH_VehicleRepairs select 1)";
|
||||||
action = "[dyna_cursorTarget,'remove','HitRF2Wheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'remove','hitrf2wheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Remove_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Remove_Wheel.paa";
|
||||||
tooltip = "Remove 2nd Right Wheel";
|
tooltip = "Remove 2nd Right Wheel";
|
||||||
};
|
};
|
||||||
class RemoveTire7
|
class RemoveTire7
|
||||||
{
|
{
|
||||||
condition = "'HitRMWheel' in (EPOCH_VehicleRepairs select 1)";
|
condition = "'hitrmwheel' in (EPOCH_VehicleRepairs select 1)";
|
||||||
action = "[dyna_cursorTarget,'remove','HitRMWheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'remove','hitrmwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Remove_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Remove_Wheel.paa";
|
||||||
tooltip = "Remove 3rd Right Wheel";
|
tooltip = "Remove 3rd Right Wheel";
|
||||||
};
|
};
|
||||||
class RemoveTire8
|
class RemoveTire8
|
||||||
{
|
{
|
||||||
condition = "'HitRBWheel' in (EPOCH_VehicleRepairs select 1)";
|
condition = "'hitrbwheel' in (EPOCH_VehicleRepairs select 1)";
|
||||||
action = "[dyna_cursorTarget,'remove','HitRBWheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
action = "[dyna_cursorTarget,'remove','hitrbwheel'] spawn EPOCH_client_VehicleMaintananceDo";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Remove_Wheel.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Remove_Wheel.paa";
|
||||||
tooltip = "Remove 4th Right Wheel";
|
tooltip = "Remove 4th Right Wheel";
|
||||||
};
|
};
|
||||||
@ -546,8 +573,18 @@ class player_tempGroup_requests
|
|||||||
|
|
||||||
class player_revive
|
class player_revive
|
||||||
{
|
{
|
||||||
condition = "dyna_isDeadPlayer && ('ItemDefibrillator' in dyna_magazinesPlayer)";
|
condition = "dyna_isDeadPlayer && isplayer dyna_cursorTarget";
|
||||||
action = "[dyna_cursorTarget, player, Epoch_personalToken] remoteExec ['EPOCH_server_revivePlayer',2];";
|
action = "dyna_cursorTarget call EPOCH_DefibrillatorUse;";
|
||||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\group_requests_ca.paa";
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Revive.paa";
|
||||||
tooltip = "Revive Player";
|
tooltipcode = "format ['Revive %1',name dyna_cursorTarget]";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class BaseCam
|
||||||
|
{
|
||||||
|
condition = "dyna_cursorTargetType isEqualTo 'BaseCamTerminal_EPOCH'";
|
||||||
|
action = "call Epoch_CamUse;";
|
||||||
|
icon = "x\addons\a3_epoch_code\Data\UI\buttons\Camera.paa";
|
||||||
|
tooltip = "Watch BaseCam";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -8,6 +8,25 @@
|
|||||||
*/
|
*/
|
||||||
class CfgBaseBuilding
|
class CfgBaseBuilding
|
||||||
{
|
{
|
||||||
|
// Power Sources (only for Energy Calculations)
|
||||||
|
class Land_spp_Tower_F
|
||||||
|
{
|
||||||
|
powerCapacity = 10;
|
||||||
|
powerType = 1; // Solar
|
||||||
|
};
|
||||||
|
class Land_wpp_Turbine_V1_F
|
||||||
|
{
|
||||||
|
powerCapacity = 10;
|
||||||
|
powerType = 2; // Wind
|
||||||
|
};
|
||||||
|
class Land_wpp_Turbine_V2_F : Land_wpp_Turbine_V1_F {};
|
||||||
|
class Land_Wreck_Satellite_EPOCH
|
||||||
|
{
|
||||||
|
powerCapacity = 10;
|
||||||
|
powerType = 3; // Satellite
|
||||||
|
};
|
||||||
|
|
||||||
|
// BaseBuilding
|
||||||
class Default
|
class Default
|
||||||
{
|
{
|
||||||
upgradeBuilding[] = {};
|
upgradeBuilding[] = {};
|
||||||
@ -45,10 +64,10 @@ class CfgBaseBuilding
|
|||||||
maxSnapDistance = 4.5;
|
maxSnapDistance = 4.5;
|
||||||
// snap points for Foundation_EPOCH
|
// snap points for Foundation_EPOCH
|
||||||
C[] = {0,0,0.806411};
|
C[] = {0,0,0.806411};
|
||||||
N[] = {0,10.463,0};
|
N[] = {0,10.474,0};
|
||||||
E[] = {10.463,0,0};
|
E[] = {10.474,0,0};
|
||||||
S[] = {0,-10.463,0};
|
S[] = {0,-10.474,0};
|
||||||
W[] = {-10.463,0,0};
|
W[] = {-10.474,0,0};
|
||||||
NE[] = {2.47112,2.46379,0.269223};
|
NE[] = {2.47112,2.46379,0.269223};
|
||||||
NW[] = {-2.4783,2.46379,0.269223};
|
NW[] = {-2.4783,2.46379,0.269223};
|
||||||
SE[] = {2.47112,-2.46097,0.269223};
|
SE[] = {2.47112,-2.46097,0.269223};
|
||||||
@ -76,10 +95,10 @@ class CfgBaseBuilding
|
|||||||
maxSnapDistance = 3;
|
maxSnapDistance = 3;
|
||||||
// snap points for Foundation_EPOCH
|
// snap points for Foundation_EPOCH
|
||||||
C[] = {0,0,0.806411};
|
C[] = {0,0,0.806411};
|
||||||
N[] = {0,10.463,0};
|
N[] = {0,10.474,0};
|
||||||
E[] = {10.463,0,0};
|
E[] = {10.474,0,0};
|
||||||
S[] = {0,-10.463,0};
|
S[] = {0,-10.474,0};
|
||||||
W[] = {-10.463,0,0};
|
W[] = {-10.474,0,0};
|
||||||
NE[] = {2.47112,2.46379,0.269223};
|
NE[] = {2.47112,2.46379,0.269223};
|
||||||
NW[] = {-2.4783,2.46379,0.269223};
|
NW[] = {-2.4783,2.46379,0.269223};
|
||||||
SE[] = {2.47112,-2.46097,0.269223};
|
SE[] = {2.47112,-2.46097,0.269223};
|
||||||
@ -473,21 +492,22 @@ class CfgBaseBuilding
|
|||||||
energyCost = 0.5;
|
energyCost = 0.5;
|
||||||
// snap points for CinderWall_EPOCH
|
// snap points for CinderWall_EPOCH
|
||||||
N[] = {0,0,3.06034};
|
N[] = {0,0,3.06034};
|
||||||
E[] = {5.18644,0,0};
|
E[] = {5.237,0,0};
|
||||||
W[] = {-5.19304,0,0};
|
W[] = {-5.237,0,0};
|
||||||
};
|
};
|
||||||
class CinderWall_window_EPOCH : Default
|
class CinderWall_window_EPOCH : Default
|
||||||
{
|
{
|
||||||
removeParts[] = {{"CinderBlocks",4},{"ItemCorrugatedLg",2},{"ItemGlass",1}};
|
removeParts[] = {{"CinderBlocks",4},{"ItemCorrugatedLg",2},{"ItemGlass",1}};
|
||||||
staticClass = "CinderWall_window_EPOCH";
|
staticClass = "CinderWall_window_EPOCH";
|
||||||
snapType = "snapPointsPara";
|
snapType = "snapPointsPara";
|
||||||
snapPointsPara[] = {"N","E","W"};
|
snapPointsPara[] = {"N","E","W","CAM"};
|
||||||
allowedSnapPoints[] = {"N","S","E","W"};
|
allowedSnapPoints[] = {"N","S","E","W"};
|
||||||
energyCost = 0.5;
|
energyCost = 0.5;
|
||||||
// snap points for CinderWall_EPOCH
|
// snap points for CinderWall_EPOCH
|
||||||
N[] = {0,0,3.06034};
|
N[] = {0,0,3.06034};
|
||||||
E[] = {5.18644,0,0};
|
E[] = {5.237,0,0};
|
||||||
W[] = {-5.19304,0,0};
|
W[] = {-5.237,0,0};
|
||||||
|
CAM[] = {0,-0.47,2.8};
|
||||||
};
|
};
|
||||||
// Kit_Garden
|
// Kit_Garden
|
||||||
class Garden_EPOCH : Default
|
class Garden_EPOCH : Default
|
||||||
@ -543,7 +563,7 @@ class CfgBaseBuilding
|
|||||||
|
|
||||||
class CinderWallGarage_SIM_EPOCH : CinderWallGarage_EPOCH
|
class CinderWallGarage_SIM_EPOCH : CinderWallGarage_EPOCH
|
||||||
{
|
{
|
||||||
allowedSnapObjects[] = {"Const_Cinder_static_F","Const_floors_static_F"};
|
allowedSnapObjects[] = {"Const_Cinder_static_F","Const_floors_static_F","Const_WoodWalls_static_F"};
|
||||||
removeParts[] = {};
|
removeParts[] = {};
|
||||||
};
|
};
|
||||||
class CinderWallHalf_EPOCH : Default
|
class CinderWallHalf_EPOCH : Default
|
||||||
@ -555,17 +575,17 @@ class CfgBaseBuilding
|
|||||||
GhostPreview = "CinderWallHalf_Ghost_EPOCH";
|
GhostPreview = "CinderWallHalf_Ghost_EPOCH";
|
||||||
energyCost = 0.2;
|
energyCost = 0.2;
|
||||||
snapType = "snapPointsPara";
|
snapType = "snapPointsPara";
|
||||||
snapPointsPara[] = {"N","E","W"};
|
snapPointsPara[] = {"N","E","W","CAM"};
|
||||||
allowedSnapPoints[] = {"N","S","E","W"};
|
allowedSnapPoints[] = {"N","S","E","W"};
|
||||||
// snap points for CinderWallHalf_EPOCH
|
// snap points for CinderWallHalf_EPOCH
|
||||||
N[] = {0,0,1.57378};
|
N[] = {0,0,1.57378};
|
||||||
E[] = {5.18644,0,0};
|
E[] = {5.237,0,0};
|
||||||
W[] = {-5.19304,0,0};
|
W[] = {-5.237,0,0};
|
||||||
|
CAM[] = {0,-0.47,1.4};
|
||||||
};
|
};
|
||||||
class CinderWallHalf_SIM_EPOCH : CinderWallHalf_EPOCH
|
class CinderWallHalf_SIM_EPOCH : CinderWallHalf_EPOCH
|
||||||
{
|
{
|
||||||
allowedSnapObjects[] = {"Const_Cinder_static_F","Const_floors_static_F"};
|
allowedSnapObjects[] = {"Const_Cinder_static_F","Const_floors_static_F","Const_WoodWalls_static_F"};
|
||||||
removeParts[] = {};
|
removeParts[] = {};
|
||||||
upgradeBuilding[] = {};
|
upgradeBuilding[] = {};
|
||||||
};
|
};
|
||||||
@ -578,18 +598,18 @@ class CfgBaseBuilding
|
|||||||
staticClass = "CinderWall_EPOCH";
|
staticClass = "CinderWall_EPOCH";
|
||||||
GhostPreview = "CinderWall_EPOCH";
|
GhostPreview = "CinderWall_EPOCH";
|
||||||
snapType = "snapPointsPara";
|
snapType = "snapPointsPara";
|
||||||
snapPointsPara[] = {"N","E","W"};
|
snapPointsPara[] = {"N","E","W","CAM"};
|
||||||
allowedSnapPoints[] = {"N","S","E","W"};
|
allowedSnapPoints[] = {"N","S","E","W"};
|
||||||
energyCost = 0.4;
|
energyCost = 0.4;
|
||||||
// snap points for CinderWall_EPOCH
|
// snap points for CinderWall_EPOCH
|
||||||
N[] = {0,0,3.06034};
|
N[] = {0,0,3.06034};
|
||||||
E[] = {5.18644,0,0};
|
E[] = {5.237,0,0};
|
||||||
W[] = {-5.19304,0,0};
|
W[] = {-5.237,0,0};
|
||||||
|
CAM[] = {0,-0.47,2.8};
|
||||||
};
|
};
|
||||||
class CinderWall_SIM_EPOCH : CinderWall_EPOCH
|
class CinderWall_SIM_EPOCH : CinderWall_EPOCH
|
||||||
{
|
{
|
||||||
allowedSnapObjects[] = {"Const_Cinder_static_F","Const_floors_static_F"};
|
allowedSnapObjects[] = {"Const_Cinder_static_F","Const_floors_static_F","Const_WoodWalls_static_F"};
|
||||||
upgradeBuilding[] = {};
|
upgradeBuilding[] = {};
|
||||||
removeParts[] = {};
|
removeParts[] = {};
|
||||||
};
|
};
|
||||||
@ -598,12 +618,13 @@ class CfgBaseBuilding
|
|||||||
removeParts[] = {{"CinderBlocks",4},{"ItemCorrugatedLg",1},{"CircuitParts",1}};
|
removeParts[] = {{"CinderBlocks",4},{"ItemCorrugatedLg",1},{"CircuitParts",1}};
|
||||||
staticClass = "CinderWallDoorwHatch_EPOCH";
|
staticClass = "CinderWallDoorwHatch_EPOCH";
|
||||||
snapType = "snapPointsPara";
|
snapType = "snapPointsPara";
|
||||||
snapPointsPara[] = {"N","E","W"};
|
snapPointsPara[] = {"N","E","W","CAM"};
|
||||||
allowedSnapPoints[] = {"N","S","E","W"};
|
allowedSnapPoints[] = {"N","S","E","W"};
|
||||||
// snap points for CinderWall_EPOCH
|
// snap points for CinderWall_EPOCH
|
||||||
N[] = {0,0,3.06034};
|
N[] = {0,0,3.06034};
|
||||||
E[] = {5.18644,0,0};
|
E[] = {5.237,0,0};
|
||||||
W[] = {-5.19304,0,0};
|
W[] = {-5.237,0,0};
|
||||||
|
CAM[] = {0,-0.47,2.8};
|
||||||
};
|
};
|
||||||
class WoodLargeWall_EPOCH : Default
|
class WoodLargeWall_EPOCH : Default
|
||||||
{
|
{
|
||||||
@ -617,35 +638,58 @@ class CfgBaseBuilding
|
|||||||
allowedSnapPoints[] = {"N","S","E","W"};
|
allowedSnapPoints[] = {"N","S","E","W"};
|
||||||
// snap points for WoodLargeWall_EPOCH
|
// snap points for WoodLargeWall_EPOCH
|
||||||
N[] = {0,0,3.06034};
|
N[] = {0,0,3.06034};
|
||||||
E[] = {5.23785,0,0};
|
E[] = {5.237,0,0};
|
||||||
W[] = {-5.26294,0,0};
|
W[] = {-5.237,0,0};
|
||||||
};
|
};
|
||||||
class WoodLargeWall_SIM_EPOCH : WoodLargeWall_EPOCH
|
class WoodLargeWall_SIM_EPOCH : WoodLargeWall_EPOCH
|
||||||
{
|
{
|
||||||
upgradeBuilding[] = {};
|
upgradeBuilding[] = {};
|
||||||
removeParts[] = {};
|
removeParts[] = {};
|
||||||
allowedSnapObjects[] = {"Const_floors_static_F","Const_WoodWalls_static_F"};
|
allowedSnapObjects[] = {"Const_floors_static_F","Const_WoodWalls_static_F","Const_Cinder_static_F"};
|
||||||
};
|
};
|
||||||
class WoodLargeWall_Ghost_EPOCH : WoodLargeWall_SIM_EPOCH {};
|
class WoodLargeWall_Ghost_EPOCH : WoodLargeWall_SIM_EPOCH {};
|
||||||
|
class PlyThirdWall_EPOCH : Default
|
||||||
|
{
|
||||||
|
upgradeBuilding[] = {};
|
||||||
|
removeParts[] = {{"PartPlankPack",1},{"ItemPlywoodPack",1}};
|
||||||
|
simulClass = "PlyThirdWall_SIM_EPOCH";
|
||||||
|
staticClass = "PlyThirdWall_EPOCH";
|
||||||
|
GhostPreview = "PlyThirdWall_Ghost_EPOCH";
|
||||||
|
snapType = "snapPointsPara";
|
||||||
|
snapPointsPara[] = {"N","E","W"};
|
||||||
|
allowedSnapPoints[] = {"N","S","E","W"};
|
||||||
|
// snap points for WoodLargeWall_EPOCH
|
||||||
|
N[] = {0,0,1.02012};
|
||||||
|
E[] = {5.237,0,0};
|
||||||
|
W[] = {-5.237,0,0};
|
||||||
|
};
|
||||||
|
class PlyThirdWall_SIM_EPOCH : PlyThirdWall_EPOCH
|
||||||
|
{
|
||||||
|
upgradeBuilding[] = {};
|
||||||
|
removeParts[] = {};
|
||||||
|
allowedSnapObjects[] = {"Const_floors_static_F","Const_WoodWalls_static_F","Const_Cinder_static_F"};
|
||||||
|
};
|
||||||
|
class PlyThirdWall_Ghost_EPOCH : PlyThirdWall_SIM_EPOCH {};
|
||||||
class WoodWall1_EPOCH : Default
|
class WoodWall1_EPOCH : Default
|
||||||
{
|
{
|
||||||
upgradeBuilding[] = {{"WoodWall2_EPOCH",{{"PartPlankPack",1}}},{"WoodLargeWallCor_EPOCH",{{"ItemCorrugated",1}}},{"WoodWallWindow_EPOCH",{{"ItemGlass",2}}}};
|
upgradeBuilding[] = {{"WoodWall2_EPOCH",{{"PartPlankPack",1}}},{"WoodLargeWallCor_EPOCH",{{"ItemCorrugated",1}}},{"WoodWallWindow_EPOCH",{{"ItemGlass",2}}},{"WoodWallGarage_EPOCH",{{"ItemPlywoodPack",1},{"PartPlankPack",4},{"CircuitParts",1}}}};
|
||||||
removeParts[] = {{"PartPlankPack",2}};
|
removeParts[] = {{"PartPlankPack",2}};
|
||||||
simulClass = "WoodWall1_SIM_EPOCH";
|
simulClass = "WoodWall1_SIM_EPOCH";
|
||||||
staticClass = "WoodWall1_EPOCH";
|
staticClass = "WoodWall1_EPOCH";
|
||||||
GhostPreview = "WoodWall1_EPOCH";
|
GhostPreview = "WoodWall1_EPOCH";
|
||||||
snapType = "snapPointsPara";
|
snapType = "snapPointsPara";
|
||||||
snapPointsPara[] = {"N","E","W"};
|
snapPointsPara[] = {"N","E","W","CAM"};
|
||||||
allowedSnapPoints[] = {"N","S","E","W"};
|
allowedSnapPoints[] = {"N","S","E","W"};
|
||||||
energyCost = 0.2;
|
energyCost = 0.2;
|
||||||
// snap points for WoodLargeWall_EPOCH
|
// snap points for WoodLargeWall_EPOCH
|
||||||
N[] = {0,0,3.06034};
|
N[] = {0,0,3.06034};
|
||||||
E[] = {5.23785,0,0};
|
E[] = {5.237,0,0};
|
||||||
W[] = {-5.26294,0,0};
|
W[] = {-5.237,0,0};
|
||||||
|
CAM[] = {0,-0.4,2.8};
|
||||||
};
|
};
|
||||||
class WoodWall1_SIM_EPOCH : WoodWall1_EPOCH
|
class WoodWall1_SIM_EPOCH : WoodWall1_EPOCH
|
||||||
{
|
{
|
||||||
allowedSnapObjects[] = {"Const_floors_static_F","Const_WoodWalls_static_F"};
|
allowedSnapObjects[] = {"Const_floors_static_F","Const_WoodWalls_static_F","Const_Cinder_static_F"};
|
||||||
energyCost = 0.2;
|
energyCost = 0.2;
|
||||||
upgradeBuilding[] = {};
|
upgradeBuilding[] = {};
|
||||||
removeParts[] = {};
|
removeParts[] = {};
|
||||||
@ -655,36 +699,78 @@ class CfgBaseBuilding
|
|||||||
removeParts[] = {{"ItemGlass",2},{"PartPlankPack",2}};
|
removeParts[] = {{"ItemGlass",2},{"PartPlankPack",2}};
|
||||||
staticClass = "WoodWallWindow_EPOCH";
|
staticClass = "WoodWallWindow_EPOCH";
|
||||||
snapType = "snapPointsPara";
|
snapType = "snapPointsPara";
|
||||||
snapPointsPara[] = {"N","E","W"};
|
snapPointsPara[] = {"N","E","W","CAM"};
|
||||||
allowedSnapPoints[] = {"N","S","E","W"};
|
allowedSnapPoints[] = {"N","S","E","W"};
|
||||||
energyCost = 0.5;
|
energyCost = 0.5;
|
||||||
// snap points for WoodLargeWall_EPOCH
|
// snap points for WoodLargeWall_EPOCH
|
||||||
N[] = {0,0,3.06034};
|
N[] = {0,0,3.06034};
|
||||||
E[] = {5.23785,0,0};
|
E[] = {5.237,0,0};
|
||||||
W[] = {-5.26294,0,0};
|
W[] = {-5.237,0,0};
|
||||||
|
CAM[] = {0,-0.4,2.8};
|
||||||
};
|
};
|
||||||
class WoodLargeWallCor_EPOCH : Default
|
class WoodLargeWallCor_EPOCH : Default
|
||||||
{
|
{
|
||||||
upgradeBuilding[] = {{"WoodLargeWallDoorway_EPOCH",{{"PartPlankPack",1}}}};
|
upgradeBuilding[] = {{"WoodLargeWallDoorway_EPOCH",{{"PartPlankPack",1}}},{"MetalWallGarage_EPOCH",{{"ItemCorrugated",1},{"PartPlankPack",4},{"CircuitParts",1}}}};
|
||||||
removeParts[] = {{"PartPlankPack",2},{"ItemCorrugated",1}};
|
removeParts[] = {{"PartPlankPack",2},{"ItemCorrugated",1}};
|
||||||
simulClass = "WoodLargeWallCor_SIM_EPOCH";
|
simulClass = "WoodLargeWallCor_SIM_EPOCH";
|
||||||
staticClass = "WoodLargeWallCor_EPOCH";
|
staticClass = "WoodLargeWallCor_EPOCH";
|
||||||
GhostPreview = "WoodLargeWallCor_EPOCH";
|
GhostPreview = "WoodLargeWallCor_EPOCH";
|
||||||
snapType = "snapPointsPara";
|
snapType = "snapPointsPara";
|
||||||
snapPointsPara[] = {"N","E","W"};
|
snapPointsPara[] = {"N","E","W","CAM"};
|
||||||
allowedSnapPoints[] = {"N","S","E","W"};
|
allowedSnapPoints[] = {"N","S","E","W"};
|
||||||
energyCost = 0.2;
|
energyCost = 0.2;
|
||||||
availableTextures[] = {"\x\addons\a3_epoch_assets\textures\cor\corrugated_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_black_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_blue_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_brown_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_green_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_orange_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_purple_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_red_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_teal_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_yellow_co.paa"};
|
availableTextures[] = {"\x\addons\a3_epoch_assets\textures\cor\corrugated_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_black_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_blue_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_brown_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_green_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_orange_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_purple_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_red_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_teal_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_yellow_co.paa"};
|
||||||
// snap points for WoodLargeWall_EPOCH
|
// snap points for WoodLargeWall_EPOCH
|
||||||
N[] = {0,0,3.06034};
|
N[] = {0,0,3.06034};
|
||||||
E[] = {5.23785,0,0};
|
E[] = {5.237,0,0};
|
||||||
W[] = {-5.26294,0,0};
|
W[] = {-5.237,0,0};
|
||||||
|
CAM[] = {0,-0.47,2.8};
|
||||||
};
|
};
|
||||||
class WoodLargeWallCor_SIM_EPOCH : WoodLargeWallCor_EPOCH
|
class WoodLargeWallCor_SIM_EPOCH : WoodLargeWallCor_EPOCH
|
||||||
{
|
{
|
||||||
allowedSnapObjects[] = {"Const_floors_static_F","Const_WoodWalls_static_F"};
|
allowedSnapObjects[] = {"Const_floors_static_F","Const_WoodWalls_static_F","Const_Cinder_static_F"};
|
||||||
upgradeBuilding[] = {};
|
upgradeBuilding[] = {};
|
||||||
removeParts[] = {};
|
removeParts[] = {};
|
||||||
|
};
|
||||||
|
class MetalWallGarage_EPOCH : Default
|
||||||
|
{
|
||||||
|
removeParts[] = {{"PartPlankPack",2},{"ItemScraps",2},{"CircuitParts",1}};
|
||||||
|
simulClass = "MetalWallGarage_SIM_EPOCH";
|
||||||
|
staticClass = "MetalWallGarage_EPOCH";
|
||||||
|
GhostPreview = "MetalWallGarage_EPOCH";
|
||||||
|
snapType = "snapPointsPara";
|
||||||
|
snapPointsPara[] = {"N","E","W"};
|
||||||
|
allowedSnapPoints[] = {"N","S","E","W"};
|
||||||
|
energyCost = 0.5;
|
||||||
|
// snap points for CinderWall_EPOCH
|
||||||
|
N[] = {0,0,3.06034};
|
||||||
|
E[] = {5.237,0,0};
|
||||||
|
W[] = {-5.237,0,0};
|
||||||
|
};
|
||||||
|
class MetalWallGarage_SIM_EPOCH : MetalWallGarage_EPOCH
|
||||||
|
{
|
||||||
|
allowedSnapObjects[] = {"Const_Cinder_static_F","Const_floors_static_F","Const_WoodWalls_static_F"};
|
||||||
|
removeParts[] = {};
|
||||||
|
};
|
||||||
|
class WoodWallGarage_EPOCH : Default
|
||||||
|
{
|
||||||
|
removeParts[] = {{"PartPlankPack",2},{"CircuitParts",1}};
|
||||||
|
simulClass = "WoodWallGarage_SIM_EPOCH";
|
||||||
|
staticClass = "WoodWallGarage_EPOCH";
|
||||||
|
GhostPreview = "WoodWallGarage_EPOCH";
|
||||||
|
snapType = "snapPointsPara";
|
||||||
|
snapPointsPara[] = {"N","E","W"};
|
||||||
|
allowedSnapPoints[] = {"N","S","E","W"};
|
||||||
|
energyCost = 0.5;
|
||||||
|
// snap points for CinderWall_EPOCH
|
||||||
|
N[] = {0,0,3.06034};
|
||||||
|
E[] = {5.237,0,0};
|
||||||
|
W[] = {-5.237,0,0};
|
||||||
|
};
|
||||||
|
class WoodWallGarage_SIM_EPOCH : MetalWallGarage_EPOCH
|
||||||
|
{
|
||||||
|
allowedSnapObjects[] = {"Const_Cinder_static_F","Const_floors_static_F","Const_WoodWalls_static_F"};
|
||||||
|
removeParts[] = {};
|
||||||
};
|
};
|
||||||
class WoodWall2_EPOCH : Default
|
class WoodWall2_EPOCH : Default
|
||||||
{
|
{
|
||||||
@ -693,17 +779,18 @@ class CfgBaseBuilding
|
|||||||
simulClass = "WoodWall2_SIM_EPOCH";
|
simulClass = "WoodWall2_SIM_EPOCH";
|
||||||
staticClass = "WoodWall2_EPOCH";
|
staticClass = "WoodWall2_EPOCH";
|
||||||
GhostPreview = "WoodWall2_EPOCH";
|
GhostPreview = "WoodWall2_EPOCH";
|
||||||
snapPointsPara[] = {"N","E","W"};
|
snapPointsPara[] = {"N","E","W","CAM"};
|
||||||
allowedSnapPoints[] = {"N","S","E","W"};
|
allowedSnapPoints[] = {"N","S","E","W"};
|
||||||
energyCost = 0.2;
|
energyCost = 0.2;
|
||||||
// snap points for WoodLargeWall_EPOCH
|
// snap points for WoodLargeWall_EPOCH
|
||||||
N[] = {0,0,3.06034};
|
N[] = {0,0,3.06034};
|
||||||
E[] = {5.23785,0,0};
|
E[] = {5.237,0,0};
|
||||||
W[] = {-5.26294,0,0};
|
W[] = {-5.237,0,0};
|
||||||
|
CAM[] = {0,-0.4,2.8};
|
||||||
};
|
};
|
||||||
class WoodWall2_SIM_EPOCH : WoodWall2_EPOCH
|
class WoodWall2_SIM_EPOCH : WoodWall2_EPOCH
|
||||||
{
|
{
|
||||||
allowedSnapObjects[] = {"Const_floors_static_F","Const_WoodWalls_static_F"};
|
allowedSnapObjects[] = {"Const_floors_static_F","Const_WoodWalls_static_F","Const_Cinder_static_F"};
|
||||||
upgradeBuilding[] = {};
|
upgradeBuilding[] = {};
|
||||||
removeParts[] = {};
|
removeParts[] = {};
|
||||||
};
|
};
|
||||||
@ -714,18 +801,19 @@ class CfgBaseBuilding
|
|||||||
simulClass = "WoodLargeWallDoorway_SIM_EPOCH";
|
simulClass = "WoodLargeWallDoorway_SIM_EPOCH";
|
||||||
staticClass = "WoodLargeWallDoorway_EPOCH";
|
staticClass = "WoodLargeWallDoorway_EPOCH";
|
||||||
GhostPreview = "WoodLargeWallDoorway_EPOCH";
|
GhostPreview = "WoodLargeWallDoorway_EPOCH";
|
||||||
snapPointsPara[] = {"N","E","W"};
|
snapPointsPara[] = {"N","E","W","CAM"};
|
||||||
allowedSnapPoints[] = {"N","S","E","W"};
|
allowedSnapPoints[] = {"N","S","E","W"};
|
||||||
energyCost = 0.2;
|
energyCost = 0.2;
|
||||||
availableTextures[] = {"\x\addons\a3_epoch_assets\textures\cor\corrugated_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_black_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_blue_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_brown_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_green_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_orange_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_purple_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_red_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_teal_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_yellow_co.paa"};
|
availableTextures[] = {"\x\addons\a3_epoch_assets\textures\cor\corrugated_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_black_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_blue_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_brown_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_green_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_orange_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_purple_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_red_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_teal_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_yellow_co.paa"};
|
||||||
// snap points for WoodLargeWall_EPOCH
|
// snap points for WoodLargeWall_EPOCH
|
||||||
N[] = {0,0,3.06034};
|
N[] = {0,0,3.06034};
|
||||||
E[] = {5.23785,0,0};
|
E[] = {5.237,0,0};
|
||||||
W[] = {-5.26294,0,0};
|
W[] = {-5.237,0,0};
|
||||||
|
CAM[] = {0,-0.47,2.8};
|
||||||
};
|
};
|
||||||
class WoodLargeWallDoorway_SIM_EPOCH : WoodLargeWallDoorway_EPOCH
|
class WoodLargeWallDoorway_SIM_EPOCH : WoodLargeWallDoorway_EPOCH
|
||||||
{
|
{
|
||||||
allowedSnapObjects[] = {"Const_floors_static_F","Const_WoodWalls_static_F"};
|
allowedSnapObjects[] = {"Const_floors_static_F","Const_WoodWalls_static_F","Const_Cinder_static_F"};
|
||||||
upgradeBuilding[] = {};
|
upgradeBuilding[] = {};
|
||||||
removeParts[] = {};
|
removeParts[] = {};
|
||||||
};
|
};
|
||||||
@ -736,17 +824,18 @@ class CfgBaseBuilding
|
|||||||
simulClass = "WoodWall3_SIM_EPOCH";
|
simulClass = "WoodWall3_SIM_EPOCH";
|
||||||
staticClass = "WoodWall3_EPOCH";
|
staticClass = "WoodWall3_EPOCH";
|
||||||
GhostPreview = "WoodWall3_EPOCH";
|
GhostPreview = "WoodWall3_EPOCH";
|
||||||
snapPointsPara[] = {"N","E","W"};
|
snapPointsPara[] = {"N","E","W","CAM"};
|
||||||
allowedSnapPoints[] = {"N","S","E","W"};
|
allowedSnapPoints[] = {"N","S","E","W"};
|
||||||
energyCost = 0.2;
|
energyCost = 0.2;
|
||||||
// snap points for WoodLargeWall_EPOCH
|
// snap points for WoodLargeWall_EPOCH
|
||||||
N[] = {0,0,3.06034};
|
N[] = {0,0,3.06034};
|
||||||
E[] = {5.23785,0,0};
|
E[] = {5.237,0,0};
|
||||||
W[] = {-5.26294,0,0};
|
W[] = {-5.237,0,0};
|
||||||
|
CAM[] = {0,-0.4,2.8};
|
||||||
};
|
};
|
||||||
class WoodWall3_SIM_EPOCH : WoodWall3_EPOCH
|
class WoodWall3_SIM_EPOCH : WoodWall3_EPOCH
|
||||||
{
|
{
|
||||||
allowedSnapObjects[] = {"Const_floors_static_F","Const_WoodWalls_static_F"};
|
allowedSnapObjects[] = {"Const_floors_static_F","Const_WoodWalls_static_F","Const_Cinder_static_F"};
|
||||||
upgradeBuilding[] = {};
|
upgradeBuilding[] = {};
|
||||||
removeParts[] = {};
|
removeParts[] = {};
|
||||||
};
|
};
|
||||||
@ -757,18 +846,19 @@ class CfgBaseBuilding
|
|||||||
simulClass = "WoodLargeWallDoor_SIM_EPOCH";
|
simulClass = "WoodLargeWallDoor_SIM_EPOCH";
|
||||||
staticClass = "WoodLargeWallDoor_EPOCH";
|
staticClass = "WoodLargeWallDoor_EPOCH";
|
||||||
GhostPreview = "WoodLargeWallDoor_EPOCH";
|
GhostPreview = "WoodLargeWallDoor_EPOCH";
|
||||||
snapPointsPara[] = {"N","E","W"};
|
snapPointsPara[] = {"N","E","W","CAM"};
|
||||||
allowedSnapPoints[] = {"N","S","E","W"};
|
allowedSnapPoints[] = {"N","S","E","W"};
|
||||||
availableTextures[] = {"\x\addons\a3_epoch_assets\textures\cor\corrugated_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_black_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_blue_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_brown_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_green_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_orange_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_purple_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_red_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_teal_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_yellow_co.paa"};
|
availableTextures[] = {"\x\addons\a3_epoch_assets\textures\cor\corrugated_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_black_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_blue_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_brown_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_green_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_orange_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_purple_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_red_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_teal_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_yellow_co.paa"};
|
||||||
energyCost = 0.2;
|
energyCost = 0.2;
|
||||||
// snap points for WoodLargeWall_EPOCH
|
// snap points for WoodLargeWall_EPOCH
|
||||||
N[] = {0,0,3.06034};
|
N[] = {0,0,3.06034};
|
||||||
E[] = {5.23785,0,0};
|
E[] = {5.237,0,0};
|
||||||
W[] = {-5.26294,0,0};
|
W[] = {-5.237,0,0};
|
||||||
|
CAM[] = {0,-0.47,2.8};
|
||||||
};
|
};
|
||||||
class WoodLargeWallDoor_SIM_EPOCH : WoodLargeWallDoor_EPOCH
|
class WoodLargeWallDoor_SIM_EPOCH : WoodLargeWallDoor_EPOCH
|
||||||
{
|
{
|
||||||
allowedSnapObjects[] = {"Const_floors_static_F","Const_WoodWalls_static_F"};
|
allowedSnapObjects[] = {"Const_floors_static_F","Const_WoodWalls_static_F","Const_Cinder_static_F"};
|
||||||
upgradeBuilding[] = {};
|
upgradeBuilding[] = {};
|
||||||
removeParts[] = {};
|
removeParts[] = {};
|
||||||
};
|
};
|
||||||
@ -778,17 +868,18 @@ class CfgBaseBuilding
|
|||||||
simulClass = "WoodWall4_SIM_EPOCH";
|
simulClass = "WoodWall4_SIM_EPOCH";
|
||||||
staticClass = "WoodWall4_EPOCH";
|
staticClass = "WoodWall4_EPOCH";
|
||||||
GhostPreview = "WoodWall4_EPOCH";
|
GhostPreview = "WoodWall4_EPOCH";
|
||||||
snapPointsPara[] = {"N","E","W"};
|
snapPointsPara[] = {"N","E","W","CAM"};
|
||||||
allowedSnapPoints[] = {"N","S","E","W"};
|
allowedSnapPoints[] = {"N","S","E","W"};
|
||||||
energyCost = 0.2;
|
energyCost = 0.2;
|
||||||
// snap points for WoodLargeWall_EPOCH
|
// snap points for WoodLargeWall_EPOCH
|
||||||
N[] = {0,0,3.06034};
|
N[] = {0,0,3.06034};
|
||||||
E[] = {5.23785,0,0};
|
E[] = {5.237,0,0};
|
||||||
W[] = {-5.26294,0,0};
|
W[] = {-5.237,0,0};
|
||||||
|
CAM[] = {0,-0.4,2.8};
|
||||||
};
|
};
|
||||||
class WoodWall4_SIM_EPOCH : WoodWall4_EPOCH
|
class WoodWall4_SIM_EPOCH : WoodWall4_EPOCH
|
||||||
{
|
{
|
||||||
allowedSnapObjects[] = {"Const_floors_static_F","Const_WoodWalls_static_F"};
|
allowedSnapObjects[] = {"Const_floors_static_F","Const_WoodWalls_static_F","Const_Cinder_static_F"};
|
||||||
upgradeBuilding[] = {};
|
upgradeBuilding[] = {};
|
||||||
removeParts[] = {};
|
removeParts[] = {};
|
||||||
};
|
};
|
||||||
@ -798,18 +889,19 @@ class CfgBaseBuilding
|
|||||||
simulClass = "WoodLargeWallDoorL_SIM_EPOCH";
|
simulClass = "WoodLargeWallDoorL_SIM_EPOCH";
|
||||||
staticClass = "WoodLargeWallDoorL_EPOCH";
|
staticClass = "WoodLargeWallDoorL_EPOCH";
|
||||||
GhostPreview = "WoodLargeWallDoorL_EPOCH";
|
GhostPreview = "WoodLargeWallDoorL_EPOCH";
|
||||||
snapPointsPara[] = {"N","E","W"};
|
snapPointsPara[] = {"N","E","W","CAM"};
|
||||||
allowedSnapPoints[] = {"N","S","E","W"};
|
allowedSnapPoints[] = {"N","S","E","W"};
|
||||||
availableTextures[] = {"\x\addons\a3_epoch_assets\textures\cor\corrugated_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_black_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_blue_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_brown_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_green_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_orange_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_purple_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_red_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_teal_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_yellow_co.paa"};
|
availableTextures[] = {"\x\addons\a3_epoch_assets\textures\cor\corrugated_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_black_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_blue_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_brown_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_green_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_orange_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_purple_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_red_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_teal_co.paa","\x\addons\a3_epoch_assets\textures\cor\corrugated_yellow_co.paa"};
|
||||||
energyCost = 0.2;
|
energyCost = 0.2;
|
||||||
// snap points for WoodLargeWall_EPOCH
|
// snap points for WoodLargeWall_EPOCH
|
||||||
N[] = {0,0,3.06034};
|
N[] = {0,0,3.06034};
|
||||||
E[] = {5.23785,0,0};
|
E[] = {5.237,0,0};
|
||||||
W[] = {-5.26294,0,0};
|
W[] = {-5.237,0,0};
|
||||||
|
CAM[] = {0,-0.47,2.8};
|
||||||
};
|
};
|
||||||
class WoodLargeWallDoorL_SIM_EPOCH : WoodLargeWallDoorL_EPOCH
|
class WoodLargeWallDoorL_SIM_EPOCH : WoodLargeWallDoorL_EPOCH
|
||||||
{
|
{
|
||||||
allowedSnapObjects[] = {"Const_floors_static_F","Const_WoodWalls_static_F"};
|
allowedSnapObjects[] = {"Const_floors_static_F","Const_WoodWalls_static_F","Const_Cinder_static_F"};
|
||||||
upgradeBuilding[] = {};
|
upgradeBuilding[] = {};
|
||||||
removeParts[] = {};
|
removeParts[] = {};
|
||||||
};
|
};
|
||||||
@ -871,7 +963,7 @@ class CfgBaseBuilding
|
|||||||
};
|
};
|
||||||
class WoodStairs_SIM_EPOCH : WoodStairs_EPOCH
|
class WoodStairs_SIM_EPOCH : WoodStairs_EPOCH
|
||||||
{
|
{
|
||||||
allowedSnapPoints[] = {"NF","SF","EF","WF","CB"};
|
allowedSnapPoints[] = {"NF","SF","EF","WF","CB","CS"};
|
||||||
allowedSnapObjects[] = {"Const_floors_static_F","Constructions_foundation_F"};
|
allowedSnapObjects[] = {"Const_floors_static_F","Constructions_foundation_F"};
|
||||||
upgradeBuilding[] = {};
|
upgradeBuilding[] = {};
|
||||||
removeParts[] = {};
|
removeParts[] = {};
|
||||||
@ -879,6 +971,7 @@ class CfgBaseBuilding
|
|||||||
class WoodStairs_Ghost_EPOCH : WoodStairs_SIM_EPOCH {};
|
class WoodStairs_Ghost_EPOCH : WoodStairs_SIM_EPOCH {};
|
||||||
class WoodStairs2_EPOCH : Default
|
class WoodStairs2_EPOCH : Default
|
||||||
{
|
{
|
||||||
|
upgradeBuilding[] = {{"WoodStairs3_EPOCH",{{"ItemPipe",1},{"CircuitParts",1}}}};
|
||||||
removeParts[] = {{"PartPlankPack",4}};
|
removeParts[] = {{"PartPlankPack",4}};
|
||||||
simulClass = "WoodStairs2_SIM_EPOCH";
|
simulClass = "WoodStairs2_SIM_EPOCH";
|
||||||
staticClass = "WoodStairs2_EPOCH";
|
staticClass = "WoodStairs2_EPOCH";
|
||||||
@ -893,6 +986,7 @@ class CfgBaseBuilding
|
|||||||
WF2[] = {-5.237,-0.003,0};
|
WF2[] = {-5.237,-0.003,0};
|
||||||
C[] = {-0.000251044,-0.00293543,6.37273};
|
C[] = {-0.000251044,-0.00293543,6.37273};
|
||||||
CB[] = {-0.000299305,-0.000390954,3.32902};
|
CB[] = {-0.000299305,-0.000390954,3.32902};
|
||||||
|
CS[] = {-0.000251044,-0.00293543,3.060298}; // 2x WoodStairs without Space for Floor
|
||||||
CinN[] = {0.0214193,2.87136,3.05972};
|
CinN[] = {0.0214193,2.87136,3.05972};
|
||||||
CinE[] = {2.87868,-0.000390954,3.05972};
|
CinE[] = {2.87868,-0.000390954,3.05972};
|
||||||
CinS[] = {0.0214193,-2.86826,3.05972};
|
CinS[] = {0.0214193,-2.86826,3.05972};
|
||||||
@ -938,6 +1032,68 @@ class CfgBaseBuilding
|
|||||||
allowedSnapObjects[] = {"Const_floors_static_F","Constructions_foundation_F"};
|
allowedSnapObjects[] = {"Const_floors_static_F","Constructions_foundation_F"};
|
||||||
removeParts[] = {};
|
removeParts[] = {};
|
||||||
};
|
};
|
||||||
|
class WoodStairs3_EPOCH : Default
|
||||||
|
{
|
||||||
|
removeParts[] = {{"PartPlankPack",4},{"ItemPipe",1},{"CircuitParts",1}};
|
||||||
|
simulClass = "WoodStairs3_SIM_EPOCH";
|
||||||
|
staticClass = "WoodStairs3_EPOCH";
|
||||||
|
GhostPreview = "WoodStairs3_EPOCH";
|
||||||
|
snapPointsPara[] = {"NF2","SF2","EF2","WF2","NF","SF","EF","WF","C","CB","NWQF","NQF","NEQF","SWQF","SQF","SEQF","ENQF","EQF","ESQF","WNQF","WQF","WSQF","NWHF","NEHF","SWHF","SEHF","WNHF","WSHF","ENHF","ESHF"};
|
||||||
|
snapPointsPerp[] = {"N","S","E","W","CinN","CinS","CinE","CinW"};
|
||||||
|
energyCost = 0.3;
|
||||||
|
// snap points for WoodStairs_EPOCH
|
||||||
|
NF2[] = {0,5.237,0};
|
||||||
|
SF2[] = {0,-5.237,0};
|
||||||
|
EF2[] = {5.237,0,0};
|
||||||
|
WF2[] = {-5.237,-0.003,0};
|
||||||
|
C[] = {-0.000251044,-0.00293543,6.37273};
|
||||||
|
CB[] = {-0.000299305,-0.000390954,3.32902};
|
||||||
|
CS[] = {-0.000251044,-0.00293543,3.060298}; // 2x WoodStairs without Space for Floor
|
||||||
|
CinN[] = {0.0214193,2.87136,3.05972};
|
||||||
|
CinE[] = {2.87868,-0.000390954,3.05972};
|
||||||
|
CinS[] = {0.0214193,-2.86826,3.05972};
|
||||||
|
CinW[] = {-2.88969,-0.000390954,3.05972};
|
||||||
|
N[] = {0.0195083,2.46379,3.32952};
|
||||||
|
E[] = {2.47112,-0.000253316,3.32952};
|
||||||
|
S[] = {0.0195083,-2.46097,3.32952};
|
||||||
|
W[] = {-2.4783,-0.000253316,3.32952};
|
||||||
|
NE[] = {2.47112,2.46379,3.32952};
|
||||||
|
NW[] = {-2.4783,2.46379,3.32952};
|
||||||
|
SE[] = {2.47112,-2.46097,3.32952};
|
||||||
|
SW[] = {-2.4783,-2.46097,3.32952};
|
||||||
|
NF[] = {0,5.237,3.06};
|
||||||
|
SF[] = {0,-5.237,3.06};
|
||||||
|
EF[] = {5.237,0,3.06};
|
||||||
|
WF[] = {-5.237,0,3.06};
|
||||||
|
NWQF[] = {-1.30925,3.92775,3.06};
|
||||||
|
NQF[] = {0,3.92775,3.06};
|
||||||
|
NEQF[] = {1.30925,3.92775,3.06};
|
||||||
|
SWQF[] = {-1.30925,-3.92775,3.06};
|
||||||
|
SQF[] = {0,-3.92775,3.06};
|
||||||
|
SEQF[] = {1.30925,-3.92775,3.06};
|
||||||
|
ENQF[] = {3.92775,1.30925,3.06};
|
||||||
|
EQF[] = {3.92775,0,3.06};
|
||||||
|
ESQF[] = {3.92775,-1.30925,3.06};
|
||||||
|
WNQF[] = {-3.92775,1.30925,3.06};
|
||||||
|
WQF[] = {-3.92775,0,3.06};
|
||||||
|
WSQF[] = {-3.92775,-1.30925,3.06};
|
||||||
|
|
||||||
|
NWHF[] = {-1.30925,5.237,3.06};
|
||||||
|
NEHF[] = {1.30925,5.237,3.06};
|
||||||
|
SWHF[] = {-1.30925,-5.237,3.06};
|
||||||
|
SEHF[] = {1.30925,-5.237,3.06};
|
||||||
|
WNHF[] = {-5.237,1.30925,3.06};
|
||||||
|
WSHF[] = {-5.237,-1.30925,3.06};
|
||||||
|
ENHF[] = {5.237,1.30925,3.06};
|
||||||
|
ESHF[] = {5.237,-1.30925,3.06};
|
||||||
|
|
||||||
|
};
|
||||||
|
class WoodStairs3_SIM_EPOCH : WoodStairs3_EPOCH
|
||||||
|
{
|
||||||
|
allowedSnapPoints[] = {"NF","SF","EF","WF","CB"};
|
||||||
|
allowedSnapObjects[] = {"Const_floors_static_F","Constructions_foundation_F"};
|
||||||
|
removeParts[] = {};
|
||||||
|
};
|
||||||
class WoodTower_EPOCH : Default
|
class WoodTower_EPOCH : Default
|
||||||
{
|
{
|
||||||
removeParts[] = {{"PartPlankPack",4}};
|
removeParts[] = {{"PartPlankPack",4}};
|
||||||
@ -1111,6 +1267,30 @@ class CfgBaseBuilding
|
|||||||
removeParts[] = {};
|
removeParts[] = {};
|
||||||
};
|
};
|
||||||
class WorkBench_Ghost_EPOCH : WorkBench_SIM_EPOCH {};
|
class WorkBench_Ghost_EPOCH : WorkBench_SIM_EPOCH {};
|
||||||
|
class SolarCharger_EPOCH : Default
|
||||||
|
{
|
||||||
|
removeParts[] = {{"KitSolarCharger",1}};
|
||||||
|
GhostPreview = "SolarCharger_Ghost_EPOCH";
|
||||||
|
staticClass = "SolarCharger_EPOCH";
|
||||||
|
simulClass = "SolarCharger_SIM_EPOCH";
|
||||||
|
};
|
||||||
|
class SolarCharger_SIM_EPOCH : SolarCharger_EPOCH
|
||||||
|
{
|
||||||
|
removeParts[] = {};
|
||||||
|
};
|
||||||
|
class SolarCharger_Ghost_EPOCH : SolarCharger_SIM_EPOCH {};
|
||||||
|
class SolarChargerXL_EPOCH : Default
|
||||||
|
{
|
||||||
|
removeParts[] = {{"KitSolarChargerXL",1}};
|
||||||
|
GhostPreview = "SolarChargerXL_Ghost_EPOCH";
|
||||||
|
staticClass = "SolarChargerXL_EPOCH";
|
||||||
|
simulClass = "SolarChargerXL_SIM_EPOCH";
|
||||||
|
};
|
||||||
|
class SolarChargerXL_SIM_EPOCH : SolarChargerXL_EPOCH
|
||||||
|
{
|
||||||
|
removeParts[] = {};
|
||||||
|
};
|
||||||
|
class SolarChargerXL_Ghost_EPOCH : SolarChargerXL_SIM_EPOCH {};
|
||||||
class LockBox_EPOCH : Default
|
class LockBox_EPOCH : Default
|
||||||
{
|
{
|
||||||
returnOnPack[] = {{"ItemLockbox",1}};
|
returnOnPack[] = {{"ItemLockbox",1}};
|
||||||
@ -1391,6 +1571,44 @@ class CfgBaseBuilding
|
|||||||
removeParts[] = {};
|
removeParts[] = {};
|
||||||
};
|
};
|
||||||
class WaterPump_Ghost_EPOCH : WaterPump_SIM_EPOCH {};
|
class WaterPump_Ghost_EPOCH : WaterPump_SIM_EPOCH {};
|
||||||
|
class BaseCam_EPOCH : Default
|
||||||
|
{
|
||||||
|
removeParts[] = {{"BaseCam",1}};
|
||||||
|
GhostPreview = "BaseCam_Ghost_EPOCH";
|
||||||
|
staticClass = "BaseCam_EPOCH";
|
||||||
|
simulClass = "BaseCam_SIM_EPOCH";
|
||||||
|
};
|
||||||
|
class BaseCam_SIM_EPOCH : BaseCam_EPOCH
|
||||||
|
{
|
||||||
|
removeParts[] = {};
|
||||||
|
allowedSnapPoints[] = {"CAM"};
|
||||||
|
allowedSnapObjects[] = {"Const_WoodWalls_static_F","Const_Cinder_static_F"};
|
||||||
|
};
|
||||||
|
class BaseCam_Ghost_EPOCH : BaseCam_SIM_EPOCH {};
|
||||||
|
class BaseCamTerminal_EPOCH : Default
|
||||||
|
{
|
||||||
|
removeParts[] = {{"BaseCamTerminal",1}};
|
||||||
|
GhostPreview = "BaseCamTerminal_Ghost_EPOCH";
|
||||||
|
staticClass = "BaseCamTerminal_EPOCH";
|
||||||
|
simulClass = "BaseCamTerminal_SIM_EPOCH";
|
||||||
|
};
|
||||||
|
class BaseCamTerminal_SIM_EPOCH : BaseCamTerminal_EPOCH
|
||||||
|
{
|
||||||
|
removeParts[] = {};
|
||||||
|
};
|
||||||
|
class BaseCamTerminal_Ghost_EPOCH : BaseCamTerminal_SIM_EPOCH {};
|
||||||
|
class snowman_EPOCH : Default
|
||||||
|
{
|
||||||
|
removeParts[] = {{1,"KitSnowman"}};
|
||||||
|
GhostPreview = "snowman_Ghost_EPOCH";
|
||||||
|
staticClass = "snowman_EPOCH";
|
||||||
|
simulClass = "snowman_SIM_EPOCH";
|
||||||
|
};
|
||||||
|
class snowman_SIM_EPOCH : snowman_EPOCH
|
||||||
|
{
|
||||||
|
removeParts[] = {};
|
||||||
|
};
|
||||||
|
class snowman_Ghost_EPOCH : snowman_SIM_EPOCH {};
|
||||||
};
|
};
|
||||||
|
|
||||||
/*[[[end]]]*/
|
/*[[[end]]]*/
|
||||||
|
@ -51,6 +51,8 @@ class CfgClientFunctions
|
|||||||
class unit_onKilledEH {};
|
class unit_onKilledEH {};
|
||||||
class AutoRun_Check {};
|
class AutoRun_Check {};
|
||||||
class AutoRun {};
|
class AutoRun {};
|
||||||
|
class DefibrillatorUse {};
|
||||||
|
class CamUse {};
|
||||||
};
|
};
|
||||||
class building
|
class building
|
||||||
{
|
{
|
||||||
|
@ -99,7 +99,7 @@ class CfgCrafting
|
|||||||
/** --------- RECIPES BELOW --------- **/
|
/** --------- RECIPES BELOW --------- **/
|
||||||
class ItemCoolerE : Part
|
class ItemCoolerE : Part
|
||||||
{
|
{
|
||||||
usedIn[] = {"ItemCooler0","ItemCooler1","ItemCooler2","ItemCooler3","ItemCooler4"};
|
usedIn[] = {"ItemCooler0","ItemCooler1","ItemCooler2","ItemCooler3","ItemCooler4","KitSnowman"};
|
||||||
previewPosition[] = {0.795709,1,0.415296};
|
previewPosition[] = {0.795709,1,0.415296};
|
||||||
previewScale = 0.8;
|
previewScale = 0.8;
|
||||||
previewVector = 0;
|
previewVector = 0;
|
||||||
@ -148,7 +148,7 @@ class CfgCrafting
|
|||||||
};
|
};
|
||||||
class CircuitParts : Part
|
class CircuitParts : Part
|
||||||
{
|
{
|
||||||
usedIn[] = {"EnergyPack","EnergyPackLg","KitPlotPole","ItemBattery","KitSolarGen","KitVehicleUpgradeI_200_EPOCH","KitVehicleUpgradeIV_200_EPOCH","BarrelBomb_EPOCH_Remote_Mag","BarrelBomb2_EPOCH_Remote_Mag","KitPortableLight_Single","KitPortableLight_Double"};
|
usedIn[] = {"EnergyPack","EnergyPackLg","KitPlotPole","ItemBattery","KitSolarGen","KitSolarCharger","KitSolarChargerXL","KitVehicleUpgradeI_200_EPOCH","KitVehicleUpgradeIV_200_EPOCH","BarrelBomb_EPOCH_Remote_Mag","BarrelBomb2_EPOCH_Remote_Mag","KitPortableLight_Single","KitPortableLight_Double","BaseCam","BaseCamTerminal"};
|
||||||
previewPosition[] = {0.791044,1,0.256956};
|
previewPosition[] = {0.791044,1,0.256956};
|
||||||
previewScale = 2;
|
previewScale = 2;
|
||||||
previewVector = 2.3;
|
previewVector = 2.3;
|
||||||
@ -415,7 +415,7 @@ class CfgCrafting
|
|||||||
};
|
};
|
||||||
class ItemScraps : Item
|
class ItemScraps : Item
|
||||||
{
|
{
|
||||||
usedIn[] = {"ItemCorrugated","KitMetalTrap","MeleeRod","KitVehicleUpgradeIV_200_EPOCH","KitBarbedWire"};
|
usedIn[] = {"ItemCorrugated","KitMetalTrap","MeleeRod","KitVehicleUpgradeIV_200_EPOCH","KitBarbedWire","BaseCam","BaseCamTerminal"};
|
||||||
nearby[] = {{"Fire","","fire",{1,{"ALL"}},3,1,1,0}};
|
nearby[] = {{"Fire","","fire",{1,{"ALL"}},3,1,1,0}};
|
||||||
recipe[] = {{"PartOre",2}};
|
recipe[] = {{"PartOre",2}};
|
||||||
previewPosition[] = {0.797144,1,0.309158};
|
previewPosition[] = {0.797144,1,0.309158};
|
||||||
@ -466,10 +466,17 @@ class CfgCrafting
|
|||||||
};
|
};
|
||||||
class ItemDuctTape : Part
|
class ItemDuctTape : Part
|
||||||
{
|
{
|
||||||
usedIn[] = {"SpareTire","EngineParts","ItemRotor"};
|
usedIn[] = {"SpareTire","EngineParts","ItemRotor","BaseCam","BaseCamTerminal"};
|
||||||
previewPosition[] = {0.807346,1,0.27};
|
previewPosition[] = {0.807346,1,0.27};
|
||||||
previewScale = 1.8;
|
previewScale = 1.8;
|
||||||
previewVector = -3.9;
|
previewVector = -3.9;
|
||||||
|
};
|
||||||
|
class ItemGlass : Part
|
||||||
|
{
|
||||||
|
usedIn[] = {"BaseCam", "BaseCamTerminal"};
|
||||||
|
previewPosition[] = {0.807346,1,0.27};
|
||||||
|
previewScale = 0.55;
|
||||||
|
previewVector = -3.9;
|
||||||
};
|
};
|
||||||
class EngineParts : Item
|
class EngineParts : Item
|
||||||
{
|
{
|
||||||
@ -786,6 +793,13 @@ class CfgCrafting
|
|||||||
previewScale = 0.4;
|
previewScale = 0.4;
|
||||||
previewVector = 2.1;
|
previewVector = 2.1;
|
||||||
};
|
};
|
||||||
|
class icecream_epoch : Part
|
||||||
|
{
|
||||||
|
usedIn[] = {"KitSnowman"};
|
||||||
|
previewPosition[] = {0.796141,1,0.27};
|
||||||
|
previewScale = 0.7;
|
||||||
|
previewVector = 2.1;
|
||||||
|
};
|
||||||
class emptyjar_epoch : Part
|
class emptyjar_epoch : Part
|
||||||
{
|
{
|
||||||
usedIn[] = {"water_epoch"};
|
usedIn[] = {"water_epoch"};
|
||||||
@ -802,7 +816,7 @@ class CfgCrafting
|
|||||||
};
|
};
|
||||||
class clean_water_epoch : Item
|
class clean_water_epoch : Item
|
||||||
{
|
{
|
||||||
usedIn[] = {"EnergyPack"};
|
usedIn[] = {"EnergyPack","KitSnowman"};
|
||||||
nearby[] = {{"Fire","","fire",{1,{"ALL"}},3,1,1,0}};
|
nearby[] = {{"Fire","","fire",{1,{"ALL"}},3,1,1,0}};
|
||||||
recipe[] = {"water_epoch"};
|
recipe[] = {"water_epoch"};
|
||||||
previewPosition[] = {0.807346,1,0.43035};
|
previewPosition[] = {0.807346,1,0.43035};
|
||||||
@ -819,7 +833,7 @@ class CfgCrafting
|
|||||||
};
|
};
|
||||||
class ItemCorrugatedLg : Item
|
class ItemCorrugatedLg : Item
|
||||||
{
|
{
|
||||||
usedIn[] = {"KitPlotPole","KitTankTrap","KitHesco3","KitSolarGen","ItemRotor","EngineBlock","KitMetalFloor","KitMetalHalfFloor","KitMetalQuarterFloor","KitMetalTower","KitFieldToilet","KitSink","KitPortableLight_Single","KitPortableLight_Double","KitBarbedWire"};
|
usedIn[] = {"KitPlotPole","KitTankTrap","KitHesco3","KitSolarGen","KitSolarCharger","KitSolarChargerXL","ItemRotor","EngineBlock","KitMetalFloor","KitMetalHalfFloor","KitMetalQuarterFloor","KitMetalTower","KitFieldToilet","KitSink","KitPortableLight_Single","KitPortableLight_Double","KitBarbedWire"};
|
||||||
recipe[] = {{"ItemCorrugated",3}};
|
recipe[] = {{"ItemCorrugated",3}};
|
||||||
nearby[] = {{"Workbench","","workbench",{1,{"WorkBench_EPOCH"}},3,1,0,1}};
|
nearby[] = {{"Workbench","","workbench",{1,{"WorkBench_EPOCH"}},3,1,0,1}};
|
||||||
previewPosition[] = {0.797491,1,0.32899};
|
previewPosition[] = {0.797491,1,0.32899};
|
||||||
@ -828,7 +842,7 @@ class CfgCrafting
|
|||||||
};
|
};
|
||||||
class PartPlankPack : Item
|
class PartPlankPack : Item
|
||||||
{
|
{
|
||||||
usedIn[] = {"KitStudWall","KitWoodFloor","KitWoodFoundation","KitWoodStairs","KitWoodRamp","KitWoodLadder","KitWoodTower","KitTiPi","KitWorkbench","KitSpikeTrap","KitMetalTrap","KitWoodQuarterFloor","KitWoodHalfFloor","KitBarGate","KitBagBunker","KitWatchTower","KitLightPole","KitScaffolding"};
|
usedIn[] = {"KitStudWall","KitWoodFloor","KitWoodFoundation","KitWoodStairs","KitWoodRamp","KitWoodLadder","KitWoodTower","KitTiPi","KitWorkbench","KitSpikeTrap","KitMetalTrap","KitWoodQuarterFloor","KitWoodHalfFloor","KitBarGate","KitBagBunker","KitWatchTower","KitLightPole","KitScaffolding","KitPlyThirdWall_EPOCH"};
|
||||||
recipe[] = {{"WoodLog_EPOCH",2}};
|
recipe[] = {{"WoodLog_EPOCH",2}};
|
||||||
previewPosition[] = {0.797837,1,0.288258};
|
previewPosition[] = {0.797837,1,0.288258};
|
||||||
previewScale = 0.2;
|
previewScale = 0.2;
|
||||||
@ -837,7 +851,7 @@ class CfgCrafting
|
|||||||
};
|
};
|
||||||
class ItemPlywoodPack : Item
|
class ItemPlywoodPack : Item
|
||||||
{
|
{
|
||||||
usedIn[] = {};
|
usedIn[] = {"KitPlyThirdWall_EPOCH"};
|
||||||
recipe[] = {{"WoodLog_EPOCH",3}};
|
recipe[] = {{"WoodLog_EPOCH",3}};
|
||||||
previewPosition[] = {0.797837,1,0.288258};
|
previewPosition[] = {0.797837,1,0.288258};
|
||||||
previewScale = 0.2;
|
previewScale = 0.2;
|
||||||
@ -879,6 +893,17 @@ class CfgCrafting
|
|||||||
previewScale = 0.07;
|
previewScale = 0.07;
|
||||||
previewVector = 0;
|
previewVector = 0;
|
||||||
};
|
};
|
||||||
|
class KitPlyThirdWall_EPOCH : Kit
|
||||||
|
{
|
||||||
|
recipe[] = {{"PartPlankPack",2},{"ItemPlywoodPack",1}};
|
||||||
|
model = "\x\addons\a3_epoch_community\models\third_ply_wall.p3d";
|
||||||
|
nearby[] = {{"Workbench","","workbench",{1,{"WorkBench_EPOCH"}},3,1,0,1}};
|
||||||
|
previewPosition[] = {0.797675,1,0.398882};
|
||||||
|
previewScale = 0.07;
|
||||||
|
previewVector = 0;
|
||||||
|
descriptionShort = "1/3 Plywood Wall";
|
||||||
|
descriptionFull = "Base building material";
|
||||||
|
};
|
||||||
class KitWoodFloor : Kit
|
class KitWoodFloor : Kit
|
||||||
{
|
{
|
||||||
usedIn[] = {"KitWoodTower","KitBagBunker"};
|
usedIn[] = {"KitWoodTower","KitBagBunker"};
|
||||||
@ -1117,9 +1142,20 @@ class CfgCrafting
|
|||||||
previewScale = 0.055;
|
previewScale = 0.055;
|
||||||
previewVector = 0;
|
previewVector = 0;
|
||||||
};
|
};
|
||||||
|
class KitSnowman : Kit
|
||||||
|
{
|
||||||
|
recipe[] = {{"ItemCoolerE",1},{"icecream_epoch",1},{"clean_water_epoch",2}};
|
||||||
|
model = "\x\addons\a3_epoch_community\models\hol_x\epoch_snowman.p3d";
|
||||||
|
nearby[] = {{"Workbench","","workbench",{1,{"WorkBench_EPOCH"}},3,1,0,1}};
|
||||||
|
previewPosition[] = {0.801378,1,0.29};
|
||||||
|
previewScale = 0.15;
|
||||||
|
previewVector = 0;
|
||||||
|
descriptionShort = "Snowman";
|
||||||
|
descriptionFull = "Nice deco for Wintertime";
|
||||||
|
};
|
||||||
class ItemSolar : Part
|
class ItemSolar : Part
|
||||||
{
|
{
|
||||||
usedIn[] = {"KitSolarGen"};
|
usedIn[] = {"KitSolarGen","KitSolarCharger","KitSolarChargerXL"};
|
||||||
previewPosition[] = {0.802374,1,0.26};
|
previewPosition[] = {0.802374,1,0.26};
|
||||||
previewScale = 0.19;
|
previewScale = 0.19;
|
||||||
previewVector = 3.3;
|
previewVector = 3.3;
|
||||||
@ -1133,7 +1169,7 @@ class CfgCrafting
|
|||||||
};
|
};
|
||||||
class ItemCables : Item
|
class ItemCables : Item
|
||||||
{
|
{
|
||||||
usedIn[] = {"KitSolarGen","KitPlotPole","ItemCopperBar","KitVehicleUpgradeI_200_EPOCH"};
|
usedIn[] = {"KitSolarGen","KitSolarCharger","KitSolarChargerXL","KitPlotPole","ItemCopperBar","KitVehicleUpgradeI_200_EPOCH","BaseCam","BaseCamTerminal"};
|
||||||
nearby[] = {{"Workbench","","workbench",{1,{"WorkBench_EPOCH"}},3,1,0,1}};
|
nearby[] = {{"Workbench","","workbench",{1,{"WorkBench_EPOCH"}},3,1,0,1}};
|
||||||
recipe[] = {{"ItemCopperBar",1}};
|
recipe[] = {{"ItemCopperBar",1}};
|
||||||
previewPosition[] = {0.802374,1,0.26};
|
previewPosition[] = {0.802374,1,0.26};
|
||||||
@ -1227,7 +1263,7 @@ class CfgCrafting
|
|||||||
};
|
};
|
||||||
class ItemBattery : Item
|
class ItemBattery : Item
|
||||||
{
|
{
|
||||||
usedIn[] = {"KitSolarGen","KitPlotPole","BarrelBomb_EPOCH_Remote_Mag","BarrelBomb2_EPOCH_Remote_Mag"};
|
usedIn[] = {"KitSolarGen","KitSolarCharger","KitSolarChargerXL","KitPlotPole","BarrelBomb_EPOCH_Remote_Mag","BarrelBomb2_EPOCH_Remote_Mag"};
|
||||||
nearby[] = {{"Workbench","","workbench",{1,{"WorkBench_EPOCH"}},3,1,0,1}};
|
nearby[] = {{"Workbench","","workbench",{1,{"WorkBench_EPOCH"}},3,1,0,1}};
|
||||||
recipe[] = {{"EnergyPackLg",3},{"CircuitParts",1}};
|
recipe[] = {{"EnergyPackLg",3},{"CircuitParts",1}};
|
||||||
previewPosition[] = {0.802374,1,0.276733};
|
previewPosition[] = {0.802374,1,0.276733};
|
||||||
@ -1241,6 +1277,50 @@ class CfgCrafting
|
|||||||
previewPosition[] = {0.804979,1,0.39189};
|
previewPosition[] = {0.804979,1,0.39189};
|
||||||
previewScale = 0.11;
|
previewScale = 0.11;
|
||||||
previewVector = 0;
|
previewVector = 0;
|
||||||
|
};
|
||||||
|
class KitSolarCharger : Kit
|
||||||
|
{
|
||||||
|
recipe[] = {{"ItemSolar",1},{"ItemCables",1},{"ItemBattery",1},{"ItemCorrugatedLg",2},{"CircuitParts",2}};
|
||||||
|
nearby[] = {{"Workbench","","workbench",{1,{"WorkBench_EPOCH"}},3,1,0,1}};
|
||||||
|
model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Solar_Generator_Complete\Solar_generator.p3d";
|
||||||
|
previewPosition[] = {0.804979,1,0.39189};
|
||||||
|
previewScale = 0.11;
|
||||||
|
previewVector = 0;
|
||||||
|
descriptionShort = "Solar Charger Kit";
|
||||||
|
descriptionFull = "Used to charge small Energy Packs";
|
||||||
|
};
|
||||||
|
class KitSolarChargerXL : Kit
|
||||||
|
{
|
||||||
|
recipe[] = {{"ItemSolar",2},{"ItemCables",2},{"ItemBattery",2},{"ItemCorrugatedLg",2},{"CircuitParts",2}};
|
||||||
|
nearby[] = {{"Workbench","","workbench",{1,{"WorkBench_EPOCH"}},3,1,0,1}};
|
||||||
|
model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Solar_Generator_Complete\Solar_generator.p3d";
|
||||||
|
previewPosition[] = {0.804979,1,0.39189};
|
||||||
|
previewScale = 0.11;
|
||||||
|
previewVector = 0;
|
||||||
|
descriptionShort = "Solar Charger Kit XL";
|
||||||
|
descriptionFull = "Used to charge large Energy Packs";
|
||||||
|
};
|
||||||
|
class BaseCam : Kit
|
||||||
|
{
|
||||||
|
recipe[] = {{"ItemCables",1},{"ItemGlass",1},{"ItemDuctTape",1},{"ItemScraps",2},{"CircuitParts",2}};
|
||||||
|
nearby[] = {{"Workbench","","workbench",{1,{"WorkBench_EPOCH"}},3,1,0,1}};
|
||||||
|
model = "\x\addons\a3_epoch_community\models\base_cam.p3d";
|
||||||
|
previewPosition[] = {0.804979,1,0.3};
|
||||||
|
previewScale = 0.5;
|
||||||
|
previewVector = 0;
|
||||||
|
descriptionShort = "Base Camera";
|
||||||
|
descriptionFull = "Protect your Base with a Camera.<br/>A BaseCam Terminal is needed,<br/>to check your Base Cameras";
|
||||||
|
};
|
||||||
|
class BaseCamTerminal : Kit
|
||||||
|
{
|
||||||
|
recipe[] = {{"ItemCables",1},{"ItemGlass",1},{"ItemDuctTape",1},{"ItemScraps",2},{"CircuitParts",2}};
|
||||||
|
nearby[] = {{"Workbench","","workbench",{1,{"WorkBench_EPOCH"}},3,1,0,1}};
|
||||||
|
model = "\x\addons\a3_epoch_community\models\base_cam_terminal.p3d";
|
||||||
|
previewPosition[] = {0.804979,1,0.3};
|
||||||
|
previewScale = 0.5;
|
||||||
|
previewVector = 0;
|
||||||
|
descriptionShort = "Base Camera Terminal";
|
||||||
|
descriptionFull = "Check your Base Cameras with this Terminal";
|
||||||
};
|
};
|
||||||
class MeleeRod : Kit
|
class MeleeRod : Kit
|
||||||
{
|
{
|
||||||
@ -1395,7 +1475,7 @@ class CfgCrafting
|
|||||||
};
|
};
|
||||||
class ItemCanvas : Item
|
class ItemCanvas : Item
|
||||||
{
|
{
|
||||||
usedIn[] = {"KitTentA","KitTentDome","KitSunShade","KitWatchTower","KitScaffolding"};
|
usedIn[] = {"KitTentA","KitTentDome","KitSunShade","KitWatchTower","KitScaffolding","ItemSeedBag"};
|
||||||
nearby[] = {{"Workbench","","workbench",{1,{"WorkBench_EPOCH"}},3,1,0,1}};
|
nearby[] = {{"Workbench","","workbench",{1,{"WorkBench_EPOCH"}},3,1,0,1}};
|
||||||
recipe[] = {{"ItemKiloHemp",1}};
|
recipe[] = {{"ItemKiloHemp",1}};
|
||||||
previewPosition[] = {0.802443,1,0.254301};
|
previewPosition[] = {0.802443,1,0.254301};
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
/*[[[cog from arma_config_tools import *; json_to_arma()]]]*/
|
/*[[[cog from arma_config_tools import *; json_to_arma()]]]*/
|
||||||
class CfgEpochClient
|
class CfgEpochClient
|
||||||
{
|
{
|
||||||
epochVersion = "1.1.0";
|
epochVersion = "1.2.0";
|
||||||
ArmAVersion = 176;
|
ArmAVersion = 176;
|
||||||
debug = "true"; // true = enable extra rpt debug lines, false to disable
|
debug = "true"; // true = enable extra rpt debug lines, false to disable
|
||||||
|
|
||||||
@ -55,10 +55,17 @@ class CfgEpochClient
|
|||||||
storageCountPerMember = 5; //ignore if "splitCountLimits=0" & "useGroupCountLimits=0"
|
storageCountPerMember = 5; //ignore if "splitCountLimits=0" & "useGroupCountLimits=0"
|
||||||
maxdoors = 10; // Max allowed doors per Group
|
maxdoors = 10; // Max allowed doors per Group
|
||||||
maxgates = 5; // Max allowed Gates per Group
|
maxgates = 5; // Max allowed Gates per Group
|
||||||
|
maxCams = 2; // Max allowed BaseCams per Group
|
||||||
|
|
||||||
|
MaxBuildingTilt = 180; // Max degrees players can tilt building elements
|
||||||
|
|
||||||
AtmBlockedAtPlot = "true"; // Block ATM's in Plotpole-Range
|
AtmBlockedAtPlot = "true"; // Block ATM's in Plotpole-Range
|
||||||
disableRemoteSensors = "true"; // disableRemoteSensors true/false
|
disableRemoteSensors = "true"; // disableRemoteSensors true/false
|
||||||
|
|
||||||
|
ActionFireOnLighter = "true"; // Lighter is needed to inflame fires
|
||||||
|
ActionBurnBarrelOffExtinguisher = "true"; // FireExtinguisher is needed to put off Burn Barrels
|
||||||
|
ActionHookRope = "true"; // Rope is needed to hook vehicles (get back on release)
|
||||||
|
|
||||||
epochMessageBackgroundCol[] = {0,0,0,0.2}; //Epoch_message background color (format: {R,G,B,A})
|
epochMessageBackgroundCol[] = {0,0,0,0.2}; //Epoch_message background color (format: {R,G,B,A})
|
||||||
epochMessageTextCol[] = {1,1,1,0.95}; //Epoch_message text color (format: {R,G,B,A})
|
epochMessageTextCol[] = {1,1,1,0.95}; //Epoch_message text color (format: {R,G,B,A})
|
||||||
//to use different colored messages in scripts, just call it this way: ["the message", 6, [[0,0,0,0.2],[1,1,1,0.95]]] call Epoch_message;
|
//to use different colored messages in scripts, just call it this way: ["the message", 6, [[0,0,0,0.2],[1,1,1,0.95]]] call Epoch_message;
|
||||||
@ -190,12 +197,28 @@ class CfgEpochClient
|
|||||||
mapOnZoomSetMarkerSize = 1; // When in map markers will change to larger size as player zooms in
|
mapOnZoomSetMarkerSize = 1; // When in map markers will change to larger size as player zooms in
|
||||||
bankTransferTime[] = {0.0006,1.2,0.06};
|
bankTransferTime[] = {0.0006,1.2,0.06};
|
||||||
|
|
||||||
|
// Player (Building) Energy
|
||||||
|
energyPowerSources[] = { // Add PowerCapacity and PowerType in CfgBaseBuilding, if you add something here!
|
||||||
|
"Land_spp_Tower_F",
|
||||||
|
"Land_wpp_Turbine_V2_F",
|
||||||
|
"Land_wpp_Turbine_V1_F",
|
||||||
|
"SolarGen_EPOCH",
|
||||||
|
"Land_Wreck_Satellite_EPOCH"
|
||||||
|
};
|
||||||
|
energyRange = 75; // Range to check for energy sources
|
||||||
|
energyRegenMax = 5; // Max energy increase value (every 10 seconds)
|
||||||
|
energyCostNV = 3; // Energy loss value by using nightvision (every 10 seconds)
|
||||||
|
energyRegenInVeh = 5; // Energy increase value in Vehicles with Engine On (every 10 seconds)
|
||||||
|
|
||||||
// Favorite Bar
|
// Favorite Bar
|
||||||
Fav_enableFavoriteBar = "true"; // If disabled, players will not be able to use favorite bar
|
Fav_enableFavoriteBar = "true"; // If disabled, players will not be able to use favorite bar
|
||||||
Fav_DropIfOverflow = "false"; // If enabled and inventory full, equipped weapon will be dropped on ground in favor for the new selected weapon, otherwise action will fail with message and weapon will not be equipped
|
Fav_DropIfOverflow = "false"; // If enabled and inventory full, equipped weapon will be dropped on ground in favor for the new selected weapon, otherwise action will fail with message and weapon will not be equipped
|
||||||
Fav_FastWeaponSwitching = "false"; // If enabled, same slot weapons from favorites bar are equipped instantly, otherwise reload action is played (recommended for immersion)
|
Fav_FastWeaponSwitching = "false"; // If enabled, same slot weapons from favorites bar are equipped instantly, otherwise reload action is played (recommended for immersion)
|
||||||
Fav_BannedItems[] = {"FAK"}; // Items that users are not allowed to pin
|
Fav_BannedItems[] = {"FAK"}; // Items that users are not allowed to pin
|
||||||
|
|
||||||
|
EnableTempVehTrade = "false"; // Enable selling of temp Vehicles (not handled by Epoch). Temp Vehicles will not be stored in Traders, but can be sold
|
||||||
|
BulletCalculateOnCraft = "true"; // Enable Bullet Calculation on Crafting - Example: If you craft a large EnergyPack with 3 half full EnergyPacks, you will only get a half filled large EnergyPack back
|
||||||
|
|
||||||
// Advanced Vehicle Repair
|
// Advanced Vehicle Repair
|
||||||
UseAdvancedVehicleRepair = "true"; // Switch On / Off Advanced Vehicle Repair (Does not effect SuppressedCraftingItems !)
|
UseAdvancedVehicleRepair = "true"; // Switch On / Off Advanced Vehicle Repair (Does not effect SuppressedCraftingItems !)
|
||||||
EnableRemoveParts = "true"; // Enable removing Tires / Engines from Vehicles
|
EnableRemoveParts = "true"; // Enable removing Tires / Engines from Vehicles
|
||||||
@ -214,21 +237,25 @@ class CfgEpochClient
|
|||||||
VehicleRepairs[] = { // {Hitpoint, dmg to repair, dmg to replace, mat to repair, mat to replace}
|
VehicleRepairs[] = { // {Hitpoint, dmg to repair, dmg to replace, mat to repair, mat to replace}
|
||||||
{"HitHull",0.33,0.66,"ItemScraps","ItemCorrugated"},
|
{"HitHull",0.33,0.66,"ItemScraps","ItemCorrugated"},
|
||||||
{"HitBody",0.33,1,"ItemScraps","ItemCorrugated"},
|
{"HitBody",0.33,1,"ItemScraps","ItemCorrugated"},
|
||||||
{"HitLFWheel",0.33,1,"VehicleRepair","SpareTire"},
|
|
||||||
{"HitLF2Wheel",0.33,1,"VehicleRepair","SpareTire"},
|
|
||||||
{"HitLMWheel",0.33,1,"VehicleRepair","SpareTire"},
|
|
||||||
{"HitLBWheel",0.33,1,"VehicleRepair","SpareTire"},
|
|
||||||
{"HitRFWheel",0.33,1,"VehicleRepair","SpareTire"},
|
|
||||||
{"HitRF2Wheel",0.33,1,"VehicleRepair","SpareTire"},
|
|
||||||
{"HitRMWheel",0.33,1,"VehicleRepair","SpareTire"},
|
|
||||||
{"HitRBWheel",0.33,1,"VehicleRepair","SpareTire"},
|
|
||||||
{"HitEngine",0.33,0.91,"EngineParts","EngineBlock"},
|
{"HitEngine",0.33,0.91,"EngineParts","EngineBlock"},
|
||||||
{"glass",0.33,1,"ItemGlass","ItemGlass"},
|
{"glass",0.33,1,"ItemGlass","ItemGlass"},
|
||||||
{"HitFuel",0.1,0.66,"ItemDuctTape","FuelTank"},
|
{"HitFuel",0.1,0.66,"ItemDuctTape","FuelTank"},
|
||||||
{"HitHRotor",0.33,1,"ItemCorrugated","ItemRotor"},
|
{"HitHRotor",0.33,1,"ItemCorrugated","ItemRotor"},
|
||||||
{"HitVRotor",0.33,1,"ItemCorrugated","ItemRotor"},
|
{"HitVRotor",0.33,1,"ItemCorrugated","ItemRotor"},
|
||||||
{"HitWinch",0.33,0.91,"ItemCables","ItemCables"},
|
{"HitWinch",0.33,0.91,"ItemCables","ItemCables"},
|
||||||
{"HitAvionics",0.33,0.91,"CircuitParts","CircuitParts"}
|
{"HitAvionics",0.33,0.91,"CircuitParts","CircuitParts"},
|
||||||
|
// Wheels - Do not change the order (front to back wheels) here!
|
||||||
|
{"HitLFWheel",0.33,1,"VehicleRepair","SpareTire"},
|
||||||
|
{"HitRFWheel",0.33,1,"VehicleRepair","SpareTire"},
|
||||||
|
{"HitLF2Wheel",0.33,1,"VehicleRepair","SpareTire"},
|
||||||
|
{"HitRF2Wheel",0.33,1,"VehicleRepair","SpareTire"},
|
||||||
|
{"HitLMWheel",0.33,1,"VehicleRepair","SpareTire"},
|
||||||
|
{"HitRMWheel",0.33,1,"VehicleRepair","SpareTire"},
|
||||||
|
{"HitLBWheel",0.33,1,"VehicleRepair","SpareTire"},
|
||||||
|
{"HitRBWheel",0.33,1,"VehicleRepair","SpareTire"},
|
||||||
|
// Mountainbike wheels
|
||||||
|
{"HitFWheel",0.33,0.91,"",""},
|
||||||
|
{"HitBWheel",0.33,0.91,"",""}
|
||||||
};
|
};
|
||||||
|
|
||||||
// include configs
|
// include configs
|
||||||
|
@ -504,6 +504,16 @@ class CfgItemInteractions
|
|||||||
buildClass = "Garden_EPOCH";
|
buildClass = "Garden_EPOCH";
|
||||||
isStorage = 1;
|
isStorage = 1;
|
||||||
};
|
};
|
||||||
|
class KitSolarCharger : Item_Build_base
|
||||||
|
{
|
||||||
|
buildClass = "SolarCharger_EPOCH";
|
||||||
|
isStorage = 1;
|
||||||
|
};
|
||||||
|
class KitSolarChargerXL : Item_Build_base
|
||||||
|
{
|
||||||
|
buildClass = "SolarChargerXL_EPOCH";
|
||||||
|
isStorage = 1;
|
||||||
|
};
|
||||||
class KitBurnBarrel : Item_Build_base
|
class KitBurnBarrel : Item_Build_base
|
||||||
{
|
{
|
||||||
buildClass = "BurnBarrel_EPOCH";
|
buildClass = "BurnBarrel_EPOCH";
|
||||||
@ -588,6 +598,10 @@ class CfgItemInteractions
|
|||||||
{
|
{
|
||||||
buildClass = "BarbedWire_EPOCH";
|
buildClass = "BarbedWire_EPOCH";
|
||||||
};
|
};
|
||||||
|
class BaseCam : Item_Build_base
|
||||||
|
{
|
||||||
|
buildClass = "BaseCam_EPOCH";
|
||||||
|
};
|
||||||
class PaintCanBase : Default
|
class PaintCanBase : Default
|
||||||
{
|
{
|
||||||
interactAction = 12;
|
interactAction = 12;
|
||||||
@ -985,7 +999,7 @@ class CfgItemInteractions
|
|||||||
};
|
};
|
||||||
class ItemCanteen_Clean : Drink_base
|
class ItemCanteen_Clean : Drink_base
|
||||||
{
|
{
|
||||||
interactAttributes[] = {{"Thirst",1000},{"Stamina",50}};
|
interactAttributes[] = {{"Thirst",1000},{"Stamina",100}};
|
||||||
interactReturnOnUse = "ItemCanteen_Empty";
|
interactReturnOnUse = "ItemCanteen_Empty";
|
||||||
};
|
};
|
||||||
class ItemBottlePlastic_Dirty: Drink_base
|
class ItemBottlePlastic_Dirty: Drink_base
|
||||||
@ -996,7 +1010,7 @@ class CfgItemInteractions
|
|||||||
|
|
||||||
class ItemCanteen_Dirty : Drink_base
|
class ItemCanteen_Dirty : Drink_base
|
||||||
{
|
{
|
||||||
interactAttributes[] = {{"Thirst",1000},{"Toxicity",5,1},{"Stamina",50},{"Radiation",2,1}};
|
interactAttributes[] = {{"Thirst",1000},{"Toxicity",10,1},{"Stamina",100},{"Radiation",4,1}};
|
||||||
interactReturnOnUse = "ItemCanteen_Empty";
|
interactReturnOnUse = "ItemCanteen_Empty";
|
||||||
};
|
};
|
||||||
class adrenaline_epoch : Drink_base
|
class adrenaline_epoch : Drink_base
|
||||||
@ -1045,5 +1059,23 @@ class CfgItemInteractions
|
|||||||
interactText = "USE";
|
interactText = "USE";
|
||||||
interactAttributes[] = {{"Radiation",-15},{"Thirst",-50},{"Immunity",5}};
|
interactAttributes[] = {{"Radiation",-15},{"Thirst",-50},{"Immunity",5}};
|
||||||
};
|
};
|
||||||
|
class ItemDefibrillator : Default
|
||||||
|
{
|
||||||
|
interactAction = 17;
|
||||||
|
interactText = "ReCharge";
|
||||||
|
};
|
||||||
|
class BaseCamTerminal : Item_Build_base
|
||||||
|
{
|
||||||
|
buildClass = "BaseCamTerminal_EPOCH";
|
||||||
|
interactActions[] = {{"Watch","call Epoch_CamUse;"}};
|
||||||
|
};
|
||||||
|
class KitSnowman : Item_Build_base
|
||||||
|
{
|
||||||
|
buildClass = "snowman_EPOCH";
|
||||||
|
};
|
||||||
|
class KitPlyThirdWall_EPOCH : Item_Build_base
|
||||||
|
{
|
||||||
|
buildClass = "PlyThirdWall_EPOCH";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
/*[[[end]]]*/
|
/*[[[end]]]*/
|
||||||
|
@ -171,6 +171,10 @@ class CfgItemSort
|
|||||||
"U_O_FullGhillie_sard",
|
"U_O_FullGhillie_sard",
|
||||||
"U_O_FullGhillie_ard",
|
"U_O_FullGhillie_ard",
|
||||||
|
|
||||||
|
// Radiation Suits
|
||||||
|
"U_RadiationSuit_M_uniform",
|
||||||
|
"U_RadiationSuit_F_uniform",
|
||||||
|
|
||||||
// CIV
|
// CIV
|
||||||
"U_I_OfficerUniform",
|
"U_I_OfficerUniform",
|
||||||
"U_I_C_Soldier_Para_1_F",
|
"U_I_C_Soldier_Para_1_F",
|
||||||
@ -431,6 +435,8 @@ class CfgItemSort
|
|||||||
"H_F3_EPOCH",
|
"H_F3_EPOCH",
|
||||||
"H_F4_EPOCH",
|
"H_F4_EPOCH",
|
||||||
"H_F5_EPOCH",
|
"H_F5_EPOCH",
|
||||||
|
"thor_mask_epoch",
|
||||||
|
"iron_mask_epoch",
|
||||||
"wolf_mask_epoch",
|
"wolf_mask_epoch",
|
||||||
"pkin_mask_epoch",
|
"pkin_mask_epoch",
|
||||||
"clown_mask_epoch",
|
"clown_mask_epoch",
|
||||||
@ -948,6 +954,7 @@ class CfgItemSort
|
|||||||
|
|
||||||
Medical[] = {
|
Medical[] = {
|
||||||
"FAK",
|
"FAK",
|
||||||
|
"Soap_Epoch",
|
||||||
"Towelette",
|
"Towelette",
|
||||||
"HeatPack",
|
"HeatPack",
|
||||||
"ColdPack",
|
"ColdPack",
|
||||||
@ -1051,11 +1058,13 @@ class CfgItemSort
|
|||||||
"ItemCorrugated",
|
"ItemCorrugated",
|
||||||
"ItemCorrugatedLg",
|
"ItemCorrugatedLg",
|
||||||
"KitStudWall",
|
"KitStudWall",
|
||||||
|
"KitPlyThirdWall_EPOCH",
|
||||||
"KitWoodFloor",
|
"KitWoodFloor",
|
||||||
"KitWoodHalfFloor",
|
"KitWoodHalfFloor",
|
||||||
"KitWoodQuarterFloor",
|
"KitWoodQuarterFloor",
|
||||||
"KitWoodStairs",
|
"KitWoodStairs",
|
||||||
"KitWoodRamp",
|
"KitWoodRamp",
|
||||||
|
"KitSnowman",
|
||||||
"KitFirePlace",
|
"KitFirePlace",
|
||||||
"KitTiPi",
|
"KitTiPi",
|
||||||
"KitShelf",
|
"KitShelf",
|
||||||
@ -1064,6 +1073,10 @@ class CfgItemSort
|
|||||||
"KitPlotPole",
|
"KitPlotPole",
|
||||||
"KitCinderWall",
|
"KitCinderWall",
|
||||||
"KitSolarGen",
|
"KitSolarGen",
|
||||||
|
"KitSolarCharger",
|
||||||
|
"KitSolarChargerXL",
|
||||||
|
"BaseCam",
|
||||||
|
"BaseCamTerminal",
|
||||||
"KitWorkbench",
|
"KitWorkbench",
|
||||||
"KitWoodLadder",
|
"KitWoodLadder",
|
||||||
"KitWoodTower",
|
"KitWoodTower",
|
||||||
@ -1187,6 +1200,11 @@ class CfgItemSort
|
|||||||
"ItemFireExtinguisher"
|
"ItemFireExtinguisher"
|
||||||
};
|
};
|
||||||
Vehicles_Land[] = {
|
Vehicles_Land[] = {
|
||||||
|
"hoverboard_epoch_1",
|
||||||
|
"hoverboard_epoch_bttf",
|
||||||
|
"hoverboard_epoch_a3",
|
||||||
|
"hoverboard_epoch_cargo",
|
||||||
|
"MBK_01_EPOCH",
|
||||||
"ebike_epoch", // Motorcycle
|
"ebike_epoch", // Motorcycle
|
||||||
"C_Offroad_01_EPOCH", // Offroader
|
"C_Offroad_01_EPOCH", // Offroader
|
||||||
"C_Offroad_01_EPOCH1",
|
"C_Offroad_01_EPOCH1",
|
||||||
@ -1392,6 +1410,7 @@ class CfgItemSort
|
|||||||
"O_Heli_Transport_04_box_EPOCH",
|
"O_Heli_Transport_04_box_EPOCH",
|
||||||
"O_Heli_Transport_04_covered_EPOCH",
|
"O_Heli_Transport_04_covered_EPOCH",
|
||||||
"B_Heli_Light_01_EPOCH",
|
"B_Heli_Light_01_EPOCH",
|
||||||
|
"uh1h_Epoch",
|
||||||
|
|
||||||
"B_Heli_Light_01_armed_F",
|
"B_Heli_Light_01_armed_F",
|
||||||
"B_Heli_Transport_01_EPOCH",
|
"B_Heli_Transport_01_EPOCH",
|
||||||
|
@ -70,6 +70,14 @@ class CfgObjectInteractions
|
|||||||
{
|
{
|
||||||
interactMode = 4;
|
interactMode = 4;
|
||||||
};
|
};
|
||||||
|
class SolarCharger_EPOCH : Default
|
||||||
|
{
|
||||||
|
interactMode = 4;
|
||||||
|
};
|
||||||
|
class SolarChargerXL_EPOCH : Default
|
||||||
|
{
|
||||||
|
interactMode = 4;
|
||||||
|
};
|
||||||
class FieldToilet_EPOCH : Default
|
class FieldToilet_EPOCH : Default
|
||||||
{
|
{
|
||||||
interactMode = 4;
|
interactMode = 4;
|
||||||
@ -231,6 +239,7 @@ class CfgObjectInteractions
|
|||||||
ppEffect[] = {};
|
ppEffect[] = {};
|
||||||
};
|
};
|
||||||
class SmokeShellToxic_Ammo : SmokeShellCustom {};
|
class SmokeShellToxic_Ammo : SmokeShellCustom {};
|
||||||
|
class SmokeShellToxicSapper : SmokeShellCustom {};
|
||||||
class Epoch_Cloak_F : Default
|
class Epoch_Cloak_F : Default
|
||||||
{
|
{
|
||||||
distance = 30;
|
distance = 30;
|
||||||
|
@ -112,6 +112,10 @@ class CfgPricing
|
|||||||
{
|
{
|
||||||
price = 25;
|
price = 25;
|
||||||
};
|
};
|
||||||
|
class ItemWaterPurificationTablets
|
||||||
|
{
|
||||||
|
price = 10;
|
||||||
|
};
|
||||||
class ItemBulb
|
class ItemBulb
|
||||||
{
|
{
|
||||||
price = 10;
|
price = 10;
|
||||||
@ -2096,6 +2100,10 @@ class CfgPricing
|
|||||||
{
|
{
|
||||||
price = 3;
|
price = 3;
|
||||||
};
|
};
|
||||||
|
class Soap_Epoch
|
||||||
|
{
|
||||||
|
price = 4;
|
||||||
|
};
|
||||||
class Towelette
|
class Towelette
|
||||||
{
|
{
|
||||||
price = 1;
|
price = 1;
|
||||||
@ -3073,6 +3081,9 @@ class CfgPricing
|
|||||||
class KitStudWall
|
class KitStudWall
|
||||||
{
|
{
|
||||||
price = 16;
|
price = 16;
|
||||||
|
};
|
||||||
|
class KitPlyThirdWall_EPOCH {
|
||||||
|
price = 18;
|
||||||
};
|
};
|
||||||
class KitWoodQuarterFloor
|
class KitWoodQuarterFloor
|
||||||
{
|
{
|
||||||
@ -3130,6 +3141,10 @@ class CfgPricing
|
|||||||
{
|
{
|
||||||
price = 24; // price of 6 planks
|
price = 24; // price of 6 planks
|
||||||
};
|
};
|
||||||
|
class KitSnowman
|
||||||
|
{
|
||||||
|
price = 72;
|
||||||
|
};
|
||||||
class KitSpikeTrap
|
class KitSpikeTrap
|
||||||
{
|
{
|
||||||
price = 42;
|
price = 42;
|
||||||
@ -3250,6 +3265,22 @@ class CfgPricing
|
|||||||
{
|
{
|
||||||
price = 325;
|
price = 325;
|
||||||
};
|
};
|
||||||
|
class KitSolarCharger
|
||||||
|
{
|
||||||
|
price = 325;
|
||||||
|
};
|
||||||
|
class KitSolarChargerXL
|
||||||
|
{
|
||||||
|
price = 325;
|
||||||
|
};
|
||||||
|
class BaseCam
|
||||||
|
{
|
||||||
|
price = 250;
|
||||||
|
};
|
||||||
|
class BaseCamTerminal
|
||||||
|
{
|
||||||
|
price = 250;
|
||||||
|
};
|
||||||
class KitCinderWall
|
class KitCinderWall
|
||||||
{
|
{
|
||||||
price = 80;
|
price = 80;
|
||||||
@ -3514,6 +3545,14 @@ class CfgPricing
|
|||||||
{
|
{
|
||||||
price = 22;
|
price = 22;
|
||||||
};
|
};
|
||||||
|
class U_RadiationSuit_M_uniform
|
||||||
|
{
|
||||||
|
price = 7;
|
||||||
|
};
|
||||||
|
class U_RadiationSuit_F_uniform
|
||||||
|
{
|
||||||
|
price = 7;
|
||||||
|
};
|
||||||
class U_O_FullGhillie_lsh
|
class U_O_FullGhillie_lsh
|
||||||
{
|
{
|
||||||
price = 7;
|
price = 7;
|
||||||
@ -4352,20 +4391,40 @@ class CfgPricing
|
|||||||
};
|
};
|
||||||
class C_Offroad_01_EPOCH
|
class C_Offroad_01_EPOCH
|
||||||
{
|
{
|
||||||
price = 750;
|
price = 7500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class C_Offroad_01_EPOCH1: C_Offroad_01_EPOCH{};
|
class C_Offroad_01_EPOCH1: C_Offroad_01_EPOCH{};
|
||||||
class C_Offroad_01_EPOCH2: C_Offroad_01_EPOCH{};
|
class C_Offroad_01_EPOCH2: C_Offroad_01_EPOCH{};
|
||||||
class C_Offroad_01_EPOCH3: C_Offroad_01_EPOCH{};
|
class C_Offroad_01_EPOCH3: C_Offroad_01_EPOCH{};
|
||||||
class C_Offroad_01_EPOCH4: C_Offroad_01_EPOCH{};
|
class C_Offroad_01_EPOCH4: C_Offroad_01_EPOCH{};
|
||||||
class C_Offroad_01_EPOCH5: C_Offroad_01_EPOCH{};
|
class C_Offroad_01_EPOCH5: C_Offroad_01_EPOCH{};
|
||||||
|
class hoverboard_epoch_1
|
||||||
|
{
|
||||||
|
price = 1000;
|
||||||
|
tax = 0.9;
|
||||||
|
};
|
||||||
|
class hoverboard_epoch_bttf: hoverboard_epoch_1{};
|
||||||
|
class hoverboard_epoch_a3: hoverboard_epoch_1{};
|
||||||
|
class hoverboard_epoch_cargo
|
||||||
|
{
|
||||||
|
price = 1200;
|
||||||
|
tax = 0.9;
|
||||||
|
};
|
||||||
|
class MBK_01_EPOCH
|
||||||
|
{
|
||||||
|
price = 1250;
|
||||||
|
tax = 0.9;
|
||||||
|
};
|
||||||
class C_Quadbike_01_EPOCH
|
class C_Quadbike_01_EPOCH
|
||||||
{
|
{
|
||||||
price = 500;
|
price = 2500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class C_Hatchback_01_EPOCH
|
class C_Hatchback_01_EPOCH
|
||||||
{
|
{
|
||||||
price = 750;
|
price = 7500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class C_Hatchback_01_EPOCH1: C_Hatchback_01_EPOCH{};
|
class C_Hatchback_01_EPOCH1: C_Hatchback_01_EPOCH{};
|
||||||
class C_Hatchback_01_EPOCH2: C_Hatchback_01_EPOCH{};
|
class C_Hatchback_01_EPOCH2: C_Hatchback_01_EPOCH{};
|
||||||
@ -4373,7 +4432,8 @@ class CfgPricing
|
|||||||
class C_Hatchback_01_EPOCH4: C_Hatchback_01_EPOCH{};
|
class C_Hatchback_01_EPOCH4: C_Hatchback_01_EPOCH{};
|
||||||
class C_Hatchback_02_EPOCH
|
class C_Hatchback_02_EPOCH
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 10000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class C_Hatchback_02_EPOCH1: C_Hatchback_02_EPOCH{};
|
class C_Hatchback_02_EPOCH1: C_Hatchback_02_EPOCH{};
|
||||||
class C_Hatchback_02_EPOCH2: C_Hatchback_02_EPOCH{};
|
class C_Hatchback_02_EPOCH2: C_Hatchback_02_EPOCH{};
|
||||||
@ -4381,7 +4441,8 @@ class CfgPricing
|
|||||||
class C_Hatchback_02_EPOCH4: C_Hatchback_02_EPOCH{};
|
class C_Hatchback_02_EPOCH4: C_Hatchback_02_EPOCH{};
|
||||||
class C_SUV_01_EPOCH
|
class C_SUV_01_EPOCH
|
||||||
{
|
{
|
||||||
price = 750;
|
price = 7500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class C_SUV_01_EPOCH1: C_SUV_01_EPOCH{};
|
class C_SUV_01_EPOCH1: C_SUV_01_EPOCH{};
|
||||||
class C_SUV_01_EPOCH2: C_SUV_01_EPOCH{};
|
class C_SUV_01_EPOCH2: C_SUV_01_EPOCH{};
|
||||||
@ -4390,22 +4451,27 @@ class CfgPricing
|
|||||||
class C_Rubberboat_EPOCH
|
class C_Rubberboat_EPOCH
|
||||||
{
|
{
|
||||||
price = 500;
|
price = 500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class C_Rubberboat_02_EPOCH
|
class C_Rubberboat_02_EPOCH
|
||||||
{
|
{
|
||||||
price = 500;
|
price = 500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class C_Rubberboat_03_EPOCH
|
class C_Rubberboat_03_EPOCH
|
||||||
{
|
{
|
||||||
price = 500;
|
price = 500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class C_Rubberboat_04_EPOCH
|
class C_Rubberboat_04_EPOCH
|
||||||
{
|
{
|
||||||
price = 500;
|
price = 500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class C_Van_01_box_EPOCH
|
class C_Van_01_box_EPOCH
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 10000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class C_Van_01_box_EPOCH1: C_Van_01_box_EPOCH{};
|
class C_Van_01_box_EPOCH1: C_Van_01_box_EPOCH{};
|
||||||
class C_Van_01_box_EPOCH2: C_Van_01_box_EPOCH{};
|
class C_Van_01_box_EPOCH2: C_Van_01_box_EPOCH{};
|
||||||
@ -4413,7 +4479,8 @@ class CfgPricing
|
|||||||
class C_Van_01_box_EPOCH4: C_Van_01_box_EPOCH{};
|
class C_Van_01_box_EPOCH4: C_Van_01_box_EPOCH{};
|
||||||
class C_Van_01_transport_EPOCH
|
class C_Van_01_transport_EPOCH
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 10000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class C_Van_01_transport_EPOCH1: C_Van_01_transport_EPOCH{};
|
class C_Van_01_transport_EPOCH1: C_Van_01_transport_EPOCH{};
|
||||||
class C_Van_01_transport_EPOCH2: C_Van_01_transport_EPOCH{};
|
class C_Van_01_transport_EPOCH2: C_Van_01_transport_EPOCH{};
|
||||||
@ -4421,27 +4488,33 @@ class CfgPricing
|
|||||||
class C_Van_01_transport_EPOCH4: C_Van_01_transport_EPOCH{};
|
class C_Van_01_transport_EPOCH4: C_Van_01_transport_EPOCH{};
|
||||||
class C_Boat_Civil_01_EPOCH
|
class C_Boat_Civil_01_EPOCH
|
||||||
{
|
{
|
||||||
price = 750;
|
price = 7500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class C_Boat_Civil_01_police_EPOCH
|
class C_Boat_Civil_01_police_EPOCH
|
||||||
{
|
{
|
||||||
price = 750;
|
price = 7500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class C_Boat_Civil_01_rescue_EPOCH
|
class C_Boat_Civil_01_rescue_EPOCH
|
||||||
{
|
{
|
||||||
price = 750;
|
price = 7500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class B_Heli_Light_01_EPOCH
|
class B_Heli_Light_01_EPOCH
|
||||||
{
|
{
|
||||||
price = 2500;
|
price = 25000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class B_SDV_01_EPOCH
|
class B_SDV_01_EPOCH
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 10000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class B_MRAP_01_EPOCH
|
class B_MRAP_01_EPOCH
|
||||||
{
|
{
|
||||||
price = 2500;
|
price = 45000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class B_MRAP_01_EPOCH1: B_MRAP_01_EPOCH{};
|
class B_MRAP_01_EPOCH1: B_MRAP_01_EPOCH{};
|
||||||
class B_MRAP_01_EPOCH2: B_MRAP_01_EPOCH{};
|
class B_MRAP_01_EPOCH2: B_MRAP_01_EPOCH{};
|
||||||
@ -4449,7 +4522,8 @@ class CfgPricing
|
|||||||
class B_MRAP_01_EPOCH4: B_MRAP_01_EPOCH{};
|
class B_MRAP_01_EPOCH4: B_MRAP_01_EPOCH{};
|
||||||
class O_MRAP_02_EPOCH
|
class O_MRAP_02_EPOCH
|
||||||
{
|
{
|
||||||
price = 2500;
|
price = 45000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class O_MRAP_02_EPOCH1: O_MRAP_02_EPOCH{};
|
class O_MRAP_02_EPOCH1: O_MRAP_02_EPOCH{};
|
||||||
class O_MRAP_02_EPOCH2: O_MRAP_02_EPOCH{};
|
class O_MRAP_02_EPOCH2: O_MRAP_02_EPOCH{};
|
||||||
@ -4457,7 +4531,8 @@ class CfgPricing
|
|||||||
class O_MRAP_02_EPOCH4: O_MRAP_02_EPOCH{};
|
class O_MRAP_02_EPOCH4: O_MRAP_02_EPOCH{};
|
||||||
class I_MRAP_03_EPOCH
|
class I_MRAP_03_EPOCH
|
||||||
{
|
{
|
||||||
price = 2500;
|
price = 45000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class I_MRAP_03_EPOCH1: I_MRAP_03_EPOCH{};
|
class I_MRAP_03_EPOCH1: I_MRAP_03_EPOCH{};
|
||||||
class I_MRAP_03_EPOCH2: I_MRAP_03_EPOCH{};
|
class I_MRAP_03_EPOCH2: I_MRAP_03_EPOCH{};
|
||||||
@ -4465,7 +4540,8 @@ class CfgPricing
|
|||||||
class I_MRAP_03_EPOCH4: I_MRAP_03_EPOCH{};
|
class I_MRAP_03_EPOCH4: I_MRAP_03_EPOCH{};
|
||||||
class B_G_Offroad_01_armed_EPOCH
|
class B_G_Offroad_01_armed_EPOCH
|
||||||
{
|
{
|
||||||
price = 2500;
|
price = 25000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class B_G_Offroad_01_armed_EPOCH1: B_G_Offroad_01_armed_EPOCH{};
|
class B_G_Offroad_01_armed_EPOCH1: B_G_Offroad_01_armed_EPOCH{};
|
||||||
class B_G_Offroad_01_armed_EPOCH2: B_G_Offroad_01_armed_EPOCH{};
|
class B_G_Offroad_01_armed_EPOCH2: B_G_Offroad_01_armed_EPOCH{};
|
||||||
@ -4473,7 +4549,8 @@ class CfgPricing
|
|||||||
class B_G_Offroad_01_armed_EPOCH4: B_G_Offroad_01_armed_EPOCH{};
|
class B_G_Offroad_01_armed_EPOCH4: B_G_Offroad_01_armed_EPOCH{};
|
||||||
class B_Truck_01_mover_EPOCH
|
class B_Truck_01_mover_EPOCH
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 10000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class B_Truck_01_mover_EPOCH1: B_Truck_01_mover_EPOCH {};
|
class B_Truck_01_mover_EPOCH1: B_Truck_01_mover_EPOCH {};
|
||||||
class B_Truck_01_mover_EPOCH2: B_Truck_01_mover_EPOCH {};
|
class B_Truck_01_mover_EPOCH2: B_Truck_01_mover_EPOCH {};
|
||||||
@ -4481,7 +4558,8 @@ class CfgPricing
|
|||||||
class B_Truck_01_mover_EPOCH4: B_Truck_01_mover_EPOCH {};
|
class B_Truck_01_mover_EPOCH4: B_Truck_01_mover_EPOCH {};
|
||||||
class B_Truck_01_transport_EPOCH
|
class B_Truck_01_transport_EPOCH
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 10000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class B_Truck_01_transport_EPOCH1: B_Truck_01_transport_EPOCH {};
|
class B_Truck_01_transport_EPOCH1: B_Truck_01_transport_EPOCH {};
|
||||||
class B_Truck_01_transport_EPOCH2: B_Truck_01_transport_EPOCH {};
|
class B_Truck_01_transport_EPOCH2: B_Truck_01_transport_EPOCH {};
|
||||||
@ -4489,7 +4567,8 @@ class CfgPricing
|
|||||||
class B_Truck_01_transport_EPOCH4: B_Truck_01_transport_EPOCH {};
|
class B_Truck_01_transport_EPOCH4: B_Truck_01_transport_EPOCH {};
|
||||||
class B_Truck_01_covered_EPOCH
|
class B_Truck_01_covered_EPOCH
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 10000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class B_Truck_01_covered_EPOCH1: B_Truck_01_covered_EPOCH {};
|
class B_Truck_01_covered_EPOCH1: B_Truck_01_covered_EPOCH {};
|
||||||
class B_Truck_01_covered_EPOCH2: B_Truck_01_covered_EPOCH {};
|
class B_Truck_01_covered_EPOCH2: B_Truck_01_covered_EPOCH {};
|
||||||
@ -4497,7 +4576,8 @@ class CfgPricing
|
|||||||
class B_Truck_01_covered_EPOCH4: B_Truck_01_covered_EPOCH {};
|
class B_Truck_01_covered_EPOCH4: B_Truck_01_covered_EPOCH {};
|
||||||
class B_Truck_01_box_EPOCH
|
class B_Truck_01_box_EPOCH
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 10000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class B_Truck_01_box_EPOCH1: B_Truck_01_box_EPOCH {};
|
class B_Truck_01_box_EPOCH1: B_Truck_01_box_EPOCH {};
|
||||||
class B_Truck_01_box_EPOCH2: B_Truck_01_box_EPOCH {};
|
class B_Truck_01_box_EPOCH2: B_Truck_01_box_EPOCH {};
|
||||||
@ -4505,7 +4585,8 @@ class CfgPricing
|
|||||||
class B_Truck_01_box_EPOCH4: B_Truck_01_box_EPOCH {};
|
class B_Truck_01_box_EPOCH4: B_Truck_01_box_EPOCH {};
|
||||||
class O_Truck_02_transport_EPOCH
|
class O_Truck_02_transport_EPOCH
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 10000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class O_Truck_02_transport_EPOCH1: O_Truck_02_transport_EPOCH {};
|
class O_Truck_02_transport_EPOCH1: O_Truck_02_transport_EPOCH {};
|
||||||
class O_Truck_02_transport_EPOCH2: O_Truck_02_transport_EPOCH {};
|
class O_Truck_02_transport_EPOCH2: O_Truck_02_transport_EPOCH {};
|
||||||
@ -4513,7 +4594,8 @@ class CfgPricing
|
|||||||
class O_Truck_02_transport_EPOCH4: O_Truck_02_transport_EPOCH {};
|
class O_Truck_02_transport_EPOCH4: O_Truck_02_transport_EPOCH {};
|
||||||
class O_Truck_02_covered_EPOCH
|
class O_Truck_02_covered_EPOCH
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 10000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class O_Truck_02_covered_EPOCH1: O_Truck_02_covered_EPOCH {};
|
class O_Truck_02_covered_EPOCH1: O_Truck_02_covered_EPOCH {};
|
||||||
class O_Truck_02_covered_EPOCH2: O_Truck_02_covered_EPOCH {};
|
class O_Truck_02_covered_EPOCH2: O_Truck_02_covered_EPOCH {};
|
||||||
@ -4521,7 +4603,8 @@ class CfgPricing
|
|||||||
class O_Truck_02_covered_EPOCH4: O_Truck_02_covered_EPOCH {};
|
class O_Truck_02_covered_EPOCH4: O_Truck_02_covered_EPOCH {};
|
||||||
class O_Truck_02_box_EPOCH
|
class O_Truck_02_box_EPOCH
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 10000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class O_Truck_02_box_EPOCH1: O_Truck_02_box_EPOCH {};
|
class O_Truck_02_box_EPOCH1: O_Truck_02_box_EPOCH {};
|
||||||
class O_Truck_02_box_EPOCH2: O_Truck_02_box_EPOCH {};
|
class O_Truck_02_box_EPOCH2: O_Truck_02_box_EPOCH {};
|
||||||
@ -4529,7 +4612,8 @@ class CfgPricing
|
|||||||
class O_Truck_02_box_EPOCH4: O_Truck_02_box_EPOCH {};
|
class O_Truck_02_box_EPOCH4: O_Truck_02_box_EPOCH {};
|
||||||
class O_Truck_03_transport_EPOCH
|
class O_Truck_03_transport_EPOCH
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 10000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class O_Truck_03_transport_EPOCH1: O_Truck_03_transport_EPOCH {};
|
class O_Truck_03_transport_EPOCH1: O_Truck_03_transport_EPOCH {};
|
||||||
class O_Truck_03_transport_EPOCH2: O_Truck_03_transport_EPOCH {};
|
class O_Truck_03_transport_EPOCH2: O_Truck_03_transport_EPOCH {};
|
||||||
@ -4537,49 +4621,64 @@ class CfgPricing
|
|||||||
class O_Truck_03_transport_EPOCH4: O_Truck_03_transport_EPOCH {};
|
class O_Truck_03_transport_EPOCH4: O_Truck_03_transport_EPOCH {};
|
||||||
class O_Truck_03_covered_EPOCH
|
class O_Truck_03_covered_EPOCH
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 10000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class O_Truck_03_covered_EPOCH1: O_Truck_03_covered_EPOCH {};
|
class O_Truck_03_covered_EPOCH1: O_Truck_03_covered_EPOCH {};
|
||||||
class O_Truck_03_covered_EPOCH2: O_Truck_03_covered_EPOCH {};
|
class O_Truck_03_covered_EPOCH2: O_Truck_03_covered_EPOCH {};
|
||||||
class O_Truck_03_covered_EPOCH3: O_Truck_03_covered_EPOCH {};
|
class O_Truck_03_covered_EPOCH3: O_Truck_03_covered_EPOCH {};
|
||||||
class O_Truck_03_covered_EPOCH4: O_Truck_03_covered_EPOCH {};
|
class O_Truck_03_covered_EPOCH4: O_Truck_03_covered_EPOCH {};
|
||||||
|
class uh1h_Epoch
|
||||||
|
{
|
||||||
|
price = 22500;
|
||||||
|
tax = 0.9;
|
||||||
|
};
|
||||||
class O_Heli_Light_02_unarmed_EPOCH
|
class O_Heli_Light_02_unarmed_EPOCH
|
||||||
{
|
{
|
||||||
price = 2500;
|
price = 25000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class I_Heli_Transport_02_EPOCH
|
class I_Heli_Transport_02_EPOCH
|
||||||
{
|
{
|
||||||
price = 2500;
|
price = 25000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class I_Heli_light_03_unarmed_EPOCH
|
class I_Heli_light_03_unarmed_EPOCH
|
||||||
{
|
{
|
||||||
price = 2500;
|
price = 25000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class C_Heli_Light_01_civil_EPOCH
|
class C_Heli_Light_01_civil_EPOCH
|
||||||
{
|
{
|
||||||
price = 2500;
|
price = 25000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class C_Heli_Light_01_civil_2seat_EPOCH: C_Heli_Light_01_civil_EPOCH {};
|
class C_Heli_Light_01_civil_2seat_EPOCH: C_Heli_Light_01_civil_EPOCH {};
|
||||||
class C_Heli_Light_01_civil_4seat_EPOCH: C_Heli_Light_01_civil_EPOCH {};
|
class C_Heli_Light_01_civil_4seat_EPOCH: C_Heli_Light_01_civil_EPOCH {};
|
||||||
class O_Heli_Transport_04_EPOCH
|
class O_Heli_Transport_04_EPOCH
|
||||||
{
|
{
|
||||||
price = 2500;
|
price = 25000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class O_Heli_Transport_04_bench_EPOCH
|
class O_Heli_Transport_04_bench_EPOCH
|
||||||
{
|
{
|
||||||
price = 2500;
|
price = 25000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class O_Heli_Transport_04_box_EPOCH
|
class O_Heli_Transport_04_box_EPOCH
|
||||||
{
|
{
|
||||||
price = 2500;
|
price = 25000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class O_Heli_Transport_04_covered_EPOCH
|
class O_Heli_Transport_04_covered_EPOCH
|
||||||
{
|
{
|
||||||
price = 2500;
|
price = 25000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class B_Heli_Transport_03_unarmed_EPOCH
|
class B_Heli_Transport_03_unarmed_EPOCH
|
||||||
{
|
{
|
||||||
price = 2500;
|
price = 25000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class I_UAV_01_F
|
class I_UAV_01_F
|
||||||
{
|
{
|
||||||
@ -4588,275 +4687,343 @@ class CfgPricing
|
|||||||
class jetski_epoch
|
class jetski_epoch
|
||||||
{
|
{
|
||||||
price = 500;
|
price = 500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class ebike_epoch
|
class ebike_epoch
|
||||||
{
|
{
|
||||||
price = 1500;
|
price = 3500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class mosquito_epoch
|
class mosquito_epoch
|
||||||
{
|
{
|
||||||
price = 1500;
|
price = 1500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class K01
|
class K01
|
||||||
{
|
{
|
||||||
price = 300;
|
price = 300;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class K02
|
class K02
|
||||||
{
|
{
|
||||||
price = 300;
|
price = 300;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class K03
|
class K03
|
||||||
{
|
{
|
||||||
price = 300;
|
price = 300;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class K04
|
class K04
|
||||||
{
|
{
|
||||||
price = 300;
|
price = 300;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Fishing_Boat_Chernarus
|
class CUP_C_Fishing_Boat_Chernarus
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_LR_Transport_CTK
|
class CUP_C_LR_Transport_CTK
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_B_Zodiac_USMC
|
class CUP_B_Zodiac_USMC
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Skoda_Red_CIV
|
class CUP_C_Skoda_Red_CIV
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Skoda_White_CIV
|
class CUP_C_Skoda_White_CIV
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Skoda_Blue_CIV
|
class CUP_C_Skoda_Blue_CIV
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Skoda_Green_CIV
|
class CUP_C_Skoda_Green_CIV
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_SUV_CIV
|
class CUP_C_SUV_CIV
|
||||||
{
|
{
|
||||||
price = 1500;
|
price = 1500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_B_HMMWV_Transport_USA
|
class CUP_B_HMMWV_Transport_USA
|
||||||
{
|
{
|
||||||
price = 2500;
|
price = 2500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_B_HMMWV_Unarmed_USA
|
class CUP_B_HMMWV_Unarmed_USA
|
||||||
{
|
{
|
||||||
price = 2500;
|
price = 2500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_SUV_TK
|
class CUP_C_SUV_TK
|
||||||
{
|
{
|
||||||
price = 2000;
|
price = 2000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_B_LR_Transport_CZ_D
|
class CUP_B_LR_Transport_CZ_D
|
||||||
{
|
{
|
||||||
price = 1100;
|
price = 1100;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Datsun_Covered
|
class CUP_C_Datsun_Covered
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Datsun_Plain
|
class CUP_C_Datsun_Plain
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Datsun_Tubeframe
|
class CUP_C_Datsun_Tubeframe
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Datsun_4seat
|
class CUP_C_Datsun_4seat
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Datsun
|
class CUP_C_Datsun
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Golf4_green_Civ
|
class CUP_C_Golf4_green_Civ
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Golf4_red_Civ
|
class CUP_C_Golf4_red_Civ
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Golf4_blue_Civ
|
class CUP_C_Golf4_blue_Civ
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Golf4_black_Civ
|
class CUP_C_Golf4_black_Civ
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Golf4_kitty_Civ
|
class CUP_C_Golf4_kitty_Civ
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Golf4_reptile_Civ
|
class CUP_C_Golf4_reptile_Civ
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Golf4_camodigital_Civ
|
class CUP_C_Golf4_camodigital_Civ
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Golf4_camodark_Civ
|
class CUP_C_Golf4_camodark_Civ
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Golf4_camo_Civ
|
class CUP_C_Golf4_camo_Civ
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_B_M1030
|
class CUP_B_M1030
|
||||||
{
|
{
|
||||||
price = 500;
|
price = 500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Ural_Civ_03
|
class CUP_C_Ural_Civ_03
|
||||||
{
|
{
|
||||||
price = 1200;
|
price = 1200;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Ural_Open_Civ_03
|
class CUP_C_Ural_Open_Civ_03
|
||||||
{
|
{
|
||||||
price = 1200;
|
price = 1200;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Ural_Civ_02
|
class CUP_C_Ural_Civ_02
|
||||||
{
|
{
|
||||||
price = 1200;
|
price = 1200;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_B_TowingTractor_USMC
|
class CUP_B_TowingTractor_USMC
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_C47_CIV
|
class CUP_C_C47_CIV
|
||||||
{
|
{
|
||||||
price = 1600;
|
price = 1600;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_B_LR_Transport_CZ_W
|
class CUP_B_LR_Transport_CZ_W
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Golf4_white_Civ
|
class CUP_C_Golf4_white_Civ
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Golf4_whiteblood_Civ
|
class CUP_C_Golf4_whiteblood_Civ
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Golf4_yellow_Civ
|
class CUP_C_Golf4_yellow_Civ
|
||||||
{
|
{
|
||||||
price = 800;
|
price = 800;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Octavia_CIV
|
class CUP_C_Octavia_CIV
|
||||||
{
|
{
|
||||||
price = 1600;
|
price = 1600;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Ural_Civ_01
|
class CUP_C_Ural_Civ_01
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 1000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Ural_Open_Civ_01
|
class CUP_C_Ural_Open_Civ_01
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 1000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_B_Ural_CDF
|
class CUP_B_Ural_CDF
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 1000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_B_Ural_Open_CDF
|
class CUP_B_Ural_Open_CDF
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 1000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_Ural_Open_Civ_02
|
class CUP_C_Ural_Open_Civ_02
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 1000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_B_HMMWV_Ambulance_USA
|
class CUP_B_HMMWV_Ambulance_USA
|
||||||
{
|
{
|
||||||
price = 1500;
|
price = 1500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_UAZ_Unarmed_TK_CIV
|
class CUP_C_UAZ_Unarmed_TK_CIV
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 1000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_UAZ_Open_TK_CIV
|
class CUP_C_UAZ_Open_TK_CIV
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 1000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_B_UAZ_Unarmed_CDF
|
class CUP_B_UAZ_Unarmed_CDF
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 1000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_B_Ural_Empty_CDF
|
class CUP_B_Ural_Empty_CDF
|
||||||
{
|
{
|
||||||
price = 1000;
|
price = 1000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class CUP_C_DC3_CIV
|
class CUP_C_DC3_CIV
|
||||||
{
|
{
|
||||||
price = 2400;
|
price = 2400;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class C_Boat_Transport_02_F
|
class C_Boat_Transport_02_F
|
||||||
{
|
{
|
||||||
price = 1200;
|
price = 1200;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class C_Scooter_Transport_01_F
|
class C_Scooter_Transport_01_F
|
||||||
{
|
{
|
||||||
price = 1200;
|
price = 1200;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class C_Offroad_02_unarmed_F
|
class C_Offroad_02_unarmed_F
|
||||||
{
|
{
|
||||||
price = 3500;
|
price = 3500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class I_C_Offroad_02_unarmed_F
|
class I_C_Offroad_02_unarmed_F
|
||||||
{
|
{
|
||||||
price = 3500;
|
price = 3500;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class B_T_LSV_01_unarmed_F
|
class B_T_LSV_01_unarmed_F
|
||||||
{
|
{
|
||||||
price = 4400;
|
price = 4400;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class O_LSV_02_unarmed_F
|
class O_LSV_02_unarmed_F
|
||||||
{
|
{
|
||||||
price = 4300;
|
price = 4300;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class O_T_LSV_02_unarmed_F
|
class O_T_LSV_02_unarmed_F
|
||||||
{
|
{
|
||||||
price = 4600;
|
price = 4600;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class C_Plane_Civil_01_F
|
class C_Plane_Civil_01_F
|
||||||
{
|
{
|
||||||
price = 5000;
|
price = 5000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class C_Plane_Civil_01_racing_F
|
class C_Plane_Civil_01_racing_F
|
||||||
{
|
{
|
||||||
price = 5000;
|
price = 5000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class B_CTRG_LSV_01_light_F
|
class B_CTRG_LSV_01_light_F
|
||||||
{
|
{
|
||||||
price = 4400;
|
price = 4400;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class B_LSV_01_unarmed_F
|
class B_LSV_01_unarmed_F
|
||||||
{
|
{
|
||||||
price = 4400;
|
price = 4400;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class B_T_VTOL_01_vehicle_blue_EPOCH
|
class B_T_VTOL_01_vehicle_blue_EPOCH
|
||||||
{
|
{
|
||||||
price = 10000;
|
price = 10000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class B_T_VTOL_01_infantry_olive_EPOCH: B_T_VTOL_01_vehicle_blue_EPOCH {};
|
class B_T_VTOL_01_infantry_olive_EPOCH: B_T_VTOL_01_vehicle_blue_EPOCH {};
|
||||||
class O_T_VTOL_02_infantry_EPOCH
|
class O_T_VTOL_02_infantry_EPOCH
|
||||||
{
|
{
|
||||||
price = 10000;
|
price = 10000;
|
||||||
|
tax = 0.9;
|
||||||
};
|
};
|
||||||
class O_T_VTOL_02_vehicle_grey_EPOCH: O_T_VTOL_02_infantry_EPOCH {};
|
class O_T_VTOL_02_vehicle_grey_EPOCH: O_T_VTOL_02_infantry_EPOCH {};
|
||||||
class B_UavTerminal
|
class B_UavTerminal
|
||||||
@ -5784,6 +5951,14 @@ class CfgPricing
|
|||||||
{
|
{
|
||||||
price = 5;
|
price = 5;
|
||||||
};
|
};
|
||||||
|
class thor_mask_epoch
|
||||||
|
{
|
||||||
|
price = 30;
|
||||||
|
};
|
||||||
|
class iron_mask_epoch
|
||||||
|
{
|
||||||
|
price = 30;
|
||||||
|
};
|
||||||
class hockey_mask_epoch
|
class hockey_mask_epoch
|
||||||
{
|
{
|
||||||
price = 30;
|
price = 30;
|
||||||
|
@ -26,6 +26,11 @@ class CfgRemoteExec
|
|||||||
{
|
{
|
||||||
mode = 1;
|
mode = 1;
|
||||||
jip = 0;
|
jip = 0;
|
||||||
|
class EPOCH_server_SetFinalPlayerPos
|
||||||
|
{
|
||||||
|
allowedTargets=2;
|
||||||
|
jip = 0;
|
||||||
|
};
|
||||||
class bis_fnc_reviveinitaddplayer
|
class bis_fnc_reviveinitaddplayer
|
||||||
{
|
{
|
||||||
allowedTargets = 2;
|
allowedTargets = 2;
|
||||||
|
@ -28,6 +28,10 @@ class CfgSnapChecks
|
|||||||
class CinderWallDoorwHatch_EPOCH : WoodLargeWall_EPOCH {};
|
class CinderWallDoorwHatch_EPOCH : WoodLargeWall_EPOCH {};
|
||||||
class CinderWall_EPOCH : WoodLargeWall_EPOCH {};
|
class CinderWall_EPOCH : WoodLargeWall_EPOCH {};
|
||||||
class CinderWallHalf_EPOCH : WoodLargeWall_EPOCH {};
|
class CinderWallHalf_EPOCH : WoodLargeWall_EPOCH {};
|
||||||
|
class PlyThirdWall_EPOCH : WoodLargeWall_EPOCH
|
||||||
|
{
|
||||||
|
nails[] = {{{2.46932,0,0.120775},{2.46932,0,-0.190775}},{{-2.46932,0,0.120775},{-2.46932,0,-0.190775}},{{0,0,1},{2.76932,0,1}},{{0,0,1},{-2.76932,0,1}}};
|
||||||
|
};
|
||||||
class WoodFloor_Epoch
|
class WoodFloor_Epoch
|
||||||
{
|
{
|
||||||
nails[] = {{{0,0,0.15},{2.8555,0,0.15}},{{0,0,0.15},{0,2.8555,0.15}},{{0,0,0.15},{-2.8555,0,0.15}},{{0,0,0.15},{0,-2.8555,0.15}},{{2.5555,0,0.15},{2.5555,0,-0.15}},{{-2.5555,0,0.15},{-2.5555,0,-0.15}},{{0,-2.5555,0.15},{0,-2.5555,-0.15}},{{0,2.5555,0.15},{0,2.5555,-0.15}}};
|
nails[] = {{{0,0,0.15},{2.8555,0,0.15}},{{0,0,0.15},{0,2.8555,0.15}},{{0,0,0.15},{-2.8555,0,0.15}},{{0,0,0.15},{0,-2.8555,0.15}},{{2.5555,0,0.15},{2.5555,0,-0.15}},{{-2.5555,0,0.15},{-2.5555,0,-0.15}},{{0,-2.5555,0.15},{0,-2.5555,-0.15}},{{0,2.5555,0.15},{0,2.5555,-0.15}}};
|
||||||
@ -51,6 +55,15 @@ class CfgSnapChecks
|
|||||||
class MetalTower_EPOCH : WoodStairs_EPOCH {};
|
class MetalTower_EPOCH : WoodStairs_EPOCH {};
|
||||||
class CinderTower_EPOCH : WoodStairs_EPOCH {};
|
class CinderTower_EPOCH : WoodStairs_EPOCH {};
|
||||||
class WoodRamp_EPOCH : WoodStairs_EPOCH {};
|
class WoodRamp_EPOCH : WoodStairs_EPOCH {};
|
||||||
|
class BaseCam_EPOCH
|
||||||
|
{
|
||||||
|
nails[] = {
|
||||||
|
{{0,0.15,-0.06},{0,0.3,0.04}},
|
||||||
|
{{0,0.15,-0.06},{0,0.3,-0.16}},
|
||||||
|
{{0,0.15,-0.06},{-0.1,0.3,-0.06}},
|
||||||
|
{{0,0.15,-0.06},{0.1,0.3,-0.06}}
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
/*[[[end]]]*/
|
/*[[[end]]]*/
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
//[[[cog import generate_private_arrays ]]]
|
//[[[cog import generate_private_arrays ]]]
|
||||||
private ["_Simulated","_DamageAllowed","_ExceptedBaseObjects","_IndestructibleBaseObjects","_UseIndestructible","_VAL","_ammoClass","_ammoObj","_anims","_animsData","_arr","_arrCount","_baseObj","_buildingJammerRange","_cfgBaseBuilding","_cfgEpochClient","_class","_color","_damage","_location","_marker","_maxTTL","_owner","_response","_serverSettingsConfig","_storageSlot","_textureSlot","_ttl","_vehHiveKey","_worldspace"];
|
private ["_Simulated","_DamageAllowed","_ExceptedBaseObjects","_IndestructibleBaseObjects","_UseIndestructible","_VAL","_ammoClass","_ammoObj","_anims","_animsData","_arr","_arrCount","_baseObj","_buildingJammerRange","_cfgBaseBuilding","_cfgEpochClient","_class","_color","_damage","_location","_marker","_maxTTL","_owner","_response","_serverSettingsConfig","_storageSlot","_textureSlot","_ttl","_vehHiveKey","_worldspace"];
|
||||||
//[[[end]]]
|
//[[[end]]]
|
||||||
|
EPOCH_BaseCams = [];
|
||||||
_maxTTL = parseNumber EPOCH_expiresBuilding;
|
_maxTTL = parseNumber EPOCH_expiresBuilding;
|
||||||
_serverSettingsConfig = configFile >> "CfgEpochServer";
|
_serverSettingsConfig = configFile >> "CfgEpochServer";
|
||||||
_baseDynamicSimulationSystem = [_serverSettingsConfig, "baseDynamicSimulationSystem", true] call EPOCH_fnc_returnConfigEntry;
|
_baseDynamicSimulationSystem = [_serverSettingsConfig, "baseDynamicSimulationSystem", true] call EPOCH_fnc_returnConfigEntry;
|
||||||
@ -142,8 +143,18 @@ for "_i" from 0 to _this do {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Handle Jammers and create marker if EPOCH_SHOW_JAMMERS set true.
|
// Handle Jammers and create marker if EPOCH_SHOW_JAMMERS set true.
|
||||||
if (_class isKindOf "PlotPole_EPOCH") then {
|
if (_class in ["PlotPole_EPOCH","BaseCam_EPOCH"]) then {
|
||||||
if (EPOCH_SHOW_JAMMERS) then {
|
if (_owner != "-1") then {
|
||||||
|
_baseObj setVariable ["BUILD_OWNER", _owner, true];
|
||||||
|
};
|
||||||
|
|
||||||
|
// add BaseCam to public array
|
||||||
|
if (_class isequalto "BaseCam_EPOCH") then {
|
||||||
|
EPOCH_BaseCams pushBackUnique _baseObj;
|
||||||
|
// Set PubVar later after all Cams are loaded in
|
||||||
|
};
|
||||||
|
|
||||||
|
if (_class isequalto "PlotPole_EPOCH" && EPOCH_SHOW_JAMMERS) then {
|
||||||
_marker = createMarker [str(_location), _location];
|
_marker = createMarker [str(_location), _location];
|
||||||
_marker setMarkerShape "ICON";
|
_marker setMarkerShape "ICON";
|
||||||
// TODO allow players to change this per base
|
// TODO allow players to change this per base
|
||||||
@ -159,10 +170,6 @@ for "_i" from 0 to _this do {
|
|||||||
};
|
};
|
||||||
_baseObj setVariable ["BUILD_SLOT", _i, true];
|
_baseObj setVariable ["BUILD_SLOT", _i, true];
|
||||||
|
|
||||||
if (_owner != "-1") then {
|
|
||||||
_baseObj setVariable ["BUILD_OWNER", _owner, true];
|
|
||||||
};
|
|
||||||
|
|
||||||
if (_textureSlot != 0) then {
|
if (_textureSlot != 0) then {
|
||||||
// get texture path from index
|
// get texture path from index
|
||||||
_color = getArray (_cfgBaseBuilding >> _class >> "availableTextures");
|
_color = getArray (_cfgBaseBuilding >> _class >> "availableTextures");
|
||||||
@ -188,5 +195,6 @@ for "_i" from 0 to _this do {
|
|||||||
EPOCH_BuildingSlots set [_i,0];
|
EPOCH_BuildingSlots set [_i,0];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
publicvariable "EPOCH_BaseCams";
|
||||||
missionNamespace setVariable ["EPOCH_BuildingSlotCount", {_x == 0} count EPOCH_BuildingSlots, true];
|
missionNamespace setVariable ["EPOCH_BuildingSlotCount", {_x == 0} count EPOCH_BuildingSlots, true];
|
||||||
true
|
true
|
||||||
|
@ -47,6 +47,10 @@ if (isText _staticClassConfig) then {
|
|||||||
EPOCH_activeGardens pushBackUnique _storageObj;
|
EPOCH_activeGardens pushBackUnique _storageObj;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (_staticClass in ["SolarCharger_EPOCH","SolarChargerXL_EPOCH"]) then {
|
||||||
|
EPOCH_activeSolars pushBackUnique _storageObj;
|
||||||
|
};
|
||||||
|
|
||||||
if (getNumber(_cfgBaseBuilding >> _staticClass >> "isSecureStorage") == 1) then{
|
if (getNumber(_cfgBaseBuilding >> _staticClass >> "isSecureStorage") == 1) then{
|
||||||
_storageObj setVariable["EPOCH_Locked", false, true];
|
_storageObj setVariable["EPOCH_Locked", false, true];
|
||||||
};
|
};
|
||||||
@ -82,7 +86,20 @@ if (isText _staticClassConfig) then {
|
|||||||
if (_objSlot != -1) then {
|
if (_objSlot != -1) then {
|
||||||
_newVehicle = [_vehicle, false] call EPOCH_server_simulSwap;
|
_newVehicle = [_vehicle, false] call EPOCH_server_simulSwap;
|
||||||
|
|
||||||
|
// add BaseCam to public array
|
||||||
|
if (_newVehicle iskindof "BaseCam_EPOCH") then {
|
||||||
|
_playerGroup = _player getVariable["GROUP", ""];
|
||||||
|
_Owner = _playerUID;
|
||||||
|
if (_playerGroup != "") then {
|
||||||
|
_Owner = _playerGroup;
|
||||||
|
};
|
||||||
|
_newVehicle setVariable["BUILD_OWNER", _Owner, true];
|
||||||
|
EPOCH_BaseCams pushBackUnique _newVehicle;
|
||||||
|
publicvariable "EPOCH_BaseCams";
|
||||||
|
}
|
||||||
|
else {
|
||||||
_newVehicle setVariable["BUILD_OWNER", _playerUID, true];
|
_newVehicle setVariable["BUILD_OWNER", _playerUID, true];
|
||||||
|
};
|
||||||
_newVehicle call EPOCH_saveBuilding;
|
_newVehicle call EPOCH_saveBuilding;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ if ((_response select 0) == 1 && (_response select 1) isEqualType []) then {
|
|||||||
if (_selectedPlayerName == "Dead Player") then {
|
if (_selectedPlayerName == "Dead Player") then {
|
||||||
_memberrange = ["PlayerData", _selectedPlayerUID] call EPOCH_fnc_server_hiveGETRANGE;
|
_memberrange = ["PlayerData", _selectedPlayerUID] call EPOCH_fnc_server_hiveGETRANGE;
|
||||||
if (count (_memberrange select 1) > 0) then {
|
if (count (_memberrange select 1) > 0) then {
|
||||||
if (typename (_memberrange select 1 select 0) == "STRING") then {
|
if ((_memberrange select 1 select 0) isEqualType "STRING") then {
|
||||||
_selectedPlayerName = _memberrange select 1 select 0;
|
_selectedPlayerName = _memberrange select 1 select 0;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -60,7 +60,7 @@ if !(_contentArray isEqualTo []) then {
|
|||||||
if (_selectedPlayerName == "Dead Player") then {
|
if (_selectedPlayerName == "Dead Player") then {
|
||||||
_memberrange = ["PlayerData", _selectedPlayerUID] call EPOCH_fnc_server_hiveGETRANGE;
|
_memberrange = ["PlayerData", _selectedPlayerUID] call EPOCH_fnc_server_hiveGETRANGE;
|
||||||
if (count (_memberrange select 1) > 0) then {
|
if (count (_memberrange select 1) > 0) then {
|
||||||
if (typename (_memberrange select 1 select 0) == "STRING") then {
|
if ((_memberrange select 1 select 0) isEqualType "STRING") then {
|
||||||
_selectedPlayerName = _memberrange select 1 select 0;
|
_selectedPlayerName = _memberrange select 1 select 0;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -18,7 +18,7 @@ private ["_allowedVehicleListName","_allowedVehiclesList","_backpacks","_cfgPric
|
|||||||
params ["_player",["_token","",[""]],["_objArr",[]],["_pos",[]],["_wepHolder",objNull],["_clearCargo",true],["_objSpc","CAN_COLLIDE"],["_driverType",""],["_gunnerType",""],["_commanderType",""],["_crewType",""],["_doDamage",false]];
|
params ["_player",["_token","",[""]],["_objArr",[]],["_pos",[]],["_wepHolder",objNull],["_clearCargo",true],["_objSpc","CAN_COLLIDE"],["_driverType",""],["_gunnerType",""],["_commanderType",""],["_crewType",""],["_doDamage",false]];
|
||||||
|
|
||||||
if !([_player,_token]call EPOCH_server_getPToken) exitWith {};
|
if !([_player,_token]call EPOCH_server_getPToken) exitWith {};
|
||||||
if (typeName _objArr != "ARRAY")then{_objArr = [_objArr];};
|
if !(_objArr isEqualType [])then{_objArr = [_objArr];};
|
||||||
if (count _objArr < 1) exitWith {};
|
if (count _objArr < 1) exitWith {};
|
||||||
|
|
||||||
diag_log format["Epoch: Attempt Create Object: %1 for %2",_objArr, name _player];
|
diag_log format["Epoch: Attempt Create Object: %1 for %2",_objArr, name _player];
|
||||||
|
@ -0,0 +1,43 @@
|
|||||||
|
/*
|
||||||
|
Author: He-Man - EpochMod.com
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
|
||||||
|
Description:
|
||||||
|
Set final Player position on login
|
||||||
|
|
||||||
|
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_server/compile/epoch_player/EPOCH_server_SetFinalPlayerPos.sqf
|
||||||
|
*/
|
||||||
|
|
||||||
|
params ["_player","_newPlyr"];
|
||||||
|
private ["_finalpos","_fallbackpos"];
|
||||||
|
if (isnull _player || isnull _newPlyr) exitwith {
|
||||||
|
diag_log "DEBUG: SetFinalPlayerPos failed - Player or PlayerObj is Null";
|
||||||
|
};
|
||||||
|
if !(typeof _player isequalto "VirtualMan_EPOCH") exitwith {
|
||||||
|
diag_log "DEBUG: SetFinalPlayerPos failed - PlayerObj != VirtualMan_EPOCH";
|
||||||
|
};
|
||||||
|
_finalpos = _newPlyr getvariable ["FinalDest",[]];
|
||||||
|
if (_finalpos isequalto []) exitwith {
|
||||||
|
diag_log "DEBUG: SetFinalPlayerPos failed - No FinalPos Variable set";
|
||||||
|
};
|
||||||
|
if !(_finalpos isequaltype []) exitwith {
|
||||||
|
diag_log "DEBUG: SetFinalPlayerPos failed - FinalPos is not an Array";
|
||||||
|
};
|
||||||
|
if (count _finalpos < 2) exitwith {
|
||||||
|
diag_log "DEBUG: SetFinalPlayerPos failed - count FinalPos < 2";
|
||||||
|
};
|
||||||
|
_fallbackpos = getmarkerpos "respawn_west";
|
||||||
|
_fallbackpos set [2,0];
|
||||||
|
_finalpos params [["_location",_fallbackpos],["_dir",0]];
|
||||||
|
_newPlyr setDir _dir;
|
||||||
|
_newPlyr setPosATL _location;
|
||||||
|
_newPlyr setVariable["SETUP", true, true];
|
||||||
|
_player setPosATL _location;
|
||||||
|
_newPlyr allowdamage true;
|
||||||
|
_newPlyr hideobjectglobal false;
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_player/EPOCH_server_SetUnitLoadout.sqf
|
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_player/EPOCH_server_SetUnitLoadout.sqf
|
||||||
*/
|
*/
|
||||||
//[[[cog import generate_private_arrays ]]]
|
//[[[cog import generate_private_arrays ]]]
|
||||||
private ["_type"];
|
private ["_type","_loadabs"];
|
||||||
//[[[end]]]
|
//[[[end]]]
|
||||||
|
|
||||||
params ["_newPlyr","_loadout"];
|
params ["_newPlyr","_loadout"];
|
||||||
@ -84,5 +84,10 @@ if !(_bpack isequalto "") then {
|
|||||||
[BackpackContainer _newPlyr, _bpackitems]
|
[BackpackContainer _newPlyr, _bpackitems]
|
||||||
];
|
];
|
||||||
|
|
||||||
|
_loadabs = loadabs _newPlyr;
|
||||||
|
if !(uniform _newPlyr isequalto _uniform && vest _newPlyr isequalto _vest && backpack _newPlyr isequalto _bpack) then {
|
||||||
|
diag_log format ["EPOCH Debug: Setunitloadout failed - Unifmorm should: %1 is: %2 - Vest should: %3 is: %4 - Backpack should: %5 is: %6",_uniform,uniform _newPlyr,_vest,vest _newPlyr,_bpack,backpack _newPlyr];
|
||||||
|
_loadabs = -1;
|
||||||
|
};
|
||||||
|
|
||||||
true
|
_loadabs
|
||||||
|
@ -61,7 +61,7 @@ if (_playerObj isEqualType objNull) then {
|
|||||||
[_fsmHandle,['_checkPlayer_PVC', _dead]] remoteExecCall ['setFSMVariable', _playerObj];
|
[_fsmHandle,['_checkPlayer_PVC', _dead]] remoteExecCall ['setFSMVariable', _playerObj];
|
||||||
|
|
||||||
if (!_dead) then { //Load old Char
|
if (!_dead) then { //Load old Char
|
||||||
[_playerObj, _isMale, _fsmHandle] call EPOCH_server_loadPlayer;
|
[_playerObj, _isMale, _fsmHandle, _arr] call EPOCH_server_loadPlayer;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -17,7 +17,7 @@ private ["_Primary","_CheckLocation","_allGroupMembers","_alreadyDead","_assigne
|
|||||||
//[[[end]]]
|
//[[[end]]]
|
||||||
_reject = true;
|
_reject = true;
|
||||||
|
|
||||||
params [["_player",objNull,[objNull]],["_isMale",true],["_fsmHandle",0]];
|
params [["_player",objNull,[objNull]],["_isMale",true],["_fsmHandle",0],["_playerData",[]]];
|
||||||
|
|
||||||
if (!isNull _player) then {
|
if (!isNull _player) then {
|
||||||
|
|
||||||
@ -30,8 +30,8 @@ if (!isNull _player) then {
|
|||||||
|
|
||||||
if (_playerUID != "") then {
|
if (_playerUID != "") then {
|
||||||
|
|
||||||
|
if (_playerdata isequalto []) then {
|
||||||
// Make Hive call
|
// Make Hive call
|
||||||
_playerData = [];
|
|
||||||
(["Player", _playerUID] call EPOCH_fnc_server_hiveGETRANGE) params [
|
(["Player", _playerUID] call EPOCH_fnc_server_hiveGETRANGE) params [
|
||||||
["_status", 0 ],
|
["_status", 0 ],
|
||||||
["_playerDataTmp", [] ]
|
["_playerDataTmp", [] ]
|
||||||
@ -39,6 +39,7 @@ if (!isNull _player) then {
|
|||||||
if (_status == 1 && _playerDataTmp isEqualType []) then {
|
if (_status == 1 && _playerDataTmp isEqualType []) then {
|
||||||
_playerData = _playerDataTmp;
|
_playerData = _playerDataTmp;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
// Apperance defaults
|
// Apperance defaults
|
||||||
_uniform = [_serverSettingsConfig, "defaultUniformFemale", "U_Test_uniform"] call EPOCH_fnc_returnConfigEntry;
|
_uniform = [_serverSettingsConfig, "defaultUniformFemale", "U_Test_uniform"] call EPOCH_fnc_returnConfigEntry;
|
||||||
@ -177,9 +178,8 @@ if (!isNull _player) then {
|
|||||||
_group = createGroup [west, true];
|
_group = createGroup [west, true];
|
||||||
};
|
};
|
||||||
|
|
||||||
_player setPosATL _location;
|
_newPlyr = _group createUnit[_class, getMarkerPos "respawn_west", [], 0, "CAN_COLLIDE"];
|
||||||
|
_newPlyr hideobjectglobal true;
|
||||||
_newPlyr = _group createUnit[_class, _location, [], 0, "CAN_COLLIDE"];
|
|
||||||
if !(isNull _newPlyr) then {
|
if !(isNull _newPlyr) then {
|
||||||
|
|
||||||
// disable AI on temp unit
|
// disable AI on temp unit
|
||||||
@ -199,125 +199,16 @@ if (!isNull _player) then {
|
|||||||
// disable further damage server side
|
// disable further damage server side
|
||||||
_newPlyr allowDamage false;
|
_newPlyr allowDamage false;
|
||||||
|
|
||||||
_newPlyr setDir _dir;
|
|
||||||
_newPlyr setPosATL _location;
|
|
||||||
|
|
||||||
// set player loadout
|
// set player loadout
|
||||||
if (_schemaVersion >= 1.0) then {
|
|
||||||
_playerData params ["","","_appearance","","","_loadout"];
|
_playerData params ["","","_appearance","","","_loadout"];
|
||||||
// get current weapon to send to param for selectWeapon
|
// get current weapon to send to param for selectWeapon
|
||||||
_currentWeapon = _appearance param [4,""];
|
_currentWeapon = _appearance param [4,""];
|
||||||
// _newPlyr setUnitLoadout [_loadout, false];
|
// _newPlyr setUnitLoadout [_loadout, false];
|
||||||
|
|
||||||
// Workaround for Client / Server synchronizing issue in SetUnitLoadout
|
// Workaround for Client / Server synchronizing issue in SetUnitLoadout
|
||||||
[_newPlyr,_loadout] call Epoch_server_SetUnitLoadout;
|
_loadabs = [_newPlyr,_loadout] call Epoch_server_SetUnitLoadout;
|
||||||
|
if (_loadabs isequalto -1) then {
|
||||||
diag_log format["DEBUG: loaded player %1 with new schema Version %2", _newPlyr, _schemaVersion];
|
deleteVehicle _newPlyr;
|
||||||
|
|
||||||
} else {
|
|
||||||
// Legacy code start
|
|
||||||
// Apperance + Weapons
|
|
||||||
_playerData params ["","","_appearance","","","_weaponsAndItems","_linkedItems","_normalMagazines","_itemsInContainers","_weaponsInContainers"];
|
|
||||||
// load Apperance
|
|
||||||
_appearance params ["_goggles","_headgear","_vest","_backpack","_uniform"];
|
|
||||||
|
|
||||||
// old data format for 0.5 and prior.
|
|
||||||
// Load Apperance START
|
|
||||||
if (_uniform != "") then {
|
|
||||||
_newPlyr addUniform _uniform;
|
|
||||||
};
|
|
||||||
if (_backpack != "") then {
|
|
||||||
_newPlyr addBackpack _backpack;
|
|
||||||
};
|
|
||||||
if (_goggles != "") then {
|
|
||||||
_newPlyr addGoggles _goggles;
|
|
||||||
};
|
|
||||||
if (_headgear != "") then {
|
|
||||||
_newPlyr addHeadgear _headgear;
|
|
||||||
};
|
|
||||||
if (_vest != "") then {
|
|
||||||
_newPlyr addVest _vest;
|
|
||||||
};
|
|
||||||
// Load Apperance END
|
|
||||||
|
|
||||||
// Load inventory + defaults START
|
|
||||||
if (count _weaponsAndItems >= 3) then {
|
|
||||||
_weaponsAndItems params ["_currentWeaponTmp","_weaponsAndItemsArray","_equipped"];
|
|
||||||
_currentWeapon = _currentWeaponTmp;
|
|
||||||
{
|
|
||||||
_weapon = _x deleteAt 0;
|
|
||||||
_type = getNumber(configfile >> "cfgweapons" >> _weapon >> "type");
|
|
||||||
_attachments = [];
|
|
||||||
_wMags = false;
|
|
||||||
_wMagsArray = [];
|
|
||||||
// suppressor, laser, optics, magazines(array), bipods
|
|
||||||
{
|
|
||||||
// magazines
|
|
||||||
if (_x isEqualType []) then{
|
|
||||||
_wMags = true;
|
|
||||||
_wMagsArray pushback _x;
|
|
||||||
} else {
|
|
||||||
// attachments
|
|
||||||
if (_x != "") then{
|
|
||||||
_attachments pushBack _x;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
} forEach _x;
|
|
||||||
if (_wMags) then {
|
|
||||||
{
|
|
||||||
_newPlyr addMagazine _x;
|
|
||||||
} foreach _wMagsArray;
|
|
||||||
};
|
|
||||||
// add weapon if equiped
|
|
||||||
if (_weapon in _equipped) then {
|
|
||||||
_equipped = _equipped - [_weapon];
|
|
||||||
if (_weapon != "") then {
|
|
||||||
_newPlyr addWeapon _weapon;
|
|
||||||
};
|
|
||||||
switch (_type) do {
|
|
||||||
case 1: { // primary
|
|
||||||
removeAllPrimaryWeaponItems _newPlyr;
|
|
||||||
{ _newPlyr addPrimaryWeaponItem _x } forEach _attachments;
|
|
||||||
};
|
|
||||||
case 2: { // handgun
|
|
||||||
removeAllHandgunItems _newPlyr;
|
|
||||||
{ _newPlyr addHandgunItem _x } forEach _attachments;
|
|
||||||
};
|
|
||||||
case 4: { // secondary
|
|
||||||
// removeAllSecondaryWeaponItems player; does not exist ?
|
|
||||||
{
|
|
||||||
_newPlyr removeSecondaryWeaponItem _x;
|
|
||||||
} forEach (secondaryWeaponItems _newPlyr);
|
|
||||||
{ _newPlyr addSecondaryWeaponItem _x } forEach _attachments;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}else{
|
|
||||||
{
|
|
||||||
_newPlyr addItem _x;
|
|
||||||
} forEach _attachments;
|
|
||||||
};
|
|
||||||
} forEach _weaponsAndItemsArray;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Linked items
|
|
||||||
{
|
|
||||||
if (_x in["Binocular", "Rangefinder","Laserdesignator","Laserdesignator_02","Laserdesignator_03","Laserdesignator_01_khk_F","Laserdesignator_02_ghex_F"]) then {
|
|
||||||
_newPlyr addWeapon _x;
|
|
||||||
} else {
|
|
||||||
_newPlyr linkItem _x;
|
|
||||||
};
|
|
||||||
} forEach _linkedItems;
|
|
||||||
|
|
||||||
// add items to containers
|
|
||||||
[_newPlyr, _itemsInContainers] call EPOCH_fnc_addItemToX;
|
|
||||||
|
|
||||||
// add weapons to containers
|
|
||||||
[_newPlyr, _weaponsInContainers] call EPOCH_fnc_addItemToX;
|
|
||||||
|
|
||||||
// Add magazines
|
|
||||||
{_newPlyr addMagazine _x} forEach _normalMagazines;
|
|
||||||
// Load inventory + defaults END
|
|
||||||
// Legacy code stop
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Final Push
|
// Final Push
|
||||||
@ -354,15 +245,11 @@ if (!isNull _player) then {
|
|||||||
_communityStats = (_communityStatsArray param [1,[]]) param [0,[]];
|
_communityStats = (_communityStatsArray param [1,[]]) param [0,[]];
|
||||||
_newPlyr setVariable["COMMUNITY_STATS", _communityStats];
|
_newPlyr setVariable["COMMUNITY_STATS", _communityStats];
|
||||||
|
|
||||||
// re enable damage server side
|
|
||||||
_newPlyr allowDamage true;
|
|
||||||
|
|
||||||
// Flag new body as ready for use.
|
// Flag new body as ready for use.
|
||||||
_newPlyr setVariable["SETUP", true, true];
|
_newPlyr setVariable["FinalDest", [_location,_dir], true];
|
||||||
|
|
||||||
// Send message to player so they can take over the new body.
|
// Send message to player so they can take over the new body.
|
||||||
[_playerNetID, _playerUID, [_newPlyr, _vars, _currentWeapon, loadAbs _newPlyr, _playerGroup, _canBeRevived, _newPlyr call EPOCH_server_setPToken,_playerGroupArray, _communityStats, _hitpoints], _fsmHandle, _player] call EPOCH_server_pushPlayer;
|
[_playerNetID, _playerUID, [_newPlyr, _vars, _currentWeapon, _loadabs, _playerGroup, _canBeRevived, _newPlyr call EPOCH_server_setPToken,_playerGroupArray, _communityStats, _hitpoints], _fsmHandle, _player] call EPOCH_server_pushPlayer;
|
||||||
// diag_log str([_playerNetID, _playerUID, _player, [_newPlyr, (_player isEqualTo _newPlyr), _vars, _currentWeapon, loadAbs _newPlyr, _playerGroup, _canBeRevived, [],_playerGroupArray, _communityStats, _hitpoints], _fsmHandle]);
|
|
||||||
|
|
||||||
// revive test
|
// revive test
|
||||||
_newPlyr setVariable ['#rev_enabled', true, true];
|
_newPlyr setVariable ['#rev_enabled', true, true];
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user