Gracze ze swoich teamów są duchami. przez 10 sekund jest taki plugin ?
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
Gracze ze swoich teamów są duchami.
Temat rozp. Muka, 11.02.2015 23:55
2 odpowiedzi w tym temacie
#1
Napisano 11.02.2015 23:55
#2
Napisano 12.02.2015 00:02
http://amxx.pl/topic...e-przez-graczy/
semiclip_duration ustaw na 10 i powinno być przenikanie przez 10 sekund.
#3
Napisano 12.02.2015 01:17
mindtrek_antiblock_time "5" | Czas przenikania
mindtrek_antiblock "1" | On/Off
#include <amxmodx> #include <fakemeta> #define PLUGIN_NAME "Anti Blocker" #define PLUGIN_VERSION "0.1" #define PLUGIN_AUTHOR "No" #define SC_TASKID 38800 new bool:g_antiblock = false new pcv_antiblock new pcv_antiblock_time new g_duration[33] public plugin_init ( ) { register_plugin ( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR ) register_forward ( FM_StartFrame, "fm_startframe" ) register_logevent ( "event_round_start", 2, "0=World triggered", "1=Round_Start" ) pcv_antiblock = register_cvar ( "mindtrek_antiblock", "1" ) pcv_antiblock_time = register_cvar ( "mindtrek_antiblock_time", "5" ) } public fm_startframe ( ) { if ( !g_antiblock ) return FMRES_IGNORED static players[32], num, i, player get_players ( players, num, "ach" ) for ( i = 0; i < num; i++ ) { player = players[i] if ( is_semiclip ( player ) ) { if ( is_solid ( player ) ) set_notsolid ( player ) } else { if ( !is_solid ( player ) ) set_solid ( player ) } } return FMRES_IGNORED } bool:is_semiclip ( id ) { static players[32], num, i, target, team /* switch ( get_user_team ( id ) ) { case 1: get_players ( players, num, "ach", "T" ) case 2: get_players ( players, num, "ach", "CT" ) default: return false } */ static Float:player_origin[3], Float:player_origin_z[3] static Float:target_origin[3], Float:target_origin_z[3] pev ( id, pev_origin, player_origin ) player_origin_z[2] = player_origin[2] player_origin[2] = 0.0 get_players ( players, num, "ach" ) team = get_user_team ( id ) for ( i = 0; i < num; i++ ) { target = players[i] if ( id == target || team != get_user_team ( target ) ) continue pev ( target, pev_origin, target_origin ) target_origin_z[2] = target_origin[2] target_origin[2] = 0.0 if ( ( vector_distance ( player_origin, target_origin ) < 60 && vector_distance ( player_origin_z, target_origin_z ) < 90 ) ) return true } return false } bool:is_solid ( id ) { if ( pev ( id, pev_solid ) == SOLID_BBOX ) return true return false } set_solid ( id ) { if ( is_user_alive ( id ) ) { use_rendering ( id ) set_pev ( id, pev_solid, SOLID_BBOX ) } } set_notsolid ( id ) { if ( is_user_alive ( id ) ) { use_rendering ( id, kRenderFxPulseSlow, 0, 0, 0, kRenderTransTexture, 200 ) set_pev ( id, pev_solid, SOLID_NOT ) } } stock use_rendering ( index, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16 ) { set_pev ( index, pev_renderfx, fx ) new Float:RenderColor[3] RenderColor[0] = float ( r ) RenderColor[1] = float ( g ) RenderColor[2] = float ( b ) set_pev ( index, pev_rendercolor, RenderColor ) set_pev ( index, pev_rendermode, render ) set_pev ( index, pev_renderamt, float ( amount ) ) } public event_round_start ( ) { if ( task_exists ( SC_TASKID ) ) remove_task ( SC_TASKID ) if ( get_pcvar_num ( pcv_antiblock ) ) g_antiblock = true set_task ( get_pcvar_float ( pcv_antiblock_time ), "task_sc_end", SC_TASKID ) return PLUGIN_CONTINUE } public task_sc_end ( ) { g_antiblock = false static players[32], num, i, player get_players ( players, num, "ach" ) for ( i = 0; i < num; i++ ) { player = players[i] if ( !is_solid ( player ) ) { g_duration[player] = 0 set_task ( 0.2, "task_sc_wait", player ) } } return PLUGIN_CONTINUE } public task_sc_wait ( id ) { if ( task_exists ( id ) ) remove_task ( id ) if ( is_semiclip ( id ) ) { if ( ++g_duration[id] > 20 ) user_slap ( id, 0 ) set_task ( 0.2, "task_sc_wait", id ) } else set_solid ( id ) return PLUGIN_CONTINUE } public plugin_end ( ) { if ( task_exists ( SC_TASKID ) ) remove_task ( SC_TASKID ) g_antiblock = false for ( new i = 1; i < 33; i++ ) if ( task_exists ( i ) ) remove_task ( i ) return PLUGIN_CONTINUE }
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych