HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Скорость исчезновения хулла у трупов (https://hlfx.ru/forum/showthread.php?threadid=4563)
Отправлено JPEG 24-03-2015 в 01:19:
Скорость исчезновения хулла у трупов
Убиваем, например, солдата монтировкой на близком расстоянии, он падает замертво, мы быстро пытаемся пройти вперёд - сквозь него, пока он валяется, но первую секунду сталкиваемся с невидимой преградой, его хуллом. Как ускорить исчезновение этого хулла?
__________________
МОЙ НОВЫЙ ПАБЛИК ПО ХЛ))
Отправлено XaeroX 24-03-2015 в 08:56:
Убирать его не при DEAD_DEAD, а при DEAD_DYING.
__________________
Отправлено ~ X ~ 24-03-2015 в 13:26:
pev->solid что-ли?
Кстати, моменты смерти у монстров отследить довольно трудно. Там есть некоторая хитрость... с секвенсами 
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
Отправлено XaeroX 24-03-2015 в 13:48:
~ X ~
Хитрость в том, что моменты эти находятся в обработчиках task-ов.
__________________
Отправлено Ku2zoff 24-03-2015 в 17:49:
Когда-то я сделал так, что хулл пропадал сразу, как только монстр умирал. Достали хедкрабы в вентиляциях, которые мешали проползать быстро после их убийства. Уже и не вспомню, где что изменил, но я копал и CBaseMonster::Killed, и CBaseMonster::BecomeDead.
Нашёл! У меня вот такие изменения в коде есть:
1. schedule.cpp
C++ Source Code:
void CBaseMonster :: RunTask ( Task_t *pTask ) |
в оригинале код такой:
C++ Source Code:
3 | // a bit of a hack. If a corpses' bbox is positioned such that being left solid so that it can be attacked will |
4 | // block the player on a slope or stairs, the corpse is made nonsolid. |
5 | // pev->solid = SOLID_NOT; |
6 | UTIL_SetSize ( pev, Vector ( -4, -4, 0 ), Vector ( 4, 4, 1 ) ); |
8 | else // !!!HACKHACK - put monster in a thin, wide bounding box until we fix the solid type/bounding volume problem |
9 | UTIL_SetSize ( pev, Vector ( pev->mins.x, pev->mins.y, pev->mins.z ), Vector ( pev->maxs.x, pev->maxs.y, pev->mins.z + 1 ) ); |
А у меня:
C++ Source Code:
SetThink(&CBaseMonster :: CorpseFallThink ); |
2. defaultai.cpp
C++ Source Code:
Schedule_t* CBaseMonster :: GetScheduleOfType ( int Type ) |
оригинал:
C++ Source Code:
у меня:
C++ Source Code:
UTIL_SetSize(pev, g_vecZero, g_vecZero ); |
Отправлено JPEG 08-06-2015 в 19:32:
Цитата:
Ku2zoff писал:
только сейчас дошли руки до этого, всё вроде работает, спасибо 
__________________
МОЙ НОВЫЙ ПАБЛИК ПО ХЛ))