Raised This Month: $ Target: $400
 0% 

New Semiclip Method


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
zombieplague
Veteran Member
Join Date: Apr 2009
Old 12-06-2009 , 19:28   Re: New Semiclip Method
Reply With Quote #1

How do i change the colour?
zombieplague is offline
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 12-18-2009 , 01:25   Re: New Semiclip Method
Reply With Quote #2

Seems that if you set semiclip at right times, damage is enabled, names show fine.
Dunno with that rotating entities bug, please try this version :

Code may need some adjustements (restore check could be useless for example), just wanna let you guys test it.

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

new const VERSION[] = "0.7.0"

const MAX_PLAYERS 32

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

public plugin_init()
{
    
register_plugin("Semiclip"VERSION"ConnorMcLeod")

    
register_forward(FM_AddToFullPack"FM_client_AddToFullPack_Post"1)

    
RegisterHam(Ham_Player_PreThink"player""Ham_CBasePlayer_PreThink_Post"1)
}

public 
FM_client_AddToFullPack_Post(eseiEntidhostflagsplayerpSet)
{
    if( 
player && id != iEnt && get_orig_retval() && is_user_alive(id) )
    {
        
set_es(esES_SolidSOLID_NOT)

        static 
Float:flDistance
        flDistance 
entity_range(idiEnt)
        if( 
flDistance 512.0 )
        {
            
set_es(esES_RenderModekRenderTransAlpha)
            
set_es(esES_RenderAmtfloatround(flDistance)/2)
        }
    }
}

public 
Ham_CBasePlayer_PreThink_Post(id)
{
    if( !
is_user_alive(id) )
    {
        return
    }

    
RefreshPlayersList()

    for(
0i<g_iNumi++)
    {
        
g_iPlayer g_iPlayers[i]
        if( 
id != g_iPlayer )
        {
            
set_pev(g_iPlayerpev_solidSOLID_NOT)
        }
    }
}

public 
client_PostThink(id)
{
    if( !
is_user_alive(id) )
    {
        return
    }

    
RefreshPlayersList()

    for(
0i<g_iNumi++)
    {
        
g_iPlayer g_iPlayers[i]
        if( 
g_iPlayer != id )
        {
            
set_pev(g_iPlayerpev_solidSOLID_SLIDEBOX)
        }
    }

Attached Files
File Type: sma Get Plugin or Get Source (semiclip.sma - 2090 views - 1.5 KB)
__________________
- tired and retired -

- my plugins -

Last edited by ConnorMcLeod; 02-07-2010 at 10:09.
ConnorMcLeod is offline
-=hunter=-
Senior Member
Join Date: Jul 2008
Old 02-08-2010 , 12:37   Re: New Semiclip Method
Reply With Quote #3

Quote:
Originally Posted by ConnorMcLeod View Post
Seems that if you set semiclip at right times, damage is enabled, names show fine.
Dunno with that rotating entities bug, please try this version :

Code may need some adjustements (restore check could be useless for example), just wanna let you guys test it.

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

new const VERSION[] = "0.7.0"

const MAX_PLAYERS 32

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

public plugin_init()
{
    
register_plugin("Semiclip"VERSION"ConnorMcLeod")

    
register_forward(FM_AddToFullPack"FM_client_AddToFullPack_Post"1)

    
RegisterHam(Ham_Player_PreThink"player""Ham_CBasePlayer_PreThink_Post"1)
}

public 
FM_client_AddToFullPack_Post(eseiEntidhostflagsplayerpSet)
{
    if( 
player && id != iEnt && get_orig_retval() && is_user_alive(id) )
    {
        
set_es(esES_SolidSOLID_NOT)

        static 
Float:flDistance
        flDistance 
entity_range(idiEnt)
        if( 
flDistance 512.0 )
        {
            
set_es(esES_RenderModekRenderTransAlpha)
            
set_es(esES_RenderAmtfloatround(flDistance)/2)
        }
    }
}

public 
Ham_CBasePlayer_PreThink_Post(id)
{
    if( !
is_user_alive(id) )
    {
        return
    }

    
RefreshPlayersList()

    for(
0i<g_iNumi++)
    {
        
g_iPlayer g_iPlayers[i]
        if( 
id != g_iPlayer )
        {
            
set_pev(g_iPlayerpev_solidSOLID_NOT)
        }
    }
}

public 
client_PostThink(id)
{
    if( !
is_user_alive(id) )
    {
        return
    }

    
RefreshPlayersList()

    for(
0i<g_iNumi++)
    {
        
g_iPlayer g_iPlayers[i]
        if( 
g_iPlayer != id )
        {
            
set_pev(g_iPlayerpev_solidSOLID_SLIDEBOX)
        }
    }

Wow, thank you very much, ConnorMcLeod.
I think this is a very best semiclip for KZ server.
-=hunter=- is offline
Send a message via ICQ to -=hunter=- Send a message via Skype™ to -=hunter=-
hostingguy
Member
Join Date: Jan 2008
Old 06-20-2010 , 04:54   Re: New Semiclip Method
Reply With Quote #4

with this code

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

new const VERSION[] = "0.7.0" 

const MAX_PLAYERS 32 

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

public plugin_init() 

    
register_plugin("Semiclip"VERSION"ConnorMcLeod"

    
register_forward(FM_AddToFullPack"FM_client_AddToFullPack_Post"1

    
RegisterHam(Ham_Player_PreThink"player""Ham_CBasePlayer_PreThink_Post"1


public 
FM_client_AddToFullPack_Post(eseiEntidhostflagsplayerpSet

    if( 
player && id != iEnt && get_orig_retval() && is_user_alive(id) ) 
    { 
        
set_es(esES_SolidSOLID_NOT

        static 
Float:flDistance 
        flDistance 
entity_range(idiEnt
        if( 
flDistance 512.0 
        { 
            
set_es(esES_RenderModekRenderTransAlpha
            
set_es(esES_RenderAmtfloatround(flDistance)/2
        } 
    } 


public 
Ham_CBasePlayer_PreThink_Post(id

    if( !
is_user_alive(id) ) 
    { 
        return 
    } 

    
RefreshPlayersList() 

    for(
0i<g_iNumi++) 
    { 
        
g_iPlayer g_iPlayers[i
        if( 
id != g_iPlayer 
        { 
            
set_pev(g_iPlayerpev_solidSOLID_NOT
        } 
    } 


public 
client_PostThink(id

    if( !
is_user_alive(id) ) 
    { 
        return 
    } 

    
RefreshPlayersList() 

    for(
0i<g_iNumi++) 
    { 
        
g_iPlayer g_iPlayers[i
        if( 
g_iPlayer != id 
        { 
            
set_pev(g_iPlayerpev_solidSOLID_SLIDEBOX
        } 
    } 

</SPAN>

how do i make it so that all players render at the normal amount and do not go invisible ?

I just want to be able to run through them and not change the way they are seen.
</SPAN>
hostingguy is offline
Pamaliska
Senior Member
Join Date: Apr 2006
Location: Edinburgh, UK
Old 12-18-2009 , 05:25   Re: New Semiclip Method
Reply With Quote #5

No team check? Ts can go through CTs? It also causes damage on a moving entity.

Last edited by Pamaliska; 12-18-2009 at 06:04.
Pamaliska is offline
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 01-22-2010 , 01:36   Re: New Semiclip Method
Reply With Quote #6

Quote:
Originally Posted by Pamaliska View Post
No team check? Ts can go through CTs? It also causes damage on a moving entity.
For team semiclip, try this :

Command : team_semiclip <0/1/2/3> 1:Ts , 2:CTs, 3:Both
Attached Files
File Type: sma Get Plugin or Get Source (team_semiclip.sma - 4069 views - 3.6 KB)
__________________
- tired and retired -

- my plugins -
ConnorMcLeod is offline
winds
Member
Join Date: Aug 2010
Old 12-15-2010 , 01:38   Re: New Semiclip Method
Reply With Quote #7

Quote:
Originally Posted by ConnorMcLeod View Post
For team semiclip, try this :

Command : team_semiclip <0/1/2/3> 1:Ts , 2:CTs, 3:Both
Is there a way to make this one work with the zombie mod? I tried it but it glitches. Some rounds everyone can go through each other, some rounds it doesn't work at all. All trying this same on the same map with team_semiclip set to 2
But when I tried this on a regular cs server on cs_assault it worked perfectly.

Last edited by winds; 12-15-2010 at 01:45.
winds is offline
Pamaliska
Senior Member
Join Date: Apr 2006
Location: Edinburgh, UK
Old 02-08-2010 , 09:52   Re: New Semiclip Method
Reply With Quote #8

This new revision fixed the name display bug; however, all other one remained unfixed (rotating entity stops rotating when two players are on it, players get hurt when on a moving entity).
Pamaliska is offline
KadiR
Unnecessary Member
Join Date: Aug 2008
Location: Zürich / Switzerland
Old 06-20-2010 , 15:54   Re: New Semiclip Method
Reply With Quote #9

Quote:
Originally Posted by Pamaliska View Post
This new revision fixed the name display bug; however, all other one remained unfixed (rotating entity stops rotating when two players are on it, players get hurt when on a moving entity).
KadiR is offline
-=hunter=-
Senior Member
Join Date: Jul 2008
Old 02-09-2010 , 12:27   Re: New Semiclip Method
Reply With Quote #10

I tested semiclip in risk_inertia and found bug - when several players moves near rotating entity then this entity stops while moving players near this entity.
-=hunter=- is offline
Send a message via ICQ to -=hunter=- Send a message via Skype™ to -=hunter=-
Reply



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 14:55.


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