Пользователь
- Сообщения
- 15
- Реакции
- 0
Hey,
I had certain issues with Prokreedz 2.31 when players get stuck when two or more players are standing nearby on a movable object. Can anyone help me fix this? This doesn't happen with Deathrun Manager 3.03's semiclip. I'm using DRM Triggers and Entities Fix for both KZ and Deathrun.
I had certain issues with Prokreedz 2.31 when players get stuck when two or more players are standing nearby on a movable object. Can anyone help me fix this? This doesn't happen with Deathrun Manager 3.03's semiclip. I'm using DRM Triggers and Entities Fix for both KZ and Deathrun.
Код:
//KZ Semiclip
public FM_client_AddToFullPack_Post(es, e, ent, host, hostflags, player, pSet)
{
if( player )
{
if (get_pcvar_num(kz_semiclip) == 1)
{
if ( host != ent && get_orig_retval() && is_user_alive(host) )
{
set_es(es, ES_Solid, SOLID_NOT)
set_es(es, ES_RenderMode, kRenderTransAlpha)
set_es(es, ES_RenderAmt, get_pcvar_num(kz_semiclip_transparency))
}
}
if(gMarkedInvisible[ent] && gViewInvisible[host])
{
set_es(es, ES_RenderMode, kRenderTransTexture)
set_es(es, ES_RenderAmt, 0)
set_es(es, ES_Origin, { 999999999.0, 999999999.0, 999999999.0 } )
}
}
else if( gWaterInvisible[host] && gWaterEntity[ent] )
{
set_es(es, ES_Effects, get_es( es, ES_Effects ) | EF_NODRAW )
}
return FMRES_IGNORED
}
public Ham_CBasePlayer_PreThink_Post(id)
{
if( !is_user_alive(id) )
return
RefreshPlayersList()
if (get_pcvar_num(kz_semiclip) == 1)
{
for(new 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
RefreshPlayersList()
if (get_pcvar_num(kz_semiclip) == 1)
{
for(new i = 0; i<g_iNum; i++)
{
g_iPlayer = g_iPlayers[i]
if( g_iPlayer != id )
set_pev(g_iPlayer, pev_solid, SOLID_SLIDEBOX)
}
}
}
Код:
//Deathrun Semiclip
public FwdFullPack( es, e, ent, host, flags, player, pSet ) {
if( !g_bEnabled )
return FMRES_IGNORED;
if( player && g_iSemiClip[ ent ] && g_iSemiClip[ 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( ) {
if( !g_bEnabled )
return FMRES_IGNORED;
static iPlayers[ 32 ], iNum, iPlayer, iPlayer2, i, j;
get_players( iPlayers, iNum, "ache", "CT" );
arrayset( g_iSemiClip, 0, 32 );
if( iNum <= 1 )
return FMRES_IGNORED;
for( i = 0; i < iNum; i++ ) {
iPlayer = iPlayers[ i ];
for( j = 0; j < iNum; j++ ) {
iPlayer2 = iPlayers[ j ];
if( iPlayer == iPlayer2 )
continue;
if( g_iSemiClip[ iPlayer ] && g_iSemiClip[ iPlayer2 ] )
continue;
if( entity_range( iPlayer, iPlayer2 ) < 128 ) {
g_iSemiClip[ iPlayer ] = true;
g_iSemiClip[ iPlayer2 ] = true;
}
}
}
for( i = 0; i < iNum; i++ ) {
iPlayer = iPlayers[ i ];
set_pev( iPlayer, pev_solid, g_iSemiClip[ iPlayer ] ? SOLID_NOT : SOLID_SLIDEBOX );
}
return FMRES_IGNORED;
}