Jump to content

Fulcrum Mission System v2.1a


horbin

Recommended Posts

they need to go in the mission pbo.

 

See the zombie sounds installation for an example path and description.ext changes needed.

Works like a charm... thx alot!

but what about the Win and Lose Message? can i handle it like the other one?

Link to comment
Share on other sites

Find the following in the MissionInit.sqf (around line 84 in the original file).

// Mission complete: Take action based upon Trigger/Mission Logic above
diag_log format ["<FuMS> MissionInit: Mission %2 finished with status of :%1",_msnStatus, _curMission]; 

Place the following code just below the two lines found from above.

FuMS_GlobalSound = "";
if (_msnStatus == "WIN") then
{    
   switch (toupper _curMission) do
   {
      case "BANDITCAMP": {FuMS_GlobalSound = "win1";};
      case "VANCRASH": {FuMS_GlobalSound = "win2";};
   };
   if (FuMS_GlobalSound != "") then { publicVariable "FuMS_GlobalSound";};
};

if (_msnStatus == "LOSE") then
{
   switch (toupper _curMission) do
   {
      case "BANDITCAMP": {FuMS_GlobalSound = "lose1";};
      case "VANCRASH": {FuMS_GlobalSound = "lose2";};
   };
   if (FuMS_GlobalSound != "") then { publicVariable "FuMS_GlobalSound";};
};

The above code should allow you to provide custom sounds/audio for victory and failure conditions for each mission you specify. This is not the most efficient way of doing this, but it should get the job done for you, and hopefully makes it easy to understand.

Link to comment
Share on other sites

Joshi, look at the win and lose triggers for the convoy mission... lose condition is "AllDeadOrGone". Probably should just set it to a timer. I've been meaning to mention this to Horbin myself but it hasn't been high priority as these should really be tweaked per server standards and needs.

 

Haven't tested the control points or looked at them yet so I can't say much on that.

Link to comment
Share on other sites

The Convoy and Control Point missions are 'Demo' missions.

 

You need to building something appropriate to the needs of your server. You can use those two missions as a rough template.

Of note, that building structure that comes with the 'control point' mission is also a DEMO of the M3Editor capability.

Basically that CTF mission is a 'testing' mission.  Admins, over to you guys to tweak what you want for your server :)

 

 

FuMS behavior is to clean up all vehicles that are not 'claimed' by players upon a mission ending.

To claim a vehicle a player must get into it.

If the delay after mission completion is too short for your liking, you can modify that in the top portion of each mission file. This will give players 'more time' to get to vehicles, if this is what you want for your server.

Link to comment
Share on other sites

Hi Horbin,

I have set up a new Esseker server. What is the process required for adding map support to FuMS? So far I have added an entry in FuMS\HC\Util\GetWorldInfo.sqf:

// GetWorldInfo.sqf
// code taken from A3EAI by Face
// http://epochmod.com/forum/index.php?/topic/31551-a3eai-ai-addon-for-a3-epoch-alpha-057-released/
// Horbin
// 4/3/2015

  
// Exclusion Areas
// Areas to be excluded from Global Random generation of mission spawn points
// Points listed are for the upper left and lower right corners of a box.

// Default Areas
// default positions to use if locations being randomly generated
// These positions will be used if a random safe location is not found.
// Note: The below locations are for use by BIS_fnc_findSafePos !!!
		
//  If you have specific locations you want to use for your mission set, place those
//  locations in the specific themedata.sqf.

private ["_worldname"];
FuMS_BlackList = [];
FuMS_DefaultPos = [];
_worldname = (toLower worldName);
	{
		if ( _worldname isEqualTo (_x select 0) ) exitWith 
		{			
			FuMS_MapCenter = _x select 1;
			FuMS_MapRange = _x select 2;
            if (count _x > 2) then { FuMS_BlackList = _x select 3;}
            else { FuMS_BlackList = [];};
            if (count _x > 3) then {FuMS_DefaultPos = _x select 4;}
            else {FuMS_DefaultPos = [];};  
		};
    } forEach 
    [        
        [
            "altis",
            [15834.2,15787.8,0], // Map Center
            12000,  // Map Size
            [
                //Exlusion Areas
                [[13000,15000,0],[14000,14000,0]],	// Middle spawn near Stavros
                [[05900,17100,0],[06400,16600,0]], // West spawn
                [[18200,14500,0],[18800,14100,0]],   // East spawn
                [[23400,18200,0],[23900,17700,0]] // Clone Lab
            ],
            [                        
                //Default Areas            
            ]    
        ],    
        [
            "stratis",
            [3937.6,4774.51,0],
            3000,
            [
                
            ],
            [
                
            ]
        ],
        ["caribou",[3938.9722, 4195.7417],3500],
        [
            "chernarus",
            [6968.658203,8345.914063,0],  //  Map Center
            6000,  //Map size
            [
                //Exclusion Areas
                [[4069.52,4024.24,0],[5069.52,5024.24,0]],  //South West
                [[11577.8,4621.92,0],[12577.8,5621.92,0]], //South East
                [[10188.6,8928.98,0],[11188.6,9928.98,0]], //North East
                [[990.27,1523.47,0],[1090.27,2523.47,0]]  //Clone Lab
            ],
            [
                //Default Areas
            ]
        ], 
		[
            "esseker",
            [6000,6000,0],  //  Map Center
            6000,  //Map size
            [
                //Exclusion Areas
            ],
            [
                //Default Areas
            ]
        ], 		
        ["fallujah",[5139.8008, 4092.6797],4000],
        ["fdf_isle1_a",[10771.362, 8389.2568],2750],
        ["isladuala",[4945.3438, 4919.6616],4000],
        ["lingor",[5166.5581, 5108.8301],4500],
        ["mbg_celle2",[6163.52, 6220.3984],6000],
        ["namalsk",[5880.1313, 8889.1045],3000],
        ["napf",[10725.096, 9339.918],8500],
        ["oring",[5191.1069, 5409.1938],4750],
        ["panthera2",[5343.6953, 4366.2534],3500],
        ["sara",[12693.104, 11544.386],6250],
        ["smd_sahrani_a2",[12693.104, 11544.386],6250],
        ["sauerland",[12270.443, 13632.132],17500],
        ["takistan",[6368.2764, 6624.2744],6000],
        ["tavi",[10887.825, 11084.657],8500],
        ["trinity",[7183.8403, 7067.4727],5300],
        ["utes",[3519.8037, 3703.0649],1000],
        ["zargabad",[3917.6201, 3800.0376],2000],
        [
            "bornholm",
			[10088.2,9045.73,0],  //Map Center
			13500, //Map size
			[
				//Exclusion Areas
				[[4144.52,9255.61,0],[3144.52,8255.61,0]],  //West Spawn Area
				[[11466.9,12192.4,0.],[12466.9,13192.4,0]],  //East Spawn Area
				[[3537.25,15053.3,0],[3537.25,16053.3,0]],  //North Spawn
				[[13313.2,6376.4,0],[14313.2,7376.4,0]] //Clone Lab
			],
			[
				//Default Areas
			]
		],
        [_worldname,getArray(configFile >> "CfgWorlds" >> worldName >> "centerPosition"),7000]
    ];

    
diag_log format ["##GetWorldInfo: Map:%1 Center:%2 Size:%3",_worldname, FuMS_MapCenter, FuMS_MapRange];
    
    

I've been getting quite a lot of errors:

http://pastebin.com/WFHJVCVF

Are any other changes required?

Link to comment
Share on other sites

The Convoy and Control Point missions are 'Demo' missions.

 

You need to building something appropriate to the needs of your server. You can use those two missions as a rough template.

Of note, that building structure that comes with the 'control point' mission is also a DEMO of the M3Editor capability.

Basically that CTF mission is a 'testing' mission.  Admins, over to you guys to tweak what you want for your server :)

 

 

FuMS behavior is to clean up all vehicles that are not 'claimed' by players upon a mission ending.

To claim a vehicle a player must get into it.

If the delay after mission completion is too short for your liking, you can modify that in the top portion of each mission file. This will give players 'more time' to get to vehicles, if this is what you want for your server.

 

 

o hehe yea found that too also test mode was still on but one last thing are All just demos? because the zombie missions seems broken they just stand around ^^

Link to comment
Share on other sites

Not sure whats up with that Josh, even with stock 1.5g the zombies attack.

However a fiddle and a fiddle and you can have some nice things with Horbin zombies.

I have my current setup to trigget 6 cities with Zombie Towns, they get triggered a lot and it gets to be even more fun when a small or town mission hits the same triggered city.

You have to tinker, you have to customize, but the end result is great for the server.

Enjoy

Link to comment
Share on other sites

Thanks @DirtySanchez ^^

 

you may know whats wrong i have no idea whats wrong 

 

 

 

//NukeDevice.sqf
// Horbin
// 1/11/15
// Based upon drsubo Mission Scripts

[
["Zombies", 200], // Mission Title NOSPACES!, and encounter radius
["Zombies","mil_objective","ELLIPSE","Colorblack","FDiagonal",200],    // Map Markers ["MapText", "SHAPE", "COLOR", "FILL", size];
   // type is "mil_objective"
[  
    [// NOTIFICATION Messages and Map display Control.
	false, "ALL",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
    0,    // Win delay: Time in seconds after a WIN before mission cleanup is performed
    0       // 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
["Mission",
    "",
    ""
],
    
    // Mission Success Message
["Mission Success",
    "",
    ""
],
  
    // Mission Failure Message
["Mission Failure!",
    "",
    ""
] 
],
[  //  Loot Config:  Refer to LootData.sqf for specifcs
["None" , [18,-9] ], //[static loot, offset location] - spawns with the mission
["None" , [5,5] ], // 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_Device_disassembled_F",[0,0],0,0]   //type, offset, rotation, presist flag
],
[ // 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"]                                         ],   ["Guard",[-20,10],[0,0],[70] ]],
[["ZOMBIE","COMBAT","RED","LINE"],   [  [5,"Zombie"]           ],     ["Zombie",[50,-50],[50,-50],[]     ]],
[["ZOMBIE","COMBAT","RED","LINE"],   [  [5,"Zombie"]           ],     ["Zombie",[50,50],[50,50],[]     ]],
[["ZOMBIE","COMBAT","RED","LINE"],   [  [5,"Zombie"]           ],     ["Zombie",[-50,-50],[-50,-50],[]     ]],
[["ZOMBIE","COMBAT","RED","LINE"],   [  [5,"Zombie"]           ],     ["Zombie",[-50,50],[-50,50],[]     ]]
//[["RESISTANCE","COMBAT","RED","LINE"],   [  [3,"Rifleman"],[1,"LMG"] ],   ["Explore",[6,6],[0,0],[150]     ]],
//[["RESISTANCE","COMBAT","RED","LINE"],   [  [3,"Rifleman"]           ],   ["BoxPatrol",[-6,-6],[0,0],[0]     ]]
],
//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
[
                 
],
// 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", "EAST", 0, 0, [0,0]] // all enemies are dead:  side options "EAST","WEST","GUER","CIV","LOGIC","ANY"
     // ["ProxPlayer", [0,0], 20, 1] // 1 player is within 20 meters of encounter center.
	//  ["Reinforce", 100, "Random"] // %chance when requested, Mission to run
    ],
    [    //LOSE Triggers and Controls

//      ["HighUnitCount", "GUER",10,40,[0,0]] // 10 enemies get within 40m's of encounter center
    ],   
    [    //Phase01 Triggers and Controls
//      ["Detected",0,0]    //Launch mission if any group or vehicle detects a player
//        ["TIMER", 1500]   // Encounter fails after 1500 seconds (25 minutes)
        
    ],
    [    //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.
*/


// 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.
[
//    "TestPhase1",  //Phase01
//    "TestPhase2", //Phase02
//    "TestPhase3" //Phase03
]

];
 

 

iJ79BVlQhi1EuF.png

 

It is amazing What you can do with FuMS i only got the convoy up the way i like and still have a lot to do :D

Link to comment
Share on other sites

Yeah the file looks functional as is, the screen shot shows them on the map so good so far,

Now here is where they have to detect a player to start their terror.

with you standing there it should take no more than 1 second for the zombie to realize the threat and to start coming at you. That behavior is coded into FuMS and the only 2 ways I see it breaking is edits done by you to the zombies or the server is running poorly and the zombies aren't getting the info to know you are even there....

Just my opinion

If you need to see how they behave you can jump in my ts and Server and Ill pull you to a trigger.

however remember that even god mode does not protect you from these guys.

Link to comment
Share on other sites

SecondComing

  It looks like the HC had connection issues between time 8:23 and 9:27.  I see where FuMS connected, started to receive data.  Then in the same time frame a lot of serialization errors occurred.  I think these may be to excessive traffic to the client.

 

It looks like A partial disconnect was detected OR the global variable space was 'erased'. 

The errors you are seeing for FuMS are related to the transfer of script data from the server to the HC.  Basically FuMS is taking the HC scripts, converting them to a string (preprocessing) and sending them to the HC.

 

HC then attempts to compile all the scripts before actually starting any encounters.  The errors are occurring because many of the script strings are missing. I have seen this occur when some other addon or EPOCH itself, nulls out the MissionNamespace after FuMS starts.

 

Not too sure how to prevent this. The current 'waituntil' being used by FuMS waits until EPOCH has completed initialization, but your log does not seem to reflect that fact :(

 

Maybe some of those other errors are causing the HC to re-init or something?  Sorry I can't point to something specific atm.

Link to comment
Share on other sites

lonewolf,

    Is that an error in your server .rpt?

 

   Sounds like something is not set up correctly in your config.cfg file.

 

Send me a PM of your exact setup:

Server dedicated?

HC on same physical machine as server?

Are you able to build another HC on your home machine to try and get it to connect to your server?

Link to comment
Share on other sites

Ok well I managed to fix that error. But now my HC gets kicked everytime it joins the server by BE.  I use TADST to setup my server starting and BE

 

 

 

Ok my server is in fact dedicated

 

My HC is on the same physical machine

 

And no I am not.

FIRST:

Be sure you have the following in your server's config.cfg

//Headless client settings
headlessClients[]={127.0.0.1};
localClient[]={127.0.0.1};
battleyeLicense=1;
 

 

SECOND: 

If you use TADST to start your Server you must check the box on the lower right that says "Launch as is".

TADST overwrites the config.cfg file and does not include the above code (or does it incorrectly).

THIRD:

In the headless client's config.cfg add the following:

battleyeLicense=1;

I don't know if the battleyLicense=1 is needed if you're not using BE, so you may be able to do without that line in the both config.cfg's. I don't know. I'd try what I posted first though and see if the HC will stay connected.

There is a post in the BIS forums about TADST and HC's, but I can't find it just now.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
×
×
  • Create New...