Русское сообщество по скриптингу

[ПРОЧИТАЙ!] run time error, invalid player, invalid entity

Все вопросы по работе и настройке AMXX и его плагинов.

Модератор: liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.

[ПРОЧИТАЙ!] run time error, invalid player, invalid entity

Сообщение Subb98 » 13 фев 2014, 15:01

В последнее время пользователи зачастили создавать топики с просьбами помочь устранить в плагинах ошибки, типа: run time error, invalid player, invalid entity и т.п. У всех подобных ошибок имеется одно общее решение.

Если это игрок, то проверка на его подключение:

Код: Выделить всё
is_user_connected(id)

Если же это объект, то проверка на его валидность:

Код: Выделить всё
is_valid_ent(pEnt) // engine
pev_valid(pEnt) // fakemeta  

Примеры:
Пример 1. Код подсчёта кол-ва Террористов. Ошибочный код:

Код: Выделить всё
new iT;
for(
new i = 1 ; i <= get_maxplayers(); i++)
        if(cs_get_user_team(i) == CS_TEAM_T) iT++;

Верный код:

Код: Выделить всё
new iT;
for(
new i = 1 ; i <= get_maxplayers(); i++)
        if(is_user_connected(i) && cs_get_user_team(i) == CS_TEAM_T) iT++;

Пример 2. Получаем владельца объекта, прибавляем ему определённое кол-во фрагов. Ошибочный код:

Код: Выделить всё
new pOwner = pev(pEnt, pev_owner);
set_user_frags(pOwner, get_user_frags(pOwner) + 10);

Верный код:

Код: Выделить всё
new pOwner pev(pEntpev_owner);
if(!
pev_valid(pOwner)) return;
set_user_frags(pOwnerget_user_frags(pOwner) + 10); 

Т.к. пользователи не особо утруждают себя использовать Вы должны зарегистрироваться, чтобы видеть ссылки. перед созданием аналогичных топиков, то предлагаю более не давать готовых решений, а прикреплять ссылку на данную тему.
Последний раз редактировалось Subb98 13 фев 2014, 15:24, всего редактировалось 1 раз.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 4776
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1262 раз.
Поблагодарили: 2166 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn, PHP

Re: [ПРОЧИТАЙ!] run time error, invalid player, invalid enti

Сообщение Rejiser » 13 фев 2014, 15:38

Закрепил в соответствующем разделе.
Аватара пользователя
Rejiser
 
Сообщения: 2934
Зарегистрирован: 03 сен 2010, 16:23
Благодарил (а): 215 раз.
Поблагодарили: 674 раз.
Языки программирования: Counter-Strike 1.6


Вернуться в Вопросы по AMXX и его плагинам

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 1