Heyho, ich hab jetzt mithilfe eines Tutorials ein Login-/Register-Script erstellt.
Nur sendet es beim Einloggen die Meldungen
ZitatWillkommen!
Du hast dich erfolgreich mit den Name : XY und dem Passwort : XY registriert
Willkommen!
Du wurdes automatisch eingloggt
, was mir ein Rätsel ist, da ich ja alle Klammern etc. richtig gesetzt habe?!?
That's my code:
#include <a_samp>
#include <dini>
#define Weiß 0xFFFFFFAA
#define Grau 0xAFAFAFAA
#define Rot 0xAA3333AA
new passwort[256];
new FalschesPasswort[MAX_PLAYERS];
new Eingeloggt[MAX_PLAYERS];
new login;
new regis;
forward Anmelden(playerid);
forward SpielerUpdate(playerid);
forward PasswortFalsch(playerid);
enum SInfo
{
	Passwort[256],
	Wanteds,
	Geld,
	alvl,
	Tode,
	Kills,
	Spawn,
}
new SpielerInfo[MAX_PLAYERS][SInfo];
public OnPlayerConnect(playerid)
{
	new Spielerdatei[256];
	new SpielerName[MAX_PLAYER_NAME];
	GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
	format(Spielerdatei,sizeof(Spielerdatei),"/madAd/Users/%s.ini",SpielerName);
	if(dini_Exists(Spielerdatei))
	{
		login = ShowPlayerDialog(playerid, login, DIALOG_STYLE_INPUT, "Logge dich ein!", " ", "Login!", "Abbrechen!");
	}
	else if(!dini_Exists(Spielerdatei))
	{
 		regis = ShowPlayerDialog(playerid, regis, DIALOG_STYLE_INPUT, "Registriere dich!", " ", "Registrieren!", "Abbrechen!");
	}
	return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
	SpielerInfo[playerid][Tode]++;
	SpielerInfo[killerid][Kills]++;
	SpielerUpdate(playerid);
	return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
	SpielerUpdate(playerid);
	Eingeloggt[playerid] = 0;
	return 1;
}
public OnPlayerSpawn(playerid)
{
	if(Eingeloggt[playerid] == 1)
	{
		SpielerInfo[playerid][Spawn]++;
 	}
	if(Eingeloggt[playerid] == 0)
	{
   		SendClientMessage(playerid,Rot,"Wenn du dich einloggst, kannst du mehr Funktionen benutzen...");
	}
	return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == login)
	{
		if(response == 1)
		{
	    	if(listitem)
	    	{
				new Spielerdatei[256];
				new SpielerName[MAX_PLAYER_NAME];
				GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
				format(Spielerdatei,sizeof(Spielerdatei),"/madAd/Users/%s.ini",SpielerName);
				passwort = dini_Get(Spielerdatei,"Passwort");
				if(strcmp(inputtext,passwort,false) == 0)
				{
					Anmelden(playerid);
				}
				else
				{
					FalschesPasswort[playerid] += 1;
					PasswortFalsch(playerid);
				}
			}
		}
		else
		{
			SendClientMessage(playerid,Rot,"Wenn du dich einloggst, kannst du mehr Funktionen benutzen...");
		}
		return 1;
	}
	if(dialogid == regis)
	{
		if(response == 1)
		{
			if(listitem)
			{
				new Spielerdatei[256];
				new SpielerName[MAX_PLAYER_NAME];
				GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
				format(Spielerdatei,sizeof(Spielerdatei),"/madAd/Users/%s.ini",SpielerName);
				dini_Create(Spielerdatei);
				dini_Set(Spielerdatei,"Passwort",inputtext);
				dini_IntSet(Spielerdatei,"Wanteds",SpielerInfo[playerid][Wanteds]);
				dini_IntSet(Spielerdatei,"Geld",SpielerInfo[playerid][Geld]);
				new GlueckWunschText[128];
				format(GlueckWunschText,sizeof(GlueckWunschText),"Du hast dich erfolgreich mit den Name : %s und dem Passwort : %s registriert",SpielerName,inputtext);
				SendClientMessage(playerid,Weiß,GlueckWunschText);
				Anmelden(playerid);
				SendClientMessage(playerid,Weiß,"Du wurdes automatisch eingloggt");
				return 0;
			}
		}
		else
		{
			SendClientMessage(playerid,Rot,"Wenn du dich registrierst, kannst du mehr Funktionen benutzen...");
		}
		return 1;
	}
	return 1;
}
public Anmelden(playerid)
{
	new Spielerdatei[256];
	new SpielerName[MAX_PLAYER_NAME];
	GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
	format(Spielerdatei,sizeof(Spielerdatei),"/madAd/Users/%s.ini",SpielerName);
	SpielerInfo[playerid][Geld] = dini_Int(Spielerdatei,"Geld");
	SpielerInfo[playerid][Wanteds] = dini_Int(Spielerdatei,"Wanteds");
	SpielerInfo[playerid][alvl] = dini_Int(Spielerdatei,"alvl");
	SetPlayerMoney(playerid,SpielerInfo[playerid][Geld]);
	SetPlayerWantedLevel(playerid,SpielerInfo[playerid][Wanteds]);
	SendClientMessage(playerid,Weiß,"Wilkommen!");
	Eingeloggt[playerid] = 1;
	return 1;
}
public SpielerUpdate(playerid)
{
	new Spielerdatei[256];
	new SpielerName[MAX_PLAYER_NAME];
	GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
	format(Spielerdatei,sizeof(Spielerdatei),"/madAd/Users/%s.ini",SpielerName);
	GetPlayerMoney(playerid,SpielerInfo[playerid][Geld]);
	GetPlayerWantedLevel(playerid,SpielerInfo[playerid][Wanteds]);
	dini_IntSet(Spielerdatei,"Geld",SpielerInfo[playerid][Geld]);
	dini_IntSet(Spielerdatei,"Wanteds",SpielerInfo[playerid][Wanteds]);
	dini_IntSet(Spielerdatei,"AdminLevel",SpielerInfo[playerid][alvl]);
	dini_IntSet(Spielerdatei,"Tode",SpielerInfo[playerid][Tode]);
	dini_IntSet(Spielerdatei,"Kills",SpielerInfo[playerid][Kills]);
	dini_IntSet(Spielerdatei,"Spawn",SpielerInfo[playerid][Spawn]);
	return 1;
}
public PasswortFalsch(playerid)
{
	if(FalschesPasswort[playerid] == 1)
	{
		SendClientMessage(playerid,Rot,"Du hast das Passwort bereits 1 mal falsch eingegeben du hast noch 2 Versuche");
		login = ShowPlayerDialog(playerid, login, DIALOG_STYLE_INPUT, "Logge dich ein!", " ", "Login!", "Abbrechen!");
 	}
 	if(FalschesPasswort[playerid] == 2)
	{
		SendClientMessage(playerid,Rot,"Du hast das Passwort bereits 2 mal falsch eingegeben du hast noch 1 Versuch!");
		login = ShowPlayerDialog(playerid, login, DIALOG_STYLE_INPUT, "Logge dich ein!", " ", "Login!", "Abbrechen!");
 	}
 	if(FalschesPasswort[playerid] == 3)
	{
		SendClientMessage(playerid,Rot,"Du hast das Passwort 3 mal falsch eingegeben, du wurdest gekickt");
		Kick(playerid);
 	}
	return 1;
}