Merge pull request #649 from EpochModTeam/experimental

Release 0.4 b639
This commit is contained in:
vbawol 2016-11-03 14:37:02 -05:00 committed by GitHub
commit a4bf2926f1
318 changed files with 71559 additions and 17029 deletions

View File

@ -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
View 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.

View File

@ -2,6 +2,7 @@
BattlEyePath = C:\BattlEye
InstanceID = NA123
LogAbuse = 1
LogLimit = 999
IP = 127.0.0.1
Port = 2306
Password = changeme

File diff suppressed because one or more lines are too long

View File

@ -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

View File

@ -1 +0,0 @@
libhiredis.so.0.10

View File

@ -1 +0,0 @@
libpcre.so.3.13.1

View File

@ -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.

Binary file not shown.

Binary file not shown.

View File

@ -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)_"

View File

@ -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)"

View File

@ -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

View File

@ -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"

View File

@ -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;
};

View File

@ -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>*/

View File

@ -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,""];
};
};
};
};

View File

@ -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;
{

View File

@ -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;

View File

@ -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];

View File

@ -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

View File

@ -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"];

View File

@ -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 {

View File

@ -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};

View File

@ -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 = "";

View File

@ -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 {

View File

@ -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;
};

View File

@ -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"];

View File

@ -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;

View File

@ -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);};

View File

@ -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 {

View File

@ -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

View File

@ -21,7 +21,7 @@
Returns:
*/
_paramres = params [["_mName",""]];
params [["_mName",""]];
diag_log format["Epoch: ADMIN: Removing marker %1.", _mName];
if(_mName == "")exitWith{};

View File

@ -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";

View File

@ -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;

View File

@ -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{

View File

@ -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{

View File

@ -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;

View File

@ -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");

View File

@ -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;

View File

@ -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]);
};

View File

@ -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;
};

View File

@ -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 };

View File

@ -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 {

View File

@ -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 };

View File

@ -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;

View File

@ -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 {
{

View File

@ -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"]];

View File

@ -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;

View File

@ -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];

View File

@ -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",""]

View File

@ -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 {

View File

@ -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 {

View File

@ -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 {

View File

@ -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;

View 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;
};
};

View File

@ -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;

View File

@ -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));

View File

@ -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);

View File

@ -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;

View File

@ -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
{

View File

@ -0,0 +1,2 @@
// fix strings to bool
_this apply {if (_x isEqualType "true") then {_x isEqualTo "true"} else {_x}}

View File

@ -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];

View File

@ -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

View File

@ -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);

View File

@ -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;

View File

@ -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);

View File

@ -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