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

Возврат от CHECK_ENTITY

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

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


Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [pawn], в противном случае, если тег [pawn] не отображает ваш код, можно использовать тег [code].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник плагина.

Возврат от CHECK_ENTITY

Сообщение 9iky6 » 22 дек 2012, 20:56

Какой возврат делает CHECK_ENTITY в случае удачи? Что-то никак не могу понять :(
Аватара пользователя
9iky6
 
Сообщения: 2174
Зарегистрирован: 30 янв 2012, 19:07
Откуда: Россия
Благодарил (а): 375 раз.
Поблагодарили: 707 раз.

Re: Возврат от CHECK_ENTITY

Сообщение quckly » 22 дек 2012, 21:25

Код: Выделить всё
bool IS_VALID_ENT(const edict_t* ent)
{
   if(FNullEnt(ent))
   {
      return false;
   }

   int iEnt = ENTINDEX(ent);
   if (iEnt < 1 || iEnt > gpGlobals->maxEntities)
      return false;

   if (iEnt <= gpGlobals->maxClients)
   {
      if (!MF_IsPlayerIngame(iEnt)) // amxx
      {
         return false;
      }
   }

   return true;
}

bool IS_VALID_ENT(const int index)
{
   if (index < 1 || index > gpGlobals->maxEntities)
      return false;

   if (index <= gpGlobals->maxClients)
   {
      if (!MF_IsPlayerIngame(index)) // amxx
      {
         return false;
      }
   } else {
      if (FNullEnt(INDEXENT(index)))
      {
         return false;
      }
   }

   return true;
}
Аватара пользователя
quckly
Скриптер
 
Сообщения: 403
Зарегистрирован: 20 ноя 2009, 10:03
Благодарил (а): 41 раз.
Поблагодарили: 243 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Counter-Strike 1.6

Re: Возврат от CHECK_ENTITY

Сообщение 9iky6 » 22 дек 2012, 21:46

quckly, но вот непосредственно тут я не наблюдаю этого о_О:

[pawn]
  1. #define CHECK_ENTITY(x) \

  2.         if (x < 0 || x > gpGlobals->maxEntities) { \

  3.                 MF_LogError(amx, AMX_ERR_NATIVE, "Entity out of range (%d)", x); \

  4.                 return 0; \

  5.         } else { \

  6.                 if (x <= gpGlobals->maxClients) { \

  7.                         if (!MF_IsPlayerIngame(x)) { \

  8.                                 MF_LogError(amx, AMX_ERR_NATIVE, "Invalid player %d (not in-game)", x); \

  9.                                 return 0; \

  10.                         } \

  11.                 } else { \

  12.                         if (x != 0 && FNullEnt(INDEXENT(x))) { \

  13.                                 MF_LogError(amx, AMX_ERR_NATIVE, "Invalid entity %d", x); \

  14.                                 return 0; \

  15.                         } \

  16.                 } \

  17.         }
[/pawn]
Хотя на деле возврат походе именно тот, который ты сказал :(
Аватара пользователя
9iky6
 
Сообщения: 2174
Зарегистрирован: 30 янв 2012, 19:07
Откуда: Россия
Благодарил (а): 375 раз.
Поблагодарили: 707 раз.

Re: Возврат от CHECK_ENTITY

Сообщение quckly » 22 дек 2012, 21:53

9iky6, true
Аватара пользователя
quckly
Скриптер
 
Сообщения: 403
Зарегистрирован: 20 ноя 2009, 10:03
Благодарил (а): 41 раз.
Поблагодарили: 243 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Counter-Strike 1.6


Вернуться в Скриптинг

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8