Jump to content

[EMS] Epoch Mission System - Release 0.2.1


mimic

Recommended Posts

After Updating i'm getting this rpt log error

16:28:18 Error in expression <loadout select 2;_aiammo2 = _ailoadout select 3;_aiunit addweapon _aiwep1;_ai>
16:28:18   Error position: <select 3;_aiunit addweapon _aiwep1;_ai>
16:28:18   Error Nullteiler
16:28:18 File z\addons\dayz_server\missions\add_unit_server.sqf, line 115

same 


16:04:00 Error in expression <loadout select 2;_aiammo2 = _ailoadout select 3;_aiunit addweapon _aiwep1;_ai>
16:04:00   Error position: <select 3;_aiunit addweapon _aiwep1;_ai>
16:04:00   Error Nullteiler
16:04:00 File z\addons\dayz_server\missions\add_unit_server4.sqf, line 114


 8:17:55 Error in expression <loadout select 2;_aiammo2 = _ailoadout select 3;_aiunit addweapon _aiwep1;_ai>
 8:17:55   Error position: <select 3;_aiunit addweapon _aiwep1;_ai>
 8:17:55   Error Nullteiler
 8:17:55 File z\addons\dayz_server\missions\add_unit_server2.sqf, line 129

any ideas?

Link to comment
Share on other sites

       "	if(vehicle _x != _x && !(vehicle _x in PVDZE_serverObjectMonitor) && (isPlayer _x)  && !((typeOf vehicle _x) in DZE_safeVehicle)) then {" \n

The new cleaning up a hacker is this so I haven't yet figured out how the Sarge and or Mission part fits in there. In the meantime I have changed the damage it does if it thinks you are a hacker to 0

Link to comment
Share on other sites

       "	if(vehicle _x != _x && !(vehicle _x in PVDZE_serverObjectMonitor) && (isPlayer _x)  && !((typeOf vehicle _x) in DZE_safeVehicle)) then {" \n

The new cleaning up a hacker is this so I haven't yet figured out how the Sarge and or Mission part fits in there. In the meantime I have changed the damage it does if it thinks you are a hacker to 0

 

This works for me

 

       " if(vehicle _x != _x && !(vehicle _x in PVDZE_serverObjectMonitor)&& (vehicle _x getVariable [""Sarge"",0] != 1) && (isPlayer _x)  && !((typeOf vehicle _x) in DZE_safeVehicle)) then {" \n

 

Also  try this if you need both mission & sarge variables

 

       " if(vehicle _x != _x && !(vehicle _x in PVDZE_serverObjectMonitor)&& (vehicle _x getVariable [""Sarge"",0] != 1) && (vehicle _x getVariable [""Mission"",0] != 1&& (isPlayer _x)  && !((typeOf vehicle _x) in DZE_safeVehicle)) then {" \n

 

Good luck

Link to comment
Share on other sites

Sorry for the delay ,had a problem with my watercooling system (3 tubes kinked) !

 

I'm working on putting up the final Sarge AI edits and DayZ AI will be optional with a how to on the readme over git !

 

@ somma: Don't know what this bug is caused by at the moment,maybe sarge edits...but not really sure !

 

@Defenting: What did u changed ?

 

Major Missions were fixed using Sarge Ai:thx to mentekel

Minor's not yet ! WIP !

 

New cleanup.fsm for Epoch 1.0.3 added

Edited by Fuchs
Link to comment
Share on other sites

with epoch 1.0.3 already having a missions folder and to keep things as clean as possiable im thinking of installing this into a folder called "ems"

 

If i do this would i need to edit any files or just change the path when following the install steps?

Link to comment
Share on other sites

Sorry for the delay ,had a problem with my watercooling system (3 tubes kinked) !

 

I'm working on putting up the final Sarge AI edits and DayZ AI will be optional with a how to on the readme over git !

 

@ somma: Don't know what this bug is caused by at the moment,maybe sarge edits...but not really sure !

 

@Defenting: What did u changed ?

 

Major Missions were fixed using Sarge Ai:thx to mentekel

Minor's not yet ! WIP !

 

New cleanup.fsm for Epoch 1.0.3 added

 

I changed nothing, I just added DZAI and shit went haywire. Over a 100 AI's spawned with the construction mission last night.

I must have fucked something up myself.

Link to comment
Share on other sites

I'm working on the AI placement on the missions, so they're not all bunched up on the center of the mission like they are now. I have figured out the code, just have to test it with the new SargeAI changes to ensure it's working.

 

Each mission will have a minimum and maximum distance that the AI can be from the center of the mission. Each squad that is spawned will be given a random distance between the min and max value specified. This will place the AI in random positions around the mission. Should make it a lot more challenging as the AI won't always be directly on the mission center point. One group could be 50m away, while another might be 150m away in the treeline. I have already tested this with the Arma2AI and it works great. Made the construction missions damn near impossible to do just by yourself.

Link to comment
Share on other sites

This works for me

 

       " if(vehicle _x != _x && !(vehicle _x in PVDZE_serverObjectMonitor)&& (vehicle _x getVariable [""Sarge"",0] != 1) && (isPlayer _x)  && !((typeOf vehicle _x) in DZE_safeVehicle)) then {" \n

 

Also  try this if you need both mission & sarge variables

 

       " if(vehicle _x != _x && !(vehicle _x in PVDZE_serverObjectMonitor)&& (vehicle _x getVariable [""Sarge"",0] != 1) && (vehicle _x getVariable [""Mission"",0] != 1&& (isPlayer _x)  && !((typeOf vehicle _x) in DZE_safeVehicle)) then {" \n

 

Good luck

 

After further testing I've found some issues with RPT Log Errors

 

11:46:05 Error in expression <)&& (vehicle _x getVariable ["Sarge",0] != 1) && (isPlayer _x) && !((typeOf veh>

11:46:05 Error position:

11:46:05 Error Generic error in expression

11:46:05 Error in expression <"0";

};

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

if (!_parachuteWest a>

11:46:05 Error position: <== 1) exitWith {};

if (!_parachuteWest a>

11:46:05 Error Generic error in expression

11:46:05 File z\addons\dayz_server\compile\server_updateObject.sqf, line 28

11:46:05 Error in expression <"0";

};

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

if (!_parachuteWest a>

11:46:05 Error position: <== 1) exitWith {};

if (!_parachuteWest a>

11:46:05 Error Generic error in expression

11:46:05 File z\addons\dayz_server\compile\server_updateObject.sqf, line 28

11:46:06 Error in expression <)&& (vehicle _x getVariable ["Sarge",0] != 1) && (isPlayer _x) && !((typeOf veh>

11:46:06 Error position:

11:46:06 Error Generic error in expression

11:46:06 Error in expression <)&& (vehicle _x getVariable ["Sarge",0] != 1) && (isPlayer _x) && !((typeOf veh>

11:46:06 Error position:

11:46:06 Error Generic error in expression

11:46:07 Error in expression <)&& (vehicle _x getVariable ["Sarge",0] != 1) && (isPlayer _x) && !((typeOf veh>

11:46:07 Error position:

11:46:07 Error Generic error in expression

11:46:07 Error in expression <)&& (vehicle _x getVariable ["Sarge",0] != 1) && (isPlayer _x) && !((typeOf veh>

11:46:07 Error position:

 
server_updateObject.sqf

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

{

_object_position = getPosATL _object;

_isNotOk = true;

};

};

Link to comment
Share on other sites

!For the 1.0.3 update!

 

For Sarge AI

server_cleanup.fsm

 

change:

    class group_cleanup
    {
      name = "group_cleanup";
      init = /*%FSM<STATEINIT""">*/"//Check for hackers" \n
       " {" \n
       "	if(vehicle _x != _x && !(vehicle _x in PVDZE_serverObjectMonitor) && (isPlayer _x)  && !((typeOf vehicle _x) in DZE_safeVehicle)) then {" \n
       "		diag_log (""CLEANUP: KILLING A HACKER "" + (name _x) + "" "" + str(_x) + "" IN "" + (typeOf vehicle _x));" \n
       "		(vehicle _x) setDamage 1;" \n
       "		_x setDamage 1;" \n
       "	 };" \n
       " } forEach allUnits;"/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "true">*/
        class true
        {
          priority = 0.000000;
          to="general_cleanup";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };

to:

    class group_cleanup
    {
      name = "group_cleanup";
      init = /*%FSM<STATEINIT""">*/"//Check for hackers" \n
       " {" \n
       "	if(vehicle _x != _x && (vehicle _x getVariable [""Sarge"",0] != 1) && !(vehicle _x in PVDZE_serverObjectMonitor) && (isPlayer _x)  && !((typeOf vehicle _x) in DZE_safeVehicle)) then {" \n
       "		diag_log (""CLEANUP: KILLING A HACKER "" + (name _x) + "" "" + str(_x) + "" IN "" + (typeOf vehicle _x));" \n
       "		(vehicle _x) setDamage 1;" \n
       "		_x setDamage 1;" \n
       "	 };" \n
       " } forEach allUnits;"/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "true">*/
        class true
        {
          priority = 0.000000;
          to="general_cleanup";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };

server_updateObject.sqf

change:

_isbuildable = (typeOf _object) in dayz_allowedObjects;
_isNotOk = false;

to:

_isbuildable = (typeOf _object) in dayz_allowedObjects;
_isSargeDzai = (_object getVariable ["Sarge",0] == 1);
_isNotOk = false;

and change:

if (_isNotOk and _isbuildable) exitWith {  };

to:

if (_isNotOk and (_isbuildable || _isSargeDzai) exitWith {  };

For DZAI users change the Sarge in the changed code to DZAI

 

 

Not tested yet, cause im still on doing all needed changes to get the full update working with all mods and stuff.

 

Moo,

Otter

Link to comment
Share on other sites

@OtterNas3

Small Question why are u adding an exception so Server doesn't update objects with Sarge variable ?

I would assume this will stop server updating Sarge Vehicle Positions if ever want to save them to database

 

Also u need to alter one more thing in server cleanup

https://github.com/Torndeco/Epoch-Missions/blob/master/dayz_server/system/server_cleanup.fsm#L215

To stop killing Server killing off SARGE groups

Link to comment
Share on other sites

@OtterNas3

Small Question why are u adding an exception so Server doesn't update objects with Sarge variable ?

I would assume this will stop server updating Sarge Vehicle Positions if ever want to save them to database

 

Also u need to alter one more thing in server cleanup

https://github.com/Torndeco/Epoch-Missions/blob/master/dayz_server/system/server_cleanup.fsm#L215

To stop killing Server killing off SARGE groups

his change should work as it would only exit the script if the vehicle has no valid ID (_isNotOk), so sarge vehicles spawned epoch style in the database would still be updated i think.

Link to comment
Share on other sites

Ahh i see now... thx.

Its basicly to stop the server deleting vehicles without a valid id.

yeah most of this "anti hacker" stuff is so primitive every 9yr old hacker can spawn a vehicle and set the sarge variable and it wont be deleted lol.. that is some bad hacker protection (unless setvariable is blacklisted, but who does that?)  :D

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