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;
}