[ZP] Destruir granadas ao chegar perto Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

Zplague

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Seu portal de Zombie Plague no Brasil

Zumbis Online

Últimos assuntos

» [ANÚNCIO] Alguem vivo ai?
por Eclipse 17/9/2024, 6:39 pm

» The Fen1xS CLan | Zombie Plague | [XP/LEVELS] #2024
por hevy 5/7/2024, 8:28 pm

»
por Eclipse 29/2/2024, 12:30 am

» [Plugin] /vm Com Status
por Isr7 4/6/2023, 3:24 pm

» Alguém pra manter um servidor comigo?
por Isr7 3/6/2023, 4:52 pm

» Alguém querendo criar um servidor de zp? eu pago a host quem quiser deixar o discord ai Isr7#6920
por Isr7 3/6/2023, 3:18 pm

» PEDIDO: Multijump pros VIP
por Madness 15/3/2023, 3:44 pm

» [ZP] Modo padre para 5.0
por XperitosEspetinho123 15/7/2022, 3:31 pm

» [KZ] Servidores de cs 1.6
por [Dk]Serial-Killer 7/5/2022, 4:12 am

» [PLUGIN BY SKVD & WILLIAN] SHOP DE FANTASIAS
por dushowW 23/7/2020, 5:44 pm

Os membros mais ativos da semana

Nenhum usuário

Frases filosóficas Zplague:

....

Google Adsense

Estatísticas

Os nossos membros postaram um total de 38140 mensagens em 6680 assuntos

Temos 2796 usuários registrados

O último membro registrado é zmplugins - Henrique


2 participantes

    [ZP] Destruir granadas ao chegar perto

    [D]etonado[R]
    [D]etonado[R]
    Humano


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

    [ZP] Destruir granadas ao chegar perto Empty [ZP] Destruir granadas ao chegar perto

    Mensagem por [D]etonado[R] 8/11/2013, 3:57 pm



    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 }
    */
    Leozinho
    Leozinho
    Administrador


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

    [ZP] Destruir granadas ao chegar perto Empty Re: [ZP] Destruir granadas ao chegar perto

    Mensagem por Leozinho 8/11/2013, 4:12 pm

    Legal o plugin.

      Data/hora atual: 23/11/2024, 5:03 am