Stats Reseten sich

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 Leute wenn ich ein gmx mach resetet sich mein geld sowie mein admin level in der .txt


    stock SpielerSpeichern(playerid)
    {
    new Spielerdatei[64];
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",Name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Admin Level",GetPVarInt(playerid,"Admin Level"));
    dini_IntSet(Spielerdatei,"Geld",GetPVarInt(playerid,"Geld"));
    return 1;
    }


    stock SpielerLaden(playerid)
    {
    new Spielerdatei[64];
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",Name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    SetPVarInt(playerid,"Admin Level",dini_Int(Spielerdatei,"Admin Level"));
    SetPVarInt(playerid,"Geld",dini_Int(Spielerdatei,"Geld"));
    return 1;
    }

  • public OnPlayerConnect(playerid)
    {
    SpielerLaden(playerid);
    new Spielerdatei[64];
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",Name);
    if(dini_Exists(Spielerdatei))
    {
    ShowPlayerDialog(playerid,DIALOG_ANMELDEN,DIALOG_STYLE_INPUT,"Anmelden","Wilkommen Melde dich bitte an.\nGebe bitte dein Passwort ein:","Anmelden","Abbrechen");
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTRIEREN,DIALOG_STYLE_INPUT,"Regisrtieren","Bitte Registriere dich, damit du auf unseren Server Spielen kannst.\nGebe bitte dein Passwort ein:","Registrieren","Abbrechen");
    return 1;
    }
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    SpielerSpeichern(playerid);
    return 1;
    }

  • Zitat

    am besten bei OnGameModeExit auch ^^


    und wenn du en server über einen befehl laufen lässt, (ocmd:gmx ..) dann
    mach es dort auch wo er alle spieler durchläuft die online sind
    (for(new i ..)) und die alle abspeichert..

    wenn du es bei ongamemodeinit machst reicht das. bei einen gmx wird der gamemode beendet, so wäre es nur doppelt^^

    Zitat

    was ist (for(new i . :D?

    er mein for schleifen. wenn du nicht scripten kannst wirste das nicht verstehen, ich werde es dir nicht erklären da ich übermüdet bin und kein bock darauf habe :D

  • aber bei ongamemodeexit geht es ja nich hin weil ich ja mit SpielerSpeichern(playerid); habe


    und ich dann ein error bekomme undifined symbol playerid



    Hallo,
    du bekommst den Fehler, weil in der Public OnGameModeExit() kein playerid definiert ist, also kann er auch nit wissen, was playerid sein soll.


    Versuch auch nicht wenn du das gelesen hast mit new playerid[500] es zu definieren... gibt nur Errors :)




    MfG
    Geronimo




    //EDIT: Fehler gefunden!



    stock SpielerLaden(playerid)
    {
    new Spielerdatei[64];
    new Name[MAX_PLAYER_NAME];
    kick(playerid) // ANTiCOPy und Paste
    GetPlayerName(playerid,Name,sizeof(Name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",Name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    SetPVarInt(playerid,"Admin Level",dini_Int(Spielerdatei,"Admin Level"));
    SetPVarInt(playerid,"Geld",dini_Int(Spielerdatei,"Geld"));
    GivePlayerMoney(plazerid,Geld) // Hier war Fehler
    return //ANTI Copy and Paste
    }