Ja wenn ich da auf vorschau klicke dann verändert er die Einrückungen und setzt alles hinter einander...
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){new pname[MAX_PLAYER_NAME], path[200];GetPlayerName(playerid, pname, sizeof(pname));format(path, sizeof(path), "/Spieler/%s.ini", pname);
switch(dialogid){ case DIALOG_REGISTER1: { if(!response) { Kick(playerid); } else { new pwlength = strlen(inputtext); if(pwlength > 0) { dini_Create(path); // Erstellt die .ini Datei dini_Set(path, "password", inputtext); // Schreibt das eingegebene Passwort in die .ini ShowPlayerDialog(playerid, DIALOG_REGISTER2, DIALOG_STYLE_LIST, "Geschlecht", "Männlich\r\nWeiblich", "Fertig", "Abbruch"); } else { ShowPlayerDialog(playerid, DIALOG_NOPW1, DIALOG_STYLE_MSGBOX, "Registrierung", "Sie müssen ein Passwort angeben!", "OK", "Abbrechen"); } } } case DIALOG_REGISTER2: { if(!response) { dini_Remove(path); // .ini löschen, da der User die registrierung abgebrochen hat. Kick(playerid); } else { dini_IntSet(path, "sex", listitem); // Schreibt entweder 0 oder 1 in die .ini (0 = Männlich, 1 = Weiblich) ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, "Registrierung", "Geben Sie hier Ihr Alter an: (z.B. 16):", "OK", "Abbrechen"); } } case DIALOG_REGISTER3: { if(!response) { dini_Remove(path); // .ini löschen, da der User die registrierung abgebrochen hat. Kick(playerid); } else { dini_Set(path, "age", inputtext); ShowPlayerDialog(playerid, DIALOG_REGISTER4, DIALOG_STYLE_MSGBOX, "Registrierung", "Ihre Registrierung ist nun abgeschlossen!", "OK", "OK"); } } case DIALOG_REGISTER4: { Info[playerid][sex] = dini_Int(path, "sex"); Info[playerid][age] = dini_Int(path, "age"); Info[playerid][logged] = 1; } case DIALOG_LOGIN1:
{ if(!response)
{ Kick(playerid);
} else
{ if(strlen(inputtext))
{ if(strcmp(inputtext, dini_Get(path, "password")) == 0) // Wenn das Passwort stimmt
{ Info[playerid][sex] = dini_Int(path, "sex"); Info[playerid][age] = dini_Int(path, "age"); Info[playerid][logged] = 1;
} else
{ ShowPlayerDialog(playerid, DIALOG_WRONGPW, DIALOG_STYLE_MSGBOX, "Login", "Sie haben ein inkorrektes Passwort angegen!", "OK", "Abbrechen");
}
} else
{ ShowPlayerDialog(playerid, DIALOG_NOPW2, DIALOG_STYLE_MSGBOX, "Login", "Sie müssen ein Passwort angeben!", "OK", "Abbrechen");
}
}
} case DIALOG_NOPW1: // Sollte das Passwort bei der Registrierung "Leer" sein: { if(!response) { Kick(playerid); } else { ShowPlayerDialog(playerid, DIALOG_REGISTER1, DIALOG_STYLE_INPUT, "Registrierung", "Geben Sie hier Ihr gewünschtes Passwort ein:", "OK", "Abbrechen"); } } case DIALOG_NOPW2: // Sollte das Passwort beim Login "Leer" sein: { if(!response) { Kick(playerid); } else { ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_INPUT, "Login", "Geben Sie hier Ihr Passwort ein:", "OK", "Abbrechen"); } } case DIALOG_WRONGPW: { if(!response) { Kick(playerid); } else { ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_INPUT, "Login", "Geben Sie hier Ihr Passwort ein:", "OK", "Abbrechen"); } }}
}
//Enum`S//--------------------------------------------------------------------------enum pInfo{ sex, // 0 = Männlich, 1 = Weiblich. age, // Das Alter password, logged // Ob der Spieler eingeloggt ist.}new Info[MAX_PLAYERS][pInfo];
public OnPlayerConnect(playerid){ GameTextForPlayer(playerid,"~w~test server",5000,5); gettime(hour, minute); SetPlayerTime(playerid,hour,minute); new pname[MAX_PLAYER_NAME], path[200]; GetPlayerName(playerid, pname, sizeof(pname)); format(path, sizeof(path), "/Spieler.ini", pname); if(!dini_Exists(path)) { // Wenn der Spieler nicht registriert ist: ShowPlayerDialog(playerid, DIALOG_REGISTER1, DIALOG_STYLE_INPUT, "Registrierung", "Geben Sie hier Ihr gewünschtes Passwort ein:", "OK", "Abbrechen"); } else { // Wenn der Spieler registriert ist: ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Geben Sie hier Ihr Passwort ein:", "OK", "Abbrechen"); } return 1;}
//OnPlayerDisconnect//------------------------------------------------------------------------------------------------------public OnPlayerDisconnect(playerid){new pname[MAX_PLAYER_NAME], path[200];GetPlayerName(playerid, pname, sizeof(pname));format(path, sizeof(path), "/Spieler/%s.ini", pname);
dini_IntSet(path, "sex", Info[playerid][sex]);dini_IntSet(path, "age", Info[playerid][age]);dini_IntSet(path, "password", Info[playerid][password]);
Info[playerid][logged] = 0;}