Zumbis Online
Últimos assuntos
» Hide Sheek Supply Box
por [Dk]Serial-Killer Hoje à(s) 9:03 pm

» (Ajuda) Thunder Quando Zombie Infecta!
por Biel-oGrande 16/10/2017, 7:29 am

» [UTILITARIO] Bot Fake Spectador
por Eclipse 15/10/2017, 2:21 pm

» [PEDIDO] Plugin Quiz
por N0th1ng 12/10/2017, 1:55 pm

» [ZP] Banco de Ammopacks
por mito 12/10/2017, 10:32 am

» (Ajuda) Colocar Inatividade no Bank!
por mito 3/10/2017, 10:57 pm

» [Plugin] Dropar Ammo Packs
por Biel-oGrande 3/10/2017, 10:06 am

» [WOZ] World Of Zombies - ZP 2017 *(O MELHOR ZP DO BRASIL)*
por mito 2/10/2017, 4:33 pm

» Prazer Mito :)
por mito 2/10/2017, 4:13 pm

» [Plugin ZP] Perguntas e Respostas
por cancels 30/9/2017, 1:15 pm

Frases filosóficas Zplague:
....
Os membros mais ativos da semana
[Dk]Serial-Killer
 
Biel-oGrande
 
mito
 

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 : 1654
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 : 2820
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