Jump to content

[EMS] 0.3.1 Defents Edit


Defent

Recommended Posts

MAJOR UPDATE TO EMS 0.3 TO EMS 0.3.1!

 

These new changes a include:

* [FIXED] Clearing missions now de-spawn the AI and scenery better.
* [FIXED] Almost all missions have been fixed now and should work perfectly.
* [UPDATED] Base code and framework.
* [UPDATED] Loot Tables
* [UPDATED] AI skins
* [UPDATED] AI skills
* [UPDATED] Box loot settings
* [ADDED] Box loot configs
* [ADDED] Remove mission vehicle ammo
* [ADDED] Spawn rate items in boxes
* [ADDED] God Missions 
* [ADDED] IKEA missions
* [ADDED] Functions from the latest DZMS version
* [REMOVED] Uneccesary code and many other things
* [MISC] Other things, a lot to mention.

These changes have a lot of new things, fixes and stuff. You will have to check the files out yourself!

 

DOWNLOAD:

https://github.com/Defent/EMS-0.3.1

Link to comment
Share on other sites

Thanks for this Defent, I like the changes. I have one quick question though. Is it possible to make missions spawn soon after the server starts up? It usually takes an upwards of 30-45 minutes for a single mission to spawn, but after that they usually drop at a quicker rate. I thought changing the "minimum time to pass" lines to a small number (hell I tried 1) but that didn't seem to change the time it took for an initial mission to spawn in. Do you know how I could change that at all or no?

Link to comment
Share on other sites

Well you have the timer settings in the DZMSConfig.sqf file but you could also mess around with the timer script files.

Although I have not done so and I do not actually know how to make them spawn just at startup. 

 

https://github.com/Defent/EMS-0.3/blob/master/EMS/Scripts/DZMSMajTimer.sqf

https://github.com/Defent/EMS-0.3/blob/master/EMS/Scripts/DZMSMinTimer.sqf

Link to comment
Share on other sites

/////////////////////////////////////////////////////////////////////////////////////////////
// The Minumum time in seconds before a major mission will run.
// At least this much time will pass between major missions. Default = 960 (10.8 Minutes)
DZMSMajorMin = 960;

// Maximum time in seconds before a major mission will run.
// A major mission will always run before this much time has passed. Default = 2900 (33.33 Minutes)
DZMSMajorMax = 2900;

// Time in seconds before a minor mission will run.
// At least this much time will pass between minor missions. Default = 960 (10 Minutes)
DZMSMinorMin = 960;

// Maximum time in seconds before a minor mission will run.
// A minor mission will always run before this much time has passed. Default = 1730;(16.5 Minutes)
DZMSMinorMax = 1730;

Hmmm i dont understand this ... Well i thought the first number are seconds that means for example the first red mark is 960 seconds / 60 = 16 Minutes... Or how does it count ?!

 

 

And the 2nd question is.. How can i disable the minor missions ?? i only need the major ones

Link to comment
Share on other sites

You could try commenting out this part in DZMSConfig.sqf

DZMSMajorArray = ["SM1","SM2","SM3","SM4","SM5","SM6","SM7","SM8","SM9","SM10","SM11","SM12","SM13"];
//DZMSMinorArray = ["SM1","SM2","SM3","SM4","SM5","SM6","SM7","SM8","SM9","SM10","SM11","SM12","SM13"];

Might work.

Link to comment
Share on other sites

IKEA is a big furniture store originating from Sweden. Its creator is named Ingvar Kamprad, hence the "Ingvar Kamprad would be proud" message when the mission is completed. The store is well known for cheap and modern furniture as well as many other accessories and decorative items. IKEA items are also know for being easy to assemble, a table can be built using 4 screws and a screwdriver, which they provide.

The idea behind the mission is that a truck, filled with these building supplies and that it crashed, retrieving it pleases Mr. Kamprad because he has been rumored to be a greedy person and does not want his stuff to go to waste.

Link to comment
Share on other sites

Awesome script, really like it. I just get one error when one of the missions runs. The Scenery seems to spawn, but no AI and the marker doesn't dissapear when you enter the area.

 

So far i have only seen this happen when minor mission SM10 runs.

18:56:52 Error in expression <"_object","_objectID"];
_object = _this select 0;

_objectID = str(round(random >
18:56:52   Error position: <select 0;

_objectID = str(round(random >
18:56:52   Error select: Type Object, expected Array,Config entry
18:56:52 File z\addons\dayz_server\EMS\DZMSFunctions.sqf, line 159

The error is referring to these lines in the DZMSFunctions.sqf

//Prevents an object being cleaned up by the server anti-hack
DZMSProtectObj = {
	private ["_object","_objectID"];
	_object = _this select 0;
	
	_objectID = str(round(random 999999));
	_object setVariable ["ObjectID", _objectID, true];
	_object setVariable ["ObjectUID", _objectID, true];
	_object setvelocity [0,0,1];
	
	if (_object isKindOf "ReammoBox") then {
		// PermaLoot on top of ObjID because that "arma logic"
		_object setVariable ["permaLoot",true];
	};

	if (DZMSEpoch) then {
		PVDZE_serverObjectMonitor set [count PVDZE_serverObjectMonitor, _object];
	} else {
		dayz_serverObjectMonitor set [count dayz_serverObjectMonitor, _object];
	};

	true
};

Any ideas on what could cause this or how i could fix it?

Thanks

Link to comment
Share on other sites

Thanks for the reply, i actually have vehicle saving disabled, and also removed some vehicles from certain missions.

 

This is the contents of my Minor SM10.

/*
	Helicopter Crash by lazyink (Full credit for code to TheSzerdi & TAW_Tonic)
	Updated to new format by Vampire
	Edited by Fuchs for EMS
*/
private ["_missName","_coords","_crash","_vehicle"];

//Name of the Mission
_missName = "Mi8 Crash";

[nil,nil,rTitleText,"A Mi8 helicopter has crashed! Check your map for the location!", "PLAIN",10] call RE;

//DZMSFindPos loops BIS_fnc_findSafePos until it gets a valid result
_coords = call DZMSFindPos;

[_coords,_missName] ExecVM DZMSAddMinMarker;

_vehicle = createVehicle ["Mi8Wreck",[(_coords select 0) + 10, (_coords select 1) - 5,0],[], 0, "CAN_COLLIDE"];
_vehicle call DZMSProtectObj;

[_coords,4,2] ExecVM DZMSAISpawn;
sleep 1;
[_coords,6,3] ExecVM DZMSAISpawn;
sleep 1;

//Wait until the player is within 30meters
waitUntil{{isPlayer _x && _x distance _coords <= 30  } count playableunits > 0}; 

//Let everyone know the mission is over
[nil,nil,rTitleText,"Good work, the Mi8 crash has been secured!", "PLAIN",6] call RE;
diag_log format["[DZMS]: Minor SM10 Heli Crash Mission has Ended."];
deleteMarker "DZMSMinMarker";
deleteMarker "DZMSMinDot";

//Let the timer know the mission is over
DZMSMinDone = true;

I doubt i have made an error here? Have you ever seen anything like this on your server(s)

Link to comment
Share on other sites

_crash is not being used and 

_vehicle call DZMSProtectObj;

 should be this below, or use a = sign between variable and call function

[_vehicle] call DZMSProtectObj;

I've not had any problems with this on my server and I run the code that I have shared on GitHub.

Link to comment
Share on other sites

_crash is not being used and 

_vehicle call DZMSProtectObj;

 should be this below, or use a = sign between variable and call function

[_vehicle] call DZMSProtectObj;

I've not had any problems with this on my server and I run the code that I have shared on GitHub.

 

Thanks for this, i can imagine this could have been causing the error, shitty typos of mine  :)

Will test soon.

Link to comment
Share on other sites

I want to add more AI spawned to all of the missions. Anyone know how because there's like 5 ai at missions...

 

edit: looked a bit and found what i've been looking for.

 

//DZMSAISpawn spawns AI to the mission.

//Usage: [_coords, count, skillLevel]
[_coords,4,2] ExecVM DZMSAISpawn;

Thanks for this awesome ai script ^_^

~Genesis

Link to comment
Share on other sites

  • 2 weeks later...

it seems that this package is eating the hell out of my servers memory. i keep getting this error in my rpt log

waitUntil {DZMSMinDone};
DZMSMinDone = nil;
};>
 8:00:33   Error position: <DZMSMinDone};
DZMSMinDone = nil;
};>
 8:00:33   Error Undefined variable in expression: dzmsmindone
 8:00:33 File z\addons\dayz_server\EMS\Scripts\DZMSMinTimer.sqf, line 36
 8:00:33 Error in expression <or Mission %1.",_varName];


waitUntil {DZMSMajDone};
DZMSMajDone = nil;
};>
 8:00:33   Error position: <DZMSMajDone};
DZMSMajDone = nil;
};>
 8:00:33   Error Undefined variable in expression: dzmsmajdone
 8:00:33 File z\addons\dayz_server\EMS\Scripts\DZMSMajTimer.sqf, line 36
 8:00:33 Error in expression <or Mission %1.",_varName];


waitUntil {DZMSMinDone};
DZMSMinDone = nil;
};>
 8:00:33   Error position: <DZMSMinDone};
DZMSMinDone = nil;
};>
 8:00:33   Error Undefined variable in expression: dzmsmindone
 8:00:33 File z\addons\dayz_server\EMS\Scripts\DZMSMinTimer.sqf, line 36
 8:00:33 Virtual memory total 4095 MB (4294836224 B)
 8:00:33 Virtual memory free 2019 MB (2117652480 B)
 8:00:33 Physical memory free 4924 MB (5163991040 B)
 8:00:33 Page file free 4 MB (5238784 B)
 8:00:33 Process working set 1390 MB (1458421760 B)
 8:00:33 Process page file used 1428 MB (1498402816 B)
 8:00:33 Error in expression <or Mission %1.",_varName];


waitUntil {DZMSMajDone};
DZMSMajDone = nil;
};>
 8:00:33   Error position: <DZMSMajDone};
DZMSMajDone = nil;
};>
 8:00:33   Error Undefined variable in expression: dzmsmajdone
 8:00:33 File z\addons\dayz_server\EMS\Scripts\DZMSMajTimer.sqf, line 36
 8:00:33 Error in expression <or Mission %1.",_varName];


waitUntil {DZMSMinDone};
DZMSMinDone = nil;
};>
 8:00:33   Error position: <DZMSMinDone};
DZMSMinDone = nil;
};>
 8:00:33   Error Undefined variable in expression: dzmsmindone
 8:00:33 File z\addons\dayz_server\EMS\Scripts\DZMSMinTimer.sqf, line 36
 8:00:33 Longest free VM region: 2016780288 B
 8:00:33 VM busy 2194948096 B (reserved 641675264 B, committed 1553272832 B, mapped 33374208 B), free 2099888128 B
 8:00:33 Small mapped regions: 8, size 40960 B
ErrorMessage: Out of memory.
Your swap file is too small, only 5 MB of free space left.
Increase your swap file size or delete some files from your hard disk

and for many many many lines above where i posted. is the same error spammed between the min done and maj done.  this is just the end where the server crashes.... 

Link to comment
Share on other sites

i did at one point but have changed them back to default. i did find a solution i think for my error.  going to put it in and see.

 

and yes i do have alot, and have taken some out, how ever changed hosts. AI was stupid on my dayz.st chern server and just low fps all around for everyone, all this is now on my GTX server and i keep getting this error. the only thing i added was JAEM and i took it out as it was taken out.

Link to comment
Share on other sites

Fair enough. I run a dedicated machine so that may be why I've never seen the error. Please tell me if that fix work because I will update the GitHub with it if so. I know that GTX, Dayz.st etc all trim down a lot on the memory usage of servers, which sucks. Could be a reason to why you got that message.

Link to comment
Share on other sites

  • 2 weeks later...

I have been looking though the code and the most makes sense for me. But i just can´t find the place to change the random amount of loot at the missions! :)  I had the "ikea truck mission" and they said that the loot was 44 wood floors, 24 metal floors, and 22 wood garage doors... a bit OP after my meining  :rolleyes:

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...