Approved Fire Nade Effects

Plug-ins compatibility with Zombie Escape 1.x only!


Post Reply
User avatar
Raheem
Mod Developer
Mod Developer
Posts: 2214
Joined: 7 years ago
Contact:

Fire Nade Effects

#1

Post by Raheem » 7 years ago

Fire Nade Effects

Description:
  • Simple plugin that will add nice Effects for Fire Nade, So this will add in general Trail for the Grenade and there is Explosion Effect but it will appear only if the nade hit the zombies which mean when they get burn the effect will appear (This may reduce effect lag in case of it's not zombie).
Installation & Instructions:
  • Simply install it like any plugin but don't forget to copy sound and sprites folder to your server.
Changelog:
  • Spoiler!
    Version: 1.0
    • First Release.
    Version: 1.1 [Current Version]
    • Code optimized to use ReAPI engine functions.
Screenshots:
  • 1.png
    2.png
    3.png
    4.png
    5.png
    6.png
Downloads:
He who fails to plan is planning to fail

User avatar
OxiCorm
Member
Member
Posts: 33
Joined: 7 years ago
Contact:

#2

Post by OxiCorm » 7 years ago

Nice plugin raheem ilove ur work and ihope u start to learn pawn iwill the first one who follow u ur work and ur explaining its so easy love ubro

User avatar
Raheem
Mod Developer
Mod Developer
Posts: 2214
Joined: 7 years ago
Contact:

#3

Post by Raheem » 7 years ago

OxiCorm wrote: 7 years ago Nice plugin raheem ilove ur work and ihope u start to learn pawn iwill the first one who follow u ur work and ur explaining its so easy love ubro
I'll make videos for PAWN language this is my next project but this project will started when i finish this term i'am studing. These videos will be in arabic language for all arabs to learn this language and i'll try make things very easy with our language.
He who fails to plan is planning to fail

User avatar
Night Fury
Mod Developer
Mod Developer
Posts: 677
Joined: 7 years ago
Contact:

#4

Post by Night Fury » 7 years ago

In line 61, you added return PLUGIN_CONTINUE .. It's useless.
----------------------------------------------------------------------------------------------
For people who wanna use many sounds, do below:

1-Find:
    1. new const g_szSndExplosion[] = "new_exp1.wav"

    Change to:

    1. new const g_szSndExplosion[][] =
    2. {
    3.     "new_exp1.wav",
    4.     "new_exp2.wav",
    5.     "new_exp3.wav"
    6. }

    And you can add more.
2-Find: 3-Find:
    1. emit_sound(iEnt, CHAN_AUTO, g_szSndExplosion, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)

    Change to:

    1. emit_sound(iEnt, CHAN_AUTO, random_num(0, sizeof(g_szSndExplosion)), VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
----------------------------------------------------------------------------------------------
You done! :D
Want your own mod edition? PM me.
Accepting private projects.
Discord: Fury#7469
Image

User avatar
Raheem
Mod Developer
Mod Developer
Posts: 2214
Joined: 7 years ago
Contact:

#5

Post by Raheem » 7 years ago

-If you don't return PLUGIN_CONTINUE the zombies won't get fired. This is an pre_fire Forward which is very important to return a value on it.

-Nice Edit so the final code will be:

  1. #include <zombie_escape>
  2.  
  3. new const g_szSndExplosion[][] =
  4. {
  5.     "new_exp1.wav",
  6.     "new_exp2.wav"
  7. }
  8.  
  9. enum _:Sprites
  10. {
  11.     SPRITE_BEAM,
  12.     SPRITE_EXPLOSION,
  13.     SPRITE_EXPLOSION2,
  14.     SPRITE_SMOKE,
  15.     SPRITE_CYLINDER,
  16.     SPRITE_FLARE,
  17. }
  18.  
  19. new g_iSprites[Sprites]
  20.  
  21. public plugin_precache()
  22. {
  23.     for(new i = 0; i <= sizeof(g_szSndExplosion); i++)
  24.         precache_sound(g_szSndExplosion[i])
  25.    
  26.     g_iSprites[SPRITE_SMOKE] = precache_model("sprites/black_smoke4.spr")
  27.     g_iSprites[SPRITE_BEAM] = precache_model("sprites/new_trail_1.spr")
  28.     g_iSprites[SPRITE_EXPLOSION] = precache_model("sprites/new_explosion_1.spr")
  29.     g_iSprites[SPRITE_EXPLOSION2] = precache_model("sprites/new_explosion_2.spr")
  30.     g_iSprites[SPRITE_CYLINDER] = precache_model("sprites/white.spr")
  31.     g_iSprites[SPRITE_FLARE] = precache_model("sprites/3dmflaora.spr")
  32. }
  33.  
  34. public plugin_init()
  35. {
  36.     register_plugin("[ZE] FireNade Effects", "1.0", "Raheem")
  37. }
  38.  
  39. public grenade_throw(id, iEnt, iWeapon)
  40. {
  41.     switch(iWeapon)
  42.     {
  43.         case CSW_HEGRENADE:
  44.         {
  45.             UTIL_BeamFollow(iEnt, g_iSprites[SPRITE_BEAM], 12, 40, 255, 128, 0, 255)
  46.             UTIL_BeamFollow(iEnt, g_iSprites[SPRITE_BEAM], 8, 30, 255, 135, 40, 150)
  47.             UTIL_BeamFollow(iEnt, g_iSprites[SPRITE_BEAM], 5, 5, 255, 255, 255, 255)
  48.         }
  49.     }
  50. }
  51.  
  52. public ze_fire_pre(iEnt)
  53. {
  54.     emit_sound(iEnt, CHAN_AUTO, random_num(0, sizeof(g_szSndExplosion)), VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
  55.            
  56.     UTIL_Explosion(iEnt, g_iSprites[SPRITE_EXPLOSION], 50, 30, 4)
  57.     UTIL_Explosion(iEnt, g_iSprites[SPRITE_EXPLOSION2], 50, 10, 4)
  58.            
  59.     UTIL_Smoke(iEnt, g_iSprites [SPRITE_SMOKE], 30, 30)
  60.     UTIL_Smoke(iEnt, g_iSprites[SPRITE_SMOKE], 15, 25)
  61.            
  62.     UTIL_DLight(iEnt, 80, 255, 128, 0, 50, 40 );
  63.     UTIL_BeamCylinder(iEnt, g_iSprites[SPRITE_CYLINDER], 0, 6, 20, 255, 255, 128, 0, 255, 0)
  64.     UTIL_SpriteTrail(iEnt, g_iSprites[SPRITE_FLARE], 15, 3, 3, 50, 0)
  65.    
  66.     return PLUGIN_CONTINUE
  67. }
  68.    
  69. UTIL_BeamCylinder(iEnt, iSprite, iFramerate, iLife, iWidth, iAmplitude, iRed, iGreen, iBlue, iBright, iSpeed)
  70. {
  71.     new Float:vOrigin[3]
  72.     pev(iEnt, pev_origin, vOrigin)
  73.    
  74.     message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  75.     write_byte(TE_BEAMCYLINDER)
  76.     engfunc(EngFunc_WriteCoord, vOrigin[0])
  77.     engfunc(EngFunc_WriteCoord, vOrigin[1])
  78.     engfunc(EngFunc_WriteCoord, vOrigin[2] + 10)
  79.     engfunc(EngFunc_WriteCoord, vOrigin[0] );
  80.     engfunc(EngFunc_WriteCoord, vOrigin[1] + 400)
  81.     engfunc(EngFunc_WriteCoord, vOrigin[2] + 400)
  82.     write_short(iSprite)
  83.     write_byte(0)
  84.     write_byte(iFramerate)
  85.     write_byte(iLife)
  86.     write_byte(iWidth)
  87.     write_byte(iAmplitude)
  88.     write_byte(iRed)
  89.     write_byte(iGreen)
  90.     write_byte(iBlue)
  91.     write_byte(iBright)
  92.     write_byte(iSpeed)
  93.     message_end()
  94. }
  95.    
  96. UTIL_BeamFollow(iEnt, iSprite, iLife, iWidth, iRed, iGreen, iBlue, iBright)
  97. {
  98.     message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  99.     write_byte(TE_BEAMFOLLOW)
  100.     write_short(iEnt)
  101.     write_short(iSprite)
  102.     write_byte(iLife)
  103.     write_byte(iWidth)
  104.     write_byte(iRed)
  105.     write_byte(iGreen)
  106.     write_byte(iBlue)
  107.     write_byte(iBright)
  108.     message_end()
  109. }
  110.  
  111. UTIL_DLight(iEnt, iRadius, iRed, iGreen, iBlue, iLife, iDecay)
  112. {
  113.     new Float:vOrigin[3]
  114.     pev(iEnt, pev_origin, vOrigin)
  115.    
  116.     message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  117.     write_byte(TE_DLIGHT)
  118.     engfunc(EngFunc_WriteCoord, vOrigin[0])
  119.     engfunc(EngFunc_WriteCoord, vOrigin[1])
  120.     engfunc(EngFunc_WriteCoord, vOrigin[2])
  121.     write_byte(iRadius)
  122.     write_byte(iRed)
  123.     write_byte(iGreen)
  124.     write_byte(iBlue)
  125.     write_byte(iLife)
  126.     write_byte(iDecay)
  127.     message_end()
  128. }
  129.  
  130. UTIL_Explosion(iEnt, iSprite, iScale, iFramerate, Flags)
  131. {
  132.     new Float:vOrigin[3]
  133.     pev(iEnt, pev_origin, vOrigin)
  134.    
  135.     message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  136.     write_byte( TE_EXPLOSION )
  137.     engfunc(EngFunc_WriteCoord, vOrigin[0])
  138.     engfunc(EngFunc_WriteCoord, vOrigin[1])
  139.     engfunc(EngFunc_WriteCoord, vOrigin[2])
  140.     write_short(iSprite)
  141.     write_byte(iScale)
  142.     write_byte(iFramerate)
  143.     write_byte(Flags)
  144.     message_end()
  145. }
  146.  
  147. UTIL_SpriteTrail(iEnt, iSprite, iCount, iLife, iScale, iVelocity, iVary)
  148. {
  149.     new Float:vOrigin[3]
  150.     pev(iEnt, pev_origin, vOrigin)
  151.    
  152.     message_begin( MSG_BROADCAST, SVC_TEMPENTITY)
  153.     write_byte(TE_SPRITETRAIL)
  154.     engfunc(EngFunc_WriteCoord, vOrigin[0])
  155.     engfunc(EngFunc_WriteCoord, vOrigin[1])
  156.     engfunc(EngFunc_WriteCoord, vOrigin[2] + 100)
  157.     engfunc(EngFunc_WriteCoord, vOrigin[0] + random_float(-200.0, 200.0))
  158.     engfunc(EngFunc_WriteCoord, vOrigin[1] + random_float(-200.0, 200.0))
  159.     engfunc(EngFunc_WriteCoord, vOrigin[2])
  160.     write_short(iSprite)
  161.     write_byte(iCount)
  162.     write_byte(iLife)
  163.     write_byte(iScale)
  164.     write_byte(iVelocity)
  165.     write_byte(iVary)
  166.     message_end()
  167. }
  168.  
  169. UTIL_Smoke(iEnt, iSprite, iScale, iFramerate)
  170. {
  171.     new Float:vOrigin[3]
  172.     pev(iEnt, pev_origin, vOrigin)
  173.    
  174.     message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  175.     write_byte(TE_SMOKE)
  176.     engfunc(EngFunc_WriteCoord, vOrigin[0])
  177.     engfunc(EngFunc_WriteCoord, vOrigin[1])
  178.     engfunc(EngFunc_WriteCoord, vOrigin[2])
  179.     write_short( iSprite)
  180.     write_byte(iScale)
  181.     write_byte(iFramerate)
  182.     message_end()
  183. }
He who fails to plan is planning to fail

User avatar
Raheem
Mod Developer
Mod Developer
Posts: 2214
Joined: 7 years ago
Contact:

#6

Post by Raheem » 6 years ago

New version available: 1.1
He who fails to plan is planning to fail

Post Reply

Create an account or sign in to join the discussion

You need to be a member in order to post a reply

Create an account

Not a member? register to join our community
Members can start their own topics & subscribe to topics
It’s free and only takes a minute

Register

Sign in

Who is online

Users browsing this forum: No registered users and 0 guests