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.