/respawncars

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
  • Guten Tag liebe Community,


    als ich mir ein /respawncars befehl erstellt habe war mir klar, dass ich auch sowas machen muss, wo nur die Fahrzeuge, die nicht besetzt sind respawnen sollen.


    ocmd:respawncars(playerid, params[])
    {
    if(!IsPlayerAnAdmin(playerid, 4))return SendClientMessage(playerid,GRAU,"Du bist dafür nicht befugt");
    for(new i=0; i<MAX_VEHICLES; i++)
    {
    for(new j=0; j<MAX_PLAYERS; j++)
    {
    if(IsPlayerInVehicle(j, i))return 1;
    SetVehicleToRespawn(i);
    }
    }
    new string[250];
    format(string,sizeof(string), "//----------------------------Alle unbesetzte Autos wurden von %s respawnt.------------------------------//", SpielerName(playerid));
    SendClientMessageToAll(COLOR_OOC, string);
    return 1;
    }



    aber leider wenn ich es mache, werden nicht alle Fahrzeuge respawnt ... komischer weise werden nur die hälfte respawnt und ich bekomme auch keine Nachricht wie "//----------------------------Alle unbesetzte Autos wurden von %s respawnt.------------------------------//" ich verstehe nicht, was ich falsch mache


    hilft mir bitte!

  • versuch es mal so:


    Befehl:

    ocmd:respawncars(playerid, params[])
    {
    if(!IsPlayerAnAdmin(playerid, 4))return SendClientMessage(playerid,GRAU,"Du bist dafür nicht befugt");
    for(new i=0; i<MAX_VEHICLES; i++)
    {
    if(GetVehicleDriver(i) == -1)
    {
    SetVehicleToRespawn(i);
    }
    }
    new string[250];
    format(string,sizeof(string), "//----------------------------Alle unbesetzte Autos wurden von %s respawnt.------------------------------//", SpielerName(playerid));
    SendClientMessageToAll(COLOR_OOC, string);
    return 1;
    }


    dann ganz unten:

    stock GetVehicleDriver(vehicleid)
    {
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER && GetPlayerVehicleID(i) == vehicleid)
    {
    return i;
    }
    }
    return -1;
    }


    sollte so gehen !


    //edit was vergessen