Raised This Month: $ Target: $400
 0% 

[Metamod] Semiclip (v2.2)


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Adryyy
Member
Join Date: Oct 2011
Old 03-25-2020 , 06:38   Re: [Metamod] Semiclip (v2.2)
Reply With Quote #1

for drm(or not?) integration with this plugin isn't work!(for all types of amxx/metamod/engine)

Code:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <hamsandwich>

#define DENUMIRE ""

//i couldn't find them again..SRRY
#define PLUGIN ""
#define VERSION ""
#define AUTHOR ""//some edits..

#define MAX_ENTITYS 900+15*32
new bool:g_bPlayerInvisible[33],bool:g_bWaterInvisible[33],bool:g_bWaterEntity[MAX_ENTITYS],bool:g_bWaterFound,g_iSpectatedId[33];
new mf[125]

public plugin_init() {
    register_clcmd( "say /invis", "menuInvisDisplay" );
    register_clcmd( "say_team /invis", "menuInvisDisplay" );
    formatex(mf,charsmax(mf),"\r[\y%s\r] \w- Invizibilitate \y[\rFPS\y]^n^n",DENUMIRE)
    register_menucmd( register_menuid( mf ), 1023, "menuInvisAction" );
    register_forward( FM_AddToFullPack, "fwdAddToFullPack_Post", 1 );
    register_event( "SpecHealth2", "eventSpecHealth2", "bd" );
    RegisterHam(Ham_Spawn, "player", "fwdPlayerSpawnPost", 1);
}
public plugin_cfg( )
{//ss
    new ent = -1;
    while( ( ent = find_ent_by_class( ent, "func_water" ) ) != 0 )
    {
//       pev( ent, pev_skin ) ==  CONTENTS_WATER is also true on func_water entities
        
        if( !g_bWaterFound )	g_bWaterFound = true;

        g_bWaterEntity[ent] = true;
    }

    ent = -1;
    while( ( ent = find_ent_by_class( ent, "func_illusionary" ) ) != 0 )
    {
        if( pev( ent, pev_skin ) ==  CONTENTS_WATER )
        {
            if( !g_bWaterFound )	g_bWaterFound = true;
    
            g_bWaterEntity[ent] = true;
        }
    }
    
    ent = -1;
    while( ( ent = find_ent_by_class( ent, "func_conveyor" ) ) != 0 )
    {
        if( pev( ent, pev_spawnflags ) == 3 )
        {
            if( !g_bWaterFound )	g_bWaterFound = true;
    
            g_bWaterEntity[ent] = true;
        }
    }
}

public client_putinserver ( id )
{
	if(!is_user_connected(id)||is_user_bot(id)||is_user_hltv(id))	return

	set_task ( 7.5 , "menuInvisDisplay" , id );

	g_bPlayerInvisible [ id ] = false;
	g_bWaterInvisible [ id ] = false;
	g_iSpectatedId [ id ] = 0;
}

public fwdPlayerSpawnPost(iClient)	g_iSpectatedId[iClient] = 0;

public fwdAddToFullPack_Post( es_handle, e, ent, host, hostflags, player, pset )
{
    if( player && g_bPlayerInvisible[host] && host != ent && ent != g_iSpectatedId[host] && get_user_team(host) == get_user_team(ent) )
    {
        static const Float:corner[8][3] = 
        {
            { -4096.0, -4096.0, -4096.0 },
            { -4096.0, -4096.0, 4096.0 },
            { -4096.0, 4096.0, -4096.0 },
            { -4096.0, 4096.0, 4096.0 },
            { 4096.0, -4096.0, -4096.0 },
            { 4096.0, -4096.0, 4096.0 },
            { 4096.0, 4096.0, -4096.0 },
            { 4096.0, 4096.0, 4096.0 }
        };

        static const Float:map_distance = 7094.480108;
        
        static Float:origin[3];
        get_es( es_handle, ES_Origin, origin );
        
        static i;
        while( get_distance_f( origin, corner[i] ) > map_distance )	if( ++i >= sizeof( corner ) )	 i = 0;
        
        set_es( es_handle, ES_Origin, corner[i] );
        set_es( es_handle, ES_Effects, get_es( es_handle, ES_Effects ) | EF_NODRAW );
    }
    else if( g_bWaterInvisible[host] && g_bWaterEntity[ent])	 set_es( es_handle, ES_Effects, get_es( es_handle, ES_Effects ) | EF_NODRAW );
}
public eventSpecHealth2( id )	g_iSpectatedId[id] = read_data( 2 );
public menuInvisDisplay( id )
{
    static menu[256];
    new len = formatex( menu, charsmax(menu), "\r[\y%s\r] \w- Invizibilitate \y[\rFPS\y]^n^n",DENUMIRE );
    
    len += formatex( menu[len], charsmax(menu) - len, "\r1. \yCoechipieri: \w%s^n", g_bPlayerInvisible[id] ? "invizibili" : "vizibili" );
    
    if( g_bWaterFound )	len += formatex( menu[len], charsmax(menu) - len, "\r2. \yApa: \w%s^n", g_bWaterInvisible[id] ? "invizibila" : "vizibila" );
    else	len += formatex( menu[len], charsmax(menu) - len, "\r2. \yApa: \rNu exista pe aceasta mapa \w!^n" );

    len += formatex( menu[len], charsmax(menu) - len, "^n\r0. \yIesire" );
    
    show_menu( id, ( 1<<0 | 1<<1 | 1<<9 ), menu, -1 );
        
    return PLUGIN_HANDLED;
}
public menuInvisAction( id, key )
{
    switch( key )
    {
        case 0:
        {
            g_bPlayerInvisible[id] = !g_bPlayerInvisible[id];
            menuInvisDisplay( id );
        }
        case 1:
        {
            if( g_bWaterFound )	g_bWaterInvisible[id] = !g_bWaterInvisible[id];
            
            menuInvisDisplay( id );
        }
        case 9: show_menu( id, 0, "" );
    }
}
Adryyy is offline
Send a message via Yahoo to Adryyy Send a message via Skype™ to Adryyy
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 01:31.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode