 |
|
Veteran Member
|

06-15-2010
, 18:39
Re: get_players work of both teams
|
#8
|
Quote:
Originally Posted by kostov
This is SemiClip Deathrun Manager by Xpaw. I want to do only work between players in teams rather than between teams
PHP Code:
#include <amxmodx>
#include <fakemeta>
new g_iSemiClip[33]
public plugin_init()
{
register_plugin("", "", "")
register_forward( FM_StartFrame, "FwdStartFrame", 0 );
register_forward( FM_AddToFullPack, "FwdFullPack", 1 );
}
public FwdFullPack( es, e, ent, host, flags, player, pSet ) {
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, 30 );}
return FMRES_IGNORED;
}
public FwdStartFrame(id) {
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(fm_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;
}
stock Float:fm_entity_range(ent1, ent2){
new Float:origin1[3], Float:origin2[3]
pev(ent1, pev_origin, origin1)
pev(ent2, pev_origin, origin2)
return get_distance_f(origin1, origin2)
}
|
So your saying you don't want CT's to semiclip through T's?
__________________
Currently accepting payment US DOLLARS ONLY for custom plugins, contact me through PM.
|
|
|
|