Szerző Téma: Dialog Input - csak számot írhat be  (Megtekintve 699 alkalommal)

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Dialog Input - csak számot írhat be
« Dátum: 2013. Június 22. - 14:31:10 »
0 Show voters
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.

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
Dialog Input - csak számot írhat be
« Válasz #1 Dátum: 2013. Június 22. - 14:39:14 »
0 Show voters
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.

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Dialog Input - csak számot írhat be
« Válasz #2 Dátum: 2013. Június 22. - 14:44:55 »
0 Show voters
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\")

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Dialog Input - csak számot írhat be
« Válasz #3 Dátum: 2013. Június 22. - 15:11:17 »
0 Show voters
if(IsNumeric(inputtext) && inputtext > 0)

 
esetleg így?

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Dialog Input - csak számot írhat be
« Válasz #4 Dátum: 2013. Június 22. - 15:27:45 »
0 Show voters
é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.

Dialog Input - csak számot írhat be
« Válasz #5 Dátum: 2013. Június 22. - 19:41:54 »
0 Show voters
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)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal