Witam.
Szukam takiego pluginu, który umożliwi graczom z jednej drużyny przenikanie przez siebie.
Natomiast drużyna przeciwna żeby była normalnie bez przenikania.
Z góry dziękuję
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse
Przenikanie
Temat rozp. Tifa, 15.06.2009 09:25
2 odpowiedzi w tym temacie
#1
Napisano 15.06.2009 09:25
#2
Napisano 15.06.2009 11:01
spróbuj tego:
/* 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; }
#3
Napisano 15.06.2009 13:06
Dziękuję ;]
+ Pomógł
+ Pomógł
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych