(ZP) Как добавить эффекты к гранатам для ZP?
Как добавить эффекты к гранатам для ZP?
Для начала открываем исходник главного мода, у меня это "zombie_plague40."
(1). После того как мы открыли исходник главного мода, ищем такие строчки как:
// CS sounds
new const sound_flashlight() = "items/flashlight1.wav"
new const sound_buyammo() = "items/9mmclip1.wav"
new const sound_armorhit() = "player/bhit_helmet-1.wav"
new const sound_flashlight() = "items/flashlight1.wav"
new const sound_buyammo() = "items/9mmclip1.wav"
new const sound_armorhit() = "player/bhit_helmet-1.wav"
Ниже добавляем следующую строку:
new g_fireexp
Должно получится вот так:
// CS sounds
new const sound_flashlight() = "items/flashlight1.wav"
new const sound_buyammo() = "items/9mmclip1.wav"
new const sound_armorhit() = "player/bhit_helmet-1.wav"
new g_fireexp
new const sound_buyammo() = "items/9mmclip1.wav"
new const sound_armorhit() = "player/bhit_helmet-1.wav"
new g_fireexp
(2). Далее ищем:
// Custom sprites for grenades
g_exploSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_ring)
g_flameSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_fire)
g_smokeSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_smoke)
g_glassSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_glass)
g_exploSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_ring)
g_flameSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_fire)
g_smokeSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_smoke)
g_glassSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_glass)
Ниже добавляем:
g_fireexp = precache_model("sprites/Ваш спрайт.spr")
Должно получится вот так:
// Custom sprites for grenades
g_exploSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_ring)
g_flameSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_fire)
g_smokeSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_smoke)
g_glassSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_glass)
g_fireexp = precache_model("sprites/Ваш спрайт.spr")
g_exploSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_ring)
g_flameSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_fire)
g_smokeSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_smoke)
g_glassSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_glass)
g_fireexp = precache_model("sprites/Ваш спрайт.spr")
(3). Далее ищем:
// Fire Grenade: Fire Blast
create_blast2(const Float:originF(3))
{
{
Ниже добавляем:
// Fire Sprite
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte (TE_SPRITE) // TE ID
engfunc(EngFunc_WriteCoord, originF(0)) // Position X
engfunc(EngFunc_WriteCoord, originF(1)) // Y
engfunc(EngFunc_WriteCoord, originF(2) + 50.0) // Z
write_short(g_fireexp) // Sprite index
write_byte(30) // Size of sprite
write_byte(180) // Framerate
message_end()
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte (TE_SPRITE) // TE ID
engfunc(EngFunc_WriteCoord, originF(0)) // Position X
engfunc(EngFunc_WriteCoord, originF(1)) // Y
engfunc(EngFunc_WriteCoord, originF(2) + 50.0) // Z
write_short(g_fireexp) // Sprite index
write_byte(30) // Size of sprite
write_byte(180) // Framerate
message_end()
Все, со спрайтом взрыва закончено.
Теперь делаем осколки.
(1). Находим:
new g_fireexp
Ниже добавляем:
new g_fire_gibs
(2). Далее находим:
g_fireexp = precache_model("sprites/Ваш спрайт.spr")
Ниже добавляем:
g_fire_gibs = precache_model("sprites/Ваш спрайт.spr")
(3). Находим:
// Fire Grenade Explosion
fire_explode(ent)
{
{
После строк:
// Make the explosion
create_blast3(originF)
create_blast3(originF)
Добавляем следующие:
message_begin (MSG_BROADCAST,SVC_TEMPENTITY)
write_byte( TE_SPRITETRAIL ) // Throws a shower of sprites or models
engfunc(EngFunc_WriteCoord, originF( 0 )) // start pos
engfunc(EngFunc_WriteCoord, originF( 1 ))
engfunc(EngFunc_WriteCoord, originF( 2 ) + 200.0)
engfunc(EngFunc_WriteCoord, originF( 0 )) // velocity
engfunc(EngFunc_WriteCoord, originF( 1 ))
engfunc(EngFunc_WriteCoord, originF( 2 ) + 30.0)
write_short(g_fire_gibs) // spr
write_byte(60) // (count)
write_byte(random_num(27,30)) // (life in 0.1's)
write_byte(2) // byte (scale in 0.1's)
write_byte(50) // (velocity along vector in 10's)
write_byte(10) // (randomness of velocity in 10's)
message_end()
write_byte( TE_SPRITETRAIL ) // Throws a shower of sprites or models
engfunc(EngFunc_WriteCoord, originF( 0 )) // start pos
engfunc(EngFunc_WriteCoord, originF( 1 ))
engfunc(EngFunc_WriteCoord, originF( 2 ) + 200.0)
engfunc(EngFunc_WriteCoord, originF( 0 )) // velocity
engfunc(EngFunc_WriteCoord, originF( 1 ))
engfunc(EngFunc_WriteCoord, originF( 2 ) + 30.0)
write_short(g_fire_gibs) // spr
write_byte(60) // (count)
write_byte(random_num(27,30)) // (life in 0.1's)
write_byte(2) // byte (scale in 0.1's)
write_byte(50) // (velocity along vector in 10's)
write_byte(10) // (randomness of velocity in 10's)
message_end()
Минимальная длина комментария - 50 знаков. комментарии модерируются
Смотрите также:
(ZP) Как сделать эффект к гранате Infection для ZP 4.3
(ZP) Как сделать эффект к гранате Infection для ZP 4.3?
Как добавить P модель в zombie plague?
В данной статье, я расскажу, как добавить в исходник плагина zombie plague гранату с P моделей.