Account Date werden nicht gespeichert

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
  • Habe


    enum spieler_daten
    {
    wanted,
    skin,
    eingeloggt,
    money,
    score,
    adminlevel
    }


    {
    dini_IntSet(accFormat,"wanted",Spieler[playerid][wanted]);
    dini_IntSet(accFormat,"skin",Spieler[playerid][skin]);
    dini_IntSet(accFormat,"money",Spieler[playerid][money]);
    dini_IntSet(accFormat,"score",Spieler[playerid][score]);
    dini_IntSet(accFormat,"adminlevel",Spieler[playerid][adminlevel]);
    }


    }
    dini_Create(accFormat);
    dini_Set(accFormat,"Passwort",inputtext);
    Spieler[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,COLOR_LOGIN,"Account wurde angelegt.");
    Spieler[playerid][wanted] = 0;
    Spieler[playerid][skin] = 60;
    Spieler[playerid][money] = 7000;
    Spieler[playerid][score] = 1;
    Spieler[playerid][adminlevel] = 0;
    }



    Das Problem ist wen ich mich einlogge wird nur das PW gesprecihert nicht score money adminlevel usw

    ↓Das ist der Youtube Channel von mir und meinen Kollegen↓



    Sa-Mp Server [Im Aufbau/Beta]
    128.65.216.200:7777

  • Ich habe mir mal die mühe gemacht und dir eins gebaut:


    ganz oben:

    Code
    #include <dini>


    darunter:


    Code
    #define Rot 0xC20000FF#define Gelb 0xFFFF00FF


    darunter:

    Code
    forward Account();forward Update(playerid);



    darunter:


    Code
    enum datei{	Passwort,	Admin,	Geld,	Skin,	Konto,	Level,	Beruf,	Rank,	Nebenjob,	Wanted,	Gebannt,        Register}new PlayerInfo[MAX_PLAYERS][datei];new Eingeloggt[MAX_PLAYERS];



    Unter OnGameModeInit:

    Code
    SetTimer("Account",600000,1);



    OnGameModeExit:

    Code
    public OnGameModeExit(){    for(new i = 0; i < MAX_PLAYERS; i++)	{	    if(IsPlayerConnected(i) && Eingeloggt[i] == 1)		{		    Update(i);	    	Eingeloggt[i] = 0;		}	}	return 1;}



    danach OnPlayerDisconnect:

    Code
    public OnPlayerDisconnect(playerid, reason){	Update(playerid);	Eingeloggt[playerid] = 0;	return 1;}



    danach OnPlayerSpawn:

    Code
    public OnPlayerSpawn(playerid){    new SSkin = PlayerInfo[playerid][Skin];    SetPlayerSkin(playerid,SSkin);    SetPlayerColor(playerid,Weiß);    SetPlayerHealth(playerid,100);    if(Eingeloggt[playerid] == 0)	{	    SendClientMessage(playerid,Rot,"Du wurdest gekickt Grund: gespawnt ohne einloggen!");	    Kick(playerid);	    return 1;	}	if(PlayerInfo[playerid][Gebannt] == 1)	{    	SendClientMessage(playerid,Rot,"Du bist auf dem Server gebannt!");        Kick(playerid);        return 1;	}	if(PlayerInfo[playerid][Register] == 0) //Erster Spawn	{	    SetPlayerInterior(playerid,0);		SetPlayerVirtualWorld(playerid,0);	    SetPlayerFacingAngle(playerid,XX);	    SetPlayerPos(playerid,XX,XX,XX);	    return 1;	}	if(PlayerInfo[playerid][Beruf] == 0) //Normaler Spawn	{        SetPlayerInterior(playerid,0);		SetPlayerVirtualWorld(playerid,0);	    SetPlayerFacingAngle(playerid,XX);	    SetPlayerPos(playerid,XX,XX,XX);	}	return 1;}



    danach OnplayerRequestClass:

    Code
    public OnPlayerRequestClass(playerid, classid){	SetPlayerSkin(playerid,XX);	SetPlayerFacingAngle(playerid,XX);	SetPlayerPos(playerid,XX,XX,XX);	SetPlayerCameraPos(playerid,XX,XX,XX);	SetPlayerCameraLookAt(playerid,XX,XX,XX);	new string[128],name[MAX_PLAYER_NAME];	GetPlayerName(playerid,name,sizeof(name));	format(string,sizeof(string),"/Accounts/%s.ini",name);	if(!dini_Exists(string) && Eingeloggt[playerid] == 0)	{	    format(string,sizeof(string),"Hallo %s: \nDu hast noch keinen Account \nBitte gib dein wunsch Passwort ein.",name);	    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Registrieren",string,"Registrieren","Abbrechen");	}	if(dini_Exists(string) && Eingeloggt[playerid] == 0)	{	    format(string,sizeof(string),"Hallo %s: \nDu hast schon einen Account bei uns \nBitte logge dich ein.",name);	    ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Einloggen",string,"Einloggen","Abbrechen");	}	return 1;}



    danach OnDialogResponse:

    Code
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){    new string[128],name[MAX_PLAYER_NAME];    GetPlayerName(playerid,name,sizeof(name));    format(string,sizeof(string),"/Accounts/%s.ini",name);    if(dialogid == 1)    {        if(response)        {            if(!strlen(inputtext))			{				SendClientMessage(playerid,Rot,"Du musst ein Passwort angeben!");				format(string,sizeof(string),"Hallo %s: \nDu hast noch keinen Account \nBitte gib dein wunsch Passwort ein.",name);		    	ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Registrieren",string,"Registrieren","Abbrechen");				return 1;			}			dini_Create(string);			dini_Set(string,"Passwort",inputtext);			dini_IntSet(string,"Admin",0);            dini_IntSet(string,"Geld",DEIN STARTGELD);            dini_IntSet(string,"Skin",DEIN STARTSKIN);            dini_IntSet(string,"Konto",0);            dini_IntSet(string,"Level",1);            dini_IntSet(string,"Beruf",0);            dini_IntSet(string,"Nebenjob",0);            dini_IntSet(string,"Wanted",0);            dini_IntSet(string,"Gebannt",0);            dini_IntSet(string,"Rank",0);            dini_IntSet(string,"Register",0);            SendClientMessage(playerid,Rot,"Du bist nun Registriert.");         	format(string,sizeof(string),"%s: Du hast jetzt einen Account bitte \nLogge dich jetz mit dem Passwort ein.",name);  			ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Einloggen",string,"Einloggen","Abbrechen");			return 1;		}		if(!response)	    {	        SendClientMessage(playerid,Rot,"Du wurdest gekickt Grund: nicht registriert!");	        Kick(playerid);	    }	    return 1;	}	if(dialogid == 2)	{	    if(response)	    {	        if(!strlen(inputtext))			{				SendClientMessage(playerid,Rot,"Du musst ein Passwort angeben!");                format(string,sizeof(string),"Hallo %s: \nDu hast schon einen Account bei uns \nBitte logge dich ein.",name);		    	ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Einloggen",string,"Einloggen","Abbrechen");				return 1;			}			if(strcmp(inputtext,dini_Get(string,"Passwort"),true)==0)            {				ResetPlayerMoney(playerid);				PlayerInfo[playerid][Admin] = dini_Int(string,"Admin");                PlayerInfo[playerid][Geld] = dini_Int(string,"Geld");                PlayerInfo[playerid][Skin] = dini_Int(string,"Skin");                PlayerInfo[playerid][Konto] = dini_Int(string,"Konto");                PlayerInfo[playerid][Level] = dini_Int(string,"Level");                PlayerInfo[playerid][Beruf] = dini_Int(string,"Beruf");                PlayerInfo[playerid][Nebenjob] = dini_Int(string,"Nebenjob");                PlayerInfo[playerid][Wanted] = dini_Int(string,"Wanted");                PlayerInfo[playerid][Gebannt] = dini_Int(string,"Gebannt");                PlayerInfo[playerid][Rank] = dini_Int(string,"Rank");                PlayerInfo[playerid][Register] = dini_Int(string,"Register");	            ResetPlayerMoney(playerid);                GivePlayerMoney(playerid,PlayerInfo[playerid][Geld]);                SetPlayerWantedLevel(playerid,PlayerInfo[playerid][Wanted]);                SetPlayerScore(playerid,PlayerInfo[playerid][Level]);                SendClientMessage(playerid,Rot,"Du bist nun Eingeloggt.");                Eingeloggt[playerid] = 1;				SpawnPlayer(playerid);                return 1;			}			else			{			    SendClientMessage(playerid,Rot,"Das Passwort ist falsch!");			    format(string,sizeof(string),"Hallo %s: \nDu hast schon einen Account bei uns \nBitte logge dich ein.",name);		    	ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Einloggen",string,"Einloggen","Abbrechen");			}			return 1;	    }	    if(!response)	    {	        SendClientMessage(playerid,Rot,"Du wurdest gekickt Grund: nicht eingeloggt!");	        Kick(playerid);	    }	}	return 1;}



    nun noch die letzten 2 sachen das Account updating:

    Code
    public Update(playerid){    if(IsPlayerConnected(playerid) && Eingeloggt[playerid] == 1)	{	    new string[128],name[MAX_PLAYER_NAME];		GetPlayerName(playerid,name,sizeof(name));		format(string,sizeof(string),"/Accounts/%s.ini",name);		PlayerInfo[playerid][Geld] = GetPlayerMoney(playerid);		PlayerInfo[playerid][Level] = GetPlayerScore(playerid);  		PlayerInfo[playerid][Wanted] = GetPlayerWantedLevel(playerid);	    dini_IntSet(string,"Admin",PlayerInfo[playerid][Admin]);	    dini_IntSet(string,"Geld",PlayerInfo[playerid][Geld]);   		dini_IntSet(string,"Skin",PlayerInfo[playerid][Skin]);	    dini_IntSet(string,"Konto",PlayerInfo[playerid][Konto]);	    dini_IntSet(string,"Level",PlayerInfo[playerid][Level]);	    dini_IntSet(string,"Beruf",PlayerInfo[playerid][Beruf]);	    dini_IntSet(string,"Nebenjob",PlayerInfo[playerid][Nebenjob]);	    dini_IntSet(string,"Wanted",PlayerInfo[playerid][Wanted]);	    dini_IntSet(string,"Gebannt",PlayerInfo[playerid][Gebannt]);	    dini_IntSet(string,"Rank",PlayerInfo[playerid][Rank]);	    dini_IntSet(string,"Register",PlayerInfo[playerid][Register]);	}	return 1;}



    Code
    public Account(){    for(new i = 0; i < MAX_PLAYERS; i++)	{		if(IsPlayerConnected(i) && Eingeloggt[i] == 1)		{		    Update(i);		}	}	return 1;}



    und nun im Scriptfiles ordner den ordner Accounts erstellen
    viel spaß :)