Problem mit Führerschein!

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
  • Hallo folgendes Problem mit meinem Führerschei! UNd zwar
    ich habe bei


    enum Info
    {
    passwort[128],
    geld,
    score,
    admin,
    bank,
    carlic,
    };


    Dann bei OnPlayerConnected


    PlayerInfo[playerid][carlic] = 0;


    Dann habe ich einen befehl erstellt zum testen einfach so
    dass man einen führerschein per Befehl kaufen kann hier der Befehl


    if(strcmp("/carschein",cmdtext,true)==0)
    {
    if(IsPlayerConnected(playerid))
    {
    PlayerInfo[playerid][carlic] = 1; //Müsste richtig sein dass man dann eine Fahrlizens hat oder?
    GivePlayerMoney(playerid, 1000);
    }
    return 1;
    }


    Nur folgendes Problem immer wenn ich Spawne erscheint 2mal Du weißt nicht wie man fährt und verlässt dass fahrzeug
    und wenn ich den befehl eingebe und dann in ein Auto steige kommt dass selbe!
    Vielleicht kann mir jemand weiter helfen!
    LG ALPHA


    Destiny - RealLife is coming SOON!
    Wir sind zurück besser als je zuvor! :*

  • Hmm mir fällt auf dass ist schwachsinn was ich da gebaut habe...


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(PlayerInfo[playerid][carlic] < 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du besitzt keinen Führerschein! !");
    RemovePlayerFromVehicle(playerid);
    }
    return 1;
    }


    Destiny - RealLife is coming SOON!
    Wir sind zurück besser als je zuvor! :*

  • Versuch mal das hier, sollte dir helfen ;)


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    if(PlayerInfo[playerid][carlic] == 0)
    {
    SendClientMessage(playerid, COLOR_LIGHT_WHITE, " Du besitzt keinen Führerschein!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    return 1;
    }

  • Oh danke dir geht jetzt will ich nur noch wissen wie ich es in der dini abspeicher so in etwa oder wie?



    enum Info
    {
    passwort[128],
    geld,
    score,
    admin,
    bank,
    carlic, //Hier
    };


    public login(playerid)
    {
    new name[MAX_PLAYER_NAME];
    new save[40];
    GetPlayerName(playerid,name,sizeof(name));
    format(save,sizeof(save),"/Spieler/%s.ini",name);
    pInfo[playerid][admin] = dini_Int(save,"Adminlevel");
    SetPlayerMoney(playerid, dini_Int(save,"geld"));
    pInfo[playerid][score] = dini_Int(save,"Score");
    BankGeld[playerid] = dini_Int(save,"Bank");
    pInfo[playerid][carlic] = dini_Int(save,"carlic");//Hier so inentwa?
    return 1;
    }


    public logout(playerid)
    {
    new name[MAX_PLAYER_NAME];
    new save[40];
    GetPlayerName(playerid,name,sizeof(name));
    format(save,sizeof(save),"/Spieler/%s.ini",name);
    dini_IntSet(save,"Adminlevel",pInfo[playerid][admin]);
    dini_IntSet(save,"geld",GetPlayerMoney(playerid));
    dini_IntSet(save,"Score",GetPlayerScore(playerid));
    dini_IntSet(save,"Bank",BankGeld[playerid]);
    dini_IntSet(save,"carlic",pInfo[playerid][carlic]); //Hier so?
    return 1;
    }


    Ich glaube ist Komplett falsch oder? Kanns mir vielleicht jemand so bisschen
    hinrichten?
    LG ALPHA :)
    Kann mir vll jemand weiter helfen?


    Destiny - RealLife is coming SOON!
    Wir sind zurück besser als je zuvor! :*

    2 Mal editiert, zuletzt von GhostRider ()

  • Spammt der erstmal mein Topic mit Werbung zu!
    @B2T wenn ich in dem Ordern " Spieler " nachschaue
    steht zwar drinnen [carlic] = 0 || Aber wenn ich dann im Spiel
    /carschein mache dass der Spieler den Schein bekommt!
    Und ich mich wieder auslogge,und dann in die dinis schaue
    steht wieder || 0 || dorten!


    Destiny - RealLife is coming SOON!
    Wir sind zurück besser als je zuvor! :*

  • Ich hab keine ahnung von dini aber so wie es aussieht speicherst du die es beim login erneut...



    public login(playerid)
    {
    new name[MAX_PLAYER_NAME];
    new save[40];
    GetPlayerName(playerid,name,sizeof(name));
    format(save,sizeof(save),"/Spieler/%s.ini",name);
    pInfo[playerid][admin] = dini_Int(save,"Adminlevel");
    SetPlayerMoney(playerid, dini_Int(save,"geld"));
    pInfo[playerid][score] = dini_Int(save,"Score");
    BankGeld[playerid] = dini_Int(save,"Bank");
    pInfo[playerid][carlic] = dini_Int(save,"carlic");//Hier so inentwa?
    return 1;
    }


    dini_int(save, ...) ?? müsste da nicht dini_int(load, ...) heißen?

  • public login(playerid)
    {
    new name[MAX_PLAYER_NAME];
    new save[40];
    GetPlayerName(playerid,name,sizeof(name));
    format(save,sizeof(save),"/Spieler/%s.ini",name);
    pInfo[playerid][admin] = dini_Int(load,"Adminlevel");
    SetPlayerMoney(playerid, dini_Int(load,"geld"));
    pInfo[playerid][score] = dini_Int(load,"Score");
    BankGeld[playerid] = dini_Int(load,"Bank");
    pInfo[playerid][carlic] = dini_Int(load,"carlic");//Hier so inentwa?
    return 1;
    }


  • Mit sicherheit nicht.


    Wenn dann so:
    public login(playerid)
    {
    new name[MAX_PLAYER_NAME];
    new save[40];
    GetPlayerName(playerid,name,sizeof(name));
    format(save,sizeof(save),"/Spieler/%s.ini",name);
    pInfo[playerid][admin] = dini_Int(save,"Adminlevel");
    SetPlayerMoney(playerid, dini_Int(save,"geld"));
    pInfo[playerid][score] = dini_Int(save,"Score");
    BankGeld[playerid] = dini_Int(save,"Bank");
    pInfo[playerid][carlic] = dini_Int(save,"carlic");
    return 1;
    }


    Und beim Speichern:
    pInfo[playerid][carlic] = dini_IntSet(save,"carlic");