Problem mit Login System

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

  • stock Register(playerid,key[])
    {
    new Spielerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    dini_Create(Spielerdatei); // Zeile 300
    dini_Set(Spielerdatei,"Passwort",key);
    dini_Set(Spielerdatei,"Admin",0); // Zeile 302
    SetPlayerScore(playerid,0);
    SetPVarInt(playerid,0);
    return 1;
    }
    stock Login(playerid,key[])
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini");
    if(!strcmp(key,dini_Get(Playerdatei,"Passwort"),false))
    {
    AccountLaden(playerid);
    }
    else
    {
    SendClientMessage(playerid,Gruen,"Du hast ein falsches Passwort eingegeben!");
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde gefunden.\n Bitte gib jetzt dein Passwort ein.","Abbrechen","Abbrechen");
    }
    }
    stock AccountLaden(playerid)
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    Spieler[playerid][Level] = dini_Int(Playerdatei,"Level");
    Spieler[playerid][Admin] = dini_Int(Playerdatei,"Admin");
    SetPVarInt(playerid,"Eingeloggt",1);
    return 1;
    }
    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"Eingeloggt")== 1)
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    dini_Int(Playerdatei,"Level" Spieler[playerid][Level]);
    dini_Int(Playerdatei,"Admin", Spieler[playerid][Admin]); // Zeile 342
    }
    return 1;
    }

  • und welche Zeile ist was? also welche Zeile 302, 304 und 342?
    Du hast lediglich Kommas vergessen etc, übernehm das mal alles, dann müsste es richtig sein...

    stock Register(playerid,key[])
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    dini_Create(Playerdatei); // Zeile 300
    dini_Set(Playerdatei,"Passwort",key);
    dini_Set(Playerdatei,"Admin",0); // Zeile 302
    SetPlayerScore(playerid,0);
    SetPVarInt(playerid,"Eingeloggt",1);
    return 1;
    }
    stock Login(playerid,key[])
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini");
    if(!strcmp(key,dini_Get(Playerdatei,"Passwort"),false))
    {
    AccountLaden(playerid);
    }
    else
    {
    SendClientMessage(playerid,Gruen,"Du hast ein falsches Passwort eingegeben!");
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde gefunden.\n Bitte gib jetzt dein Passwort ein.","Abbrechen","Abbrechen");
    }
    }
    stock AccountLaden(playerid)
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    Spieler[playerid][Level] = dini_Int(Playerdatei,"Level");
    Spieler[playerid][Admin] = dini_Int(Playerdatei,"Admin");
    SetPVarInt(playerid,"Eingeloggt",1);
    return 1;
    }
    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"Eingeloggt")== 1)
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    dini_Int(Playerdatei,"Level", Spieler[playerid][Level]);
    dini_Int(Playerdatei,"Admin", Spieler[playerid][Admin]); // Zeile 342
    }
    return 1;
    }

    Einmal editiert, zuletzt von firestormZ ()

  • fast jetzt nur noch einer

    C:\Users\Mike\Desktop\Pawno_Sachen\gamemodes\DeathScript.pwn(302) : error 035: argument type mismatch (argument 3)
    C:\Users\Mike\Desktop\Pawno_Sachen\gamemodes\DeathScript.pwn(342) : warning 202: number of arguments does not match definition
    C:\Users\Mike\Desktop\Pawno_Sachen\gamemodes\DeathScript.pwn(343) : warning 217: loose indentation
    C:\Users\Mike\Desktop\Pawno_Sachen\gamemodes\DeathScript.pwn(343) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


  • stock Register(playerid,key[])
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    dini_Create(Playerdatei); // Zeile 300
    dini_Set(Playerdatei,"Passwort",key);
    dini_IntSet(Playerdatei,"Admin",0); // Zeile 302
    SetPlayerScore(playerid,0);
    SetPVarInt(playerid,"Eingeloggt",1);
    return 1;
    }
    stock Login(playerid,key[])
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini");
    if(!strcmp(key,dini_Get(Playerdatei,"Passwort"),false))
    {
    AccountLaden(playerid);
    }
    else
    {
    SendClientMessage(playerid,Gruen,"Du hast ein falsches Passwort eingegeben!");
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde gefunden.\n Bitte gib jetzt dein Passwort ein.","Abbrechen","Abbrechen");
    }
    }
    stock AccountLaden(playerid)
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    Spieler[playerid][Level] = dini_Int(Playerdatei,"Level");
    Spieler[playerid][Admin] = dini_Int(Playerdatei,"Admin");
    SetPVarInt(playerid,"Eingeloggt",1);
    return 1;
    }
    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"Eingeloggt")== 1)
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    dini_IntSet(Playerdatei,"Level", Spieler[playerid][Level]);
    dini_IntSet(Playerdatei,"Admin", Spieler[playerid][Admin]); // Zeile 342
    }
    return 1;
    }

    Bei SpielerSpeichern immer mit dini_IntSet arbeiten,
    bei AccontLaden mit dini_Int :)

  • Teste das mal so



    stock [color=#8b0000]Register[/color](playerid,key[])
    {
    [color=blue]new[/color] [size=10]Playerdatei[/size][size=10][[/size][size=10][color=#ff8c00]128[/color][/size][size=10]];[/size]
    [color=blue]new[/color] name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,[color=blue]sizeof[/color](name));
    format(Playerdatei,[color=blue]sizeof[/color](Playerdatei),[color=red]"/Accounts/%s.ini"[/color],name);
    dini_Create(Playerdatei);
    dini_Set(Playerdatei,[color=red]"Passwort"[/color],key);
    dini_Set(Playerdatei,[color=red]"Admin"[/color],[color=#ff8c00]0[/color]);
    SetPlayerScore(playerid,[color=#ff8c00]0[/color]);
    SetPVarInt(playerid,[color=#ff8c00]0[/color]);
    [color=blue]return[/color] [color=#ff8c00]1[/color];
    }