Register / Login Passwort 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
  • Guten Tag Breadfish ,
    Ich wollt mich auf mein Server regestrieren , allerdings Speichert er das Passwort nicht erst nachdem ich /changepass und dort erneut mein Passwort eintrage.


    Mein Register Dialog :


    if(dialogid == dialog_register){
    if(response == 0){
    Kick(playerid);
    return 1;
    }


    if(response == 1){
    if(!strlen(inputtext)){
    format(text,sizeof(text),"{FFFFFF}Herzlich Willkommen auf Test Deathmatch, {00B700}%s {FFFFFF}!\nEs wurde kein Account in der Datenbank mit deinem Namen gefunden.\nAccount legst du an, indem du ein Accountpasswort eingibst und auf Registrieren drückst.",PlayerName(playerid));
    ShowPlayerDialog(playerid,dialog_register,DIALOG_STYLE_INPUT,"Test Deathmatch",text,"Registrieren","Schließen");
    }
    Register(playerid,inputtext);
    SavePlayer(playerid);
    DM[playerid][8] = 1;
    LoggedIn[playerid]= 1;
    SpawnPlayer(playerid);


    Login Dialog:


    if(dialogid == dialog_login){
    if(response == 0){
    Kick(playerid);
    return 1;
    }
    if(response == 1){
    if(!strlen(inputtext)){
    format(text,sizeof(text),"{FFFFFF}Herzlich Willkommen zurück auf Test Deathmatch, {00B700}%s {FFFFFF}!\nBitte gib unten in das Eingabefeld dein Accountpasswort ein,\num dich einzuloggen. Anschließend werden deine Accountdaten geladen.",PlayerName(playerid));
    ShowPlayerDialog(playerid,dialog_login,DIALOG_STYLE_PASSWORD,"Test Deathmatch",text,"Login","Schließen");
    return 1;
    }
    Login(playerid,inputtext);
    return 1;
    }
    }
    Registrations Stock :


    stock Register(playerid,password[]){
    new Player[64];
    if(IsPlayerNPC(playerid)) return 1;
    format(Player,sizeof(Player),"/Spieler/%s.cfg",PlayerName(playerid));
    dini_Create(Player);
    dini_Set(Player,"Passwort",password);
    dini_IntSet(Player,"Level",1);
    dini_IntSet(Player,"Adminlevel",0);
    dini_IntSet(Player,"Cash",0);
    dini_IntSet(Player,"Kills",0);
    dini_IntSet(Player,"Deaths",0);
    dini_IntSet(Player,"KD",0);
    dini_IntSet(Player,"Skin",101);
    dini_IntSet(Player,"Premium",0);
    dini_IntSet(Player,"Spielsekunden",0);
    dini_IntSet(Player,"Banned",0);
    return 1;
    }


    Login Stock:


    stock Login(playerid,password[]){
    if(IsPlayerNPC(playerid)) return 1;
    new Player[64];
    new string[128];
    format(Player,sizeof(Player),"/Spieler/%s.cfg",PlayerName(playerid));
    if(!fexist(Player)) return 1;
    DM[playerid][8] = 1;
    if(!strcmp(dini_Get(Player,"Passwort"),password,true)){
    LoggedIn[playerid] = 1;
    SpawnPlayer(playerid);
    ClearChat(playerid);
    format(PlayerInfo[playerid][pPass],128,dini_Get(Player,"Passwort"));
    PlayerInfo[playerid][pLevel] = dini_Int(Player,"Level");
    PlayerInfo[playerid][pAdminLevel] = dini_Int(Player,"Adminlevel");
    PlayerInfo[playerid][pCash] = dini_Int(Player,"Cash");
    PlayerInfo[playerid][pKills] = dini_Int(Player,"Kills");
    PlayerInfo[playerid][pDeaths] = dini_Int(Player,"Deaths");
    PlayerInfo[playerid][pKD] = dini_Int(Player,"KD");
    PlayerInfo[playerid][pSkin] = dini_Int(Player,"Skin");
    PlayerInfo[playerid][pPremium] = dini_Int(Player,"Premium");
    PlayerInfo[playerid][pSpielSekunden] = dini_Int(Player,"Spielsekunden");
    PlayerInfo[playerid][pBan] = dini_Int(Player,"Banned");
    format(string,sizeof(string),"Herzlich Willkommen zurück %s",PlayerName(playerid));
    SendClientMessage(playerid,COLOR_DARKGREEN,string);
    SendClientMessage(playerid,COLOR_WHITE,"Die Deathmatch Arenen befinden sich unten in der Leiste");
    SendClientMessage(playerid,COLOR_WHITE,"**Fragen oder Probleme ? wende dich mit /a an einem Admin**");
    DM[playerid][8] = 1;
    if(PlayerInfo[playerid][pBan] == 1)
    {
    SendClientMessage(playerid,COLOR_RED,"Dein Account wurde Dauerhaft vom Server gesperrt und kann nicht verwendet werden");
    Kick(playerid);
    }
    }else{
    ResetPlayer(playerid);
    SendClientMessage(playerid,COLOR_RED,"Du hast ein falsches Passwort eingegeben");
    new text[256];
    format(text,sizeof(text),"{FFFFFF}Herzlich Willkommen zurück auf Test Deathmatch, {00B700}%s {FFFFFF}!\nBitte gib unten in das Eingabefeld dein Accountpasswort ein,\num dich einzuloggen. Anschließend werden deine Accountdaten geladen.",PlayerName(playerid));
    ShowPlayerDialog(playerid,dialog_login,DIALOG_STYLE_PASSWORD,"Test Deathmatch",text,"Login","Schließen");
    }


    Ich bedanke mich im Vorraus.

  • Das könnte ein bekanntes Problem sein, dass eine Art y vor dem Passwort steht.
    Versuch mal im Register-stock
    dini_Set(Player,"Passwort",password);
    zu:
    dini_Set(Player,"DUMMY","DUMMY");
    dini_Set(Player,"Passwort",password);
    zu ändern.


    Registriere dich dann neu und schaue ob es klappt.

  • haha Jeffry -.- hoffe das war nicht ernst gemeint mit Dummy Dummy :D in den User Files steht Jetzt wo eig Passwort stehen sollte steht dort Dummy :D und als Passwort Dummy xD
    oh ähm darunter steht dann dann das Passwort mit dem Inhalt " = " :D

  • habs editiert mein Post vor dir aber moment,


    das steht in den User Files :D


    DUMMY=DUMMY
    Passwort=
    Level=0
    Adminlevel=0
    Cash=0
    Kills=0
    Deaths=0
    KD=0
    Skin=0
    Premium=0
    Spielsekunden=66
    Banned=0


    Register Stock:

    stock Register(playerid,password[]){
    new Player[64];
    if(IsPlayerNPC(playerid)) return 1;
    format(Player,sizeof(Player),"/Spieler/%s.cfg",PlayerName(playerid));
    dini_Create(Player);
    dini_Set(Player,"DUMMY","DUMMY");
    dini_Set(Player,"Passwort",password);
    dini_IntSet(Player,"Level",1);
    dini_IntSet(Player,"Adminlevel",0);
    dini_IntSet(Player,"Cash",0);
    dini_IntSet(Player,"Kills",0);
    dini_IntSet(Player,"Deaths",0);
    dini_IntSet(Player,"KD",0);
    dini_IntSet(Player,"Skin",101);
    dini_IntSet(Player,"Premium",0);
    dini_IntSet(Player,"Spielsekunden",0);
    dini_IntSet(Player,"Banned",0);
    return 1;
    }


    sowie du sagtest...

  • Ok, das stimmt so. Dann ist es aber komisch, dass das Passwort leer ist.
    Sicher, dass du nur an den geposteten Stellen was auf "Passwort" in die Datei schreibst, und sonst nirgends?


    Ändere mal:
    dini_Set(Player,"Passwort",password);
    zu:
    dini_Set(Player,"Passwort",password);
    printf("Setze Passwort zu: '%s'", password);


    Dann poste was im Server Log steht, wenn du dich registrierst.


    Und poste deine SavePlayer Funktion.

  • Server Log:
    ----------
    Loaded log file: "server_log.txt".
    ----------


    SA-MP Dedicated Server
    ----------------------
    v0.3z, (C)2005-2014 SA-MP Team


    [21:14:09] filterscripts = "" (string)
    [21:14:09]
    [21:14:09] Server Plugins
    [21:14:09] --------------
    [21:14:09] Loaded 0 plugins.


    [21:14:09]
    [21:14:09] Ban list
    [21:14:09] --------
    [21:14:09] Loaded: samp.ban
    [21:14:09]
    [21:14:09]
    [21:14:09] Filterscripts
    [21:14:09] ---------------
    [21:14:09] Loaded 0 filterscripts.


    [21:14:09]
    ----------------------------------
    [21:14:10] Free Deathmatch
    [21:14:10] ----------------------------------


    [21:14:10] Number of vehicle models: 3
    [21:14:33] Incoming connection: 127.0.0.1:65117
    [21:14:33] [join] TestAccount123 has joined the server (0:127.0.0.1)
    [21:14:43] Setze Passwort zu: 'test123'
    [21:14:46] [part] TestAccount123 has left the server (0:1)


    SavePlayer Funktion:


    stock SavePlayer(playerid){
    if(LoggedIn[playerid] == 1){
    new Player[64];
    if(IsPlayerNPC(playerid)) return 1;
    format(Player,sizeof(Player),"/Spieler/%s.cfg",PlayerName(playerid));
    dini_Set(Player,"Passwort",PlayerInfo[playerid][pPass]);
    dini_IntSet(Player,"Level",PlayerInfo[playerid][pLevel]);
    dini_IntSet(Player,"Adminlevel",PlayerInfo[playerid][pAdminLevel]);
    dini_IntSet(Player,"Cash",PlayerInfo[playerid][pCash]);
    dini_IntSet(Player,"Kills",PlayerInfo[playerid][pKills]);
    dini_IntSet(Player,"Deaths",PlayerInfo[playerid][pDeaths]);
    dini_IntSet(Player,"KD",PlayerInfo[playerid][pKD]);
    dini_IntSet(Player,"Skin",PlayerInfo[playerid][pSkin]);
    dini_IntSet(Player,"Premium",PlayerInfo[playerid][pPremium]);
    dini_IntSet(Player,"Spielsekunden",PlayerInfo[playerid][pSpielSekunden]);
    dini_IntSet(Player,"Banned",PlayerInfo[playerid][pBan]);
    }
    return 1;
    }


    Und zur deiner Frage eig, schon..


    /edit


    Speichert das PW immernoch nicht :c

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Bestens!


    Vielen Dank ich weiss nbicht was ich ohne dich machen sollte :D


    doch hatte noch das Problem mit den Skins bei der Registration wenn man ein x beliebigen haben möchte Spawnt der Trotz mit CJ Skin -.-

  • Alles ? wird gemacht ,


    Array:


    new SkinSelection[MAX_PLAYERS];


    einamal hier:


    public OnPlayerRequestSpawn(playerid){
    if(SkinSelection[playerid] != 0){
    PlayerInfo[playerid][pSkin] = GetPlayerSkin(playerid);
    }
    return 1;
    }


    dann hier:

    public OnPlayerRequestClass(playerid, classid){
    if(PlayerInfo[playerid][pSkin] == 0){
    SetPlayerVirtualWorld(playerid,playerid+1);
    SetPlayerPos(playerid, 218.3037,-98.4747,1005.2578);
    SetPlayerFacingAngle(playerid,118.6603);
    SetPlayerInterior(playerid,15);
    SetPlayerCameraPos(playerid, 216.3459,-100.0261,1005.5578);
    SetPlayerCameraLookAt(playerid, 218.3037,-98.4747,1005.2578);
    return 1;
    }else{
    SetTimerEx("PlayerSpawn",1,false,"i",playerid);
    }
    return 1;
    }


    und vom stock das login keine Ahnung ob das ne Rolle Spielt jedoch :


    PlayerInfo[playerid][pSkin] = dini_Int(Player,"Skin");

  • lol wozu Brauchst du denn das Ganze OnPlayerSpawn ich meine das sind die ganzen dm Arenen und ein Teil vom Clan System hat doch damit nichts zu tun oder bin ich jetzt doof ._.


    SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);


    das ist das einzigste was im OnPlayerSpawn ist mehr auch nicht :o


    //Edit
    oder wirds für´s debuggen benötigt?

  • 1. Fehlt der Teil nach der Registration, wo du einen Randomskin generierst.
    2. Poste einfach ganz OnPlayerSpawn.
    Da wird Jeffrey Fehler raussuchen und möglicherweise wird auch debugged, aber um dahin zu kommen, tust du am besten was er sagt.



    Was hat das den bitte mit dem Passwort Speichern zutun?

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint: