Advertisement
Guest User

Untitled

a guest
Feb 19th, 2020
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <fakemeta>
  3. #tryinclude <biohazard>
  4.  
  5. #if !defined _biohazard_included
  6. #assert Biohazard functions file required!
  7. #endif
  8.  
  9. #define pev_flare pev_iuser4
  10. #define flare_id 1337
  11. #define is_ent_flare(%1) (pev(%1, pev_flare) == flare_id) ? 1 : 0
  12.  
  13. new const g_flare_model[] = "models/w_flare.mdl"
  14.  
  15. new cvar_smokeflare, cvar_smokeflare_dur
  16. public plugin_init()
  17. {
  18. register_plugin("smoke flare", "0.1", "mini_midget/cheap_suit")
  19. is_biomod_active() ? plugin_init2() : pause("ad")
  20. }
  21.  
  22. public plugin_precache()
  23. precache_model(g_flare_model)
  24.  
  25. public plugin_init2()
  26. {
  27. register_forward(FM_SetModel, "fwd_setmodel")
  28. register_forward(FM_Think, "fwd_think")
  29. cvar_smokeflare = register_cvar("bh_flare_enable", "1")
  30. cvar_smokeflare_dur = register_cvar("bh_flare_duration", "999.9")
  31. }
  32.  
  33. public fwd_setmodel(ent, const model[])
  34. {
  35. if(!pev_valid(ent) || !equal(model[9], "smokegrenade.mdl"))
  36. return FMRES_IGNORED
  37.  
  38. static classname[32]; pev(ent, pev_classname, classname, 31)
  39. if(equal(classname, "grenade") && get_pcvar_num(cvar_smokeflare))
  40. {
  41. engfunc(EngFunc_SetModel, ent, g_flare_model)
  42. set_pev(ent, pev_effects, EF_BRIGHTLIGHT)
  43. set_pev(ent, pev_flare, flare_id)
  44. set_pev(ent, pev_nextthink, get_gametime() + get_pcvar_float(cvar_smokeflare_dur))
  45. fm_set_rendering(ent, kRenderFxGlowShell, 150, 150, 250, kRenderNormal, 16)
  46.  
  47. return FMRES_SUPERCEDE
  48. }
  49. return FMRES_IGNORED
  50. }
  51.  
  52. public fwd_think(ent) if(pev_valid(ent) && is_ent_flare(ent))
  53. engfunc(EngFunc_RemoveEntity, ent)
  54.  
  55. stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16)
  56. {
  57. static Float:color[3]; color[2] = float(b), color[0] = float(r), color[1] = float(g)
  58.  
  59. set_pev(entity, pev_renderfx, fx)
  60. set_pev(entity, pev_rendercolor, color)
  61. set_pev(entity, pev_rendermode, render)
  62. set_pev(entity, pev_renderamt, float(amount))
  63.  
  64. return 1
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement