Guten Tag
Crahsdetect gibt mir den Fehler wieder, der verursacht wird, weil ich ein Array überschreite (oder unterschreite?). Nur weiß ich nicht genau an welcher stelle dies Geschieht.
Ich weiß das es in diesem Abschnitt passieren muss:
new Query[100];
format(Query,sizeof(Query),"SELECT * FROM `accounts` WHERE `Nickname` = '%s'", pName[playerid]);
mysql_query(Query);
mysql_store_result();
while(mysql_fetch_row(Query, "|"))
{
sscanf(Query, "p<|>{is[30]s[35]}s[15]iiiiliiiiiliiffffffiiiiiiii{iiiiiiiiiiiiiiiiiiiiiiiiii}lls[100]s[20]s[20]iils[20]s[15]iiiiis[75]s[30]iiis[15]",
Spieler[playerid][RegDate], Spieler[playerid][Zivilskin], Spieler[playerid][Fraktionsskin], Spieler[playerid][Duty], Spieler[playerid][Adminlvl], Spieler[playerid][Leaderverwaltung], Spieler[playerid][Bargeld], Spieler[playerid][Bankgeld], Spieler[playerid][Konto],
Spieler[playerid][Level], Spieler[playerid][Fraktion], Spieler[playerid][Leader], Spieler[playerid][Rang], Spieler[playerid][Spawnchange], Spieler[playerid][Leben], Spieler[playerid][Armour], Spieler[playerid][LastX], Spieler[playerid][LastY],
Spieler[playerid][LastZ], Spieler[playerid][LastA], Spieler[playerid][LastInt], Spieler[playerid][LastVirt], Spieler[playerid][LastHour], Spieler[playerid][LastMinute], Spieler[playerid][LastSecond], Spieler[playerid][LastYear], Spieler[playerid][LastMonth],
Spieler[playerid][LastDay], Spieler[playerid][ban], Spieler[playerid][tban], Spieler[playerid][bangrund], Spieler[playerid][tbantime], Spieler[playerid][tbandate], Spieler[playerid][warns], Spieler[playerid][Tutorial], Spieler[playerid][Perso],
Spieler[playerid][Geschlecht], Spieler[playerid][GebDate], Spieler[playerid][Mute], Spieler[playerid][OOCMute], Spieler[playerid][Wanteds], Spieler[playerid][Wantedpoints], Spieler[playerid][Susptime],Spieler[playerid][Verbrechen], Spieler[playerid][Klaeger],
Spieler[playerid][Drogen], Spieler[playerid][Mats], Spieler[playerid][Handy], Spieler[playerid][Handynummer]);
}
mysql_free_result();
Dies ist der fehler:
Zitat[debug] Run time error 4: "Array index out of bounds"
[13:51:03] [debug] Accessing element at index 49 past array upper bound 29
[13:51:03] [debug] AMX backtrace:
[13:51:03] [debug] #0 001015bc in ?? () from Server.amx
[13:51:03] [debug] #1 00000035 in public OnDialogResponse () from Server.amx
Und um die Variablen richtig zu kontrollieren, hier meine enum:
enum AccountInfo //Allgemeine Account Info
{
Passwort[35],
RegDate[15],
Zivilskin,
Fraktionsskin,
Duty,
Adminlvl,
bool:Leaderverwaltung,
Bargeld,
Bankgeld,
Konto,
Level,
Fraktion,
bool:Leader,
Rang,
Spawnchange,
Float:Leben,
Float:Armour,
Float:LastX,
Float:LastY,
Float:LastZ,
Float:LastA,
LastInt,
LastVirt,
LastHour,
LastMinute,
LastSecond,
LastDay,
LastMonth,
LastYear,
bool:ban,
bool:tban,
bangrund[100],
tbantime[15],
tbandate[15],
warns,
Tutorial,
bool:Perso,
Geschlecht[20],
GebDate[15],
Mute,
OOCMute,
Wanteds,
Wantedpoints,
Verbrechen[75],
Klaeger[MAX_PLAYER_NAME],
Susptime,
Kanister,
Mats,
Drogen,
Handy,
Handynummer[15],
pWaffe[13],
pAmmo[13],
}
new Spieler[MAX_PLAYERS][AccountInfo];
Wäre gut wenn jemand den Fehler weiter eingrenzen könnte.
Liebe Grüße