Reqest Semiclip for kz server
I need a semiclip plugin whit a /boost cmd (command) so that 2 players can boost each other, Im currently useing kz arg 1.7, and I have asked the auther of the plugin to add a /boost cmd to his semiclip, but he have not answerd.
I have looked everywhere for info, alliedmodders, fragbite, google, Extreme jumps, and in the sma files of kz_multiplayer and climb plugin, but haven't found anything, if you can find the code plz upload it, I would really appreciate it !! Here is a working semiclip /boost plugin, by xPaw but there is a error : Solid player (with boost) can pass though normal players ( semiclipped ) but they cant pass him since he is solid. If you could fix this error it would be much appreciated. #include <amxmodx> #include <fakemeta> #include <engine> new bool:gPlayerBoost[33], bool:gPlayerSolid[33], bool:gPlayerRestore[33]; new gPlayerAlive[33], gMaxplayers; public plugin_init() { register_plugin( "#kz.xPaw [ Semiclip ]", "1.0", "xPaw" ); register_clcmd( "say /boost", "cmdToggleBoost" ); gMaxplayers = get_maxplayers(); register_event( "ResetHUD", "Event_ResetHUD", "b" ); register_event( "Health", "Event_Health", "b" ); register_forward( FM_AddToFullPack, "fwdAddToFullPack", 1 ); register_forward( FM_PlayerPreThink, "fwdPlayerPreThink" ); register_forward( FM_PlayerPostThink, "fwdPlayerPostThink" ); } public cmdToggleBoost( id ) { if( !gPlayerAlive[id] ) { client_print( id, print_chat, "* Be alive, bitch!" ); return PLUGIN_CONTINUE; } client_print( id, print_chat, "* Boost toggled, bitch!" ); gPlayerBoost[id] = !gPlayerBoost[id]; return PLUGIN_CONTINUE; } public client_putinserver( id ) { gPlayerAlive[id] = false; gPlayerBoost[id] = false; } public client_disconnect( id ) { gPlayerAlive[id] = false; gPlayerBoost[id] = false; } public Event_ResetHUD( id ) { gPlayerAlive[id] = is_user_alive( id ); } public Event_Health( id ) { gPlayerAlive[id] = is_user_alive( id ); } public fwdAddToFullPack( es, e, ent, host, hostflags, player, pSet ) { if( player ) { if( ( !gPlayerAlive[host] || gPlayerSolid[host] ) && gPlayerSolid[ent] && !gPlayerBoost[ent] ) { static Float:flDistance; flDistance = entity_range( host, ent ); if( flDistance < 512.0 ) { set_es( es, ES_Solid, SOLID_NOT ); set_es( es, ES_RenderMode, kRenderTransAlpha ); set_es( es, ES_RenderAmt, 100 ); } } } } public fwdPlayerPreThink( id ) { static i, iLastThink; if( iLastThink > id ) { for( i = 1; i <= gMaxplayers; i++ ) { if( !gPlayerAlive[i] ) { gPlayerSolid[i] = false; continue; } gPlayerSolid[i] = pev(i, pev_solid) == SOLID_SLIDEBOX ? true : false; } } iLastThink = id; if( !gPlayerSolid[id] ) return; for( i = 1; i <= gMaxplayers; i++ ) { if( !gPlayerSolid[i] || id == i || gPlayerBoost[i] ) continue; set_pev( i, pev_solid, SOLID_NOT ); gPlayerRestore[i] = true; } } public fwdPlayerPostThink( id ) { static i, Float:flGravity; for( i = 1; i <= gMaxplayers; i++ ) { if( gPlayerRestore[i] ) { pev( i, pev_gravity, flGravity ); set_pev( i, pev_solid, SOLID_SLIDEBOX ); gPlayerRestore[i] = false; if( flGravity != 1.0 ) set_pev( i, pev_gravity, flGravity ); } } } Thx for your help !! |
| All times are GMT -4. The time now is 15:29. |
Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.