HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- (edict_s) Как достать Edict игрока ? (https://hlfx.ru/forum/showthread.php?threadid=3861)
Отправлено Andrei 28-03-2013 в 03:31:
Дядя Миша,но мне и надо узнать текущую пушку в руках и проверить еще значение iuser2. Факт в том,что в упдат посте,сервер падает с приведенным кодом выше,а в любой другой функции нормально.
Отправлено ONeiLL 28-03-2013 в 14:29:
Может ты просто скажешь что ты хочешь и всё? Что именно ты хочешь вот этим сделать?
Отправлено Andrei 28-03-2013 в 14:43:
C++ Source Code:
1 | void UpdateClientData_Post(const struct edict_s *ent, int sendweapons, struct clientdata_s *cd) |
3 | edict_t* pEntity = const_cast< edict_t * >( ent ); |
5 | if( pWeapon->v.iuser2 == 25 ) return; |
7 | cd->m_flNextAttack = gpGlobals->time + 0.001; |
9 | RETURN_META(MRES_IGNORED); |
Вот что я хочу. Но я не знаю как достать индекс пухи.
Отправлено ONeiLL 28-03-2013 в 14:48:
я не могу понять зачем это нужно
Отправлено Andrei 28-03-2013 в 15:31:
Я сохроняю в iuser моды оружия. Двух режимная пушка. Мне надо заблочить упдаст пост клиент,когда значение = 25,это я так проверяю мод.
Очень удобно просто сохронять в пуху,а не создавать 100500 массивов.
Отправлено Дядя Миша 28-03-2013 в 15:31:
Цитата:
Andrei писал:
Факт в том,что в упдат посте,сервер падает с приведенным кодом выше,а в любой другой функции нормально.
На NULL проверять не пробывал?
Отправлено Andrei 31-03-2013 в 10:41:
Заработало с помощью:
C++ Source Code:
1 | edict_t *GetPrivateCbase(edict_t *pEntity, int iOffset) |
4 | void *pPrivate = *((void **)((int *)(edict_t *)(INDEXENT(0) + ENTINDEX(pEntity))->pvPrivateData + iOffset)); |
11 | return PrivateToEdict(pPrivate); |
Подсказал: KORD_12.7
Отправлено marikcool 31-03-2013 в 13:00:
Это нужно чтобы на нулл проверить?
__________________
vk.com/skullcapstudios