mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
Merge pull request #649 from EpochModTeam/experimental
Release 0.4 b639
This commit is contained in:
commit
a4bf2926f1
29
CREDITS.md
29
CREDITS.md
@ -7,25 +7,26 @@ Open source survival gamemode for Arma 3.
|
||||
Epoch Server DB extension (DLL / so)
|
||||
|
||||
### [Epoch Mod](https://github.com/EpochModTeam/EpochCore)
|
||||
Epoch Assets Mod - Custom Units, Vehicles, Weapons, Items and more!
|
||||
Epoch Assets Mod Configs - Custom Units, Vehicles, Weapons, Items and more!
|
||||
|
||||
#### Credits
|
||||
|
||||
* [Aaron Clark ([VB]AWOL)](http://epochmod.com): Code, Configs, Textures
|
||||
* [Kenneth Bente (Axle)](www.twitch.tv/axles): Tester, Models
|
||||
* [Paul Tomany (Sequisha)](https://www.twitch.tv/sequisha): Models, Textures
|
||||
* [Andrew Gregory (Axeman)](http://thefreezer.co.uk): AI Code
|
||||
* [Raimonds Virtoss (Raymix)](https://www.twitch.tv/raymich): UI Code
|
||||
* [Florian Kinder (Fank)](https://github.com/Fank): Code
|
||||
* [Denis Erygin (devd)](https://github.com/denisio): Linux Code Support
|
||||
* [Darren Harrison (Kiory)](https://www.twitch.tv/kiory123): Models, Textures, Configs
|
||||
* [Paden Sturtevant (SteamPunkGears)](https://www.twitch.tv/steampunkgears): Models, Textures
|
||||
* [Niklas Wagner (Skaronator)](https://skaronator.com): Code
|
||||
* Damian Clark ([VB]GREEN): Graphics
|
||||
#### Developers
|
||||
* [Aaron Clark ([VB]AWOL)](http://epochmod.com): Concept, Code, Configs, Textures - [x] Active
|
||||
* [Kenneth Bente (Axle)](www.twitch.tv/axles): Tester, Models - [ ] Active
|
||||
* [Paul Tomany (Sequisha)](https://www.twitch.tv/sequisha): Models, Textures - [ ] Active
|
||||
* [Andrew Gregory (Axeman)](http://thefreezer.co.uk): AI Code - [x] Active
|
||||
* [Raimonds Virtoss (Raymix)](https://www.twitch.tv/raymich): UI Code - [x] Active
|
||||
* [Florian Kinder (Fank)](https://github.com/Fank): Code - [ ] Active
|
||||
* [Denis Erygin (devd)](https://github.com/denisio): Linux Code Support - [ ] Active
|
||||
* [Darren Harrison (Kiory)](https://www.twitch.tv/kiory123): Models, Textures, Configs - [ ] Active
|
||||
* [Paden Sturtevant (SteamPunkGears)](https://www.twitch.tv/steampunkgears): Models, Textures - [ ] Active
|
||||
* [Niklas Wagner (Skaronator)](https://skaronator.com): Code - [ ] Active
|
||||
* [Damian Clark ([VB]GREEN)](http://epochmod.com): Graphics - [ ] Active
|
||||
|
||||
#### Contributors
|
||||
|
||||
* [Dan (OrangeSherbet)](https://www.twitch.tv/OrangeSherbet): Tester, Videos, Wiki Editor
|
||||
* [HeMan](https://github.com/Ignatz-HeMan)
|
||||
* [Robio](https://github.com/RC-Robio)
|
||||
* [Poulmba](https://www.youtube.com/user/poulmba): Wiki Editor, Tester
|
||||
* Richie: Map Support, Forum Moderator
|
||||
* [Tobias Solem](http://whatthepoch.com/): Tester
|
||||
|
28
Changelogs/0.4.0.0.txt
Normal file
28
Changelogs/0.4.0.0.txt
Normal file
@ -0,0 +1,28 @@
|
||||
[New] Dynamic and extensible inventory sub menu system for item interaction and crafting options. (Double click item in your inventory)
|
||||
[Added] Vehicle immunity when a vehicle is left locked inside a player owned base (within jammer range) at server startup. Thanks to @morgoth0 for the feedback!
|
||||
[Added] Stamina loss when a player jumps.
|
||||
[Added] Option to pour our gas to get an empty Jerry can and a "Drink" option to poison yourself.
|
||||
[Added] Option to pour out honey and get an empty jar instead of eating it.
|
||||
[Changed] Inventory Armor stats feature now dynamic and no longer forced via config.
|
||||
[Changed] Group menu and group requests options are now found options on the self-action menu. (SPACE BAR)
|
||||
[Changed] Wardrobe mirror now works in single player.
|
||||
[Changed] Jetski and Electric Motorcycle motorcycle in-vehicle HUD now functions in singleplayer or editor.
|
||||
[Changed] Updated Tanoa trade city layout and added ATM's. Thanks to @morgoth0 (aka Grahame on EpochMod.com Forum)
|
||||
[Changed] Players now start with only 30% Hunger and Thirst instead of 100%.
|
||||
[Fixed] Increased mass of "Hotwire Kit" (ItemHotwire) magazine item from 2 to 50 to address balance issues. Thanks to PR from @Ignatz-HeMan
|
||||
[Fixed] Disposal of Snakes and other animals when inside a protection zone.
|
||||
[Fixed] Shark bite attack and effect can now target all players.
|
||||
[Fixed] Female ghillie suit transparency issue since Arma update 1.62.
|
||||
[Fixed] Fireplace position incorrectly shifted down after lighting the fireplace. Thanks for the report by @Ignatz-HeMan #592
|
||||
[Fixed] Increased anti-teleport range that should hopefully allow for proper HALO spawning.
|
||||
[Fixed] Typos in Battleye script.txt that caused the filter not to function properly.
|
||||
[Fixed] Trailing commas in mission addons array. Thanks to a RP from @SPKcoding (aka $p4rky on EpochMod.com Forum)
|
||||
[Fixed] No longer possible to unlock Doors / Gates while using a UAV. Thanks to PR from @Ignatz-HeMan
|
||||
|
||||
Server Side Only:
|
||||
[New] EpochServer.dll/so is now statically linked to pcre3 and hredis. On Windows this means that the pcre3.dll file in the arma 3 root can now be removed. On Linux we no longer depend on libhredis and libpcre to be installed.
|
||||
[Added] Example mission file epoch_RyanZed.Tanoa that includes "RyanZombies" in the required addons array.
|
||||
[Fixed] Database logging now trims log entries via the LogLimit setting provided in EpochServer.ini. The default is 1000 log records per list.
|
||||
|
||||
Known Issues:
|
||||
Jetski and Electric Motorcycle motorcycle in-vehicle HUD will not initialize if player is spawned inside vehicle, as display getin EH did not fire.
|
Binary file not shown.
@ -2,6 +2,7 @@
|
||||
BattlEyePath = C:\BattlEye
|
||||
InstanceID = NA123
|
||||
LogAbuse = 1
|
||||
LogLimit = 999
|
||||
IP = 127.0.0.1
|
||||
Port = 2306
|
||||
Password = changeme
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@ -30,6 +30,15 @@ cloneCost = 100; // debt incurred on player death
|
||||
// vehicles - Max vehicle slots is calculated from per vehicle limits below. Warning! Higher the number lower the performance.
|
||||
simulationHandlerOld = false; // When enabled this feature disables simulation on vehicles that are not nea players. Can help improve client fps at the cost of server fps.
|
||||
vehicleLockTime = 1800; // Controls how many seconds it takes to allow another person/group to unlock vehicle.
|
||||
removevehweapons[] = { // remove these Weapons from spawned Vehicles
|
||||
"missiles_DAR","gatling_30mm","gatling_20mm","missiles_DAGR","cannon_30mm_Plane_CAS_02_F","Missile_AA_03_Plane_CAS_02_F","Missile_AGM_01_Plane_CAS_02_F","Rocket_03_HE_Plane_CAS_02_F",
|
||||
"Rocket_03_AP_Plane_CAS_02_F","Bomb_03_Plane_CAS_02_F","Bomb_04_Plane_CAS_01_F","Rocket_04_AP_Plane_CAS_01_F","Rocket_04_HE_Plane_CAS_01_F","Missile_AGM_02_Plane_CAS_01_F","Missile_AA_04_Plane_CAS_01_F",
|
||||
"Gatling_30mm_Plane_CAS_01_F","GBU12BombLauncher_Plane_Fighter_03_F","missiles_ASRAAM","missiles_SCALPEL","Twin_Cannon_20mm","missiles_Zephyr","rockets_skyfire","gatling_30mm_vtol_02"
|
||||
};
|
||||
removevehmagazinesturret[] = { // Remove these Magazines from the given Turret from spawned Vehicles
|
||||
{"24Rnd_missiles",{-1}},
|
||||
{"200Rnd_40mm_G_belt",{0}}
|
||||
};
|
||||
|
||||
// Traders
|
||||
taxRate = 0.1; // controls the price increase for purchases
|
||||
|
Binary file not shown.
@ -1 +0,0 @@
|
||||
libhiredis.so.0.10
|
Binary file not shown.
@ -1 +0,0 @@
|
||||
libpcre.so.3.13.1
|
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
A3 EPOCH Server Install Guide
|
||||
|
||||
Prerequisites:
|
||||
Prerequisites (Windows):
|
||||
|
||||
Visual C++ Redistributable Packages for Visual Studio 2013:
|
||||
http://www.microsoft.com/en-us/download/details.aspx?id=40784
|
||||
@ -8,19 +8,17 @@ http://www.microsoft.com/en-us/download/details.aspx?id=40784
|
||||
== INSTALL ==
|
||||
|
||||
1. Remove any previous @Epoch folders and Install A3 Epoch client files (@Epoch) into Arma3 root directory.
|
||||
2. Copy the pcre3.dll and @EpochHive folder into your Arma3 root directory.
|
||||
3. Open "DB" folder and start redis-server.exe with the parameter "redis.conf" or use start-redis.cmd. (Only one redis instance is needed per box, All servers connecting to the same redis will share character data by default.)
|
||||
4. Open @EpochHive folder and edit EpochServer.ini BattlEyePath to match your server path to Battleye.
|
||||
5. If running multiple servers on the same box, open "@EpochHive" folder and edit the "EpochServer.ini" setting "InstanceID" to a unique string for each A3 Epoch server.
|
||||
6. Open "SC" folder and rename server-example.cfg to server.cfg edit the server.cfg server name, password, etc.
|
||||
7. Open the SC/Battleye folder and rename example-BEServer.cfg to BEServer.cfg and change the RConPassword.
|
||||
2. Open "DB" folder and start redis-server.exe with the parameter "redis.conf" or use start-redis.cmd. (Only one redis instance is needed per box, All servers connecting to the same redis will share character data by default.)
|
||||
3. Open @EpochHive folder and edit EpochServer.ini BattlEyePath to match your server path to Battleye.
|
||||
4. If running multiple servers on the same box, open "@EpochHive" folder and edit the "EpochServer.ini" setting "InstanceID" to a unique string for each A3 Epoch server.
|
||||
5. Open "SC" folder and rename server-example.cfg to server.cfg edit the server.cfg server name, password, etc.
|
||||
6. Open the SC/Battleye folder and rename example-BEServer.cfg to BEServer.cfg and change the RConPassword.
|
||||
7. Look at the "start-A3-cmd-line-example.txt" file for an example command line for starting your server.
|
||||
|
||||
== NOTES ==
|
||||
|
||||
* As of 0.2.5.2 Server Hotfix Build A you only need BEC (http://ibattle.org/) with watchdog plugin (included in BEC folder) if you use do not use a PVS prefix.
|
||||
* You should use a service restarter (like firedaemon) to keep the redis server and Arma 3 server running.
|
||||
* A3 Server should be restarted every 4 hours. A good option ssing BEC http://ibattle.org/ scheduler and the #shutdown rcon command works well. (Scheduler Example: https://gist.github.com/vbawol/38b2f57d89c2c36106b3)
|
||||
* The log rotator found in tools should only need one path to Arma 3 changed and should be ran just before the Arma 3 server starts. (firedeamon Pre/post service: Before Event)
|
||||
* It is recommended that you use ASM https://github.com/fred41/ASM to monitor your server performance.
|
||||
* Go to http://epochmod.com/forum/ for more help if needed.
|
||||
* Go to http://epochmod.com/forum/ for more help if needed. GLHF!
|
||||
|
Binary file not shown.
BIN
Server_Install_Pack/keys/epoch0400.bikey
Normal file
BIN
Server_Install_Pack/keys/epoch0400.bikey
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Server_Install_Pack/mpmissions/epoch_RyanZed.Tanoa.pbo
Normal file
BIN
Server_Install_Pack/mpmissions/epoch_RyanZed.Tanoa.pbo
Normal file
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
5 "" !="(V|H)_(F|)[0-9]{1,3}_EPOCH" !="Item(Map|GPS|Compass|Watch)" !="EpochRadio[0-9]" !="(U|G|bipod|acc|muzzle|optic)_[0-9A-Z_]{1,100}" !="(NVG|Defib|Heal|Repair|Elcan(_reflex|))_EPOCH" !="(Binocular|Rangefinder|Hatchet|CrudeHatchet|WoodClub|Melee(Sledge|Maul|Rod|Sword)|ChainSaw|MultiGun|Rollins_F|Plunger)" !="(ruger_pistol|speargun|1911_pistol|akm|m14|M14Grn|m16|m16Red|m107|m107Tan|m249|m249Tan|m4a3|sr25|l85a2|l85a2_(pink|ugl))_epoch" !="SMG_(01|02)_F" !="hgun_(PDW2000|ACPC2|Rook40|P07|Pistol_heavy_0[1-2]|Pistol_Signal)_F" !="LMG_(Mk200|Zafir)_F" !="srifle_(EBR|GM6|LRR|DMR_01)_(camo_|)F" !="arifle_(Katiba|Katiba_C|Katiba_GL|SDAR|TRG21|TRG20|TRG21_GL|Mk20|Mk20C|Mk20C_plain|Mk20_GL|Mk20_plain|Mk20_GL_plain)_F" !="arifle_(MXC|MX|MX_GL|MXM|MXM_Black|MX_GL_Black|MX_Black|MXC_Black|MX_SW|MX_SW_Black)_F" !="srifle_DMR_0[2-6](_(camo|sniper|khaki|tan|multicam|woodland|spotter|blk|hex|olive)_|_)F" !="MMG_0[1-2]_(hex|tan|camo|black|sand)_F" !"CUP_((h|s)gun|(s|a)rifle|(l|s)mg)_"
|
||||
5 "" !="(V|H)_(F|)[0-9]{1,3}_EPOCH" !="Item(Map|GPS|Compass|Watch)" !="EpochRadio[0-9]" !="B_UavTerminal" !="(U|G|bipod|acc|muzzle|optic)_[0-9A-Z_]{1,100}" !="(NVG|Defib|Heal|Repair|Elcan(_reflex|))_EPOCH" !="(Binocular|Rangefinder|Hatchet|CrudeHatchet|WoodClub|Melee(Sledge|Maul|Rod|Sword)|ChainSaw|MultiGun|Rollins_F|Plunger)" !="(ruger_pistol|speargun|1911_pistol|akm|m14|M14Grn|m16|m16Red|m107|m107Tan|m249|m249Tan|m4a3|sr25|l85a2|l85a2_(pink|ugl))_epoch" !="SMG_(01|02)_F" !="hgun_(PDW2000|ACPC2|Rook40|P07|Pistol_heavy_0[1-2]|Pistol_Signal)_F" !="LMG_(Mk200|Zafir)_F" !="srifle_(EBR|GM6|LRR|DMR_01)_(camo_|)F" !="arifle_(Katiba|Katiba_C|Katiba_GL|SDAR|TRG21|TRG20|TRG21_GL|Mk20|Mk20C|Mk20C_plain|Mk20_GL|Mk20_plain|Mk20_GL_plain)_F" !="arifle_(MXC|MX|MX_GL|MXM|MXM_Black|MX_GL_Black|MX_Black|MXC_Black|MX_SW|MX_SW_Black)_F" !="srifle_DMR_0[2-6](_(camo|sniper|khaki|tan|multicam|woodland|spotter|blk|hex|olive)_|_)F" !="MMG_0[1-2]_(hex|tan|camo|black|sand)_F" !"CUP_((h|s)gun|(s|a)rifle|(l|s)mg)_"
|
||||
|
@ -1 +1 @@
|
||||
5 "" !WeaponHolderSimulated !Shot !"(Safe|LockBox|FirePlace|PlotPole|Jack|SolarGen)_EPOCH" !"Jack_SIM_EPOCH" !"LockBox_Ghost_EPOCH" !"CinderWallHalf_Ghost_EPOCH" !"(Tipi|Workbench|StorageShelf|Wood(Floor|LargeWall|Stairs|Ramp|Ladder|Tower)_Ghost_EPOCH" !"(Hesco3|Metal|Foundation)_Ghost_EPOCH" !"Land_Cages_F" !"Epoch_Sapper_F"
|
||||
5 "" !WeaponHolderSimulated !Shot !"(Safe|LockBox|FirePlace|PlotPole|Jack|SolarGen)_EPOCH" !"Jack_SIM_EPOCH" !"LockBox_Ghost_EPOCH" !"CinderWallHalf_Ghost_EPOCH" !"(Tipi|Workbench|StorageShelf|Wood(Floor|LargeWall|Stairs|Ramp|Ladder|Tower)_Ghost_EPOCH" !"(Hesco3|Metal|Foundation)_Ghost_EPOCH" !"Land_Cages_F" !"Epoch_Sapper_F" !"[A-Z]_(G_)?(Offroad|Quadbike|Hatchback|SUV|Rubberboat|Van|Boat_Civil|SDV|MRAP|Truck)_([0-9]+_)?((box|transport|covered|mover|police|rescue|armed)_)?EPOCH" !"([A-Z]_)?[A-Z]+_(Boat|Scooter|Offroad|LSV)_((Transport)_)?[0-9]+_((unarmed|light)_)?F" !"K0(1|2|3|4)"
|
||||
|
@ -1,5 +1,5 @@
|
||||
//new2
|
||||
7 "BIS_fnc_dynamictext" !="\"BIS_fnc_dynamictext"\" !="'BIS_fnc_dynamictext'"
|
||||
7 "BIS_fnc_dynamictext" !="\"BIS_fnc_dynamictext\"" !="'BIS_fnc_dynamictext'"
|
||||
7 forceRespawn !="ForceRespawnDuration" !="reviveHandleForceRespawnAction" !="forcerespawn player;"
|
||||
7 setFriend
|
||||
7 setAmmo
|
||||
@ -8,65 +8,65 @@
|
||||
7 setWeaponReloadingTime
|
||||
7 allMissionObjects !="_alljammer = allmissionobjects 'PlotPole_EPOCH';"
|
||||
7 callExtension
|
||||
7 showCommandingMenu !="showCommandingMenu '';" !"showCommandingMenu '#USER:"
|
||||
7 moveIn !="\"A3\functions_f\Misc\fn_moveIn.sqf\"" !="\"A3\functions_f\arrays\fn_removeIndex.sqf\"" !="player moveInAny _vehicle;\nEPOCH_antiWallCount = EPOCH_antiWallCount + 1;" !="[\"I_UAV_AI\", position _unit, [], 0, \"CAN_COLLIDE\"];\n_driver moveInAny _unit;" !="_driver moveInAny Epoch_mission_uav;" !="axeVIP moveInDriver vehicle axeVIP;" !="axeVIP moveInCargo vehicle axeVIP; !="_driver moveInDriver _axeCopter;" !="_unit moveInGunner _axeCopter;" !="axeVIP moveInDriver vehicle axeVIP;" !="axeVIP moveInCargo vehicle axeVIP;"
|
||||
7 attachTo !="EP_light attachTo [player,[0,8.11,_nlZ]];" !="_bomb attachTo [_unit, [0,0,0],\"Pelvis\"];" !="_dogHolder attachTo [_dog, [-0.2,1.2,0.7]];" !="EPOCH_target attachTo[player];" !="_sapperSmoke attachTo [_sapper,[0,0,-0.4]];"" !="_cage attachTo [_cage2,[0,1.3,0]];"
|
||||
7 showCommandingMenu !="showCommandingMenu '';" !="showCommandingMenu '#USER:"
|
||||
7 moveIn !="\"BIS_fnc_moveIn\"" !="\"A3\functions_f\Misc\fn_moveIn.sqf\"" !="\"A3\functions_f\arrays\fn_removeIndex.sqf\"" !="player moveInAny _vehicle;\nEPOCH_antiWallCount = EPOCH_antiWallCount + 1;" !="[\"I_UAV_AI\", position _unit, [], 0, \"CAN_COLLIDE\"];\n_driver moveInAny _unit;" !="_driver moveInAny Epoch_mission_uav;" !="axeVIP moveInDriver vehicle axeVIP;" !="axeVIP moveInCargo vehicle axeVIP;" !="_driver moveInDriver _axeCopter;" !="_unit moveInGunner _axeCopter;" !="axeVIP moveInDriver vehicle axeVIP;" !="axeVIP moveInCargo vehicle axeVIP;" !="_driver moveInAny axeUAV"
|
||||
7 attachTo !="attachToRelative" !="_meat attachTo [_object,[0,0,0.2],\"head\"];" !="setParticleClass \"ObjectDestructionFire1Smallx\";\n_source01 attachto [_object,[0,0,0]];" !="_smoke1 attachTo [_v,[0,0,0],\"engine_effect_1\"];" !="EP_light attachTo [player,[0,8.11,_nlZ]];" !="_bomb attachTo [_unit, [0,0,0],\"Pelvis\"];" !="_dogHolder attachTo [_dog, [-0.2,1.2,0.7]];" !="EPOCH_target attachTo[player];" !="_sapperSmoke attachTo [_sapper,[0,0,-0.4]];" !="_cage attachTo [_cage2,[0,1.3,0]];"
|
||||
7 enableCollisionWith
|
||||
7 hideObject !="_dogHolder hideobject true;" !="_dogHolder hideobject false;" !="player hideobject true;" !="_ship hideobject true;\n_ship hideobjectglobal true;"
|
||||
7 setvelocity !="setVelocityTarget" !="_bolt setPosATL _pos;\n_bolt setVelocity [0, 0, -10];" !="EPOCH_target setvelocitytransformation" !="_currentTarget setVelocity [0,0,-0.01];" !="_head setVelocity [\n(sin _dir * _speed), \n(cos _dir * _speed)" !="_vel = velocity this; _dir = getDir player; this setVelocity[(_vel select 0)+(sin _dir * 2),(_vel select 1)+(cos _dir * 2),(_vel select 2)];" !="_head setVelocity [random 2,random 2,10];" !="_bobber setVelocity [0,-1,-10];" !="_x setvelocity [0,0,0.1];" !="_veh setVelocity [0,0,0];" !="_this select 0 setvelocity (_this select 1)" !="_zombie setVelocityTransformation [_aslPos,_aslPos,_unitV,_unitV,_unitvDir,_vDir,_unitvUp,_unitvUp,2];"
|
||||
7 assignAs !="assignAsCargo" !="_unit assignAsGunner _axeCopter;" !="_driver assignAsDriver _axeCopter;" !="axeVIP assignAsDriver vehicle axeVIP;"
|
||||
7 assignAs !"assignAsCargo" !="_unit assignAsGunner _axeCopter;" !="_driver assignAsDriver _axeCopter;" !="axeVIP assignAsDriver vehicle axeVIP;"
|
||||
7 assignAsCargo !="_x assignAsCargo axeGeneralsBoat;" !="axeVIP assignAsCargo vehicle player;" !="axeVIP assignAsCargo vehicle axeVIP;"
|
||||
7 allowDamage !="_unit allowDamage false;" !="_unit allowDamage true;" !="player allowDamage true;" !="vehicle player allowDamage true;" !="player allowDamage false;" !="_target allowDamage true;" !="_cargo allowDamage false;"
|
||||
7 addWeaponCargo !="_acceptHolder addWeaponCargo [_wWeapon, 1] ;" !="CBA_fnc_addWeaponCargo" !="\\fnc_addWeaponCargo" !="\"addWeaponCargo" !="cba_fAddWeaponCargo"
|
||||
7 onMapSingleClick !="onMapSingleClick '';" !="\"onmapsingleclick\""
|
||||
7 addMagazine !"addMagazineCargo" !="player addMagazine [_item, _magazineSizeMax];" !="player addMagazine [_item, floor (_magazineSize % _magazineSizeMax)];" !="player addMagazine[_x select 0, _x select 1];" !="player addMagazine \"sledge_swing\";" !="player addMagazine \"Hatchet_swing\";" !="player addMagazine \"stick_swing\";" !="_wh addMagazineAmmoCargo[_item, 1, _count];" !="CBA_fnc_addMagazine" !="\\fnc_addMagazine" !="\"addMagazine"
|
||||
7 addMagazineCargo !"_dogHolder addMagazineCargo [\"RabbitCarcass_EPOCH\", 1]" !"_dogHolder addMagazineCargo [\"Pelt_EPOCH\", 1]" !"_dogHolder addMagazineCargo [\"Venom_EPOCH\", 1]" !"_dogHolder addMagazineCargo [\"SnakeCarcass_EPOCH\", 1]" !"_dogHolder addMagazineCargo [\"ChickenCarcass_EPOCH\", 1]" !="_acceptHolder addMagazineCargo [_wAmmo, 1] ;" !="CBA_fnc_addMagazineCargo" !="\\fnc_addMagazineCargo" !="\"addMagazineCargo" !="cba_fAddMagazineCargo"
|
||||
7 addMagazineCargo !="_dogHolder addMagazineCargo [\"RabbitCarcass_EPOCH\", 1]" !="_dogHolder addMagazineCargo [\"Pelt_EPOCH\", 1]" !="_dogHolder addMagazineCargo [\"Venom_EPOCH\", 1]" !="_dogHolder addMagazineCargo [\"SnakeCarcass_EPOCH\", 1]" !="_dogHolder addMagazineCargo [\"ChickenCarcass_EPOCH\", 1]" !="_acceptHolder addMagazineCargo [_wAmmo, 1] ;" !="CBA_fnc_addMagazineCargo" !="\\fnc_addMagazineCargo" !="\"addMagazineCargo" !="cba_fAddMagazineCargo"
|
||||
7 addItem !="{player addItemToVest _x} forEach _vestItems;" !="player addItem _item;" !="_plyr addItemToVest _missionItem;" !="axeVIP addItemToVest _item;" !="_plyr addItemToVest _missionItem;" !="EPOCH_fnc_addItemOverflow" !="CBA_fnc_addItem" !="\\fnc_addItem" !="\"addItem" !="fnc_addItemCargo"
|
||||
7 addBackPack !="fnc_addBackpackCargo"
|
||||
7 addMissionEventHandler !="addMissionEventHandler ['Draw3D',_var + \"call Epoch_gui3DCooldownEH;\"];" !="addMissionEventHandler ['Draw3D',_var + \"call epoch_gui3dModelPosEH;\"];" !="addMissionEventHandler ['Draw3D',_var + \"call epoch_gui3dWorldPosEH;\"];" !="addMissionEventHandler [\n"ended",\n{\n\nBIS_fnc_missionHandlers_end = _this;"
|
||||
7 addMissionEventHandler !="addMissionEventHandler [\"HandleDisconnect\"," !="addMissionEventHandler [\"Loaded\"," !="addMissionEventHandler ['Draw3D',_var + \"call Epoch_gui3DCooldownEH;\"];" !="addMissionEventHandler ['Draw3D',_var + \"call epoch_gui3dModelPosEH;\"];" !="addMissionEventHandler ['Draw3D',_var + \"call epoch_gui3dWorldPosEH;\"];" !="addMissionEventHandler [\n\"ended\",\n{\n\nBIS_fnc_missionHandlers_end = _this;"
|
||||
7 removeMissionEventHandler !="removeMissionEventHandler [\"Draw3D\", _id];"
|
||||
7 removeAllWeapons !="removeAllWeapons axeGeneral;"
|
||||
7 removeAllItems
|
||||
7 removeAllActions
|
||||
7 setViewDistance !"setViewDistance 1600"
|
||||
7 setViewDistance !="setViewDistance 1600"
|
||||
7 createGroup !="EPOCH_server_createGroup" !="_grp = createGroup RESISTANCE;" !="if (isserver) then {\n_group = creategroup sidelogic;" !="grpVIPGeneral = createGroup RESISTANCE;" !="_grp = createGroup side _plyr;" !="_grp = createGroup side player;" !="_grp = createGroup _side;" !="_grp = createGroup (side _plyr);" !="createcenter sidelogic;\n_grpLogic = creategroup sidelogic;\nbis_functions_mainscope" !="_group = creategroup west;"
|
||||
7 createVehicleCrew !="createvehiclecrew _x;"
|
||||
7 createVehicleLocal !"\"#particlesource\" createVehicleLocal" !"\"#lightpoint\" createVehicleLocal" !"\"BloodSplat\" createVehicleLocal" !"[\"lightning1_F\", \"lightning2_F\"] call BIS_fnc_selectRandom;\n_lighting = _class createVehicleLocal" !="SLX_XEH_DUMMY createVehicleLocal [0, 0, 0];" !="CBA_eventHandlers = "Logic" createVehicleLocal [0, 0];"
|
||||
7 createUnit !="_unit = _grp createUnit[(_arrUnits select _i), _pos, [], 0, \"FORM\"];" !="_driver = _grp createUnit[\"I_UAV_AI\", position _unit, [], 0, \"CAN_COLLIDE\"];" !="axeGeneral = grpVIPGeneral createUnit ["I_officer_F", axeGeneralPos, [], 1, "CAN_COLLIDE"];"
|
||||
7 createAgent !="_unit = createAgent[_unitClass, _targetPos, [], 256, \"FORM\"];" !="_unit = createAgent [_unitClass, _targetPos, [], 120, \"FORM\"];" !="_animal = createAgent[_randomAIClass, _animalPos, [], 5, \"NONE\"];" !="_unit = createAgent [\"Epoch_Cloak_F\", _pos, [], 0, \"CAN_COLLIDE\"];" !="_unit = createAgent [\"Epoch_Sapper_F\", _targetPos, [], 180, \"FORM\"];" !="_sapper = createAgent ["Epoch_Sapper_F", getPos _cage2, [], 0, "FORM"];" !="_unit = createAgent[_unitClass, position player, [], _zRange, \"FORM\"];"
|
||||
7 createVehicleLocal !="\"#particlesource\" createVehicleLocal" !="\"#lightpoint\" createVehicleLocal" !="\"BloodSplat\" createVehicleLocal" !="[\"lightning1_F\", \"lightning2_F\"] call BIS_fnc_selectRandom;\n_lighting = _class createVehicleLocal" !="SLX_XEH_DUMMY createVehicleLocal [0, 0, 0];" !="CBA_eventHandlers = \"Logic\" createVehicleLocal [0, 0];"
|
||||
7 createUnit !="_driver = _grp createUnit[\"I_UAV_AI\", position _unit, [], 0, \"CAN_COLLIDE\"];" !="axeGeneral = grpVIPGeneral createUnit [\"I_officer_F\", axeGeneralPos, [], 1, \"CAN_COLLIDE\"];" !="bis_functions_mainscope = _grpLogic createunit [\"Logic\",[9,9,9],[],0,\"none\"];" !="_unit = _grp createUnit[selectRandom _arrUnits, _pos, [], 0, \"FORM\"];" !="_driver = (group player) createUnit[\"I_UAV_AI\", position axeUAV, [], 0, \"CAN_COLLIDE\"];"
|
||||
7 createAgent !="bis_revive_ratioLethal = createAgent [\"Logic\", [10,10,0], [], 0, \"CAN_COLLIDE\"];" !="_unit = createAgent[_unitClass, _targetPos, [], 256, \"FORM\"];" !="_unit = createAgent [_unitClass, _targetPos, [], 120, \"FORM\"];" !="_animal = createAgent[_randomAIClass, _animalPos, [], 5, \"NONE\"];" !="_unit = createAgent [\"Epoch_Cloak_F\", _pos, [], 0, \"CAN_COLLIDE\"];" !="_unit = createAgent [\"Epoch_Sapper_F\", _targetPos, [], 180, \"FORM\"];" !="_sapper = createAgent [\"Epoch_Sapper_F\", getPos _cage2, [], 0, \"FORM\"];" !="_unit = createAgent[_unitClass, position player, [], _zRange, \"FORM\"];" !="_animal = createAgent[_randomAIClass, _animalPos, [], 0, \"CAN_COLLIDE\"];" !="_axeSapper = createAgent [\"Epoch_Sapper_F\", _pos, [], 12, \"FORM\"];"
|
||||
7 createTeam
|
||||
7 createDialog !="createDialog \"rmx_dynamenu\";" !="createDialog \"rmx_craftingUI\";" !="createDialog \"QuickUpgrade\";" !="createDialog \"QuickTake\";" !="createDialog \"InteractBank\";" !="createdialog \"SelectGender\";" !="_handled = createdialog _dialog;" !="if !(createdialog \"InteractItem\") exitWith {};" !="createDialog _tapDiag;" !="if !(createdialog \"Trade\") exitWith {};" !="_ok = createdialog \"Interact\";" !="_ok = createdialog \"TradeNPCMenu\";" !="createDialog \"Epoch_myGroup\";" !="createDialog (if ((Epoch_my_GroupUID == \"\") && (Epoch_my_Group isEqualTo [])) then {\"EPOCH_createGrp\"} else {\"Epoch_myGroup\"});" !="createDialog \"GroupRequests\";" !="_ok = createdialog \"MissionSelect\";" !="createDialog 'Skaronator_AdminMenu';"
|
||||
7 createDisplay !="createDisplay \"rmx_dynamenu\";" !="_parent createdisplay _displayClass;" !="finddisplay 151 createdisplay 'RscDisplayOptionsLayout'"
|
||||
7 createDisplay !="createDisplay \"rmx_dynamenu\";" !="createDisplay \"rmx_moveDynamicHUD\";" !="_parent createdisplay _displayClass;" !="finddisplay 151 createdisplay 'RscDisplayOptionsLayout'"
|
||||
7 deleteMarker !="deleteMarkerLocal _mName;"
|
||||
7 setMarker !="CBA_fnc_setMarkerPersistent\"" !="\\fnc_setMarkerPersistent" !="\"setMarkerPersistent" !="_mrkr setMarkerShapeLocal _mShape;" !="_mrkr setMarkerTypeLocal _mType;"
|
||||
7 setMarker !="CBA_fnc_setMarkerPersistent\"" !="\\fnc_setMarkerPersistent" !="\"setMarkerPersistent" !="_mName setMarkerShapeLocal _mShape;" !="_mName setMarkerTypeLocal _mType;"
|
||||
7 createMarker !="CBA_fnc_createMarker\"" !="\\fnc_createMarker" !="\"createMarker" !="cba_fCreateMarker" !="createMarkerLocal [_mName, _mPos];"
|
||||
7 assignItem !="axeVIP assignItem _item;" !="unassignItem"
|
||||
7 forceAddUniform
|
||||
7 removeAllMPEventHandlers
|
||||
7 setDammage
|
||||
7 displaySetEventHandler
|
||||
7 ctrlSetEventHandler !"BIS_fnc_guiMessage_status" !"ctrlSetEventHandler ['LBDblClick', '_this call" !="_buttonRespawn ctrlseteventhandler [\"buttonclick\",\"with uinamespace do {['buttonRespawn'," !="_ctrl ctrlSetEventHandler [\"mouseEnter\"" !="_ctrlBtn ctrlSetEventHandler [\"MouseButtonDblClick\", _verAct];"
|
||||
7 ctrlSetEventHandler !="_ctrlButtonOK ctrlseteventhandler [\"buttonclick\"," !="ctrlSetEventHandler ['LBDblClick', '_this call" !="_buttonRespawn ctrlseteventhandler [\"buttonclick\",\"with uinamespace do {['buttonRespawn'," !="_ctrl ctrlSetEventHandler [\"mouseEnter\"" !="_ctrlBtn ctrlSetEventHandler [\"MouseButtonDblClick\", _verAct];" !="_button_gen ctrlSetEventHandler [\"ButtonClick\",_btn_code + \"(uiNamespace getVariable [\""
|
||||
7 addMPEventHandler
|
||||
7 addEventHandler !"displayAddEventHandler" !"ctrlAddEventHandler" !"[\"FiredNear"\" !"[\"EpeContactStart"\" !"[\"GetOut"\" !"[\"local"\" !"[\"PostReset"\" !"[\"TaskSetAsCurrent"\" !="player addEventHandler [_x,([\"CfgEpochClient\", _x, \"\"] call EPOCH_fnc_returnConfigEntryV2)];" !="\"CBA_fnc_addEventHandler\"" !="\\fnc_addEventHandler" !="\"addEventHandler" !="_eventFunc = _eventFunc + \"(_this select 0) addEventHandler ['Respawn', \" + str _eventFunc + \"];\";" !="_unit addEventHandler [\"hitpart\"," !="CBA_fnc_addEventHandler" !="_ship addEventHandler [\"AttributesChanged3DEN\"" !="addEventHandler [\"HandleDamage\",bis_fnc_reviveOnPlayerHandleDamage];"
|
||||
7 displayAddEventHandler !="(findDisplay 46) displayAddEventHandler [\"KeyDown\",\"true\"];" !="_display displayAddEventHandler [_x,([\"CfgEpochClient\", _x, \"\"] call EPOCH_fnc_returnConfigEntryV2)];" !="_display displayaddeventhandler\n[\n\"mousemoving\"," !="_display displayaddeventhandler [\"unload\",\"uinamespace setvariable ['BIS_fnc_guiMess" !="findDisplay -1337 displayAddEventHandler ['Unload'" !="_display displayaddeventhandler [\"keydown\",\"with uinamespace do {['keyDown'" !="_display displayaddeventhandler [_x,_fnc_animate];" !="Development\") then\n{\n_display displayaddeventhandler [\n\"keydown\"" !="CBA_fnc_addDisplayHandler" !="_display displayAddEventHandler [\"MouseMoving"
|
||||
7 ctrlAddEventHandler !"rCfg >> \"refreshDelay\");" !" [\n\"draw\"," !" [\"buttonclick\"," !="(uiNamespace getVariable 'ESP_map') ctrlAddEventHandler['Draw', '_esp_targets = EPOCH_ESPMAP_TARGETS;" !="ctrlAddEventHandler ['MouseButtonDown'" !="(_display displayctrl _idc) ctrlAddEventHandler [\"LBSelChanged\"," !="_ctrl ctrlSetEventHandler [\"mouseEnter\", (format [\"_c = _this select 0;" !="_ctrl ctrlSetEventHandler [\"mouseExit\", (format [\"_c = _this select 0;" !="_ctrl ctrlSetEventHandler [\"mouseButtonDown\", (format [\"call %1;\",(_buttonSettings select _e select 2)])];" !="_prevButton ctrlAddEventHandler [\"MouseButtonUp\", {_this call cba_diagnostic_fnc_debug" !="BIS_RscRespawnControlsMap_ctrlHeaderRespawnButton ctrlAddEventhandler [/"ButtonDown/""
|
||||
7 removeAllEventHandlers !="ctrlRemoveAllEventHandlers" !="displayRemoveAllEventHandlers" !="_vehicle removeAllEventHandlers \"GetOut\";" !="_sapper removeAllEventHandlers \"Hit\";\n_sapper removeAllEventHandlers \"FiredNear\";" !="_unit removeAllEventHandlers \"Hit\";\n_unit removeAllEventHandlers \"FiredNear\";" !="{_ship removeAllEventHandlers _x;} forEach [\"AttributesChanged3DEN\"" !="_zombie removeAllEventHandlers \"Hit\";" !="_zombie removeAllEventHandlers \"FiredNear\";"
|
||||
7 addEventHandler !"displayAddEventHandler" !"ctrlAddEventHandler" !="player addeventhandler [\"PostReset\",{BIS_EnginePPReset = true;} ];" !="player addEventHandler [_x,([\"CfgEpochClient\", _x, \"\"] call EPOCH_fnc_returnConfigEntryV2)];" !="\"CBA_fnc_addEventHandler\"" !="\\fnc_addEventHandler" !="\"addEventHandler" !="_eventFunc = _eventFunc + \"(_this select 0) addEventHandler ['Respawn', \" + str _eventFunc + \"];\";" !="_unit addEventHandler [\"hitpart\"," !="CBA_fnc_addEventHandler" !="_ship addEventHandler [\"AttributesChanged3DEN\"" !="addEventHandler [\"HandleDamage\",bis_fnc_reviveOnPlayerHandleDamage];" !="_unit addEventHandler [\"FiredNear\", \"sapperHndl setFSMVariable" !="_smokeEH = _plyr addEventHandler [\"FiredNear\", \"airDropHandle setFSMVariable" !="_onContactEH = _currentTarget addEventHandler[\"EpeContactStart""
|
||||
7 displayAddEventHandler !="(findDisplay 46) displayAddEventHandler [\"KeyDown\",\"true\"];" !="displayAddEventHandler [_x,([\"CfgEpochClient\", _x, \"\"] call EPOCH_fnc_returnConfigEntryV2)];" !="_display displayaddeventhandler\n[\n\"mousemoving\"," !="_display displayaddeventhandler [\"unload\",\"uinamespace setvariable ['BIS_fnc_guiMess" !="findDisplay -1337 displayAddEventHandler ['Unload'" !="_display displayaddeventhandler [\"keydown\",\"with uinamespace do {['keyDown'" !="_display displayaddeventhandler [_x,_fnc_animate];" !="Development\") then\n{\n_display displayaddeventhandler [\n\"keydown\"" !="CBA_fnc_addDisplayHandler" !="_display displayAddEventHandler [\"MouseMoving" !="private _handler = _display displayAddEventHandler [_key, _code];"
|
||||
7 ctrlAddEventHandler !="_ctrlMap = _display displayctrl 101;\n_ctrlMap ctrladdeventhandler" !="_display displayctrl 21995;\n_assetsButton ctrladdeventhandler [\"buttonclick\"," !="_display displayctrl 2406; \n_control ctrladdeventhandler [\"buttonclick\"," !="_display displayctrl 2400;\n_control ctrladdeventhandler [\"buttonclick\"," !="_ctrlTags ctrladdeventhandler [\"lbselchanged\"," !="_ButtonGeneral ctrladdeventhandler [\"buttonclick\"," !="_ctrlExecuteLocal ctrladdeventhandler [\"buttonclick\"," !="_bg ctrlAddEventHandler [\"MouseEnter\"," !="_container ctrlAddEventHandler [\"LBDblClick\",\"_this call EPOCH_itemInteractClick\"];" !="(uiNamespace getVariable 'ESP_map') ctrlAddEventHandler['Draw', '_esp_targets = EPOCH_ESPMAP_TARGETS;" !="ctrlAddEventHandler ['MouseButtonDown'" !="(_display displayctrl _idc) ctrlAddEventHandler [\"LBSelChanged\"," !="_ctrl ctrlSetEventHandler [\"mouseEnter\", (format [\"_c = _this select 0;" !="_ctrl ctrlSetEventHandler [\"mouseExit\", (format [\"_c = _this select 0;" !="_ctrl ctrlSetEventHandler [\"mouseButtonDown\", (format [\"call %1;\",(_buttonSettings select _e select 2)])];" !="_prevButton ctrlAddEventHandler [\"MouseButtonUp\", {_this call cba_diagnostic_fnc_debug" !="BIS_RscRespawnControlsMap_ctrlHeaderRespawnButton ctrlAddEventhandler [\"ButtonDown\"" !="_control = _display displayctrl 105;\n_control ctrladdeventhandler [\"MouseButtonUp\""
|
||||
7 removeAllEventHandlers !"ctrlRemoveAllEventHandlers" !"displayRemoveAllEventHandlers" !="_vehicle removeAllEventHandlers \"GetOut\";" !="_sapper removeAllEventHandlers \"Hit\";\n_sapper removeAllEventHandlers \"FiredNear\";" !="_unit removeAllEventHandlers \"Hit\";\n_unit removeAllEventHandlers \"FiredNear\";" !="{_ship removeAllEventHandlers _x;} forEach [\"AttributesChanged3DEN\"" !="_zombie removeAllEventHandlers \"Hit\";" !="_zombie removeAllEventHandlers \"FiredNear\";"
|
||||
7 displayRemoveAllEventHandlers !="_display displayRemoveAllEventHandlers _x;" !="if !(isMultiplayer) then { { (findDisplay 46) displayRemoveAllEventHandlers _x } forEach [\"KeyUp\", \"KeyDown\"] };"
|
||||
7 removeAllMissionEventHandlers
|
||||
7 ctrlRemoveAllEventHandlers !="(uiNamespace getVariable 'ESP_map') ctrlRemoveAllEventHandlers 'Draw';" !="ctrlAddEventHandler ['MouseButtonDown'"
|
||||
7 removeEventHandler !="displayRemoveEventHandler" !="player removeEventHandler ['Fired', 0];" !"_currentTarget removeEventHandler[\"EpeContactStart\", _onContactEH]" !" [_adminVar,objnull];\npublicvariable _adminVar;\nplayer removeeventhandler [\"respawn\",_respawn];" !="_plyr removeEventHandler [\"FiredNear\", _smokeEH];" !="player removeEventHandler [_ehKey, 0];" !="player removeEventHandler [_x, 0];" !="\"CBA_fnc_removeEventHandler\"" !="\\fnc_removeEventHandler" !="\"removeEventHandler"
|
||||
7 removeEventHandler !="displayRemoveEventHandler" !="player removeEventHandler ['Fired', 0];" !="_currentTarget removeEventHandler[\"EpeContactStart\", _onContactEH]" !=" [_adminVar,objnull];\npublicvariable _adminVar;\nplayer removeeventhandler [\"respawn\",_respawn];" !="_plyr removeEventHandler [\"FiredNear\", _smokeEH];" !="player removeEventHandler [_ehKey, 0];" !="player removeEventHandler [_x, 0];" !="\"CBA_fnc_removeEventHandler\"" !="\\fnc_removeEventHandler" !="\"removeEventHandler"
|
||||
7 switchCamera !="vehicle player switchCamera" !="_antagonist switchCamera \"Internal\";"
|
||||
7 remoteControl !"fn_moduleRemoteControl.sqf" !="\"BIS_fnc_moduleRemoteControl"\"
|
||||
7 drawIcon3D !="drawIcon3D[\"\x\addons\a3_epoch_code\Data\Member.paa\",_color,_pos,1,1,0,_text,1,0.025,\"PuristaMedium\"];\n}forEach EPOCH_ESP_TARGETS;" !"drawIcon3D[format[\"\x\addons\a3_epoch_code\Data\UI\loading_bar_%1.paa\",_stability],_color,(getPosATL EPOCH_stabilityTarget),5,5,0,\"\",1,0.05,\"PuristaMedium\"];" !"drawIcon3D[format[\"\x\addons\a3_epoch_code\Data\UI\loading_bar_%1.paa\",_num],_color,_pos,4,4,0,\"\",1,0.05,\"PuristaMedium\"];" !"EPOCH_drawIcon3dStability" !"EPOCH_drawIcon3d" !"if (_condition) then {\ndrawIcon3D [_icon, _color, _position, _sizeX, _sizeY, _angle, _text," !="drawIcon3D [\"\A3\UI_F_MP_Mark\Data\Tasks\Misc\background.paa\"" !="drawIcon3D\n[\n(_x getVariable [\"bis_fnc_reviveGet3dIcons_textures" !="drawIcon3D[\"x\addons\a3_epoch_code\Data\UI\snap_ca.paa\""
|
||||
7 drawLine3D !"{\nfor [{_i = 1}, {_i < count _x}, {_i = _i + 1}] do {\ndrawLine3D [_x select (_i - 1), _x select _i, ((BIS_tracedShooter getVari"
|
||||
7 ctrlCreate !="ctrlCreate [\"RscProgress\",_idc + 1];" !="ctrlCreate [\"rmx_rscControlsGroup\"" !="_ListGroup = _display ctrlCreate [\"RscControlsGroupNoHScrollbars\"" !="ctrlCreate [_x,call _getIDC];" !="_mainGrp = _display ctrlCreate [\"Epoch_main_config_group\",_value];" !="ctrlCreate [\"RscControlsGroupNoScrollbars\",call epoch_getIDC];" !="ctrlCreate [\"rmx_rscPicture\",(66600 + _e)];" !="ctrlCreate ["RscStructuredText",call epoch_getIDC];"
|
||||
7 remoteControl !="fn_moduleRemoteControl.sqf" !="\"BIS_fnc_moduleRemoteControl\""
|
||||
7 drawIcon3D !="EPOCH_drawIcon3dStability" !="EPOCH_drawIcon3d" !="drawIcon3D[\"\x\addons\a3_epoch_code\Data\Member.paa\",_color,_pos,1,1,0,_text,1,0.025,\"PuristaMedium\"];\n}forEach EPOCH_ESP_TARGETS;" !="drawIcon3D[format[\"\x\addons\a3_epoch_code\Data\UI\loading_bar_%1.paa\",_stability],_color,(getPosATL EPOCH_stabilityTarget),5,5,0,\"\",1,0.05,\"PuristaMedium\"];" !="drawIcon3D[format[\"\x\addons\a3_epoch_code\Data\UI\loading_bar_%1.paa\",_num],_color,_pos,4,4,0,\"\",1,0.05,\"PuristaMedium\"];" !="if (_condition) then {\ndrawIcon3D [_icon, _color, _position, _sizeX, _sizeY, _angle, _text," !="drawIcon3D [\"\A3\UI_F_MP_Mark\Data\Tasks\Misc\background.paa\"" !="drawIcon3D\n[\n(_x getVariable [\"bis_fnc_reviveGet3dIcons_textures" !="drawIcon3D[\"x\addons\a3_epoch_code\Data\UI\snap_ca.paa\""
|
||||
7 drawLine3D !="{\nfor [{_i = 1}, {_i < count _x}, {_i = _i + 1}] do {\ndrawLine3D [_x select (_i - 1), _x select _i, ((BIS_tracedShooter getVari"
|
||||
7 ctrlCreate !="_parent ctrlcreate [\"RscMessageBox\",2351];" !="_c = _dsp ctrlCreate [\"rmx_drag_RscActivePicture\", call epoch_getIDC];" !="_c = _dsp ctrlCreate [\"rmx_t1\", call epoch_getIDC];" !="ctrlCreate [\"RscProgress\",_idc + 1];" !="ctrlCreate [\"rmx_rscControlsGroup\"" !="_ListGroup = _display ctrlCreate [\"RscControlsGroupNoHScrollbars\"" !="ctrlCreate [_x,call _getIDC];" !="_mainGrp = _display ctrlCreate [\"Epoch_main_config_group\",_value];" !="ctrlCreate [\"RscControlsGroupNoScrollbars\",call epoch_getIDC];" !="ctrlCreate [\"rmx_rscPicture\",(66600 + _e)];" !="ctrlCreate [\"RscStructuredText\",call epoch_getIDC];" !="_bar = _display ctrlCreate [\"RscCustomProgress\"" !="_group = _dsp ctrlCreate [\"rscControlsGroup\", call Epoch_getIDC]" !="_control = _display ctrlCreate [\"RscControlsGroupNoScrollbars\", 5678910];"
|
||||
7 ctrlClassName
|
||||
7 ctrlModel
|
||||
7 ctrlModelDirection
|
||||
7 ctrlModelSide
|
||||
7 ctrlModelUp
|
||||
7 ctrlSetDirection
|
||||
7 deleteVehicleCrew !"fn_deleteVehicleCrew.sqf" !="\"BIS_fnc_deleteVehicleCrew"\"
|
||||
7 deleteVehicleCrew !="fn_deleteVehicleCrew.sqf" !="\"BIS_fnc_deleteVehicleCrew\""
|
||||
7 loadFile
|
||||
7 selectPlayer !="selectPlayer _playerObject;"
|
||||
7 setGroupIconsVisible
|
||||
|
@ -1 +1 @@
|
||||
5 "" !=(Offer|Accept|BUILD_SLOT|TRADE_ACTIVE|last_targeter|epoch_(antagobj|antagBomb|gm_enabled)) !="bis_fnc_objectvar_var" !="bis_fnc_selectrespawntemplate_respawned"
|
||||
5 "" !=(traderName|Offer|Accept|BUILD_SLOT|TRADE_ACTIVE|last_targeter|epoch_(antagobj|antagBomb|gm_enabled)) !="bis_fnc_objectvar_var" !="bis_fnc_selectrespawntemplate_respawned"
|
||||
|
@ -24,22 +24,22 @@ class DifficultyPresets
|
||||
// Personal awareness
|
||||
weaponInfo = 1; // Weapon info (0 = never, 1 = fade out, 2 = always)
|
||||
stanceIndicator = 1; // Stance indicator (0 = never, 1 = fade out, 2 = always)
|
||||
staminaBar = 1; // Stamina bar (0 = never, 1 = always)
|
||||
weaponCrosshair = 1; // Weapon crosshair (0 = never, 1 = always)
|
||||
visionAid = 0; // Vision aid (0 = never, 1 = always)
|
||||
staminaBar = 1; // Stamina bar (0 = disabled, 1 = enabled)
|
||||
weaponCrosshair = 1; // Weapon crosshair (0 = disabled, 1 = enabled)
|
||||
visionAid = 0; // Vision aid (0 = disabled, 1 = enabled)
|
||||
// View
|
||||
thirdPersonView = 1; // 3rd person view (0 = enabled, 1 = disabled)
|
||||
cameraShake = 1; // Camera shake (0 = enabled, 1 = disabled)
|
||||
thirdPersonView = 1; // 3rd person view (0 = disabled, 1 = enabled)
|
||||
cameraShake = 1; // Camera shake (0 = disabled, 1 = enabled)
|
||||
|
||||
// Multiplayer
|
||||
scoreTable = 1; // Score table
|
||||
deathMessages = 1; // Killed by
|
||||
vonID = 1; // VON ID
|
||||
scoreTable = 1; // Score table (0 = disabled, 1 = enabled)
|
||||
deathMessages = 1; // Killed by (0 = disabled, 1 = enabled)
|
||||
vonID = 1; // VON ID (0 = disabled, 1 = enabled)
|
||||
|
||||
// Misc
|
||||
mapContent = 0; // Extended map content
|
||||
autoReport = 0; // Automatic reporting
|
||||
multipleSaves = 0; // Multiple saves
|
||||
mapContent = 0; // Extended map content (0 = disabled, 1 = enabled)
|
||||
autoReport = 0; // Automatic reporting (0 = disabled, 1 = enabled)
|
||||
multipleSaves = 0; // Multiple saves (0 = disabled, 1 = enabled)
|
||||
};
|
||||
aiLevelPreset=2;
|
||||
};
|
||||
|
@ -1,8 +1,8 @@
|
||||
/*%FSM<COMPILE "D:\SteamLibrary\steamapps\common\Arma 3 Tools\FSMEditor\scriptedFSM.cfg, Epoch Login">*/
|
||||
/*%FSM<COMPILE "F:\Program Files (x86)\Steam\steamapps\common\Arma 3 Tools\FSMEditor\scriptedFSM.cfg, Epoch Login">*/
|
||||
/*%FSM<HEAD>*/
|
||||
/*
|
||||
item0[] = {"INIT",0,250,-25.000000,-375.000000,75.000000,-325.000000,0.000000,"INIT"};
|
||||
item1[] = {"FINISH",1,4346,-25.000000,1475.000000,75.000000,1525.000000,0.000000,"FINISH"};
|
||||
item1[] = {"FINISH",1,4346,-149.463196,1518.792480,-49.463196,1568.792480,0.000000,"FINISH"};
|
||||
item2[] = {"true",8,218,-150.000000,-125.000000,-50.000000,-75.000000,0.000000,"true"};
|
||||
item3[] = {"Version_Check",2,250,-25.000000,-75.000000,75.000000,-25.000000,0.000000,"Version Check"};
|
||||
item4[] = {"Player_Object_Re",4,218,-150.000000,75.000000,-50.000000,125.000000,0.000000,"Player" \n "Object Ready"};
|
||||
@ -183,8 +183,8 @@ link93[] = {82,76};
|
||||
link94[] = {83,16};
|
||||
link95[] = {83,22};
|
||||
link96[] = {84,31};
|
||||
globals[] = {0.000000,0,0,0,0,640,480,1,247,6316128,1,-534.004700,883.834412,1895.573975,986.017029,1287,884,1};
|
||||
window[] = {2,-1,-1,-32000,-32000,1149,2931,3915,382,3,1305};
|
||||
globals[] = {0.000000,0,0,0,0,640,480,1,247,6316128,1,-566.678223,916.507324,1906.129761,921.949097,1287,854,1};
|
||||
window[] = {2,-1,-1,-1,-1,923,-1524,-540,156,3,1305};
|
||||
*//*%FSM</HEAD>*/
|
||||
class FSM
|
||||
{
|
||||
@ -236,35 +236,34 @@ class FSM
|
||||
{
|
||||
name = "FINISH";
|
||||
itemno = 1;
|
||||
init = /*%FSM<STATEINIT""">*/"[] spawn {" \n
|
||||
" disableSerialization;" \n
|
||||
" waitUntil{!isNull (findDisplay 46)};" \n
|
||||
" _display = findDisplay 46;" \n
|
||||
" {" \n
|
||||
" _display displayAddEventHandler [_x,([""CfgEpochClient"", _x, """"] call EPOCH_fnc_returnConfigEntryV2)];" \n
|
||||
" } forEach ([""CfgEpochClient"", ""displayAddEventHandler"", []] call EPOCH_fnc_returnConfigEntryV2);" \n
|
||||
" call epoch_dynamicHUD_start; " \n
|
||||
" player switchMove """";" \n
|
||||
"};" \n
|
||||
init = /*%FSM<STATEINIT""">*/"// setup display EH's" \n
|
||||
"{" \n
|
||||
" (findDisplay 46) displayAddEventHandler [_x,([""CfgEpochClient"", _x, """"] call EPOCH_fnc_returnConfigEntryV2)];" \n
|
||||
"} forEach ([""CfgEpochClient"", ""displayAddEventHandler"", []] call EPOCH_fnc_returnConfigEntryV2);" \n
|
||||
"" \n
|
||||
"3 fadeSound 1;" \n
|
||||
"// reset anim state" \n
|
||||
"player switchMove """";" \n
|
||||
"" \n
|
||||
"if (_debug) then {" \n
|
||||
" diag_log ""EPOCH-LOGIN: Finish!"";" \n
|
||||
"};" \n
|
||||
"// setup Epoch Hud" \n
|
||||
"call epoch_dynamicHUD_start;" \n
|
||||
"[] spawn EPOCH_masterLoop;" \n
|
||||
"" \n
|
||||
"EPOCH_loginFSM = nil;" \n
|
||||
"EPOCH_playerLoginInit = nil;" \n
|
||||
"" \n
|
||||
"//player enableSimulation true;" \n
|
||||
"" \n
|
||||
"// fade in sound and screen" \n
|
||||
"3 fadeSound 1;" \n
|
||||
"titleCut ["""", ""BLACK IN"", 1];" \n
|
||||
"1338 cutText ["""",""PLAIN"",0]; " \n
|
||||
"" \n
|
||||
"progressLoadingScreen 1.0;" \n
|
||||
"" \n
|
||||
"endLoadingScreen;" \n
|
||||
"EPOCH_loadingScreenDone = true;"/*%FSM</STATEINIT""">*/;
|
||||
"EPOCH_loadingScreenDone = true;" \n
|
||||
"" \n
|
||||
"if (_debug) then {" \n
|
||||
" diag_log ""EPOCH-LOGIN: Finish!"";" \n
|
||||
"};" \n
|
||||
""/*%FSM</STATEINIT""">*/;
|
||||
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
||||
class Links
|
||||
{
|
||||
@ -287,7 +286,7 @@ class FSM
|
||||
"_epoch_assets3 = getText(configFile >> ""Epoch"" >> ""Version"" >> ""A3_epoch_assets_3"");" \n
|
||||
"_epoch_config = getText(configFile >> ""Epoch"" >> ""Version"" >> ""A3_epoch_config"");" \n
|
||||
"_epoch_language = getText(configFile >> ""Epoch"" >> ""Version"" >> ""A3_epoch_language"");" \n
|
||||
"_epoch_underground = getText(configFile >> ""Epoch"" >> ""Version"" >> ""Underground_Epoch"");" \n
|
||||
"_epoch_community = getText(configFile >> ""Epoch"" >> ""Version"" >> ""a3_epoch_community"");" \n
|
||||
"_epoch_vehicles = getText(configFile >> ""Epoch"" >> ""Version"" >> ""A3_epoch_vehicles"");" \n
|
||||
"_epoch_weapons = getText(configFile >> ""Epoch"" >> ""Version"" >> ""a3_epoch_weapons"");" \n
|
||||
"" \n
|
||||
@ -299,7 +298,7 @@ class FSM
|
||||
"_my_epoch_assets3 = getText(configFile >> ""CfgPatches"" >> ""A3_epoch_assets_3"" >> ""epochVersion"");" \n
|
||||
"_my_epoch_config = getText(configFile >> ""CfgPatches"" >> ""A3_epoch_config"" >> ""epochVersion"");" \n
|
||||
"_my_epoch_language = getText(configFile >> ""CfgPatches"" >> ""A3_epoch_language"" >> ""epochVersion"");" \n
|
||||
"_my_epoch_underground = getText(configFile >> ""CfgPatches"" >> ""Underground_Epoch"" >> ""epochVersion"");" \n
|
||||
"_my_epoch_community = getText(configFile >> ""CfgPatches"" >> ""a3_epoch_community"" >> ""epochVersion"");" \n
|
||||
"_my_epoch_vehicles = getText(configFile >> ""CfgPatches"" >> ""A3_epoch_vehicles"" >> ""epochVersion"");" \n
|
||||
"_my_epoch_weapons = getText(configFile >> ""CfgPatches"" >> ""a3_epoch_weapons"" >> ""epochVersion"");" \n
|
||||
"" \n
|
||||
@ -321,7 +320,7 @@ class FSM
|
||||
"_my_epoch_assets3 != _epoch_assets3 ||" \n
|
||||
"_my_epoch_config != _epoch_config ||" \n
|
||||
"_my_epoch_language != _epoch_language ||" \n
|
||||
"_my_epoch_underground != _epoch_underground ||" \n
|
||||
"_my_epoch_community != _epoch_community ||" \n
|
||||
"_my_epoch_vehicles != _epoch_vehicles ||" \n
|
||||
"_my_epoch_weapons != _epoch_weapons"/*%FSM</CONDITION""">*/;
|
||||
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
||||
@ -911,7 +910,6 @@ class FSM
|
||||
" }forEach EPOCH_playerHitPoints;" \n
|
||||
"};" \n
|
||||
"" \n
|
||||
"[] spawn EPOCH_masterLoop;" \n
|
||||
"true call EPOCH_fnc_Weather;" \n
|
||||
"[5,100] spawn EPOCH_niteLight;" \n
|
||||
"" \n
|
||||
@ -965,7 +963,7 @@ class FSM
|
||||
priority = 0.000000;
|
||||
to="FINISH";
|
||||
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
||||
condition=/*%FSM<CONDITION""">*/"preloadCamera _playerPos"/*%FSM</CONDITION""">*/;
|
||||
condition=/*%FSM<CONDITION""">*/"!(isNull (findDisplay 46)) && {preloadCamera _playerPos}"/*%FSM</CONDITION""">*/;
|
||||
action=/*%FSM<ACTION""">*/"call compile _extraPayload;"/*%FSM</ACTION""">*/;
|
||||
};
|
||||
/*%FSM</LINK>*/
|
||||
@ -1435,4 +1433,4 @@ class FSM
|
||||
"Reject_without_B",
|
||||
};
|
||||
};
|
||||
/*%FSM</COMPILE>*/
|
||||
/*%FSM</COMPILE>*/
|
||||
|
@ -4,7 +4,7 @@
|
||||
Contributors:
|
||||
|
||||
Description:
|
||||
Request loot event and setup mirror
|
||||
Request loot event
|
||||
|
||||
Licence:
|
||||
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
|
||||
@ -14,29 +14,4 @@
|
||||
*/
|
||||
if (!isNull _this) then {
|
||||
[_this,player,Epoch_personalToken] remoteExec ["EPOCH_server_lootContainer",2];
|
||||
|
||||
if (typeof _this == "wardrobe_EPOCH") then {
|
||||
if !(_this getVariable["MIRROR_SETUP", false]) then {
|
||||
_this spawn {
|
||||
_this setVariable ["MIRROR_SETUP", true];
|
||||
_cam = "camera" camCreate (_this modelToWorld [0,0.25,1.5]);
|
||||
_cam camSetTarget (_this modelToWorld [0,-30,1]);
|
||||
_cam camSetFov 0.3;
|
||||
_cam camCommit 0;
|
||||
"rendertargetwardrobe0" setPiPEffect [0];
|
||||
_cam cameraEffect ["Internal", "FRONT","rendertargetwardrobe0"];
|
||||
_this setObjectTexture [0,"#(argb,512,512,1)r2t(rendertargetwardrobe0,1.0)"];
|
||||
|
||||
waitUntil {
|
||||
uiSleep 5;
|
||||
(isNull _this) || ((_this distance player) > 20)
|
||||
};
|
||||
|
||||
_cam cameraEffect ["terminate","back"];
|
||||
camDestroy _cam;
|
||||
_this setVariable["MIRROR_SETUP", nil];
|
||||
_this setObjectTexture [0,""];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -12,7 +12,9 @@
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_QuickTakeAll.sqf
|
||||
*/
|
||||
private ["_magazines","_items","_weapons"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_items","_magazines","_weapons"];
|
||||
//[[[end]]]
|
||||
closeDialog 0;
|
||||
{
|
||||
|
||||
|
@ -12,7 +12,9 @@
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_QuickTakeLoad.sqf
|
||||
*/
|
||||
private ["_magazines"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_index","_magazines"];
|
||||
//[[[end]]]
|
||||
createDialog "QuickTake";
|
||||
{
|
||||
_magazines = magazinesAmmoCargo _x;
|
||||
|
@ -12,7 +12,9 @@
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_SpawnTraderMiltia.sqf
|
||||
*/
|
||||
private ["_startPos","_rndHouse","_unit","_trgt","_nrBuilds","_grp"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_allpositions","_grp","_nrBuilds","_rndHouse","_startPos","_trgt","_unit"];
|
||||
//[[[end]]]
|
||||
_trgt = player;
|
||||
_nrBuilds = nearestObjects [getPosATL _trgt,["house"],50];
|
||||
|
||||
|
@ -12,7 +12,9 @@
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_UnisexCheck.sqf
|
||||
*/
|
||||
private ["_femaleVariant","_vest","_item","_config","_woman","_maleVariant","_vestItems","_mags"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_config","_femaleVariant","_mags","_maleVariant","_vest","_vestItems","_woman"];
|
||||
//[[[end]]]
|
||||
params ["_unit","_container","_item"];
|
||||
|
||||
// check for access of a locked container
|
||||
|
@ -12,7 +12,9 @@
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_callSapperMigration.sqf
|
||||
*/
|
||||
private ["_trgt","_sapperCount","_notReady","_start","_dirTo","_finish","_nrPlyrs","_abortAfter","_pos","_axeSapper","_disableAI"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_abortAfter","_axeSapper","_dirTo","_disableAI","_finish","_notReady","_nrPlyrs","_pos","_sapperCount","_start","_trgt"];
|
||||
//[[[end]]]
|
||||
|
||||
_disableAI = {
|
||||
{_this disableAI _x}forEach["TARGET","AUTOTARGET","FSM"];
|
||||
|
@ -12,7 +12,9 @@
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_chopWood.sqf
|
||||
*/
|
||||
private ["_currentPos","_object","_type","_start","_end","_p3dName","_finalConfig","_str","_sel_object","_findStart","_objects","_config"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_config","_currentPos","_getWorldTypes","_object","_objects","_sel_object","_str","_type","_worldTypes"];
|
||||
//[[[end]]]
|
||||
|
||||
_currentPos = player modelToWorld[0, 5, 0];
|
||||
if !(surfaceIsWater _currentPos) then {
|
||||
|
@ -12,14 +12,31 @@
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_consumeItem.sqf
|
||||
*/
|
||||
private ["_cfgBaseBuilding","_cfgItemInteractions","_type","_magazineSize","_text","_item","_pic","_magazinesAmmoFull","_magazineSizeMax","_pos","_object","_isStorage","_isOk","_buildClass","_interactReturnOnUse","_vehicle","_currentFuel","_canCapacity","_interactAttributes","_fuelCapacity","_newFuel","_removeItem","_vehicles","_transportFuel","_highestDMG","_currentHIT","_currentDMG","_newDMG","_paintCanIndex","_paintCanColor","_msg","_color","_unifiedInteract","_interactOption"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_buildClass","_buildingCountLimit","_buildingJammerRange","_canCapacity","_cfgBaseBuilding","_cfgItemInteractions","_color","_currentDMG","_currentFuel","_currentHIT","_fuelCapacity","_highestDMG","_interactAttributes","_interactOption","_interactReturnOnUse","_isOk","_isStorage","_magazineSize","_magazineSizeMax","_magazinesAmmoFull","_newDMG","_newFuel","_object","_otherObjects","_output","_paintCanColor","_paintCanIndex","_partCheck","_pos","_removeItem","_transportFuel","_unifiedInteract","_vehicle","_vehicles"];
|
||||
//[[[end]]]
|
||||
|
||||
EPOCH_InteractedItem params ["_text","_item","_pic"];
|
||||
|
||||
_cfgBaseBuilding = 'CfgBaseBuilding' call EPOCH_returnConfig;
|
||||
_cfgItemInteractions = (('CfgItemInteractions' call EPOCH_returnConfig) >> _item);
|
||||
|
||||
_interactOption = getNumber(_cfgItemInteractions >> "interactAction");
|
||||
_interactReturnOnUse = getText(_cfgItemInteractions >> "interactReturnOnUse");
|
||||
_interactAttributes = getArray(_cfgItemInteractions >> "interactAttributes");
|
||||
_interactReturnOnUse = getText(_cfgItemInteractions >> "interactReturnOnUse");
|
||||
|
||||
_inputCount = count _this;
|
||||
if (_inputCount >= 1) then {
|
||||
_interactOption = param [0,0];
|
||||
};
|
||||
if (_inputCount >= 2) then {
|
||||
_interactAttributes = param [1,[]];
|
||||
};
|
||||
if (_inputCount >= 3) then {
|
||||
_interactReturnOnUse = param [2,""];
|
||||
};
|
||||
|
||||
// diag_log format["DEBUG: %1",[_interactOption,_interactAttributes,_interactReturnOnUse]];
|
||||
|
||||
_removeItem = {([player,_this] call BIS_fnc_invRemove) == 1};
|
||||
|
||||
|
@ -12,7 +12,9 @@
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_debugMonitor.sqf
|
||||
*/
|
||||
private ["_customVars","_hours"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_customVars","_hours","_val"];
|
||||
//[[[end]]]
|
||||
_hours = floor(servertime/60/60);
|
||||
|
||||
_customVars = "";
|
||||
|
@ -12,7 +12,9 @@
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_fish.sqf
|
||||
*/
|
||||
private ["_bobber","_diffTime","_fishes","_fish","_randomChanceMax","_randomChance","_castTime","_nearByBobbers","_nearByBobbersLocal","_objects","_currentPos"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_bobber","_castTime","_currentPos","_diffTime","_fish","_fishes","_objects","_randomChance","_randomChanceMax"];
|
||||
//[[[end]]]
|
||||
|
||||
_currentPos = player modelToWorld[0, 5 + (random 5), 0];
|
||||
if (surfaceIsWater _currentPos) then {
|
||||
|
@ -16,6 +16,7 @@
|
||||
[_this select 1, _this select 2] remoteExec ['EPOCH_handleServerMessage',_x];
|
||||
|
||||
*/
|
||||
if (isLocalized (_this select 0)) then{
|
||||
[format["%1", format[localize (_this select 0), _this select 1]], 5] call Epoch_message;
|
||||
params [["_str",""],["_input",""]];
|
||||
if (isLocalized _str) then{
|
||||
[format["%1", format[localize _str, _input]], 5] call Epoch_message;
|
||||
};
|
||||
|
@ -12,7 +12,9 @@
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_interact.sqf
|
||||
*/
|
||||
private ["_vehSlot","_storSlot"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_storSlot","_vehSlot"];
|
||||
//[[[end]]]
|
||||
0 call EPOCH_refeshUI;
|
||||
if (!isNull _this) then {
|
||||
_vehSlot = _this getVariable ["VEHICLE_SLOT", "ABORT"];
|
||||
|
@ -12,7 +12,9 @@
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_lootTrash.sqf
|
||||
*/
|
||||
private["_found", "_return", "_foundLootObject", "_blood", "_foundTerminal", "_index"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_animal","_animalPos","_animals","_bankTerminal","_blood","_bloodPos","_cfgItemInteractions","_cfgObjectInteractions","_config","_configWorldInteractions","_configWorldName","_destroyTrashObj","_found","_foundLootObject","_foundObjConfig","_foundObjType","_foundTerminal","_foundWorldConfig","_getWorldTypes","_id","_index","_inputWorldTypes","_interactAttributes","_lootAnimalObj","_objects","_output","_randomAIClass","_return","_trashType"];
|
||||
//[[[end]]]
|
||||
_return = false;
|
||||
if (diag_tickTime - EPOCH_lastTrash > 2) then {
|
||||
EPOCH_lastTrash = diag_tickTime;
|
||||
|
@ -23,7 +23,10 @@
|
||||
Returns:
|
||||
|
||||
*/
|
||||
_paramres = params [["_trgt", str(diag_tickTime)],["_mPos", position player],["_mShape","ICON"],["_mType","mil_dot"],["_mColor","ColorBlack"],["_mSize",[0.7,0.7]],["_mBrush",""],["_mDir",0],["_mText",""],["_mAlpha",1],["_mName",""]];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_mName","_mrkr"];
|
||||
//[[[end]]]
|
||||
params [["_trgt", str(diag_tickTime)],["_mPos", position player],["_mShape","ICON"],["_mType","mil_dot"],["_mColor","ColorBlack"],["_mSize",[0.7,0.7]],["_mBrush",""],["_mDir",0],["_mText",""],["_mAlpha",1],["_mName",""]];
|
||||
diag_log format["Epoch: ADMIN: Creating marker at %1 called %2 (Params:%3).", _mPos, _trgt, _paramres];
|
||||
|
||||
if(_mName == "")then{_mName = str(_trgt) + str(diag_tickTime);};
|
||||
|
@ -12,8 +12,9 @@
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_mineRocks.sqf
|
||||
*/
|
||||
private ["_currentPos","_found","_foundIndex","_start","_end","_p3dName","_finalConfig","_str","_findStart","_object","_objects","_config"];
|
||||
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_config","_currentPos","_found","_foundIndex","_getWorldTypes","_object","_objects","_str","_worldTypes"];
|
||||
//[[[end]]]
|
||||
if ((diag_tickTime - EPOCH_lastMineRocks) >= 2) then {
|
||||
EPOCH_lastMineRocks = diag_tickTime;
|
||||
if (random 1 < 0.16) then {
|
||||
|
@ -12,22 +12,23 @@
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_niteLight.sqf
|
||||
*/
|
||||
private ["_pos"];
|
||||
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_config","_nlSettings","_pos"];
|
||||
//[[[end]]]
|
||||
if (!isNull EP_light) then {
|
||||
deleteVehicle EP_light;
|
||||
};
|
||||
_config = 'CfgEpochClient' call EPOCH_returnConfig;
|
||||
_nlSettings = getArray ( _config >> "niteLight");
|
||||
_nlBright = _nlSettings select 0;
|
||||
_nlZ = _nlSettings select 1;
|
||||
_pos = (getPosATL player);
|
||||
_pos set [2,_nlZ];
|
||||
EP_light = "#lightpoint" createvehiclelocal _pos;
|
||||
EP_light setposATL _pos;
|
||||
EP_light attachTo [player,[0,8.11,_nlZ]]; //offset infront of player so that the darkness is 'following' them.
|
||||
EP_light setLightDayLight true; //TODO: Test if this can be turned off (Dawn / Dusk)
|
||||
EP_light setLightBrightness _nlBright;
|
||||
EP_light setLightAmbient [0.435, 0.439, 0.439];//Using new Colours.
|
||||
EP_light setlightcolor [0.435, 0.439, 0.439];
|
||||
_nlSettings = getArray ( _config >> "niteLight") params [["_nlEnabled",1],["_nlBright",1.88],["_nlZ",22]];
|
||||
if (_nlEnabled isEqualTo 1) then {
|
||||
_pos = (getPosATL player);
|
||||
_pos set [2,_nlZ];
|
||||
EP_light = "#lightpoint" createvehiclelocal _pos;
|
||||
EP_light setposATL _pos;
|
||||
EP_light attachTo [player,[0,8.11,_nlZ]]; //offset infront of player so that the darkness is 'following' them.
|
||||
EP_light setLightDayLight true; //TODO: Test if this can be turned off (Dawn / Dusk)
|
||||
EP_light setLightBrightness _nlBright;
|
||||
EP_light setLightAmbient [0.435, 0.439, 0.439];//Using new Colours.
|
||||
EP_light setlightcolor [0.435, 0.439, 0.439];
|
||||
};
|
||||
true
|
||||
|
@ -21,7 +21,7 @@
|
||||
Returns:
|
||||
|
||||
*/
|
||||
_paramres = params [["_mName",""]];
|
||||
params [["_mName",""]];
|
||||
diag_log format["Epoch: ADMIN: Removing marker %1.", _mName];
|
||||
|
||||
if(_mName == "")exitWith{};
|
||||
|
@ -12,7 +12,9 @@
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_supportCopter.sqf
|
||||
*/
|
||||
private ["_aiskill","_unit","_player","_grp","_arrUnits","_arrSkills","_units"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_aiskill","_arrSkills","_arrUnits","_arrVals","_grp","_minAISkill","_player","_unit","_unitCount","_units"];
|
||||
//[[[end]]]
|
||||
params ["_pos","_copter"];
|
||||
|
||||
_player = player; //need to check on change owner
|
||||
@ -58,7 +60,7 @@ for "_i" from 0 to (_unitCount - 1) do {
|
||||
if (_aiskill<_minAISkill) then {_aiskill=_minAISkill};
|
||||
_unit setSkill [_arrSkills select _i,_arrVals select _i];
|
||||
};
|
||||
|
||||
|
||||
if (_i == 0) then {
|
||||
_grp selectLeader _unit;
|
||||
[_pos,_copter,_player,_unit] execFSM "\x\addons\a3_epoch_code\System\Group_Leader_Brain.fsm";
|
||||
|
@ -12,10 +12,12 @@
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_unitSpawn.sqf
|
||||
*/
|
||||
private ["_loop","_unit","_sapperNum","_config","_targetPos","_grp","_driver","_index","_nonJammer","_nonTrader","_jammers","_jammerRange","_restricted","_disableAI"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_bomb","_config","_currentLimit","_disableAI","_driver","_grp","_index","_jammerRange","_jammers","_loop","_nonJammer","_nonTrader","_nonTraderAIRange","_restricted","_sapperNum","_spawnLimit","_targetPos","_unit","_units"];
|
||||
//[[[end]]]
|
||||
params ["_unitClass",["_trgt",player],["_doVariable",false]];
|
||||
private _bomb = objNull;
|
||||
|
||||
_bomb = objNull;
|
||||
diag_log format["DEBUG: Antagonist %1 Spawning on %2. Do variable: %3.", _unitClass, _trgt, _doVariable];
|
||||
|
||||
if(random 100 < 6)then{
|
||||
@ -102,6 +104,7 @@ switch _unitClass do {
|
||||
_targetPos = [_targetPos, 600, 1200, 5, 0, 400, 0] call BIS_fnc_findSafePos;
|
||||
_targetPos set[2, 600];
|
||||
_unit = createVehicle["I_UAV_01_F", _targetPos, [], 0, "FLY"];
|
||||
_unit disableTIEquipment true;
|
||||
_units pushBack _unit;
|
||||
addToRemainsCollector[_unit];
|
||||
_unit flyInHeight 600;
|
||||
|
@ -12,7 +12,9 @@
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_unitSpawnDecrease.sqf
|
||||
*/
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_index"];
|
||||
//[[[end]]]
|
||||
params ["_spawnName", ["_decrease",1]];
|
||||
_index = EPOCH_spawnIndex find _spawnName;
|
||||
if (_index != -1) then{
|
||||
|
@ -12,7 +12,9 @@
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_unitSpawnIncrease.sqf
|
||||
*/
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_index"];
|
||||
//[[[end]]]
|
||||
params ["_spawnName", ["_increase",1]];
|
||||
_index = EPOCH_spawnIndex find _spawnName;
|
||||
if (_index != -1) then{
|
||||
|
@ -13,7 +13,9 @@
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_updateLoadingScreen.sqf
|
||||
*/
|
||||
disableSerialization;
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_display"];
|
||||
//[[[end]]]
|
||||
_display = uiNameSpace getVariable ["EPOCH_loadingScreen",displayNull];
|
||||
if (!isNull _display) then {
|
||||
(_display displayCtrl 50) ctrlSetText _this;
|
||||
|
@ -20,8 +20,10 @@
|
||||
Returns:
|
||||
OBJECT - Zombie Agent
|
||||
*/
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_clutterPos","_disableAI","_grave","_unit","_unitClass","_zMax","_zRange","_zedHandle","_zeds"];
|
||||
//[[[end]]]
|
||||
params [["_justSpawn",false]];
|
||||
private ["_zRange","_disableAI","_unitClass","_unit","_clutterPos","_zedHandle","_zMax"];
|
||||
_disableAI = {{_this disableAI _x}forEach["TARGET","AUTOTARGET","FSM"];};
|
||||
|
||||
_zRange = getNumber (getMissionConfig "CfgEpochRyanZombie" >> "range");
|
||||
|
@ -1,5 +1,7 @@
|
||||
// BIS function
|
||||
private ["_v","_d","_x","_y"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_d","_v","_x","_y"];
|
||||
//[[[end]]]
|
||||
_v = +(_this select 0);
|
||||
_d = _this select 1;
|
||||
|
||||
|
@ -23,52 +23,53 @@
|
||||
Returns:
|
||||
BOOL
|
||||
*/
|
||||
private ["_cat","_file","_fnc_path","_var_name","_file_raw","_itemCompile","_tag","_file_tag","_config","_returnConfig","_version"];
|
||||
params [["_configName","",[""]]];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_config","_config_name","_file","_file_raw","_file_tag","_fnc_path","_missionConfig","_tag","_var_name","_version"];
|
||||
//[[[end]]]
|
||||
params [["_configName","",[""] ] ];
|
||||
|
||||
_returnConfig = {
|
||||
private["_return", "_config"];
|
||||
_return = (configfile >> _this);
|
||||
_config = (getMissionConfig _this);
|
||||
if (isClass _config) then{
|
||||
_return = _config;
|
||||
};
|
||||
_return
|
||||
_config = (configfile >> _configName);
|
||||
_missionConfig = (getMissionConfig _configName);
|
||||
if (isClass _missionConfig) then{
|
||||
_config = _missionConfig;
|
||||
};
|
||||
|
||||
_config = _configName call _returnConfig;
|
||||
_version = getNumber(_config >> "version");
|
||||
if (_version == 1) then {
|
||||
if (_version >= 1) then {
|
||||
{
|
||||
if (isClass(_x)) then {
|
||||
_tag = getText(_x >> "tag");
|
||||
_file = getText(_x >> "file");
|
||||
_file_tag = _file;
|
||||
_cat = "";
|
||||
{
|
||||
if (isClass(_x)) then {
|
||||
_file = _file_tag;
|
||||
_file_raw = getText(_x >> "file");
|
||||
if (_file_raw == "") then {
|
||||
_cat = configName _x;
|
||||
_file = _file + "\" + _cat;
|
||||
_file = format["%1\%2", _file, configName _x];
|
||||
} else {
|
||||
_file = _file_raw;
|
||||
};
|
||||
{
|
||||
_var_name = _tag + "_" + configName _x;
|
||||
_fnc_path = _file + "\" + _var_name + ".sqf";
|
||||
_config_name = configName _x;
|
||||
//version 2 More like BI standard fnc / fn_
|
||||
_var_name = format["%1_fnc_%2", _tag, _config_name];
|
||||
_fnc_path = format["%1\fn_%2.sqf", _file, _config_name];
|
||||
if (_version == 1) then {
|
||||
//version 1 TAG + _ + configName
|
||||
_var_name = format["%1_%2", _tag, _config_name];
|
||||
_fnc_path = format["%1\%2.sqf", _file, _var_name];
|
||||
};
|
||||
_file_raw = getText(_x >> "file");
|
||||
if (_file_raw != "") then {
|
||||
_fnc_path = _file_raw;
|
||||
};
|
||||
_itemCompile = compileFinal preprocessFileLineNumbers _fnc_path;
|
||||
missionNamespace setvariable [_var_name,_itemCompile];
|
||||
} forEach ("isclass _x" configClasses (_x));
|
||||
missionNamespace setvariable [_var_name,compileFinal preprocessFileLineNumbers _fnc_path];
|
||||
if (getNumber(_x >> "preInit") == 1) then {
|
||||
call (missionNamespace getvariable _var_name);
|
||||
};
|
||||
} forEach (configProperties [_x, "isClass _x", true]);
|
||||
}
|
||||
} forEach ("isclass _x" configClasses (_x));
|
||||
} forEach (configProperties [_x, "isClass _x", true]);
|
||||
};
|
||||
} forEach ("isclass _x" configClasses (_config));
|
||||
} else {
|
||||
diag_log format["Epoch: Error Compiler format for %1 is out of date.",_configName];
|
||||
} forEach (configProperties [_config, "isClass _x", true]);
|
||||
};
|
||||
|
@ -25,7 +25,9 @@ _this select 1: SCALAR - state
|
||||
Returns:
|
||||
NOTHING
|
||||
*/
|
||||
private["_recipeItem", "_recipeQty", "_hasRecipeItems", "_msg", "_recipeCount", "_currentCount", "_numRemoved", "_items", "_mags", "_recipe", "_craftItem", "_craftQty", "_config", "_objClass"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_config","_craftItem","_craftQty","_currentCount","_hasRecipeItems","_items","_mags","_msg","_numRemoved","_objClass","_recipe","_recipeCount","_recipeItem","_recipeQty"];
|
||||
//[[[end]]]
|
||||
params[
|
||||
["_object", objNull],
|
||||
["_anim", ""],
|
||||
@ -65,6 +67,7 @@ if !(isNull _object) then{
|
||||
_recipeItem = _x;
|
||||
_recipeQty = 1;
|
||||
if (_x isEqualType[]) then{
|
||||
_x params ["_recipeItem","_recipeQty"];
|
||||
_recipeItem = _x select 0;
|
||||
_recipeQty = _x select 1;
|
||||
};
|
||||
|
@ -21,7 +21,9 @@
|
||||
Returns:
|
||||
ARRAY of BOOLs
|
||||
*/
|
||||
private ["_out","_objType","_config"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_config","_objType","_out"];
|
||||
//[[[end]]]
|
||||
_out = [false, false, false];
|
||||
|
||||
if !(isNil "EPOCH_simulSwap_Lock") exitWith{ _out };
|
||||
|
@ -21,7 +21,9 @@
|
||||
Returns:
|
||||
NOTHING
|
||||
*/
|
||||
private ["_cfgBaseBuilding","_posObj","_savedBuildPos","_previousBuildPos","_saveCheck","_endTime","_worldspace","_class","_newObj","_startTime","_objClass"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_cfgBaseBuilding","_class","_endTime","_newObj","_objClass","_posObj","_previousBuildPos","_saveCheck","_savedBuildPos","_startTime","_worldspace"];
|
||||
//[[[end]]]
|
||||
|
||||
if (!isNull _this) then {
|
||||
|
||||
|
@ -21,7 +21,9 @@
|
||||
Returns:
|
||||
BOOL
|
||||
*/
|
||||
private ["_targeter","_stability"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_stability","_targeter"];
|
||||
//[[[end]]]
|
||||
|
||||
if !(isNil "EPOCH_simulSwap_Lock") exitWith{ false };
|
||||
if !(isNull EPOCH_Target) exitWith{ false };
|
||||
|
@ -22,7 +22,9 @@
|
||||
Returns:
|
||||
BOOL
|
||||
*/
|
||||
private ["_cfgBaseBuilding","_buildingJammerRange","_buildingCountLimit","_buildingAllowed","_nearestJammer","_ownedJammerExists","_objectCount","_limitNearby","_restricted","_range","_config","_staticClass","_objType","_simulClass","_bypassJammer","_jammer","_restrictedLocations","_myPosATL"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_alljammer","_buildingAllowed","_buildingCountLeader","_buildingCountLimit","_buildingCountPerMember","_buildingJammerRange","_bypassJammer","_c","_cfgBaseBuilding","_config","_isAllowed","_jammer","_jammerpergroup","_limitNearby","_maxbuildingheigh","_membercount","_minjammerdistance","_myPosATL","_nearestJammer","_obj","_objType","_objectCount","_ownedJammerExists","_range","_restricted","_restrictedArray","_restrictedLocations","_restrictedLocationsArray","_restrictedLocationsRange","_simulClass","_staticClass","_storagecountLeader","_storagecountPerMember"];
|
||||
//[[[end]]]
|
||||
|
||||
_buildingAllowed = true;
|
||||
_ownedJammerExists = false;
|
||||
@ -165,10 +167,9 @@ if !(_buildingAllowed)exitWith{ false };
|
||||
if (getNumber(_config >> "buildingNearbyMilitary") == 0) then{
|
||||
_range = getNumber(_config >> "buildingNearbyMilitaryRange");
|
||||
if (_range > 0) then {
|
||||
_restricted = nearestObjects [player, ["ProtectionZone_Invisible_F","Cargo_Tower_base_F","Cargo_HQ_base_F","Cargo_Patrol_base_F","Cargo_House_base_F"], 300];
|
||||
} else {
|
||||
_restricted = nearestObjects [player, ["Cargo_Tower_base_F","Cargo_HQ_base_F","Cargo_Patrol_base_F","Cargo_House_base_F"], _range];
|
||||
_restricted append (nearestObjects [player, ["ProtectionZone_Invisible_F","Cargo_Tower_base_F","Cargo_HQ_base_F","Cargo_Patrol_base_F","Cargo_House_base_F"], 300]);
|
||||
_restrictedArray = ["ProtectionZone_Invisible_F"];
|
||||
_restrictedArray append getArray(_config >> "buildingNearbyMilitaryClasses");
|
||||
_restricted = nearestObjects [player, _restrictedArray, _range];
|
||||
};
|
||||
} else {
|
||||
_restricted = nearestObjects [player, ["ProtectionZone_Invisible_F"], 300];
|
||||
@ -178,10 +179,14 @@ if !(_restricted isEqualTo []) then {
|
||||
["Building Disallowed: Area Blocked", 5] call Epoch_message;
|
||||
};
|
||||
|
||||
_restrictedLocations = nearestLocations [player, ["NameCityCapital"], 300];
|
||||
if !(_restrictedLocations isEqualTo []) then {
|
||||
_buildingAllowed = false;
|
||||
["Building Disallowed: Area Blocked", 5] call Epoch_message;
|
||||
_restrictedLocationsArray = getArray(_config >> "restrictedLocations");
|
||||
_restrictedLocationsRange = getNumber(_config >> "restrictedLocationsRange");
|
||||
if !(_restrictedLocationsArray isEqualTo []) then {
|
||||
_restrictedLocations = nearestLocations [player, _restrictedLocationsArray, _restrictedLocationsRange];
|
||||
if !(_restrictedLocations isEqualTo []) then {
|
||||
_buildingAllowed = false;
|
||||
["Building Disallowed: Area Blocked", 5] call Epoch_message;
|
||||
};
|
||||
};
|
||||
|
||||
_myPosATL = getPosATL player;
|
||||
|
@ -21,13 +21,15 @@
|
||||
Returns:
|
||||
BOOL
|
||||
*/
|
||||
private ["_buildingJammerRange","_jammed","_config","_jammer"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_buildingJammerRange","_config","_jammed","_jammer"];
|
||||
//[[[end]]]
|
||||
|
||||
_config = "CfgEpochClient" call EPOCH_returnConfig;
|
||||
_buildingJammerRange = getNumber(_config >> "buildingJammerRange");
|
||||
if (_buildingJammerRange == 0) then { _buildingJammerRange = 75; };
|
||||
|
||||
_jammer = nearestObjects[player, ["PlotPole_EPOCH"], _buildingJammerRange];
|
||||
_jammer = nearestObjects[cameraon, ["PlotPole_EPOCH"], _buildingJammerRange];
|
||||
_jammed = false;
|
||||
if !(_jammer isEqualTo[]) then {
|
||||
{
|
||||
|
@ -21,7 +21,10 @@
|
||||
Returns:
|
||||
NOTHING
|
||||
*/
|
||||
private ["_buildingJammerRange","_maintainCount","_rnd","_config"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_buildingJammerRange","_config","_maintainCount","_rnd"];
|
||||
//[[[end]]]
|
||||
|
||||
if !(isNil "EPOCH_maintainLockout") exitWith {["Already Maintaining a base.", 5] call Epoch_message;};
|
||||
if (EPOCH_playerCrypto > 0) then {
|
||||
_config = "CfgEpochClient" call EPOCH_returnConfig;
|
||||
@ -31,8 +34,8 @@ if (EPOCH_playerCrypto > 0) then {
|
||||
_maintainCount = {(damage _x) > 0} count nearestObjects[_this, ["Constructions_static_F","Constructions_foundation_F","Buildable_Storage","Constructions_lockedstatic_F"], _buildingJammerRange];
|
||||
if (_maintainCount > 0) then {
|
||||
|
||||
if (EPOCH_playerCrypto < _maintainCount) then {
|
||||
_maintainCount = EPOCH_playerCrypto;
|
||||
if (EPOCH_playerCrypto < _maintainCount) exitwith {
|
||||
[format ["You need %1 Krypto to maintain your base.",_maintainCount], 5] call Epoch_message;
|
||||
};
|
||||
|
||||
_rnd = format ["rmx_var_temp%1%2",floor random 100, selectRandom ["A","B","C","D","E","F"]];
|
||||
|
@ -21,7 +21,9 @@
|
||||
Returns:
|
||||
BOOL - true if removed
|
||||
*/
|
||||
private ["_buildingJammerRange","_buildingCountLimit","_buildingAllowed","_nearestJammer","_ownedJammerExists","_jammer","_return","_config","_object","_objType","_targeter","_stability","_removeParts"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_buildingAllowed","_buildingCountLimit","_buildingJammerRange","_config","_jammer","_nearestJammer","_objType","_ownedJammerExists","_removeParts","_return","_stability","_targeter"];
|
||||
//[[[end]]]
|
||||
|
||||
_buildingAllowed = true;
|
||||
_ownedJammerExists = false;
|
||||
|
@ -21,7 +21,10 @@
|
||||
Returns:
|
||||
NOTHING
|
||||
*/
|
||||
private ["_simulClassConfig","_energyCost","_allowedSnapObjects","_worldspace","_objSlot","_textureSlot","_newObj","_lastCheckTime","_rejectMove","_nearestObject","_nearestObjectRaw","_distanceNear","_previousDistanceNear","_pOffset","_snapPos","_isSnap","_snapPosition","_snapType","_snapDistance","_prevSnapDistance","_snapPointsPara","_snapPointsPerp","_snapArrayPara","_snapArrayPerp","_pos2","_direction","_vel2","_dir2","_up2","_distance","_playerdistance","_class","_create","_allowedSnapPoints","_snapObjects","_currentTarget","_onContactEH","_offset","_disallowed","_object","_objType","_return","_velocityTransformation","_distanceMod","_oemType","_cfgBaseBuilding"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_allowedSnapObjects","_allowedSnapPoints","_cfgBaseBuilding","_class","_create","_currentTarget","_dir2","_direction","_disallowed","_distance","_distanceMod","_distanceNear","_energyCost","_isSnap","_lastCheckTime","_nearestObject","_nearestObjectRaw","_newObj","_objSlot","_objType","_object","_oemType","_offset","_onContactEH","_pOffset","_playerdistance","_pos2","_prevSnapDistance","_previousDistanceNear","_rejectMove","_removeParts","_return","_simulClassConfig","_snapArrayPara","_snapArrayPerp","_snapDistance","_snapObjects","_snapPointsPara","_snapPointsPerp","_snapPos","_snapPosition","_snapType","_textureSlot","_up2","_vel2","_velocityTransformation","_worldspace"];
|
||||
//[[[end]]]
|
||||
|
||||
if !(isNil "EPOCH_simulSwap_Lock") exitWith{};
|
||||
|
||||
_object = param [0,objNull];
|
||||
|
@ -22,8 +22,11 @@
|
||||
Returns:
|
||||
NOTHING
|
||||
*/
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_EPOCH_1","_EPOCH_2","_allowedSnapObjects","_allowedSnapPoints","_arr_snapPoints","_baselineSnapPos","_cfgBaseBuilding","_class","_currentOffSet","_currentPos","_currentTarget","_dir2","_direction","_distance","_energyCost","_ins","_isSnap","_lastCheckTime","_maxHeight","_maxSnapDistance","_nearestObject","_nearestObjects","_numberOfContacts","_objSlot","_objType","_offSet","_offsetZPos","_pOffset","_pos1","_pos1_snap","_pos2","_pos2ATL","_pos2_snap","_pos_snapObj","_rejectMove","_simulClass","_snapChecks","_snapConfig","_snapDistance","_snapPointsPara","_snapPointsPerp","_snapPos","_snapPos1","_snapPosition","_snapType","_stabilityCheck","_up2","_worldspace"];
|
||||
//[[[end]]]
|
||||
if !(isNil "EPOCH_simulSwap_Lock") exitWith{};
|
||||
private ["_cfgBaseBuilding","_energyCost","_maxHeight","_stabilityCheck","_pos2ATL","_lastCheckTime","_rejectMove","_currentOffSet","_dir2","_up2","_nearestObject","_isSnap","_snapPosition","_snapType","_pOffset","_snapPos","_snapDistance","_snapPos1","_pos_snapObj","_direction","_pos1_snap","_pos2_snap","_ins","_EPOCH_2","_arr_snapPoints","_pos1","_offSet","_snapConfig","_snapPointsPara","_snapPointsPerp","_baselineSnapPos","_distance","_nearestObjects","_EPOCH_1","_pos2","_numberOfContacts","_worldspace","_currentTarget","_offsetZPos","_currentPos","_objSlot","_allowedSnapPoints","_allowedSnapObjects","_objType","_class","_simulClass","_snapChecks","_maxSnapDistance"];
|
||||
|
||||
params [
|
||||
["_object",objNull],
|
||||
["_item",""]
|
||||
|
@ -22,7 +22,9 @@
|
||||
Returns:
|
||||
NOTHING
|
||||
*/
|
||||
private ["_buildingJammerRange","_buildingCountLimit","_nearestJammer","_ownedJammerExists","_buildingAllowed","_missingCount","_canUpgrade","_missingParts","_part","_req","_partCheck","_canUpgradePartCount","_removedPartCount","_return","_upgrade","_upgradeParts","_config","_upgrades","_targeter","_stability","_jammer"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_buildingAllowed","_buildingCountLimit","_buildingJammerRange","_canUpgrade","_canUpgradePartCount","_config","_jammer","_missingCount","_missingParts","_nearestJammer","_ownedJammerExists","_part","_partCheck","_removedPartCount","_req","_return","_stability","_targeter","_upgrade","_upgradeParts","_upgrades"];
|
||||
//[[[end]]]
|
||||
params [
|
||||
["_object",objNull,[objNull]],
|
||||
["_index",-1,[0]]
|
||||
@ -81,6 +83,13 @@ if (_object isKindOf "Constructions_static_F") then {
|
||||
|
||||
// take upgrade item from player here
|
||||
_config = 'CfgBaseBuilding' call EPOCH_returnConfig;
|
||||
_config2 = 'CfgEpochClient' call EPOCH_returnConfig;
|
||||
_buildingJammerRange = getNumber(_config2 >> "buildingJammerRange");
|
||||
_maxdoors = getNumber(_config2 >> "maxdoors");
|
||||
_maxgates = getNumber(_config2 >> "maxgates");
|
||||
if (_buildingJammerRange == 0) then {_buildingJammerRange = 150};
|
||||
if (_maxdoors == 0) then {_maxdoors = 12};
|
||||
if (_maxgates == 0) then {_maxgates = 10};
|
||||
|
||||
_upgrades = getArray(_config >> (typeOf _object) >> "upgradeBuilding");
|
||||
if !(_upgrades isEqualTo []) then {
|
||||
@ -106,6 +115,26 @@ if (_object isKindOf "Constructions_static_F") then {
|
||||
};
|
||||
_canUpgradePartCount = _canUpgradePartCount + _req;
|
||||
} forEach _upgradeParts;
|
||||
|
||||
_doors = ["WoodLargeWallDoorL_EPOCH","WoodWall4_EPOCH"];
|
||||
_gates = ["CinderWallGarage_EPOCH"];
|
||||
if (_canUpgrade) then {
|
||||
_upgradeto = _upgrade select 0;
|
||||
if (_upgradeto in _doors) then {
|
||||
_countdoors = count (nearestobjects [_nearestJammer,_doors,_buildingJammerRange]);
|
||||
if (_countdoors >= _maxdoors) then {
|
||||
_canUpgrade = false;
|
||||
_missingParts = _missingParts + format["Can not upgrade to locked Door! Max %1 allowed per Base!", _maxdoors];
|
||||
};
|
||||
};
|
||||
if (_upgradeto in _gates) then {
|
||||
_countgates = count (nearestobjects [_nearestJammer,_gates,_buildingJammerRange]);
|
||||
if (_countgates >= _maxgates) then {
|
||||
_canUpgrade = false;
|
||||
_missingParts = _missingParts + format["Can not upgrade to Gate! Max %1 allowed per Base!", _maxgates];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
_removedPartCount = 0;
|
||||
if (_canUpgrade) then {
|
||||
|
@ -21,7 +21,9 @@
|
||||
Returns:
|
||||
NOTHING
|
||||
*/
|
||||
private ["_distance","_toxicChance","_bloodpChance","_fatigueChance","_bleedAmount","_bloodpAmount","_soundEffect","_canSee","_ppEffect","_bleedChance","_soundEffectIndex","_soundEffectGlobal","_animationEffect","_animationEffectGlobal","_cfgObjectInteraction"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_animConfigArray","_animationEffect","_animationEffectGlobal","_bleedAmount","_bleedChance","_bloodpAmount","_bloodpChance","_canSee","_cfgObjectInteraction","_distance","_fatigueChance","_handle","_handles","_ppEffect","_say3dsoundsConfig","_selectedMove","_selectedSound","_soundConfigArray","_soundEffect","_soundEffectGlobal","_switchMovehandlerConfig","_toxicChance"];
|
||||
//[[[end]]]
|
||||
params [["_unit",objNull],["_target",player]];
|
||||
if (isNull _unit && isNull _target) exitWith {};
|
||||
if !(_target isEqualTo player) then {
|
||||
@ -55,7 +57,7 @@ if !(_target isEqualTo player) then {
|
||||
};
|
||||
_animationEffectGlobal = getNumber (_cfgObjectInteraction >> "animationEffectGlobal");
|
||||
_canSee = call compile (getText (_cfgObjectInteraction >> "canSee"));
|
||||
_ppEffect = getNumber (_cfgObjectInteraction >> "ppEffect");
|
||||
_ppEffect = getArray (_cfgObjectInteraction >> "ppEffect");
|
||||
|
||||
if ((_unit distance player) < _distance && _canSee) then {
|
||||
|
||||
@ -91,35 +93,8 @@ if !(_target isEqualTo player) then {
|
||||
};
|
||||
if (random 1 < _bloodpChance) then {
|
||||
EPOCH_playerBloodP = (EPOCH_playerBloodP + (_bloodpAmount + (EPOCH_playerBloodP - 100))) min 190;
|
||||
// todo configize
|
||||
if (_ppEffect == 1) then {
|
||||
[] spawn{
|
||||
_ppGrain = ppEffectCreate["filmGrain", 2005];
|
||||
_ppChrom = ppEffectCreate["chromAberration", 2006];
|
||||
_ppColor = ppEffectCreate["colorCorrections", 2007];
|
||||
_ppBlur = ppEffectCreate["radialBlur", 2008];
|
||||
_ppColor ppEffectAdjust[1, 1, 0, [1.5, -1, -1.5, 0.5], [5, 3.5, -5, -0.5], [-3, 5, -5, -0.5]];
|
||||
_ppColor ppEffectCommit 5;
|
||||
_ppChrom ppEffectAdjust[0.01, 0.01, true];
|
||||
_ppChrom ppEffectCommit 5;
|
||||
_ppBlur ppEffectAdjust[0.02, 0.02, 0.15, 0.15];
|
||||
_ppBlur ppEffectCommit 5;
|
||||
_ppGrain ppEffectAdjust[0.1, -1, 0.05, 0.05, 2, false];
|
||||
_ppGrain ppEffectCommit 1;
|
||||
_ppGrain ppEffectEnable true;
|
||||
_ppChrom ppEffectEnable true;
|
||||
_ppColor ppEffectEnable true;
|
||||
_ppBlur ppEffectEnable true;
|
||||
uiSleep 2;
|
||||
_ppColor ppEffectAdjust[1, 1, -0.01, [0.0, 0.0, 0.0, 0.0], [1.5, 1, 1.2, 0.6], [0.199, 0.587, 0.114, 0.20]];
|
||||
_ppColor ppEffectCommit 5;
|
||||
_ppChrom ppEffectAdjust[0, 0, true];
|
||||
_ppChrom ppEffectCommit 5;
|
||||
_ppBlur ppEffectAdjust[0, 0, 0, 0];
|
||||
_ppBlur ppEffectCommit 5;
|
||||
uiSleep 5;
|
||||
ppEffectDestroy[_ppGrain, _ppChrom, _ppColor, _ppBlur];
|
||||
};
|
||||
if !(_ppEffect isEqualTo []) then {
|
||||
[_ppEffect] spawn EPOCH_fnc_spawnEffects;
|
||||
};
|
||||
};
|
||||
if (random 1 < _fatigueChance) then {
|
||||
|
@ -21,8 +21,10 @@
|
||||
Returns:
|
||||
Script handle
|
||||
*/
|
||||
private ["_intensity","_distance"];
|
||||
params [["_epicenter",[0,0,0], [[]]]];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_distance","_intensity"];
|
||||
//[[[end]]]
|
||||
params [["_epicenter",[0,0,0],[[]] ] ];
|
||||
_distance = player distance _epicenter;
|
||||
_intensity = 1;
|
||||
if (_distance < 250) then {
|
||||
|
@ -21,12 +21,14 @@
|
||||
Returns:
|
||||
NOTHING
|
||||
*/
|
||||
private ["_randomAIClass","_animalPos","_tryAnimalPos","_id","_animal","_animalAiTables","_playerPos"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_animal","_animalAiTables","_animalPos","_id","_playerPos","_randomAIClass","_tryAnimalPos"];
|
||||
//[[[end]]]
|
||||
|
||||
// TODO: move static arrays to config
|
||||
if (count(player nearEntities["Animal_Base_F", 200]) >= 1) exitWith{};
|
||||
|
||||
_animalAiTables = ["Sheep_random_EPOCH", "Sheep_random_EPOCH", "Goat_random_EPOCH", "Goat_random_EPOCH", "Goat_random_EPOCH", ["Cock_random_EPOCH", "Hen_random_EPOCH"], ["Cock_random_EPOCH", "Hen_random_EPOCH"], "Rabbit_EPOCH", "Rabbit_EPOCH", "Rabbit_EPOCH", "Snake_random_EPOCH", "Snake2_random_EPOCH", ["Fin_random_EPOCH", "Alsatian_Random_EPOCH"]];
|
||||
_animalAiTables = ["CfgEpochClient", "animalAiTables", ["Sheep_random_EPOCH", "Sheep_random_EPOCH", "Goat_random_EPOCH", "Goat_random_EPOCH", "Goat_random_EPOCH", ["Cock_random_EPOCH", "Hen_random_EPOCH"], ["Cock_random_EPOCH", "Hen_random_EPOCH"], "Rabbit_EPOCH", "Rabbit_EPOCH", "Rabbit_EPOCH", "Snake_random_EPOCH", "Snake2_random_EPOCH", ["Fin_random_EPOCH", "Alsatian_Random_EPOCH"] ] ] call EPOCH_fnc_returnConfigEntryV2;
|
||||
|
||||
_randomAIClass = selectRandom _animalAiTables;
|
||||
_animalPos = nil;
|
||||
_playerPos = position player;
|
||||
|
24
Sources/epoch_code/compile/event_handlers/EPOCH_getInMan.sqf
Normal file
24
Sources/epoch_code/compile/event_handlers/EPOCH_getInMan.sqf
Normal file
@ -0,0 +1,24 @@
|
||||
/*
|
||||
Author: Aaron Clark - EpochMod.com
|
||||
|
||||
Contributors:
|
||||
|
||||
Description:
|
||||
Get In handler for A3 Epoch
|
||||
|
||||
Licence:
|
||||
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
|
||||
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_getInMan_EH.sqf
|
||||
*/
|
||||
params ["_unit","_position","_vehicle"];
|
||||
if (_unit == player) then {
|
||||
// Disable build mode
|
||||
if (EPOCH_buildMode > 0) then {
|
||||
EPOCH_buildMode = 0;
|
||||
EPOCH_snapDirection = 0;
|
||||
["BUILD MODE: DISABLED", 5] call Epoch_message;
|
||||
EPOCH_Target = objNull;
|
||||
};
|
||||
};
|
@ -4,15 +4,18 @@
|
||||
Contributors:
|
||||
|
||||
Description:
|
||||
A3 Epoch Anti-Vehicle Wall glitch
|
||||
Get out handler for A3 Epoch
|
||||
Includes Anti-Vehicle Wall glitch checks
|
||||
|
||||
Licence:
|
||||
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
|
||||
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_antiWall.sqf
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_getOutMan_EH.sqf
|
||||
*/
|
||||
private ["_start","_end","_dirTo"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_dirTo","_end","_start"];
|
||||
//[[[end]]]
|
||||
params ["_unit","_position","_vehicle"];
|
||||
if (_unit == player) then {
|
||||
_start = getPosWorld _vehicle;
|
@ -23,7 +23,9 @@
|
||||
Returns:
|
||||
MIXED
|
||||
*/
|
||||
private ["_ratio","_b","_r","_g"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_b","_color","_g","_r","_ratio","_return"];
|
||||
//[[[end]]]
|
||||
params ["_minimum", "_maximum", "_value", "_alpha"];
|
||||
_ratio = 2 * (_value-_minimum) / (_maximum - _minimum);
|
||||
_b = 0 max (255*(1 - _ratio));
|
||||
|
@ -23,7 +23,9 @@
|
||||
Returns:
|
||||
MIXED
|
||||
*/
|
||||
private["_config", "_varData","_missionconfig","_finalconfig"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_config","_finalconfig","_missionconfig","_sapperRndChance","_varData"];
|
||||
//[[[end]]]
|
||||
params ["_configClass","_variableName","_defaultData"];
|
||||
_varData = _defaultData;
|
||||
_config = (configfile >> _configClass);
|
||||
|
@ -21,7 +21,9 @@
|
||||
Returns:
|
||||
NOTHING
|
||||
*/
|
||||
private ["_warming","_wet","_increaseWet","_isNearFire","_playerPosATL","_maxTemp","_airTemp","_waterTemp","_wetsuit"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_airTemp","_increaseWet","_isNearFire","_maxTemp","_playerPosATL","_warming","_waterTemp","_wet","_wetsuit"];
|
||||
//[[[end]]]
|
||||
|
||||
if (isNil "EPOCH_CURRENT_WEATHER") then {
|
||||
EPOCH_CURRENT_WEATHER = 75;
|
||||
|
@ -22,7 +22,9 @@
|
||||
Returns:
|
||||
BOOL
|
||||
*/
|
||||
private ["_wHPos","_wH","_nearByHolder"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_nearByHolder","_wH","_wHPos"];
|
||||
//[[[end]]]
|
||||
params [["_item","",[""]],["_count",1]];
|
||||
for "_i" from 1 to _count do
|
||||
{
|
||||
|
@ -0,0 +1,2 @@
|
||||
// fix strings to bool
|
||||
_this apply {if (_x isEqualType "true") then {_x isEqualTo "true"} else {_x}}
|
@ -24,7 +24,9 @@
|
||||
Returns:
|
||||
(OBJECT or objNull)
|
||||
*/
|
||||
private ["_ins"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_ins","_target"];
|
||||
//[[[end]]]
|
||||
params [["_distance",10], ["_lod1", "VIEW"], ["_lod2","FIRE"], ["_sort",true]];
|
||||
if (EPOCH_playerIsSwimming) then {
|
||||
_ins = lineIntersectsSurfaces [AGLToASL positionCameraToWorld [0,0,0],AGLToASL positionCameraToWorld [0,0,_distance],player,objNull,_sort,1,_lod1,_lod2];
|
||||
|
@ -23,7 +23,9 @@
|
||||
Returns:
|
||||
SCALAR - (direction 0-360)
|
||||
*/
|
||||
private ["_ret"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_dirToF","_pos1","_pos2","_ret"];
|
||||
//[[[end]]]
|
||||
params ["_pos1","_pos2",["_spread",32]];
|
||||
|
||||
//if objects, not positions, were passed in, then get their positions
|
||||
|
@ -25,7 +25,9 @@
|
||||
Returns:
|
||||
ARRAY
|
||||
*/
|
||||
private ["_dir","_rnd","_pos","_dist","_minIn","_outPos"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_dir","_dist","_moveTo","_pos","_rnd"];
|
||||
//[[[end]]]
|
||||
params ["_maxIn","_minIn","_arcIn","_unitIn",["_offset",0]];
|
||||
|
||||
_rnd = ((180 +_offset) - (_arcIn / 2)) + (random _arcIn);
|
||||
|
@ -26,7 +26,9 @@
|
||||
Returns:
|
||||
ARRAY
|
||||
*/
|
||||
private["_rDist","_rDir","_outPos","_nrRoad","_nrRoads"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_moveTo","_nrRoad","_nrRoads","_outPos","_rDir","_rDist"];
|
||||
//[[[end]]]
|
||||
params ["_inPos","_MinDist","_MaxDist",["_outHeight",0],["_onRoad",false]];
|
||||
|
||||
_rDist = (random (_MaxDist - _MinDist))+_MinDist;
|
||||
|
@ -26,7 +26,9 @@
|
||||
Returns:
|
||||
ARRAY
|
||||
*/
|
||||
private ["_dir","_dirTo","_rnd","_pos","_dist"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_dir","_dirTo","_dist","_moveTo","_pos","_rnd"];
|
||||
//[[[end]]]
|
||||
params ["_maxIn","_minIn","_arcIn","_unitIn","_offset","_trgtIn"];
|
||||
|
||||
_dirTo = (position _unitIn) getDir (position _trgtIn);
|
||||
|
@ -21,7 +21,9 @@
|
||||
Returns:
|
||||
BOOL
|
||||
*/
|
||||
private ["_playerPosASL","_abovePlayerPosASL"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_abovePlayerPosASL","_inBuilding","_playerPosASL"];
|
||||
//[[[end]]]
|
||||
_playerPosASL = visiblePositionASL player;
|
||||
_abovePlayerPosASL = [_playerPosASL select 0,_playerPosASL select 1,(_playerPosASL select 2) + 10];
|
||||
//Return:
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user