Szerző Téma: Mi lehet ezzel a hiba?  (Megtekintve 585 alkalommal)

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
Mi lehet ezzel a hiba?
« Dátum: 2013. március 12. - 15:33:48 »
0 Show voters
Helló. Nos van egy olyan dialógusom, ha az illetõ beírja az inputtextbe egy tetszõleges számot akkor azt leelenõrízném, hogy numerikus szám-e, és ha igen akkor meg kiiratnám. Na ezzel csak annyi a gond, hogy egyszer kihoztam úgy, hogy nem volt error benne, viszont számra semmi szöveget nem adott, csak ha szöveget írtam be, akkor kiírta, hogy a 0-ás számra gondoltam. Ezért töröltem és átírtam újból az egészet, ám megint hibákba botlottam. Már legalább másfél órája próbálom egy erroron átvergõdni magam, de nem sikerül, átolvastam legalább 20 hasonló erroral témát, de semmi, inkább magamban szeretek rájönni az egészre, de itt most megakadtam.
A dialógus rész így néz ki:
 

if(dialogid == DIALOG_1)
   {
    if(!response) SendClientMessage(playerid,-1,\"Kiléptél a dialógusból\");
     {
      if(!IsNumeric(inputtext))
       {
        new string[50];
        new integer[55];
        integer/*[55]*/= strval(inputtext);
        format(string, sizeof(string), \"A szam a: %i\", integer);
        SendClientMessage(playerid, -1, string);
   }
     }
   }
   return 1;
// Az IsNumeric lekérdezése( Ez fölötte van) :
stock IsNumeric(const string[])
{
        for (new i = 0, j = strlen(string); i < j; i++) { if (string > \'9\' || string < \'0\') return 0; }
        return 1;
}

 
És az error amit kapok:
 
error 033: array must be indexed (variable \"integer\")

 
Amiután indexelem (azaz az integer résznél az így néz ki:
integer[55] = strval(inputtext);

), akkor ezt az errort kapom:
 error 032: array index out of bounds (variable \"integer\")

 
Én már elkínlódtam vele másfél órát és nem tudok rájönni akármilyen egyszerû is. Remélem tudtok segíteni. Elõre is köszönöm.
« Utoljára szerkesztve: 2013. március 12. - 15:35:41 írta SnooP »

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
Mi lehet ezzel a hiba?
« Válasz #1 Dátum: 2013. március 12. - 15:44:39 »
+1 Show voters

new integer;
integer = strval(inputtext);

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
Mi lehet ezzel a hiba?
« Válasz #2 Dátum: 2013. március 12. - 19:52:07 »
0 Show voters
Kösz kurta, mostmár nem errorozik (hogy mennyire hülye voltam, hogy erre nem gondoltam), viszont most is ugyan az a hiba merûl fel, hogy hiába írok dialógusba egy számot nem jeleníti meg SendClientMessage-nél. Ehhez valami ötlet? :-[

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
Mi lehet ezzel a hiba?
« Válasz #3 Dátum: 2013. március 12. - 20:26:08 »
+1 Show voters
if(!IsNumeric(inputtext))

 
Ezzel tagadsz, tehát azt kérdezed le, hogy az inputtext NEM ÁLL-E számokból.

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
Mi lehet ezzel a hiba?
« Válasz #4 Dátum: 2013. március 12. - 20:55:19 »
0 Show voters
Ah, értem mostmár én azt hittem, hogy ha az egész elõtt \'!\' jel van leelenõrzi, hogy szám-e és nem azt, hogy tagadja.
Na teszteltem nem mûködött, aztán rájöttem, hogy elõtte a responset is tagadtam szóval azért nem ment. Megoldódott a téma nagyon szépen köszönöm mindkettõtöknek a választ, és elnézést, hogy ennyire banális dologok nem mennek, de majd idõvel.  ;)
Köszönöm mégegyszer. Megoldódott, így zárom.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal