Перейти к содержанию
Авторизация  
Алексмаг

Ошибка Run time error 4: "Array index out of bounds"

Рекомендуемые сообщения

Алексмаг

[spoiler=код ошибки][[debug] Run time error 4: "Array index out of bounds"
[debug] Accessing element at index 8 past array upper bound 7
[debug] AMX backtrace:
[debug] #0 008b01e0 in public AloginAuth (playerid=0, inputtext[]=@00d5b100 "123456") at gamemodes\M-mod.pwn:50971

 

forward AloginAuth(playerid, inputtext[]);
public AloginAuth(playerid, inputtext[])
{
	new rows, fields;
	cache_get_data(rows, fields);
	if(!rows)
	{
		SendClientMessage(playerid, COLOR_GREY, "Неверный пароль");
		SetPVarInt(playerid, "attempt_pass", GetPVarInt(playerid, "attempt_pass") + 1);
		if(GetPVarInt(playerid, "attempt_pass") > 3)
		{
			DeletePVar(playerid, "attempt_pass");
			SKick(playerid, 2112);
		}
	}
	else
	{
	    new string[144];
		AdminLogged[playerid] = true;
		PI[playerid][pAdmin] = cache_get_row_int(0, 1, dbHandle);
		AdminInfo[playerid][admGoto] = cache_get_row_int(0, 6, dbHandle);
	    AdminInfo[playerid][admGethere] = cache_get_row_int(0, 7, dbHandle);
	    AdminInfo[playerid][admSpectate] = cache_get_row_int(0, 8, dbHandle);
	    AdminInfo[playerid][admTimeMin] = cache_get_row_int(0, 9, dbHandle);
		AdminInfo[playerid][admAlog] = cache_get_row_int(0, 10, dbHandle);

		if(!IsPlayerGrandAdmin(playerid))
		{
			if(PI[playerid][pSex] == 1) format(string, sizeof(string), "[A] %s %s[%i] авторизовался", admin_rank_name[PI[playerid][pAdmin]], GetName(playerid), playerid);
			else format(string, sizeof(string), "[A] %s %s[%i] авторизовалась", admin_rank_name[PI[playerid][pAdmin]], GetName(playerid), playerid);
			SendAdminMessage(COLOR_BLUE, string);
		}

		Iter_Add(Admins, playerid);

		new day, month, year;
  		getdate(year, month, day);
		mysql_format(dbHandle, string, 144, "UPDATE "T_ADMIN" SET `last_connect` = '%d.%d.%d' WHERE `name` = '%s' LIMIT 1", day, month, year, GetName(playerid));
		mysql_tquery(dbHandle, string, "", "");
	}
	return 1;
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
16Shadows

Вы пытаетесь получить доступ к 8 ячейке массива, хотя их всего семь.

Замените на строчке 50971

admin_rank_name[PI[playerid][pAdmin]]

На

admin_rank_name[PI[playerid][pAdmin]-1]

И на будущее, индексы массивов начинаются с 0, это нужно учитывать, если в качестве индекса используете переменную.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.