#include <a_samp>
#include <dini>
#define Weiß 0xFFFFFFAA
#define Grau 0xAFAFAFAA
#define Rot 0xAA3333AA
#define Gruen 0x00CC33C0
#define LichtGruen 0x00CC33C0
#define Register 0
#define Login 1
forward Registrieren(playerid,key[]);
forward Anmelden(playerid,pw[]);
forward PasswortFalsch(playerid);
forward SavePasswort(playerid);
enum SInfo
{
Passwort,
Eingeloggt,
}
new SpielerInfo[MAX_PLAYERS][SInfo];
main()
{
print("\n----------------------------------");
print(" Login System Airwolf");
print("----------------------------------\n");
}
public OnPlayerConnect(playerid)
{
new Spielerdatei[64];
format(Spielerdatei,sizeof(Spielerdatei),"/Login/%s.ini",SpielerName(playerid));
if(dini_Exists(Spielerdatei))
{
SendClientMessage(playerid,Gruen,"|__________Einloggen__________|");
SendClientMessage(playerid,Weiß,"Dein Account wurde gefunden");
SendClientMessage(playerid,Weiß,"um dich einzuloggen gebe einfach dein Passwort ein");
ShowPlayerDialog(playerid,Login,DIALOG_STYLE_INPUT,"Login","Bitte tippe dein Passwort in das TextFeld ein um dich einzuloggen!","Login","Abbruch");
}
else
{
SendClientMessage(playerid,Gruen,"|__________Registrieren__________|");
SendClientMessage(playerid,Weiß,"Dein Account wurde nicht gefunden");
SendClientMessage(playerid,Weiß,"um dich zu Registrieren gebe einfach dein gewünschtes Passwort ein");
ShowPlayerDialog(playerid,Register,DIALOG_STYLE_INPUT,"Regestrieren","Bitte tippe dein Passwort in das TextFeld ein um dich zu Regestrieren!","Register","Abbruch");
}
return 1;
}
public OnPlayerSpawn(playerid)
{
if(SpielerInfo[playerid][Eingeloggt] == 0)
{
new Spielerdatei[64];
format(Spielerdatei,sizeof(Spielerdatei),"/Login/%s.ini",SpielerName(playerid));
if(dini_Exists(Spielerdatei))
{
SetPlayerHealth(playerid,0);
ForceClassSelection(playerid);
SendClientMessage(playerid,Rot,"Du musst dich erst einloggen bevor du Spawnen kannst");
ShowPlayerDialog(playerid,Login,DIALOG_STYLE_INPUT,"Login","Bitte tippe dein Passwort in das TextFeld ein um dich einzuloggen!","Login","Abbruch");
}
else
{
SetPlayerHealth(playerid,0);
ForceClassSelection(playerid);
SendClientMessage(playerid,Rot,"Du musst dich erst Registrieren bevor du Spawnen kannst");
ShowPlayerDialog(playerid,Register,DIALOG_STYLE_INPUT,"Regestrieren","Bitte tippe dein Passwort in das TextFeld ein um dich zu Regestrieren!","Register","Abbruch");
}
return 1;
}
return 1;
}
public Registrieren(playerid,key[])
{
new Spielerdatei[64];
format(Spielerdatei,sizeof(Spielerdatei),"/Login/%s.ini",SpielerName(playerid));
if(dini_Exists(Spielerdatei))
{
SendClientMessage(playerid,Rot, "Fehler: Dieser Account exestiert bereits!");
}
else
{
dini_Create(Spielerdatei);
dini_Set(Spielerdatei,"Passwort",key);
SpielerInfo[playerid][Eingeloggt] = 1;
Anmelden(playerid,key);
SendClientMessage(playerid,LichtGruen,"Du wurdest automatisch eingeloggt");
}
return 0;
}
public Anmelden(playerid,pw[])
{
new Spielerdatei[64];
format(Spielerdatei,sizeof(Spielerdatei),"/Login/%s.ini",SpielerName(playerid));
if(dini_Exists(Spielerdatei))
{
if (!strcmp(pw,dini_Get(Spielerdatei,"Passwort")))
{
SpielerInfo[playerid][Passwort] = dini_Int(Spielerdatei,"Passwort");
SpawnPlayer(playerid);
SpielerInfo[playerid][Eingeloggt] = 1;
return 1;
}
else
{
SpielerInfo[playerid][Eingeloggt] = 0;
PasswortFalsch(playerid);
}
}
return 1;
}
public SavePasswort(playerid)
{
new Spielerdatei[64];
format(Spielerdatei,sizeof(Spielerdatei),"/Login/%s.ini",SpielerName(playerid));
dini_IntSet(Spielerdatei,"Passwort",SpielerInfo[playerid][Passwort]);
new printN[128];
format(printN,sizeof(printN),"Das Passwort wurde vom Spieler '%s' gespeichert!");
print(printN);
return 1;
}
public PasswortFalsch(playerid)
{
new tmpPasswort[MAX_PLAYERS];
tmpPasswort[playerid] = 3;
tmpPasswort[playerid] -= 1;
if(tmpPasswort[playerid] == 3)
{
SendClientMessage(playerid,Rot,"Du hast das Passwort bereits 1 mal Falsch eingegeben du hast noch 2 versuche");
ShowPlayerDialog(playerid,Login,DIALOG_STYLE_INPUT,"Login","Bitte tippe dein Passwort in das TextFeld ein um dich einzuloggen!","Login","Abbruch");
return 1;
}
if(tmpPasswort[playerid] == 2)
{
SendClientMessage(playerid,Rot,"Du hast das Passwort bereits 2 mal Falsch eingegeben du hast noch 1 versuch");
ShowPlayerDialog(playerid,Login,DIALOG_STYLE_INPUT,"Login","Bitte tippe dein Passwort in das TextFeld ein um dich einzuloggen!","Login","Abbruch");
return 1;
}
if(tmpPasswort[playerid] == 1)
{
SendClientMessage(playerid,Rot,"Du hast das Passwort 3 mal falsch eingegeben du wurdes gekickt.");
Kick(playerid);
return 1;
}
return 1;
}
stock SpielerName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
return name;
}
Ich kann ohne ein pw eingeben spawn, also einfach enter drücken, aber ist das pw falsch, dann kann man nciht spawn.
Wo ist der fehler ?