Hallo liebe Community,
Ich wollte nur mal schnell fragen ob mir jemand bei diesem Problem helfen kann:
Wenn sich ein Spieler Registriert soll er sein Geburtsdatum Eingeben. Soweit so gut aber ich möchte das die Daten auch Existieren können also: Spieler X² Gibt als Geburtsdatum ein aber nicht 12.12.2012 sonder z.B. 19.37.1720 und da es dieses Datum nicht gibt(Den Monat gibt es nicht) möchte ich mein Text in Strings Umwandeln um dann mit Hilfe von inputtext Festzulegen, Max Tag: 31 Max Monate: 12. Hier sind die Zeilen die ich bereits habe:
if(dialogid == Registerdialog2)
{
if(response == 0)
{
ShowPlayerDialog(playerid,RegisterAbbruch3,DIALOG_STYLE_MSGBOX,"Abbruch Bestätigung","Bist du dir Sicher den Registrierungs Vorgang Abzubrechen?\nDu wirst somit nicht Registriert!(Stand: 2/4).","Ja","Nein");
}
if(response == 1)
{
if(strlen("dd.dd.dddd"))
{
//Das was passieren soll kommt hier rein.
}
So wie kann ich die "dd.dd.dddd" in Variablen wie z.B. Tag,Monat,Jahr umwandel um dann halt mit "< > " die Werte festzulegen?
Ich hoffe das dass verständlich war und sich schnell jemand um mein Problem kümmern wird.
Mit freundlichen Grüßen
Delko65
Alles anzeigen
splitt es doch mit sscanf und vergleiche
ocmd:string(playerid,params[])
{
new test1245[30],Date[3];
if(sscanf(params,"s[30]",test1245))return SendClientMessage(playerid,-1,"Benutze /string [text]");
new var0, var1, var2,Year, Month, Day;
sscanf(test1245, "p<.>iii", var0, var1, var2);
if(var0 > 31 || var0 <= 0)return SendClientMessage(playerid,-1,"Eingabe Falsch1");
if(var1 > 12 || var1 <= 0)return SendClientMessage(playerid,-1,"Eingabe Falsch2");
getdate(Year, Month, Day);
if(var2 > Year || var2 < 1900)return SendClientMessage(playerid,-1,"Eingabe Falsch3");
new string[64];
printf("%d . %d . %d",var0, var1, var2);
format(string,64,"Datum ist %d.%d.%d",var0, var1, var2);
SendClientMessage(playerid,-1,string);
return 1;
}
kleiner beispiel code