[AMXX] No Teamflash

Vaata eelmist teemat Vaata järgmist teemat Go down

Tonight
Tonight

[AMXX] No Teamflash Vetera11
Liitus : 19/02/2012
Postitusi : 17982

PostitamineTonight 02.11.12 16:45

[AMXX] No Teamflash Favo10

Kirjeldus: See plugin eemaldab teamflashimise võimaluse. Küll aga, saad sa ise ikkagi ennast kogemata flashida.

DOWNLOAD:

Attachments
[AMXX] No Teamflash Attachment
simple_no_team_flash.zip You don't have permission to download attachments.(4 Kb) Downloaded 188 times
NSA
NSA
Juunior
Liitus : 22/01/2013
Postitusi : 32

PostitamineNSA 12.04.13 20:54

Kuhu see installida tuleb.. :D
visahing1
visahing1
Juunior
Liitus : 29/04/2013
Postitusi : 15

Postitaminevisahing1 10.06.13 12:40

simple_no_team_flash.amxx läheb plugins kausta (kirjuta plugins.ini uus rida ka)
simple_no_team_flash.sma läheb Scripting kausta

Tänud, töötab :D !
Tonight
Tonight

[AMXX] No Teamflash Vetera11
Liitus : 19/02/2012
Postitusi : 17982

PostitamineTonight 01.04.15 20:23

Kui kellelgi esineb selle pluginaga probleeme, siis soovitan kasutada:
Kood:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

new const VERSION[] = "1.1.1"

const MAX_ENTSARRAYS_SIZE = 64

new g_bitGonnaExplode[MAX_ENTSARRAYS_SIZE]
#define SetGrenadeExplode(%1)        g_bitGonnaExplode[%1>>5] |=  1<<(%1 & 31)
#define ClearGrenadeExplode(%1)    g_bitGonnaExplode[%1>>5] &= ~( 1 << (%1 & 31) )
#define WillGrenadeExplode(%1)    g_bitGonnaExplode[%1>>5] &  1<<(%1 & 31)

const XTRA_OFS_PLAYER = 5
const m_iTeam = 114
#define cs_get_user_team_index(%1)    get_pdata_int(%1, m_iTeam, XTRA_OFS_PLAYER)

new Float:g_flCurrentGameTime, g_iCurrentFlasher, g_iCurrentFlashBang

new mp_friendlyfire

new g_iMaxPlayers
#define IsPlayer(%1)    ( 1 <= %1 <= g_iMaxPlayers )

public plugin_init()
{
    register_plugin("Anti Flashbang Bug", VERSION, "Numb / ConnorMcLeod")
   
    RegisterHam(Ham_Think, "grenade", "Ham__CGrenade_Think__Pre")
   
    register_forward(FM_FindEntityInSphere, "Fm__FindEntityInSphere__Pre")

    mp_friendlyfire = get_cvar_pointer("mp_friendlyfire")

    g_iMaxPlayers = get_maxplayers()
}

public Ham__CGrenade_Think__Pre( iEnt )
{
    static Float:flGameTime, Float:flDmgTime, iOwner
    flGameTime = get_gametime()
    pev(iEnt, pev_dmgtime, flDmgTime)
    if(    flDmgTime <= flGameTime
    &&    get_pdata_int(iEnt, 114) == 0 // has a bit when is HE or SMOKE
    &&    !(get_pdata_int(iEnt, 96) & (1<<8)) // has this bit when is c4
    &&    IsPlayer( (iOwner = pev(iEnt, pev_owner)) )    ) // if no owner grenade gonna be removed from world
    {
        if( ~WillGrenadeExplode(iEnt) ) // grenade gonna explode on next think
        {
            SetGrenadeExplode( iEnt )
        }
        else
        {
            ClearGrenadeExplode( iEnt )
            g_flCurrentGameTime = flGameTime
            g_iCurrentFlasher = iOwner
            g_iCurrentFlashBang = iEnt
        }
    }
}

public Fm__FindEntityInSphere__Pre(iStartEnt, Float:fVecOrigin[3], Float:flRadius)
{
    const Float:FLASHBANG_SEARCH_RADIUS = 1500.0
    if(    flRadius == FLASHBANG_SEARCH_RADIUS
    &&    get_gametime() == g_flCurrentGameTime    )
    {
        new id = iStartEnt, Float:fVecPlayerEyeOrigin[3], Float:flFraction, friendlyfire = get_pcvar_num(mp_friendlyfire)

        while( IsPlayer( (id=engfunc(EngFunc_FindEntityInSphere, id, fVecOrigin, flRadius)) ) )
        {
            if( is_user_alive(id) )
            {
                pev(id, pev_origin, fVecPlayerEyeOrigin)
                fVecPlayerEyeOrigin[2] += ((pev(id, pev_flags) & FL_DUCKING) ? 12.0 : 18.0)

                engfunc(EngFunc_TraceLine, fVecOrigin, fVecPlayerEyeOrigin, DONT_IGNORE_MONSTERS, g_iCurrentFlashBang, 0)

                get_tr2(0, TR_flFraction, flFraction)

                if( flFraction < 1.0 && get_tr2(0, TR_pHit) == id )
                {
                    engfunc(EngFunc_TraceLine, fVecPlayerEyeOrigin, fVecOrigin, DONT_IGNORE_MONSTERS, id, 0)
                    get_tr2(0, TR_flFraction, flFraction)
                    if(    flFraction == 1.0
                    &&    (    friendlyfire
                        ||    id == g_iCurrentFlasher
                        ||    cs_get_user_team_index(id) != cs_get_user_team_index(g_iCurrentFlasher)    ) )
                    {
                        forward_return(FMV_CELL, id)
                        return FMRES_SUPERCEDE
                    }
                }
            }
        }
        forward_return(FMV_CELL, 0)
        return FMRES_SUPERCEDE
    }
    return FMRES_IGNORED
}
Teamflashi ei ole juhul, kui mp_friendlyfire väärtus on 0

Vaata eelmist teemat Vaata järgmist teemat Tagasi üles

Soovid vestluses osaleda?

Selleks logi sisse või tee endale kasutaja.

Liitu foorumiga

Tee endale kasutaja ning osale aruteludes.


Tee uus kasutaja

Logi sisse

Omad foorumis juba kasutajat? Logi sisse.


Logi sisse

 
Permissions in this forum:
Sa ei saa vastata siinsetele teemadele