/frespawn nur Autos zurückspawnen die nicht benutzt werden.

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
  • Hi, wie in der Überschrift schon steht möchte ich das wenn man /frespawn eingibt das man nur unbenutze Fraktionsautos benutzt
    Jetziger Code:


    if(strcmp(cmdtext,"/frespawn",true)==0){
    if(GetPlayerLeader(playerid))
    {
    if(gettime() < LastRespawned[GetPlayerFaction(playerid)-1])
    return SendClientMessage(playerid,FACTION_COL_GREY,"Du kannst deine Fahrzeuge nur alle '5' Minuten respawnen.");
    LastRespawned[GetPlayerFaction(playerid)-1] = gettime()+(60*5);
    for(new fc;fc<sizeof(FactionCars);fc++)
    {
    if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611)
    {
    if(FactionCars[fc][fFaction][0] == GetPlayerFaction(playerid))
    {
    DestroyAndCreateFactionCar(fc);
    }
    }
    }SendClientMessage(playerid,FACTION_COL_YELLOW,"Du hast deine Fraktionsfahrzeuge erfolgreich respawnt.");
    }else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht berechtigt diesen Befehl anzuwenden.");
    return true;
    }


    Grüße

    Mit freundlichen Grüßen,
    rndy

  • Mit einer Abfrage ob ein Spieler in einem Fahrzeug ist.


    {
    if(IsPlayerInAnyVehicle(player)) { unwanted[GetPlayerVehicleID(player)]=true; }
    }
    Bsp.


    MfG

  • if(gettime() > FRespawnTimer[Spieler[playerid][pFraktion]])
    {
    for(new fv;fv<MAX_FVEHS;fv++)
    {
    if(Fahrzeug[fv][Fraktion] == Spieler[playerid][pFraktion])
    {
    if(IsVehicleEmpty(Fahrzeug[fv][Vehicle]))
    {
    GetVehicleHealth(Fahrzeug[fv][Vehicle],Fahrzeug[fv][HP]);
    FVehicleSpawner(fv);
    }
    }
    }


    ein Beispiel.


    MFG

  • Die Klammersetzung ist nicht ganz richtig. So wäre es richtig:
    stock IsVehicleEmpty(vehicleid)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(GetPlayerVehicleID(i) == vehicleid) return 0;
    }
    return 1;
    }


    Im Befehl dann:
    if(FactionCars[fc][fFaction][0] == GetPlayerFaction(playerid))
    zu:
    if(FactionCars[fc][fFaction][0] == GetPlayerFaction(playerid) && IsVehicleEmpty(FactionCars[fc][fCarID]))
    fCarID = So wie die ID bei dir ist, von CreateVehicle.

  • Ich sitze im Car und es respawnt immer noch..
    Jetziger Befehl:



    if(strcmp(cmdtext,"/frespawn",true)==0){
    if(GetPlayerLeader(playerid))
    {
    if(gettime() < LastRespawned[GetPlayerFaction(playerid)-1])
    return SendClientMessage(playerid,FACTION_COL_GREY,"Du kannst deine Fahrzeuge nur alle '5' Minuten respawnen.");
    LastRespawned[GetPlayerFaction(playerid)-1] = gettime()+(60*5);
    for(new fc;fc<sizeof(FactionCars);fc++)
    {
    if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611)
    {
    if(FactionCars[fc][fFaction][0] == GetPlayerFaction(playerid) && IsVehicleEmpty(FactionCars[fc][fVehid]))
    {
    DestroyAndCreateFactionCar(fc);
    }
    }
    }SendClientMessage(playerid,FACTION_COL_YELLOW,"Du hast deine Fraktionsfahrzeuge erfolgreich respawnt.");
    }else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht berechtigt diesen Befehl anzuwenden.");
    return true;
    }

    Mit freundlichen Grüßen,
    rndy

  • enum fCar{
    fCarid,
    fVehid,
    Float:fPos[4],
    fCol[2],
    fFaction[5],
    fTuning[14],
    fPrice,
    #if defined FACTION_CARS_LOCKABLE
    bool:fLock
    #endif
    };


    // hab wahrscheinlich fCarID falsch geschrieben ^^


    //Funktioniert Danke

    Mit freundlichen Grüßen,
    rndy