Hallo,
Ich habe ein Problem mit meinem Login /register system und Zwar werden meine Parabeln nach einem GMX wieder auf 0 gesetzt. Fehler bekomme ich keine aber wenn ich nen gmx mache sind alle variablen wieder auf 0. kann mir da wer helfen?
Heir mal mein Quelltext:
Die Dialoge :
	
	
	
		//-------------------------------------------------registrierung-----------------------------------------------
	if(dialogid == REGISTER)
		if(response == 0)
		{
			ShowPlayerDialog(playerid,ABBRUCH_REGISTER,DIALOG_STYLE_MSGBOX,"Abbrechen","Bist du sicher das du den vorgang abbrechen willst?","Zurück","Abbrechen");
	    	return 1;
		}
		else
		{
			if(response == 1)
			{
		    	if(!strlen(inputtext))
				{
					SendClientMessage(playerid,ROT,"Das angegebene Passwort ist zu kurz!");
	            	ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Rigitrierungsvorgang","Willkommen, Bitte gib dein gewünschtes Passwort ein. Verwende ein möglichst sicheres Passwort und sage dieses nicht weiter.","Registrieren","Abbrechen");
					return 1;
				}
				else
				{
		    		Register(playerid,MD5_Hash(inputtext));
		    		return 1;
		    	}
			}
		}
//----------------------------------------ABBRUCH-REGISTER------------------------------------------------------------------
	if(dialogid == ABBRUCH_REGISTER)
		if(response == 0)
		{
			SendClientMessage(playerid,ROT,"Vorgang abgebrochen! Tippe /q um zu beenden.");
	    	Kick(playerid);
			return 1;
		}
		else
		{
			if(response == 1)
			{
				ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Rigitrierungsvorgang","Willkommen, Bitte gib dein gewünschtes Passwort ein. Verwende ein möglichst sicheres Passwort und sage dieses nicht weiter.","Registrieren","Abbrechen");
				return 1;
			}
  		}
//------------------------------------------LOGIN---------------------------------------------------------------------------
	if(dialogid == LOGIN)
		if(response == 0)
		{
	    	ShowPlayerDialog(playerid,ABBRUCH_LOGIN,DIALOG_STYLE_MSGBOX,"Abbrechen","Bist du sicher das du den vorgang abbrechen willst?","Zurück","Abbrechen");
			return 1;
		}
  		else
  		{
			if(response == 1)
			{
				Login (playerid,MD5_Hash(inputtext));
				LoadPlayer(playerid);
				return 1;
			}
  		}
//----------------------------------------ABBRUCH-LOGIN------------------------------------------------------------------
	if(dialogid == ABBRUCH_LOGIN)
		if(response == 0)
		{
			SendClientMessage(playerid,ROT,"Vorgang abgebrochen! Tippe /q um zu beenden.");
	    	Kick(playerid);
			return 1;
		}
		else
		{
			if(response == 1)
			{
				ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Login","Willkommen, bitte logge dich ein um zu spielen.","Login","Abbrechen");
				return 1;
			}
  		}	
 
Dann die stocks:
	
	
	
		stock Register (playerid,key[])
{
	new Accounts[64];
	new Pname [MAX_PLAYER_NAME];
	GetPlayerName(playerid,Pname,sizeof(Pname));
	format(Accounts,sizeof(Accounts),"/Accounts/%s.txt",Pname);
	dini_Create(Accounts);
	dini_Set(Accounts,"Passwort",key);
	dini_IntSet(Accounts,"Adminlevel",0);
	dini_IntSet(Accounts,"Level",0);
	dini_IntSet(Accounts,"Bargeld",0);
	dini_IntSet(Accounts,"Fraktion",0);
	SpawnPlayer(playerid);
	SendClientMessage(playerid,BLAU,"Du hast dich erfolgreich registiert!");
	ResetPlayer(playerid);
	return 1;
}	
 
	
	
	
		stock Login (playerid,key[])
{
	new Accounts[64];
	new Pname [MAX_PLAYER_NAME];
	GetPlayerName(playerid,Pname,sizeof(Pname));
	format(Accounts,sizeof(Accounts),"/Accounts/%s.txt",Pname);
	if(!strcmp(key,dini_Get(Accounts,"Passwort"),true))
	{
 		SendClientMessage(playerid,ROT,"Das Passwort war falsch! Bitte versuche es erneut. (Mit /q verlässt du das Spiel)");
		Kick(playerid);
	}
	else
 	{
		SendClientMessage(playerid,BLAU,"Wilkommen!");
		LoadPlayer(playerid);
		SpawnPlayer(playerid);
	}
	return 1;
}	
 
	
	
	
		stock SavePlayer(playerid)
{
	new Accounts[64];
	new Pname [MAX_PLAYER_NAME];
	GetPlayerName(playerid,Pname,sizeof(Pname));
	format(Accounts,sizeof(Accounts),"/Accounts/%s.txt",Pname);
	if(dini_Exists(Accounts))
	{
		dini_IntSet(Accounts,"Adminlevel",sSpieler[playerid][Adminlevel]);
    	dini_IntSet(Accounts,"Level",sSpieler[playerid][Level]);
    	dini_IntSet(Accounts,"Bargeld",sSpieler[playerid][Bargeld]);
    	dini_IntSet(Accounts,"Fraktion",sSpieler[playerid][Fraktion]);
	}
	return 1;
}	
 
	
	
	
		stock LoadPlayer(playerid)
{
	new Accounts[64];
	new Pname [MAX_PLAYER_NAME];
	GetPlayerName(playerid,Pname,sizeof(Pname));
	format(Accounts,sizeof(Accounts),"/Accounts/%s.txt",Pname);
	if(dini_Exists(Accounts))
	{
		SetPlayerScore(playerid,dini_Int(Accounts,"Level"));
		sSpieler[playerid][Adminlevel] = dini_Int(Accounts,"Adminlevel");
		sSpieler[playerid][Level] = dini_Int(Accounts,"Level");
		sSpieler[playerid][Bargeld] = dini_Int(Accounts,"Bargeld");
		sSpieler[playerid][Fraktion] = dini_Int(Accounts,"Fraktion");
		sSpieler[playerid][sLogin] = 1;
	}
	return 1;
}	
 
	
	
	
		stock ResetPlayer(playerid)
{
	sSpieler[playerid][Adminlevel] = 0;
	sSpieler[playerid][Level] = 0;
	sSpieler[playerid][Bargeld] = 0;
	sSpieler[playerid][Fraktion] = 0;
	return 1;
}	
 
	
	
	
		//Ist der Spieler Admin?
stock IsPlayerAnAdmin(playerid,rang)
{
	if(sSpieler[playerid][Adminlevel] >= rang)return 1;
	return 0;
}	
 
	
	
	
		//Ist der Spieler in einer Fraktion?
stock IsPlayerInFrakt(playerid,Fraktid)
{
	if(sSpieler[playerid][Fraktion] == Fraktid) return 1;
	return 0;
}	
 
	
	
	
		//eingeloggt?
stock IsPlayerLoggedIn(playerid)
{
	if(sSpieler[playerid][sLogin] == 1) return 1;
	return 1;
}	
 
Hoffe mir kann da wer helfen  definiert ist auch alles also solltte es eigentlich funktioneieren.
 definiert ist auch alles also solltte es eigentlich funktioneieren.
MFG Moneytoe
falls wer mehr vom script sehen will -->pn und ja ich habe die datei "accounts" im scriptfiles ordner erstellt 