Gespawnte Fahrzeuge entfernen

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
  • Moin liebe Brotfische,
    da ich immer wieder sehe, dass viele Leute fragen, wie man denn NUR die gespawnten Fahrzeuge entfernen kann und ich es selber bis vor kurzem nicht hinbekommen habe, dachte ich mir, zeig ich mal allen, wie es denn nun geht.
    Nun denn, es ist einfacher, als man denkt.


    Zuerst erstellt man eine neue Variable. Diese nennen wir nun "spawnedcar".
    new bool:spawnedcar[MAX_VEHICLES];


    Als nächstes geht man zu seinem Spawnbefehl. Bei mir ist dort das Vehicle als "car" definiert. Das heißt, wir fügen das Vehicle nun der Variable hinzu:
    spawnedcar[car] = true; Einfach unter den Spawn schreiben.


    Nun ist es hinzugefügt. Das können wir bei allen weiteren Spawnbefehlen auch einfügen, oder jeweils eine neue Variable erstellen.
    Wie löschen wir es? Genau, wir fragen alle Fahrzeuge ab und schauen, welche mit der Variable versehen sind.
    for(new i=0; i<MAX_VEHICLES; i++)
    {
    if(spawnedcar[i] == true)


    Soweit so gut. Ich finde, es sollte nur gelöscht werden, wenn niemand im Vehicle sitzt. Das machen wir wie folgt:
    if(IsVehicleEmpty(i))
    Dazu braucht ihr den Stock:
    stock IsVehicleEmpty(vehicleid)
    {
    for(new i =0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(IsPlayerInVehicle(i,vehicleid)) return 0;
    }
    return 1;
    }


    Okay, was wollen wir machen, wenn das Vehicle mit der Variable versehen ist? Ich möchte es löschen. Also füge ich hinzu:
    DestroyVehicle(i);



    Das wars eigentlich schon. Hier nochmal der ganze Code von der Löschung der Fahrzeuge:
    ocmd:vehremall(playerid, params[])
    {
    //Adminabfrage
    {
    for(new i=0; i<MAX_VEHICLES; i++)
    {
    if(spawnedcar[i] == true)
    {
    if(IsVehicleEmpty(i))
    {
    DestroyVehicle(i);
    }
    }
    }
    SendClientMessage(playerid, Farbe, "Die gespawnten Fahrzeuge wurden erfolgreich gelöscht.");
    }
    return 1;
    }


    Ich hoffe, mein Tutorial konnte euch helfen. ;)


    Mit freundlichen Grüßen,
    ElDiabolo.


    edit: Code verbessert.

    ▬|██████|▬
    This is Nudelholz.
    Copy Nudelholz in your Signatur
    to make better Kuchens
    and other Teigprodukte!

    Einmal editiert, zuletzt von ElDiabolo ()

  • Für Anfänger total sinnlos ! Copy und Paste, nenne ich das ;)
    Hättest die einzelnen Funktionen besser erklären sollen !


    Achja.. und dein Tutorial.. ?


    Eher von anderen die Lösung gepostet ;) -> Gespawnte Vehicles entfernen?


    Daher fällt auch die Bewertung weg ;)

  • C:\Users\Marcel\Desktop\server1\gamemodes\wgcdm.pwn(1088) : error 017: undefined symbol "IsVehicleEmpty"

  • stock IsVehicleEmpty(vehicleid)
    {
    for(new i =0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(IsPlayerInVehicle(i,vehicleid)) return 0;
    }
    return 1;
    }


    Einfügen..? ;)