help with adding walking zombies to a vilayer server, Please!!

kalel76

Member
Im looking for help setting up zombie walking on my server. I have installed a custom mod pack and everything is perfect.

This is what im trying to do now http://gtxgaming.co.uk/forum/forum/...e-walking-dead-mod-for-epoch-overpoch-1-0-5-1

When i added the scripts im sure that in the compiles.sqf i have not set the path correctly as they say to edit it. Its the vialyer folder structure thats confusing me.
When i change the compiles to what they say it says it cannot find the script zombie generate and no zombies spwan at all. i put the scripts into, my vilayerrcustomcode\dayz_epoch\compiles. So what doi put in the compiles?
I tried
wild_spawnZombies = compile preprocessFileLineNumbers "vilayerrcustomcode\dayz_epoch\\compile\wild_spawnZombies.sqf";
Thanks again
 
So "\z\addons\dayz_code\compile is where i should send it? Because i did that and they still run. when im looking at my server even through ftp client i dont see a "z" folder
 
Ok so now they are spawning although very few and walking which is great thanks but i still get the error when i load in that "cannot find dayz_code\system\zombie.agent".
 
Ok in your epoch.chernarus folder replace the zombie_generate file in the walking zombies folder with this.

Code:
private ["_position","_unitTypes","_radius","_method","_agent"];

_position = _this select 0;
_doLoiter = _this select 1; // wander around
_unitTypes = _this select 2; // class of wanted models
_maxControlledZombies = round(dayz_maxLocalZombies);

_cantSee = {
    private ["_isok"];

    _isok = true;
    _zPos = +(_this select 0);
    if (count _zPos < 3) exitWith {
        diag_log format["%1::_cantSee illegal pos %2", __FILE__, _zPos];
        false
    };
    _zPos = ATLtoASL _zPos;
    _fov = _this select 1; // players half field of view
    _safeDistance = _this select 2; // minimum distance. closer is wrong
    _farDistance = _this select 3; // distance further we won't check
    _zPos set [2, (_zPos select 2) + 1.7];
    {
        _xasl = getPosASL _x;
        if (_xasl distance _zPos < _farDistance) then {
            if (_xasl distance _zPos < _safeDistance) then {
                _isok = false;
            }
            else {
                _eye = eyePos _x; // ASL
                _ed = eyeDirection _x;
                _ed = (_ed select 0) atan2 (_ed select 1);
                _deg = [_xasl, _zPos] call BIS_fnc_dirTo;
                _deg = (_deg - _ed + 720) % 360;
                if (_deg > 180) then { _deg = _deg - 360; };
                if ((abs(_deg) < _fov) && {( // in right angle sector?
                        (!(terrainIntersectASL [_zPos, _eye]) // no terrain between?
                        && {(!(lineIntersects [_zPos, _eye]))}) // && no object between?
                    )}) then {
                    _isok = false;
                };
            };
        };
        if (!_isok) exitWith {false};
    } count playableUnits;

    _isok
};

if ((dayz_spawnZombies < _maxControlledZombies) && (dayz_CurrentNearByZombies < dayz_maxNearByZombies) && (dayz_currentGlobalZombies < dayz_maxGlobalZeds)) then {
    if ([_position, dayz_cantseefov, 10, dayz_cantseeDist] call _cantSee) then {
        //Check if anyone close
        _tooClose = {isPlayer _x} count (_position nearEntities ["CAManBase",30]) > 0;
        if (_tooClose) exitwith {
            // diag_log ("Zombie_Generate: was too close to player.");
        };

        //Add zeds if unitTypes equals 0
        if (count _unitTypes == 0) then {
            if (DZE_MissionLootTable) then {
                _unitTypes = []+ getArray (missionConfigFile >> "CfgBuildingLoot" >> "Default" >> "zombieClass");
            } else {
                _unitTypes = []+ getArray (configFile >> "CfgBuildingLoot" >> "Default" >> "zombieClass");
            };
        };

        // lets create an agent
        _type = _unitTypes call BIS_fnc_selectRandom;
        _radius = 5;
        _method = "NONE";
        if (_doLoiter) then {
            _radius = 40;
            _method = "CAN_COLLIDE";
        };

        //Check if point is in water
        if (surfaceIsWater _position) exitwith {  };

        _agent = createAgent [_type, _position, [], _radius, _method];
        sleep 0.001;

        //add to global counter
        dayz_spawnZombies = dayz_spawnZombies + 1;

        //Add some loot
        _loot = "";
        _array = [];
        _rnd = random 1;
        if (_rnd < 0.2) then {
            _lootType = configFile >> "CfgVehicles" >> _type >> "zombieLoot";
            if (isText _lootType) then {
                _array = [];
                {
                    _array set [count _array, _x select 0]
                } count getArray (configFile >> "cfgLoot" >> getText(_lootType));
                if (count _array > 0) then {
                    _index = dayz_CLBase find getText(_lootType);
                    _weights = dayz_CLChances select _index;
                    _loot = _array select (_weights select (floor(random (count _weights))));
                    if(!isNil "_array") then {
                        _loot_count =    getNumber(configFile >> "CfgMagazines" >> _loot >> "count");
                        if(_loot_count>1) then {
                            _agent addMagazine [_loot, ceil(random _loot_count)];
                        } else {
                        _agent addMagazine _loot;
                        };
                    };
                };
            };
        };

        _agent setVariable["agentObject",_agent];

        if (!isNull _agent) then {
            // sometime Z can be seen flying in very high speed while tp. Its altitude is set underground to hide that.
            /*
            _agtPos = getPosASL _agent;
            _agtPos set [2, -3];
            _agent setPosASL _agtPos;
            sleep 0.001;
            _agtPos = +(_position);
            _agtPos set [2, -3];
            _agent setPosASL _agtPos;
            sleep 0.001;
            */
            _agent setDir random 360;
            //_agent setPosATL _position;
            sleep 0.001;

            _position = getPosATL _agent;

            _favStance = (
                switch ceil(random(3^0.5)^2) do {
                    //case 3: {"DOWN"}; // prone
                    case 2: {"Middle"}; // Kneel
                    default {"UP"} // stand-up
                }
            );
            _agent setUnitPos _favStance;

            _agent setVariable ["stance", _favStance];
            _agent setVariable ["BaseLocation", _position];
            _agent setVariable ["doLoiter", true]; // true: Z will be wandering, false: stay still
            _agent setVariable ["myDest", _position];
            _agent setVariable ["newDest", _position];
            [_agent, _position] call zombie_loiter;
        };
        //add to monitor
        //dayz_zedMonitor set [count dayz_zedMonitor, _agent];

        //Disable simulation
        PVDZE_Server_Simulation = [_agent, false];
        publicVariableServer "PVDZE_Server_Simulation";

        //Start behavior
        _id = [_position,_agent] execFSM "walkingzombies\zombie_agent.fsm";
    };
};
 
That should do it, I didn't really take any look at the code before I installed I just followed those instruction which are very specific to gtx gaming servers, so it should work now.
 
Man i owe you, thanks so much. Its grand now.So it was file folders i was directly to incorrectly in the compiles.sqf?
 
Back
Top