Yoa hi,
ich bin grade bei mich an einem Selfmade zu versuchen.
ich habe jetzt ein Register system fertig.
Logindialog habe ich auch shcon.
Jedoch jetzt mein Problem.
Wenn ich eingeloggt bin also mein pw richtig war dann verschwindet der Dialog und ich habe immernoch das anfangsbild.
Jedoch will ich dann Spawnen.
Wie mache ich das.
Wen ich auf den Spawnknopf drücke steht da server closed the connection.
Ich will es ohne Spawnknopf.
Hier mein ganzes system:
//enums
enum Info
{
passwort[128],
alevel,
fRank,
gTeam,
gLeader,
fLeader,
skin,
eingeloggt
};
//news
new pInfo[MAX_PLAYERS][Info];
public OnPlayerConnect(playerid)
{
new name[128], save[128];
GetPlayerName(playerid,name,sizeof(name));
format(save,sizeof(save),"/Spieler/%s.ini",name);
if(dini_Exists(save) && pInfo[playerid][eingeloggt])
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");
}
else
{
ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Weiter","Abbrechen");
}
TextDrawShowForPlayer(playerid,Copyright);
SetTimer("Textdrawname", 300000, 0);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new name[128], save[128];
GetPlayerName(playerid,name,sizeof(name));
format(save,sizeof(save),"/Spieler/%s.ini",name);
if(dini_Exists(save))
{
dini_IntSet(save,"Geld",GetPlayerMoney(playerid));
dini_IntSet(save,"Wanteds",GetPlayerWantedLevel(playerid));
dini_IntSet(save,"Skin",GetPlayerSkin(playerid));
dini_IntSet(save,"Adminlevel",pInfo[playerid][alevel]);
dini_IntSet(save,"Fraktionsleader",pInfo[playerid][fLeader]);
dini_IntSet(save,"Fraktionsrank",pInfo[playerid][fRank]);
pInfo[playerid][eingeloggt] = 0;
}
return 1;
}
public OnPlayerSpawn(playerid)
{
new name[128], save[128];
GetPlayerName(playerid,name,sizeof(name));
format(save,sizeof(save),"/Spieler/%s.ini",name);
if(loggedin[playerid] == false)
{
Kick(playerid);
}
SetPlayerSkin(playerid,dini_Int(save,"Skin"));
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new save[40];
GetPlayerName(playerid,spieler,sizeof(spieler));
format(save,sizeof(save),"Spieler/%s.ini",spieler);
if(response)
{
switch(dialogid) // dialogid auswählen
{
case DIALOG_LOGIN: // ID Login
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");
return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
}
if(strcmp(inputtext,dini_Get(save,"passwort")) == 0) // Passwort Direkt aus der Datei Laden
{
GivePlayerMoney(playerid,dini_Int(save,"Geld"));
SetPlayerWantedLevel(playerid,dini_Int(save,"Wanteds"));
SetPlayerSkin(playerid,dini_Int(save,"Skin"));
pInfo[playerid][fLeader] =dini_Int(save,"Fraktionsleader");
pInfo[playerid][alevel] =dini_Int(save,"Adminlevel");
pInfo[playerid][fRank] =dini_Int(save,"Fraktionsrank");
pInfo[playerid][eingeloggt] = 1;
SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
}
else
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
}
}
case DIALOG_REG: // ID Registrieren
{
if(!strlen(inputtext)) // Text darf nicht = Null sein Null im Sinne von nichts
{
ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Abbrechen","Weiter");
return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
}
dini_Create(save);
dini_Set(save,"passwort",inputtext);
pInfo[playerid][eingeloggt] = 1;
SendClientMessage(playerid,0xFFFFFFFF,"Account wurde angelegt und du wurdest eingeloggt.");
}
}
}
else
{
switch(dialogid)
{
case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");
case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Weiter","Abbrechen");
}
}
return 1;
}
Ich hoffe mir kann jemand helfen.
mfg lolli
P.S.: Ich habe keine errors oder sonstiges.