Automatische Fahzeugrespawnung (oder so)

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Du könntest die Spawnzeit des Fahrzeugs auf 5 Sekunden stellen, sodass es jede 5 Sekunden neurespawnt.


    Eine andere Lösung wäre es, wenn du durch einen 5-Sekunden-Timer abfragst, ob die Koords des Fahrzeuges immer noch die selben sind, ansonsten respawnt das Fahrzeug (Hier kannst du dann "DestroyVehicle" und dann "CreateVehicle" verwenden)


    Als Beispiel:


    new TestCar;
    new TestCarID = .....; //<--- FahrzeugID
    new Float:TestCarX = .....; // <--- Dort die X-Koordinate des Fahrzeugs
    new Float:TestCarY = .....; // <--- Dort die Y-Koordinate des Fahrzeugs
    new Float:TestCarZ = .....; // <--- Dort die Z-Koordinate des Fahrzeugs
    new Float:TestCarRot = .....; // <---- Dort die Rotations-Koordinate des Fahrzeugs
    new TestCarColor1 = .....; //<--- Fahrzeugfarbe 1
    new TestCarColor2 = .....; //<---- Fahrzeugfarbe 2
    new TestCarSpawntime = ......; //<--- Zeit, nachdem das Fahrzeug respawnen soll (in Milisekunden "1000" = 1 Sekunde) "-1" = Fahrzeug respawnt überhaupt nicht


    forward ResetCars(carid);


    //---- OnGameModeInit


    TestCar = CreateVehicle(TestCarID, TestCarX, TestCarY, TestCarZ, TestCarRot, TestCarColor1, TestCarColor2, TestCarSpawntime);
    SetTimer("ResetCars", 5000, 1);


    public ResetCars(carid)
    {
    if(carid == TestCar)
    {
    new Float:isX, Float:isY, Float:isZ;
    GetVehiclePos(carid, isX, isY, isZ);
    if(isX == TestCarX && isY == TestCarY && isZ == TestCarZ)
    {
    return 1;
    }
    else
    {
    DestroyVehicle(TestCar);
    TestCar = CreateVehicle(TestCarID, TestCarX, TestCarY, TestCarZ, TestCarRot, TestCarColor1, TestCarColor2, TestCarSpawntime);
    return 1;
    }
    }
    return 0;
    }

  • 1. Korrigier ich mich mal... die Spawnzeit wird in Sekunden angegeben, NICHT in Milisekunden :D


    Hmm kenn ich bei so vielen Fahrzeugen^^


    Wenn du zum Beispiel bei allen Fahrzeugen die selbe Spawnzeit benutzt hast, geht es leicht.


    Also, sagen wir du hast das hier:


    CreateVehicle(560, 1111.000, 2222.000, 3333.0000, 4444.0000, 1, 1, 600); // 600 ist ja hier die Spawnzeit


    Dann tippst du "Strg+H". Jetzt erscheint Fenster, dort gibst du oben einfach " 600); " ein und ins untere Feld " 5); ". Dann auf Ok. Wenn du jetzt auf "Yes to all" klickst, werden alle "600);" Einträge im Script gegen "5);" getauscht.