/oldcar Problem

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
  • if(strcmp(cmd, "/oldcar", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    format(string, sizeof(string), "Dein Altes Auto war: %d",gLastCar[playerid]);
    SendClientMessage(playerid, COLOR_GREY, string);
    }
    return 1;
    }


    Hay! Ich habe ein Problem wen ich /oldcar eingebe sagt er Dein Altes Auto war: 0 woran liegt das ?

  • new gLastCar[MAX_VEHICLES];


    gLastCar[playerid] = 0;


    gLastCar[playerid] = 0;


    if (gLastCar[playerid] > 0)
    {
    gLastDriver[gLastCar[playerid]] = 300;
    if(PlayerInfo[playerid][pPhousekey] != gLastCar[playerid]-1)
    {
    gCarLock[gLastCar[playerid]] = 0;
    UnLockCar(gLastCar[playerid]);
    }
    }


    if(strcmp(cmd, "/oldcar", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    format(string, sizeof(string), "Dein Altes Auto war: %d",gLastCar[playerid]);
    SendClientMessage(playerid, COLOR_GREY, string);
    }
    return 1;
    }


    Weitere Infos!

  • new gLastCar[MAX_VEHICLES]; // Ein Array wird angelegt mit der Größe von den maximal erlaubten Fahrzeugen
    gLastCar[playerid] = 0; // Hier wird dem Index playerid (also dem Wert an der Stelle, der playerid entspricht), den Wert 0 zugewiesen, den du später auch ausgibst



    Aus dem Kontext erschließe ich, dass du nun das letzte Auto zwischenspeichern willst,
    um es dem Spieler ausgeben zu können. Dazu solltest du die maximale Array-Größe auf MAX_PLAYERS stellen.



    new gLastCar[MAX_PLAYERS];



    Außerdem solltest du gLastCar[playerid] nicht den Wert 0 zuweisen, da du dich sonst auch nicht wundern solltest,
    wenn dieser später ausgegeben wird.



    Also wenn der Spieler aussteigt solltest du die Fahrzeug-id speichern.
    Das machst du unter dem OnPlayerExitVehicle-Callback.



    public OnPlayerExitVehicle(playerid, vehicleid) {
    gLastCar[playerid] = vehicleid; // Setze das gLastCar mit dem Index (von) playerid auf vehicleid.
    }



    Nun sollte der Command problemlos den richtigen Wert ausgeben.