public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { new str[128]; format(str, sizeof str, "%d", response); if(dialogid == 1 && response) format(PlayerInfo[playerid][pAge], 128, str); if(!strlen(str)) return SendClientMessage(playerid, COLOR_RED, "You must enter a numeric age 1 and 120 Ex: 56"); ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Please enter your characters age",str,"Continue","Cancel"); {} if(strlen(str)) { if(IsNumeric(str)) { if(strval(str) <= 1 || strval(str) > 120) TogglePlayerControllable(playerid,1); } } else { SendClientMessage(playerid, COLOR_RED, "You must enter a numeric age between 1 and 120 Ex: 56"); ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Please enter your characters age",str,"Continue","Cancel"); } return 1; }
PlayerInfo[playerid][pAge] = strval(inputtext);
format(str, sizeof str, "%d", inputtext);
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1 && response)
{
new age = strval(inputtext);
if(strlen(inputtext) < 1 && !IsNumeric(inputtext))
{
SendClientMessage(playerid, COLOR_RED, "You must enter a numeric string!");
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Please enter your characters age", "Please enter your characters' age!" , "Continue", "Cancel");
}
else
{
if(age < 120 || age >= 1)
{
new string[128];
PlayerInfo[playerid][pAge] = age;
format(string, sizeof(string), "Hooray! Your age has been set to %d!", age);
SendClientMessage(playerid, COLOR_RED, string);
}
else
{
SendClientMessage(playerid, COLOR_RED, "You must enter an age, from between 1 to 120!");
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Please enter your characters age", "Please enter your characters' age!" , "Continue", "Cancel");
}
}
}
return 1;
}
if(strlen(inputtext) < 1 && !IsNumeric(inputtext)) { SendClientMessage(playerid, COLOR_RED, "You must enter a numeric age between 1 and 120 Ex: 56"); ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Questionare", "Please enter your age", "Continue", "Cancel"); }
stock IsNumeric(string[]) { for (new i = 0, j = strlen(string); i < j; i++) { if (string[i] > '9' || string[i] < '0') return 0; } return 1; }
Originally Posted by MisterTickle
Thanks, I'm fairly new to scripting and I kept trying to get it to work thats why its so sloppy and fucked up.
How can I make it not allow text strings cause I can enter like "lol" and it will say I set my age to 0 I think this... Код:
if(strlen(inputtext) < 1 || !IsNumeric(inputtext)) { SendClientMessage(playerid, COLOR_RED, "You must enter a numeric age between 1 and 120 Ex: 56"); ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Questionare", "Please enter your age", "Continue", "Cancel"); } My IsNumeric is this if its messed up Код:
stock IsNumeric(string[]) { for (new i = 0, j = strlen(string); i < j; i++) { if (string[i] > '9' || string[i] < '0') return 0; } return 1; } |
if(strlen(inputtext) < 1 || !IsNumeric(inputtext)) { SendClientMessage(playerid, COLOR_RED, "You must enter a numeric age between 1 and 120 Ex: 56"); ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Questionare", "Please enter your age", "Continue", "Cancel"); }