Einzelnen Beitrag anzeigen
Alt 09.07.2009, 16:30   #11 (permalink)
Tajin
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Tajin
 
Registriert seit: 17.01.2008
Beiträge: 267
Standard

Hängt von dem Respawnscript ab das du benutzt, die wenigsten sind umfassend genug um die Objektnamen zu übernehmen, von der init-zeile ganz zu schweigen.

Wenn du willst probier dashier mal, ist allerdings nicht getestet hab ich gerade auf gut Glück zusammengeschrieben.

t-respawn.sqf
Code:
if (isServer) then {
 _obj = _this select 0;
_time = _this select 1;
_delay = _this select 2;
_count = _this select 3;
_init = _this select 4;
_name = vehicleVarName _obj;

_pos = getPos _obj;
_dmg = getDamage _obj;
_vup = vectorUp _obj;
_vdir = vectorDir _obj;
_fuel = fuel _obj;
_fire = canFire _obj;
_type = typeOf _obj;

_count = 0;

for [{_loop=0},{(_count >= _delay)},{_loop=_loop}] do 
{

    if ({alive _x} count crew _obj > 0) then {
        _count = 0;
    } else {
        if (!canMove _obj) then {
            _count = _count + 2;
        };
        if ((getPos _obj distance _pos) > 10) then {
            _count = _count + 1;
        };
        if (_fire != canFire _obj) then {
            _count = _count + 1;
        };    
        if (damage _obj > 0.95) then {
            _count = _count + 3;
        };    
    };
    sleep 1;
};

deleteVehicle _obj;
sleep _time;

if (_count != 0) then {
    _count = _count - 1;
    _new = _type createVehicle _pos;
    _new setPos _pos;
    _new setVectorDirAndUp [_vdir,_vup];
    _new setDamage _dmg;
    _new setFuel _fuel;
    _new setVehicleInit format ["nul=[this,%1,%2,%3,%4] execVM 't-respawn.sqf';%5 = this;%4",_time,_delay,_count,_init,_name];
    processInitCommands;
};
};
Aufrufen wie folgt:
nul=[this,respawnzeit,verzögerung,anzahlrespawns,init] execVM "t-respawn.sqf";

respawnzeit: Wieviel Zeit zwischen dem Löschen des alten Objekts und dem Erstellen des neuen vergeht.

verzögerung: Toleranzwert, wie schnell der Respawn stattfindet. z.B. wie lange das Fahrzeug herrenlos herumstehen muss bis der Respawn aktiviert wird. Überprüft Besatzung, Fahrtauglichkeit, Kampftauglichkeit, Schaden und Entfernung zum Startpunkt. Je mehr davon zutreffen, desto schneller erfolgt der Respawn.

anzahlrespawns: selbsterklärend, gibt an wie oft das Fahrzeug respawnen kann. Negativer Wert = unendlich.

init: hier kannst du Initbefehle reinschreiben die nach dem Respawn ausgeführt werden sollen




Hoffe es funktioniert :P
__________________

Geändert von Tajin (09.07.2009 um 17:16 Uhr).
Tajin ist offline