Problem with dialog..
#1

So...I was trying to limit the strval(inputtext) between 0 and 299 but when i type 0 in the input dialog it will return the dialog again like if he didnt accept it [I mean didnt accept that input so he shows me the dialog again]
So, anyone able to help me? what shall i do to make it accept the 0 input?
pawn Код:
case DIALOG_SKIN:
        {
            if(response) //Continue
            {
                if(!strval(inputtext)) return ShowPlayerDialog(playerid, DIALOG_SKIN, DIALOG_STYLE_INPUT, ""COL_WHITE"Skin", ""COL_WHITE"Input the Skin ID below:\n"COL_YELLOW"*Min: 0 || Max: 299*", "Change", "Back");
                if(strval(inputtext) > 299 || strval(inputtext) < 0) return ShowPlayerDialog(playerid, DIALOG_SKIN, DIALOG_STYLE_INPUT, ""COL_WHITE"Skin", ""COL_WHITE"Input the Skin ID below:\n"COL_YELLOW"*Min: 0 || Max: 299*", "Change", "Back");
                SetPlayerSkin(playerid, strval(inputtext));
                new string[128];
                format(string, sizeof(string), ""TAG" Changed your Skin "COL_WHITE"[ID: %d]", strval(inputtext));
                SCM(playerid, -1, string);
                ShowPlayerDialog(playerid, DIALOG_SPAWN, DIALOG_STYLE_LIST, ""COL_GREEN"Spawn Menu", sstr, "Select", "Back");
            }
            else ShowPlayerDialog(playerid, DIALOG_SPAWN, DIALOG_STYLE_LIST, ""COL_GREEN"Spawn Menu", sstr, "Select", "Back"); //Back
Reply
#2

I recommend using sscanf, because strval returns 0 both when the string is not an integer and also when the value of the string is zero which is causing the trouble in your case
Reply
#3

Quote:
Originally Posted by DavidBilla
Посмотреть сообщение
I recommend using sscanf, because strval returns 0 both when the string is not an integer and also when the value of the string is zero which is causing the trouble in your case
Hmmm...So the only way is using sscanf? and if yes can u give me an example how to use it here? am kind of not really good scripter :/
Reply
#4

pawn Код:
case DIALOG_SKIN:
        {
            if(response) //Continue
            {
                new skinid;
                if(sscanf(inputtext,"d",skinid)) return ShowPlayerDialog(playerid, DIALOG_SKIN, DIALOG_STYLE_INPUT, ""COL_WHITE"Skin", ""COL_WHITE"Input the Skin ID below:\n"COL_YELLOW"*Min: 0 || Max: 299*", "Change", "Back");
                if(skinid > 299 || skinid < 0) return ShowPlayerDialog(playerid, DIALOG_SKIN, DIALOG_STYLE_INPUT, ""COL_WHITE"Skin", ""COL_WHITE"Input the Skin ID below:\n"COL_YELLOW"*Min: 0 || Max: 299*", "Change", "Back");
                SetPlayerSkin(playerid, skinid);
                new string[128];
                format(string, sizeof(string), ""TAG" Changed your Skin "COL_WHITE"[ID: %d]", skinid);
                SCM(playerid, -1, string);
                ShowPlayerDialog(playerid, DIALOG_SPAWN, DIALOG_STYLE_LIST, ""COL_GREEN"Spawn Menu", sstr, "Select", "Back");
            }
            else ShowPlayerDialog(playerid, DIALOG_SPAWN, DIALOG_STYLE_LIST, ""COL_GREEN"Spawn Menu", sstr, "Select", "Back"); //Back
Reply
#5

Thank you very much really appreciate it +rep for you
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)