Well now, its been about a week of 0.3's public release and again no posts regarding this one.
So now everyone has seen the array of Epoch Events in their epochconfig.hpp file.
And I hope everyone has looked into their new epoch_server_settings.pbo file, which now holds an EpochEvents folder.
Yep that's right, add an event into that folder and add the filename to the events array giving it a respawn time and voila!
You now have your own events/missions baked right into epoch.
So far I have tested a Hunter Mission with random placed objects and 5 Epoch Based AI infantry.
I am going to keep it as is but add a line of code for a random vehicle spawn to keep the vehicle count balanced evenly.
There is much much more potential here, if you are like me and just like to tinker, check out the main 4 events and you can grasp what they are about. Screw around with a little code and I am sure you will get what you are looking for.
Thanks Devs for this update and all these options, we really really needed this!
Just a quick dirty (LOL) example
Add a new array for the "Hunter" event and give it a respawn time, then
Save this code as hunter.sqf in your epoch_server_settings.pbo epochevents folder
_hunterPosition = [epoch_centerMarkerPosition, 0, EPOCH_dynamicVehicleArea, 10, 0, 4000, 0] call BIS_fnc_findSafePos; if ((count _hunterPosition) == 2) then{ _item = createVehicle["B_MRAP_01_EPOCH", _hunterPosition, [], 0.0, "CAN_COLLIDE"]; _item setDamage 0.8; _item setFuel 2; _item setVariable["LASTLOGOUT_EPOCH",1000000000000]; _item setVariable["LAST_CHECK",1000000000000]; //So Vehicle doesnt despawn EPOCH_VehicleSlotsLimit = EPOCH_VehicleSlotsLimit + 1; EPOCH_VehicleSlots pushBack str(EPOCH_VehicleSlotsLimit); _slot = EPOCH_VehicleSlots select 0; _item setVariable ['VEHICLE_SLOT',_slot,true]; EPOCH_VehicleSlots = EPOCH_VehicleSlots - [_slot]; EPOCH_VehicleSlotCount = count EPOCH_VehicleSlots; publicVariable 'EPOCH_VehicleSlotCount'; _item call EPOCH_server_setVToken; //Creates vehicle inventory clearWeaponCargoGlobal _item; clearMagazineCargoGlobal _item; clearBackpackCargoGlobal _item; clearItemCargoGlobal _item; //Static Position Objects _item = createVehicle["Land_Cargo_Patrol_V1_F", _hunterPosition, [],20, "NONE"]; _group = createGroup RESISTANCE; _group createUnit ["I_Soldier_EPOCH", _hunterPosition, [], 10, 'NO_COLLIDE']; _group createUnit ["I_Soldier_EPOCH", _hunterPosition, [], 10, 'NO_COLLIDE']; _group createUnit ["I_Soldier_EPOCH", _hunterPosition, [], 10, 'NO_COLLIDE']; _group createUnit ["I_Soldier_EPOCH", _hunterPosition, [], 10, 'NO_COLLIDE']; _group createUnit ["I_Soldier_EPOCH", _hunterPosition, [], 10, 'NO_COLLIDE']; sleep 0.1; { //Random Position Objects based on distance in array _item = createVehicle[_x, _hunterPosition, [], 50, "NONE"]; sleep 1; } forEach["Land_Wreck_Heli_Attack_02_F", "Land_Wreck_Heli_Attack_02_F"]; if (EPOCH_showShippingContainers) then{ _marker = createMarker[str(_hunterPosition), _hunterPosition]; _marker setMarkerShape "ICON"; _marker setMarkerType "mil_dot"; _marker setMarkerText "Hunter"; _marker setMarkerColor "ColorRED"; }; };