GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: tudvari - 2013. június 22. - 14:31:10

Cím: Dialog Input - csak számot írhat be
Írta: tudvari - 2013. június 22. - 14:31:10
Sziasztok!Hogy oldhatnám meg,hogy egy INPUT style-al rendelkezõ dialogba a játékos csak számít írhat be,és annak nagyobbnak kell lennie,mint 0.
Cím: Dialog Input - csak számot írhat be
Írta: jana4 - 2013. június 22. - 14:39:14
Használd ezt a kis szösszenetet:
 

IsNumeric(const string[])
{
        for (new i = 0, j = strlen(string); i < j; i++)
        {
                if (string > \'9\' || string < \'0\') return 0;
        }
        return 1;
}

 
Azután, OnDialogResponse-nél:
 

if(IsNumeric(inputtext) && inputtext >= 0) // ellenõrzés, ahol megnézzük hogy a beírt szöveg szám-e, (0-9) ÉS (&&) hogy a beírt szöveg nagyobb mint nulla. Ezt a kódot viszont még szét lehet szedni darabokra további ellenõrzésekhez.
Cím: Dialog Input - csak számot írhat be
Írta: tudvari - 2013. június 22. - 14:44:55
Köszi ez jó lenne,de az a baj,hogy ezek után is stringnek érzékeli az inputtextet.
 
error 033: array must be indexed (variable \"inputtext\")
Cím: Dialog Input - csak számot írhat be
Írta: ZyZu. - 2013. június 22. - 15:11:17
if(IsNumeric(inputtext) && inputtext > 0)

 
esetleg így?
Cím: Dialog Input - csak számot írhat be
Írta: tudvari - 2013. június 22. - 15:27:45
én is így használtam.De a lényegén nem változtat,így még mindig rossz.Lehet át kell írnom a dialogos fegyver vásárlást parancsosra.Úgy csináltam hogy 1 dialogból kiválasztja milyen fegyvert akar,majd egy másikba beírja hány tölténnyel.
Cím: Dialog Input - csak számot írhat be
Írta: Zsolesszka - 2013. június 22. - 19:41:54
Idézetet írta: tudvari date=1371905095\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"38763\" data-ipsquote-contentclass=\"forums_Topic
Köszi ez jó lenne,de az a baj,hogy ezek után is stringnek érzékeli az inputtextet.
 
error 033: array must be indexed (variable \"inputtext\")

 

Mert az input text az \"string\" pontosabban arra a célra van létrehozva az IsNuneric függvény csak ellenõrzi hogy a karakterlánc számból áll-e.
Viszont te, integer típusként akarod felhasználni az inputtext-et ezért jelzi a fent idézett hibát.
Át kell alakítanod egy változóba az inputtext-et mégpedig így:
 
new value = strval(inputtext);

 
Majd a value nevezetû változó fogja tárolni a számot és ezt használhatod fel.
 
if(value == 12)