Jump to content

[EMS] 0.2.6 Epoch Mission System


Fuchs

  

143 members have voted

  1. 1. Do you want the boxes integrated from EMS into the new system?

    • Yes ,highly recommended !
      129
    • No ,i don't care about !
      14


Recommended Posts

Ok finally it tried the (new) 1031 epoch , but cant get EMS 0.26 to work , Sarge-AI is working(even killing alot) but cant find the culprit

Nothing is noted in .RPT (full trace) over missions started or being kickedout , so iam baffled

 

Only this shows up in .RPT < 16:41:48 "PRELOAD_ Functions\init [[<No group>:0 (FunctionsManager)],any]" >  , wich i just cant place

And yes all install instructions done , else Sarge-AI would not be running around wich uses the same adjustments to work

 

This is on a prestine 1031-Epoch server pbo , wich only gets Sarge-ai and EMS as addon

Tried even the suggestion to put the //---initmission--- part in Init.sqf , but same result

 

While EMS 0.26 is running fine in the older 1025-Epoch (no chainsaw in box) , logs spit out wich mission-loadouts so as i said iam baffled

 

Hope any 1 has a clue for me to solve this  , ie Thx in advance

 

 
Link to comment
Share on other sites

Hey all, I installed DZAI the other week and was running fine, installed EMS and all of the vehicles were invisible but missions and AI worked fine. Went back to basic server and installed EMS and that works fine, some stuff didn't despawn but nothing major. I'm guessing the DZAI aspect isn't quite merged yet? Does Sarge AI work with the missions or had it been phased out?

Link to comment
Share on other sites

Hey Fuchs,

 

I know tons of small bugs are currently on the list to fix, and it might seem like we are all just pointing out what doesn't work, but I speak for all folks on my server when I say we can't wait for your working update! I had to remove EMS when the database bug popped up, and have not installed it since, and not a day goes by without someone asking me when I will install it again. My guys can't wait, neither can I, so keep working knowing we love what you are doing!

 

Regards from us all at the Hive45 community.

Link to comment
Share on other sites

Hey Fuchs,

 

I know tons of small bugs are currently on the list to fix, and it might seem like we are all just pointing out what doesn't work, but I speak for all folks on my server when I say we can't wait for your working update! I had to remove EMS when the database bug popped up, and have not installed it since, and not a day goes by without someone asking me when I will install it again. My guys can't wait, neither can I, so keep working knowing we love what you are doing!

 

Regards from us all at the Hive45 community.

 

 

 Same here With the small community i'm with...  :)

Link to comment
Share on other sites

dayzgreywolf : what problems are u experiencing?

 

 0.2.6. is working fine on my server...

 

 

[EMS] Just updated coords for using it on other maps ! Now all maps should work fine with it ,tested taviana and panthera !

 

https://github.com/TheFuchs/EMS-Epoch-Mission-System

 

 

server_updateobject

/*
[_object,_type] spawn server_updateObject;
*/
private ["_object","_type","_objectID","_uid","_lastUpdate","_needUpdate","_object_position","_object_inventory","_object_damage","_isNotOk","_parachuteWest","_firstTime","_object_killed","_object_repair","_isbuildable"];

_object = 	_this select 0;

if(isNull(_object)) exitWith {
	diag_log format["Skipping Null Object: %1", _object];
};

_type = 	_this select 1;
_parachuteWest = ((typeOf _object == "ParachuteWest") or (typeOf _object == "ParachuteC") or (typeOf _object == "ParachuteG") or (typeOf _object == "ParachuteEast") or (typeOf _object == "Parachute"));
_isbuildable = (typeOf _object) in dayz_allowedObjects;
_isNotOk = false;
_firstTime = false;

_objectID =	_object getVariable ["ObjectID","0"];
_uid = 		_object getVariable ["ObjectUID","0"];

if ((typeName _objectID != "string") || (typeName _uid != "string")) then
{ 
    diag_log(format["Non-string Object: ID %1 UID %2", _objectID, _uid]);
    //force fail
    _objectID = "0";
    _uid = "0";
};

if (_object getVariable "Sarge" == 1) exitWith {}; 

if (!_parachuteWest and !(locked _object)) then {
	//if (_objectID == "0" && _uid == "0") then
	if (_objectID == "0" && _uid == "0" && (vehicle _object getVariable ["Sarge",0] != 1)) then
	{
		_object_position = getPosATL _object;
    	_isNotOk = true;
	};
};

// do not update if buildable and not ok
if (_isNotOk and _isbuildable) exitWith {  };

// delete if still not ok
if (_isNotOk) exitWith { deleteVehicle _object; diag_log(format["Deleting object %1 with invalid ID at pos [%2,%3,%4]",typeOf _object,_object_position select 0,_object_position select 1, _object_position select 2]); };


_lastUpdate = _object getVariable ["lastUpdate",time];
_needUpdate = _object in needUpdate_objects;

// TODO ----------------------
_object_position = {
	private["_position","_worldspace","_fuel","_key"];
		_position = getPosATL _object;
		_worldspace = [
			round(direction _object),
			_position
		];
		_fuel = 0;
		if (_object isKindOf "AllVehicles") then {
			_fuel = fuel _object;
		};
		_key = format["CHILD:305:%1:%2:%3:",_objectID,_worldspace,_fuel];
		//diag_log ("HIVE: WRITE: "+ str(_key));
		_key call server_hiveWrite;
};

_object_inventory = {
	private["_inventory","_previous","_key"];
		_inventory = [
			getWeaponCargo _object,
			getMagazineCargo _object,
			getBackpackCargo _object
		];
		_previous = str(_object getVariable["lastInventory",[]]);
		if (str(_inventory) != _previous) then {
			_object setVariable["lastInventory",_inventory];
			if (_objectID == "0") then {
				_key = format["CHILD:309:%1:%2:",_uid,_inventory];
			} else {
				_key = format["CHILD:303:%1:%2:",_objectID,_inventory];
			};
			//diag_log ("HIVE: WRITE: "+ str(_key));
			_key call server_hiveWrite;
		};
};

_object_damage = {
	private["_hitpoints","_array","_hit","_selection","_key","_damage"];
		_hitpoints = _object call vehicle_getHitpoints;
		_damage = damage _object;
		_array = [];
		{
			_hit = [_object,_x] call object_getHit;
			_selection = getText (configFile >> "CfgVehicles" >> (typeOf _object) >> "HitPoints" >> _x >> "name");
			if (_hit > 0) then {_array set [count _array,[_selection,_hit]]};
			_object setHit ["_selection", _hit]
		} forEach _hitpoints;
	
		_key = format["CHILD:306:%1:%2:%3:",_objectID,_array,_damage];
		//diag_log ("HIVE: WRITE: "+ str(_key));
		_key call server_hiveWrite;
		if ( _damage >= 1 ) then { sleep 10; deleteVehicle _object; };
	_object setVariable ["needUpdate",false,true];
	};

_object_killed = {
	private["_hitpoints","_array","_hit","_selection","_key","_damage"];
	_hitpoints = _object call vehicle_getHitpoints;
	//_damage = damage _object;
	_damage = 1;
	_array = [];
	{
		_hit = [_object,_x] call object_getHit;
		_selection = getText (configFile >> "CfgVehicles" >> (typeOf _object) >> "HitPoints" >> _x >> "name");
		if (_hit > 0) then {_array set [count _array,[_selection,_hit]]};
		_hit = 1;
		_object setHit ["_selection", _hit]
	} forEach _hitpoints;
	
	if (_objectID == "0") then {
		_key = format["CHILD:306:%1:%2:%3:",_uid,_array,_damage];
	} else {
		_key = format["CHILD:306:%1:%2:%3:",_objectID,_array,_damage];
	};
	//diag_log ("HIVE: WRITE: "+ str(_key));
	_key call server_hiveWrite;
	_object setVariable ["needUpdate",false,true];
};

_object_repair = {
	private["_hitpoints","_array","_hit","_selection","_key","_damage"];
	_hitpoints = _object call vehicle_getHitpoints;
	_damage = damage _object;
	_array = [];
	{
		_hit = [_object,_x] call object_getHit;
		_selection = getText (configFile >> "CfgVehicles" >> (typeOf _object) >> "HitPoints" >> _x >> "name");
		if (_hit > 0) then {_array set [count _array,[_selection,_hit]]};
		_object setHit ["_selection", _hit]
	} forEach _hitpoints;
	
	_key = format["CHILD:306:%1:%2:%3:",_objectID,_array,_damage];
	//diag_log ("HIVE: WRITE: "+ str(_key));
	_key call server_hiveWrite;
	_object setVariable ["needUpdate",false,true];
};
// TODO ----------------------

_object setVariable ["lastUpdate",time,true];
switch (_type) do {
	case "all": {
		call _object_position;
		call _object_inventory;
		call _object_damage;
		};
	case "position": {
		if (!(_object in needUpdate_objects)) then {
			//diag_log format["DEBUG Position: Added to NeedUpdate=%1",_object];
			needUpdate_objects set [count needUpdate_objects, _object];
		};
	};
	case "gear": {
		call _object_inventory;
			};
	case "damage": {
		if ( (time - _lastUpdate) > 5) then {
			call _object_damage;
		} else {
			if (!(_object in needUpdate_objects)) then {
				//diag_log format["DEBUG Damage: Added to NeedUpdate=%1",_object];
				needUpdate_objects set [count needUpdate_objects, _object];
			};
		};
	};
	case "killed": {
		call _object_killed;
	};
	case "repair": {
		call _object_damage;
	};
};

Edited by Fuchs
Link to comment
Share on other sites

Fixed Major SM8 C130 :The2 Boxes showed the same loot !

 

Bandit Landing Party with PBX's redefined with a little Bandit Outpost !

 

Idea:

Would a Mission Trader be usefull ?

Edited by Fuchs
Link to comment
Share on other sites

Ok tried the new release of EMS-0.26 but still it aint working for me on a clean epoch 1031 , also done it on 1025 and presto in 2 minutes a minor mission and 2 minutes later a major

The only difference in a clean Epoch-1031 and a Epoch-1031&EMS in the .rpt log is this < 14:46:58 "PRELOAD_ Functions\init [[<No group>:0 (FunctionsManager)],any]" >

And if i later add the Sarge or DZai they are working but still no EMS missions

So if any1 can help me

Link to comment
Share on other sites

Yes  , i even corrected the Init.sqf 

 

if (!isServer) then {
[] execVM "debug\addmarkers.sqf";
[] execVM "debug\addmarkers75.sqf";

};  --< this 1 is missing

 

While in Epoch-1025 it works flawless

 

Edit

also made the waypoints in add_unit_server3.sqf same as in add_unit_server2 , else these 2 are not declared     _wpradius = _this select 1;
    _wpnum = _this select 2;

Link to comment
Share on other sites

Fuchs just do it as in add_unit_server2.sqf

 

so add_unit_server3 needs to be like

 

private ["_aiunit","_xpos","_ypos","_unitpos","_aiGroup","_wppos","_wpradius","_wpnum","_levelnum","_numunits","_rndLOut","_ailoadout","_wp","_aispawnpos","_aiwep1","_aiammo1"];
    _aiunit = objNull;
    _aiGroup = createGroup EAST;
    _aispawnpos =_this select 0;
    _wpradius = _this select 1;
    _wpnum = _this select 2;
    _numunits = _this select 3;
    _levelnum = _this select 4;    
    LandingParty = createGroup EAST;
    publicVariable "LandingParty";

     _baserunover2 = createGroup EAST;
     publicVariable "_baserunover2";

 
    _xpos = _aispawnpos select 0;
    _ypos = _aispawnpos select 1;
 
    diag_log format ["AIUNIT: Spawn initiated: Centre:%1 | Radius in m:%2 | Waypoint number:%3 | WeaponLevel:%4",_aispawnpos,_wpradius,_wpnum,_levelnum];

 

Else the logging values gets messedup

Link to comment
Share on other sites

Hey Guys !

 

I need some help i cant get this error solved !

 

https://github.com/TheFuchs/EMS-Epoch-Mission-System/issues/50

 

https://github.com/TheFuchs/EMS-Epoch-Mission-System/issues/51

 

 

and this one i think should be _MainMarker = createMarker ["_MainMarker", Ccoords];

23:53:53   Error 0 elements provided, 3 expected
23:53:53 File mpmissions\__cur_mp.Chernarus\debug\addmarkers75.sqf, line 3
23:54:14 Error in expression <ile{MissionGo == 1} do { 
_MainMarker = createMarker ["MainMarker", Ccoords];
_M>
23:54:14   Error position: <createMarker ["MainMarker", Ccoords];
_M>
23:54:14   Error 0 elements provided, 3 expected
23:54:14 File mpmissions\__cur_mp.Chernarus\debug\addmarkers.sqf, line 3
23:54:41 Bad conversion: array
23:54:41 Error in expression <sionGoMinor == 1} do { 
_MainMarker75 = createMarker["MainMarker75", MCoords];
_>
23:54:41   Error position: <createMarker["MainMarker75", MCoords];
_>
Edited by Fuchs
Link to comment
Share on other sites

Seems ok now Fuchs

 

16:29:32 "EMS: Minor mission created (SM13)"
16:29:32 "AIUNIT: Spawn initiated: Centre:[1443.4,10540.5] | Radius in m:80 | Waypoint number:4 | WeaponLevel:2"
16:29:32 "AIUNIT: Creating GUE_Soldier_2_DZ by <NULL-object> at [1444.4,10541.5,0]. Result:O 1-1-E:1 | Loadout:["ItemHatchet_DZE","5Rnd_762x51_M24"] / Num:any"
16:29:32 Duplicate weapon ItemHatchet_DZE detected for Rocker4_DZ
16:29:32 "AIUNIT: Last Waypoint [O 1-1-C,4] at [1503.4,10600.5,80]"

 

Lol the AXEman encounterd a zombie and was butcherd , I was just to late but could see him getting slain

 

16:30:31 "EMS: Major Mission Created (SM10)"
16:30:31 "AIUNIT: Spawn initiated: Centre:[10601.5,8753.54] | Radius in m:80 | Waypoint number:6 | WeaponLevel:1"
16:30:31 "AIUNIT: Creating GUE_Soldier_2_DZ by <NULL-object> at [10602.5,8754.54,0]. Result:O 1-1-D:1 | Loadout:["M40A3","5Rnd_762x51_M24"] / Num:2"
16:30:31 "AIUNIT: Creating GUE_Soldier_2_DZ by <NULL-object> at [10603.5,8755.54,0]. Result:O 1-1-D:2 | Loadout:["M40A3","5Rnd_762x51_M24"] / Num:2"
16:30:31 "AIUNIT: Creating GUE_Soldier_2_DZ by <NULL-object> at [10604.5,8756.54,0]. Result:O 1-1-D:3 | Loadout:["M24","5Rnd_762x51_M24"] / Num:1"
16:30:31 "AIUNIT: Creating GUE_Soldier_2_DZ by <NULL-object> at [10605.5,8757.54,0]. Result:O 1-1-D:4 | Loadout:["M40A3","5Rnd_762x51_M24"] / Num:2"
16:30:31 "AIUNIT: Creating GUE_Soldier_2_DZ by <NULL-object> at [10606.5,8758.54,0]. Result:O 1-1-D:5 | Loadout:["M40A3","5Rnd_762x51_M24"] / Num:2"
16:30:31 "AIUNIT: Creating GUE_Soldier_2_DZ by <NULL-object> at [10607.5,8759.54,0]. Result:O 1-1-D:6 | Loadout:["Remington870_lamp","8Rnd_B_Beneli_74Slug"] / Num:3"
16:30:31 "AIUNIT: Last Waypoint [O 1-1-C,6] at [10701.5,8853.54,80]"
16:30:36 "AIUNIT: Spawn initiated: Centre:[10601.5,8753.54] | Radius in m:80 | Waypoint number:6 | WeaponLevel:1"
16:30:36 "AIUNIT: Creating GUE_Soldier_2_DZ by <NULL-object> at [10602.5,8754.54,0]. Result:O 1-1-F:1 | Loadout:["M24","5Rnd_762x51_M24"] / Num:1"

 

 

16:32:45 "EMS: Minor mission created (SM7)"
16:32:45 "AIUNIT: Spawn initiated: Centre:[7741.41,3324.98] | Radius in m:80 | Waypoint number:4 | WeaponLevel:1"
16:32:45 "AIUNIT: Creating GUE_Soldier_2_DZ by <NULL-object> at [7742.41,3325.98,0]. Result:O 1-1-G:1 | Loadout:["M24","5Rnd_762x51_M24"] / Num:1"
16:32:45 "AIUNIT: Creating GUE_Soldier_2_DZ by <NULL-object> at [7743.41,3326.98,0]. Result:O 1-1-G:2 | Loadout:["M40A3","5Rnd_762x51_M24"] / Num:2"
16:32:45 "AIUNIT: Last Waypoint [O 1-1-C,4] at [7801.41,3384.98,80]"
16:35:41 "TIME SYNC: Local Time set to [2014,1,8,15,35]"

 

So the _MainMarker suggestion was correct

 

Oh and maybe , for the info make theDZai/Sarge-ai as optional

 

Edit

private ["_coords","_dummymarker","_wait","_coords"];  1 to much in /Mayor/SM13
private ["_coords","_dummymarker","_wait"];
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
×
×
  • Create New...