Модератор
Скриптер
Проверенный
Участник
Пользователь
- Сообщения
- 1,292
- Реакции
- 2,288
- Помог
- 57 раз(а)
Albertio ufame в rt_core.sma есть код, отвечающий за удаление трупаМеня интересует этот параметр: rt_corpse_time
У меня установлено значение 30.0, и трупы никогда не исчезают...
Код:
if(g_eCvars[CORPSE_TIME] && !iActivator && get_entvar(iEnt, var_fuser4) < flGameTime)
{
UTIL_RemoveCorpses(iPlayer, DEAD_BODY_CLASSNAME);
return;
}
Тут либо недочёт, либо так и задумано. Труп не исчезнет через # секунд если будет лежать и никто его не пощупает, потому что в хуке ClCorpse не устанавливается var_nextthink. Нужно изначально установить синк на get_gametime() + g_eCvars[CORPSE_TIME], и не забывать его переустанавливать с скорректированным значением в случае, если кто-то например начал юзать труп, а потом перестал, и труп в результате опять переходит в "спящее состояние". Я не разбирался в схеме синка, если честно. Если там подразумевается что труп всё время тикает раз в 0.1 сек., то достаточно просто в ClCorpse засетать nextthink.