|
|
Как заменить эффект взрыва на свой собсвтенный?
| |
HunteR4708 | Дата: Среда, 22.06.2011, 14:44 | Сообщение # 1 |
Newbie
Группа: Пользователи
Сообщений: 7
Репутация: 0
Статус: Offline
| Перекопал почти весь код и так и не нашел, как же все таки заменить стандартный (ужасный) эффект взрыва на свой собственный. Например у меня уже есть своя партикля dynamite_explosion.pcf и мне нужно чтобы она заменила собой этот стандартный (ужасный) взрыв, каждый раз, когда он происходит (пусть даже от гранаты) В explode.cpp есть что-то связанное с эффектами, но ни слова про партикли.
|
|
| |
Andreazzz | Дата: Среда, 22.06.2011, 16:46 | Сообщение # 2 |
Spy
Группа: Проверенные
Сообщений: 996
Репутация: 55
Статус: Offline
| Ты не думал попробовать заменить не в коде?
|
|
| |
HunteR4708 | Дата: Среда, 22.06.2011, 17:15 | Сообщение # 3 |
Newbie
Группа: Пользователи
Сообщений: 7
Репутация: 0
Статус: Offline
| Quote (Andreazzz) заменить не в коде? Просто текстуры? Это будет выглядеть конечно тоже хорошо, но партиклями можно добиться куда большего.
|
|
| |
Andreazzz | Дата: Среда, 22.06.2011, 18:36 | Сообщение # 4 |
Spy
Группа: Проверенные
Сообщений: 996
Репутация: 55
Статус: Offline
| Quote (HunteR4708) Просто текстуры? Это будет выглядеть конечно тоже хорошо, но партиклями можно добиться куда большего. Какие в жопу текстуры? Я про то, чтобы заменить оригинальный партикль огня!
|
|
| |
DetLeR | Дата: Среда, 22.06.2011, 20:30 | Сообщение # 5 |
Engineer
Группа: Администраторы
Сообщений: 1731
Статус: Offline
| Закоменть это в grenade_ar.cpp: Code CPASFilter filter( GetAbsOrigin() );
te->Explosion( filter, 0.0, &GetAbsOrigin(), g_sModelIndexFireball, 2.0, 15, TE_EXPLFLAG_NONE, m_DmgRadius, m_flDamage ); И вставь вот это: Code onst Vector &origin = GetAbsOrigin(); QAngle vecAngles;
DispatchParticleEffect( "grenade_explosion_01", origin, vecAngles ); В функции Precache того же файла всунь это: Code PrecacheParticleSystem( "grenade_explosion_01" ); И еще inclyde вверху вставь: Code #include "particle_parse.h" Добавлено (22.06.2011, 20:30) --------------------------------------------- Так по аналогии с другими взрывами у других энтитть, ну и конечно если у тебя другой партикл, то просто поменяй название.
|
|
| |
HunteR4708 | Дата: Среда, 22.06.2011, 20:54 | Сообщение # 6 |
Newbie
Группа: Пользователи
Сообщений: 7
Репутация: 0
Статус: Offline
| DetLeR, а если взрыв у гранаты ручной а не Arной и тем более не SMG1шной? Получится?
|
|
| |
DetLeR | Дата: Среда, 22.06.2011, 21:14 | Сообщение # 7 |
Engineer
Группа: Администраторы
Сообщений: 1731
Статус: Offline
| HunteR4708, по аналогии. Ищишь CPASFilter filter( GetAbsOrigin() ); и его атрибуты как я указал и меняешь на обозначение партикла. Да и вобще ищещь где рисуется ээфект и можешь менять его на партикл, вплоть от брызгов воды до искр от метала.
|
|
| |
HunteR4708 | Дата: Среда, 22.06.2011, 21:19 | Сообщение # 8 |
Newbie
Группа: Пользователи
Сообщений: 7
Репутация: 0
Статус: Offline
| DetLeR, в Ar2 заменил гранату, на этом спасибо (Откоментил тебе кредиты а вот в гранате (weapon_frag, weapon_grenade, grenadethrown и так далее) не наблюдаю CPASFilter filter( GetAbsOrigin() ); На сайте Interlopers.net лицезрел очень мелкий намек на все это дело, но так и не понял как реализовать. http://www.interlopers.net/forum/viewtopic.php?f=25&t=33589
P.S. Да, я нуб в программировании, но останавливатся не хочется
|
|
| |
DetLeR | Дата: Среда, 22.06.2011, 23:58 | Сообщение # 9 |
Engineer
Группа: Администраторы
Сообщений: 1731
Статус: Offline
| HunteR4708, C grenade_frag чуть сложнее. Там вызывается функцию напрямую из общего файла для грен. Будет время сделаю что б именно гренейд_фраг юзало партикл. Добавлено (22.06.2011, 23:58) --------------------------------------------- Хотя... Вот я проверил, вот тут меняй: void CBaseGrenade::Explode( trace_t *pTrace, int bitsDamageType ) В файле basegrenade_shared.cpp
|
|
| |
Strider | Дата: Четверг, 23.06.2011, 00:05 | Сообщение # 10 |
Spy
Группа: Проверенные
Сообщений: 1465
Репутация: 51
Статус: Offline
| Я уже пытался заменять и могу сказать одно - удалять функцию обычного взрыва нельзя, дамадж прописан в ней же. Так что аккуратнее
|
|
| |
DetLeR | Дата: Четверг, 23.06.2011, 11:02 | Сообщение # 11 |
Engineer
Группа: Администраторы
Сообщений: 1731
Статус: Offline
| Strider, зачем удалять..? Всего лишь закоментить несколько строк и вставить пару новых.
|
|
| |
Andreazzz | Дата: Четверг, 23.06.2011, 12:10 | Сообщение # 12 |
Spy
Группа: Проверенные
Сообщений: 996
Репутация: 55
Статус: Offline
| Quote (DetLeR) Strider, зачем удалять..? Всего лишь закоментить несколько строк и вставить пару новых. Нужно смотреть в сторону основных функций, а так проще поменять сам партикль взрыва, на собственный. А так это будет полезным: http://developer.valvesoftware.com/wiki/Particles_In_Code Quote (DetLeR) te->Explosion( filter, 0.0, &GetAbsOrigin(), g_sModelIndexFireball, 2.0, 15, TE_EXPLFLAG_NONE, m_DmgRadius, m_flDamage ); Если коментировать это, то у нас не будет взрыва и урона от него
|
|
| |
Strider | Дата: Четверг, 23.06.2011, 16:56 | Сообщение # 13 |
Spy
Группа: Проверенные
Сообщений: 1465
Репутация: 51
Статус: Offline
| Andreazzz, Именно это я и имею ввиду. Вызов te->Explosion отвечает и за урон и за вспышку и за звук. Ели его заменить на партикль - то будет просто партикль.
|
|
| |
DetLeR | Дата: Четверг, 23.06.2011, 18:09 | Сообщение # 14 |
Engineer
Группа: Администраторы
Сообщений: 1731
Статус: Offline
| Что мешает отдельными строками сделать эмитсаунд и урон...? =)
|
|
| |
Andreazzz | Дата: Четверг, 23.06.2011, 19:23 | Сообщение # 15 |
Spy
Группа: Проверенные
Сообщений: 996
Репутация: 55
Статус: Offline
| Quote (DetLeR) Что мешает отдельными строками сделать эмитсаунд и урон...? =) То, что есть ещё система осколок.
|
|
| |
Strider | Дата: Пятница, 24.06.2011, 00:20 | Сообщение # 16 |
Spy
Группа: Проверенные
Сообщений: 1465
Репутация: 51
Статус: Offline
| Можно же просто заменить глобальную функцию, зачем изобретать самокат с овальными колёсами..
|
|
| |
Andreazzz | Дата: Пятница, 24.06.2011, 12:37 | Сообщение # 17 |
Spy
Группа: Проверенные
Сообщений: 996
Репутация: 55
Статус: Offline
| Quote (Strider) с овальными колёсами А лучше с электромотором =)
|
|
| |
HunteR4708 | Дата: Пятница, 24.06.2011, 13:44 | Сообщение # 18 |
Newbie
Группа: Пользователи
Сообщений: 7
Репутация: 0
Статус: Offline
| Покопался поигрался, в итоге вместо обычного взрыва используется моя партикся (с уроном до сих пор) но действует только когда граната в полете. Когда она на земле или касается любой другой поверхности - обычный взрыв.
Ладно, тогда следующий вопрос - как называется та самая партикля взрыва? Я перерыл все .gcf файлы и нашел лишь малое кол-во подобных.
|
|
| |
Andreazzz | Дата: Пятница, 24.06.2011, 14:36 | Сообщение # 19 |
Spy
Группа: Проверенные
Сообщений: 996
Репутация: 55
Статус: Offline
| Quote (HunteR4708) Ладно, тогда следующий вопрос - как называется та самая партикля взрыва? Я перерыл все .gcf файлы и нашел лишь малое кол-во подобных. Ты открывай партикли и смотри =) Сложно не так ли?
Было отредактированно - Andreazzz - Пятница, 24.06.2011, 14:37 |
|
| |
DetLeR | Дата: Пятница, 24.06.2011, 15:35 | Сообщение # 20 |
Engineer
Группа: Администраторы
Сообщений: 1731
Статус: Offline
| HunteR4708, запускай игру с параметром -tools, выбирай партикл эдитор и просматривай партиклы в .pcf архивах.
|
|
| |
|
|
Помощь в разработке форума: HOMiE7 |
|
| |
|