Jump to content

[EMS] 0.3.1 Defents Edit


Defent

Recommended Posts

Can you post it and I can check. Also thanks for all the info you guys posted. You are pretty much changing the variables back to what they were in DZMS. I just changed it so it would be easier to configure. 

 

Like here for example:

	_scount = count DZMSpistolList;
	for "_x" from 0 to 2 do {
		_sSelect = floor(random _sCount);
		_item = DZMSpistolList select _sSelect;
		_crate addWeaponCargoGlobal [_item,1];
		_ammo = [] + getArray (configFile >> "cfgWeapons" >> _item >> "magazines");
		if (count _ammo > 0) then {
			_crate addMagazineCargoGlobal [(_ammo select 0),(round(random 8))];
		};
	};

and my version is:

	_scount = count DZMSpistolList;
	for "_x" from 0 to DEFMPistolRate do {
		_sSelect = floor(random _sCount);
		_item = DZMSpistolList select _sSelect;
		_crate addWeaponCargoGlobal [_item,DEFMPistolRate];
		_ammo = [] + getArray (configFile >> "cfgWeapons" >> _item >> "magazines");
		if (count _ammo > 0) then {
			_crate addMagazineCargoGlobal [(_ammo select 0),(round(random DEFMPistolAmmoRate))];
		};
	};

Feel free to say how to optimize it and I will attempt to and upload it to the GitHub

Link to comment
Share on other sites

Can you post it and I can check. Also thanks for all the info you guys posted. You are pretty much changing the variables back to what they were in DZMS. I just changed it so it would be easier to configure. 

 

Like here for example:

....

Feel free to say how to optimize it and I will attempt to and upload it to the GitHub

Hey Defent, my minor SM2 is below. I'm wondering if it's something else that might be removing the crates as it's only started happening over last few days.....very odd

/*
Medical Outpost by lazyink (Full credit for code to TheSzerdi & TAW_Tonic)
Updated to new format by Vampire
*/
private ["_missName","_coords","_base","_base1","_base2","_base3","_vehicle","_vehicle1","_crate","_crate2","_crate3"];
 
//Name of the Mission
_missName = "Bandit Medical Outpost";
diag_log format["[EMS]: Minor SM2 Bandit Mission Party Outpost has started."];
 
//DZMSFindPos loops BIS_fnc_findSafePos until it gets a valid result
_coords = call DZMSFindPos;
 
[nil,nil,rTitleText,"A group of bandits have taken over a Medical Outpost! Check your map for the location!", "PLAIN",10] call RE;
 
//DZMSAddMinMarker is a simple script that adds a marker to the location
[_coords,_missName] execVM DZMSAddMinMarker;
 
//We create the scenery
_base = createVehicle ["US_WarfareBFieldhHospital_Base_EP1",[(_coords select 0) +2, (_coords select 1)+5,-0.3],[], 0, "CAN_COLLIDE"];
_base1 = createVehicle ["MASH_EP1",[(_coords select 0) - 24, (_coords select 1) - 5,0],[], 0, "CAN_COLLIDE"];
_base2 = createVehicle ["MASH_EP1",[(_coords select 0) - 17, (_coords select 1) - 5,0],[], 0, "CAN_COLLIDE"];
_base3 = createVehicle ["MASH_EP1",[(_coords select 0) - 10, (_coords select 1) - 5,0],[], 0, "CAN_COLLIDE"];
 
//DZMSProtectObj prevents it from disappearing
[_base] call DZMSProtectObj;
[_base1] call DZMSProtectObj;
[_base2] call DZMSProtectObj;
[_base3] call DZMSProtectObj;
 
//We create the vehicles
_vehicle = createVehicle ["UAZ_Unarmed_UN_EP1",[(_coords select 0) + 10, (_coords select 1) - 5,0],[], 0, "CAN_COLLIDE"];
_vehicle1 = createVehicle ["HMMWV_DZ",[(_coords select 0) + 15, (_coords select 1) - 5,0],[], 0, "CAN_COLLIDE"];
 
//DZMSSetupVehicle prevents the vehicle from disappearing and sets fuel and such
[_vehicle] call DZMSSetupVehicle;
[_vehicle1] call DZMSSetupVehicle;
 
//We create and fill the crates
_crate = createVehicle ["MedBox0",[(_coords select 0) - 12, _coords select 1,0],[], 0, "CAN_COLLIDE"];
//DZMSBoxFill fills the box, DZMSProtectObj prevents it from disappearing
[_crate,"meds"] execVM DZMSBoxSetup;
[_crate] call DZMSProtectObj;
 
_crate2 = createVehicle ["USLaunchersBox",[(_coords select 0) - 8, _coords select 1,0],[], 0, "CAN_COLLIDE"];
[_crate2,"weap"] execVM DZMSBoxSetup;
[_crate2] call DZMSProtectObj;
 
//We create and fill the crates
_crate3 = createVehicle ["MedBox0",[(_coords select 0) - 3, _coords select 1,0],[], 0, "CAN_COLLIDE"];
//DZMSBoxFill fills the box, DZMSProtectObj prevents it from disappearing
[_crate3,"meds"] execVM DZMSBoxSetup;
[_crate3] call DZMSProtectObj;
 
//DZMSAISpawn spawns AI to the mission.
//Usage: [_coords, count, skillLevel]
[[(_coords select 0) - 20, (_coords select 1) - 15,0],3,1,"DZMSUnitsMinor"] call DZMSAISpawn;
sleep 3;
[[(_coords select 0) - 20, (_coords select 1) - 15,0],3,1,"DZMSUnitsMinor"] call DZMSAISpawn;
sleep 3;
[[(_coords select 0) - 20, (_coords select 1) - 15,0],2,1,"DZMSUnitsMinor"] call DZMSAISpawn;
sleep 3;
 
 
//Wait until the player is within 30meters
[_coords,"DZMSUnitsMinor"] call DZMSWaitMissionComp;
//Call DZMSSaveVeh to attempt to save the vehicles to the database
//If saving is off, the script will exit.
 
 
 
//Let everyone know the mission is over
[nil,nil,rTitleText,"The Medical Outpost is under survivor control!", "PLAIN",6] call RE;
diag_log format["[EMS]: Minor SM2 Medical Outpost Mission has Ended."];
deleteMarker "DZMSMinMarker";
deleteMarker "DZMSMinDot";
 
//Let the timer know the mission is over
DZMSMinDone = true;

Link to comment
Share on other sites

Can you post it and I can check. Also thanks for all the info you guys posted. You are pretty much changing the variables back to what they were in DZMS. I just changed it so it would be easier to configure. 

 

Like here for example:

	_scount = count DZMSpistolList;
	for "_x" from 0 to 2 do {
		_sSelect = floor(random _sCount);
		_item = DZMSpistolList select _sSelect;
		_crate addWeaponCargoGlobal [_item,1];
		_ammo = [] + getArray (configFile >> "cfgWeapons" >> _item >> "magazines");
		if (count _ammo > 0) then {
			_crate addMagazineCargoGlobal [(_ammo select 0),(round(random 8))];
		};
	};

and my version is:

	_scount = count DZMSpistolList;
	for "_x" from 0 to DEFMPistolRate do {
		_sSelect = floor(random _sCount);
		_item = DZMSpistolList select _sSelect;
		_crate addWeaponCargoGlobal [_item,DEFMPistolRate];
		_ammo = [] + getArray (configFile >> "cfgWeapons" >> _item >> "magazines");
		if (count _ammo > 0) then {
			_crate addMagazineCargoGlobal [(_ammo select 0),(round(random DEFMPistolAmmoRate))];
		};
	};

Feel free to say how to optimize it and I will attempt to and upload it to the GitHub

Hey again, on your other point, I haven't moved away from your the general change in config in your version as I really like the ability to control the random number from 0-5. So, the things I have changed is:

  • ekroemer's line so the amount of each item isn't sometimes duplicated
  • fixed the AI skill arrays to '0' for major and '1' for minor
  • changed the skillset for '0' & '1' so minor were easier and major are harder
  • removed any supply or money crates from minor missions
  • Change the missions so 'weapons' was used for crates in all the major and 'weps' for the minor missions (same with medical)
  • Changed the calls from box to a new gun list in weaponcratelist only where it was calling the same list before so I can separate the types of guns between minor and major. This way I have generally but not explicitly put all the 7.62 cal in major and .556 in minor.
  • changed the ai weapon loadout in Weps0 and Weps1 so '0' get the 7.62's and '1' get the .556's 

An example using the sniper list is below:

//load sniper
_scount = count DZMSsniperListB;
for "_x" from 0 to DEFMSniperRate do {
_sSelect = floor(random _sCount);
_item = DZMSsniperListB select _sSelect;
_crate addWeaponCargoGlobal [_item,DEFMSniperRate];
_ammo = [] + getArray (configFile >> "cfgWeapons" >> _item >> "magazines");
if (count _ammo > 0) then {
_crate addMagazineCargoGlobal [(_ammo select 0),(round(random DEFMSniperAmmoRate))];
};
};

This then calls the 'B' list below while major missions call the normal weapon list:

// Sniper Rifles
DZMSsniperList = ["SVD_CAMO","SCAR_H_LNG_Sniper","SCAR_H_LNG_Sniper_SD","M110_NVG_EP1","DMR_DZ","M24"];
DZMSsniperListB = ["huntingrifle","M8_sharpshooter","M40A3","VSS_Vintorez","M16A4_ACG"];
My players and I love your new system. Well done and many thanks for the contribution!
 
I have pm'd you a dropbox link to my files in case you wanted a browse...
Link to comment
Share on other sites

Just a quick tip in case anyone else having the issue of missings clustering around Stary: This below seems to work well for us. Missions are no longer around Stary.

// Blacklist Zone Array -- missions will not spawn in these areas
// format: [[x,y,z],radius]
// Ex: [[06325,07807,0],300] //Starry Sobor
DZMSBlacklistZones = [
	[[0,0,0],500],
	[[06325,07807,0],1500] //Starry Sobor
];
Link to comment
Share on other sites

 

Just a quick tip in case anyone else having the issue of missings clustering around Stary: This below seems to work well for us. Missions are no longer around Stary.

// Blacklist Zone Array -- missions will not spawn in these areas
// format: [[x,y,z],radius]
// Ex: [[06325,07807,0],300] //Starry Sobor
DZMSBlacklistZones = [
	[[0,0,0],500],
	[[06325,07807,0],1500] //Starry Sobor
];

WOW! mgm's gone big!! :D

Link to comment
Share on other sites

Hi Guys,

 

I am having a problem with players just rolling up to the missions in vodniks andjust single shot killing the AI (see here ).

 

So i can give the AI RPG's but how can i make sure only 1 AI has it not say random 4 of them. I guess i could modify the missions to add a rocket man at the center _pos but then this is allot of work plus players can loot the body.. I in some ways don't mind them having the weapon just not sure about ammo ;-)

 

Anyone have an ideas ??

Ta

 

p.s. if anyone is interested i did do an edit spawning a ring of tank traps around the mission to stop player from  "ram raiding"

Link to comment
Share on other sites

You know about DZMSUseRPG = true; and had a look at the posts around

 

Only the last unit in a group has an RPG, how big a group is depends on how it's called in the mission files, but typically there'll be 4-6 members.

 

The RPGs should despawn on AI death but we've seen occurrences when that's not the case - maybe a case of high server load, players looting before the despawn kicks in?

Link to comment
Share on other sites

@ekroemer Considering i have been digging around the code and adding some of my own mod's you would have though i would have spotted that !! well I did not ! lol... Thanks now my missions are now secure from these pesky vodniks.. best part i was spectating a user who I no had been doing it.. to quote one of my favorite film's "Oh My God, The Quarterback is Toast"

 

Link to comment
Share on other sites

  • 2 weeks later...

You can't without rewriting the whole internals.

 

But: you can simply create a clone (I'll describe it for DZMS, there are more strings to change for EMS):

  • make a copy of your DZMS directory
  • in any filename/foldername change the substring 'DZMS' to 'DZMSClone'
  • open Notepad++, drag the complete folder DZMSClone/ into it, this will load all files simultanously
  • search&replace DZMS->DZMSClone with the option 'in all opened files'

Other strings to change for EMS would be (at first glance) 'EMS' and 'DEF' (I'd keep the capitalization when replacing, DEF could be tricky, the substring might be used in system variables/functions).

 

Finally duplicate the init.sqf line

[] ExecVM "\z\addons\dayz_server\EMS\DZMSInit.sqf";

and change the copy to

[] ExecVM "\z\addons\dayz_server\EMSClone\DZMSCloneInit.sqf";

 

This method works flawlessly for my

 

Then you'd have the clone only run minor missions by setting the major mission array to [] (that may trigger a one time rpt-message about a missing variable, see circumventing this.

Link to comment
Share on other sites

  • 2 months later...

Hi, 

I have been testing EMS for a few dayz now - been trying to get the mission information debug to display - which I have - and something I have noticed is - if the player gets into a vehicle at the mission, the bandits try shooting the crap out of the vehicle - this is as expected. 

BUT, if the player gets into the driver seat - all bandits despawn - is there a setting for this? or a bug in the code? 

Any help will be appreciated. 

 

P.S. dead bandits don't despawn.

Link to comment
Share on other sites

  • 1 year later...

Does DZMS only have bandit missions ? 

If not how can i assign different skins to the hero missions cause @ the moment all AI are in bandit skins :( 

And in the config file there seems to be only one group to call skins from :( 

not two.. 1 group for bandits and 1 group for hero's ..

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