Thema: ACM in Arma 3
Einzelnen Beitrag anzeigen
Alt 11.10.2015, 13:32   #7 (permalink)
Drunken Officer
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

Probiere das einmal
Du läßt in der InitServer.sqf folgendes laden

Code:
    
DOF_SpawnHunters=
    {
        
        private ["_var_spawncenter", "_relPos", "_grp", "_einheiten", "_set_mindis", "_set_maxdis", "_set_minstrength", "_set_maxstrength", "_set_rounds", "_set_roundsdelay", "_groupside"];
        if (isMultiplayer) then {_einheiten = playableUnits} else {_einheiten = switchableUnits };
        _set_mindis = (_this select 0) select 0;
        _set_maxdis = (_this select 0) select 1;
        _set_minstrength = (_this select 1) select 0;
        _set_maxstrength = (_this select 1) select 1;
        _set_rounds = (_this select 2) select 0;
        _set_roundsdelay = (_this select 2) select 1;
        _groupside = _this select 3;
        if (_set_maxdis < _set_mindis) then { _set_maxdis = _set_mindis};
        
        
        for "_i" from 1 to _set_rounds do
        {
            
            _var_spawncenter = switchableUnits call bis_fnc_selectrandom;
            _safepos = [position _var_spawncenter,_set_mindis,_set_maxdis,20,0,2000,0] call BIS_fnc_findSafePos;
            _dif = (_set_maxstrength - _set_minstrength) ;
            _groupmember =  _set_minstrength + round (random _dif);
            _grp=[_safepos, _groupside, _groupmember] call BIS_fnc_spawnGroup; 
        hint str (count units _grp);
        [_grp] spawn DOF_Hunting;        
        sleep _set_roundsdelay;
        };
        
    
    };
    
DOF_Hunting = 

{
    private ["_wph", "_grp", "_pos", "_mindis", "_getdis", "_einheiten"];    
    if (isMultiplayer) then {_einheiten = playableUnits} else {_einheiten = switchableUnits };
    _grp = (_this select 0);
    
        _wph = _grp addwaypoint [[0,0,0], 0];
        _wph setWaypointtype "SAD";
        _wph setWaypointSpeed "FULL";
        _wph setWaypointBehaviour "AWARE";
        

    while {({alive _x} count units _grp != 0) } do
        {
        
            {
            _getdis = (leader _grp) distance _x;
            if (isNil "_mindis") then {_pos = getPos _x; _mindis = _getdis};
            if (_getDis < _mindis ) then {_pos = getPos _x; _mindis = _getDis };
            } forEach _einheiten ;
            
            player groupChat format ["Kürzeste Distance %1", _mindis];
                        
        
            if ( waypointPosition _wph distance _pos > 30) then 
                {
                    _wph setWaypointPosition [_pos, 0];
                };
            _mindis = nil;        
            sleep 30;
        };
};
Der Aufruf im Spiel durch den Server erfolgt dann so:
hunters=[[20,90], [4,6],[5,7], Resistance ] spawn DOF_SpawnHunters

Block 1
20 = minimale Distanz
90 = maximale Distanz

Block 2
4 minimale Gruppenstärke
6 maximale Gruppenstärke

Block 3
5 anzahl der Gruppen
7 Verzögerung beim Spawn

Block 4
Restistance = seite der Gruppe
[WEST, EAST, RESISTANCE, CIVILAN


Hoffe du kommst klar damit
__________________
Bewegende Momente bei ArmA 3

Geändert von Drunken Officer (11.10.2015 um 13:36 Uhr).
Drunken Officer ist offline