diff --git a/Server_Install_Pack/@epochhive/addons/epoch_server.pbo b/Server_Install_Pack/@epochhive/addons/epoch_server.pbo index 1cf9c27c..3679a37d 100644 Binary files a/Server_Install_Pack/@epochhive/addons/epoch_server.pbo and b/Server_Install_Pack/@epochhive/addons/epoch_server.pbo differ diff --git a/Server_Install_Pack/@epochhive/addons/epoch_server_core.pbo b/Server_Install_Pack/@epochhive/addons/epoch_server_core.pbo index 21eaf9ed..306d4129 100644 Binary files a/Server_Install_Pack/@epochhive/addons/epoch_server_core.pbo and b/Server_Install_Pack/@epochhive/addons/epoch_server_core.pbo differ diff --git a/Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo b/Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo index 8cb73f1d..8dd2fbf1 100644 Binary files a/Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo and b/Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Altis.pbo b/Server_Install_Pack/mpmissions/epoch.Altis.pbo index a64151e5..a83d2610 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Altis.pbo and b/Server_Install_Pack/mpmissions/epoch.Altis.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Australia.pbo b/Server_Install_Pack/mpmissions/epoch.Australia.pbo index 01c0a67d..0f1f4b59 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Australia.pbo and b/Server_Install_Pack/mpmissions/epoch.Australia.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo b/Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo index 2a58bf13..32022f25 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo and b/Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo b/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo index 65b2c688..3f93a89f 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo and b/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Chernarus.pbo b/Server_Install_Pack/mpmissions/epoch.Chernarus.pbo index f9942d7d..937aec20 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Chernarus.pbo and b/Server_Install_Pack/mpmissions/epoch.Chernarus.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo b/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo index 3ebb966e..b79f1d33 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo and b/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Desert_E.pbo b/Server_Install_Pack/mpmissions/epoch.Desert_E.pbo index 1aab2441..a685062d 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Desert_E.pbo and b/Server_Install_Pack/mpmissions/epoch.Desert_E.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Esseker.pbo b/Server_Install_Pack/mpmissions/epoch.Esseker.pbo index cee7cb90..85a7eeb0 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Esseker.pbo and b/Server_Install_Pack/mpmissions/epoch.Esseker.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo b/Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo index 9911a5e5..48313a1a 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo and b/Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Napf.pbo b/Server_Install_Pack/mpmissions/epoch.Napf.pbo index 03f80728..296e4bc1 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Napf.pbo and b/Server_Install_Pack/mpmissions/epoch.Napf.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Porto.pbo b/Server_Install_Pack/mpmissions/epoch.Porto.pbo index e3750c5e..21ebbfe4 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Porto.pbo and b/Server_Install_Pack/mpmissions/epoch.Porto.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.ProvingGrounds_PMC.pbo b/Server_Install_Pack/mpmissions/epoch.ProvingGrounds_PMC.pbo index 40d98086..e7a275cd 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.ProvingGrounds_PMC.pbo and b/Server_Install_Pack/mpmissions/epoch.ProvingGrounds_PMC.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Sara.pbo b/Server_Install_Pack/mpmissions/epoch.Sara.pbo index 77564ebb..c5b7c6c4 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Sara.pbo and b/Server_Install_Pack/mpmissions/epoch.Sara.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.SaraLite.pbo b/Server_Install_Pack/mpmissions/epoch.SaraLite.pbo index 886b816a..9ea99e84 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.SaraLite.pbo and b/Server_Install_Pack/mpmissions/epoch.SaraLite.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Sara_dbe1.pbo b/Server_Install_Pack/mpmissions/epoch.Sara_dbe1.pbo index 56e2ba2d..be0f47cf 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Sara_dbe1.pbo and b/Server_Install_Pack/mpmissions/epoch.Sara_dbe1.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo b/Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo index 651947ca..1eeefb7c 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo and b/Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Stratis.pbo b/Server_Install_Pack/mpmissions/epoch.Stratis.pbo index 8cb7cf24..ef26c920 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Stratis.pbo and b/Server_Install_Pack/mpmissions/epoch.Stratis.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Takistan.pbo b/Server_Install_Pack/mpmissions/epoch.Takistan.pbo index b5fe2626..a7310d17 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Takistan.pbo and b/Server_Install_Pack/mpmissions/epoch.Takistan.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Tanoa.pbo b/Server_Install_Pack/mpmissions/epoch.Tanoa.pbo index e4d1a9be..42df36ac 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Tanoa.pbo and b/Server_Install_Pack/mpmissions/epoch.Tanoa.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.VR.pbo b/Server_Install_Pack/mpmissions/epoch.VR.pbo index 44f6a2e5..d329a6ad 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.VR.pbo and b/Server_Install_Pack/mpmissions/epoch.VR.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo b/Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo index 53261982..6f8a9b42 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo and b/Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Zargabad.pbo b/Server_Install_Pack/mpmissions/epoch.Zargabad.pbo index 656499c4..f9b14578 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Zargabad.pbo and b/Server_Install_Pack/mpmissions/epoch.Zargabad.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.utes.pbo b/Server_Install_Pack/mpmissions/epoch.utes.pbo index dd993467..6f93491b 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.utes.pbo and b/Server_Install_Pack/mpmissions/epoch.utes.pbo differ diff --git a/Server_Install_Pack/sc/BattlEye/remoteexec.txt b/Server_Install_Pack/sc/BattlEye/remoteexec.txt index 6b221962..4a7e7ca6 100644 --- a/Server_Install_Pack/sc/BattlEye/remoteexec.txt +++ b/Server_Install_Pack/sc/BattlEye/remoteexec.txt @@ -1 +1 @@ -5 "" !="bis_fnc_execvm \[\[.+\],\"initPlayerServer.sqf\"]" !="bis_fnc_effectkilled(airdestruction|secondaries) \[.+\]" !="epoch_server_checkplayer \[[A-Z]{1} [A-Za-z]{4,10} [0-9]{1,3}-[0-9]{1,3}:[0-9]{1,3}( \(.+\)|) REMOTE\]" !="epoch_server_(save(_vehicles|building)|(lock|pack)Storage|(upgrade|remove|paint|maint)build) \[.+\]" !="epoch_server_((load|respawn|dead|invite|revive|teleport)Player|(upgrade|updateplayer|create|delete)Group) \[.+\]" !="epoch_server_(deadplayerdetonate|triggerantagonist|playersetvariable|missioncomms) \[.+\]" !="epoch_server_(knockDownTree|mineRocks|lootAnimal|handle_(say3d|switchmove|sapperObjs)) \[.+\]" !="epoch_server_((repair|fill|lock)Vehicle|(loot|fill)Container|(store|take)Crypto|make(NPC|)Trade) \[.+\]" !="epoch_server_(tradeRequest|equippeditem|packJack|create(object|AirDrop)|airDropCrate|destroytrash|unpackBackpack) \[.+\]" !="epoch_(localcleanup|fnc_saveplayer|client_bitePlayer) \[.+\]" +5 "" !="bis_fnc_execvm \[\[.+\],\"initPlayerServer.sqf\"]" !="bis_fnc_effectkilled(airdestruction|secondaries) \[.+\]" !="epoch_server_checkplayer \[[A-Z]{1} [A-Za-z]{4,10} [0-9]{1,3}-[0-9]{1,3}:[0-9]{1,3}( \(.+\)|) REMOTE\]" !="epoch_server_(save(_vehicles|building)|(lock|pack)Storage|(upgrade|remove|paint|maint)build) \[.+\]" !="epoch_server_((load|respawn|dead|invite|revive|teleport)Player|(upgrade|updateplayer|create|delete)Group) \[.+\]" !="epoch_server_(deadplayerdetonate|triggerantagonist|playersetvariable|missioncomms) \[.+\]" !="epoch_server_(knockDownTree|mineRocks|lootAnimal|handle_(say3d|switchmove|sapperObjs)) \[.+\]" !="epoch_server_((repair|fill|lock)Vehicle|(loot|fill)Container|(store|take)Crypto|make(NPC|)Trade) \[.+\]" !="epoch_server_(tradeRequest|equippeditem|packJack|create(object|AirDrop)|airDropCrate|destroytrash|unpackBackpack) \[.+\]" !="epoch_(localcleanup|fnc_saveplayer|client_bitePlayer|serverlootobject) \[.+\]" diff --git a/Sources/epoch_code/System/task_control.fsm b/Sources/epoch_code/System/task_control.fsm index c8148d31..265f593a 100644 --- a/Sources/epoch_code/System/task_control.fsm +++ b/Sources/epoch_code/System/task_control.fsm @@ -1,13 +1,222 @@ +/*%FSM*/ +/*%FSM*/ +/* +item0[] = {"task_control",0,250,-225.000000,-625.000000,-125.000000,-575.000000,0.000000,"task control"}; +item1[] = {"delay",4,218,-500.000000,-250.000000,-400.000000,-200.000000,0.000000,"delay"}; +item2[] = {"setup",2,250,-650.000000,-625.000000,-550.000000,-575.000000,0.000000,"setup"}; +item3[] = {"_",8,218,-500.000000,-625.000000,-400.000000,-575.000000,0.000000,""}; +item4[] = {"items_and_vars",2,250,-500.000000,-175.000000,-400.000000,-125.000000,0.000000,"items" \n "and" \n "vars"}; +item5[] = {"task_completed",4,218,300.000000,75.000000,400.000000,125.000000,15.000000,"task" \n "completed"}; +item6[] = {"end",1,250,-775.000000,350.000000,-675.000000,400.000000,0.000000,"end"}; +item7[] = {"no_item_spawn",4,218,-350.000000,-175.000000,-250.000000,-125.000000,0.000000,"no item spawn"}; +item8[] = {"do_monitor",2,250,-75.000000,-25.000000,25.000000,25.000000,0.000000," do monitor"}; +item9[] = {"next",2,250,300.000000,-25.000000,400.000000,25.000000,0.000000,"next"}; +item10[] = {"loop",4,218,75.000000,-25.000000,175.000000,25.000000,5.000000,"loop"}; +item11[] = {"_",8,218,-75.000000,-100.000000,25.000000,-50.000000,0.000000,""}; +item12[] = {"_",8,218,75.000000,-325.000000,175.000000,-275.000000,0.000000,""}; +item13[] = {"chat_conditions",2,250,-75.000000,-175.000000,25.000000,-125.000000,0.000000,"chat conditions"}; +item14[] = {"event_conditions",2,250,300.000000,-325.000000,400.000000,-275.000000,0.000000,"event" \n "conditions"}; +item15[] = {"_",8,218,300.000000,-250.000000,400.000000,-200.000000,0.000000,""}; +item16[] = {"comms",2,250,-500.000000,-350.000000,-400.000000,-300.000000,0.000000,"comms"}; +item17[] = {"_",8,218,300.000000,-100.000000,400.000000,-50.000000,0.000000,""}; +item18[] = {"task_conditions",2,250,300.000000,-175.000000,400.000000,-125.000000,0.000000,"task" \n "conditions"}; +item19[] = {"chat_1",4,218,75.000000,-100.000000,175.000000,-50.000000,5.000000,"chat 1"}; +item20[] = {"chat_2",4,218,75.000000,-175.000000,175.000000,-125.000000,10.000000,"chat 2"}; +item21[] = {"chat_3",4,218,75.000000,-250.000000,175.000000,-200.000000,15.000000,"chat 3"}; +item22[] = {"item_spawn",4,218,-650.000000,-175.000000,-550.000000,-125.000000,5.000000,"item spawn"}; +item23[] = {"actions",2,250,-350.000000,-25.000000,-250.000000,25.000000,0.000000,"actions"}; +item24[] = {"point",4,218,-150.000000,350.000000,-50.000000,400.000000,0.000000,"point"}; +item25[] = {"spawn_item",2,250,-650.000000,-25.000000,-550.000000,25.000000,0.000000,"spawn item"}; +item26[] = {"ready",4,218,-500.000000,-25.000000,-400.000000,25.000000,0.000000,"ready"}; +item27[] = {"in_house",4,218,-775.000000,50.000000,-675.000000,100.000000,10.000000,"in house"}; +item28[] = {"hidden_nearby",4,218,-775.000000,-175.000000,-675.000000,-125.000000,5.000000,"hidden nearby"}; +item29[] = {"near_player",4,218,-775.000000,-25.000000,-675.000000,25.000000,15.000000,"near player"}; +item30[] = {"event_1",4,218,425.000000,-400.000000,525.000000,-350.000000,10.000000,"event 1"}; +item31[] = {"event_2",4,218,300.000000,-400.000000,400.000000,-350.000000,15.000000,"event 2"}; +item32[] = {"event_3",4,218,175.000000,-400.000000,275.000000,-350.000000,20.000000,"event 3"}; +item33[] = {"_",8,218,-650.000000,-400.000000,-550.000000,-350.000000,0.000000,""}; +item34[] = {"completed",2,250,175.000000,75.000000,275.000000,125.000000,0.000000,"completed"}; +item35[] = {"diag_1",4,218,300.000000,150.000000,400.000000,200.000000,15.000000,"diag 1"}; +item36[] = {"diag_2",4,218,175.000122,210.091980,275.000122,260.091980,10.000000,"diag 2"}; +item37[] = {"pause",4,218,300.000000,275.000000,400.000000,325.000000,0.000000,"pause"}; +item38[] = {"reward",2,250,25.000000,275.000000,125.000000,325.000000,0.000000,"reward"}; +item39[] = {"comms_1",2,4346,-150.000000,425.000000,-50.000000,475.000000,0.000000,"comms"}; +item40[] = {"mission_complete",4,218,-650.000000,350.000000,-550.000000,400.000000,10.000000,"mission complete"}; +item41[] = {"_",8,218,25.000000,75.000000,125.000000,125.000000,0.000000,""}; +item42[] = {"_",8,218,-350.000000,100.000000,-250.000000,150.000000,0.000000,""}; +item43[] = {"markers",2,250,-225.000000,175.000000,-125.000000,225.000000,0.000000,"markers"}; +item44[] = {"continue",4,218,-75.000000,175.000000,25.000000,225.000000,100.000000,"continue"}; +item45[] = {"radius",4,218,-300.000000,350.000000,-200.000000,400.000000,0.000000,"radius"}; +item46[] = {"marker_pos",4,218,-350.000000,225.000000,-250.000000,275.000000,0.000000,"marker pos"}; +item47[] = {"do_markers",2,250,-225.000000,275.000000,-125.000000,325.000000,0.000000,"do markers"}; +item48[] = {"find_spot",2,250,-900.000000,-175.000000,-800.000000,-125.000000,0.000000,"find spot"}; +item49[] = {"task_failed",4,218,450.000000,-25.000000,550.000000,25.000000,10.000000,"task" \n "failed"}; +item50[] = {"failed",2,250,450.000000,75.000000,550.000000,125.000000,0.000000,"failed"}; +item51[] = {"diag",4,218,575.000000,-25.000000,675.000000,25.000000,5.000000,"diag"}; +item52[] = {"fsm",4,218,575.000000,75.000000,675.000000,125.000000,10.000000,"fsm"}; +item53[] = {"sqf",4,218,575.000000,150.000000,675.000000,200.000000,15.000000,"sqf"}; +item54[] = {"call",4,218,575.000000,225.000000,675.000000,275.000000,20.000000,"call"}; +item55[] = {"clean_up",2,250,300.000000,425.000000,400.000000,475.000000,0.000000,"clean up"}; +item56[] = {"_",8,218,25.000000,425.000000,125.000000,475.000000,0.000000,""}; +item57[] = {"markers",4,218,525.000000,350.000000,625.000000,400.000000,5.000000,"markers"}; +item58[] = {"fsm",4,218,-225.000000,-100.000000,-125.000000,-50.000000,15.000000,"fsm"}; +item59[] = {"sqf",4,218,-225.000000,-25.000000,-125.000000,25.000000,10.000000,"sqf"}; +item60[] = {"call",4,218,-225.000000,50.000000,-125.000000,100.000000,20.000000,"call"}; +item61[] = {"not_hidden",4,218,-900.000000,-100.000000,-800.000000,-50.000000,10.000000,"not hidden"}; +item62[] = {"is_hidden",4,218,-775.000000,-100.000000,-675.000000,-50.000000,5.000000,"is hidden"}; +item63[] = {"gui",2,250,-775.000000,-250.000000,-675.000000,-200.000000,0.000000,"gui"}; +item64[] = {"no_dialogoue",4,218,-650.000000,-250.000000,-550.000000,-200.000000,10.000000,"no dialogoue"}; +item65[] = {"dialogue",4,218,-900.000000,-250.000000,-800.000000,-200.000000,5.000000,"dialogue"}; +item66[] = {"remind_dialogue",4,218,200.000000,350.000000,300.000000,400.000000,10.000000,"remind" \n "dialogue"}; +item67[] = {"_",8,218,-300.000000,425.000000,-200.000000,475.000000,0.000000,""}; +item68[] = {"next_task",2,250,-500.000000,425.000000,-400.000000,475.000000,0.000000,"next task"}; +item69[] = {"clean_up",4,218,400.000000,350.000000,500.000000,400.000000,15.000000,"clean up"}; +item70[] = {"comms_2",2,250,-75.000000,-325.000000,25.000000,-275.000000,0.000000,"comms"}; +item71[] = {"server",4,218,-75.000000,-250.000000,25.000000,-200.000000,10.000000,"server"}; +item72[] = {"simple_task",4,218,-225.000000,-450.000000,-125.000000,-400.000000,10.000000,"simple" \n "task"}; +item73[] = {"skip",4,218,-500.000000,225.000000,-400.000000,275.000000,5.000000,"skip"}; +item74[] = {"run_test",4,218,-500.000000,-525.000000,-400.000000,-475.000000,20.000000,"run test"}; +item75[] = {"override_for_task",2,250,-500.000000,-450.000000,-400.000000,-400.000000,0.000000,"override for" \n "task Editor"}; +item76[] = {"bin_it",4,218,425.000000,-325.000000,525.000000,-275.000000,5.000000,"bin it"}; +item77[] = {"",7,210,708.500000,-141.500000,716.500000,-133.500000,0.000000,""}; +item78[] = {"",7,210,708.500000,446.000000,716.500000,454.000000,0.000000,""}; +item79[] = {"next_task",4,218,-650.000000,425.000000,-550.000000,475.000000,5.000000,"next task"}; +item80[] = {"",7,210,-929.000000,446.000000,-921.000000,454.000000,0.000000,""}; +item81[] = {"",7,210,-929.000000,-604.000000,-921.000000,-596.000000,0.000000,""}; +item82[] = {"call",4,218,103.990662,149.799805,193.990662,199.799805,5.000000,"call"}; +link0[] = {0,3}; +link1[] = {1,4}; +link2[] = {2,33}; +link3[] = {2,72}; +link4[] = {2,74}; +link5[] = {3,2}; +link6[] = {4,7}; +link7[] = {4,22}; +link8[] = {5,34}; +link9[] = {7,23}; +link10[] = {8,11}; +link11[] = {9,5}; +link12[] = {9,10}; +link13[] = {9,49}; +link14[] = {10,8}; +link15[] = {11,13}; +link16[] = {12,14}; +link17[] = {13,12}; +link18[] = {13,19}; +link19[] = {13,20}; +link20[] = {13,21}; +link21[] = {13,71}; +link22[] = {14,15}; +link23[] = {14,30}; +link24[] = {14,31}; +link25[] = {14,32}; +link26[] = {14,76}; +link27[] = {15,18}; +link28[] = {16,1}; +link29[] = {17,9}; +link30[] = {18,17}; +link31[] = {19,13}; +link32[] = {20,13}; +link33[] = {21,13}; +link34[] = {22,25}; +link35[] = {23,42}; +link36[] = {23,58}; +link37[] = {23,59}; +link38[] = {23,60}; +link39[] = {23,73}; +link40[] = {24,47}; +link41[] = {25,26}; +link42[] = {25,27}; +link43[] = {25,28}; +link44[] = {25,29}; +link45[] = {26,23}; +link46[] = {27,25}; +link47[] = {28,48}; +link48[] = {29,25}; +link49[] = {30,14}; +link50[] = {31,14}; +link51[] = {32,14}; +link52[] = {33,16}; +link53[] = {34,35}; +link54[] = {34,36}; +link55[] = {34,41}; +link56[] = {34,82}; +link57[] = {35,34}; +link58[] = {36,34}; +link59[] = {37,55}; +link60[] = {38,37}; +link61[] = {39,67}; +link62[] = {40,6}; +link63[] = {41,38}; +link64[] = {42,43}; +link65[] = {43,44}; +link66[] = {43,46}; +link67[] = {44,8}; +link68[] = {45,47}; +link69[] = {46,47}; +link70[] = {47,24}; +link71[] = {47,44}; +link72[] = {47,45}; +link73[] = {48,61}; +link74[] = {48,62}; +link75[] = {49,50}; +link76[] = {50,37}; +link77[] = {50,51}; +link78[] = {50,52}; +link79[] = {50,53}; +link80[] = {50,54}; +link81[] = {51,50}; +link82[] = {52,50}; +link83[] = {53,50}; +link84[] = {54,50}; +link85[] = {55,56}; +link86[] = {55,57}; +link87[] = {55,66}; +link88[] = {55,69}; +link89[] = {56,39}; +link90[] = {57,55}; +link91[] = {58,23}; +link92[] = {59,23}; +link93[] = {60,23}; +link94[] = {61,48}; +link95[] = {62,25}; +link96[] = {63,64}; +link97[] = {63,65}; +link98[] = {64,4}; +link99[] = {65,63}; +link100[] = {66,55}; +link101[] = {67,68}; +link102[] = {68,40}; +link103[] = {68,79}; +link104[] = {69,55}; +link105[] = {70,12}; +link106[] = {71,70}; +link107[] = {72,23}; +link108[] = {73,68}; +link109[] = {74,75}; +link110[] = {75,33}; +link111[] = {75,72}; +link112[] = {76,77}; +link113[] = {77,78}; +link114[] = {78,55}; +link115[] = {79,80}; +link116[] = {80,81}; +link117[] = {81,2}; +link118[] = {82,34}; +globals[] = {0.000000,0,0,0,0,640,480,1,402,6316128,1,-1036.249023,990.485596,688.632874,-753.906189,1242,884,1}; +window[] = {2,-1,-1,-1,-1,642,365,1390,117,3,1260}; +*//*%FSM*/ class FSM { fsmName = "task control client"; class States { + /*%FSM*/ class task_control { name = "task_control"; itemno = 0; - init = "_plyr = player;" \n + init = /*%FSM*/"_plyr = player;" \n "_taskName = _this select 0;" \n "_unit = objNull;" \n "_taskItem = objNull;" \n @@ -34,7 +243,7 @@ class FSM "_plyrArr = [""Epoch_Man_Base_F"",""Epoch_Female_base_F""];" \n "_config = 'inGameTasks' call EPOCH_returnConfig;" \n "_scriptPath = getText ( _config >> ""file"");" \n - "_fsmPath = getText ( _config >> ""fsmpath"");" \n + "_fsmPath = ""epoch_code\system"";" \n "_filterBuilds = getArray ( _config >> ""filterBuilds"");" \n "" \n "//DECLARE" \n @@ -42,26 +251,30 @@ class FSM "" \n "" \n "" \n - ""; - precondition = ""; + ""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class _ { itemno = 3; priority = 0.000000; to="setup"; - precondition = ""; - condition="true"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"true"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class setup { name = "setup"; itemno = 2; - init = "" \n + init = /*%FSM*/"" \n "//_config = missionConfigFile;" \n "" \n "//Mission Control - WIP. TODO: Move to serverside mission control UINamespace not secure." \n @@ -72,7 +285,7 @@ class FSM "_plyrVar deleteAt _taskIndex;" \n "};" \n "_plyrVar pushBack [""axeTask"",_taskName];" \n - "missionNamespace setVariable [""EPOCH_playerMissionArray"",_plyrVar];" \n + "missionNamespace setVariable [""SERVER_VARS"",_plyrVar];" \n "" \n "missionNameSpace setVariable [""axeTask"",_taskName];" \n "" \n @@ -119,6 +332,7 @@ class FSM "_taskMarkerType = getNumber ( _config >> _taskName >> ""markerType"");" \n "_taskMarkerRad = getNumber ( _config >> _taskName >> ""markerRadius"");" \n "_taskMarkerText = getText ( _config >> _taskName >> ""markerText"");" \n + "_taskMarkerVis = getNumber ( _config >> _taskName >> ""markerVisible"");" \n "_taskDiagSquelch = getNumber ( _config >> _taskName >> ""diagSquelch"");" \n "_lastChat = diag_tickTime;" \n "_taskDiagCond1 = compile getText ( _config >> _taskName >> ""diag1Condition"");" \n @@ -199,81 +413,95 @@ class FSM "_debugDo = ""INIT"";" \n "_showDebug = {" \n "//hint format [""%4\n%1\nStage: %2\nMsg: %3\nTask: %4"", _debugDo,_missionStage,_msg1,_missionName,_taskTitle];" \n - "};"; - precondition = ""; + "};"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class run_test { itemno = 74; priority = 20.000000; to="override_for_task"; - precondition = ""; - condition="_editorTest"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_editorTest"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class simple_task { itemno = 72; priority = 10.000000; to="actions"; - precondition = ""; - condition="_taskSimple > 0;"; - action="_doSkip = true;"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_taskSimple > 0;"/*%FSM*/; + action=/*%FSM*/"_doSkip = true;"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class _ { itemno = 33; priority = 0.000000; to="comms"; - precondition = ""; - condition="true"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"true"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class items_and_vars { name = "items_and_vars"; itemno = 4; - init = "//SystemChat format [""START: Do Spawn: %1"",_taskItemSpawn];" \n + init = /*%FSM*/"//SystemChat format [""START: Do Spawn: %1"",_taskItemSpawn];" \n "_taskStartPos = getPosATL _plyr;" \n - "_startTime = diag_tickTime;"; - precondition = ""; + "_startTime = diag_tickTime;"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class item_spawn { itemno = 22; priority = 5.000000; to="spawn_item"; - precondition = ""; - condition="_taskItemSpawn > 0 && count _taskItems > 0"; - action="_taskItem = objNull;"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_taskItemSpawn > 0 && count _taskItems > 0"/*%FSM*/; + action=/*%FSM*/"_taskItem = objNull;"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class no_item_spawn { itemno = 7; priority = 0.000000; to="actions"; - precondition = ""; - condition="_taskItemSpawn < 1"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_taskItemSpawn < 1"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class end { name = "end"; itemno = 6; - init = "//uiNameSpace setVariable [""axeTask"",nil];" \n + init = /*%FSM*/"//uiNameSpace setVariable [""axeTask"",nil];" \n "if!(_doBin)then{" \n - "_plyrVar = missionNamespace getVariable [""EPOCH_playerMissionArray"",[]];" \n + "_plyrVar = missionNamespace getVariable [""SERVER_VARS"",[]];" \n "_taskIndex = ((_plyrVar apply {_x find ""axeTask"" > -1;}) find true);" \n "if(_taskIndex > -1)then{" \n "_plyrVar deleteAt _taskIndex;" \n "};" \n - "missionNamespace setVariable [""EPOCH_playerMissionArray"",_plyrVar];" \n + "missionNamespace setVariable [""SERVER_VARS"",_plyrVar];" \n "};" \n "if(count _missionCleanUp > 0)then{" \n "{" \n @@ -281,58 +509,67 @@ class FSM "} forEach _missionCleanUp;" \n "};" \n "_debugDo = ""DISPOSE"";" \n - "diag_log format [""Task Failed: %1"",_taskName];"; - precondition = ""; + "diag_log format [""Task Failed: %1"",_taskName];"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; + /*%FSM*/ + /*%FSM*/ class do_monitor { name = "do_monitor"; itemno = 8; - init = "_lastLoop = diag_tickTime;" \n + init = /*%FSM*/"_lastLoop = diag_tickTime;" \n "EPOCH_taskLastLoop = _lastLoop;" \n - "_plyPos = getPosATL _plyr;"; - precondition = ""; + "_plyPos = getPosATL _plyr;"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class _ { itemno = 11; priority = 0.000000; to="chat_conditions"; - precondition = ""; - condition="true"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"true"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class next { name = "next"; itemno = 9; - init = "//Clean Up / Other Options here"; - precondition = ""; + init = /*%FSM*/"//Clean Up / Other Options here"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class task_completed { itemno = 5; priority = 15.000000; to="completed"; - precondition = ""; - condition="_completed && diag_tickTime - _lastLoop > _taskCheckTime"; - action="_lastLoop = diag_tickTime;"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_completed && diag_tickTime - _lastLoop > _taskCheckTime"/*%FSM*/; + action=/*%FSM*/"_lastLoop = diag_tickTime;"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class task_failed { itemno = 49; priority = 10.000000; to="failed"; - precondition = ""; - condition="_taskFailed"; - action="_taskFailedDiag = [];" \n + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_taskFailed"/*%FSM*/; + action=/*%FSM*/"_taskFailedDiag = [];" \n "_taskFailedFSM = """";" \n "_taskFailedSQF = """";" \n "_taskFailedCall = compile """";" \n @@ -351,102 +588,120 @@ class FSM "_nextTask = parseText axeValCacheList select 45;" \n "};" \n "" \n - "_taskReminder = [];"; + "_taskReminder = [];"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class loop { itemno = 10; priority = 5.000000; to="do_monitor"; - precondition = ""; - condition="((!_completed) || (!_taskFailed)) && diag_tickTime - _lastLoop > _taskCheckTime"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"((!_completed) || (!_taskFailed)) && diag_tickTime - _lastLoop > _taskCheckTime"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class chat_conditions { name = "chat_conditions"; itemno = 13; - init = ""; - precondition = ""; + init = /*%FSM*/""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class chat_3 { itemno = 21; priority = 15.000000; to="chat_conditions"; - precondition = ""; - condition="diag_tickTime - _lastChat > _taskDiagSquelch && call _taskDiagCond3 && count _taskDiag3 > 0"; - action="_diag = selectRandom _taskDiag3;" \n + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"diag_tickTime - _lastChat > _taskDiagSquelch && call _taskDiagCond3 && count _taskDiag3 > 0"/*%FSM*/; + action=/*%FSM*/"_diag = selectRandom _taskDiag3;" \n "" \n - "[_diag, 5] call Epoch_message;" \n + "[format [""%1"",_diag], 5] call Epoch_dynamicText;" \n "" \n "" \n "_chat3Done = true;" \n - "_lastChat = diag_tickTime;"; + "_lastChat = diag_tickTime;"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class chat_2 { itemno = 20; priority = 10.000000; to="chat_conditions"; - precondition = ""; - condition="diag_tickTime - _lastChat > _taskDiagSquelch && call _taskDiagCond2 && count _taskDiag2 > 0"; - action="_diag = selectRandom _taskDiag2;" \n - "[_diag, 5] call Epoch_message;" \n + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"diag_tickTime - _lastChat > _taskDiagSquelch && call _taskDiagCond2 && count _taskDiag2 > 0"/*%FSM*/; + action=/*%FSM*/"_diag = selectRandom _taskDiag2;" \n + "[format [""%1"",_diag], 5] call Epoch_dynamicText;" \n "_chat2Done = true;" \n - "_lastChat = diag_tickTime;"; + "_lastChat = diag_tickTime;"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class server { itemno = 71; priority = 10.000000; to="comms_2"; - precondition = ""; - condition="count _serverCmd > 0"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"count _serverCmd > 0"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class chat_1 { itemno = 19; priority = 5.000000; to="chat_conditions"; - precondition = ""; - condition="(!_chat1Done) && call _taskDiagCond1 && count _taskDiag1 > 0"; - action="_diag = selectRandom _taskDiag1;" \n - "[_diag, 5] call Epoch_message;" \n + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"(!_chat1Done) && call _taskDiagCond1 && count _taskDiag1 > 0"/*%FSM*/; + action=/*%FSM*/"_diag = selectRandom _taskDiag1;" \n + "[format [""%1"",_diag], 5] call Epoch_dynamicText;" \n "_chat1Done = true;" \n - "_lastChat = diag_tickTime;"; + "_lastChat = diag_tickTime;"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class _ { itemno = 12; priority = 0.000000; to="event_conditions"; - precondition = ""; - condition="true"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"true"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class event_conditions { name = "event_conditions"; itemno = 14; - init = ""; - precondition = ""; + init = /*%FSM*/""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class event_3 { itemno = 32; priority = 20.000000; to="event_conditions"; - precondition = ""; - condition="(!_event3Done) && call _taskEventCond3"; - action="if!(_taskEventFSM3 == """")then{" \n + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"(!_event3Done) && call _taskEventCond3"/*%FSM*/; + action=/*%FSM*/"if!(_taskEventFSM3 == """")then{" \n "_taskEventFSM3 call _execFSM;" \n "};" \n "" \n @@ -467,16 +722,18 @@ class FSM "" \n "};" \n "" \n - "_event3Done = true;"; + "_event3Done = true;"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class event_2 { itemno = 31; priority = 15.000000; to="event_conditions"; - precondition = ""; - condition="(!_event2Done) && call _taskEventCond2"; - action="if!(_taskEventFSM2 == """")then{" \n + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"(!_event2Done) && call _taskEventCond2"/*%FSM*/; + action=/*%FSM*/"if!(_taskEventFSM2 == """")then{" \n "_taskEventFSM2 call _execFSM;" \n "};" \n "" \n @@ -497,16 +754,18 @@ class FSM "" \n "};" \n "" \n - "_event2Done = true;"; + "_event2Done = true;"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class event_1 { itemno = 30; priority = 10.000000; to="event_conditions"; - precondition = ""; - condition="(!_event1Done) && call _taskEventCond1"; - action="if!(_taskEventFSM1 == """")then{" \n + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"(!_event1Done) && call _taskEventCond1"/*%FSM*/; + action=/*%FSM*/"if!(_taskEventFSM1 == """")then{" \n "_taskEventFSM1 call _execFSM;" \n "};" \n "" \n @@ -528,160 +787,190 @@ class FSM "" \n "};" \n "" \n - "_event1Done = true;"; + "_event1Done = true;"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class bin_it { itemno = 76; priority = 5.000000; to="clean_up"; - precondition = ""; - condition="_doBin"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_doBin"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class _ { itemno = 15; priority = 0.000000; to="task_conditions"; - precondition = ""; - condition="true"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"true"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class comms { name = "comms"; itemno = 16; - init = "//[_plyr,0,_taskID] remoteExec [""EPOCH_Server_missionComms"",3];"; - precondition = ""; + init = /*%FSM*/"//[_plyr,0,_taskID] remoteExec [""EPOCH_Server_missionComms"",3];"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class delay { itemno = 1; priority = 0.000000; to="items_and_vars"; - precondition = ""; - condition="diag_tickTime > _startTime + _taskDelay"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"diag_tickTime > _startTime + _taskDelay"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class task_conditions { name = "task_conditions"; itemno = 18; - init = "if((_plyPos distance _taskStartPos > _taskFailDist) || (diag_tickTIme - _startTime > _taskFailTime) || (call _taskFailedCond))then{" \n + init = /*%FSM*/"if((_plyPos distance _taskStartPos > _taskFailDist) || (diag_tickTIme - _startTime > _taskFailTime) || (call _taskFailedCond))then{" \n "_taskFailed = true;" \n "};" \n "" \n "if(call _taskCompleteCond)then{" \n "_completed = true;" \n - "};"; - precondition = ""; + "};"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class _ { itemno = 17; priority = 0.000000; to="next"; - precondition = ""; - condition="true"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"true"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class actions { name = "actions"; itemno = 23; - init = ""; - precondition = ""; + init = /*%FSM*/""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class call { itemno = 60; priority = 20.000000; to="actions"; - precondition = ""; - condition="!(_taskCall == """")" \n - "//USE isNill NOT == """""; - action="call compile _taskCall;" \n - "_taskCall = """";"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!(_taskCall == """")" \n + "//USE isNill NOT == """""/*%FSM*/; + action=/*%FSM*/"call compile _taskCall;" \n + "_taskCall = """";"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class fsm { itemno = 58; priority = 15.000000; to="actions"; - precondition = ""; - condition="!(_taskFSM == """")"; - action="_taskFSM call _execFSM;" \n - "_taskFSM = """";"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!(_taskFSM == """")"/*%FSM*/; + action=/*%FSM*/"_taskFSM call _execFSM;" \n + "_taskFSM = """";"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class sqf { itemno = 59; priority = 10.000000; to="actions"; - precondition = ""; - condition="!(_taskSQF == """")"; - action="systemChat ""SQF NOT NIL"";" \n + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!(_taskSQF == """")"/*%FSM*/; + action=/*%FSM*/"systemChat ""SQF NOT NIL"";" \n "_taskSQF call _execSQF;" \n - "_taskSQF = """";"; + "_taskSQF = """";"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class skip { itemno = 73; priority = 5.000000; to="next_task"; - precondition = ""; - condition="_doSkip"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_doSkip"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class _ { itemno = 42; priority = 0.000000; to="markers"; - precondition = ""; - condition="true"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"true"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class spawn_item { name = "spawn_item"; itemno = 25; - init = ""; - precondition = ""; + init = /*%FSM*/""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class near_player { itemno = 29; priority = 15.000000; to="spawn_item"; - precondition = ""; - condition="_taskItemSpawn == 3"; - action="_pos = getPosATL player;" \n + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_taskItemSpawn == 3"/*%FSM*/; + action=/*%FSM*/"_pos = getPosATL player;" \n "_taskItem = [_pos] call _spawnWH;" \n "_taskItemSpawn = -1;" \n - ""; + ""/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class in_house { itemno = 27; priority = 10.000000; to="spawn_item"; - precondition = ""; - condition="_taskItemSpawn == 1"; - action="_nrBuilds = nearestObjects [_plyr,[""house""],50];" \n + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_taskItemSpawn == 1"/*%FSM*/; + action=/*%FSM*/"_nrBuilds = nearestObjects [_plyr,[""house""],50];" \n "_arrGarr = [];" \n "_bldMap = [];" \n "_pos = getPosATL _plyr;" \n @@ -723,87 +1012,104 @@ class FSM "_taskItem = [_pos] call _spawnWH;" \n "" \n "" \n - "_taskItemSpawn = -1;"; + "_taskItemSpawn = -1;"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class hidden_nearby { itemno = 28; priority = 5.000000; to="find_spot"; - precondition = ""; - condition="_taskItemSpawn == 2"; - action="_taskItemSpawn = -1;" \n + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_taskItemSpawn == 2"/*%FSM*/; + action=/*%FSM*/"_taskItemSpawn = -1;" \n "_posSafe = false;" \n - "_done = false;"; + "_done = false;"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class ready { itemno = 26; priority = 0.000000; to="actions"; - precondition = ""; - condition="!isNull _taskItem"; - action="[player,Epoch_personalToken,_taskItems,[],_taskItem,false] remoteExec [""EPOCH_Server_createObject"",2];" \n - "EPOCH_taskItem = _taskItem;"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!isNull _taskItem"/*%FSM*/; + action=/*%FSM*/"[player,Epoch_personalToken,_taskItems,[],_taskItem,false] remoteExec [""EPOCH_Server_createObject"",2];" \n + "EPOCH_taskItem = _taskItem;"/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class completed { name = "completed"; itemno = 34; - init = "//Put more checks in for empty dialogue array so as not just waiting a set time"; - precondition = ""; + init = /*%FSM*/"//Put more checks in for empty dialogue array so as not just waiting a set time"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class diag_1 { itemno = 35; priority = 15.000000; to="completed"; - precondition = ""; - condition="!_diag1Done && count _taskCompleteDiag1 > 0"; - action="_diag = selectRandom _taskCompleteDiag1;" \n - "[_diag, 5] call Epoch_message;" \n - "_diag1Done = true;"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!_diag1Done && count _taskCompleteDiag1 > 0"/*%FSM*/; + action=/*%FSM*/"_diag = selectRandom _taskCompleteDiag1;" \n + "[format [""%1"",_diag], 5] call Epoch_dynamicText;" \n + "_diag1Done = true;"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class diag_2 { itemno = 36; priority = 10.000000; to="completed"; - precondition = ""; - condition="_diag1Done && (!_diag2Done) && diag_tickTime - _lastLoop > 20 && count _taskCompleteDiag2 > 0"; - action="_diag = selectRandom _taskCompleteDiag2;" \n - "[_diag, 5] call Epoch_message;" \n - "_diag2Done = true;"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_diag1Done && (!_diag2Done) && diag_tickTime - _lastLoop > 20 && count _taskCompleteDiag2 > 0"/*%FSM*/; + action=/*%FSM*/"_diag = selectRandom _taskCompleteDiag2;" \n + "[format [""%1"",_diag], 5] call Epoch_dynamicText;" \n + "_diag2Done = true;"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class call { itemno = 82; priority = 5.000000; to="completed"; - precondition = ""; - condition="!(str(_taskCompleteCall) == ""{}"")"; - action="call _taskCompleteCall;" \n - "_taskCompleteCall = compile """";"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!(str(_taskCompleteCall) == ""{}"")"/*%FSM*/; + action=/*%FSM*/"call _taskCompleteCall;" \n + "_taskCompleteCall = compile """";"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class _ { itemno = 41; priority = 0.000000; to="reward"; - precondition = ""; - condition="true"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"true"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class reward { name = "reward"; itemno = 38; - init = "if(count _taskReward > 0)then{" \n + init = /*%FSM*/"if(count _taskReward > 0)then{" \n "" \n "diag_log format [""spawn reward: %1"",_taskReward];" \n "" \n @@ -813,66 +1119,77 @@ class FSM "" \n "};" \n "" \n - "_debugDo = ""REWARD"";"; - precondition = ""; + "_debugDo = ""REWARD"";"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class pause { itemno = 37; priority = 0.000000; to="clean_up"; - precondition = ""; - condition="diag_tickTime - _lastLoop > _taskCheckTime"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"diag_tickTime - _lastLoop > _taskCheckTime"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class comms_1 { name = "comms_1"; itemno = 39; - init = "//[_plyr,1,_taskID] remoteExec [""EPOCH_Server_missionComms"",3];"; - precondition = ""; + init = /*%FSM*/"//[_plyr,1,_taskID] remoteExec [""EPOCH_Server_missionComms"",3];"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class _ { itemno = 67; priority = 0.000000; to="next_task"; - precondition = ""; - condition="true"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"true"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class markers { name = "markers"; itemno = 43; - init = ""; - precondition = ""; + init = /*%FSM*/""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class continue { itemno = 44; priority = 100.000000; to="do_monitor"; - precondition = ""; - condition="//no marker" \n - "_taskMarkerType < 1"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"//no marker" \n + "_taskMarkerType < 1"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class marker_pos { itemno = 46; priority = 0.000000; to="do_markers"; - precondition = ""; - condition="_taskMarkerType > 0"; - action="_markerPos = [];" \n + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_taskMarkerType > 0"/*%FSM*/; + action=/*%FSM*/"_markerPos = [];" \n "if(isNil ""EPOCH_taskMarkerPos"")then{" \n "if!(isNull _trgt)then{" \n "_markerPos = getPos _trgt;" \n @@ -901,59 +1218,66 @@ class FSM "};" \n "" \n "" \n - ""; + ""/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class do_markers { name = "do_markers"; itemno = 47; - init = ""; - precondition = ""; + init = /*%FSM*/""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class continue { itemno = 44; priority = 100.000000; to="do_monitor"; - precondition = ""; - condition="//no marker" \n - "_taskMarkerType < 1"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"//no marker" \n + "_taskMarkerType < 1"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class radius { itemno = 45; priority = 0.000000; to="do_markers"; - precondition = ""; - condition="_taskMarkerType == 2"; - action="" \n - "[player, _markerPos, ""ELLIPSE"", ""mil_dot"", ""ColorYellow"", [_taskMarkerRad,_taskMarkerRad], ""SolidBorder"", 42, _markerText, 0.6,_mkrName] call EPOCH_fnc_createMarker;" \n - "" \n - "_taskMarkerType = -1;"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_taskMarkerType == 2"/*%FSM*/; + action=/*%FSM*/"[[_taskMarkerVis,player],_markerPos,""ELLIPSE"",""mil_dot"",_markerText,""ColorYellow"",[_taskMarkerRad,_taskMarkerRad], ""SolidBorder"", 42, 0.6,_taskTitle] remoteExec [""EPOCH_server_makeMarker"",2];" \n + "_taskMarkerType = -1;"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class point { itemno = 24; priority = 0.000000; to="do_markers"; - precondition = ""; - condition="_taskMarkerType == 1"; - action="" \n - "[player, _markerPos, ""ICON"", ""mil_dot"", ""ColorYellow"", [0.8,0.8], """", 42, _markerText, 0.6, _mkrName] call EPOCH_fnc_createMarker;" \n - "" \n - "_taskMarkerType = -1;"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_taskMarkerType == 1"/*%FSM*/; + action=/*%FSM*/"[[_taskMarkerVis,player],_markerPos,""ICON"",""mil_dot"",_markerText,""ColorYellow"",[0.8,0.8], ""SolidBorder"", 42, 0.6,_taskTitle] remoteExec [""EPOCH_server_makeMarker"",2];" \n + "_taskMarkerType = -1;"/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class find_spot { name = "find_spot"; itemno = 48; - init = "//TODO: try catch used incorrectly here" \n + init = /*%FSM*/"//TODO: try catch used incorrectly here" \n "try{" \n "_pos = [(getPosATL _plyr), (floor (random 80) + 42), floor random 360] call BIS_fnc_relPos;" \n "" \n @@ -970,233 +1294,277 @@ class FSM "systemchat format[""CATCH:%1"",_exception];" \n "done = true;" \n "_taskItemSpawn = 1;" \n - "};"; - precondition = ""; + "};"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class not_hidden { itemno = 61; priority = 10.000000; to="find_spot"; - precondition = ""; - condition="!_posSafe;"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!_posSafe;"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class is_hidden { itemno = 62; priority = 5.000000; to="spawn_item"; - precondition = ""; - condition="_done;"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_done;"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class failed { name = "failed"; itemno = 50; - init = ""; - precondition = ""; + init = /*%FSM*/""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class call { itemno = 54; priority = 20.000000; to="failed"; - precondition = ""; - condition="!(str(_taskFailedCall) == ""{}"")"; - action="call _taskFailedCall;" \n - "_taskFailedCall = compile """";"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!(str(_taskFailedCall) == ""{}"")"/*%FSM*/; + action=/*%FSM*/"call _taskFailedCall;" \n + "_taskFailedCall = compile """";"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class sqf { itemno = 53; priority = 15.000000; to="failed"; - precondition = ""; - condition="!(_taskFailedSQF == """")"; - action="_taskFailedSQF call _execSQF;" \n - "_taskFailedSQF = """";"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!(_taskFailedSQF == """")"/*%FSM*/; + action=/*%FSM*/"_taskFailedSQF call _execSQF;" \n + "_taskFailedSQF = """";"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class fsm { itemno = 52; priority = 10.000000; to="failed"; - precondition = ""; - condition="!(_taskFailedFSM == """")"; - action="_taskFailedFSM call _execFSM;" \n - "_taskFailedFSM = """";"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!(_taskFailedFSM == """")"/*%FSM*/; + action=/*%FSM*/"_taskFailedFSM call _execFSM;" \n + "_taskFailedFSM = """";"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class diag { itemno = 51; priority = 5.000000; to="failed"; - precondition = ""; - condition="count _taskFailedDiag > 0"; - action="_diag = selectRandom _taskFailedDiag;" \n - "[_diag, 5] call Epoch_message;" \n - "_taskFailedDiag = [];"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"count _taskFailedDiag > 0"/*%FSM*/; + action=/*%FSM*/"_diag = selectRandom _taskFailedDiag;" \n + "[format [""%1"",_diag], 5] call Epoch_dynamicText;" \n + "_taskFailedDiag = [];"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class pause { itemno = 37; priority = 0.000000; to="clean_up"; - precondition = ""; - condition="diag_tickTime - _lastLoop > _taskCheckTime"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"diag_tickTime - _lastLoop > _taskCheckTime"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class clean_up { name = "clean_up"; itemno = 55; - init = ""; - precondition = ""; + init = /*%FSM*/""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class clean_up { itemno = 69; priority = 15.000000; to="clean_up"; - precondition = ""; - condition="_taskCleanup > 0"; - action="//deleteVehicle _taskItem;" \n + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_taskCleanup > 0"/*%FSM*/; + action=/*%FSM*/"//deleteVehicle _taskItem;" \n "//[_plyr,0,_taskID,_taskItem] remoteExec [""EPOCH_Server_missionComms"",3];" \n - "_taskCleanup = -1;"; + "_taskCleanup = -1;"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class remind_dialogue { itemno = 66; priority = 10.000000; to="clean_up"; - precondition = ""; - condition="count _taskReminder > 0 && !_taskFailed"; - action="_diag = selectRandom _taskReminder;" \n - "[_diag, 5] call Epoch_message;" \n - "_taskReminder = [];"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"count _taskReminder > 0 && !_taskFailed"/*%FSM*/; + action=/*%FSM*/"_diag = selectRandom _taskReminder;" \n + "[format [""%1"",_diag], 5] call Epoch_dynamicText;" \n + "_taskReminder = [];"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class markers { itemno = 57; priority = 5.000000; to="clean_up"; - precondition = ""; - condition="!(isNil ""EPOCH_taskMarkerName"") && (_taskCleanup > 0 || _taskFailed)"; - action="deleteMarkerLocal EPOCH_taskMarkerName;" \n + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!(isNil ""EPOCH_taskMarkerName"") && (_taskCleanup > 0 || _taskFailed)"/*%FSM*/; + action=/*%FSM*/"[player,_taskMarkerVis,EPOCH_taskMarkerName] remoteExec [""EPOCH_server_removeMarker"",2];" \n "_mkrName = nil;" \n - "EPOCH_taskMarkerName = nil;"; + "EPOCH_taskMarkerName = nil;"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class _ { itemno = 56; priority = 0.000000; to="comms_1"; - precondition = ""; - condition="true"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"true"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class gui { name = "gui"; itemno = 63; - init = "//GUI dialogue Options for Raymix :)"; - precondition = ""; + init = /*%FSM*/"//GUI dialogue Options for Raymix :)"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class no_dialogoue { itemno = 64; priority = 10.000000; to="items_and_vars"; - precondition = ""; - condition="_taskTitle == """""; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_taskTitle == """""/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class dialogue { itemno = 65; priority = 5.000000; to="gui"; - precondition = ""; - condition="!(_taskTitle == """")"; - action="" \n + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!(_taskTitle == """")"/*%FSM*/; + action=/*%FSM*/"" \n "axeTaskTitle = _taskTitle;" \n "axeTaskDesc = _taskDesc;" \n "axeTaskImg = _taskImg;" \n "createDialog ""taskAccept"";" \n "" \n - "_taskTitle = """";"; + "_taskTitle = """";"/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class next_task { name = "next_task"; itemno = 68; - init = ""; - precondition = ""; + init = /*%FSM*/""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class mission_complete { itemno = 40; priority = 10.000000; to="end"; - precondition = ""; - condition="count _taskNextTrigger < 1 || !alive _plyr || _taskFailed || _doBin"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"count _taskNextTrigger < 1 || !alive _plyr || _taskFailed || _doBin"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class next_task { itemno = 79; priority = 5.000000; to="setup"; - precondition = ""; - condition="count _taskNextTrigger > 0 && !_taskFailed"; - action="_taskName = selectRandom _taskNextTrigger;" \n + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"count _taskNextTrigger > 0 && !_taskFailed"/*%FSM*/; + action=/*%FSM*/"_taskName = selectRandom _taskNextTrigger;" \n "diag_log format [""Trigger Next Task: %1"",_taskName];" \n - "_taskNextTrigger = [];"; + "_taskNextTrigger = [];"/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class comms_2 { name = "comms_2"; itemno = 70; - init = "" \n + init = /*%FSM*/"" \n "systemChat format [""SERVER CMD: %1"",_serverCmd];" \n "" \n - "_serverCmd = [];"; - precondition = ""; + "_serverCmd = [];"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class _ { itemno = 12; priority = 0.000000; to="event_conditions"; - precondition = ""; - condition="true"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"true"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ + /*%FSM*/ class override_for_task { name = "override_for_task"; itemno = 75; - init = "_taskAuthor = axeValCacheList select 0;" \n + init = /*%FSM*/"_taskAuthor = axeValCacheList select 0;" \n "_taskTitle = axeValCacheList select 1;" \n "_taskSimple = parseNumber (axeValCacheList select 2);" \n "_taskDesc = ""Test Task"";" \n @@ -1247,30 +1615,35 @@ class FSM "_taskCompleteDiag2 = parseText axeValCacheList select 50;" \n "_taskReminder = axeValCacheList select 51;" \n "_taskNextTrigger = parseText axeValCacheList select 52;" \n - ""; - precondition = ""; + ""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; class Links { + /*%FSM*/ class simple_task { itemno = 72; priority = 10.000000; to="actions"; - precondition = ""; - condition="_taskSimple > 0;"; - action="_doSkip = true;"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"_taskSimple > 0;"/*%FSM*/; + action=/*%FSM*/"_doSkip = true;"/*%FSM*/; }; + /*%FSM*/ + /*%FSM*/ class _ { itemno = 33; priority = 0.000000; to="comms"; - precondition = ""; - condition="true"; - action=""; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"true"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; }; + /*%FSM*/ }; }; + /*%FSM*/ }; initState="task_control"; finalStates[] = @@ -1278,3 +1651,4 @@ class FSM "end", }; }; +/*%FSM*/ diff --git a/Sources/epoch_config/Configs/CfgEpochClient.hpp b/Sources/epoch_config/Configs/CfgEpochClient.hpp index 2bb28a1f..e51fc571 100644 --- a/Sources/epoch_config/Configs/CfgEpochClient.hpp +++ b/Sources/epoch_config/Configs/CfgEpochClient.hpp @@ -104,6 +104,7 @@ class CfgEpochClient #include "CfgEpochClient\utes.hpp" #include "CfgEpochClient\vr.hpp" #include "CfgEpochClient\Zargabad.hpp" + #include "CfgEpochClient\Tanoa.hpp" #include "CfgEpochClient\WorldInteractions.hpp" }; class CfgEpochSapper diff --git a/Sources/epoch_config/Configs/CfgEpochClient/Tanoa.hpp b/Sources/epoch_config/Configs/CfgEpochClient/Tanoa.hpp new file mode 100644 index 00000000..b2bee08c --- /dev/null +++ b/Sources/epoch_config/Configs/CfgEpochClient/Tanoa.hpp @@ -0,0 +1,19 @@ +/* + Author: Aaron Clark - EpochMod.com + + Contributors: + + Description: + Epoch gamemode config for Zargabad + + 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_config/Configs/CfgEpochClient/Tanoa.hpp +*/ +class Tanoa { + blockedArea[] = {}; + // main config + TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood", "HempFiber" }; +}; diff --git a/Sources/epoch_config/Configs/CfgEpochClient/WorldInteractions.hpp b/Sources/epoch_config/Configs/CfgEpochClient/WorldInteractions.hpp index f231b9d9..e1337168 100644 --- a/Sources/epoch_config/Configs/CfgEpochClient/WorldInteractions.hpp +++ b/Sources/epoch_config/Configs/CfgEpochClient/WorldInteractions.hpp @@ -2,6 +2,38 @@ class CfgWorldInteractions { class Water { water = 1; }; + class BankTerminal { + bankTerminal = 1; + }; + class Rocks { + rock = 1; + }; + class HempFiber { + HempFiber = 1; + }; + class PumpkinPatch { + PumpkinPatch = 1; + }; + class Bushes { + bush = 1; + }; + class Trash { + Trash = 1; + }; + class TrashSmall { + TrashSmall = 1; + }; + class Trees { + tree = 1; + }; + class Cinder { + cinder = 1; + }; + class Wrecks { + wreck = 1; + }; + + class barrelwater_f_p3d : Water {}; class water_source_f_p3d : Water {}; class waterbarrel_f_p3d : Water {}; @@ -18,85 +50,81 @@ class CfgWorldInteractions { class misc_concbox_ep1_p3d : Water {}; class Land_water_tank : Water {}; class Land_Pumpa : Water {}; - - class BankTerminal { - bankTerminal = 1; - }; - class atm_01_f_p3d : BankTerminal {}; - class phonebooth_01_f_p3d : BankTerminal {}; - class atm_02_f_p3d : BankTerminal {}; - class phonebooth_02_f_p3d : BankTerminal {}; - class nastenka_p3d : BankTerminal {}; - class nastenka2_p3d : BankTerminal {}; - class nastenka3_p3d : BankTerminal {}; - class phone_box_south_p3d : BankTerminal {}; - class mailboxsouth_p3d : BankTerminal {}; - class Land_PhoneBooth_02_F : BankTerminal {}; - class Land_PhoneBooth_01_F : BankTerminal {}; - class Land_Atm_01_F : BankTerminal {}; - class Land_Atm_02_F : BankTerminal {}; - class Land_Laptop_device_F : BankTerminal {}; - - class Rocks { - rock = 1; - }; + class watertank_01_f_p3d : Water {}; + class watertank_02_f_p3d : Water {}; + class watertank_04_f_p3d : Water {}; + class watertank_03_f_p3d : Water {}; + class atm_01_f_p3d : bankTerminal {}; + class phonebooth_01_f_p3d : bankTerminal {}; + class atm_02_f_p3d : bankTerminal {}; + class phonebooth_02_f_p3d : bankTerminal {}; + class nastenka_p3d : bankTerminal {}; + class nastenka2_p3d : bankTerminal {}; + class nastenka3_p3d : bankTerminal {}; + class phone_box_south_p3d : bankTerminal {}; + class mailboxsouth_p3d : bankTerminal {}; + class Land_PhoneBooth_02_F : bankTerminal {}; + class Land_PhoneBooth_01_F : bankTerminal {}; + class Land_Atm_01_F : bankTerminal {}; + class Land_Atm_02_F : bankTerminal {}; + class Land_Laptop_device_F : bankTerminal {}; class sharpstone_03_lc_p3d : Rocks {}; - class sharpstone_02_lc_p3d : Rocks {}; - class sharpstone_01_lc_p3d : Rocks {}; - class sharpstone_02_p3d : Rocks {}; - class sharpstone_03_p3d : Rocks {}; - class sharprock_monolith_p3d : Rocks {}; - class sharprock_apart_p3d : Rocks {}; - class sharpstones_erosion_p3d : Rocks {}; - class bluntstone_01_lc_p3d : Rocks {}; - class bluntstone_02_lc_p3d : Rocks {}; - class bluntstone_03_lc_p3d : Rocks {}; - class bluntstones_erosion_p3d : Rocks {}; - class bluntstone_01_p3d : Rocks {}; - class bluntstone_03_p3d : Rocks {}; - class sharprock_spike_p3d : Rocks {}; - class sharprock_wallh_p3d : Rocks {}; - class w_sharpstone_03_p3d : Rocks {}; - class w_sharpstone_02_p3d : Rocks {}; - class w_sharpstone_01_p3d : Rocks {}; - class bluntrock_apart_p3d : Rocks {}; - class bluntstone_02_p3d : Rocks {}; - class bluntrock_monolith_p3d : Rocks {}; - class bluntrock_wallh_p3d : Rocks {}; - class sharprock_wallv_p3d : Rocks {}; - class stonesharp_medium_p3d : Rocks {}; - class stone_medium_f_p3d : Rocks {}; - class stonesharp_big_p3d : Rocks {}; - class stonesharp_small_p3d : Rocks {}; - class small_stone_02_f_p3d : Rocks {}; - class stone_small_f_p3d : Rocks {}; - class stone_big_f_p3d : Rocks {}; - class bluntrock_spike_p3d : Rocks {}; + class sharpstone_02_lc_p3d : Rocks {}; + class sharpstone_01_lc_p3d : Rocks {}; + class sharpstone_02_p3d : Rocks {}; + class sharpstone_03_p3d : Rocks {}; + class sharprock_monolith_p3d : Rocks {}; + class sharprock_apart_p3d : Rocks {}; + class sharpstones_erosion_p3d : Rocks {}; + class bluntstone_01_lc_p3d : Rocks {}; + class bluntstone_02_lc_p3d : Rocks {}; + class bluntstone_03_lc_p3d : Rocks {}; + class bluntstones_erosion_p3d : Rocks {}; + class bluntstone_01_p3d : Rocks {}; + class bluntstone_03_p3d : Rocks {}; + class sharprock_spike_p3d : Rocks {}; + class sharprock_wallh_p3d : Rocks {}; + class w_sharpstone_03_p3d : Rocks {}; + class w_sharpstone_02_p3d : Rocks {}; + class w_sharpstone_01_p3d : Rocks {}; + class bluntrock_apart_p3d : Rocks {}; + class bluntstone_02_p3d : Rocks {}; + class bluntrock_monolith_p3d : Rocks {}; + class bluntrock_wallh_p3d : Rocks {}; + class sharprock_wallv_p3d : Rocks {}; + class stonesharp_medium_p3d : Rocks {}; + class stone_medium_f_p3d : Rocks {}; + class stonesharp_big_p3d : Rocks {}; + class stonesharp_small_p3d : Rocks {}; + class small_stone_02_f_p3d : Rocks {}; + class stone_small_f_p3d : Rocks {}; + class stone_big_f_p3d : Rocks {}; + class bluntrock_spike_p3d : Rocks {}; class r2_boulder1_p3d : Rocks {}; class r2_boulder2_p3d : Rocks {}; class r2_rock1_p3d : Rocks {}; class r2_rocktower_p3d : Rocks {}; class r2_rockwall_p3d : Rocks {}; class r_rock_02_ep1_p3d : Rocks {}; - class brownrock2_p3d : Rocks {}; - class brownrock3_p3d : Rocks {}; - class desertrock_p3d : Rocks {}; - class desertrock2_p3d : Rocks {}; - class desertrock3_p3d : Rocks {}; - class r_stone_01_ep1_p3d : Rocks {}; - class brownrock_p3d : Rocks {}; - class rockn_02_p3d : Rocks {}; - class sharpstone_01_p3d : Rocks {}; - class r_rock_03_ep1_p3d : Rocks {}; - class rocks_02_p3d : Rocks {}; - class skala3_5_p3d : Rocks {}; - class skala3_4_p3d : Rocks {}; - class skala1_4_p3d : Rocks {}; + class brownrock2_p3d : Rocks {}; + class brownrock3_p3d : Rocks {}; + class desertrock_p3d : Rocks {}; + class desertrock2_p3d : Rocks {}; + class desertrock3_p3d : Rocks {}; + class r_stone_01_ep1_p3d : Rocks {}; + class brownrock_p3d : Rocks {}; + class rockn_02_p3d : Rocks {}; + class sharpstone_01_p3d : Rocks {}; + class r_rock_03_ep1_p3d : Rocks {}; + class rocks_02_p3d : Rocks {}; + class skala3_5_p3d : Rocks {}; + class skala3_4_p3d : Rocks {}; + class skala1_4_p3d : Rocks {}; class bo_r2_boulder1_p3d : Rocks {}; - class bo_r2_boulder2_p3d : Rocks {}; - class bo_r2_rock1_p3d : Rocks {}; - class bo_r2_rocktower_p3d : Rocks {}; - class bo_r2_rockwall_p3d : Rocks {}; + class bo_r2_boulder2_p3d : Rocks {}; + class bo_r2_rock1_p3d : Rocks {}; + class bo_r2_rocktower_p3d : Rocks {}; + class bo_r2_rockwall_p3d : Rocks {}; class w_sharpstones_erosion_p3d : Rocks {}; class decal_rock_dark_p3d : Rocks {}; class r_stone_01_pmc_p3d : Rocks {}; @@ -116,21 +144,30 @@ class CfgWorldInteractions { class r_tk_boulder_01_ep1_p3d : Rocks {}; class r_tk_boulder_02_ep1_p3d : Rocks {}; class r_tk_rock_01_ep1_p3d : Rocks {}; - - class HempFiber { - HempFiber = 1; - }; + class cliff_stone_big_lc_f_p3d : Rocks {}; + class cliff_wall_long_f_p3d : Rocks {}; + class cliff_stone_medium_lc_f_p3d : Rocks {}; + class cliff_stone_small_lc_f_p3d : Rocks {}; + class cliff_boulder_f_p3d : Rocks {}; + class cliff_peak_f_p3d : Rocks {}; + class cliff_wall_round_f_p3d : Rocks {}; + class cliff_stonecluster_f_p3d : Rocks {}; + class cliff_wall_tall_f_p3d : Rocks {}; + class lavaboulder_03_f_p3d : Rocks {}; + class lavastone_small_lc_f_p3d : Rocks {}; + class lavaboulder_02_f_p3d : Rocks {}; + class lavaboulder_01_f_p3d : Rocks {}; + class lavastone_big_lc_f_p3d : Rocks {}; + class lavastonecluster_large_f_p3d : Rocks {}; + class lavaboulder_04_f_p3d : Rocks {}; + class lavastonecluster_small_f_p3d : Rocks {}; + class cliff_stone_medium_f_p3d : Rocks {}; + class lavastone_big_f_p3d : Rocks {}; + class lavastone_small_f_p3d : Rocks {}; + class cliff_surfacemine_f_p3d : Rocks {}; class p_fiberplant_ep1_p3d : HempFiber {}; - - class PumpkinPatch { - PumpkinPatch = 1; - }; class p_pumpkin_summer_p3d : PumpkinPatch {}; class pumpkin_p3d : PumpkinPatch {}; - - class Trash { - Trash = 1; - }; class sack_f_p3d : Trash {}; class garbagebags_f_p3d : Trash {}; class pallets_f_p3d : Trash {}; @@ -164,18 +201,18 @@ class CfgWorldInteractions { class humanskeleton_f_p3d : Trash {}; class shelvesmetal_f_p3d : Trash {}; class popelnice_p3d : Trash {}; - class garbage_misc_p3d : Trash {}; - class paletyc_p3d : Trash {}; - class junkpile_p3d : Trash {}; - class kontejner_p3d : Trash {}; - class misc_chickencoop_p3d : Trash {}; - class misc_boogieman_p3d : Trash {}; - class misc_hutch_p3d : Trash {}; - class garbage_paleta_p3d : Trash {}; - class misc_cargo1a_p3d : Trash {}; - class misc_cargo2a_p3d : Trash {}; - class misc_greenhouse_p3d : Trash {}; - class zastavka_stojan_p3d : Trash {}; + class garbage_misc_p3d : Trash {}; + class paletyc_p3d : Trash {}; + class junkpile_p3d : Trash {}; + class kontejner_p3d : Trash {}; + class misc_chickencoop_p3d : Trash {}; + class misc_boogieman_p3d : Trash {}; + class misc_hutch_p3d : Trash {}; + class garbage_paleta_p3d : Trash {}; + class misc_cargo1a_p3d : Trash {}; + class misc_cargo2a_p3d : Trash {}; + class misc_greenhouse_p3d : Trash {}; + class zastavka_stojan_p3d : Trash {}; class podesta_s10_p3d : Trash {}; class kontejner_sklo_p3d : Trash {}; class paletyd_p3d : Trash {}; @@ -216,172 +253,176 @@ class CfgWorldInteractions { class stand_meat_ep1_p3d : Trash {}; class bags_ep1_p3d : Trash {}; class misc_garb_heap_ep1_p3d : Trash {}; - - class TrashSmall { - TrashSmall = 1; - }; + class woodencrate_01_stack_x3_f_p3d : Trash {}; + class garbageheap_03_f_p3d : Trash {}; + class garbageheap_04_f_p3d : Trash {}; + class garbageheap_02_f_p3d : Trash {}; + class garbageheap_01_f_p3d : Trash {}; + class woodencrate_01_stack_x5_f_p3d : Trash {}; + class woodencrate_01_f_p3d : Trash {}; + class clothesline_01_short_f_p3d : Trash {}; + class boat_01_abandoned_red_f_p3d : Trash {}; + class grave_01_f_p3d : Trash {}; + class grave_03_f_p3d : Trash {}; class misc_postbox_p3d : TrashSmall {}; - - class Trees { - tree = 1; - }; - class t_ficusb1s_f_p3d: Trees {}; - class t_oleae1s_f_p3d: Trees {}; - class t_ficusb2s_f_p3d: Trees {}; - class t_broussonetiap1s_f_p3d: Trees {}; - class t_pinuss2s_f_p3d: Trees {}; - class t_pinuss2s_b_f_p3d: Trees {}; - class t_pinuss1s_f_p3d: Trees {}; - class t_oleae2s_f_p3d: Trees {}; - class t_fraxinusav2s_f_p3d: Trees {}; - class t_pinusp3s_f_p3d: Trees {}; - class t_poplar2f_dead_f_p3d: Trees {}; - class t_populusn3s_f_p3d: Trees {}; - class t_phoenixc1s_f_p3d: Trees {}; + class garbagebin_02_f_p3d : TrashSmall {}; + class t_ficusb1s_f_p3d : Trees {}; + class t_oleae1s_f_p3d : Trees {}; + class t_ficusb2s_f_p3d : Trees {}; + class t_broussonetiap1s_f_p3d : Trees {}; + class t_pinuss2s_f_p3d : Trees {}; + class t_pinuss2s_b_f_p3d : Trees {}; + class t_pinuss1s_f_p3d : Trees {}; + class t_oleae2s_f_p3d : Trees {}; + class t_fraxinusav2s_f_p3d : Trees {}; + class t_pinusp3s_f_p3d : Trees {}; + class t_poplar2f_dead_f_p3d : Trees {}; + class t_populusn3s_f_p3d : Trees {}; + class t_phoenixc1s_f_p3d : Trees {}; class t_populus3s_p3d : Trees {}; - class t_fagus2w_p3d : Trees {}; - class t_betula2s_p3d : Trees {}; - class t_fagus2s_p3d : Trees {}; - class t_fagus2f_p3d : Trees {}; - class t_sorbus2s_p3d : Trees {}; - class t_fraxinus2w_p3d : Trees {}; - class t_salix2s_p3d : Trees {}; - class t_malus1s_p3d : Trees {}; - class t_betula1f_p3d : Trees {}; - class t_pinusn2s_p3d : Trees {}; - class t_picea2s_p3d : Trees {}; - class t_larix3s_p3d : Trees {}; - class t_picea3f_p3d : Trees {}; - class t_picea1s_p3d : Trees {}; - class misc_fallentree2_p3d : Trees {}; - class misc_stub2_p3d : Trees {}; - class t_fraxinus2s_p3d : Trees {}; - class t_quercus2f_p3d : Trees {}; - class misc_trunk_water_p3d : Trees {}; - class misc_trunk_torzo_p3d : Trees {}; - class t_alnus2s_p3d : Trees {}; - class misc_fallentree1_p3d : Trees {}; - class t_betula2f_p3d : Trees {}; - class t_pinusn1s_p3d : Trees {}; - class t_pinuss2f_p3d : Trees {}; - class t_quercus3s_p3d : Trees {}; - class t_carpinus2s_p3d : Trees {}; - class misc_fallenspruce_p3d : Trees {}; - class t_stub_picea_p3d : Trees {}; - class misc_stub1_p3d : Trees {}; - class t_acer2s_p3d : Trees {}; - class t_betula2w_p3d : Trees {}; - class t_pyrus2s_p3d : Trees {}; + class t_fagus2w_p3d : Trees {}; + class t_betula2s_p3d : Trees {}; + class t_fagus2s_p3d : Trees {}; + class t_fagus2f_p3d : Trees {}; + class t_sorbus2s_p3d : Trees {}; + class t_fraxinus2w_p3d : Trees {}; + class t_salix2s_p3d : Trees {}; + class t_malus1s_p3d : Trees {}; + class t_betula1f_p3d : Trees {}; + class t_pinusn2s_p3d : Trees {}; + class t_picea2s_p3d : Trees {}; + class t_larix3s_p3d : Trees {}; + class t_picea3f_p3d : Trees {}; + class t_picea1s_p3d : Trees {}; + class misc_fallentree2_p3d : Trees {}; + class misc_stub2_p3d : Trees {}; + class t_fraxinus2s_p3d : Trees {}; + class t_quercus2f_p3d : Trees {}; + class misc_trunk_water_p3d : Trees {}; + class misc_trunk_torzo_p3d : Trees {}; + class t_alnus2s_p3d : Trees {}; + class misc_fallentree1_p3d : Trees {}; + class t_betula2f_p3d : Trees {}; + class t_pinusn1s_p3d : Trees {}; + class t_pinuss2f_p3d : Trees {}; + class t_quercus3s_p3d : Trees {}; + class t_carpinus2s_p3d : Trees {}; + class misc_fallenspruce_p3d : Trees {}; + class t_stub_picea_p3d : Trees {}; + class misc_stub1_p3d : Trees {}; + class t_acer2s_p3d : Trees {}; + class t_betula2w_p3d : Trees {}; + class t_pyrus2s_p3d : Trees {}; class t_pinuss3s_ep1_p3d : Trees {}; - class t_pinuse2s_ep1_p3d : Trees {}; - class t_populusf2s_ep1_p3d : Trees {}; - class str_topol_p3d : Trees {}; - class les_singlestrom_b_p3d : Trees {}; - class banana_3_p3d : Trees {}; - class jablon_p3d : Trees {}; - class str_pinie_p3d : Trees {}; - class t_ficusb2s_ep1_p3d : Trees {}; - class palm_01_p3d : Trees {}; - class vysilac_budova_p3d : Trees {}; - class palm_10_p3d : Trees {}; - class palm_03_p3d : Trees {}; - class palm_04_p3d : Trees {}; - class t_pistacial2s_ep1_p3d : Trees {}; - class panelak_p3d : Trees {}; + class t_pinuse2s_ep1_p3d : Trees {}; + class t_populusf2s_ep1_p3d : Trees {}; + class str_topol_p3d : Trees {}; + class les_singlestrom_b_p3d : Trees {}; + class banana_3_p3d : Trees {}; + class jablon_p3d : Trees {}; + class str_pinie_p3d : Trees {}; + class t_ficusb2s_ep1_p3d : Trees {}; + class palm_01_p3d : Trees {}; + class vysilac_budova_p3d : Trees {}; + class palm_10_p3d : Trees {}; + class palm_03_p3d : Trees {}; + class palm_04_p3d : Trees {}; + class t_pistacial2s_ep1_p3d : Trees {}; + class panelak_p3d : Trees {}; class str_kastan_p3d : Trees {}; - class a_hospital_p3d : Trees {}; - class i_barracks_v1_f_p3d : Trees {}; - class dum_istan3_hromada_p3d : Trees {}; - class dum_istan3_hromada2_p3d : Trees {}; - class dum_istan4_big_inverse_p3d : Trees {}; - class panelak2_p3d : Trees {}; - class podesta_1_mid_p3d : Trees {}; - class podesta_1_cornl_p3d : Trees {}; - class t_prunuss2s_ep1_p3d : Trees {}; - class dum_istan2_02_p3d : Trees {}; - class dum_istan4_inverse_p3d : Trees {}; - class podesta_1_stairs2_p3d : Trees {}; - class podesta_1_mid_cornl_p3d : Trees {}; - class hrusen2_p3d : Trees {}; - class zed_kamenna_p3d : Trees {}; - class str_dub_p3d : Trees {}; - class str_dub_jiny_p3d : Trees {}; - class smrk_siroky_p3d : Trees {}; - class smrk_maly_p3d : Trees {}; - class les_singlestrom_p3d : Trees {}; - class palm_02_p3d : Trees {}; - class brg_banana_3_p3d : Trees {}; - class banana_2_p3d : Trees {}; - class oliva_p3d : Trees {}; - class brg_umbrella_acacia02b_p3d : Trees {}; - class brg_umbrella_acacia01b_p3d : Trees {}; - class brg_umbrella_acacia04b_p3d : Trees {}; - class brg_umbrella_acacia03b_p3d : Trees {}; - class str_buk_p3d : Trees {}; - class les_dub_p3d : Trees {}; - class b_pinusm1s_ep1_p3d : Trees {}; - class krovi_long_p3d : Trees {}; - class str_lipa_p3d : Trees {}; - class str_javor_p3d : Trees {}; - class str_trnka_p3d : Trees {}; - class t_poplar2f_dead_pmc_p3d : Trees {}; - class t_quercusir2s_f_p3d : Trees {}; - class dd_bush01_p3d : Trees {}; - class t_fagus2f_summer_p3d : Trees {}; - class akat02s_p3d : Trees {}; - class t_amygdalusc2s_ep1_p3d : Trees {}; - class str_osika_p3d : Trees {}; - class palm_09_p3d : Trees {}; - class dd_borovice_p3d : Trees {}; - class dd_borovice02_p3d : Trees {}; - class str_topol2_p3d : Trees {}; - class brg_umbrella_acacia_shrub02_p3d : Trees {}; - class t_populusb2s_ep1_p3d : Trees {}; - class les_dub_jiny_p3d : Trees {}; - class les_buk_p3d : Trees {}; - class str_fikovnik_p3d : Trees {}; - class str_briza_rovna_p3d : Trees {}; - class str_jerabina_p3d : Trees {}; - class str_habr_p3d : Trees {}; - class les_fikovnik2_p3d : Trees {}; + class a_hospital_p3d : Trees {}; + class i_barracks_v1_f_p3d : Trees {}; + class dum_istan3_hromada_p3d : Trees {}; + class dum_istan3_hromada2_p3d : Trees {}; + class dum_istan4_big_inverse_p3d : Trees {}; + class panelak2_p3d : Trees {}; + class podesta_1_mid_p3d : Trees {}; + class podesta_1_cornl_p3d : Trees {}; + class t_prunuss2s_ep1_p3d : Trees {}; + class dum_istan2_02_p3d : Trees {}; + class dum_istan4_inverse_p3d : Trees {}; + class podesta_1_stairs2_p3d : Trees {}; + class podesta_1_mid_cornl_p3d : Trees {}; + class hrusen2_p3d : Trees {}; + class zed_kamenna_p3d : Trees {}; + class str_dub_p3d : Trees {}; + class str_dub_jiny_p3d : Trees {}; + class smrk_siroky_p3d : Trees {}; + class smrk_maly_p3d : Trees {}; + class les_singlestrom_p3d : Trees {}; + class palm_02_p3d : Trees {}; + class brg_banana_3_p3d : Trees {}; + class banana_2_p3d : Trees {}; + class oliva_p3d : Trees {}; + class brg_umbrella_acacia02b_p3d : Trees {}; + class brg_umbrella_acacia01b_p3d : Trees {}; + class brg_umbrella_acacia04b_p3d : Trees {}; + class brg_umbrella_acacia03b_p3d : Trees {}; + class str_buk_p3d : Trees {}; + class les_dub_p3d : Trees {}; + class b_pinusm1s_ep1_p3d : Trees {}; + class krovi_long_p3d : Trees {}; + class str_lipa_p3d : Trees {}; + class str_javor_p3d : Trees {}; + class str_trnka_p3d : Trees {}; + class t_poplar2f_dead_pmc_p3d : Trees {}; + class t_quercusir2s_f_p3d : Trees {}; + class dd_bush01_p3d : Trees {}; + class t_fagus2f_summer_p3d : Trees {}; + class akat02s_p3d : Trees {}; + class t_amygdalusc2s_ep1_p3d : Trees {}; + class str_osika_p3d : Trees {}; + class palm_09_p3d : Trees {}; + class dd_borovice_p3d : Trees {}; + class dd_borovice02_p3d : Trees {}; + class str_topol2_p3d : Trees {}; + class brg_umbrella_acacia_shrub02_p3d : Trees {}; + class t_populusb2s_ep1_p3d : Trees {}; + class les_dub_jiny_p3d : Trees {}; + class les_buk_p3d : Trees {}; + class str_fikovnik_p3d : Trees {}; + class str_briza_rovna_p3d : Trees {}; + class str_jerabina_p3d : Trees {}; + class str_habr_p3d : Trees {}; + class les_fikovnik2_p3d : Trees {}; class bo_t_populus3s_p3d : Trees {}; - class bo_t_fagus2w_p3d : Trees {}; - class bo_t_betula2s_p3d : Trees {}; - class bo_t_fagus2s_p3d : Trees {}; - class bo_t_fagus2f_p3d : Trees {}; - class bo_t_sorbus2s_p3d : Trees {}; - class bo_t_fraxinus2w_p3d : Trees {}; - class bo_t_salix2s_p3d : Trees {}; - class bo_t_malus1s_p3d : Trees {}; - class bo_t_betula1f_p3d : Trees {}; - class bo_t_pinusn2s_p3d : Trees {}; - class bo_t_picea2s_p3d : Trees {}; - class bo_t_larix3s_p3d : Trees {}; - class bo_t_picea3f_p3d : Trees {}; - class bo_t_picea1s_p3d : Trees {}; - class bo_misc_fallentree2_p3d : Trees {}; - class bo_misc_stub2_p3d : Trees {}; - class bo_t_fraxinus2s_p3d : Trees {}; - class bo_t_quercus2f_p3d : Trees {}; - class bo_misc_trunk_water_p3d : Trees {}; - class bo_misc_trunk_torzo_p3d : Trees {}; - class bo_t_alnus2s_p3d : Trees {}; - class bo_misc_fallentree1_p3d : Trees {}; - class bo_t_betula2f_p3d : Trees {}; - class bo_t_pinusn1s_p3d : Trees {}; - class bo_t_pinuss2f_p3d : Trees {}; - class bo_t_quercus3s_p3d : Trees {}; - class bo_t_carpinus2s_p3d : Trees {}; - class bo_t_stub_picea_p3d : Trees {}; - class bo_t_acer2s_p3d : Trees {}; - class bo_t_betula2w_p3d : Trees {}; - class bo_t_pyrus2s_p3d : Trees {}; - class bo_b_corylus_p3d : Trees {}; + class bo_t_fagus2w_p3d : Trees {}; + class bo_t_betula2s_p3d : Trees {}; + class bo_t_fagus2s_p3d : Trees {}; + class bo_t_fagus2f_p3d : Trees {}; + class bo_t_sorbus2s_p3d : Trees {}; + class bo_t_fraxinus2w_p3d : Trees {}; + class bo_t_salix2s_p3d : Trees {}; + class bo_t_malus1s_p3d : Trees {}; + class bo_t_betula1f_p3d : Trees {}; + class bo_t_pinusn2s_p3d : Trees {}; + class bo_t_picea2s_p3d : Trees {}; + class bo_t_larix3s_p3d : Trees {}; + class bo_t_picea3f_p3d : Trees {}; + class bo_t_picea1s_p3d : Trees {}; + class bo_misc_fallentree2_p3d : Trees {}; + class bo_misc_stub2_p3d : Trees {}; + class bo_t_fraxinus2s_p3d : Trees {}; + class bo_t_quercus2f_p3d : Trees {}; + class bo_misc_trunk_water_p3d : Trees {}; + class bo_misc_trunk_torzo_p3d : Trees {}; + class bo_t_alnus2s_p3d : Trees {}; + class bo_misc_fallentree1_p3d : Trees {}; + class bo_t_betula2f_p3d : Trees {}; + class bo_t_pinusn1s_p3d : Trees {}; + class bo_t_pinuss2f_p3d : Trees {}; + class bo_t_quercus3s_p3d : Trees {}; + class bo_t_carpinus2s_p3d : Trees {}; + class bo_t_stub_picea_p3d : Trees {}; + class bo_t_acer2s_p3d : Trees {}; + class bo_t_betula2w_p3d : Trees {}; + class bo_t_pyrus2s_p3d : Trees {}; + class bo_b_corylus_p3d : Trees {}; class t_fagus2s_summer_p3d : Trees {}; class t_betula2s_summer_p3d : Trees {}; - class cwr2_a2_t_sorbus2s_p3d : Trees {}; - class cwr2_a2_t_fagus2w_p3d : Trees {}; - class cwr2_a2_t_alnus2s_p3d : Trees {}; + class cwr2_a2_t_sorbus2s_p3d : Trees {}; + class cwr2_a2_t_fagus2w_p3d : Trees {}; + class cwr2_a2_t_alnus2s_p3d : Trees {}; class mb_t_ulmus_large_p3d : Trees {}; class cwr_aleppopine_p3d : Trees {}; class cwr2_a2_t_quercus3s_p3d : Trees {}; @@ -394,52 +435,70 @@ class CfgWorldInteractions { class str_briza_kriva_p3d : Trees {}; class smrk_velky_p3d : Trees {}; class str_briza_p3d : Trees {}; - class misc_trunk_torzo_ep1_p3d : Trees {}; - class t_juniperusc2s_ep1_p3d : Trees {}; - class misc_trunk_water_ep1_p3d : Trees {}; - - class Bushes { - bush = 1; - }; - class b_ficusc2d_f_p3d: Bushes {}; - class b_ficusc1s_f_p3d: Bushes {}; - class b_neriumo2d_f_p3d: Bushes {}; - class b_arundod2s_f_p3d: Bushes {}; - class b_arundod3s_f_p3d: Bushes {}; - class b_ficusc2s_f_p3d: Bushes {}; + class misc_trunk_torzo_ep1_p3d : Trees {}; + class t_juniperusc2s_ep1_p3d : Trees {}; + class misc_trunk_water_ep1_p3d : Trees {}; + class t_cocosnucifera3s_tall_f_p3d : Trees {}; + class t_leucaena_f_p3d : Trees {}; + class t_ficus_medium_f_p3d : Trees {}; + class t_cyathea_f_p3d : Trees {}; + class t_ficus_small_f_p3d : Trees {}; + class woodenplanks_01_f_p3d : Trees {}; + class t_cocosnucifera2s_small_f_p3d : Trees {}; + class t_millettia_f_p3d : Trees {}; + class t_inocarpus_f_p3d : Trees {}; + class t_cocosnucifera3s_bend_f_p3d : Trees {}; + class t_agathis_wide_f_p3d : Trees {}; + class timberpile_01_f_p3d : Trees {}; + class d_treestump_cut_small_f_p3d : Trees {}; + class d_treestump_natural_small_f_p3d : Trees {}; + class d_treestump_natural_large_f_p3d : Trees {}; + class t_albizia_f_p3d : Trees {}; + class t_agathis_tall_f_p3d : Trees {}; + class t_palaquium_f_p3d : Trees {}; + class t_ficus_big_f_p3d : Trees {}; + class t_rhizophora_f_p3d : Trees {}; + class t_cacao_ripe_f_p3d : Trees {}; + class d_treestump_cut_large_f_p3d : Trees {}; + class b_ficusc2d_f_p3d : Bushes {}; + class b_ficusc1s_f_p3d : Bushes {}; + class b_neriumo2d_f_p3d : Bushes {}; + class b_arundod2s_f_p3d : Bushes {}; + class b_arundod3s_f_p3d : Bushes {}; + class b_ficusc2s_f_p3d : Bushes {}; class b_craet1_p3d : Bushes {}; - class b_craet2_p3d : Bushes {}; - class b_corylus_p3d : Bushes {}; - class b_corylus2s_p3d : Bushes {}; - class b_betulahumilis_p3d : Bushes {}; - class b_sambucus_p3d : Bushes {}; - class b_salix2s_p3d : Bushes {}; - class b_canina2s_p3d : Bushes {}; - class b_pmugo_p3d : Bushes {}; - class b_prunus_p3d : Bushes {}; - class krovi_bigest_p3d : Bushes {}; - class krovi4_p3d : Bushes {}; - class krovi_p3d : Bushes {}; - class ker_s_bobulema_p3d : Bushes {}; - class ker_pichlavej_p3d : Bushes {}; - class pinus_mugo_lowpoly_p3d : Bushes {}; - class b_amygdalusn1s_ep1_p3d : Bushes {}; - class banana_4_p3d : Bushes {}; - class banana_1_p3d : Bushes {}; - class palm_08small_p3d : Bushes {}; - class ker_deravej_p3d : Bushes {}; - class brg_umbrella_acacia_shrub2_p3d : Bushes {}; - class krovi2_p3d : Bushes {}; - class brg_banana_4_p3d : Bushes {}; + class b_craet2_p3d : Bushes {}; + class b_corylus_p3d : Bushes {}; + class b_corylus2s_p3d : Bushes {}; + class b_betulahumilis_p3d : Bushes {}; + class b_sambucus_p3d : Bushes {}; + class b_salix2s_p3d : Bushes {}; + class b_canina2s_p3d : Bushes {}; + class b_pmugo_p3d : Bushes {}; + class b_prunus_p3d : Bushes {}; + class krovi_bigest_p3d : Bushes {}; + class krovi4_p3d : Bushes {}; + class krovi_p3d : Bushes {}; + class ker_s_bobulema_p3d : Bushes {}; + class ker_pichlavej_p3d : Bushes {}; + class pinus_mugo_lowpoly_p3d : Bushes {}; + class b_amygdalusn1s_ep1_p3d : Bushes {}; + class banana_4_p3d : Bushes {}; + class banana_1_p3d : Bushes {}; + class palm_08small_p3d : Bushes {}; + class ker_deravej_p3d : Bushes {}; + class brg_umbrella_acacia_shrub2_p3d : Bushes {}; + class krovi2_p3d : Bushes {}; + class brg_banana_4_p3d : Bushes {}; class bo_b_craet1_p3d : Bushes {}; - class bo_b_craet2_p3d : Bushes {}; - class bo_b_corylus2s_p3d : Bushes {}; - class bo_b_betulahumilis_p3d : Bushes {}; - class bo_b_sambucus_p3d : Bushes {}; - class salix2s_p3d : Bushes {}; - class bo_b_canina2s_p3d : Bushes {}; - class bo_b_pmugo_p3d : Bushes {}; - class bo_b_prunus_p3d : Bushes {}; + class bo_b_craet2_p3d : Bushes {}; + class bo_b_corylus2s_p3d : Bushes {}; + class bo_b_betulahumilis_p3d : Bushes {}; + class bo_b_sambucus_p3d : Bushes {}; + class salix2s_p3d : Bushes {}; + class bo_b_canina2s_p3d : Bushes {}; + class bo_b_pmugo_p3d : Bushes {}; + class bo_b_prunus_p3d : Bushes {}; class b_corylus2s_summer_p3d : Bushes {}; class b_craet1_summer_p3d : Bushes {}; class b_betula2w_summer_p3d : Bushes {}; @@ -453,92 +512,101 @@ class CfgWorldInteractions { class cwr2_a2_b_sambucus_p3d : Bushes {}; class b_hip2s_pmc_p3d : Bushes {}; class b_elderberry2s_pmc_p3d : Bushes {}; - class ker_buxus_p3d : Bushes {}; - class str_liskac_p3d : Bushes {}; - class dd_bush02_p3d : Bushes {}; + class ker_buxus_p3d : Bushes {}; + class str_liskac_p3d : Bushes {}; + class dd_bush02_p3d : Bushes {}; class b_pistacial1s_ep1_p3d : Bushes {}; - - class Cinder { - cinder = 1; - }; + class b_colored_red_f_p3d : Bushes {}; + class b_colored_yellow_f_p3d : Bushes {}; + class b_cestrum_f_p3d : Bushes {}; + class b_calochlaena_f_p3d : Bushes {}; + class b_gardenia_f_p3d : Bushes {}; + class b_gardenia_dec_01_f_p3d : Bushes {}; + class b_gardenia_dec_02_f_p3d : Bushes {}; + class b_leucaena_f_p3d : Bushes {}; + class t_pritchardia_f_p3d : Bushes {}; + class b_pipermeth_f_p3d : Bushes {}; + class t_banana_f_p3d : Bushes {}; + class t_banana_slim_f_p3d : Bushes {}; + class t_banana_wild_f_p3d : Bushes {}; + class b_rhizophora_f_p3d : Bushes {}; + class b_neriumo2d_tanoa_f_p3d : Bushes {}; + class b_calochlaena_f_p3d : Bushes {}; class cinderblocks_f_p3d : Cinder {}; - - class Wrecks { - wreck = 1; - }; - class wall_tin_4_2_p3d: Wrecks {}; - class mil_wiredfence_f_p3d: Wrecks {}; - class cages_f_p3d: Wrecks {}; - class wreck_car_f_p3d: Wrecks {}; - class pipes_small_f_p3d: Wrecks {}; - class pipe_fence_4m_f_p3d: Wrecks {}; - class spp_tower_f_p3d: Wrecks {}; - class wreck_ural_f_p3d: Wrecks {}; - class wreck_car3_f_p3d: Wrecks {}; - class ironpipes_f_p3d: Wrecks {}; - class pipes_large_f_p3d: Wrecks {}; - class coil_f_p3d: Wrecks {}; - class wreck_offroad_f_p3d: Wrecks {}; - class wreck_offroad2_f_p3d: Wrecks {}; - class crabcages_f_p3d: Wrecks {}; - class metalbarrel_empty_f_p3d: Wrecks {}; - class net_fenced_8m_f_p3d: Wrecks {}; - class net_fence_8m_f_p3d: Wrecks {}; - class wavepowerplantbroken_f_p3d: Wrecks {}; - class wreck_truck_dropside_f_p3d: Wrecks {}; - class wavepowerplant_f_p3d: Wrecks {}; - class wreck_traw_f_p3d: Wrecks {}; - class wreck_slammer_f_p3d: Wrecks {}; - class maroula_f_p3d: Wrecks {}; - class indfnc_9_f_p3d: Wrecks {}; - class indfnc_3_f_p3d: Wrecks {}; - class indfnc_3_d_f_p3d: Wrecks {}; - class wreck_car2_f_p3d: Wrecks {}; - class net_fence_4m_f_p3d: Wrecks {}; - class wreck_truck_f_p3d: Wrecks {}; - class wreck_hunter_f_p3d: Wrecks {}; - class wreck_slammer_hull_f_p3d: Wrecks {}; + class cinderblocks_01_f_p3d : Cinder {}; + class wall_tin_4_2_p3d : Wrecks {}; + class mil_wiredfence_f_p3d : Wrecks {}; + class cages_f_p3d : Wrecks {}; + class wreck_car_f_p3d : Wrecks {}; + class pipes_small_f_p3d : Wrecks {}; + class pipe_fence_4m_f_p3d : Wrecks {}; + class spp_tower_f_p3d : Wrecks {}; + class wreck_ural_f_p3d : Wrecks {}; + class wreck_car3_f_p3d : Wrecks {}; + class ironpipes_f_p3d : Wrecks {}; + class pipes_large_f_p3d : Wrecks {}; + class coil_f_p3d : Wrecks {}; + class wreck_offroad_f_p3d : Wrecks {}; + class wreck_offroad2_f_p3d : Wrecks {}; + class crabcages_f_p3d : Wrecks {}; + class metalbarrel_empty_f_p3d : Wrecks {}; + class net_fenced_8m_f_p3d : Wrecks {}; + class net_fence_8m_f_p3d : Wrecks {}; + class wavepowerplantbroken_f_p3d : Wrecks {}; + class wreck_truck_dropside_f_p3d : Wrecks {}; + class wavepowerplant_f_p3d : Wrecks {}; + class wreck_traw_f_p3d : Wrecks {}; + class wreck_slammer_f_p3d : Wrecks {}; + class maroula_f_p3d : Wrecks {}; + class indfnc_9_f_p3d : Wrecks {}; + class indfnc_3_f_p3d : Wrecks {}; + class indfnc_3_d_f_p3d : Wrecks {}; + class wreck_car2_f_p3d : Wrecks {}; + class net_fence_4m_f_p3d : Wrecks {}; + class wreck_truck_f_p3d : Wrecks {}; + class wreck_hunter_f_p3d : Wrecks {}; + class wreck_slammer_hull_f_p3d : Wrecks {}; class wall_fen1_5_pole_p3d : Wrecks {}; - class wall_fen1_5_2_p3d : Wrecks {}; - class wall_fen1_5_p3d : Wrecks {}; - class wall_indfnc_3_p3d : Wrecks {}; - class wall_indfnc_9_p3d : Wrecks {}; - class wall_indfnc_corner_p3d : Wrecks {}; - class misc_concrete_high_p3d : Wrecks {}; - class plot_vlnplech2_p3d : Wrecks {}; - class misc_g_pipes_p3d : Wrecks {}; - class wall_tincom_9_p3d : Wrecks {}; - class wall_tin_4_p3d : Wrecks {}; - class plot_vlnplech1_p3d : Wrecks {}; - class wall_tincom_9_2_p3d : Wrecks {}; - class wall_tincom_3_p3d : Wrecks {}; - class wall_tincom_pole_p3d : Wrecks {}; - class datsun01t_p3d : Wrecks {}; - class datsun02t_p3d : Wrecks {}; - class skodovka_wrecked_p3d : Wrecks {}; - class lada_wrecked_p3d : Wrecks {}; - class hiluxt_p3d : Wrecks {}; - class uaz_wrecked_p3d : Wrecks {}; - class ural_wrecked_p3d : Wrecks {}; - class rubble_metal_plates_04_p3d : Wrecks {}; - class rubble_metal_plates_02_p3d : Wrecks {}; - class rubble_metal_plates_01_p3d : Wrecks {}; - class wreck_brdm2_f_p3d : Wrecks {}; - class wreck_bmp2_f_p3d : Wrecks {}; - class wreck_heli_attack_01_f_p3d : Wrecks {}; - class bmp_break_p3d : Wrecks {}; - class wreck_t72_hull_f_p3d : Wrecks {}; - class wreck_t72_turret_f_p3d : Wrecks {}; - class wreck_hmmwv_f_p3d : Wrecks {}; - class kamaz_bort_p3d : Wrecks {}; - class wreck_van_f_p3d : Wrecks {}; - class kamaz_awtobas_p3d : Wrecks {}; - class maz_p3d : Wrecks {}; - class wreck_skodovka_f_p3d : Wrecks {}; - class wreck_cardismantled_f_p3d : Wrecks {}; - class kamaz_pozarka_p3d : Wrecks {}; - class zaporosez_p3d : Wrecks {}; - class kamaz_tent_p3d : Wrecks {}; + class wall_fen1_5_2_p3d : Wrecks {}; + class wall_fen1_5_p3d : Wrecks {}; + class wall_indfnc_3_p3d : Wrecks {}; + class wall_indfnc_9_p3d : Wrecks {}; + class wall_indfnc_corner_p3d : Wrecks {}; + class misc_concrete_high_p3d : Wrecks {}; + class plot_vlnplech2_p3d : Wrecks {}; + class misc_g_pipes_p3d : Wrecks {}; + class wall_tincom_9_p3d : Wrecks {}; + class wall_tin_4_p3d : Wrecks {}; + class plot_vlnplech1_p3d : Wrecks {}; + class wall_tincom_9_2_p3d : Wrecks {}; + class wall_tincom_3_p3d : Wrecks {}; + class wall_tincom_pole_p3d : Wrecks {}; + class datsun01t_p3d : Wrecks {}; + class datsun02t_p3d : Wrecks {}; + class skodovka_wrecked_p3d : Wrecks {}; + class lada_wrecked_p3d : Wrecks {}; + class hiluxt_p3d : Wrecks {}; + class uaz_wrecked_p3d : Wrecks {}; + class ural_wrecked_p3d : Wrecks {}; + class rubble_metal_plates_04_p3d : Wrecks {}; + class rubble_metal_plates_02_p3d : Wrecks {}; + class rubble_metal_plates_01_p3d : Wrecks {}; + class wreck_brdm2_f_p3d : Wrecks {}; + class wreck_bmp2_f_p3d : Wrecks {}; + class wreck_heli_attack_01_f_p3d : Wrecks {}; + class bmp_break_p3d : Wrecks {}; + class wreck_t72_hull_f_p3d : Wrecks {}; + class wreck_t72_turret_f_p3d : Wrecks {}; + class wreck_hmmwv_f_p3d : Wrecks {}; + class kamaz_bort_p3d : Wrecks {}; + class wreck_van_f_p3d : Wrecks {}; + class kamaz_awtobas_p3d : Wrecks {}; + class maz_p3d : Wrecks {}; + class wreck_skodovka_f_p3d : Wrecks {}; + class wreck_cardismantled_f_p3d : Wrecks {}; + class kamaz_pozarka_p3d : Wrecks {}; + class zaporosez_p3d : Wrecks {}; + class kamaz_tent_p3d : Wrecks {}; class budova5_p3d : Wrecks {}; class pletivo_dira_p3d : Wrecks {}; class pletivo_p3d : Wrecks {}; @@ -546,5 +614,33 @@ class CfgWorldInteractions { class wall_indfnc_3_d_p3d : Wrecks {}; class t72_wrecked_p3d : Wrecks {}; class t72_wrecked_turret_p3d : Wrecks {}; + class parkingmeter_01_f_p3d : Wrecks {}; + class pipefence_01_m_d_f_p3d : Wrecks {}; + class pipefence_01_m_8m_f_p3d : Wrecks {}; + class pipefence_01_m_gate_v2_f_p3d : Wrecks {}; + class fuelstation_02_prices_f_p3d : Wrecks {}; + class tinwall_01_m_4m_v2_f_p3d : Wrecks {}; + class pipefence_01_m_pole_f_p3d : Wrecks {}; + class wiredfence_01_16m_f_p3d : Wrecks {}; + class wiredfence_01_8m_d_f_p3d : Wrecks {}; + class wiredfence_01_8m_f_p3d : Wrecks {}; + class netfence_01_m_8m_f_p3d : Wrecks {}; + class netfence_01_m_d_f_p3d : Wrecks {}; + class netfence_01_m_4m_f_p3d : Wrecks {}; + class tinwall_02_l_4m_f_p3d : Wrecks {}; + class tinwall_02_l_8m_f_p3d : Wrecks {}; + class bulldozer_01_wreck_f_p3d : Wrecks {}; + class excavator_01_wreck_f_p3d : Wrecks {}; + class railwaycar_01_tank_f_p3d : Wrecks {}; + class railwaycar_01_passenger_f_p3d : Wrecks {}; + class locomotive_01_v3_f_p3d : Wrecks {}; + class bulldozer_01_abandoned_f_p3d : Wrecks {}; + class locomotive_01_v1_f_p3d : Wrecks {}; + class locomotive_01_v2_f_p3d : Wrecks {}; + class excavator_01_abandoned_f_p3d : Wrecks {}; + + + + }; diff --git a/Sources/epoch_config/Configs/CfgRemoteExec.hpp b/Sources/epoch_config/Configs/CfgRemoteExec.hpp index 4439e1d2..846385bc 100644 --- a/Sources/epoch_config/Configs/CfgRemoteExec.hpp +++ b/Sources/epoch_config/Configs/CfgRemoteExec.hpp @@ -225,7 +225,11 @@ class CfgRemoteExec allowedTargets=2; jip = 0; }; - class EPOCH_server_createmarker { + class EPOCH_server_makeMarker { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_removeMarker { allowedTargets=2; jip = 0; }; diff --git a/Sources/epoch_config/build.hpp b/Sources/epoch_config/build.hpp index 44cd4c75..6cf04b9c 100644 --- a/Sources/epoch_config/build.hpp +++ b/Sources/epoch_config/build.hpp @@ -1 +1 @@ -build=527; +build=530; diff --git a/Sources/epoch_server/build.hpp b/Sources/epoch_server/build.hpp index 40724ea7..6cf04b9c 100644 --- a/Sources/epoch_server/build.hpp +++ b/Sources/epoch_server/build.hpp @@ -1 +1 @@ -build=528; +build=530; diff --git a/Sources/epoch_server/compile/epoch_server/EPOCH_server_createMarker.sqf b/Sources/epoch_server/compile/epoch_server/EPOCH_server_makeMarker.sqf similarity index 84% rename from Sources/epoch_server/compile/epoch_server/EPOCH_server_createMarker.sqf rename to Sources/epoch_server/compile/epoch_server/EPOCH_server_makeMarker.sqf index 1803ebdb..82db4519 100644 --- a/Sources/epoch_server/compile/epoch_server/EPOCH_server_createMarker.sqf +++ b/Sources/epoch_server/compile/epoch_server/EPOCH_server_makeMarker.sqf @@ -6,18 +6,15 @@ Description: Create map marker for everyone, group or individual. - ToDo: - Create delete marker(s) remoteexec function - Parameter(s): - _this select 0: ARRAY - [Target Type 0-Player 1-Group Members 2-Multiple players 3-All players, Object(s) - Player, Group, Array of Players or markerName for option 3] + _this select 0: ARRAY - [Target Type 0-Player 1-Group Members 2-All players 3-Multiple custom players, Object(s) - Player, Group, Array of Players or markerName for option 3] _this select 1-9: STRING(S) - Marker parameters. 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_server/EPOCH_server_createMarker.sqf + https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server/compile/epoch_server/EPOCH_server_createMarker.sqf */ params ["_trgt","_mPos",["_mShape","ICON"],["_mType","mil_dot"],["_mText",""],["_mColor","ColorBlack"],["_mSize",[0.7,0.7]],"_mBrush","_mDir","_mAlpha",["_mrkrName",""]]; private ["_trgtType","_trgtObj"]; @@ -42,17 +39,8 @@ switch _trgtType do { }foreach (units group _trgtObj); }; }; - + case 2: { - if(isArray _trgtObj && count _trgtObj > 0)then{ - { - [_x,_mPos,_mShape,_mType,_mColor,_mSize,_mBrush,_mDir,_mText,_mAlpha,_mrkrName] remoteExec ['EPOCH_fnc_createMarker',_x]; - }foreach _trgtObj; - }; - }; - - case 3: { - if(count playableUnits > 0)then{//TODO: Test JIP, if so remove check for players, maybe. if(_trgtObj == "")then{_trgtObj=diag_tickTime;}; _mrkr = createMarker [_mrkrName, _mPos]; _mrkr setMarkerShape _mShape; @@ -63,7 +51,16 @@ switch _trgtType do { if!(isNil "_mBrush")then{_mrkr setMarkerBrush _mBrush;}; if!(isNil "_mDir")then{_mrkr setMarkerDir _mDir;}; if!(isNil "_mAlpha")then{_mrkr setMarkerAlpha _mAlpha;}; + }; + + case 3: { + if(isArray _trgtObj && count _trgtObj > 0)then{ + { + [_x,_mPos,_mShape,_mType,_mColor,_mSize,_mBrush,_mDir,_mText,_mAlpha,_mrkrName] remoteExec ['EPOCH_fnc_createMarker',_x]; + }foreach _trgtObj; }; }; + + default {diag_log format["Epoch: ADMIN: Marker failed at %1 called by %2.", _mPos, _trgt];}; }; diff --git a/Sources/epoch_server/compile/epoch_server/EPOCH_server_removeMarker.sqf b/Sources/epoch_server/compile/epoch_server/EPOCH_server_removeMarker.sqf new file mode 100644 index 00000000..e425a03d --- /dev/null +++ b/Sources/epoch_server/compile/epoch_server/EPOCH_server_removeMarker.sqf @@ -0,0 +1,54 @@ +/* + Author: Andrew Gregory - EpochMod.com + + Contributors: + + Description: + Delete map marker. + + Parameter(s): + _this select 0: OBJECT (Player) / ARRAY - Players. + _this select 1: INTEGER - 0 - Player Only, 1 - Player Group, 2 - Everyone, 3 - Custom Array of players. + _this select 2: STRING - Marker Name + + 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/master/Sources/epoch_server/compile/epoch_server/EPOCH_server_deleteMarker.sqf +*/ +params [["_trgtObj",[]],["_trgtType",0],["_mrkrName",""]]; +diag_log format["Epoch: ADMIN: Deleting marker %1 | %2.", _mrkrName, _trgtObj]; + + +switch _trgtType do { + + case 0: { + if(isPlayer _trgtObj)then{ + [_mrkrName] remoteExec ['EPOCH_fnc_deleteMarker',_trgtObj]; + }; + }; + + case 1: { + if!(isNull _trgtObj)then{ + { + [_mrkrName] remoteExec ['EPOCH_fnc_deleteMarker',_x]; + }foreach (units group _trgtObj); + }; + }; + + case 2: { + deleteMarker _mrkrName; + }; + + case 3: { + if(isArray _trgtObj && count _trgtObj > 0)then{ + { + [_mrkrName] remoteExec ['EPOCH_fnc_deleteMarker',_x]; + }foreach _trgtObj; + }; + }; + + + default {diag_log format["Epoch: ADMIN: Marker delete failed at %1 called by %2.", _mPos, _trgt];}; +}; diff --git a/Sources/epoch_server/config.cpp b/Sources/epoch_server/config.cpp index 21b83e25..110e2aac 100644 --- a/Sources/epoch_server/config.cpp +++ b/Sources/epoch_server/config.cpp @@ -122,7 +122,8 @@ class CfgServerFunctions class server_teleportPlayer {}; class returnConfig {}; class serverCommand {}; - class server_createMarker {}; + class server_makeMarker {}; + class server_removeMarker {}; }; class epoch_missions { class Server_createObject {}; diff --git a/Sources/epoch_server/treeView.txt b/Sources/epoch_server/treeView.txt index c884028b..9f85c3ef 100644 Binary files a/Sources/epoch_server/treeView.txt and b/Sources/epoch_server/treeView.txt differ diff --git a/Sources/epoch_server_core/build.hpp b/Sources/epoch_server_core/build.hpp index 44cd4c75..6cf04b9c 100644 --- a/Sources/epoch_server_core/build.hpp +++ b/Sources/epoch_server_core/build.hpp @@ -1 +1 @@ -build=527; +build=530; diff --git a/Sources/epoch_server_settings/build.hpp b/Sources/epoch_server_settings/build.hpp index 44cd4c75..6cf04b9c 100644 --- a/Sources/epoch_server_settings/build.hpp +++ b/Sources/epoch_server_settings/build.hpp @@ -1 +1 @@ -build=527; +build=530; diff --git a/Sources/mpmissions/epoch.Altis/treeView.txt b/Sources/mpmissions/epoch.Altis/treeView.txt index 12f95481..20610c58 100644 Binary files a/Sources/mpmissions/epoch.Altis/treeView.txt and b/Sources/mpmissions/epoch.Altis/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Australia/treeView.txt b/Sources/mpmissions/epoch.Australia/treeView.txt index 733b4641..d686e796 100644 Binary files a/Sources/mpmissions/epoch.Australia/treeView.txt and b/Sources/mpmissions/epoch.Australia/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Bootcamp_ACR/treeView.txt b/Sources/mpmissions/epoch.Bootcamp_ACR/treeView.txt index d4d02981..c81ebd13 100644 Binary files a/Sources/mpmissions/epoch.Bootcamp_ACR/treeView.txt and b/Sources/mpmissions/epoch.Bootcamp_ACR/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Bornholm/treeView.txt b/Sources/mpmissions/epoch.Bornholm/treeView.txt index 6011b39e..dc495830 100644 Binary files a/Sources/mpmissions/epoch.Bornholm/treeView.txt and b/Sources/mpmissions/epoch.Bornholm/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Chernarus/treeView.txt b/Sources/mpmissions/epoch.Chernarus/treeView.txt index 4e4f2113..28d4005e 100644 Binary files a/Sources/mpmissions/epoch.Chernarus/treeView.txt and b/Sources/mpmissions/epoch.Chernarus/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Chernarus_Summer/treeView.txt b/Sources/mpmissions/epoch.Chernarus_Summer/treeView.txt index 81d384ad..4b7bea30 100644 Binary files a/Sources/mpmissions/epoch.Chernarus_Summer/treeView.txt and b/Sources/mpmissions/epoch.Chernarus_Summer/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Desert_E/treeView.txt b/Sources/mpmissions/epoch.Desert_E/treeView.txt index f998ab1e..92b2930a 100644 Binary files a/Sources/mpmissions/epoch.Desert_E/treeView.txt and b/Sources/mpmissions/epoch.Desert_E/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Esseker/treeView.txt b/Sources/mpmissions/epoch.Esseker/treeView.txt index ee3ddb31..f327f7d3 100644 Binary files a/Sources/mpmissions/epoch.Esseker/treeView.txt and b/Sources/mpmissions/epoch.Esseker/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Mountains_ACR/treeView.txt b/Sources/mpmissions/epoch.Mountains_ACR/treeView.txt index 303fbf06..255d5953 100644 Binary files a/Sources/mpmissions/epoch.Mountains_ACR/treeView.txt and b/Sources/mpmissions/epoch.Mountains_ACR/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Napf/treeView.txt b/Sources/mpmissions/epoch.Napf/treeView.txt index 0100c67f..db54317e 100644 Binary files a/Sources/mpmissions/epoch.Napf/treeView.txt and b/Sources/mpmissions/epoch.Napf/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Porto/treeView.txt b/Sources/mpmissions/epoch.Porto/treeView.txt index 67abdb1b..6aea8c1b 100644 Binary files a/Sources/mpmissions/epoch.Porto/treeView.txt and b/Sources/mpmissions/epoch.Porto/treeView.txt differ diff --git a/Sources/mpmissions/epoch.ProvingGrounds_PMC/treeView.txt b/Sources/mpmissions/epoch.ProvingGrounds_PMC/treeView.txt index d7d9f872..c66af430 100644 Binary files a/Sources/mpmissions/epoch.ProvingGrounds_PMC/treeView.txt and b/Sources/mpmissions/epoch.ProvingGrounds_PMC/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Sara/treeView.txt b/Sources/mpmissions/epoch.Sara/treeView.txt index 450be03b..340f8519 100644 Binary files a/Sources/mpmissions/epoch.Sara/treeView.txt and b/Sources/mpmissions/epoch.Sara/treeView.txt differ diff --git a/Sources/mpmissions/epoch.SaraLite/treeView.txt b/Sources/mpmissions/epoch.SaraLite/treeView.txt index 410d1ed7..b7a35a6f 100644 Binary files a/Sources/mpmissions/epoch.SaraLite/treeView.txt and b/Sources/mpmissions/epoch.SaraLite/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Sara_dbe1/treeView.txt b/Sources/mpmissions/epoch.Sara_dbe1/treeView.txt index 0c3418f8..aff4ca53 100644 Binary files a/Sources/mpmissions/epoch.Sara_dbe1/treeView.txt and b/Sources/mpmissions/epoch.Sara_dbe1/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Shapur_BAF/treeView.txt b/Sources/mpmissions/epoch.Shapur_BAF/treeView.txt index f6d09d35..0ed90306 100644 Binary files a/Sources/mpmissions/epoch.Shapur_BAF/treeView.txt and b/Sources/mpmissions/epoch.Shapur_BAF/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Stratis/treeView.txt b/Sources/mpmissions/epoch.Stratis/treeView.txt index 4e8ac2f8..3148c6d2 100644 Binary files a/Sources/mpmissions/epoch.Stratis/treeView.txt and b/Sources/mpmissions/epoch.Stratis/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Takistan/treeView.txt b/Sources/mpmissions/epoch.Takistan/treeView.txt index 9c7e0999..2be9ebe8 100644 Binary files a/Sources/mpmissions/epoch.Takistan/treeView.txt and b/Sources/mpmissions/epoch.Takistan/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Tanoa/treeView.txt b/Sources/mpmissions/epoch.Tanoa/treeView.txt index de9054f6..52788f52 100644 Binary files a/Sources/mpmissions/epoch.Tanoa/treeView.txt and b/Sources/mpmissions/epoch.Tanoa/treeView.txt differ diff --git a/Sources/mpmissions/epoch.VR/treeView.txt b/Sources/mpmissions/epoch.VR/treeView.txt index a23de702..85fdfe3a 100644 Binary files a/Sources/mpmissions/epoch.VR/treeView.txt and b/Sources/mpmissions/epoch.VR/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Woodland_ACR/treeView.txt b/Sources/mpmissions/epoch.Woodland_ACR/treeView.txt index 2dfc1748..fca30a37 100644 Binary files a/Sources/mpmissions/epoch.Woodland_ACR/treeView.txt and b/Sources/mpmissions/epoch.Woodland_ACR/treeView.txt differ diff --git a/Sources/mpmissions/epoch.Zargabad/treeView.txt b/Sources/mpmissions/epoch.Zargabad/treeView.txt index d28cd8da..aa7c5028 100644 Binary files a/Sources/mpmissions/epoch.Zargabad/treeView.txt and b/Sources/mpmissions/epoch.Zargabad/treeView.txt differ diff --git a/Sources/mpmissions/epoch.utes/treeView.txt b/Sources/mpmissions/epoch.utes/treeView.txt index 513d8a39..05c668f2 100644 Binary files a/Sources/mpmissions/epoch.utes/treeView.txt and b/Sources/mpmissions/epoch.utes/treeView.txt differ diff --git a/Tools/SQF/getTreesAndTrash.sqf b/Tools/SQF/getTreesAndTrash.sqf index dd47ee45..8f70e8b0 100644 --- a/Tools/SQF/getTreesAndTrash.sqf +++ b/Tools/SQF/getTreesAndTrash.sqf @@ -11,32 +11,73 @@ space selects target delete remove target from data set ctrl+c fills clipboard with config data + EP_IMPORT = [["watertank_01_f_p3d","watertank_02_f_p3d","barrelwater_f_p3d","water_source_f_p3d","waterbarrel_f_p3d","canisterplastic_f_p3d","watertank_f_p3d","misc_well_p3d","misc_wellpump_p3d","kasna_new_p3d","rasman_pond_p3d","pumpa_p3d","misc_well_c_ep1_p3d","misc_well_l_ep1_p3d","stand_water_ep1_p3d","misc_concbox_ep1_p3d","Land_water_tank","Land_Pumpa","watertank_04_f_p3d","watertank_03_f_p3d"],["atm_01_f_p3d","phonebooth_01_f_p3d","atm_02_f_p3d","phonebooth_02_f_p3d","nastenka_p3d","nastenka2_p3d","nastenka3_p3d","phone_box_south_p3d","mailboxsouth_p3d","Land_PhoneBooth_02_F","Land_PhoneBooth_01_F","Land_Atm_01_F","Land_Atm_02_F","Land_Laptop_device_F"],["cliff_stone_big_lc_f_p3d","sharpstone_03_lc_p3d","sharpstone_02_lc_p3d","sharpstone_01_lc_p3d","sharpstone_02_p3d","sharpstone_03_p3d","sharprock_monolith_p3d","sharprock_apart_p3d","sharpstones_erosion_p3d","bluntstone_01_lc_p3d","bluntstone_02_lc_p3d","bluntstone_03_lc_p3d","bluntstones_erosion_p3d","bluntstone_01_p3d","bluntstone_03_p3d","sharprock_spike_p3d","sharprock_wallh_p3d","w_sharpstone_03_p3d","w_sharpstone_02_p3d","w_sharpstone_01_p3d","bluntrock_apart_p3d","bluntstone_02_p3d","bluntrock_monolith_p3d","bluntrock_wallh_p3d","sharprock_wallv_p3d","stonesharp_medium_p3d","stone_medium_f_p3d","stonesharp_big_p3d","stonesharp_small_p3d","small_stone_02_f_p3d","stone_small_f_p3d","stone_big_f_p3d","bluntrock_spike_p3d","r2_boulder1_p3d","r2_boulder2_p3d","r2_rock1_p3d","r2_rocktower_p3d","r2_rockwall_p3d","r_rock_02_ep1_p3d","brownrock2_p3d","brownrock3_p3d","desertrock_p3d","desertrock2_p3d","desertrock3_p3d","r_stone_01_ep1_p3d","brownrock_p3d","rockn_02_p3d","sharpstone_01_p3d","r_rock_03_ep1_p3d","rocks_02_p3d","skala3_5_p3d","skala3_4_p3d","skala1_4_p3d","bo_r2_boulder1_p3d","bo_r2_boulder2_p3d","bo_r2_rock1_p3d","bo_r2_rocktower_p3d","bo_r2_rockwall_p3d","w_sharpstones_erosion_p3d","decal_rock_dark_p3d","r_stone_01_pmc_p3d","r_stone_02_pmc_p3d","stone4_p3d","stone3_p3d","stone4_invert_p3d","rocks_01_p3d","stone4a_p3d","stone3a_p3d","rockn_01_p3d","r_tk_stone_01_ep1_p3d","r_tk_stone_02_ep1_p3d","r_tk_rock_03_ep1_p3d","r_tk_boulder_03_ep1_p3d","r_tk_rock_02_ep1_p3d","r_tk_boulder_01_ep1_p3d","r_tk_boulder_02_ep1_p3d","r_tk_rock_01_ep1_p3d","cliff_wall_long_f_p3d","cliff_stone_medium_lc_f_p3d","cliff_stone_small_lc_f_p3d","cliff_boulder_f_p3d","cliff_peak_f_p3d","cliff_wall_round_f_p3d","cliff_stonecluster_f_p3d","cliff_wall_tall_f_p3d","lavaboulder_03_f_p3d","lavastone_small_lc_f_p3d","lavaboulder_02_f_p3d","lavaboulder_01_f_p3d","lavastone_big_lc_f_p3d","lavastonecluster_large_f_p3d","lavaboulder_04_f_p3d","lavastonecluster_small_f_p3d","cliff_stone_medium_f_p3d"],["p_fiberplant_ep1_p3d"],["p_pumpkin_summer_p3d","pumpkin_p3d"],["woodencrate_01_stack_x3_f_p3d","garbageheap_03_f_p3d","garbageheap_04_f_p3d","garbageheap_02_f_p3d","garbagecontainer_closed_f_p3d","sack_f_p3d","garbagebags_f_p3d","pallets_f_p3d","junkpile_f_p3d","garbagepallet_f_p3d","garbagewashingmachine_f_p3d","basket_f_p3d","sacks_goods_f_p3d","crateswooden_f_p3d","cratesplastic_f_p3d","garbagebin_01_f_p3d","barrelsand_f_p3d","cratesshabby_f_p3d","bucket_f_p3d","garbagebarrel_01_f_p3d","tyres_f_p3d","cargobox_v1_f_p3d","metalbarrel_f_p3d","sacks_heap_f_p3d","woodenbox_f_p3d","grave_v1_f_p3d","grave_v2_f_p3d","calvary_02_v2_f_p3d","fishinggear_02_f_p3d","fishinggear_01_f_p3d","humanskull_f_p3d","calvary_02_v1_f_p3d","rack_f_p3d","wreck_uaz_f_p3d","humanskeleton_f_p3d","shelvesmetal_f_p3d","popelnice_p3d","garbage_misc_p3d","paletyc_p3d","junkpile_p3d","kontejner_p3d","misc_chickencoop_p3d","misc_boogieman_p3d","misc_hutch_p3d","garbage_paleta_p3d","misc_cargo1a_p3d","misc_cargo2a_p3d","misc_greenhouse_p3d","zastavka_stojan_p3d","podesta_s10_p3d","kontejner_sklo_p3d","paletyd_p3d","popelnice_2_p3d","garbage_plastic_p3d","garbage_metal_p3d","jeept_tanker_p3d","kontejner_plasty_p3d","odpadkovy_kos_p3d","socha_p3d","kontejner_papir_p3d","metalcrate_p3d","hrob2_p3d","barel5_p3d","barel4_p3d","tires_ep1_p3d","barel2_p3d","barels_p3d","barel1_p3d","barels2_p3d","barels3_p3d","bricks_v2_f_p3d","Land_GarbagePallet_F","Land_GarbageBags_F","garb_misc_pmc_p3d","garb_paleta_pmc_p3d","garb_heap_pmc_p3d","drevena_bedna_p3d","barel3_p3d","dum_olez_istan1_p3d","misc_rubble_ep1_p3d","bags_stack_ep1_p3d","crates_ep1_p3d","cages_ep1_p3d","crates_stack_ep1_p3d","transport_cart_ep1_p3d","stand_small_ep1_p3d","stand_meat_ep1_p3d","bags_ep1_p3d","misc_garb_heap_ep1_p3d","garbageheap_01_f_p3d","woodencrate_01_stack_x5_f_p3d","woodencrate_01_f_p3d","clothesline_01_short_f_p3d","boat_01_abandoned_red_f_p3d","grave_01_f_p3d","grave_03_f_p3d"],["garbagebin_02_f_p3d","misc_postbox_p3d"],["t_cocosnucifera3s_tall_f_p3d","t_leucaena_f_p3d","t_ficus_medium_f_p3d","t_cyathea_f_p3d","t_ficus_small_f_p3d","t_ficusb1s_f_p3d","t_oleae1s_f_p3d","t_ficusb2s_f_p3d","t_broussonetiap1s_f_p3d","t_pinuss2s_f_p3d","t_pinuss2s_b_f_p3d","t_pinuss1s_f_p3d","t_oleae2s_f_p3d","t_fraxinusav2s_f_p3d","t_pinusp3s_f_p3d","t_poplar2f_dead_f_p3d","t_populusn3s_f_p3d","t_phoenixc1s_f_p3d","t_populus3s_p3d","t_fagus2w_p3d","t_betula2s_p3d","t_fagus2s_p3d","t_fagus2f_p3d","t_sorbus2s_p3d","t_fraxinus2w_p3d","t_salix2s_p3d","t_malus1s_p3d","t_betula1f_p3d","t_pinusn2s_p3d","t_picea2s_p3d","t_larix3s_p3d","t_picea3f_p3d","t_picea1s_p3d","misc_fallentree2_p3d","misc_stub2_p3d","t_fraxinus2s_p3d","t_quercus2f_p3d","misc_trunk_water_p3d","misc_trunk_torzo_p3d","t_alnus2s_p3d","misc_fallentree1_p3d","t_betula2f_p3d","t_pinusn1s_p3d","t_pinuss2f_p3d","t_quercus3s_p3d","t_carpinus2s_p3d","misc_fallenspruce_p3d","t_stub_picea_p3d","misc_stub1_p3d","t_acer2s_p3d","t_betula2w_p3d","t_pyrus2s_p3d","t_pinuss3s_ep1_p3d","t_pinuse2s_ep1_p3d","t_populusf2s_ep1_p3d","str_topol_p3d","les_singlestrom_b_p3d","banana_3_p3d","jablon_p3d","str_pinie_p3d","t_ficusb2s_ep1_p3d","palm_01_p3d","vysilac_budova_p3d","palm_10_p3d","palm_03_p3d","palm_04_p3d","t_pistacial2s_ep1_p3d","panelak_p3d","str_kastan_p3d","a_hospital_p3d","i_barracks_v1_f_p3d","dum_istan3_hromada_p3d","dum_istan3_hromada2_p3d","dum_istan4_big_inverse_p3d","panelak2_p3d","podesta_1_mid_p3d","podesta_1_cornl_p3d","t_prunuss2s_ep1_p3d","dum_istan2_02_p3d","dum_istan4_inverse_p3d","podesta_1_stairs2_p3d","podesta_1_mid_cornl_p3d","hrusen2_p3d","zed_kamenna_p3d","str_dub_p3d","str_dub_jiny_p3d","smrk_siroky_p3d","smrk_maly_p3d","les_singlestrom_p3d","palm_02_p3d","brg_banana_3_p3d","banana_2_p3d","oliva_p3d","brg_umbrella_acacia02b_p3d","brg_umbrella_acacia01b_p3d","brg_umbrella_acacia04b_p3d","brg_umbrella_acacia03b_p3d","str_buk_p3d","les_dub_p3d","b_pinusm1s_ep1_p3d","krovi_long_p3d","str_lipa_p3d","str_javor_p3d","str_trnka_p3d","t_poplar2f_dead_pmc_p3d","t_quercusir2s_f_p3d","dd_bush01_p3d","t_fagus2f_summer_p3d","akat02s_p3d","t_amygdalusc2s_ep1_p3d","str_osika_p3d","palm_09_p3d","dd_borovice_p3d","dd_borovice02_p3d","str_topol2_p3d","brg_umbrella_acacia_shrub02_p3d","t_populusb2s_ep1_p3d","les_dub_jiny_p3d","les_buk_p3d","str_fikovnik_p3d","str_briza_rovna_p3d","str_jerabina_p3d","str_habr_p3d","les_fikovnik2_p3d","bo_t_populus3s_p3d","bo_t_fagus2w_p3d","bo_t_betula2s_p3d","bo_t_fagus2s_p3d","bo_t_fagus2f_p3d","bo_t_sorbus2s_p3d","bo_t_fraxinus2w_p3d","bo_t_salix2s_p3d","bo_t_malus1s_p3d","bo_t_betula1f_p3d","bo_t_pinusn2s_p3d","bo_t_picea2s_p3d","bo_t_larix3s_p3d","bo_t_picea3f_p3d","bo_t_picea1s_p3d","bo_misc_fallentree2_p3d","bo_misc_stub2_p3d","bo_t_fraxinus2s_p3d","bo_t_quercus2f_p3d","bo_misc_trunk_water_p3d","bo_misc_trunk_torzo_p3d","bo_t_alnus2s_p3d","bo_misc_fallentree1_p3d","bo_t_betula2f_p3d","bo_t_pinusn1s_p3d","bo_t_pinuss2f_p3d","bo_t_quercus3s_p3d","bo_t_carpinus2s_p3d","bo_t_stub_picea_p3d","bo_t_acer2s_p3d","bo_t_betula2w_p3d","bo_t_pyrus2s_p3d","bo_b_corylus_p3d","t_fagus2s_summer_p3d","t_betula2s_summer_p3d","cwr2_a2_t_sorbus2s_p3d","cwr2_a2_t_fagus2w_p3d","cwr2_a2_t_alnus2s_p3d","mb_t_ulmus_large_p3d","cwr_aleppopine_p3d","cwr2_a2_t_quercus3s_p3d","cwr2_a2_t_fraxinus2s_p3d","misc_torzotree_pmc_p3d","misc_brokenspruce_pmc_p3d","misc_stubleafs_pmc_p3d","str_fikovnik2_p3d","str_fikovnik_ker_p3d","str_briza_kriva_p3d","smrk_velky_p3d","str_briza_p3d","misc_trunk_torzo_ep1_p3d","t_juniperusc2s_ep1_p3d","misc_trunk_water_ep1_p3d","woodenplanks_01_f_p3d","t_cocosnucifera2s_small_f_p3d","t_millettia_f_p3d","t_inocarpus_f_p3d","t_cocosnucifera3s_bend_f_p3d","t_agathis_wide_f_p3d","timberpile_01_f_p3d","d_treestump_cut_small_f_p3d","d_treestump_natural_small_f_p3d","d_treestump_natural_large_f_p3d","t_albizia_f_p3d","t_agathis_tall_f_p3d","t_palaquium_f_p3d","t_ficus_big_f_p3d"],["b_colored_red_f_p3d","b_colored_yellow_f_p3d","b_cestrum_f_p3d","b_calochlaena_f_p3d","b_gardenia_f_p3d","b_gardenia_dec_01_f_p3d","b_gardenia_dec_02_f_p3d","b_leucaena_f_p3d","b_ficusc2d_f_p3d","b_ficusc1s_f_p3d","b_neriumo2d_f_p3d","b_arundod2s_f_p3d","b_arundod3s_f_p3d","b_ficusc2s_f_p3d","b_craet1_p3d","b_craet2_p3d","b_corylus_p3d","b_corylus2s_p3d","b_betulahumilis_p3d","b_sambucus_p3d","b_salix2s_p3d","b_canina2s_p3d","b_pmugo_p3d","b_prunus_p3d","krovi_bigest_p3d","krovi4_p3d","krovi_p3d","ker_s_bobulema_p3d","ker_pichlavej_p3d","pinus_mugo_lowpoly_p3d","b_amygdalusn1s_ep1_p3d","banana_4_p3d","banana_1_p3d","palm_08small_p3d","ker_deravej_p3d","brg_umbrella_acacia_shrub2_p3d","krovi2_p3d","brg_banana_4_p3d","bo_b_craet1_p3d","bo_b_craet2_p3d","bo_b_corylus2s_p3d","bo_b_betulahumilis_p3d","bo_b_sambucus_p3d","salix2s_p3d","bo_b_canina2s_p3d","bo_b_pmugo_p3d","bo_b_prunus_p3d","b_corylus2s_summer_p3d","b_craet1_summer_p3d","b_betula2w_summer_p3d","b_canina2s_summer_p3d","cwr2_a2_b_canina2s_p3d","cwr2_a2_b_craet1_p3d","str_krovisko_vysoke_p3d","cwr2_a2_b_prunus_p3d","b_neriumo2s_f_p3d","b_neriumo2s_white_f_p3d","cwr2_a2_b_sambucus_p3d","b_hip2s_pmc_p3d","b_elderberry2s_pmc_p3d","ker_buxus_p3d","str_liskac_p3d","dd_bush02_p3d","b_pistacial1s_ep1_p3d","t_pritchardia_f_p3d","b_pipermeth_f_p3d","t_banana_f_p3d","t_banana_slim_f_p3d","t_banana_wild_f_p3d"],["cinderblocks_f_p3d","cinderblocks_01_f_p3d"],["parkingmeter_01_f_p3d","wall_tin_4_2_p3d","mil_wiredfence_f_p3d","cages_f_p3d","wreck_car_f_p3d","pipes_small_f_p3d","pipe_fence_4m_f_p3d","spp_tower_f_p3d","wreck_ural_f_p3d","wreck_car3_f_p3d","ironpipes_f_p3d","pipes_large_f_p3d","coil_f_p3d","wreck_offroad_f_p3d","wreck_offroad2_f_p3d","crabcages_f_p3d","metalbarrel_empty_f_p3d","net_fenced_8m_f_p3d","net_fence_8m_f_p3d","wavepowerplantbroken_f_p3d","wreck_truck_dropside_f_p3d","wavepowerplant_f_p3d","wreck_traw_f_p3d","wreck_slammer_f_p3d","maroula_f_p3d","indfnc_9_f_p3d","indfnc_3_f_p3d","indfnc_3_d_f_p3d","wreck_car2_f_p3d","net_fence_4m_f_p3d","wreck_truck_f_p3d","wreck_hunter_f_p3d","wreck_slammer_hull_f_p3d","wall_fen1_5_pole_p3d","wall_fen1_5_2_p3d","wall_fen1_5_p3d","wall_indfnc_3_p3d","wall_indfnc_9_p3d","wall_indfnc_corner_p3d","misc_concrete_high_p3d","plot_vlnplech2_p3d","misc_g_pipes_p3d","wall_tincom_9_p3d","wall_tin_4_p3d","plot_vlnplech1_p3d","wall_tincom_9_2_p3d","wall_tincom_3_p3d","wall_tincom_pole_p3d","datsun01t_p3d","datsun02t_p3d","skodovka_wrecked_p3d","lada_wrecked_p3d","hiluxt_p3d","uaz_wrecked_p3d","ural_wrecked_p3d","rubble_metal_plates_04_p3d","rubble_metal_plates_02_p3d","rubble_metal_plates_01_p3d","wreck_brdm2_f_p3d","wreck_bmp2_f_p3d","wreck_heli_attack_01_f_p3d","bmp_break_p3d","wreck_t72_hull_f_p3d","wreck_t72_turret_f_p3d","wreck_hmmwv_f_p3d","kamaz_bort_p3d","wreck_van_f_p3d","kamaz_awtobas_p3d","maz_p3d","wreck_skodovka_f_p3d","wreck_cardismantled_f_p3d","kamaz_pozarka_p3d","zaporosez_p3d","kamaz_tent_p3d","budova5_p3d","pletivo_dira_p3d","pletivo_p3d","wall_indfnc_pole_p3d","wall_indfnc_3_d_p3d","t72_wrecked_p3d","t72_wrecked_turret_p3d","pipefence_01_m_d_f_p3d","pipefence_01_m_8m_f_p3d","pipefence_01_m_gate_v2_f_p3d","fuelstation_02_prices_f_p3d","tinwall_01_m_4m_v2_f_p3d","pipefence_01_m_pole_f_p3d","wiredfence_01_16m_f_p3d","wiredfence_01_8m_d_f_p3d","wiredfence_01_8m_f_p3d","netfence_01_m_8m_f_p3d","netfence_01_m_d_f_p3d","netfence_01_m_4m_f_p3d","tinwall_02_l_4m_f_p3d","scf_01_warehouse_f_p3d","tinwall_02_l_8m_f_p3d","bulldozer_01_wreck_f_p3d","excavator_01_wreck_f_p3d"]]; + +{ + _tempVars = missionNamespace getVariable [_x,[]]; + { + _tempVars pushBackUnique _x; + } forEach (EP_IMPORT select _forEachIndex); + missionNamespace setVariable [_x,_tempVars]; +} forEach EP_modes; + */ + + player allowDamage false; player enableFatigue false; +EPOCH_colorRange = { +private ["_ratio","_b","_r","_g"]; +params ["_minimum", "_maximum", "_value", "_alpha"]; +_ratio = 2 * (_value-_minimum) / (_maximum - _minimum); +_b = 0 max (255*(1 - _ratio)); +_r = 0 max (255*(_ratio - 1)); +_g = (255 - _b - _r); +_return = [_r, _g, _b] apply {linearConversion [0, 255, _x, 0, 1, true]}; +_return pushBack _alpha; +_return +}; + Epoch_selectedIndex = 0; -EP_modes = ["Rocks","ATM","Water","Trash","Trees","Bushes","Wrecks"]; +EP_modes = ["Water","bankTerminal","Rocks","HempFiber","PumpkinPatch","Trash","TrashSmall","Trees","Bushes","Cinder","Wrecks"]; EP_selectedMode = EP_modes select Epoch_selectedIndex; -EP_modeColors = [[0,0,0,1],[0,0.5,0.9,1],[0,0,1,1],[1,0,0,1],[0,1,0,1],[0.5,0.5,0,1],[1,0.5,0.5,1],[1,1,1,1]]; +EP_modeColors = []; +_value = 0; +{ + EP_modeColors pushBack ([0,100,_value,1] call EPOCH_colorRange); + _value = _value + (100/(count EP_modes)); +} forEach EP_modes; + EP_modesCount = (count EP_modes)-1; +EP_replaceChar = { + params ["_STRING","_needle","_replace"]; + _STRING splitString _needle joinString _replace +}; + EPOCH_dbg_saveMapConfig = { _br = toString [13,10]; - _config_str = "class " + worldName + " {" + _br; + _config_str = ""; _array = []; { - _config_str = _config_str + format[' %1[] = {%2',_x,_br]; - _printData = missionNamespace getVariable [_x,[]]; + _modeClass = _x; + _printData = missionNamespace getVariable [_modeClass,[]]; + _configWorldInteractions = ((getMissionConfig "CfgEpochClient") >> "CfgWorldInteractions"); + { + _printData pushBackUnique (configName _x); + } forEach ("configName(inheritsFrom _x) == _modeClass" configClasses (_configWorldInteractions)); + + missionNamespace setVariable [_modeClass,_printData]; + _countArray = (count _printData) - 1; { - _config_str = _config_str + format[' "%1"%2', _x, if (_forEachIndex isEqualTo _countArray) then {_br} else {("," + _br)}]; + _p3dName = [[_x,".","_"] call EP_replaceChar," ","_"] call EP_replaceChar; + _config_str = _config_str + format[' class %1 : %3 {}; %2', _p3dName, _br, _modeClass]; } forEach _printData; - _config_str = _config_str + " };" + _br; } forEach EP_modes; - _config_str = _config_str + "};" + _br; _config_str }; @@ -77,20 +118,17 @@ EPOCH_KeyDownCustom = { case 0xD3: { _handled = true; - - _currentPos = screenToWorld [0.5,0.5]; - - if !(surfaceIsWater _currentPos) then { - _currentPos = ATLtoASL _currentPos; - }; - EP_objects = lineIntersectsObjs[eyePos player, _currentPos, player, objNull, true, 2]; - + EP_objects = []; + _intersect_objects = lineIntersectsSurfaces [AGLToASL positionCameraToWorld [0,0,0], AGLToASL positionCameraToWorld [0,0,1000], player, objNull, true, 1]; + {EP_objects pushback (_x select 2); if(true) exitWith{};} forEach _intersect_objects; + { if (typeOf _x == "") then { _objStr = str _x; _findStart = _objStr find ": "; if (_findStart != -1) then { _p3dName = _objStr select [_findStart+2,999]; + _p3dName = [[_p3dName,".","_"] call EP_replaceChar," ","_"] call EP_replaceChar; EPOCH_ALL = EPOCH_ALL - [_p3dName]; { _varDataDel = missionNamespace getVariable [_x,[]]; @@ -107,13 +145,10 @@ EPOCH_KeyDownCustom = { case 0x39 : { _handled = true; - - _currentPos = screenToWorld [0.5,0.5]; - - if !(surfaceIsWater _currentPos) then { - _currentPos = ATLtoASL _currentPos; - }; - EP_objects = lineIntersectsObjs[eyePos player, _currentPos, player, objNull, true, 2]; + + EP_objects = []; + _intersect_objects = lineIntersectsSurfaces [AGLToASL positionCameraToWorld [0,0,0], AGLToASL positionCameraToWorld [0,0,1000], player, objNull, true, 1]; + {EP_objects pushback (_x select 2); if(true) exitWith{};} forEach _intersect_objects; _varData = missionNamespace getVariable [EP_selectedMode, []]; _allData = missionNamespace getVariable ["EPOCH_ALL", []]; @@ -122,10 +157,12 @@ EPOCH_KeyDownCustom = { _findStart = _objStr find ": "; if (_findStart != -1) then { _p3dName = _objStr select [_findStart+2,999]; + _p3dName = [[_p3dName,".","_"] call EP_replaceChar," ","_"] call EP_replaceChar; if !(_p3dName in _allData) then { if !(_p3dName in _varData) then { _allData pushBack _p3dName; _varData pushBack _p3dName; + deleteMarker _p3dName; }; }; @@ -155,7 +192,8 @@ onEachFrame { _objStr = str _x; _findStart = _objStr find ": "; if (_findStart != -1) then { - _p3dName = _objStr select [_findStart+2,999]; + _p3dName = _objStr select [_findStart+2,999]; + _p3dName = [[_p3dName,".","_"] call EP_replaceChar," ","_"] call EP_replaceChar; _color = [1,1,1,1]; { if (_p3dName in (missionNamespace getVariable [_x,[]])) exitWith { @@ -167,9 +205,5 @@ onEachFrame { }; } forEach _all; _lineColor = EP_modeColors select Epoch_selectedIndex; - drawLine3D [ASLtoATL eyePos player, screenToWorld [0.5,0.5], _lineColor]; + drawLine3D [positionCameraToWorld [0,0,0], positionCameraToWorld [0,0,1000], _lineColor]; }; - - - - diff --git a/build.txt b/build.txt index 4a407b51..f03c2236 100644 --- a/build.txt +++ b/build.txt @@ -1 +1 @@ -528 +530