Tag,
Ich möchte für meinen Server eine kleine Sicherung einbauen..
Ich will das man bevor man sich einloggen kann eine zufällige 4-stellige zahl eintippen muss ein ein Dialog.
WIsst ihr wie man sowas macht?
Tag,
Ich möchte für meinen Server eine kleine Sicherung einbauen..
Ich will das man bevor man sich einloggen kann eine zufällige 4-stellige zahl eintippen muss ein ein Dialog.
WIsst ihr wie man sowas macht?
Dialog -> Eingabe mit Variable, festen Wert oder Datensatz aus MySQL / SQLite / Datei vergleichen.
Könnte man das nicht mit einer Random Zahl irgendwie machen also z.b. Random 1000 <> 9999 ??
ganz oben:
New PZahl[MAX_PLAYERS] = random(8999)+1000;//Erstellt für jeden Spieler diese 4-stellige Zahl
Dann mit format dem Spieler anzeigen lassen (sonst weiß er sie ja nicht? o.O?)
Und bei OnDialogResponse dann abfragen
if(strval(inputtext) == PZahl[playerid])
{
//Zahl ist richtig
}
else
{
//Zahl ist falsch
}
//Oben im Script
new sicherheitscode[MAX_PLAYERS];
//OnPlayerConnect
sicherheitscode[playerid] = 0;
//OnPlayerDisconnect
sicherheitscode[playerid] = 0;
//Da wo sonst der Login DIALOG kommt
new rand = 1000 + random(8999);
new string2[100];
sicherheitscode[playerid] = rand;
format(string2, sizeof(string2), "Gebe bitte folgenden Sicherheitscode ein um zum Login zu gelanden: {1E90FF}%d",rand);
ShowPlayerDialog(playerid, 789, DIALOG_STYLE_INPUT,"Server Name - Sicherheitsabfrage",string2,"Weiter","Abbrechen");
//Der Dialog
if(dialogid == 789)
{
if(response && strval(inputtext) == sicherheitscode[playerid])
{
sicherheitscode[playerid] = 1;
//Hier noch der Login Dialog wieder hin
}
else
{
SendClientMessage(playerid, COLOR_LIGHTRED, "Falsche Code Eingabe!");
Kick(playerid);
}
}
Super, danke hat geklappt!