[Support] DZMS DayZ Mission System

I mean i only use infiSTAR and it could be the reason cause i know that i havent updated dzms since like a month ago and lately its just now starting to do this and ive only updated infiSTAR
 
then turn off infisfart and see if it resolves. if not then there must be a deleteunit command that is running prematurely.
or they are being abducted by aliens ..
 
yes i do run infistar, have been on with chris as well about it, i also run an Epoch server as well with the same DZMS and it is fine with the same version of infistar on it
 
Hi, I just put in the base DZMS system by Vampire. I haven'd done any investigation into configurations or mission spawning and it seems to work except for one thing. My client-side .rpt is getting spammed with messages like this:

WARNING: Function 'name' - 6aa72040# 1017487: fr_corpsman.p3d REMOTE has no unit
- network id 2:10792
- person Steven Mitchell
- dead
WARNING: Function 'name' - 65830080# 1017496: fr_co.p3d REMOTE has no unit
- network id 2:10794
- person George Williams
- dead
WARNING: Function 'name' - 6bf76040# 1017507: fr_scout3.p3d REMOTE has no unit
- network id 2:10802
- person Chad Martinez
- dead
It seems that a series of messages like this get entered into the log every time an AI gets killed. As a result, the file gets real big real fast. Any idea what causes this? Can it be suppressed? I didn't find anything about this when I searched the forum.

Thanks,
Bob
 
Hey guys! I installed DZMS yesterday and now this happened...


According to my humanity, I am Mother Teresa *times* a billion! :D

Any ideas was to what happened here?
 
Last edited:
Script works great as vanilla on our Epoch Overwatch Origins server. Now to add Overwatch details to it.

I have had one request from our players. They'd like to see the radius that the AI stay within to be expanded so they don't stay so clustered around the center. I think this is the _wpRadius value and increasing it would increase their "operating" radius. Before I make the change and risk breaking things, am I on the right track? And is the units in meters?

Thanks,
Bob
 
WARNING: Function 'name' - 6bf76040# 1017507: fr_scout3.p3d REMOTE has no unit
- network id 2:10802
- person Chad Martinez
- dead
that is an odd format but you are correct about the ai being killed. usually its a one-liner
function "rincewind" is dead

Your solution is to backup or delete your rpt log when the server restarts to keep it a managable size. I am not sure if there is any way to disable those messages,
 
. They'd like to see the radius that the AI stay within to be expanded so they don't stay so clustered around the center. I think this is the _wpRadius value and increasing it would increase their "operating" radius. Before I make the change and risk breaking things, am I on the right track? And is the units in meters?
The _wpradius may be the radius from the waypoint position where the waypoint is considered complete. So if its 50 then they will move to the NEXT waypoint when they get 50m from the current waypoint. Post that line of code you are talking about to be sure because I just did a search for _wpRadius in my DZAI from Sheeps Epoch damn you steam and it was not found in DZAI folder.
I did find
_wp setWaypointCompletionRadius which is what I have described above (probably)
and also D:\Arma\Server\@dayz_epoch_server\addons\dayz_server\DZAI\compile
_patrolRadius = ((((getMarkerSize _spawnMarker) select 0) min ((getMarkerSize _spawnMarker) select 1)) min 300);
which is probably what you want.
This sets the radius that they will patrol from the center of the marker and selects the smallest value between the marker X, marker Y and 300 meters.
 
It's in DZMSAISpawn.sqf


Code:
/*                                                                        //
    DZMSAISpawn.sqf by Vampire
    Usage: [position,unitcount,skillLevel] execVM "dir\DZMSAISpawn.sqf";
        Position is the coordinates to spawn at [X,Y,Z]
        UnitCount is the number of units to spawn
        SkillLevel is the skill number defined in DZMSAIConfig.sqf
*/                                                                        //
private ["_position","_unitcount","_skill","_wpRadius","_xpos","_ypos","_unitGroup","_aiskin","_unit","_weapon","_magazine","_wppos1","_wppos2","_wppos3","_wppos4","_wp1","_wp2","_wp3","_wp4","_wpfin","_unitArrayName","_unitMissionCount"];
_position = _this select 0;
_unitcount = _this select 1;
_skill = _this select 2;
_unitArrayName = _this select 3;

//diag_log text format ["[DZMS]: AI Pos:%1 / AI UnitNum: %2 / AI SkillLev:%3",_position,_unitcount,_skill];

_wpRadius = 20;

_xpos = _position select 0;
_ypos = _position select 1;

//Create the unit group. We use east by default.
_unitGroup = createGroup east;

//Probably unnecessary, but prevents client AI stacking
if (!isServer) exitWith {};

for "_x" from 1 to _unitcount do {

    //Lets pick a skin from the array
    _aiskin = DZMSBanditSkins call BIS_fnc_selectRandom;
   
    //Lets spawn the unit
    _unit = _unitGroup createUnit [_aiskin, [(_position select 0),(_position select 1),(_position select 2)], [], 10, "PRIVATE"];
   
    //Make him join the correct team
    [_unit] joinSilent _unitGroup;
   
    //Add the behaviour
    _unit enableAI "TARGET";
    _unit enableAI "AUTOTARGET";
    _unit enableAI "MOVE";
    _unit enableAI "ANIM";
    _unit enableAI "FSM";
    _unit setCombatMode "YELLOW";
    _unit setBehaviour "COMBAT";
   
    //Remove the items he spawns with by default
    removeAllWeapons _unit;
    removeAllItems _unit;
   
    //Now we need to figure out their loadout, and assign it
   
    //Get the weapon array based on skill
    _weaponArray = [_skill] call DZMSGetWeapon;
   
    _weapon = _weaponArray select 0;
    _magazine = _weaponArray select 1;
   
    //diag_log text format ["[DZMS]: AI Weapon:%1 / AI Magazine:%2",_weapon,_magazine];
   
    //Get the gear array
    _aigearArray = [DZMSGear0,DZMSGear1,DZMSGear2,DZMSGear3,DZMSGear4];
    _aigear = _aigearArray call BIS_fnc_selectRandom;
    _gearmagazines = _aigear select 0;
    _geartools = _aigear select 1;
   
    //Gear the AI backpack
    _aipack = DZMSPacklist call BIS_fnc_selectRandom;

    //Lets add it to the Unit
    for "_i" from 1 to 3 do {
        _unit addMagazine _magazine;
    };
    _unit addWeapon _weapon;
    _unit selectWeapon _weapon;
   
    _unit addBackpack _aipack;
   
    if (DZMSUseNVG) then {
        _unit addWeapon "NVGoggles";
    };
   
    {
        _unit addMagazine _x
    } forEach _gearmagazines;
   
    {
        _unit addWeapon _x
    } forEach _geartools;
   
    _aicskill = DZMSSkills1;
   
    //Lets set the skills
    switch (_skill) do {
        case 0: {_aicskill = DZMSSkills0;};
        case 1: {_aicskill = DZMSSkills1;};
        case 2: {_aicskill = DZMSSkills2;};
        case 3: {_aicskill = DZMSSkills3;};
    };
   
    {
        _unit setSkill [(_x select 0),(_x select 1)]
    } forEach _aicskill;
   
    //Lets prepare the unit for cleanup
    _unit addEventHandler ["Killed",{ [(_this select 0), (_this select 1)] ExecVM DZMSAIKilled; }];
    _unit setVariable ["DZMSAI", true];
};

//Lets give a launcher if enabled
//The last _unit should still be defined from the FOR above
if (DZMSUseRPG) then {
    _unit addWeapon "RPG7V";
    _unit addMagazine "PG7V";
    _unit addMagazine "PG7V";
};

// These are 4 waypoints in a NorthSEW around the center
_wppos1 = [_xpos, _ypos+20, 0];
_wppos2 = [_xpos+20, _ypos, 0];
_wppos3 = [_xpos, _ypos-20, 0];
_wppos4 = [_xpos-20, _ypos, 0];

// We add the 4 waypoints
_wp1 = _unitGroup addWaypoint [_wppos1, _wpRadius];
_wp1 setWaypointType "MOVE";
_wp2 = _unitGroup addWaypoint [_wppos2, _wpRadius];
_wp2 setWaypointType "MOVE";
_wp3 = _unitGroup addWaypoint [_wppos3, _wpRadius];
_wp3 setWaypointType "MOVE";
_wp4 = _unitGroup addWaypoint [_wppos4, _wpRadius];
_wp4 setWaypointType "MOVE";

// Then we add a center waypoint that tells them to visit the rest
_wpfin = _unitGroup addWaypoint [[_xpos,_ypos, 0], _wpRadius];
_wpfin setWaypointType "CYCLE";

//diag_log text format ["[DZMS]: Spawned %1 AI at %2",_unitcount,_position];

// load the unit groups into a passed array name so they can be cleaned up later
call compile format["
%1 = %1 + (units _unitGroup);
_unitMissionCount = count %1;
",_unitArrayName];

diag_log text format["[DZMS]: (%3) %1 AI Spawned, %2 units in mission.",count (units _unitGroup),_unitMissionCount,_unitArrayName];


Line 16 sets it and then lines 125-132 set the radius around the four waypoints 20 units N,S,E,W from center. And then line 135-136 defines their operating range using _wpRadius, near as I can tell.

Bob
 
That worked.. but I have a few more things that we're noticing. Although it's set to gain humanity, neither the bandit count nor our humanity increases when AI are killed.

I'm also getting this msg in the server .rpt repeatedly when killing AI even though we aren't even looking in the backpacks. I'm relatively new to .SQF scripts but I don't see anything wrong with it and I'm using the latest file from GITHUB unmodified.

if !(backpack _unit == "") then {removeBackpack _unit;>
2:46:25 Error position: <_unit == "") then {removeBackpack _unit;>
2:46:25 Error Missing )
2:46:25 File z\addons\dayz_server\DZMS\Scripts\DZMSAIKilled.sqf, line 47
2:46:53 Error in expression <if (DZMSRunGear) then {

And lastly (at least for now), the NVGs and RPGs aren't disappearing. I though that was automatic. I didn't see a parameter anywhere in the config file controlling that, unless I missed it.

It seems others have seen these problems but I couldn't find an answer to them.

Thanks,
Bob
 
Last edited:
Has anyone tried DZMS in dayz 1.8.3, ive added it to my server and it seems no mission boxes are spawning at the missions?
 
Hi ShootingBlanks, No, I hadn't edited that file. But I had added Overwatch weapons in some of the other files. Just for grins, I re-downloaded the entire package and installed it pure vanilla. I still got that error. I made your suggested change (the parens weren't in Vampire's original files either). Still the same error.

And with the vanilla version I still get no humanity for the kills and the bandit count doesn't increase. And the NVGs and RPGs stay on the AI bodies. Several had posted with the same despawn problem but no one posted a solution. One person claimed to have a fix but didn't post it. I PM'ed him, asking him how he fixed it. No reply yet.

Anyone have a fix for that? And I'm not running WAI or DZAI right now. I want to get them working properly individually before I overlay them.
 
Back
Top