Half-Life и Adrenaline Gamer форум
http://www.aghl.ru/forum/

спрайты дыма за ракетой
http://www.aghl.ru/forum/viewtopic.php?f=42&t=3213
Страница 1 из 1

Автор:  Виталий [ 26 фев 2021, 04:28 ]
Заголовок сообщения:  спрайты дыма за ракетой

Здраствуйте, подскажите, кто знает, пожалуста, как правильно реализовать дым, который оставляет летящая ракета , TE_BIMFOLOW не подходит, нужно чтоб за ракетой оставались именно много отдельных спрайтов. вот мои попытки, крашащие сервер :

public Rocket_FlyThink(const iRocket,id)
{
static Float: flDmgTime;
static Float: flGameTime;
static Float: vecOrigin[3];

pev(iRocket, pev_origin, vecOrigin);

pev(iRocket, pev_dmgtime, flDmgTime);
set_pev(iRocket, pev_nextthink, (flGameTime = get_gametime()) + 0.03);

engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, vecOrigin, 0);
write_byte(TE_SPRITE);
engfunc(EngFunc_WriteCoord, vecOrigin[0]);
engfunc(EngFunc_WriteCoord, vecOrigin[1]);
engfunc(EngFunc_WriteCoord, vecOrigin[2]);
write_short(pSprite); // index of precached sprite
write_byte(10);
write_byte(7); // 0.1's
message_end();

if (flDmgTime <= flGameTime)
{
set_pev(iRocket, pev_movetype, MOVETYPE_TOSS);
set_pev(iRocket, pev_gravity, 0.4);
}
}

Автор:  Glaster [ 26 фев 2021, 14:13 ]
Заголовок сообщения:  Re: спрайты дыма за ракетой

Думаю сервер просто перегружается : ты заставляешь ракету думать аж каждые 0.03 секунды, а при каждом think-e шлётся мессага. С такой частотой отправляемых сообщений не удивительно, что сервер крашится.

Может снизить частоту обновлений? Или, например, изменить модель самой ракеты, чтобы у неё изначально был дымовой хвост?
Можно ещё так попробовать: находим координаты ракеты каждые n милискеунд, создаем там энтити, задаём ей текстуру дыма (или что там есть) , а через какое -то время удаляем (тем же think-ом например)

Автор:  Виталий [ 26 фев 2021, 18:10 ]
Заголовок сообщения:  Re: спрайты дыма за ракетой

Glaster писал(а):
Думаю сервер просто перегружается : ты заставляешь ракету думать аж каждые 0.03 секунды, а при каждом think-e шлётся мессага. С такой частотой отправляемых сообщений не удивительно, что сервер крашится.

Может снизить частоту обновлений? Или, например, изменить модель самой ракеты, чтобы у неё изначально был дымовой хвост?
Можно ещё так попробовать: находим координаты ракеты каждые n милискеунд, создаем там энтити, задаём ей текстуру дыма (или что там есть) , а через какое -то время удаляем (тем же think-ом например)
нет ! сервак крашится и-за того, что с кодом что-то не так, показ спрайтов даже не начинается, и посмотри на спорометатель- там тоже самое -вызов спрайта каждые 0.03 сек и всё нормально, а если к модели ракеты спрайт приделать то будет фигня-от лица стреляющего спрайт плоский.добавнять ещё и энтити с тектурой- это ещё больше будет нагружать чем спрайт без энтити

Автор:  Виталий [ 27 фев 2021, 00:13 ]
Заголовок сообщения:  Re: спрайты дыма за ракетой

Виталий писал(а):
Glaster писал(а):
Думаю сервер просто перегружается : ты заставляешь ракету думать аж каждые 0.03 секунды, а при каждом think-e шлётся мессага. С такой частотой отправляемых сообщений не удивительно, что сервер крашится.

Может снизить частоту обновлений? Или, например, изменить модель самой ракеты, чтобы у неё изначально был дымовой хвост?
Можно ещё так попробовать: находим координаты ракеты каждые n милискеунд, создаем там энтити, задаём ей текстуру дыма (или что там есть) , а через какое -то время удаляем (тем же think-ом например)
нет ! сервак крашится и-за того, что с кодом что-то не так, показ спрайтов даже не начинается, и посмотри на спорометатель- там тоже самое -вызов спрайта каждые 0.03 сек и всё нормально, а если к модели ракеты спрайт приделать то будет фигня-от лица стреляющего спрайт плоский.добавнять ещё и энтити с тектурой- это ещё больше будет нагружать чем спрайт без энтити
тема закрыта, решение найдено.

Автор:  Glaster [ 27 фев 2021, 09:24 ]
Заголовок сообщения:  Re: спрайты дыма за ракетой

Виталий писал(а):
тема закрыта, решение найдено.
Как решил, если не секрет?

Автор:  Виталий [ 01 мар 2021, 17:15 ]
Заголовок сообщения:  Re: спрайты дыма за ракетой

Glaster писал(а):
Виталий писал(а):
тема закрыта, решение найдено.
Как решил, если не секрет?
также как и выше вызовом эффекта по статичным векторным координатам, но не вызов спрайта а вызов взрыва(без звука, частиц,подсветки), отсюда следовала проблема- траектория спрайтов рисовалась выше траектории полёта ракеты, решение- специально созданный спрайт для этой цели

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/