/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <engine> #include <fakemeta> #define PLUGIN "semiclip" #define VERSION "1.0" #define AUTHOR "naven & danielkza" new g_iSemiClip[33] public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_forward( FM_StartFrame, "fwStartFrame", 0); register_forward( FM_AddToFullPack, "fwFullPack", 1 ); } public fwFullPack( es, e, ent, host, flags, player, pSet ) { if( player && g_iSemiClip[ent] && g_iSemiClip[host] ) { static Float:flDistance; flDistance = entity_range( host, ent ); set_es( es, ES_Solid, SOLID_NOT ); set_es( es, ES_RenderMode, kRenderTransAlpha ); set_es( es, ES_RenderAmt, floatround( flDistance * 1.5 ) ); } return FMRES_IGNORED; } public fwStartFrame(id) { static iPlayers[32], iNum, iPlayer, iPlayer2; get_players(iPlayers, iNum); arrayset(g_iSemiClip, 0, sizeof(g_iSemiClip)); new iTeams[33] = {-1, ...}; for( new i = 0; i < iNum; i++ ) { iPlayer = iPlayers[i]; if( !is_user_alive(iPlayer) ) continue; for( new j = 0; j < iNum; j++ ) { iPlayer2 = iPlayers[j]; if(iPlayer == iPlayer2 || !is_user_alive(iPlayer2)) continue; static Float:vOrigin1[3], Float:vOrigin2[3]; pev(iPlayer, pev_origin, vOrigin1); pev(iPlayer2, pev_origin, vOrigin2); if( vector_distance( vOrigin1, vOrigin2 ) < 96 ) {//tutaj widzimy kod odpowiadający prawdopodobnie za dzialanie tylko na swoją drużynę if( iTeams[iPlayer] == -1 ) iTeams[iPlayer] = get_user_team(iPlayer); if( iTeams[iPlayer2] == -1 ) iTeams[iPlayer2] = get_user_team(iPlayer2); if( iTeams[iPlayer] == 2 && iTeams[iPlayer2] == 2 ) { g_iSemiClip[iPlayer] = true; g_iSemiClip[iPlayer2] = true; } } } } for( new i = 0; i < iNum; i++ ) { iPlayer = iPlayers[i]; if( is_user_alive( iPlayer ) ) set_pev(iPlayer, pev_solid, g_iSemiClip[iPlayer] ? SOLID_NOT : SOLID_SLIDEBOX); } return FMRES_IGNORED; }
poniewaz w tym pluginie tylko ct moga przechodzic przez siebie a ja chcialbym tak aby ct przechodzilo tylko przez swoich a tt przez nich bo jak na razie to tt nie moga przechodzic przez siebie