Jump to content
horbin

Fulcrum Mission System v2.1a

Recommended Posts

Mimic,

   Just running some testing on my server concerning the HC disconnect.

 

Admin Kick HC = Works OK.

Manually close HC client = Works OK.

Pulling network cable on HC = does NOT work.

   I believe an HC crash behaves similar to 'pulling the network cable', where the HC simply fades away.

 

I have found that when the HC does this 'fade' , that even the "Local" PVEH I have set up is ignored.  It appears that when Arma3 finally disconnects the HC it must destroy/delete the object before ownership of the 'HC' transfers to the server.

 

I am not sure why the 'Heartmonitor' process I have in place is not catching all this, but I'm working it.  Hoping to have this resolved tonight, then be back on course for more of the functionality updates!

 

 

 

 

 

 

 

Works OK = AI transferred to server, then server, within 2 mins deletes all AI, markers, buildings, triggers, and non-player controlled vehicles.

Share this post


Link to post
Share on other sites

Hey Horbin, our heli crashes (static) are invisible, no smoke too.. at the beginning, it worked but now.... the heli scrashsites are spawning, the loot and the sound of the broken heli appears..

 

where could be the issue?

 

Cheers metal

 

 

 

DayZHeloCrash.sqf:

 

 

//LandPatrol.sqf
// Horbin
// 1/20/15
// Be cautious when editing data.

[
["DayZHeloCrash", 300, "LAND"], // Mission Title NOSPACES!, and encounter radius
["DayZHeloCrash","mil_dot","ELLIPSE","ColorYellow","FDiagonal",25],    // Map Markers ["MapText", "SHAPE", "COLOR", "FILL", size];
[  
    [// NOTIFICATION Messages and Map display Control.
    false, 0, 0, // Notify players via Radio Message, radio channel, range from encounter center (0=unlimited.
    false, // Notify players via global message
    false,// Show encounter area on the map
    30,    // Win delay: Time in seconds after a WIN before mission cleanup is performed
    10       // Lose delay: Time in seconds after a lose before mission cleanup is performed
          //NOTE: the above delay must occur before the mission is considered 'complete' by the mission manager control loop.
    ],
    // Spawn Mission Message
    ["",  // title line
     "", // title line, do not remove these!
     "" //description/radio message.
    ],  
    // Mission Success Message
    ["Mission Success",
     "",
     ""
    ],
    // Mission Failure Message
    ["Mission Failure!",
    "",
    ""
    ]
],
[  //  Loot Config:  Refer to LootData.sqf for specifics
// Loot for this mission is contained in the Vehicles!
["Scatter" , [0,0] ], //[static loot, offset location] - spawns with the mission
   // static loot will also spawn if 'NO TRIGGERS' is enabled.
["None" , [0,0] ], // Win loot, offset location - spawns after mission success
["None" , [0,0] ]  // Failure loot, offset location - spawns on mission failure
],
[//BUILDINGS: persist = 0: building deleted at event completion, 1= building remains until server reset.
  [
    ["Land_Wreck_Heli_Attack_02_F","Land_Wreck_Heli_Attack_01_F"],
    [0,0], // location
    0, // rotation
    0, // persist flag
    "Fire_Big"
  ]
 
],
[ // AI GROUPS. Only options marked 'Def:' implemented.
 //  [["RESISTANCE","COMBAT","RED","COLUMN"],   [  [1,"Sniper"],[2,"Rifleman"],[2,"Hunter"]  ],   ["BoxPatrol",[0,75],[0,0],[0]   ]],
 //   [["RESISTANCE","COMBAT","RED","LINE"],   [  [3,"Rifleman"]                                         ],   ["Sentry",[-20,10],[0,0],[70] ]],
 //  [["RESISTANCE","COMBAT","RED","LINE"],   [  [2,"Hunter"]                                              ],   ["Guard",[6,6],[0,0],[30]     ]]
],
//Example: PatrolBehavior: ["BoxPatrol", [100,0], [0,0],0 ]  
// AI will spawn 100m east of encounter center, a 4 point patrol will be set up at 80% encounter radius. AI will move to this and start patrolling.
// spawnoffsetloc: [x,y] where x and y are offsets in meters from the encounter center.Sets the spawn location for the group.
// patroloffsetloc:[x,y] where x and y are offsets in meters from encounter center. Sets the center of the group's patrol zone,
//                     or where it should travel too before starting its patrol pattern.
// radius: in meters - used in establishing patrol geometry. If zero, then 80% of encounter radius will be used.
//###Patrol Options###
//Def:   "Perimeter", spawnloc, patrolloc, radius: - 12 waypoints set at radius from loc, group goes from point to point
//Def:   "BoxPatrol", spawnloc, patrolloc, radius: - 4 waypoints set at radius from loc, group goes from point to point
//Def:  "Explore", spawnloc, patrolloc, radius: - 12 waypoints set up at radius from loc, group moves randomly from point to point
//Def:  "Guard", spawnloc, patrolloc, radius: - group patrols inside of buildings found within radius of loc.
//Def:  "Sentry", spawnloc, patrolloc radius: - group moves to nearest building and takes up station in highest points within the building
//     NOTE: if no buildings are located within 'radius' both Guard and Sentry will locate nearest buildings to the encounter and move there!
//  "Loiter", loc, radius: - group just hangs out, in an unaware mode in vicinity of loc-radius.
//  "Convoy", loc, data: group follows roads from startloc to stoploc, then loops back.
//  "XCountry", loc, data: group goes from startloc to stoploc, then loops back.

// Vehicles
[
     [  // Convoy #1                     
    [         // Vehicle                     Offset     Crew (only 1 type!)   CargoLoot (see Loot section below for more detail!)
       //    [  "C_Offroad_01_EPOCH"          ,[0,0],[1 ,"Rifleman"],        "Random"      ],
           //[  "C_Offroad_01_EPOCH"          ,[0,50],[1 ,"Rifleman"],     "Random"      ],
        //   [  "B_G_Offroad_01_armed_F"          ,[0,50],[1 ,"Rifleman"],     "Random"      ],
       //    [  "C_Offroad_01_EPOCH"          ,[0,75],[1 ,"Rifleman"],     "Random"      ]
        //   [  "C_Quadbike_01_EPOCH"          ,[-50,-600],[1,"Rifleman"],     "None"      ],
         //  [  "C_Quadbike_01_EPOCH"          ,[-50,-600],[1,"Rifleman"],     "None"      ],
         //  [  "C_Quadbike_01_EPOCH"          ,[-50,-600],[ 1, "Rifleman"],     "Truck01"]   
                 // If driver-less vehicles are desired, place them at the bottom of the list.
                 // Troops WILL be placed into 'driver-less' vehicles if the other vehicles are full!!!
      ],
      [  
          // "Convoy": spawn at -500,-500, drop off cargo at -50,-50, then return to base. (ie 'Convoy' logic behaviour)
           // Drivers                                                          # and type  |         Patrol     |    spawn   | dest       | 'Patrol' options
        //  [["RESISTANCE","COMBAT","RED","COLUMN"],   [  [3, "Driver"]  ],   ["TrackRoute",[0,0],[0,0],["SAFE","LIMITED",["Villages","Villages"],true,true,false,0]   ]]
         // proceed to 0,-15, drop off troops, then return to spawn location and despawn!
      ],
      // Troops : These are distributed across all vehicles in this convoy.                                                         
     [      //  Troop behaviour and side options                        # and type of Troops                               Patrol logic |  spawn     |dest |'Patrol' options
       //  [["RESISTANCE","COMBAT","RED","COLUMN"],   [  [3,"Sniper"],[2,"Rifleman"]  ],   ["BoxPatrol",[0,0],[0,0],[100]   ]]
        // [["RESISTANCE","COMBAT","RED","COLUMN"],   [  [1,"Sniper"],[2,"Rifleman"] ],   ["BoxPatrol",[-70,-600],[50,0],[50]   ]],
        // [["RESISTANCE","COMBAT","RED","COLUMN"],   [  [1,"Sniper"],[3,"Rifleman"]  ],   ["BoxPatrol",[-70,-600],[-50,0],[50]   ]]
            // 'dest' for troops is where they will go to perform their 'Patrol Logic' once the disembark the convoy IF their vehicle's driver group is using the 'Convoy' patrol logic.
            // otherwise troops will remain in vehicle unless it is engaged. Once vehicle destroyed, Troops will move onto their 'Patrol Logic'.
     ]
   ]  
],
// Triggers and Event control.
//  There are 3 general states for a mission. Win, Lose, or Phase Change.
// In order to establish a WIN or LOSE, all Trigger specified below must be met within their specified grouping.
// Same evaluation is done with checking for Phase changes.
// Phase Change Detail:
//    When a 'phase change occurs the appropriate additional mission will be launched.
//  Win/Lose logic for this encounter will suspend when phase change is launched.
//  Triggers from a launched phase change will override triggers defined here.
//  If triggers in this mission are still desired, uncomment the "NO TRIGGERS" comment IN THE MISSION being launched by this mission"
// index 0:win, 1:lose, 2:phase1, 3:phase2, 4:phase3, 5:ignore triggers
[ // NOTE: side RESISTANCE for groups == side GUER for Triggers.
    [    //WIN Triggers and Controls
     // ["LowUnitCount", "GUER", 3, 0, [0,0]] // all enemies are dead:  side options "EAST","WEST","GUER","CIV","LOGIC","ANY"
      // ["ProxPlayer", [0,0], 50, 1], // 1 player is within 100 meters of encounter center.
    //   ["Reinforce", 25, "Random"], // %chance when requested, Mission to run
    //   ["Timer", 600] // 10minutes must pass prior to being able to complete the mission (to allow bikes to get there!!!
    //["BodyCount", 9] // when at least 10 AI are killed by players
       // Note Reinforce trigger will not impact win/loss logic.
    ],
    [    //LOSE Triggers and Controls
//      ["HighUnitCount", "GUER",10,40,[0,0]] // 10 enemies get within 40m's of encounter center
           ["Timer",250]  // mission ends after ~6hrs
    //   ["AllDeadorGone"]
    ],   
    [    //Phase01 Triggers and Controls
//        ["Timer", 180]  // Mission Ends in 180 seconds
//      ["Detected",0,0]    //Launch mission if any group or vehicle detects a player
      //   ["ProxPlayer", [0,0], 100, 1] // 1 player is within 100 meters of encounter center.
    ],
    [    //Phase02 Triggers and Controls
    
    ],
    [    //Phase03 Triggers and Controls
    
    ],
    [    // NO TRIGGERS: Uncomment the line below to simply have this mission execute. Mission triggers from a mission that
          // launched this mission will continue to be observed.
    // Uncommenting this line will ignore all triggers defined above, and mission will pass neither a WIN or LOSE result.
     // ["NO TRIGGERS"]
    ]
],
/*Trigger and Control options
//Triggers 'Def' indicates trigger currently implemented!
Def: ["ProxPlayer",range,offset, numPlayers] : TRUE when '#' players gets within 'range' of the position offset from encounter center
Def:  ["LowUnitCount", side, numAI, radius, offset]: TRUE when AI of 'side' drops below numAI inside 'radius' from 'offset' of encounter center
Def: ["HighUnitCount",side, numAI, radius, offset]: TRUE when AI of 'side' go above numAI inside 'radius' from 'offset' of encounter center
          High and Low count: If radius is zero, radius defaults to encounter radius +100m.
Def: ["Detected", groups, vehicles]; TRUE when player is detected by encounter AI. 'groups' and 'vehicles' are group and vehicle
         numbers that will conduct the detection. A value of zero will permit all groups. A value of -1 will be none.
          ["Detected",0,2]  This would trigger if any 'AI group' or vehicle group #2 detect a player.
          ["Detected",-1, 1] This would trigger only if vehicle group #1 detects a player
Def: ["Reinforce", chance, "MsnName"]: Sets up reinforcement logic in the event AI calls for help via RadioChatter
      This trigger has no impact on 'win' conditions. If reinforcement ability is desired, ensure this trigger
      is included in the mission, as well as any 'phased' missions.

// EH Controls
5 ["KillGroup",grp#]: triggers when specified group's AI are all killed.  grp# taken from the above array of groups, starting with '1'
6 ["KillVehicle",veh#]: triggers when specified vehicle is destroyed. veh# taken from the above array of vehicles
7 ["AccessObj",obj#]: triggers when specified veh# or staticLoot (id = 0) is accessed.

// Timer Controls
8 ["TIMER_Trig", time, one of the above controls]: enables one of the above Trigger or EH's 'time' seconds after encounter start.
9 ["TIMER", time]: triggers  'time' seconds after encounter start. (ie placed in LOSE block ["TIMER",600], encounter would end in failure after 10 minutes if WIN triggers are not met.
10["Trig_TIMER", time, one of the above controls]: starts a timer after the associated Trigger/EH is activated. Upon completion status is set.
*/


// Phased Missions.
// Chaininig of missions is unlimited.
// Above triggers will 'suspend' when below phase starts. Phase launched will use its own triggers as specified in its mission script.
// If it is desired to continue to use the above Triggers instead of the 'launched mission's' triggers do the following:
//   uncomment the "NO TRIGGERS' line from the mission being launched.
// The below specified missions will be precompiled into the specified 'calls' when this script runs.
// The file needs to be located in the same folder as this mission launching them.
[
   // "NukeDevice",  //Phase01
   // "TestPhase2", //Phase02
   // "TestPhase3" //Phase03
]



];

 

Share this post


Link to post
Share on other sites

There might be a bug with coordinates at the actual version of FUMS.

Try M3Editor syntax:

 
[//BUILDINGS: persist = 0: building deleted at event completion, 1= building remains until server reset.
  [
    ["M3Editor", [0,0], 777, 0,
      [
        ["Land_Wreck_Heli_Attack_02_F",[0,0,0],0,[[0,1,0],[0,0,1]],false],
        ["Land_Wreck_Heli_Attack_01_F",[10,0,0],0,[[0,1,0],[0,0,1]],false]
      ]
  ]
],

Share this post


Link to post
Share on other sites

He-Man,

  Thanks for that one.   When I pushed out the last update (about a month ago), it introduced the M3Editor format to the missions.  This code also bugged some of the regular building arrays.  This will be fixed come the next update (next week).

 

Till then, you can put everything in M3Editor format and you will be good to go.

 

-Horbin

Share this post


Link to post
Share on other sites

Nice to hear about the coming update.

Can you please also check my comments / questions from post #917 for the update?

 

And one more question: What is the best way for triggering all AI's dead from Convoy?

I tested ["LowUnitCount", "GUER", 0, 0, [0,0]] // (all enemies are dead), but then the Convoy is finished direcly by coming up.

I tested ["BodyCount", xx], but then sometimes the mission will not be finished (I think because an AI dies by another AI, road kill or something else.

 

Anybody knows a better way?

Share this post


Link to post
Share on other sites

He-Man

  SpawnSoldier.sqf  line 96 change the 25 to 0.   for AI should lock the AI into 1 spot.

 

  FillLoot.sqf line 72-77

     When using an offset (ie 2D specified point) FuMS trys to find a safe position within 8m of the intended spot to help prevent jamming the loot box into other objects.

 

In instances where there is no good spot within 8m's there is the potential for the box to be placed somewhere not intended, like in a tree or on a wall.

 

I'll do some testing on each of these and tweak as part of the update.

 

 

For the Convoy, BodyCount is the best trigger available at the moment.  I would set the number to something less than the total AI.  So if you have a convoy of 3 vehicles, each with 4 AI I would set BodyCount to 9.  This leaves a little slop for the accidental 'I drove over the AI' or 'lost AI that is out of sight over the hill'.

 

BodyCount will start to increment for accidental AI on AI deaths (but not for roadkills!) on next update.

Share this post


Link to post
Share on other sites

Tried to reduce 8m to 2m.

 

from    _pos = [_pos, 0, 30, 1,0, 8,0,[],[]] call BIS_fnc_findSafePos; // 1m clear, terraingradient 8 pretty hilly
to        _pos = [_pos, 0, 30, 1,0, 2,0,[],[]] call BIS_fnc_findSafePos; // 1m clear, terraingradient 8 pretty hilly
 

Box spawned 13m away from center :-/

 

- What means the 30? Tried to set this on 2 -> No loot box

- Can I reduce the 1 to 0 meter?

 

- Can I set the following, to take the exact position?

// _pos = [_pos, 0, 30, 1,0, 8,0,[],[]] call BIS_fnc_findSafePos; // 1m clear, terraingradient 8 pretty hilly

_pos = _pos;

 

Or I wait for next week, when you have checked it yourself ;)

Share this post


Link to post
Share on other sites

Hello Epoch Friends!

 

I am trying to get the Horde mission to not spawn map markers. I'm not sure why it isn't working. I do have the following set in the trigger:

 

    false, // Notify players via global message
    false, // Show encounter area on the map
 
Is this a bug or did i miss something?

Share this post


Link to post
Share on other sites

Carp,

  This particular theme takes advantage of 'mission phases'.  The 1st phase of each mission is simply a mission that generates the marker and establishes a trigger to watch for players.  When a player is detected, this mission launches the 'horde' mission.

 

To remove the map markers, check the settings in the mission named 'spawn trigger.sqf'.

Share this post


Link to post
Share on other sites

Carp,

  This particular theme takes advantage of 'mission phases'.  The 1st phase of each mission is simply a mission that generates the marker and establishes a trigger to watch for players.  When a player is detected, this mission launches the 'horde' mission.

 

To remove the map markers, check the settings in the mission named 'spawn trigger.sqf'.

 

Hey thanks for that horbin. I was not fully aware of how the spawn trigger played its part, but that makes much more sense. Once I changed that value to false, the markers disappeared. Cheers!

Share this post


Link to post
Share on other sites

I don't know, why the loot boxes have to refresh for you. It makes no sense for me.

For example you can set loose trigger to 3600 seconds and restart the mission immediately.

But you must set the despawn time for the box to a few seconds, I think.

Share this post


Link to post
Share on other sites

Expect 2.0 this weekend...hopefully Friday evening.

 

Overview:

-HC connect/disconnect logic greatly improved (HC will retain control of AI through heavy network and server lag)

- min/max 'players online' settings for all themes

- Damage Building trigger added - allow missions to change state based upon damage to specific or all buildings.

- Damage Vehicle trigger added - allow missions to change state based upon damage to specific or all vehicles.

- M3Editor buildings now support FuMS smoke/fire definitions

- Missions will be able to execute Admin custom mission start and mission end scripts, defined per mission.

- many minor bug fixes and tweaks (will be noted in final update notes)

Share this post


Link to post
Share on other sites

Expect 2.0 this weekend...hopefully Friday evening.

 

Overview:

-HC connect/disconnect logic greatly improved (HC will retain control of AI through heavy network and server lag)

- min/max 'players online' settings for all themes

- Damage Building trigger added - allow missions to change state based upon damage to specific or all buildings.

- Damage Vehicle trigger added - allow missions to change state based upon damage to specific or all vehicles.

- M3Editor buildings now support FuMS smoke/fire definitions

- Missions will be able to execute Admin custom mission start and mission end scripts, defined per mission.

- many minor bug fixes and tweaks (will be noted in final update notes)

Wow.... great new features! :)

What about the Sound feature of Mission Start / Win / Lose, will it be intigrated?

 

Share this post


Link to post
Share on other sites

In Background of my last Posts, I will be very pleased when you can integrate / check this:

 

- Let the box spawn exact / on a defined radius per Mission?

 

- Let the AI's  spawn exact / on a defined radius per Mission?

 

- Let the mission spawn random inside the marker area (not exact in the center)

Share this post


Link to post
Share on other sites

I wanted to try this mission. but unclear on certain things. 1 - DO i need to run a HC for this to work, or will it work like SEM, blckeagls etc.

 

I run a private server. So its only played on by myself and few friends.

 

2nd. if I do need HC, i am unclear on how things are setup exactly.

I have read through

But here is my scenario

 

I have a desktop PC. I run the server from that pc and also play on that same PC.

 

the tutorial states

 

that in the mission folder i make an init.sqf

and have

if !(hasInterface or isServer) then {

  HeadlessVariable = true;

  publicVariable "HeadlessVariable";

execVm "AI_Init.sqf";

};
 
"GlobalHint" addPublicVariableEventHandler
{
private ["_GHint"];
_GHint = _this select 1;
hint parseText format["%1", _GHint];
};

but what i am not clear on is can i add this code to my existing init.sqf or am I running 2 different missions, one with just the HC and one with my epoch stuff.

 

I would like to be able to run server, hc and be able to also play, all on the same pc. I do not have another pc, and im not willing to shell out 60 dollars a month for a server just to play with a couple of friends.

 

thanks

Share this post


Link to post
Share on other sites

tinboye,

    Yes, you need an HC.  

 

If you are playing with friends and you are running the server, I think you can get one of your buddies to also install the server, then he can fire up the 'server' as an HC and connect to your server.  His machine would then handle all the AI.

 

I have not tested this, but I believe it will work.

 

HC configuration/setup is also included in the FuMS setup/install documents. I believe the instructions I have there are fairly condensed and possibly a little easier to understand than some of the mile long posts on HC setup that are out there.

Share this post


Link to post
Share on other sites

Dirty,  thanks for highlighting that.....its the config.cfg though :)

 

Here is a clip from my server's config.cfg (I use a separate machine for my HC)

 

 
localClient[]={127.0.0.1, 192.168.0.24};
headlessClients[] = {"127.0.0.1","192.168.0.24"};
battleyeLicense=1;
 
What they do:
localClient[] -- tells the server to allocate greater than normal bandwidth to this IP.
headlessClients[] -- tells the server from what IP's to permit HC's to connect from.
batteyeLicense -- allows HC to connect, even when it shares a common license ID with a player who is also logged in.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Advertisement
  • Supporters
  • Discord

×
×
  • Create New...