ищу плагин, что свои тиммейты прозрачные |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
ищу плагин, что свои тиммейты прозрачные |
alldox
|
19.12.2010, 19:58
Сообщение
|
|
|
ищу плагин что свои тиммейты прозрачные у кого есть дайте плз
|
|
|
|
Z[1].
|
20.12.2010, 1:32
Сообщение
|
|
|
alldox,
игроки прозрачные или с возможностью проходить сквозь них? |
|
|
|
vkontakte
|
20.12.2010, 2:32
Сообщение
|
![]() |
|
|
|
|
Neo
|
20.12.2010, 7:22
Сообщение
|
|
|
*.sma Код #include <amxmodx> #include <fakemeta> #pragma semicolon 1 #define DISTANCE 120 #define TIME 7.0 new g_iTeam[33]; new bool:g_bSolid[33]; new bool:g_bHasSemiclip[33]; new Float:g_fOrigin[33][3]; new bool:g_bSemiclipEnabled; new g_iForwardId[3]; new g_iMaxPlayers; new g_iCvar[3]; new g_Work; public plugin_init( ) { register_plugin( "(Team-)Semiclip", "1.2", "SchlumPF*/Empower" ); g_iCvar[0] = register_cvar( "semiclip_enabled", "1" ); g_iCvar[1] = register_cvar( "semiclip_teamclip", "0" ); g_iCvar[2] = register_cvar( "semiclip_transparancy", "1" ); register_forward( FM_ClientCommand, "fwdClientCommand" ); if( get_pcvar_num( g_iCvar[0] ) ) { g_iForwardId[0] = register_forward( FM_PlayerPreThink, "fwdPlayerPreThink" ); g_iForwardId[1] = register_forward( FM_PlayerPostThink, "fwdPlayerPostThink" ); g_iForwardId[2] = register_forward( FM_AddToFullPack, "fwdAddToFullPack_Post", 1 ); g_bSemiclipEnabled = true; } else g_bSemiclipEnabled = false; g_iMaxPlayers = get_maxplayers( ); register_event("HLTV", "event_round_start", "a", "1=0", "2=0"); } public event_round_start() { g_Work = true; set_task(TIME,"reset_state"); } public reset_state() g_Work = false; public fwdPlayerPreThink( plr ) { if(!g_Work) return FMRES_IGNORED; static id, last_think; if( last_think > plr) { for( id = 1; id <= g_iMaxPlayers; id++ ) { if( is_user_alive( id ) ) { if( get_pcvar_num( g_iCvar[1] ) ) g_iTeam[id] = get_user_team( id ); g_bSolid[id] = pev( id, pev_solid ) == SOLID_SLIDEBOX ? true : false; pev( id, pev_origin, g_fOrigin[id] ); } else g_bSolid[id] = false; } } last_think = plr; if( g_bSolid[plr] ) { for( id = 1; id <= g_iMaxPlayers; id++ ) { if( g_bSolid[id] && get_distance_f( g_fOrigin[plr], g_fOrigin[id] ) <= DISTANCE && id != plr && get_user_team(id) == get_user_team(plr)) { if( get_pcvar_num( g_iCvar[1] ) && g_iTeam[plr] != g_iTeam[id] ) return FMRES_IGNORED; set_pev( id, pev_solid, SOLID_NOT ); g_bHasSemiclip[id] = true; } } } return FMRES_IGNORED; } public fwdPlayerPostThink( plr ) { if(!g_Work) return; static id; for( id = 1; id <= g_iMaxPlayers; id++ ) { if( g_bHasSemiclip[id] ) { set_pev( id, pev_solid, SOLID_SLIDEBOX ); g_bHasSemiclip[id] = false; } } } public fwdAddToFullPack_Post( es_handle, e, ent, host, hostflags, player, pset ) { if( player && g_Work) { if( g_bSolid[host] && g_bSolid[ent] && get_distance_f( g_fOrigin[host], g_fOrigin[ent] ) <= DISTANCE ) { if( get_pcvar_num( g_iCvar[1] ) && g_iTeam[host] != g_iTeam[ent] ) return FMRES_IGNORED; set_es( es_handle, ES_Solid, SOLID_NOT ); // makes semiclip flawless if( get_pcvar_num( g_iCvar[2] ) == 1 ) { set_es( es_handle, ES_RenderMode, kRenderTransAlpha ); set_es( es_handle, ES_RenderAmt, 85 ); } else if( get_pcvar_num( g_iCvar[2] ) == 2 ) { set_es( es_handle, ES_Effects, EF_NODRAW ); set_es( es_handle, ES_Solid, SOLID_NOT ); } } } return FMRES_IGNORED; } // is there a better way to detect changings of g_iCvar[0]? public fwdClientCommand( plr ) { // use the forwards just when needed, for good performance if( !get_pcvar_num( g_iCvar[0] ) && g_bSemiclipEnabled ) { unregister_forward( FM_PlayerPreThink, g_iForwardId[0] ); unregister_forward( FM_PlayerPostThink, g_iForwardId[1] ); unregister_forward( FM_AddToFullPack, g_iForwardId[2], 1 ); g_bSemiclipEnabled = false; } else if( get_pcvar_num( g_iCvar[0] ) && !g_bSemiclipEnabled ) { g_iForwardId[0] = register_forward( FM_PlayerPreThink, "fwdPlayerPreThink" ); g_iForwardId[1] = register_forward( FM_PlayerPostThink, "fwdPlayerPostThink" ); g_iForwardId[2] = register_forward( FM_AddToFullPack, "fwdAddToFullPack_Post", 1 ); g_bSemiclipEnabled = true; } } Сразу скажу, что использовать его лучше с этим плагином http://forums.alliedmods.net/showthread.php?p=441576, ибо игроки по застревают друг в друге и будут ныть :biggrin: |
|
|
|
vkontakte
|
20.12.2010, 7:27
Сообщение
|
![]() |
даную проблему решает прыжок
|
|
|
|
Neo
|
20.12.2010, 18:50
Сообщение
|
|
|
vkontakte,
Если бы он всегда решал её, я бы не писал бы об этом ;) |
|
|
|
Teemz
|
22.1.2011, 17:11
Сообщение
|
![]() |
Сразу скажу, что использовать его лучше с этим плагином http://forums.alliedmods.net/showthread.php?p=441576, ибо игроки по застревают друг в друге и будут ныть :biggrin: Ссылка не работает. Как этот плагин называеться? |
|
|
|
Neo
|
28.1.2011, 19:27
Сообщение
|
|
|
Лови
Прикрепленные файлы:
|
|
|
|
![]() ![]() |