HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <sourcemod>
  2. #include <sdktools>
  3.  
  4. #define PLUGIN_VERSION "1.0"
  5.  
  6. public Plugin:myinfo =
  7. {
  8. name = "Player Explode",
  9. author = "TechKnow & Twilight Suzuka",
  10. description = "Felrobban a jatekos amikor meghal!",
  11. version = "1.0",
  12. url = "http://www.sourcemod.net/"
  13. };
  14.  
  15. new Handle:Cvar_ExplodeEnable = INVALID_HANDLE;
  16.  
  17. new orange;
  18. new g_HaloSprite;
  19. new g_ExplosionSprite;
  20.  
  21. public OnPluginStart()
  22. {
  23. CreateConVar("sm_playerexplode_version", PLUGIN_VERSION, "Player Explode Version", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY)
  24.  
  25. Cvar_ExplodeEnable = CreateConVar("explode_on", "1", "robbanas effect ki/be kapcsolasa! (alap 1 -bekapcsolva)", FCVAR_PLUGIN|FCVAR_REPLICATED|FCVAR_NOTIFY);
  26.  
  27. HookEventEx("player_death", Explode, EventHookMode_Pre);
  28. }
  29.  
  30. public OnMapStart()
  31. {
  32. orange=PrecacheModel("materials/sprites/fire2.vmt");
  33. g_HaloSprite = PrecacheModel("materials/sprites/halo01.vmt");
  34. g_ExplosionSprite = PrecacheModel("sprites/sprite_fire01.vmt");
  35. PrecacheSound( "ambient/explosions/explode_8.wav", true);
  36. }
  37.  
  38. public Action:Explode(Handle:event, const String:name[], bool:dontBroadcast)
  39. {
  40. if (!GetConVarBool(Cvar_ExplodeEnable))
  41. {
  42. return Plugin_Continue;
  43. }
  44. new id = GetClientOfUserId(GetEventInt(event,"userid"));
  45.  
  46. if (IsClientInGame(id))
  47. {
  48. ExplodePlayer(id);
  49. }
  50.  
  51. return Plugin_Continue;
  52. }
  53.  
  54. stock ExplodePlayer(id)
  55. {
  56. decl Float:location[3]
  57. GetClientAbsOrigin(id, location);
  58.  
  59. Explode1(location);
  60. Explode2(location);
  61. }
  62.  
  63. public Explode1(Float:vec1[3])
  64. {
  65. new color[4]={188,220,255,200};
  66. Boom("ambient/explosions/explode_8.wav", vec1);
  67. TE_SetupExplosion(vec1, g_ExplosionSprite, 10.0, 1, 0, 600, 5000);
  68. TE_SendToAll();
  69. TE_SetupBeamRingPoint(vec1, 10.0, 500.0, orange, g_HaloSprite, 0, 10, 0.6, 10.0, 0.5, color, 10, 0);
  70. TE_SendToAll();
  71. }
  72.  
  73. public Explode2(Float:vec1[3])
  74. {
  75. vec1[2] += 10;
  76. Boom("ambient/explosions/explode_8.wav", vec1);
  77. TE_SetupExplosion(vec1, g_ExplosionSprite, 10.0, 1, 0, 600, 5000);
  78. TE_SendToAll();
  79. }
  80.  
  81. public Boom(const String:sound[],const Float:orig[3])
  82. {
  83. EmitSoundToAll(sound,SOUND_FROM_WORLD,SNDCHAN_AUTO,SNDLEVEL_NORMAL,SND_NOFLAGS,SNDVOL_NORMAL,SNDPITCH_NORMAL,-1,orig,NULL_VECTOR,true,0.0);
  84. }