Jump to content

Fulcrum Mission System v2.1a


horbin

Recommended Posts

@ horbin Hey dude, when my server hits around 62/5 players your mod crashes the server.

 

Is this a known issue (under load)?

has anyone else had the same problem with 60+ players?

 

Thanks,

 

Mike.

Had 40 players on a cpu sucking taviana with mas everthing, lootspawner, 300+ vehicles, 3 missions running, 85 AI at Sector B. Ran like a champ. But our HC has its own dedicated box.

Link to comment
Share on other sites

Had 40 players on a cpu sucking taviana with mas everthing, lootspawner, 300+ vehicles, 3 missions running, 85 AI at Sector B. Ran like a champ. But our HC has its own dedicated box.

 

OK yes thanks However 40 isn't really load, to be fair 60 isn't that bad.

 

At 40 players with FuSM running we have 46 FPS on the server. No issues no errors.

 

60/62+ and it crashes even with 29 FPS (Server side) last recored.

 

The HC has it's own host too:

4 core (8 hyper-t) 3.4GHz Xeon with 16GB of DDR3 RAM.

No issues that I can see from both server and client.

We now that I have removed the mod. No probs.

 

I'm currently exploring to work streams I'll see what I can pick up.

 

Thanks for the info dude.

 

Mike.

Link to comment
Share on other sites

lowrey,

   Is there anything 'telling' in the server.rpt or HC's .rpt?

 

Does the HC just close out and shut down? or does it get disconnected from the server 1st?

 

Also, check that you have your HC's IP addr added to the following line in your config.cfg:

 

localClient[]={127.0.0.1, 192.168.0.24};

 

This will ensure the HC has access to 'max bandwidth' (above what a client would normally get).

Link to comment
Share on other sites

Hi Hobin,

 

Thanks for you feedback.

 

 Is there anything 'telling' in the server.rpt or HC's .rpt?

Yes however I do not have them to hand. 

 

Also, check that you have your HC's IP addr added to the following line in your config.cfg:

Yes and it's configured correctly (I will also double check my work).  ;) 

 

Please someone tell me that this is find under load and I can continue to troubleshoot my end.

 

Who else is running with 60 plus players?

 

Thanks all,

 

Mike.

Link to comment
Share on other sites

Did something change in the blacklisting code?  I didn't change anything in my themes from C to D version and now I'm getting many errors in my HC RPT.

 

10:35:27 Error in expression <d = false;


for "_i" from 0 to ((count _list) - 1) do {
_current = (_list selec>
10:35:27   Error position: <_list) - 1) do {
_current = (_list selec>
10:35:27   Error Undefined variable in expression: _list
10:35:27 File A3\functions_f\misc\fn_isPosBlacklisted.sqf, line 26
10:35:27 Error in expression <s = [_newX, _newY];



if (!([_testPos, _blacklist] call BIS_fnc_isPosBlackliste>
10:35:27   Error position: <_blacklist] call BIS_fnc_isPosBlackliste>
10:35:27   Error Undefined variable in expression: _blacklist
10:35:27 File A3\functions_f\misc\fn_findSafePos.sqf, line 96
10:35:27 Error in expression <d = false;


for "_i" from 0 to ((count _list) - 1) do {
_current = (_list selec>
10:35:27   Error position: <_list) - 1) do {
_current = (_list selec>
10:35:27   Error Undefined variable in expression: _list
10:35:27 File A3\functions_f\misc\fn_isPosBlacklisted.sqf, line 26
10:35:27 Error in expression <s = [_newX, _newY];



if (!([_testPos, _blacklist] call BIS_fnc_isPosBlackliste>
10:35:27   Error position: <_blacklist] call BIS_fnc_isPosBlackliste>
10:35:27   Error Undefined variable in expression: _blacklist
10:35:27 File A3\functions_f\misc\fn_findSafePos.sqf, line 96
10:35:27 Error in expression <d = false;


for "_i" from 0 to ((count _list) - 1) do {
_current = (_list selec>
10:35:27   Error position: <_list) - 1) do {
_current = (_list selec>
10:35:27   Error Undefined variable in expression: _list
10:35:27 File A3\functions_f\misc\fn_isPosBlacklisted.sqf, line 26
10:35:27 Error in expression <s = [_newX, _newY];



if (!([_testPos, _blacklist] call BIS_fnc_isPosBlackliste>
10:35:27   Error position: <_blacklist] call BIS_fnc_isPosBlackliste>
10:35:27   Error Undefined variable in expression: _blacklist
10:35:27 File A3\functions_f\misc\fn_findSafePos.sqf, line 96
10:35:27 Error in expression <d = false;


for "_i" from 0 to ((count _list) - 1) do {
_current = (_list selec>
10:35:27   Error position: <_list) - 1) do {
_current = (_list selec>
10:35:27   Error Undefined variable in expression: _list
10:35:27 File A3\functions_f\misc\fn_isPosBlacklisted.sqf, line 26
10:35:27 Error in expression <s = [_newX, _newY];



if (!([_testPos, _blacklist] call BIS_fnc_isPosBlackliste>
10:35:27   Error position: <_blacklist] call BIS_fnc_isPosBlackliste>
10:35:27   Error Undefined variable in expression: _blacklist
10:35:27 File A3\functions_f\misc\fn_findSafePos.sqf, line 96
10:35:27 Error in expression <d = false;


for "_i" from 0 to ((count _list) - 1) do {
_current = (_list selec>
10:35:27   Error position: <_list) - 1) do {
_current = (_list selec>
10:35:27   Error Undefined variable in expression: _list
10:35:27 File A3\functions_f\misc\fn_isPosBlacklisted.sqf, line 26
10:35:27 Error in expression <s = [_newX, _newY];



if (!([_testPos, _blacklist] call BIS_fnc_isPosBlackliste>
10:35:27   Error position: <_blacklist] call BIS_fnc_isPosBlackliste>
10:35:27   Error Undefined variable in expression: _blacklist
10:35:27 File A3\functions_f\misc\fn_findSafePos.sqf, line 96
10:35:27 Error in expression <terMode, _terrainGradient, 
_shoreMode, FuMS_BlackList, FuMS_Defaultpos] call BI>
10:35:27   Error position: <FuMS_BlackList, FuMS_Defaultpos] call BI>
10:35:27   Error Undefined variable in expression: fums_blacklist
10:35:27 File FuMS\HC\MsnCtrl\Util\GetSafeMissionSpawnPos.sqf, line 53
10:35:27 Error in expression <terMode, _terrainGradient, 
_shoreMode, FuMS_BlackList, FuMS_Defaultpos] call BI>
10:35:27   Error position: <FuMS_BlackList, FuMS_Defaultpos] call BI>
10:35:27   Error Undefined variable in expression: fums_blacklist
10:35:27 File FuMS\HC\MsnCtrl\Util\GetSafeMissionSpawnPos.sqf, line 27
10:35:27 "##GetSafeMissionSpawnPos: Good position [16918.9,4638.03] found with 14 attempts remaining."
10:35:30 "<FuMS> FUMSN Init: Fulcrum Mission System control loops starting for ["SEM",-1]."
10:35:32 Error in expression <d = false;


for "_i" from 0 to ((count _list) - 1) do {
_current = (_list selec>
10:35:32   Error position: <_list) - 1) do {
_current = (_list selec>
10:35:32   Error Undefined variable in expression: _list
10:35:32 File A3\functions_f\misc\fn_isPosBlacklisted.sqf, line 26
10:35:32 Error in expression <s = [_newX, _newY];



if (!([_testPos, _blacklist] call BIS_fnc_isPosBlackliste>
10:35:32   Error position: <_blacklist] call BIS_fnc_isPosBlackliste>
10:35:32   Error Undefined variable in expression: _blacklist
10:35:32 File A3\functions_f\misc\fn_findSafePos.sqf, line 96
10:35:32 Error in expression <d = false;


for "_i" from 0 to ((count _list) - 1) do {
_current = (_list selec>
10:35:32   Error position: <_list) - 1) do {
_current = (_list selec>
10:35:32   Error Undefined variable in expression: _list
10:35:32 File A3\functions_f\misc\fn_isPosBlacklisted.sqf, line 26
10:35:32 Error in expression <s = [_newX, _newY];



if (!([_testPos, _blacklist] call BIS_fnc_isPosBlackliste>
10:35:32   Error position: <_blacklist] call BIS_fnc_isPosBlackliste>
10:35:32   Error Undefined variable in expression: _blacklist
10:35:32 File A3\functions_f\misc\fn_findSafePos.sqf, line 96
10:35:32 Error in expression <terMode, _terrainGradient, 
_shoreMode, FuMS_BlackList, FuMS_Defaultpos] call BI>
10:35:32   Error position: <FuMS_BlackList, FuMS_Defaultpos] call BI>
10:35:32   Error Undefined variable in expression: fums_blacklist
10:35:32 File FuMS\HC\MsnCtrl\Util\GetSafeMissionSpawnPos.sqf, line 53
10:35:32 Error in expression <terMode, _terrainGradient, 
_shoreMode, FuMS_BlackList, FuMS_Defaultpos] call BI>
10:35:32   Error position: <FuMS_BlackList, FuMS_Defaultpos] call BI>
10:35:32   Error Undefined variable in expression: fums_blacklist
10:35:32 File FuMS\HC\MsnCtrl\Util\GetSafeMissionSpawnPos.sqf, line 27
10:35:32 "##GetSafeMissionSpawnPos: [17964.9,8169.84] not good, water found 133.333m's away"
10:35:32 Error in expression <d = false;


for "_i" from 0 to ((count _list) - 1) do {
_current = (_list selec>
10:35:32   Error position: <_list) - 1) do {
_current = (_list selec>
10:35:32   Error Undefined variable in expression: _list
10:35:32 File A3\functions_f\misc\fn_isPosBlacklisted.sqf, line 26
10:35:32 Error in expression <s = [_newX, _newY];



if (!([_testPos, _blacklist] call BIS_fnc_isPosBlackliste>
10:35:32   Error position: <_blacklist] call BIS_fnc_isPosBlackliste>
10:35:32   Error Undefined variable in expression: _blacklist
10:35:32 File A3\functions_f\misc\fn_findSafePos.sqf, line 96
10:35:32 Error in expression <terMode, _terrainGradient, 
_shoreMode, FuMS_BlackList, FuMS_Defaultpos] call BI>
10:35:32   Error position: <FuMS_BlackList, FuMS_Defaultpos] call BI>
10:35:32   Error Undefined variable in expression: fums_blacklist
10:35:32 File FuMS\HC\MsnCtrl\Util\GetSafeMissionSpawnPos.sqf, line 53
10:35:32 "##GetSafeMissionSpawnPos: [18061.4,7550.81] not good, water found 133.333m's away"
10:35:32 Error in expression <d = false;


for "_i" from 0 to ((count _list) - 1) do {
_current = (_list selec>
10:35:32   Error position: <_list) - 1) do {
_current = (_list selec>
10:35:32   Error Undefined variable in expression: _list
10:35:32 File A3\functions_f\misc\fn_isPosBlacklisted.sqf, line 26
10:35:32 Error in expression <s = [_newX, _newY];



if (!([_testPos, _blacklist] call BIS_fnc_isPosBlackliste>
10:35:32   Error position: <_blacklist] call BIS_fnc_isPosBlackliste>
10:35:32   Error Undefined variable in expression: _blacklist
10:35:32 File A3\functions_f\misc\fn_findSafePos.sqf, line 96
10:35:32 Error in expression <terMode, _terrainGradient, 
_shoreMode, FuMS_BlackList, FuMS_Defaultpos] call BI>
10:35:32   Error position: <FuMS_BlackList, FuMS_Defaultpos] call BI>
10:35:32   Error Undefined variable in expression: fums_blacklist
10:35:32 File FuMS\HC\MsnCtrl\Util\GetSafeMissionSpawnPos.sqf, line 53
10:35:32 "##GetSafeMissionSpawnPos: Good position [10014.9,14275.7] found with 12 attempts remaining."
10:35:35 "<FuMS> FUMSN Init: Fulcrum Mission System control loops starting for ["Small",-1]."
10:35:35 Error in ReloadMagazine - unable to locate target weapon m249_EPOCH
10:35:37 Error in expression <d = false;


for "_i" from 0 to ((count _list) - 1) do {
_current = (_list selec>
10:35:37   Error position: <_list) - 1) do {
_current = (_list selec>
10:35:37   Error Undefined variable in expression: _list
10:35:37 File A3\functions_f\misc\fn_isPosBlacklisted.sqf, line 26
10:35:37 Error in expression <s = [_newX, _newY];



if (!([_testPos, _blacklist] call BIS_fnc_isPosBlackliste>
10:35:37   Error position: <_blacklist] call BIS_fnc_isPosBlackliste>
10:35:37   Error Undefined variable in expression: _blacklist
10:35:37 File A3\functions_f\misc\fn_findSafePos.sqf, line 96
10:35:37 Error in expression <d = false;


for "_i" from 0 to ((count _list) - 1) do {
_current = (_list selec>
10:35:37   Error position: <_list) - 1) do {
_current = (_list selec>
10:35:37   Error Undefined variable in expression: _list
10:35:37 File A3\functions_f\misc\fn_isPosBlacklisted.sqf, line 26
10:35:37 Error in expression <s = [_newX, _newY];



if (!([_testPos, _blacklist] call BIS_fnc_isPosBlackliste>
10:35:37   Error position: <_blacklist] call BIS_fnc_isPosBlackliste>
10:35:37   Error Undefined variable in expression: _blacklist
10:35:37 File A3\functions_f\misc\fn_findSafePos.sqf, line 96
10:35:37 Error in expression <d = false;


for "_i" from 0 to ((count _list) - 1) do {
_current = (_list selec>
10:35:37   Error position: <_list) - 1) do {
_current = (_list selec>
10:35:37   Error Undefined variable in expression: _list
10:35:37 File A3\functions_f\misc\fn_isPosBlacklisted.sqf, line 26
10:35:37 Error in expression <s = [_newX, _newY];



if (!([_testPos, _blacklist] call BIS_fnc_isPosBlackliste>
10:35:37   Error position: <_blacklist] call BIS_fnc_isPosBlackliste>
10:35:37   Error Undefined variable in expression: _blacklist
10:35:37 File A3\functions_f\misc\fn_findSafePos.sqf, line 96
10:35:37 Error in expression <terMode, _terrainGradient, 
_shoreMode, FuMS_BlackList, FuMS_Defaultpos] call BI>
10:35:37   Error position: <FuMS_BlackList, FuMS_Defaultpos] call BI>
10:35:37   Error Undefined variable in expression: fums_blacklist
10:35:37 File FuMS\HC\MsnCtrl\Util\GetSafeMissionSpawnPos.sqf, line 53
10:35:37 Error in expression <terMode, _terrainGradient, 
_shoreMode, FuMS_BlackList, FuMS_Defaultpos] call BI>
10:35:37   Error position: <FuMS_BlackList, FuMS_Defaultpos] call BI>
10:35:37   Error Undefined variable in expression: fums_blacklist
10:35:37 File FuMS\HC\MsnCtrl\Util\GetSafeMissionSpawnPos.sqf, line 27
10:35:37 "##GetSafeMissionSpawnPos: Good position [17307.9,5403.52] found with 14 attempts remaining."

 

Interestingly enough though everything seems to be working ok.  

 

 

 

EDIT:  Fixed it.  Fums\HC\GetWorldInfo.sqf  line 96  "Bornholm" should be "bornholm", with a lower case b.  Otherwise the system ignores it apparently.  

Link to comment
Share on other sites

Quick question, do I need to fill these in with anything for the HC to work.

FuMS_HCIDs = [];
FuMS_HCNames = [];
FuMS_HCIDs set [0,0]; // set the 1st slot to be the actual server's ID.
FuMS_HCNames set [0, "SERVER"];

I have created 2 HC slots in my mission.sqm (100 & 101). One is for A3EAI and it works fine, the 2nd (101) is for FuMS. When I tried starting up the server I saw nothing about FuMS in the RPT file at all, but both HC consoles showed they connected.

 

So just to be clear, I have an existing HC AI system already working (A3EAI), I'm trying to add FuMS. Any help would be appreciated.

 

Thanks!

Link to comment
Share on other sites

Quick question, do I need to fill these in with anything for the HC to work.

FuMS_HCIDs = [];
FuMS_HCNames = [];
FuMS_HCIDs set [0,0]; // set the 1st slot to be the actual server's ID.
FuMS_HCNames set [0, "SERVER"];

I have created 2 HC slots in my mission.sqm (100 & 101). One is for A3EAI and it works fine, the 2nd (101) is for FuMS. When I tried starting up the server I saw nothing about FuMS in the RPT file at all, but both HC consoles showed they connected.

 

So just to be clear, I have an existing HC AI system already working (A3EAI), I'm trying to add FuMS. Any help would be appreciated.

 

Thanks!

 

Try addming it to 0 instead of 101.

 

Let me know how you get on.

 

Mike.

Link to comment
Share on other sites

Additionally, if you are running two HC's, you will need to edit the BaseServer.sqf.

 

Each place you see: for example:

  ["HeloPatrol", -1],

 

you will want to change it to

 ["HeloPatrol", 1]   or ["HeloPatrol",2]

 

With a theme set at -1 it will run on each HC that connects.

 

Also if you extended it to 101, did you update items=102 at the top of the class Groups definition?

Link to comment
Share on other sites

Inspired by Richie's HeloCrash addon. I needed some new functionality to add. Thanks Richie!

v1.5e

  • Loot Options: "SCATTER" key word. "SCATTER" may now be used in place of a Loot option name or "RANDOM" in the 'Loot Configuration' section of all missions. When "SCATTER" is specified the loot option named "SCATTER" is selected. Loot contained in the 'SCATTER' option (defined in LootData.sqf or GlobalLootData.sqf ) will be distributed on the ground in random directions around the loot's base location. This options works WITH vehicles, so, if in the mission file, "SCATTER" is the loot option for the vehicle, the loot will be scattered around the vehicle when it is spawned. No loot box will be created when "SCATTER" is used.

Ex: ["Scatter",[0,0]] In this case when loot is to be spawned the loot items contained in the "SCATTER" description in the LootData.sqf will be spawned on the ground around the location 0,0.

  • Fire and Smoke Effects: 3 sizes of Fire and smoke "Fire" or "Smoke" options are now available to static vehicles and buildings in all missions. "FIRE_SMALL","FIRE_MEDIUM","FIRE_BIG","SMOKE_SMALL","SMOKE_MEDIUM","SMOKE_BIG" are the list of current valid options. Static vehicles are defined in the 'Buildings' section of each mission. See Theme\Test\NukeDevice.sqf for example usage. Attaching this parameter to a vehicle or building will cause it to have the desired effect until it despawns.

  • Building Randomization: In the 'Building' section of each mission when defining structures and static vehicles, the 'name' of the building/vehicle may now be a list of names. When FuMS sees a list it will randomly select one of the names from the list. See \FuMS\Themes\StaticMissions\DayZHeloCrash.sqf for example.

  • Crash Site Theme (Title: StaticMissions) - inspired by Richie

Theme demonstrates new functionality introduced in v1.5e. This theme will spawn 10 Dayz style helo crashes at random locations across the map. All 10 crashes are spawned when the HC connects and remain until server reset. Placement of these crashes follow normal FuMS spawn mechanics so they will not spawn near bases, players or other encounters. Note: If you want the locations to show on the map, set the 'show encounter' option to 'true' in the DayZHeloCrash.sqf mission file. Note: This mission can be easily edited to add AI, or even change the helo to a semi-functioning, smoking version...it is just another FuMS mission after all!

  • MadScience Theme: Modified to not show on map by default.

  • SEM Theme: Added Smoke/Fire effects where applicable to crash missions.

Link to comment
Share on other sites

Oh baby,

Was about to add the helo crashes to the rebuild but now its just an update from you!

Thanks again Horbin great work, I cant wait to get into customizing it more after a few projects.

I have not looked too deep yet, but is your built in SEM his coding or is it modded/adapted for your System?

I was actually wanting to move his 0.8.3 to FuMS, but haven't even taken a looksee, so its a little early for me to even bring it up but its on my horizon soon.

Link to comment
Share on other sites

SEM theme in FuMS is a theme that mirrors the old Arma2 EPOCH simple missions. It is coded using FuMS mission mechanics

  4-5 missions that appear in a random location.

   Marked on the map and announced via message and radio chatter.

   9 or so random AI stationed around some sort of object (helo crash, vehicle crash, base camp, etc)

   reward produced when enough of the AI are killed (7 of 9) AND a player is within 100m of the encounter center.

   Reinforce is enabled: So when a group gets below 50% the group leader has a chance to call for help. If the 'base ops' responds, another group of 3 AI enter the mission either on foot, via helo drop, or via vehicle drop off (random).

 

 

Each theme I have built for FuMS was built to demonstrate capability. SEM also takes advantage of the 'Reinforcement' options.  Other themes, like Town Raid, demon straight AI pick up and drop off  by vehicles and AI building search...Aquatic the water options, etc. The Test theme contains many other missions that are more 'examples' than anything else.

Link to comment
Share on other sites

OK yes thanks However 40 isn't really load, to be fair 60 isn't that bad.

 

At 40 players with FuSM running we have 46 FPS on the server. No issues no errors.

 

60/62+ and it crashes even with 29 FPS (Server side) last recored.

 

The HC has it's own host too:

4 core (8 hyper-t) 3.4GHz Xeon with 16GB of DDR3 RAM.

No issues that I can see from both server and client.

We now that I have removed the mod. No probs.

 

I'm currently exploring to work streams I'll see what I can pick up.

 

Thanks for the info dude.

 

Mike.

 

 

Do you mind sharing your basic.cfg settings?

Link to comment
Share on other sites

I'm having some trouble figuring out the correct array values for what I'm trying to do.  Here's the error I'm getting

16:03:28 "<FuMS> FUMSN Init: Fulcrum Mission System control loops starting for ["SEM",-1]."
16:03:33 "<FuMS> FUMSN Init: Fulcrum Mission System control loops starting for ["Small",-1]."
16:03:37 Error in expression <l_FindTown;}  
else
{  
_newx = _origin select 0;
_newx = _newx + (_offset selec>
16:03:37   Error position: <select 0;
_newx = _newx + (_offset selec>
16:03:37   Error select: Type Number, expected Array,String,Config entry
16:03:37 File FuMS\HC\MsnCtrl\Util\XPos.sqf, line 17
16:03:38 "<FuMS> FUMSN Init: Fulcrum Mission System control loops starting for ["StaticSpawns",-1]."
16:03:40 "##ControlLoop: Calling StaticMissionControlLoop with mission List:[["DayZHeloCrash"],["DayZHeloCrash"],["DayZHeloCrash"],["DayZHeloCrash"],["DayZHeloCrash"],["OX-99-1",[7146.98,12089]],["OX-99-2",[7296.28,12011]],["OX-99-3",[7222.08,12070,0]],["DP-1",[19649.7,22106.3]],["DP-2",[19675.1,22017.9,8.1]],["DP-3",[19312.2,22308]],["PB-1",[11040.1,7114.63]],["PB-2",[11089.8,7142.63]],["PB-3",[11063.9,7136.47]],["PB-4",[11064.4,7102.51]]]"
16:03:42 Error in expression <private ["_dist"];       

_dist = _pos distance (_x select 0);
if (_dist < (_en>
16:03:42   Error position: <distance (_x select 0);
if (_dist < (_en>
16:03:42   Error distance: Type Number, expected Array,Object,Location
16:03:42 File FuMS\HC\MsnCtrl\Util\GetSafeMissionSpawnPos.sqf, line 65

I'm trying to set up static AI spawns at a handful of locations around the map.  I don't want a "building" or other object to spawn with them, so I had to guess how it was supposed to be set.  See below for an example.

 

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

[
["DP-1", 100, "LAND"], // Mission Title NOSPACES!, and encounter radius
["DP-1","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!
["None" , [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.
  [
    [""],
    [0,0], // location
	0, // rotation
	0, // persist flag
	""
  ]
  
],
[ // AI GROUPS. Only options marked 'Def:' implemented.
	[["RESISTANCE","COMBAT","RED","COLUMN"],   [  [1,"Sniper"]],   ["Explore",[0,0],[0,0],[100]   ]],
	[["RESISTANCE","COMBAT","RED","LINE"],   [  [1,"Rifleman"] ],   ["Explore",[0,0],[0,0],[100] ]],
	[["RESISTANCE","COMBAT","RED","LINE"],   [  [2,"Hunter"] ],   ["Explore",[0,0],[0,0],[100]     ]]
],
//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",21600]  // 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
]



];

 

//ThemeData.sqf
// Horbin
// 4/21/15
// Inputs: Theme index into which to store this data.
// Outputs: none
 //  Options , Mission List, Points List
_themeData =
[
    [  // *******Options*********
        "StaticSpawns", // Needs to match the folder name!
        4,  //Mission Selection: 1=Random, 2=In order, 3=Random:once only until all missions run
             // 4=Static: All missions in 'Mission List' will be created at server start!
			 // 5=Static: with no respawn. Use option 5 for 'create once' type missions.
			 // Using option 4 will permit mission to run and re-spawn based upon the respawn delay below.
			 //  option 5 will let the mission only spawn once per 6 hours (ie server reset)
        1200, // Respawn delay in seconds
		true, // use Global Loot Data (GlobalLootData.sqf)
		true,  // use Global Soldier Data file (GlobalSoldierData.sqf)
		true // ThemeAutoStart: Setting this to 'false' will prevent normal start-up of the Theme! See \Docs\AdminControls.txt
       
    ],
    [  //***** Mission List *****
    // List of Missions. 
        // The below missions MUST be in the same folder as this file!            
		//["TestMission01",[10700,12200] ], // spawn at the specific location. If '0' take from locations below!
        //  ["BikeGang"],  // will spawn at any of the locations defined below! If none defined, BIS_fnc_findSafePos will be used.
	   //  ["TestMission01","Charkia"],// mission will only spawn in the town of Charkia
		  ["DayZHeloCrash"],["DayZHeloCrash"],["DayZHeloCrash"],["DayZHeloCrash"],["DayZHeloCrash"],
		  ["OX-99-1",[7146.98,12089]],["OX-99-2",[7296.28,12011]],["OX-99-3",[7222.08,12070,0]],
		  ["DP-1",[19649.7,22106.3]],["DP-2",[19675.1,22017.9,8.1]],["DP-3",[19312.2,22308]],
		  ["PB-1",[11040.1,7114.63]],["PB-2",[11089.8,7142.63]],["PB-3",[11063.9,7136.47]],["PB-4",[11064.4,7102.51]]
			//["WaterMission"],
		// ["TestHeloPatrol","Stavros"],
		//["MazeTest",[23587,18368.5]],
        //  ["NukeDevice"],
		// ["MazeTest2"]
		// ["MazeTest2",[23300,17800]],
		// ["MazeTest2",[15500,20000]]
		//["TestParse"]
		 
    ],
    [   //***** Locations ***** !! 2D coords ONLY !!
	    //Location format ["keyword"] or [[x,y],"optional name"] or [x,y]
		//  Where the 'optional name' is found, it will be used in place of the MissionName defined in the mission file.
		// Urban locations will always use their location instead of the mission name.
        // List of Encounter locations to be used if Global random locations are not desired
		// If keywords "Villages", "Cities", "Capitals" found as entries, the appropriate
		//  locations from the mission map will be added to the list.
		// Specific cities can also be included, if not all of a type are desired:
		// Ex: ["Charkia"], ["Neochori"]
		//["Marine"]
		//["Villages"],["Cities"],["Capitals"];  //Encounter will only spawn in urban areas!
		//["Villages"],["Cities"],["Capitals"],[[10715,10175],"AREA51"],[10010,10010],["Charkia"]  
		//Encounter will spawn in all urban areas as well the other points provided.
         // Note these points are NOT offsets, but points specific to ALTIS !!
         // Note any locations here will OVERRIDE use of 'terrain type' checking provided by the "WATER" or "LAND" paramater in the Missions' area configuration section.
        
    ],
	[ //***** Radio Chatter *****
		[ // AI Radio Chatter configuration
             9, // radio channel used by AI - "ALL"= messages heard w/o radio (other options 0-9)
    //0=Quartz, 1=Garnet, 2=Citrine, 3=Amethyst, 4=Topaz, 5=Sapphire, 6=Onyx, 7=Emerald, 8=Ruby, 9=Jade
			false, // silent Check-in =true: AI squads will NOT check-in with BaseOps when they spawn.
			true, // AI death messages enabled.
			1500, // Radio Range (for AI. BaseOps's high power radio has unlimited range)
			"",    // AI callsign, groups will be numbered..ie Bear01, Bear02
			"" // BaseOps call sign
		],
		//**Do not remove or change order of these items. 
		// The 'chat text' can be changed to meet your theme's needs.
		// For the 'chat text', < and > are reserved characters. DO NOT use them for anything but
		//  for identifying one of the keywords!
		// Keywords: <DIST>, <DIR>, <MSNNAME>, <POS>, <#ALIVE>, <#DEAD>, <STATUS>
		[  // AI to Base Chatter 
			["CheckIn", "On station. <DIST> meters <DIR> of FOB <MSNNAME>."],
			["Position", "Currently at <POS>."],
			["Detected", "Clones detected within perimeter of <MSNNAME>."],
			["Less50", "We are taking heavy casualties! Request reinforcements!"],//<--this message initiates a call for reinforcements.
			["SitRep", "On station. <#ALIVE> souls, <#DEAD> dead. <STATUS>."],//<--this is the response to Base's '99' call.
			["Done", "Roger Out."],
			["Death", "We are taking casualties!"],
			["DetHostileAI", "Human Mercenaries have been spotted in the area of <MSNNAME>."]
		],
		[   // Base to AI chatter
			["CheckIn", "Base copies all."],
			["Position", "Say your current position."],
			["Detected", "Roger. Weapons Free. All clones hostile."],
			["Less50", "We have you Lima Charlie. Stand bye!"],
			["SitRep", "99 pass SITREP."], //<-- This is broadcast every 30 minutes.  All groups will respond.
			["HELP", "Support is on its way!"],
			["Death", "Copy all. Keep us advised of your status."], 
			["DetHostileAI", "Roger. Weapons Free, Capture as many as you can."]
		]
	]	
];
FuMS_THEMEDATA set [_this select 0, _themeData];

 

 

Please review and advise.  Thanks!

Link to comment
Share on other sites

lowrey,

   That vehicle is on the 'player exclusion list' which is located in the 'Loot defaults' section of the BaseServer.sqf (near bottom).  Just remove the B_G offroad from the list and players will be able to use it.

		// List of vehicles prohibited to use by players. This list allows them to be on the map for AI use
		// but will prevent players from entering the vehicle.
		["I_UGV_01_rcws_F","B_G_Offroad_01_armed_F"],
          true  //VehicleAmmoFlag true= sets vehicle ammo to zero when an AI vehicle is 1st occupied by a player.
Link to comment
Share on other sites

Darth,

 Looking at your issues atm.  Understand you are on bernholm(sp?)  ?   make sure your coords are all valid for the map.  I ported your theme's mission locations over to my altis map and because some where out of bounds I did get some errors.....

 

I changed them to all valid altis locs and my errors went away.

 

I am also not using any missions with the '-' symbol in the mission names.

 

I am really not too sure if that might be an issue, but atm, these are the only differences I see between what you posted and what I am running on altis in an attempt to duplicate your error.

Link to comment
Share on other sites

Thanks for the tips. The coords are correct for sure. They worked fine with A3EAI and I copied them straight from there into FuMS. I'll try removing the dashes and see how that does.

One question remains though. What is the proper syntax for the building array when you don't want to spawn any buildings or vehicles with the mission? I only want soldiers spawning with the static spawns.

Link to comment
Share on other sites

Darth,

 Looking at your issues atm.  Understand you are on bernholm(sp?)  ?   make sure your coords are all valid for the map.  I ported your theme's mission locations over to my altis map and because some where out of bounds I did get some errors.....

 

I changed them to all valid altis locs and my errors went away.

 

I am also not using any missions with the '-' symbol in the mission names.

 

I am really not too sure if that might be an issue, but atm, these are the only differences I see between what you posted and what I am running on altis in an attempt to duplicate your error.

Would you be kind enough to share the changes you made for it work properly on the altis map? :D

Link to comment
Share on other sites

Darth, 

   

[//BUILDINGS: persist = 1: building deleted at event completion, 1= building remains until server reset.
 // ["CamoNet_INDP_open_F",[0,0],0,0]  //type, offset, rotation, presist flag
 
],
 
 
is it. Basically an empty array [],
 
Remove that do nothing filler item you have in there. Not sure if it is throwing the errors or not.
 
Also, use option '5' in the ThemeData.sqf.  With option 4 the missions will respawn when complete.  Since you have some missions with "NO TRIGGER" this will mean they will respawn on top of each other every 20 minutes :)
 
Using option 5 will ensure they only spawn once per server reset (unless your server runs more than 6hrs!)
 
Note: I have recently run into some unpredictible behaviour (ie I'm troubleshooting it) when "NO TRIGGERS" is used in a 1st level Parent mission. If you experience problems with the AI not showing up, take a look at how the triggers are set up in the in the DayZHeloCrash mission and duplicate that. The effect is the same.
 
RGGKieran,
 What I used in my test server won't be good on a production server, unless you want them all set out in a nice neat box :)  You just need to look at the altis map, pick locs and plug those in under the 'Mission List' section of the ThemeData.sqf for each mission in the list.
Link to comment
Share on other sites

Ok I'll give it a try again.  I already tried leaving the array empty, but then I got an error in my HC RPT saying that the array expected 4 or 5 elements but had 0.    It was listed as a critical error and the missions wouldn't start.  

 

I'm trying to set it up so that if all the AI at a given location are killed they will respawn after a 20 minute delay.  I get what you're saying about units spawning on top of each other.  I was trying to create a win condition whereby all units are killed, and then after 20 minutes the units respawn in the same location as before.  That gives players time to loot the static crate I've placed with another script and get out of the area before the AI respawn.  That way players don't have to wait until the following restart to assault the area again if they wish to do so.  Is that not possible?

Link to comment
Share on other sites

Darth,

 

In the trigger section of your mission put this in the 'win' section'

 ["LowUnitCount", "GUER", 1, 0, [0,0]],             // only one or fewer AI alive in the encounter radius: side options "EAST","WEST","GUER","CIV","LOGIC","ANY"
 ["ProxPlayer", [0,0], 50, 1]                              // 1 player is within 100 meters of encounter center.

 

and comment out the "NO TRIGGERS" trigger at the bottom of the trigger section. You can set "LowUnitCount to make it for ALL AI with ["LowUnitCount", "GUER", 0, 0, [0,0]]  .

 

For the error, I am guessing your building section looked like this:

[//BUILDINGS: persist = 1: building deleted at event completion, 1= building remains until server reset.

  [
  ] //<--this is an 'empty' building definition that 'should' contain 4 or 5 fields of data. Remove it.
],
 
It needs to be:
[//BUILDINGS: persist = 1: building deleted at event completion, 1= building remains until server reset.
 
],
Link to comment
Share on other sites

Can't get HC_HAL to connect:

 

Can someone explain what I have to do to change this to slot 80 for an 80 player server?  Can someone explain the two notes on the bottom regarding this?

 

Do i change the Item = 100 to item = 80 or change the id=80?

 

I should see HC_Hal via rcon right?

2) modify mission.sqm file.
 a. Locate:
      class Groups
      {
        items = 100;
        class Item0
        {

 b. Change the contents of 'class Item0' to the following:
 	class Item0
	{
            side="LOGIC";
            class Vehicles
            {
                items=1;
                class Item0
                {
                    position[]={10720.502,12.714643,11356.243};
                    id=100;
                    side="LOGIC";
                    vehicle="HeadlessClient_F";
                    player="PLAY CDG";
                    init="this enableSimulation false; this allowDamage false";
                    leader=1;
                    skill=0.60000002;
                    text="HC_HAL";
                };
            };
	};

Note: HC_HAL will be used as the HC's name in game. This is the name you will be able to use to 'kick' the HC if needed.
Note: Placing the HC in the 1st slot will disable the 'slots' view on the left of the Lobby. Players in game will still show in the right panel of the lobby.  If you want the 'slots' to show up, the above code can be placed at 'class item100'. Just make sure to also set 'items=101'.
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...