Adminlevel und Fraktion werden nicht gespeichert (MrMonat)

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
  • Heyhey,


    ich habe ein Problem, und zwar habe ich das Login- Registersystem sowie das Adminsystem von MrMonat nachgeschrieben. Level und Geld wird beim Disconnect gespeichert, Adminsystem und Fraktion nicht. (PVarInt) Bin das Tutorial 3 Mal durchgegangen, alles wie ein Elch überprüft doch Pusteblume. In der Scriptfile wird Adminlevel und Fraktion beim Disconnect immer auf 0 gesetzt. Weiß wer woran es liegen kann?



    LG.

    Grüße,
    René


  • Code? (Poste es auf pastebin.de da der PWN-BBCode buggt.)

    Wer ist der Mensch hinter der Uniform? Ist euch das bekannt?
    Es ist der selbe der noch eben in Zivil neben euch stand.
    Warum wird er gehasst und so selten respektiert?
    Warum ist er derjenige der seinen Hals für euch riskiert?
    Trägt der Bulle eine Weste, das hat er früher nie gemacht,
    die Zeiten haben sich geändert und jeder Dienst ist ein Kampf!
    Warum gibt’s das SEK und warum sind sie so brutal?
    Und wieso hat wieder einer mit seinem Leben bezahlt?

  • Komisch bei mir klappt es :/
    //edit: Hier nochmal neu: http://pastebin.com/drZbtemd
    Hier erstmal:


    public OnPlayerConnect(playerid)
    {

    SendClientMessage(playerid,COLOR_LIGHTGREEN,"Willkommen auf United Santos Roleplay!");
    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_LOGIN,DIALOG_STYLE_PASSWORD,"United Santos Roleplay - Login","Willkommen zurück! Bitte log Dich nun ein.","Login","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"United Santos Roleplay - Registrierung","Willkommen auf unserem Server!\nUm auf dem Server spielen zu können benötigst Du\neinen Account. Bitte gib nun Dein gewünschtes Passwort ein!","Registrieren","Abbruch");
    }
    return 1;
    }

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

    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {


    if(dialogid==DIALOG_REGISTER)
    {
    if(response==0)
    {
    SendClientMessage(playerid,COLOR_LIGHTRED,"Du hast die Registration abgebrochen, Du wirst nun gekickt!");
    Kick(playerid);
    return 1;
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,COLOR_LIGHTRED,"Bitte gib ein Passwort ein um fortzufahren.");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"United Santos Roleplay - Registrierung","Bitte gib ein gültiges Passwort ein!","Registrieren","Abbruch");
    return 1;
    }
    else
    {
    Register(playerid,inputtext);
    return 1;
    }
    }
    }


    if(dialogid==DIALOG_LOGIN)
    {
    if(response==0)
    {
    SendClientMessage(playerid,COLOR_LIGHTRED,"Du hast den Loginvorgang abgebrochen, Du wirst nun gekickt!");
    Kick(playerid);
    return 1;
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,COLOR_LIGHTRED,"Bitte gib Dein Passwort ein um fortzufahren.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"United Santos Roleplay - Login","Willkommen zurück! Bitte log Dich nun ein.","Login","Abbrechen");
    return 1;
    }
    else
    {
    Login(playerid,inputtext);
    return 1;
    }
    }
    }
    }

    stock Register(playerid,key[])
    {
    new Spielerdatei[64];
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",Name);
    dini_Create(Spielerdatei);
    dini_Set(Spielerdatei,"Passwort",key);
    SetPVarInt(playerid,"Fraktion",0);
    SetPlayerScore(playerid,1);
    SendClientMessage(playerid,COLOR_LIGHTGREEN,"Erfolgreich registriert! Viel Spaß auf USR!");
    return 1;
    }

    stock Login(playerid,key[])
    {
    new Spielerdatei[64];
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",Name);
    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),true))
    {
    LoadAccount(playerid);
    SendClientMessage(playerid,COLOR_LIGHTGREEN,"Erfolgreich eingeloggt, viel Spaß weiterhin!");
    }
    else
    {
    SendClientMessage(playerid,COLOR_LIGHTRED,"Falsche Passwort, bitte versuch es erneut!");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"United Santos Roleplay - Login","Du hast ein falsches Passwort eingegeben, bitte versuch es erneut!","Login","Abbrechen");
    }
    return 1;
    }

    stock LoadAccount(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"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    return 1;
    }

    stock SaveAccount(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,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    return 1;
    }

    Grüße,
    René


  • ihr wisst das MrMonat nicht scripten kann oder also er hat ein scripter den er bezahlt und der scripter scriptet ihn das vor und mrmonat hat noch ein anderen bildschirm neben sein stehen und da guckt er ab und macht das . Er hat das mal in ein live stream gesagt das er ein scripter bezahlt und das abschreibt ich emfähle euch von nemesus zu lernen da er es ziemlich gut erklären kann


    Naja.
    Ich habe das Grundwissen von seinen Tutorials und dann selber weitergelernt.
    Und deswegen bin auch nicht der dümmste :D


    Aber wieder Back to Topic..

  • Mach mal das speichern so:

  • Mach mal das speichern so:


    Danke für deine Hilfe :)
    Werde es morgen früh versuchen.


    LG.

    Grüße,
    René


  • Mach mal das speichern so:

    Hat leider auch net geholfen. :(


    LG.

    Grüße,
    René


  • Hat leider auch net geholfen. :(


    LG.

    Es bewirkt auch keine Auswirkungen auf's speichern, sondern gibt lediglich in der Konsole die beiden Werte aus (ebenso im server_log.txt wiederfindbar). Einfach einloggen und dann wieder ausloggen und dann in dem server_log nach 'Adminlevel' & 'Fraktion' (sind 2 Zeilen) suchen, diese Zeilen dann einfach kopieren und einfügen (am besten nutzt du dann noch den code-BBCode oder ähnliches).


  • So hab den Server gestartet, mir den Adminlevel auf 5 (und Fraktion auf 1) gesetzt und bin gejoined. Nun hatte ich meine Adminrechte und war in der Fraktion 1. Nachdem ich restarted habe hatte ich dann wieder Beides auf Level 0.
    Level und Geld wird gespeichert.


    LG.

    Grüße,
    René


  • Von MrMonatTutorials hab ich auch das Scripten gelernt.
    Nur allerdings hatte ich dasselbe Problem.
    Ich hab mir des Tut auch etliche male angeschaut und den Fehler nicht entdeckt.


    ~~~~ Hier die Lösung ~~~~
    Ich hab mir mal sein Testscript (Link ist immer in der Beschreibung)
    gedownloadet und das System daraus übernommen. Und dann gings. :)
    ~~~~~~~~~~~~~~~~~~~~~~


    Mit freundlichen Grüßen
    [GP]Saitek


    Du hast Probleme beim Programmieren oder mit deinem PC?
    Registriere Dich doch auf PC-Rat-Hilfeforum.de.
    Nach dem Registrieren musst du nur deine E-Mail-Adresse bestätigen,
    dann kann es auch schon losgehen. Also worauf wartest du?


    Erreichbar unter folgender E-Mail-Adresse
    support@pc-rat-hilfeforum.de