[Modificare] Plugin [Rezolvat]

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
diavolu111
Membru, skill +1
Membru, skill +1
Posts: 419
Joined: 11 Oct 2014, 18:18
Detinator Steam: Da
Fond eXtream: 0
Location: Alba Iulia
Has thanked: 28 times
Been thanked: 6 times
Contact:

02 Apr 2020, 14:16

Salutare. Folosesc acest plugin semiclip, merge bine, singura problema e ca poti trece si prin adversari...

Code: Select all

#include <amxmodx>
#include <engine>
#include <fun>
#include <fakemeta>
#include <hamsandwich>

new const VERSION[] = "1.2"
new hologramas
new semiclip
const MAX_PLAYERS = 32

new g_iPlayers[MAX_PLAYERS], g_iNum, g_iPlayer, i
new const g_szAliveFlags[] = "a"
#define RefreshPlayersList()    get_players(g_iPlayers, g_iNum, g_szAliveFlags)

public plugin_init()


{    
    hologramas = register_cvar("hologram","0")
    semiclip = register_cvar("semiclip","1") 
    register_plugin("Hologram", VERSION, "G.")
    register_forward(FM_AddToFullPack, "FM_client_AddToFullPack_Post", 1)
    RegisterHam(Ham_Player_PreThink, "player", "Ham_CBasePlayer_PreThink_Post", 1)
}





public FM_client_AddToFullPack_Post(es, e, iEnt, id, hostflags, player, pSet)
{
    if( player && id != iEnt && get_orig_retval() && is_user_alive(id) )
    {
        if( get_pcvar_num(semiclip) == 1)
        {
            set_es(es, ES_Solid, SOLID_NOT)
	}
	if( get_pcvar_num(hologramas) == 1 )
        {
            set_es(es, ES_RenderMode, kRenderTransAdd)
            set_es(es, ES_RenderAmt, 80)
            set_es(es, ES_RenderColor, 0, 0, 0)
            set_es(es, ES_RenderFx, kRenderFxDistort)
        } 
        if(is_user_alive(id) && get_pcvar_num(semiclip) == 0 )
        {
            set_pev(id, pev_solid, SOLID_SLIDEBOX)
        }     

    }
   
}

public Ham_CBasePlayer_PreThink_Post(id)
{
    if( !is_user_alive(id)  )
    {
        return
    }
    if(get_pcvar_num(semiclip) == 1)
    {    
    RefreshPlayersList()

    for(i = 0; i<g_iNum; i++)
    {
        g_iPlayer = g_iPlayers[i]
        if( id != g_iPlayer )
        {
            set_pev(g_iPlayer, pev_solid, SOLID_NOT)
        }
    }
    }

}

public client_PostThink(id)
{
    if( !is_user_alive(id) )
    {
        return
    }
    if(get_pcvar_num(semiclip) == 1)
    { 
    RefreshPlayersList()

    for(i = 0; i<g_iNum; i++)
    {
        g_iPlayer = g_iPlayers[i]
        if( g_iPlayer != id )
        {
            set_pev(g_iPlayer, pev_solid, SOLID_SLIDEBOX)
        }
    }
    }

}
Se poate face ca anti-block-ul sa fie doar pentru echipa nu si pentru adversari? Multumesc.
RoyalServer 2
User avatar
LNd #
Membru, skill +1
Membru, skill +1
Posts: 126
Joined: 07 Sep 2017, 23:33
Detinator Steam: Da
SteamID: eXeDLL [1337]
Fond eXtream: 0
Has thanked: 3 times
Been thanked: 9 times

04 Apr 2020, 20:13

Code: Select all

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

#define PLUGIN "Semiclip"
#define VERSION "1.31"
#define AUTHOR "AMXX DeV TeaM"

new bool:plrSolid[33]
new bool:plrRestore[33]
new plrTeam[33]

new maxplayers

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_forward(FM_PlayerPreThink, "preThink")
    register_forward(FM_PlayerPostThink, "postThink")
    
    register_forward(FM_AddToFullPack, "addToFullPack", 1)
    
    maxplayers = get_maxplayers()
}

public addToFullPack(es, e, ent, host, hostflags, player, pSet)
{
    if(player)
    {
        if(plrSolid[host] && plrSolid[ent] && plrTeam[host] == plrTeam[ent])
        {
            set_es(es, ES_Solid, SOLID_NOT)
            set_es(es, ES_RenderMode, kRenderTransAlpha)
            set_es(es, ES_RenderAmt, 85)
        }
    }
}

FirstThink()
{
    for(new i = 1; i <= maxplayers; i++)
    {
        if(!is_user_alive(i))
        {
            plrSolid[i] = false
            continue
        }
        
        plrTeam[i] = get_user_team(i)
        plrSolid[i] = pev(i, pev_solid) == SOLID_SLIDEBOX ? true : false
    }
}

public preThink(id)
{
    static i, LastThink
    
    if(LastThink > id)
    {
        FirstThink()
    }
    LastThink = id

    
    if(!plrSolid[id]) return
    
    for(i = 1; i <= maxplayers; i++)
    {
        if(!plrSolid[i] || id == i) continue
        
        if(plrTeam[i] == plrTeam[id])
        {
            set_pev(i, pev_solid, SOLID_NOT)
            plrRestore[i] = true
        }
    }
}

public postThink(id)
{
    static i
    
    for(i = 1; i <= maxplayers; i++)
    {
        if(plrRestore[i])
        {
            set_pev(i, pev_solid, SOLID_SLIDEBOX)
            plrRestore[i] = false
        }
    }
}
Legends never die
diavolu111
Membru, skill +1
Membru, skill +1
Posts: 419
Joined: 11 Oct 2014, 18:18
Detinator Steam: Da
Fond eXtream: 0
Location: Alba Iulia
Has thanked: 28 times
Been thanked: 6 times
Contact:

05 Apr 2020, 15:17

mersi, se poate da TC
User avatar
WHOAMI?
eXtream Mod
eXtream Mod
Posts: 999
Joined: 17 Dec 2013, 19:51
Detinator Steam: Da
Reputatie: eXtream Mod
Fost Membru Club eXtreamCS (o luna)
Location: US
Has thanked: 30 times
Been thanked: 20 times

05 Apr 2020, 16:13

diavolu111 wrote:
05 Apr 2020, 15:17
mersi, se poate da TC
Marcat ca Rezolvat.
Post Reply

Return to “Modificari pluginuri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 7 guests