Jump to content

Drokz

Member
  • Posts

    254
  • Joined

  • Last visited

  • Days Won

    4

Reputation Activity

  1. Like
    Drokz got a reaction from vbawol in Enhanced Arma 3 Inventory   
    Its an epoch built in feature so if you run an epoch server its useless to download
  2. Like
    Drokz reacted to He-Man in Epoch 1.2 Release Changelog   
    After some weeks without sun and without healthy food, we come to the next state... EPOCH-Mod 1.2!
    We have spent a lot of time to fix / add and change a lot for you in this release.
    Hopefully we have not added more bugs than new features, so you get to experience our work without issues.
    For the full changelog, visit: https://github.com/EpochModTeam/Epoch/blob/release/changelog.md

    Client-Files:
    - Steam Workshop: https://steamcommunity.com/sharedfiles/filedetails/421839251
    - several hosters (check the downloads section on https://epochmod.com/)

    Server-Files:
    - Github: https://github.com/EpochModTeam/Epoch/archive/release.zip
     
    Added
    Radiation Suits to Loot, Pricing and Itemsort @He-Man Reworked Trader Menu @He-Man Secondary Weapon can now be sold directly from hand Attachments from sold weapons from hand will be put back into your Inventory Weapons in hand are now marked in menu as "in Hand" Solar Charger for EnergyPacks - Put an EnergyPack into the Charger and wait... @Helion4, @He-Man 4 Hoverboard Vehicles: @Helion4 "hoverboard_epoch_1" "hoverboard_epoch_bttf" "hoverboard_epoch_a3" "hoverboard_epoch_cargo" Mountainbike "MBK_01_EPOCH" @Helion4 Helicopter UH1H "uh1h_Epoch" @Helion4 BaseCam + BaseCam Terminal @Helion4, @He-Man Build Cams at your Base and watch them through the Terminal Wooden Stairs with lockable Bars on the top (upgradeable from Wooden Stairs) @Helion4 Wood and Metal Garage Doors as upgradeable Baseparts @Helion4, @He-Man 1/3 Plywood wall directly craftable @Helion4, @He-Man You can now wash yourself with a soap in your inventory at water sources (reduce Soiled) @Helion4, @He-Man 2 new masks (Thor Helmet "thor_mask_epoch" and Iron Man Mask "iron_mask_epoch") @Helion4 Fixed
    Mine Rocks / Chop Wood was only possible with Swords after 1.1.0 update. @He-Man Alive Toxic Sapper was not toxic @He-Man Binocular with "B" was not working, if you are using R3F or AdvSlingLoad @He-Man Models for Radiation Suits @Helion4 Hopefully less login issues on BaseSpawn @He-Man Kick by using Jet ejector seats @He-Man Wrong calculated Bullets in Traders @He-Man Locked Vehicles were unlocked after upgrade @He-Man Everybody was able to open Hatch on Windows / Doors on foreign Bases @He-Man Ban for "RscMenuTeam" commandmenu @He-Man Adjusted some SnapPoints for Basebuilding to be more accurate @He-Man Advanced Vehicle Repair was broken after last Arma Update (Tank DLC) @He-Man Added missing ItemWaterPurificationTablets to pricing @G-Dog MultiGun was not working on very large Vehicles (VTOL) @He-Man GoldenSeal will no longer disappear when fully grown in a Garden @He-Man Items in Subcontainers (Items in BackPacks in Containers) were not saved @He-Man Drunk effects were not working correctly @He-Man Model / Graphics fix for Cinder Floors @Helion4 Snapped Walls on Stairs sometimes were not fixed correctly @Helion4 Quadbike handling was a bit too slippery @Helion4 Changed
    Reworked Vehicle Load / Save commands for more precise Vehicle Spawn @He-Man Made Temp-Vehicles tradable (will not be stored in Trader after selling them) @He-Man Wood / Cinder Walls can now snap to each other @He-Man Energy from windsources / solarsources is now calculated by wind / overcast @He-Man Ammo of crafted Mags are calculated by the left ammo of used Mags (example: EnergyPacks) @He-Man Consumed EnergyPacks give only energy calculated by left ammo in the Pack @He-Man Vehicle pricing adjustments "import tariffs" @vbawol Some now Icons for Dynamenu @Forelle Vierkant
  3. Like
    Drokz reacted to Helion4 in The Epoch Mod Hoverboard is here.   
    Better late than never.




  4. Like
    Drokz reacted to Grahame in [UPGRADED DEC2017][scarCODE] Virtual Garage System by IT07   
    Anyone who is using @DirtySanchez's excellent update to the Virtual Garage who also wants vehicle persistence through a restart added back when a vehicle is removed from a garage can do the following to the server side files.
    First add the following line to  a3_epoch_virtualGarage/config.cpp:
    persistentVehicles = 1; // Are vehicles read from the garage made persistent on the server? Replace a3_epoch_virtualGarage/functions_VGS/fn_vgsReadFromGarage.sqf with this:
    RePBO a3_epoch_virtualGarage.pbo and upload back to @epochhive/addons on your server.
    Pull request submitted so hopefully this will be in his base repo. 
  5. Like
    Drokz reacted to Ghostrider-GRG in [CONTINUED] blckeagls' AI Mission Version 7.06 Build 239   
    V 6.81 build 124 now on Experimental branch.
    See the changelog there for details which include two new mission types and a bunch of bug fixes and other smaller enhancements.
  6. Like
    Drokz got a reaction from natoed in [Release] Lootspawner, configurable building loot system   
    This is what Grahame wrote on top:

    Since weare sharing, here's mine for Chernarus and all it's flavours (vanilla, OCP, DS Houses, Plus and Redux):
     
    So it includes the redux buildings aswell
  7. Like
    Drokz reacted to TheVampire in Make Epoch great again! (Endgame motivation)   
    What Epoch endgame needs is something similar to DayZ Origins, but perhaps less grindy.
    Bosses that are hard to find or expensive to summon, that have a very low rare drop chance which allows the players to access something unique like Sector B was. Maybe something that requires a large group.
     
    Something else is an ongoing fight, like I was working towards with VEMF. If players don't login and fight expanding AI, it makes it harder on the players to do what they need done.
    Unfortunately I don't see either of these being added into the core mod.
     
  8. Like
    Drokz reacted to Helion4 in Make Epoch great again! (Endgame motivation)   
    A lot of this is all down to play style of the Arma-mod players.
    There, I said it.
    Most players will only play if they have a Sniper rifle.                    **** Did you reach 'end game? oh then I'll delete everything you own and you can go play only using LMG's then, enjoy****
    Most people buy a heli and Lift-sell every vehicle they can find. ****how about starting over and you can only use ground vehicles?****
    Most people buy everything                                                               **** well next play through, you cant use the traders to buy weapons or vehicles or food or meds etc, choose one. ****
    From A2 to A3 this seems to a repeating pattern, and when players say they are bored, they never want to change - they want the mod to change. I played Tetris on the Nintendo Game Boy, for hours & hours & hours and eventually I got bored. My friend pointed out to me that I should turn the Game Boy upside-down and play....it was like playing a new game!!!! And what was better, once i got bored of playing upside-down I flipped it right side up again and the experience changed AGAIN! I did this multiple times, until the Amiga500 came along. Changing the way you play can have so much affect on a game!
    As @TheVampire points out, the server host can make the difference in stretching out play towards end game with new and inventive ideas, but I also believe server owners should trust more in the core mechanics of the mod too, for example:-
    Making loot spawn more frequent = speeds up 'end game'
    Removing Antagonists = speeds up 'end game'
    adding 100 spawn points = speeds up 'end game'
    Black Market traders full of everything = speeds up 'end game'
    PVE = An obvious fast track to end game much much quicker than anything else.
    All these things affect the speed of reaching end game, and have to be balanced properly ( or even not included in a server)  to ensure risk/reward is a reasonably tough decision to make. That's what made the Dayz mod (& other early Arma-mods) phenomenon an incredible experience, many players had something they hadn't known before then. FEAR of DECISION. Now there is no fear, because  - "i'll just buy my sniper & big pack back if I die".
    This, this is also a big problem. There simply cant be anything unknown nowadays. With admins spawning all items/vehicles/weapons in - to YouTube videos showcasing a latest update, nothing is left to be discovered. And I imagine if all epoch devs kept quiet while working on new content, we would have even more posts like  "is epoch dead"  and many more players and server hosts will abandon hope.

    There are a couple of interesting ideas in this thread.
  9. Like
    Drokz reacted to Grahame in Calling Your Banker   
    Sometimes you are going to be caught short in the wild; maybe you found a trader in the wilderness or just did a GTA job on a roaming AI truck and nicked their crypto. Well, if you allow ATMs and phones, here's a little bit of code to let you call the bank when you cannot find them...
    (1) Add the particular items that you want to allow people to call on to your loot tables and trader configs. Choices include: ItemMobilePhone_old, ItemMobilePhone_smart, ItemPortableLongRangeRadio, ItemSatellitePhone, ItemSurvivalRadio
    (2) For each of the items you want to use for remote calling the bank add the lines below for it to epoch_config/Configs/CfgItemInteractions.hpp:
    class ItemMobilePhone_old : Default { interactAction = 18; interactText = "CALL BANKER"; }; class ItemMobilePhone_smart : Default { interactAction = 18; interactText = "CALL BANKER"; }; class ItemPortableLongRangeRadio : Default { interactAction = 18; interactText = "CALL BANKER"; }; class ItemSatellitePhone : Default { interactAction = 18; interactText = "CALL BANKER"; }; class ItemSurvivalRadio : Default { interactAction = 18; interactText = "CALL BANKER"; }; (3) Before these lines at the end of epoch_code/compile/EPOCH_consumeItem.sqf:
    default { ["Found nothing", 5] call Epoch_message; }; Add:
    case 18: { // Call banker if (isNil "EPOCH_bankTransferActive") then { if (random 1 > 0.5) then { [player, [], Epoch_personalToken] remoteExec ["EPOCH_server_storeCrypto",2]; closeDialog 0; createDialog "InteractBank"; lbClear 21500; { _index = lbAdd[21500, name _x]; lbSetData[21500, _index, netId _x]; } forEach(allPlayers - [player]); } else { ["You cannot get a signal, please try again", 5] call Epoch_message; }; }; }; Note that there's a bit of randomization so the players only have a 50% chance of getting through. You can reduce this further to make their lives more interesting 
    That's it. RePBO the mission and upload to your server.
  10. Like
    Drokz reacted to Grahame in DayZ Style Morphine in A3E   
    In vanilla Epoch 1.1 the use of morphine basically is just as an FAK with a different name... it heals all damage with a couple of side effects on toxicity, stamina and blood pressure. I rather liked the old dayz where morphine was specifically required to fix a broken leg... so I changed some code here and added some there and... voila! Now you can have morphine that will only fix a broken leg and First Aid Kits that will not!
    First let's ensure that First Aid Kits do not heal broken legs. This is done by making them completely heal all body parts except for broken legs, which they will heal to a damage minumum of 0.51 (a broken leg in ARMA3 and Epoch is one damaged greater than 0.5). So, let's change the interaction for FAKs so that they will do this. Change lines 337-362 in epoch_code/compile/EPOCH_consumeItem.sqf from:
    case 13: { //Heal Player _vehicles = player nearEntities[["Epoch_Male_F", "Epoch_Female_F"], 6]; _vehicle = cursorTarget; if !(_vehicle in _vehicles) then { _vehicle = player; }; if (damage _vehicle != 0 || {_x > 0} count ((getallhitpointsdamage _vehicle) select 2) > 0) then { if (_item call _removeItem) then { [_vehicle] spawn { params ["_vehicle"]; if (player == vehicle player) then { closeDialog 0; player playMove 'AinvPknlMstpSnonWrflDnon_medic0'; player playMove 'AinvPknlMstpSnonWrflDnon_medicEnd'; uisleep 5; }; [_vehicle,["ALL",0],player,Epoch_personalToken] remoteExec ["EPOCH_server_repairVehicle",2]; if (_vehicle isEqualTo player) then { ["Healed yourself", 5] call Epoch_message; } else { ["Healed other player", 5] call Epoch_message; }; }; }; }; }; to:
        case 13: { //Heal Player         _vehicles = player nearEntities[["Epoch_Male_F", "Epoch_Female_F"], 6];         _vehicle = cursorTarget;         if !(_vehicle in _vehicles) then {             _vehicle = player;         };         if (damage _vehicle != 0 || {_x > 0} count ((getallhitpointsdamage _vehicle) select 2) > 0) then {             if (_item call _removeItem) then {                 [_vehicle] spawn {                     params ["_vehicle"];                     if (player == vehicle player) then {                         closeDialog 0;                         player playMove 'AinvPknlMstpSnonWrflDnon_medic0';                         player playMove 'AinvPknlMstpSnonWrflDnon_medicEnd';                         uisleep 5;                     };                     _currentDMG = 0;                     {                         _currentDMG = _x;                         if (_forEachIndex != 10) then {                             [_vehicle,[[_forEachIndex,0]],player,Epoch_personalToken] remoteExec ["EPOCH_server_repairVehicle",2];                         } else {                             if (_currentDMG > 0.5) then {                                 [_vehicle,[[_forEachIndex,0.51]],player,Epoch_personalToken] remoteExec ["EPOCH_server_repairVehicle",2];                                                         } else {                                 [_vehicle,[[_forEachIndex,0]],player,Epoch_personalToken] remoteExec ["EPOCH_server_repairVehicle",2];                             };                         };                     }forEach ((getAllHitPointsDamage _vehicle) param [2,[]]);                     if (_vehicle isEqualTo player) then {                         ["Healed yourself", 5] call Epoch_message;                     } else {                         ["Healed other player", 5] call Epoch_message;                     };                 };             };         };     }; Now if you have a broken leg and you use a First Aid Kit then it will still be broken. If your leg was not broken you will be fully healed.
    So, with that done, let's turn to the morphine. All this now will do is heal a broken leg... nothing else. If your leg is not broken you will get a message informing you of that and you'll keep the injector. Change lines 383-414 in epoch_code/compile/EPOCH_consumeItem.sqf from:
    case 16: { // Morphine _vehicle = player; if (damage _vehicle != 0 || {_x > 0} count ((getallhitpointsdamage _vehicle) select 2) > 0) then { if (call _unifiedInteract) then { [_vehicle,_item] spawn { params ["_vehicle","_item"]; if (player == vehicle player) then { closeDialog 0; player playMove 'AinvPknlMstpSnonWrflDnon_medic0'; player playMove 'AinvPknlMstpSnonWrflDnon_medicEnd'; uisleep 5; }; private _out = []; { if (_x > 0) then { _out pushback [_foreachindex,((_x - 0.2) min 0.45) max 0]; }; }forEach ((getAllHitPointsDamage _vehicle) param [2,0]); if (_out isequalto []) then { if ((damage _vehicle) > 0) then { _out = ["ALL",0]; }; }; if !(_out isequalto []) then { [_vehicle,_out,player,Epoch_personalToken] remoteExec ["EPOCH_server_repairVehicle",2]; }; [format["Used %1 on yourself",_item call EPOCH_itemDisplayName], 5] call Epoch_message; }; }; } else { [format["%1 is not needed at this time",_item call EPOCH_itemDisplayName], 5] call Epoch_message; }; }; to:
    case 16: { // Morphine _vehicles = player nearEntities[["Epoch_Male_F", "Epoch_Female_F"], 6]; _vehicle = cursorTarget; if !(_vehicle in _vehicles) then { _vehicle = player; }; _legDamage = _vehicle getHitPointDamage "HitLegs"; if (_legDamage > 0.5) then { if (_item call _removeItem) then { [_vehicle] spawn { params ["_vehicle"]; if (player == vehicle player) then { closeDialog 0; player playMove 'AinvPknlMstpSnonWrflDnon_medic0'; player playMove 'AinvPknlMstpSnonWrflDnon_medicEnd'; uisleep 5; }; [_vehicle,[["HitLegs",0.5]],player,Epoch_personalToken] remoteExec ["EPOCH_server_repairVehicle",2]; if (_vehicle isEqualTo player) then { ["Injected yourself with morphine", 5] call Epoch_message; } else { ["Injected other player with morphine", 5] call Epoch_message; }; }; }; } else { ["Nothing needs morphine at this time... shame!", 5] call Epoch_message; }; }; You will need to subsequently use a First Aid Kit to remove that last 0.5 of damage on your legs... the morphine just makes it feel like you are healed fully, and boy, does it!
    That's it... DayZ Style morphine with two simple changes.
  11. Like
    Drokz got a reaction from axeman in problem @epoch   
    You'll need to add it to your startup parameters. Best way is to just add it from steam workshop and then enable it in the mods section in arma launcher when starting up arma
  12. Like
    Drokz reacted to Grahame in Making Can Openers and Knives useful in Epoch   
    With all the vanilla ARMA3 objects that have been added to A3E in 1.0 and beyond, there is a lot of new fun stuff you can do to make the experience more immersive and drive your players mad  Here is just one such example, the addition of a requirement for can openers and knives for opening cans of food and gutting animals.
    Gutting Animals with a Knife or Hatchet
    So, you've just killed an animal in the wild and you want to gut it. At the moment you use your teeth and hands to field dress the animal. The code below adds a little more realism in that it forces you to have a knife or hatchet in order to get the meat and/or pelt from the carcass. 
    Note: @Helion4 have you thought how great a hunting knife model would be (hoverboards are a lot more important though!!!)?  
    Change lines 61 to 73 in epoch_code/compile/EPOCH_lootTrash.sqf from:
    if (!isNull _lootAnimalObj) then { _cfgItemInteractions = (_cfgObjectInteractions >> (typeOf _lootAnimalObj)); _interactAttributes = getArray(_cfgItemInteractions >> "interactAttributes"); _bloodPos = getPosATL _lootAnimalObj; _blood = "BloodSplat" createVehicleLocal _bloodPos; _blood setPosATL _bloodPos; // send [_lootAnimalObj, player, Epoch_personalToken] remoteExec ["EPOCH_server_lootAnimal",2]; _return = true; }; to:
    if (!isNull _lootAnimalObj) then { if (("ItemKnife" in magazines player) || ("Hatchet" in weapons player) || ("CrudeHatchet" in weapons player)) then { _cfgItemInteractions = (_cfgObjectInteractions >> (typeOf _lootAnimalObj)); _interactAttributes = getArray(_cfgItemInteractions >> "interactAttributes"); _bloodPos = getPosATL _lootAnimalObj; _blood = "BloodSplat" createVehicleLocal _bloodPos; _blood setPosATL _bloodPos; // send [_lootAnimalObj, player, Epoch_personalToken] remoteExec ["EPOCH_server_lootAnimal",2]; } else { ["You need a knife or hatchet to gut an animal", 5] call Epoch_message; }; _return = true; }; A nice easy change that makes the gutting of animals a little more immersive and provides a reason for players to find and carry those items on them.
    To eat from a can you first have to open it
    The following code will add the requirement for a can opener, knife or hatchet (crude or otherwise) in order to open certain canned food items. Depending on which tool you have on you, you will get a different amount of hunger from consuming the can. For example, use a can opener then you get the full benefit, use a knife and you get 80% and if you use a hatchet to open it you just get 50% of the hunger back
    Note: This is also a nice example of how you can add new interactions for objects you add to your server.
    Add the following at line 415 in epoch_code/compile/EPOCH_consumeItem.sqf:
    case 17: { // Eat Canned Food - check for item to open the can with // Reduce attributes based on the type of item, can opener, knife or hatchet _attributesModifier = 1; _itemFound = false; if ('ItemCanOpener' in magazines player) then { _attributesModifier = 1; _itemFound = true; } else { if ('ItemKnife' in magazines player) then { _attributesModifier = 0.8; _itemFound = true; } else { if (('Hatchet' in weapons player) || ('CrudeHatchet' in weapons player)) then { _attributesModifier = 0.5; _itemFound = true; }; }; }; if (_itemFound) then { private _removedCan = _item call _removeItem; if (_removedCan) then { if (_interactReturnOnUse != "") then { _interactReturnOnUse call EPOCH_fnc_addItemOverflow; }; { _x set [1, ((_x select 1) * _attributesModifier)]; _output = _x call EPOCH_giveAttributes; if (_output != "") then { [_output, 5] call Epoch_message_stack; }; } foreach _interactAttributes; }; } else { ["You need a can opener, knife or hatchet to open the can", 5] call Epoch_message; }; Now you have a new interaction that will give you a certain amount of hunger back depending on what tool you use to open the can with. Now you need to make the cans themselves use it. This is done in epoch_config/Configs/CfgItemInteractions.hpp.
    First add a new class for cans that requite something to open them. Add this code at line 59:
    class Food_TinCan_Tool_base : Food_base { interactAction = 17; interactReturnOnUse = "ItemEmptyTin"; }; This gives you a class that cans which will require a can opener, etc. can inherit. So, let's say that a can of meatballs requires a tool to open. To make this so, you would change line 106 from
    class meatballs_epoch : Food_TinCan_base to
    class meatballs_epoch : Food_TinCan_Tool_base It's as simple as that. On my server I leave some cans, like sardines, openable without a tool and others requiring one. For those that do not need a tool you do not need to change anything.
    Just a little fun and all done mission side.
  13. Thanks
    Drokz reacted to Grahame in any working EpochZ   
  14. Haha
    Drokz reacted to Helion4 in [FEATURE REQUEST] Hoverboards (URGENT)   
  15. Like
    Drokz reacted to Grahame in EpochZ - A dynamic spawner for Ryan's Zombies on Epoch servers   
    By Grahame, @natoedand @Drokz (and others). Based on ExileZ 2.0 by Patrix87 which was forked from an original project named EXILE-Z created by SAM, Otto and CaptionJack of RelentlessServers.com based on Civilian Life by code34. Released under the same Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.
    Incorporates DayZ-style Heli Crash Site code from @rvg?!, based on the original script by @Richie 
    Feature List from the original ExileZ 2.0
    Dynamically spawns Ryan's Zombies. An infinite set of spawner configurations Harassing zombies aka Random encounters that will spawn near players wherever they are. Hordes! The number of zombies in a town is proportional to the number of player in that town (adjustable ratio) Very lightweight. Server Side only! A constant flow of zombies in towns. Fully configurable Supports any map! Map support included in base EpochZ 1.0 build for Altis, Tanoa, Chernarus Redux, Australia and Takistan Safezone protection. Zombie Missions! (Not tested in EpochZ 1.0) The possibility to display infested zones on map. Adjustable zombies health and damage. Zombies won't disappear if close to a player. Zombies won't spawn right next to a player. Turn off all lights on the map by setting the LightsOff variable to true in fn_init.sqf  (not working atm... we're working on a fix) New Features in EpochZ 1.0
    Reworked for use on Epoch servers. Infected will not be spawned within minJammerDistance of a frequency jammer. DayZ Style Heli Crash Site code incorporated within EpochZ so infected will spawn at a heli crash site. If you use it then remove the helicrash.pbo from @epochhive/addons Infected entering safe zones defined in fn_init.sqf in the SafeZonePositions[] array will be deleted. If SpawnWithinTriggerRadius is set to true in fn_init.sqf then the infected will spawn throughout the entire trigger area, otherwise they will spawn between MinSpawnDistance and MinSpawnDistance of the centre of the trigger. Download
    https://github.com/morgoth0/EpochZ
    Installation
    If you just want to use our default version on Altis then simply upload the epochz.pbo in @epochhive/addons in the GitHub repository into the same location on your Epoch server and restart.
    This addon is incredibly customizable and I am working on full documentation for it to help people set it up the way they want. In the meantime the code is very well commented and, assuming you have a reasonable knowledge of configuring addons then here are the files in which you can change it to suit your needs:
    epochz/init/fn_init.sqf: contains all configuration settings and trigger definitions
    epochz/init/TriggerPositions.sqf: defines all locations for infected spawns and which trigger class they are in
    epochz/init/ZClasses: defines the classes of infected spawned in each trigger type
    epochz/init/ZLoot.sqf: what loot is found on the infected
    epochz/init/ZVest: what vests are worn by the infected
    Screenshot
    http://www.grahamecurtis.com/images/epochz_spawns.jpg
  16. Like
    Drokz reacted to He-Man in Vehicle Capacity / Fahrzeug Kapazität   
    I have reduced the max loads for the Epoch variants, because the default A3 max loads make no sense.
    If you compare the max loads between the different vehicle Classes, you know why...
     
    Here some max load examples from the default A3 settings:
    - Truck (normal and Box) : 3000
    - Hemtt Box: 3000
    - Strider: 4000
     
    To make it more realistic and support better the Vehicle-Upgrade system, I have completely reworked the max loads.
    But of course, you can also take the Arma-Variants to get back the default settings.
    A full list of the Vehicle Properties you can find here (Excel):
    https://github.com/EpochModTeam/EpochCore/raw/release/EPOCH_VehicleProperties.xlsx
  17. Like
    Drokz reacted to Grahame in Test of Left Shoulder Scripted Weapon Server Side Mod   
    Another WIP thing... testing the Left Shoulder Scripted Weapon mod with Epoch. Server side mod only so no worries about adding to player's clients.
    While the animations are a bit clunky it works... Need to add code to Epoch to save the "hidden" weapon in the database or it will be lost on a disconnect
    https://steamcommunity.com/sharedfiles/filedetails/947704792
     
  18. Like
    Drokz reacted to Grahame in First test of vanilla A3E infected spawned by the lootbubble()   
    First test of infected spawns via the standard ARMA3 Epoch lootbubble. Infected spawn out of LOS and right now just a hard coded one per building.   No DayZ code was used in this new feature.   As always, apologies for the video quality, my PC is a potato...    
  19. Like
    Drokz reacted to Grahame in Deployable Sleeping Bags as Spawn Points   
    Another class of item added to EpochCore client-side in 1.1 are deployable sleeping bags. Here is the code for placing them and a suggestion (and code) for actually making use of them to provide greater flexibility at respawn for your players.
    Installation Instructions
    (1) Add the sleeping bag "kits" to your loot tables and trader price lists. The class names are KitSleepingBagGreen, KitSleepingBagBlue and KitSleepingBagBrown
    (2) Add the following to epoch_config/Configs/CfgItemInteractions.hpp:
    class KitSleepingBagGreen : Item_Build_base { buildClass = "SleepingBagGreen_SIM_EPOCH"; }; class KitSleepingBagBlue : Item_Build_base { buildClass = "SleepingBagBlue_SIM_EPOCH"; }; class KitSleepingBagBrown : Item_Build_base { buildClass = "SleepingBagBrown_SIM_EPOCH"; }; (3) Add the following to epoch_config/Configs/CfgBaseBuilding.hpp:
    class SleepingBagGreen_EPOCH : Default { removeParts[] = {{"KitSleepingBagGreen",1}}; GhostPreview = "SleepingBagGreen_Ghost_EPOCH"; staticClass = "SleepingBagGreen_EPOCH"; simulClass = "SleepingBagGreen_SIM_EPOCH"; bypassJammer = 1; }; class SleepingBagGreen_SIM_EPOCH : SleepingBagGreen_EPOCH { removeParts[] = {}; }; class SleepingBagGreen_Ghost_EPOCH : SleepingBagGreen_SIM_EPOCH {}; class SleepingBagBlue_EPOCH : Default { removeParts[] = {{"KitSleepingBagBlue",1}}; GhostPreview = "SleepingBagBlue_Ghost_EPOCH"; staticClass = "SleepingBagBlue_EPOCH"; simulClass = "SleepingBagBlue_SIM_EPOCH"; bypassJammer = 1; }; class SleepingBagBlue_SIM_EPOCH : SleepingBagBlue_EPOCH { removeParts[] = {}; }; class SleepingBagBlue_Ghost_EPOCH : SleepingBagBlue_SIM_EPOCH {}; class SleepingBagBrown_EPOCH : Default { removeParts[] = {{"KitSleepingBagBrown",1}}; GhostPreview = "SleepingBagBrown_Ghost_EPOCH"; staticClass = "SleepingBagBrown_EPOCH"; simulClass = "SleepingBagBrown_SIM_EPOCH"; bypassJammer = 1; }; class SleepingBagBrown_SIM_EPOCH : SleepingBagBrown_EPOCH { removeParts[] = {}; }; class SleepingBagBrown_Ghost_EPOCH : SleepingBagBrown_SIM_EPOCH {}; So, at this point you can place sleeping bags and they look pretty nice, but what's the point. Well, say for example that you would like to seal your jammer away in a dark place in your base but don't want to respawn in that room, but do want to respawn somewhere in a base; or perhaps you are doing a mission or you're off hunting heroes and don't want to make your way from the coast all over again... well, you can set sleeping bags to be spawn points too!
    (4) Change the definition for the select_jammer class in epoch_config/Configs/CfgActionMenu/cfgActionMenu_target.hpp to:
    class select_jammer { condition = "((dyna_cursorTargetType isEqualTo 'PlotPole_EPOCH') || (dyna_cursorTargetType isEqualTo 'SleepingBagGreen_EPOCH') || (dyna_cursorTargetType isEqualTo 'SleepingBagBlue_EPOCH') || (dyna_cursorTargetType isEqualTo 'SleepingBagBrown_EPOCH')) && (damage dyna_cursorTarget < 1)"; action = "[dyna_cursorTarget,player,Epoch_personalToken] remoteExec [""EPOCH_server_makeSP"",2];"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\player_inspect.paa"; tooltip = "Make Spawnpoint"; }; RePBO your mission file and upload it to the server.
    (5) Now unpack epoch_server.pbo. There is one file in there that needs a change which is compile/epoch_player/EPOCH_server_loadPlayer.sqf. Change line 145 from:
    _jammers = nearestObjects[_CheckLocation, ["PlotPole_EPOCH"], 6]; to:
    _jammers = nearestObjects[_CheckLocation, ["PlotPole_EPOCH","SleepingBagGreen_EPOCH","SleepingBagBlue_EPOCH","SleepingBagBrown_EPOCH"], 6]; RePBO epoch_server.pbo and upload to your server. You now have sleeping bags that can be built anywhere and used as respawn points.
    Be aware though! Anyone can pick yours up in the wild (as they should be able to) and you will no longer spawn at its location!
    (Optional 6) Also note that should you give these as starting gear you may want to add energy to a player at spawn by changing the energy entry in the CustomVarsDefaults array in epoch_config/CfgEpochClient.hpp to something like the following (which gives 1250 energy to a new spawned player):
    {"Energy",1250,{2500,0}},  
  20. Like
    Drokz reacted to Grahame in DayZ-Style Portable Generators for A3E   
    I got certain configs updated in the EpochCore client files allowing a few extra nice features to be deployed in A3/Epoch, and I'll start off by posting the information to set up portable generators to allow fuel pumps to be used for refueling vehicles if auto-refueling is turned off on your server. 
    Installation Instructions
    (1) Add the portable generator "kit" to your loot tables and trader price lists. The class name is KitGenerator
    (2) Add the files in this downloadable archive to a folder in your mission called, for example, sounds:
    https://www.dropbox.com/s/75gq2rezy1tcbe2/generator_sounds.zip?dl=0
    The license file is required! It is a Creative Commons Attribution Only license for the sound file.
    (3) Add the following lines to your mission file's custom description.ext (replacing the path for the generator1.ogg sound with the location in which you put it):
    // Portable Generator Sounds class CfgSFX { class Generator { sounds[] = {"Generator"}; name = "Generator"; Generator[] = {"sounds\generator1.ogg","db+10",1,200,1,0,0,0}; Empty[] = {"",0,0,0,0,0,0,0}; }; }; class CfgVehicles // NOTE: CfgVehicles definitions are only permitted in description.ext for sound sources. It cannot be used for CfgVehicles customizations { class PortableGenerator { sound = "Generator"; }; }; (4) Create a file in the folder of your mission file where you store your own scripts, e.g. custom called PortableGenerator.sqf and paste the following code into it:
    (5) Add the following lines to your mission's init.sqf (replacing the path with whatever you used in step (4)):
    if(hasInterface) then{ PortableGenerator = compileFinal preprocessFileLineNumbers "custom\PortableGenerator.sqf"; }; (6) Add the following to epoch_config/Configs/CfgItemInteractions.hpp:
    class KitGenerator : Item_Build_base { buildClass = "Generator_EPOCH"; }; (7) Add the following to epoch_config/Configs/CfgBaseBuilding.hpp:
    class Generator_EPOCH : Default { removeParts[] = {{"KitGenerator",1}}; GhostPreview = "Generator_Ghost_EPOCH"; staticClass = "Generator_EPOCH"; simulClass = "Generator_SIM_EPOCH"; limitNearby = 2; bypassJammer = 1; }; class Generator_SIM_EPOCH : Generator_EPOCH { removeParts[] = {}; }; class Generator_Ghost_EPOCH : Generator_SIM_EPOCH {}; (8) Add the following code to epoch_config/Configs/CfgActionMenu/cfgActionMenu_target.hpp:
    // Portable Generators class generator_refill { condition = "((dyna_cursorTarget isKindOf 'Generator_EPOCH') && !(dyna_cursorTarget getVariable [""GeneratorFueled"",false]) && !(dyna_cursorTarget getVariable [""GeneratorRunning"",false]))"; action = "[dyna_cursorTarget, 2] call PortableGenerator;"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\vehicle_refuel.paa"; tooltip = "Refuel generator"; }; class generator_start { condition = "((dyna_cursorTarget isKindOf 'Generator_EPOCH') && (dyna_cursorTarget getVariable [""GeneratorFueled"",false]) && !(dyna_cursorTarget getVariable [""GeneratorRunning"",false]))"; action = "[dyna_cursorTarget, 1] call PortableGenerator;"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\Replace_Engine.paa"; tooltip = "Start generator"; }; class generator_stop { condition = "((dyna_cursorTarget isKindOf 'Generator_EPOCH') && (dyna_cursorTarget getVariable [""GeneratorRunning"",false]))"; action = "[dyna_cursorTarget, 0] call PortableGenerator;"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\Remove_Engine.paa"; tooltip = "Stop generator"; }; RePBO your mission file and upload it to the server. That should be it.
  21. Like
    Drokz reacted to vbawol in Epoch 1.1 Release Changelog   
    Arma 3 Epoch 1.1 has been released!
    Server Files:
    https://github.com/EpochModTeam/Epoch/archive/1.1.0.1195.zip
    File Changes:
    https://github.com/EpochModTeam/Epoch/pull/969/files
    Client Files
    https://github.com/EpochModTeam/EpochCore/releases/download/1.1.0.1194/Epoch_Client_1.1.0.0.zip
    Changelog:
    Added
    Plant Spawner: vehicle object for sunflower. @Helion4 MoneyDrop Event: Random Money lump with Mapmarker (like Plants) @he-man Examples for Vehicle upgrades for Server Admins into CfgVehicleUpgrades.hpp @he-man Make Lighter refillable at Fuel-Sources (Gasstations / Vehicles) @he-man Make Trader more configurable in epochconfig.hpp @he-man Added Examples for Batchfiles to control Server Restarts @DirtySanchez default pops for "center" marker @awol More map supports @awol Lighter is needed to imflame fires @DirtySanchez FireExtinguisher is needed to "put our fire" on Burn Barrel @DirtySanchez Rope is needed for SlingLoad (get back on release) @DirtySanchez R3F compatibility for SlingLoad @DirtySanchez Hints while using Vehicle Repair (MultiGun) @he-man Config to completely disable Simulation for BaseParts (if not needed) @he-man Made Radiation configureable by cfgepochclient.hpp @raymix Hints for lock / unlock Vehicles / Storages @he-man Nuisance multiplicator in cfgepochclient.hpp @he-man Reduce rads over time at cost of immunity @raymix Wearable Male & Female wearable full radiation suit @Helion4 December seasonal items (Santa hat / Snowman) @Helion4 Autorun function (suggested by Ghostrider) @he-man Default Key is "W" You can change the key in EPOCH ESC Menu If choosen key is same as "moveforward" (default), you have to 2x tap it, else you only have to 1x tap it If your legs are broken, you get a hint "can not autorun - legs are broken" If the terrain is too steep, you only walk in AutoRun Inside Water, you can not Autorun Helper 3D-Icon + Line on the part, where element is snapped on (while Base-Building) @he-man Config in cfgepochclient.hpp to block ATM's in Plotpole range @he-man Power Sword @helion Fixed
    False BE kicks since Arma 3 1.80 update. Nightlight now also follow players inside Vehicles @he-man Fixed fault disabled DynamicDebris @morgoth0 SERVER_VARS (BaseSpawn) was not saved on revive @morgoth0 Without Advanced Vehicle Repair, Vehicle upgrade was not available @he-man Base Storages could be deleted if near Loot containers were auto-deleted @he-man Some Tarp Loot was spawned under the Floor @he-man Reworked wall check by getting out of Vehicles @he-man Garden Plot had no physical ground @Helion4 Some Vehicles were missing in EPOCH Admin Spawn Menu @he-man Changed
    RCon Port is now set to 2307 by default since changes in A3 1.78 prevent use of 2306. @awol SnapPoints for Building objects (especially full / half / quarter Floors) @he-man Some performance tweaks Inventory will be opened automatically, if "you found something" @awol EPOCH Events reworked (Markers will change if players near / event looted) @DirtySanchez Traders will no longer refill sold magazines @he-man Magazines will automatic be repacked in Trader First the trader offers full magazines If no full magazine is available, the Trader offer the last not full magazine Not full magazines are colored: Yellow (nearly full) -> Red (nearly empty) You also get a Tooltip, how much bullets left in magazine The prices are calculated by the left bullets in the magazine Increased snap-distance for Foundations (much easier to find snap positions) @he-man Reworked and added EPOCH Vehicle Classes @he-man Each upgrade increase Speed, Torque, Fuel, Terrainbehaviour, Load and Armor Hatchback >= lvl2 will no longer stuck in forests Added M900 forced without Backseats -> "C_Heli_Light_01_civil_2seat_EPOCH" Added M900 forced with Backseats -> "C_Heli_Light_01_civil_4seat_EPOCH" The Random M900 will also stay available -> "C_Heli_Light_01_civil_EPOCH" Added very low EPOCH variants of VTOL and Xi'an (eventually we have to change them with the next update a bit) Added Door-Animations to some Vehicles by GetIn / GetOut
  22. Like
    Drokz got a reaction from natoed in A3E Animated Crash Spawner   
    Great job :)
  23. Like
    Drokz reacted to Grahame in A3E Animated Crash Spawner   
    I  always liked the animated helicopter crash spawner in ARMA2/DayZ/Epoch and, with permission, I have ported the latest 1.0.6.2 version provided by @JasonTM to ARMA3/Epoch. It's nice as an enhancement to the existing static ARMA3/Epoch DayZ-Style Helo Crash Sites script or as a replacement. It is great to see a helo flying around for a while and then crash, spilling loot around the burning wreck 
    Note that the version provided requires that you have CUP Terrains Core and CUP Vehicles installed on your server (so you'd be good to go after changing the loot @natoed and @Drokz ).
    It's not that difficult to mod the loot and helos/planes used by the script for vanilla ARMA3 weapons and equipment (that I hate) so I leave that at an exercise for the reader.
    Also note that the helo does not crash at the centre of the marker that appears... it is within that area only!
    Credits
    Installation
    Download AnimatedCrashSpawner.sqf from https://github.com/morgoth0/Animated-Crash-Spawner and put it in the EpochEvents folder of your epoch_server_settings PBO.
    Feel free to play with the configuration settings at the top of the file:
    RePBO epoch_server_settings and upload to your server. Then add the following line to the events[] array in @EpochHive/epoch_config.hpp changing the first number to match how often you want the script to run:
    { 2700, "AnimatedCrashSpawner", 0 , 1, -1, {} ,{"VR"}}, And enjoy!
    Issues/To Dos
    For the life of me I cannot get client side messages about the incoming helos working right now for this script. Tried using the same mechanism as I used in the DZMS system and then the function used in the Message Epoch event but both just made the script silently fail... Will fix asap, but the script works fine without them and the marker is placed when the helo crashes. Better loot table handling - probably using additions to the CfgLootTable
  24. Like
    Drokz reacted to Grahame in A3E Take Clothes   
    ARMA3 Take Clothes Script
    As some of you are aware, one of my pet peeves with ARMA3 is that Bohemia added detachable uniforms but then made it so you could not wear all of them by siding each. Thus, in Epoch, if you are female, you can wear female and NATO uniforms, but not CSAT or AAF. Males have a similar issue being bared from wearing NATO or AAF. While some mods like Tryk's unlock all their uniforms, unfortunately many do not (including CUP). Here is my work-in-progress solution to the problem that allows you to take and wear any uniform that a dead adversary is wearing.
    Installation
    UPDATE: 2/27/2018 @ 1916EST: Updated the code and installation instructions based on feedback from the community.
    UPDATE: 3/21/2018 @ 0943EST: Updated the code based on feedback from the community and a rewrite by He-Man.
    Create a file in your favourite text editor called TakeClothes.sqf with the following code:
    /* Author: Grahame/He-Man Description: Take and wear any clothes from a dead player or AI Licence: Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike */ private ["_target_uniform","_player_uniform"]; params ["_target","_player"]; _nearentities = (((_player nearEntities 7) select {isplayer _x && alive _x && !(_x iskindof "HeadlessClient_F")}) - [_player]); if !(_nearentities isequalto []) exitwith { ["Cannot take clothes when other players are nearby",5] call epoch_message; }; if (uniform _target isequalto "") exitwith { ["Target has no uniform to take",5] call epoch_message; }; _playerloadout = getunitloadout _player; _targetloadout = getunitloadout _target; _player_uniform = _playerloadout param [3,""]; _target_uniform = _targetloadout param [3,""]; _playerloadout set [3,_target_uniform]; _targetloadout set [3,_player_uniform]; _player setunitloadout _playerloadout; _target setunitloadout _targetloadout; Put that file in your mission, for example as custom/TakeClothes.sqf.
    Add the following lines to your mission's init.sqf:
    if(hasInterface) then{ TakeClothes = compileFinal preprocessFileLineNumbers "custom\TakeClothes.sqf"; }; In your mission file, edit the epoch_config/Configs/CfgActionMenu/CfgActionMenu_target.hpp, adding the following lines to the end:
    // Take Clothes class take_clothes { condition = "((!alive dyna_cursorTarget) && ((dyna_cursorTarget isKindOf 'SoldierWB') || (dyna_cursorTarget isKindOf 'SoldierEB') || (dyna_cursorTarget isKindOf 'SoldierGB')))"; action = "[dyna_cursorTarget, player] call TakeClothes;"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\group_requests_ca.paa"; tooltip = "Take Clothes"; }; Rebuild the mission file and upload to the server.
    Voila! You can now look at any dead player or AI and take and wear their uniform no matter what it is! 
    Acknowledgements
    Though no code was needed from the DayZ/ARMA2/Epoch Take Clothes script, it is the reason I have always been so bugged about not being able to wear uniforms from dead adversaries. Yeah, I'm a bit of a bandit that way for sure 
    Anyway, cheers guys:
     
  25. Like
    Drokz reacted to Grahame in EpochZ: Bandit Country   
    It's back!
    New mods required
    LordRampantHumps Items Pack for apples and pears that can be harvested from apple and pear trees
    Massi's WW2 Units adding some extra weapons, including the Mosin, Kar98, a few SMGs and pistols
    Kurt's Survival System (KSS) for and host of Slavic food and drink, including vodka and beer
    @EpochZ_Cows for Cows!!!
    @EpochZMod which provides new models for certain base building structures, adds new equipment and base building options and modifies infected skins and behaviour so that they have animal, not human AI intelligence
    New Features
    Rewrite of LootSpawner to spawn zombies on buildings rather than in an area. The Zs (which are reskined to match the map - including military Zs - are also dumber than in standard Ryan's Zombies with animal intelligence and thus easier to sneak past and evade). There are generally lower amounts of loot than normal on EpochZ servers though to fit the feel of the server
    "New" Wicked AI Missions, including several more ported from ARMA2/Epoch including the slaughter house, abandoned trader, drone pilot and Old MacDonald's farm. More to come soon!
    New items include Hunting Knifes, gas masks, laptops and PC Parts for looting and lots of new food and drink (fruits together with the Russian food and drink from KSS Mod, including vodka)
    New Buildables: Sleeping Bags (green, blue and brown) - can be made spawn points, a Large Workbench - required for crafting more complex base kits, Storage Crates and a Portable Generator. Also have provided new models for certain building parts to better fit into Chernarus Redux including the Plot Pole (you'll recognize this from somewhere...), Outhouse, Well and Deer Stand
    Cows! kill them and take and cook the steaks. Note, to gut animals you now need a hunting knife or hatchet
    Can opener, knife or hatchet required to eat from canned food. You get less or more hunger back depending on which you use
    Harvest apples and pears from their trees (and sunflowers for their seeds too!)
    New Points of Interest designed by @BetterDeadThanZed including new trader camp layouts at Bash and Stary
    All uniforms are unlocked for all players
    Deploy a bicycle (with vehicle repair parts) or a Mozzie (with vic repair parts, an engine block, fuel tank, rotor and duct tape) via the action (scrollwheel) menu
    A complete rework of the hunger and thirst values from food and drink
    New spawns now have energy so that they can build campsites
×
×
  • Create New...