Zumbis Online
Últimos assuntos
» [ZP AMXX] CSO Shop Costumes
por Eclipse 13/12/2017, 9:32 pm

» Servidores da P[c]T eGames
por scho 3/12/2017, 4:22 pm

» (Ajuda) ZM VIP com Status do Perfect por Menssagem para Dono tambem!
por scho 26/11/2017, 9:09 am

» Voltei ao fórum
por zgd.dll 25/11/2017, 12:20 am

» plugin gamemode infection
por cancels 21/11/2017, 10:22 pm

» plugin ap force_jump
por cancels 21/11/2017, 9:29 pm

» plugin gamemode sniper
por cancels 21/11/2017, 7:58 pm

» plugin class zm_climb
por [P]erfec[T] [S]cr[@]s[H] 17/11/2017, 5:46 pm

» plugin item t-virus
por [P]erfec[T] [S]cr[@]s[H] 17/11/2017, 5:39 pm

» Hide Sheek Supply Box
por cancels 12/11/2017, 9:00 pm

Frases filosóficas Zplague:
....
Os membros mais ativos da semana
Eclipse
 

Adsense

[ZP] Destruir granadas ao chegar perto

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[ZP] Destruir granadas ao chegar perto

Mensagem por [D]etonado[R] em 8/11/2013, 10:57 am



Quando um HE granada explode, ele também detona granadas que estão nas proximidades. Como no video acima


Cvars:



  • hdg_affect_radius - afetam raio. Padrão 350.


  • hdg_survival_chance - uma chance (default 3% (+ alguma chance randomizado distância)) para uma granada para sobreviver a uma explosão de uma granada HE nas proximidades. Defina 0 para desabilitado


Sma:

Código:
#include <amxmodx>
#include <fakemeta>
#include <engine>

#define FL_EXPLODED      FL_IMMUNE_SLIME

#define m_usEvent      114
#define XO_WEAPON      4

#define HEGRENADE      (1<<0)
#define SMOKENADE      (1<<1)

new cvar_AffectRadius, cvar_SurvivalChance

public plugin_init()
{
   register_plugin("HEs destroy grenades", "1.0", "beast")
   
   register_think("grenade", "ThinkGrenade")
   
   cvar_AffectRadius = register_cvar("hdg_affect_radius", "350")
   cvar_SurvivalChance = register_cvar("hdg_survival_chance", "3")
}

public ThinkGrenade(he)
{
   // ent not valid or not a HE
   if(!pev_valid(he) || ~get_pdata_int(he, m_usEvent, XO_WEAPON) & HEGRENADE)
      return PLUGIN_CONTINUE
      
   static flags
   
   flags = pev(he, pev_flags)
   
   // grenade has exploded
   if(flags & FL_EXPLODED)
      return PLUGIN_CONTINUE
   
   static Float:dmgTime
   
   pev(he, pev_dmgtime, dmgTime)
   
   // not ready to explode yet
   if(dmgTime > get_gametime())
      return PLUGIN_CONTINUE
   
   // marking the grenade as exploded
   set_pev(he, pev_flags, flags | FL_EXPLODED)
   
   static nearbyNades[32], count, nearbyNade, Float:affectRadius, survivalChance,
   Float:originHe[3], Float:originNearbyNade[3]
   
   affectRadius = get_pcvar_float(cvar_AffectRadius)
   survivalChance = get_pcvar_num(cvar_SurvivalChance)
   
   pev(he, pev_origin, originHe)
   
   // finding nearby grenades
   count = find_sphere_class(he, "grenade", affectRadius, nearbyNades, charsmax(nearbyNades))

   for(new i = 0; i < count; i++)
   {
      nearbyNade = nearbyNades[i]
      
      if(nearbyNade == he)
         continue

      if(survivalChance)
      {
         pev(nearbyNade, pev_origin, originNearbyNade)
         
         // grenade has a chance to survive
         if(random_float(0.0, 100.0) <= survivalChance + // some distance randomness
         get_distance_f(originHe, originNearbyNade) * random_float(0.0, 5.0) / affectRadius)
            continue
      }
      
      // detonating he and flashbang
      set_pev(nearbyNade, pev_dmgtime, 0.0)

      // detonating smokenade
      if(get_pdata_int(nearbyNade, m_usEvent, XO_WEAPON) & SMOKENADE)
      {
         set_pev(nearbyNade, pev_flags, pev(nearbyNade, pev_flags) | FL_ONGROUND)
         dllfunc(DLLFunc_Think, nearbyNade)
      }
   }
   
   return PLUGIN_CONTINUE
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1063\\ f0\\ fs16 \n\\ par }
*/

____________________________________________

avatar
[D]etonado[R]
Humano
Humano

Nick : [D]etonado[R]
Masculino Número de Mensagens : 625
Ammo Packs : 1709
Honra : 20
Data de inscrição : 17/10/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [ZP] Destruir granadas ao chegar perto

Mensagem por Leozinho em 8/11/2013, 11:12 am

Legal o plugin.

____________________________________________

avatar
Leozinho
Administrador
Administrador

Masculino Número de Mensagens : 2856
Ammo Packs : 2875
Honra : 75
Data de inscrição : 20/11/2011

Ver perfil do usuário leozinho.zp

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum