Sorry for double post :/
I remembered that xPaw's DR manager uses semiclip that I could edit. I have get this far:
PHP Code:
new bool:Respawning[33] = false, bool:g_NoSolid[33] = false
public plugin_init()
{
register_forward( FM_StartFrame, "FwdStartFrame", 0 );
register_forward( FM_AddToFullPack, "FwdFullPack", 1 );
}
public FwdFullPack( es, e, ent, host, flags, player, pSet ) {
if( !is_user_alive(ent) || !IsPlayer(ent) )
return FMRES_IGNORED;
if( is_user_alive(ent) && player && cs_get_user_team(ent) != cs_get_user_team(host) ) {
set_es( es, ES_Solid, SOLID_NOT );
set_es( es, ES_RenderMode, kRenderTransAlpha );
set_es( es, ES_RenderAmt, 85 );
}
return FMRES_IGNORED;
}
public FwdStartFrame( ) {
static iPlayers[ 32 ], iNum, iPlayer, iPlayer2, i, j;
get_players( iPlayers, iNum, "ach" );
arrayset( g_NoSolid, 0, 32 );
if( iNum <= 1 )
return FMRES_IGNORED;
for( i = 0; i < iNum; i++ ) {
iPlayer = iPlayers[ i ];
if(Respawning[iPlayer])
continue;
for( j = 0; j < iNum; j++ ) {
iPlayer2 = iPlayers[ j ];
if( iPlayer == iPlayer2 )
continue;
if( Respawning[ iPlayer ] && cs_get_user_team(iPlayer) != cs_get_user_team(iPlayer2))
continue;
if( entity_range( iPlayer, iPlayer2 ) < 128 ) {
g_NoSolid[ iPlayer ] = true;
}
}
}
for( i = 0; i < iNum; i++ ) {
iPlayer = iPlayers[ i ];
set_pev( iPlayer, pev_solid, g_NoSolid[ iPlayer ] ? SOLID_NOT : SOLID_SLIDEBOX );
}
return FMRES_IGNORED;
}
The problems I've enountered with are that it seems that T has only semiclip (all the time) and T is always half-visible. What I wanted to make is that is CT has Respawning[id] true, he can go through T.