Hallo liebe Skripter/-innen,
Ich habe nun mein Selfmade Reallife Skript angefangen und wollte das jeder User beim Registrieren ein paar Daten über sich angibt. Am anfang geht alles so wie es soll, aber dann komme ich beim Geburtstag nicht Weiter.
Außerdem habe ich noch ein Problem wobei ich euch aber danach erst fragen werde, hier erstmal das Register Problem.
Code:
if(dialogid == Dia_Register2)
{
if(response == 0)
{
ShowPlayerDialog(playerid,Dia_RegAbbruch2,DIALOG_STYLE_MSGBOX,"Registrierungsabbruch","Bist du sicher dass du den Registrierungsvorgang Abbrechen möchtest?\n{B90000}Info:{FFFFFF} Somit werden alle Daten gelöscht und du musst dir einen neuen Account erstellen!","Bestätigen","Abbruch");
}
if(response == 1)
{
new Tag,Monat,Jahr,Year,Month,Day;
getdate(Year,Month,Day);
sscanf(inputtext, "p<.>iii" , Tag, Monat, Jahr);
if(!strlen(inputtext)) return ShowPlayerDialog(playerid,Dia_Register2,DIALOG_STYLE_INPUT,"Registrierungsvorgang 2 |5","Bitte gib nun dein Geburtsdatum an(TT.MM.JJJJ).","Weiter","Abbruch");
if(!strlen("dd.dd.dddd")) return ShowPlayerDialog(playerid,Dia_Register2,DIALOG_STYLE_INPUT,"Registrierungsvorgang 2 |5","Bitte gib nun dein Geburtsdatum an(TT.MM.JJJJ).","Weiter","Abbruch");
if(Monat == 1 || 3 || 5 || 7 || 8 || 10 || 12 && Tag > 31) return ShowPlayerDialog(playerid,Dia_Register2,DIALOG_STYLE_INPUT,"Registrierungsvorgang 2 |5","Bitte gib nun dein Geburtsdatum an(TT.MM.JJJJ).","Weiter","Abbruch");
if(Monat == 4 || 6 || 9 || 11 && Tag > 30) return ShowPlayerDialog(playerid,Dia_Register2,DIALOG_STYLE_INPUT,"Registrierungsvorgang 2 |5","Bitte gib nun dein Geburtsdatum an(TT.MM.JJJJ).","Weiter","Abbruch");
if(Monat == 2 && Tag > 28) return ShowPlayerDialog(playerid,Dia_Register2,DIALOG_STYLE_INPUT,"Registrierungsvorgang 2 |5","Bitte gib nun dein Geburtsdatum an(TT.MM.JJJJ).","Weiter","Abbruch");
if(Monat > 12 || Monat < 1) return ShowPlayerDialog(playerid,Dia_Register2,DIALOG_STYLE_INPUT,"Registrierungsvorgang 2 |5","Bitte gib nun dein Geburtsdatum an(TT.MM.JJJJ).","Weiter","Abbruch");
ShowPlayerDialog(playerid,Dia_Register3,DIALOG_STYLE_LIST,"Registrierungsvorgang 3 |5","Deutschland\nÖsterreich\nSchweiz","Weiter","Abbruch");
new Spieler[65],SName[MAX_PLAYER_NAME],SMsg[100],SMsg1[100];
GetPlayerName(playerid,SName,sizeof(SName));
format(Spieler,65,"/Accounts/%s.Acc",SName);
dini_Set(Spieler,"Geburtstag",inputtext);
format(SMsg1,100,"| Ok, du hast also am %s Geburtstag. |",inputtext);
SendClientMessage(playerid,Weiß,SMsg1);
if(Monat < Month)
{
new sAlter = Year - Jahr;
dini_IntSet(Spieler,"Alter",sAlter);
format(SMsg,100,"| Ok, du bist also %d Jahre alt. |",sAlter);
SendClientMessage(playerid,Weiß,SMsg);
}
if(Monat > Month)
{
new SAlter = Year - Jahr - 1;
dini_IntSet(Spieler,"Alter",SAlter);
format(SMsg,100,"| Ok, du bist also %d Jahre alt. |",SAlter);
SendClientMessage(playerid,Weiß,SMsg);
}
if(Monat == Month && Tag > Day)
{
new sGAlter = Year - Jahr;
dini_IntSet(Spieler,"Alter",sGAlter);
format(SMsg,100,"| Ok, du bist also %d Jahre alt. |",sGAlter);
SendClientMessage(playerid,Weiß,SMsg);
}
ShowPlayerDialog(playerid,Dia_Register3,DIALOG_STYLE_LIST,"Registrierungsvorgang 3 |5","Deutschland\nÖsterreich\nSchweiz","Weiter","Abbruch");
}
}
Wisst ihr warum andauernd dieser Dialog erscheint?:
ShowPlayerDialog(playerid,Dia_Register2,DIALOG_STYLE_INPUT,"Registrierungsvorgang 2 |5","Bitte gib nun dein Geburtsdatum an(TT.MM.JJJJ).","Weiter","Abbruch");
Inputtext ist doch ein String oder habe ich da was falsch Verstanden?
Meine zweite Frage wäre - Wie kann ich in die Spielerdatei einen String speichern? Also das mit dem Passwort weiß ich bereits. Dafür steht im stock (Hier als Bsp.) Register(playerid,key[])
Aber wenn ich nun auch das Geschlecht gespeichert haben möchte, wie kann ich das dann dort Speichern und natürlich weiter unten wieder Reseten usw. ? Als ich "Register(playerid,key[],Geschlecht[])" gemacht habe und im Dialog angewendet habe, bekam ich den Error dass das Unvollständig sei. Allerdings kann der Spieler nur eins angeben. Wer weiß dort Rat?
Ich hoffe das mir jemand Helfen kann und sich die Zeit genommen hat das alles hier durch zu Lesen.
Mit freundlichen Grüßen
Famacertech
Edit: Code eingerückt.