Code: Select all
case 3(sau la ce numar aveti voi unstuck): client_cmd(id, "say /unstuck"); // unstuck
Descarcare:
Code: Select all
#include < amxmodx >
#include < fakemeta >
#include < zombieplague >
#define MAX_CLIENTS 32
#define START_DISTANCE 32
#define MAX_ATTEMPTS 128
#define GetPlayerHullSize(%1) ( ( pev ( %1, pev_flags ) & FL_DUCKING ) ? HULL_HEAD : HULL_HUMAN )
new Float:gf_LastCmdTime [ MAX_CLIENTS + 1 ];
enum Coord_e
{
Float:x,
Float:y,
Float:z
};
public plugin_init ( )
{
register_plugin ( "AMXX Unstuck", "1.7.2", "AMXX Dev Builder" );
register_clcmd ( "say /unstuck", "FunC_CheckStuck", -1 );
register_clcmd ( "say /stuck", "FunC_CheckStuck", -1 );
register_clcmd ( "say /unblock", "FunC_CheckStuck", -1 );
}
public FunC_CheckStuck ( const iPlayer)
{
gf_LastCmdTime [ iPlayer ] = get_gametime ( );
UnstuckPlayer ( iPlayer, START_DISTANCE, MAX_ATTEMPTS ) != 1;
return 1;
}
public UnstuckPlayer ( const id, const i_StartDistance, const i_MaxAttempts )
{
if ( is_user_alive ( id ) || zp_get_user_zombie ( id ) )
{
static Float:vf_OriginalOrigin [ Coord_e ], Float:vf_NewOrigin [ Coord_e ];
static i_Attempts, i_Distance;
pev ( id, pev_origin, vf_OriginalOrigin );
i_Distance = i_StartDistance;
while ( i_Distance < 1000 )
{
i_Attempts = i_MaxAttempts;
while ( i_Attempts-- )
{
vf_NewOrigin [ x ] = random_float ( vf_OriginalOrigin [ x ] - i_Distance, vf_OriginalOrigin [ x ] + i_Distance );
vf_NewOrigin [ y ] = random_float ( vf_OriginalOrigin [ y ] - i_Distance, vf_OriginalOrigin [ y ] + i_Distance );
vf_NewOrigin [ z ] = random_float ( vf_OriginalOrigin [ z ] - i_Distance, vf_OriginalOrigin [ z ] + i_Distance );
engfunc ( EngFunc_TraceHull, vf_NewOrigin, vf_NewOrigin, DONT_IGNORE_MONSTERS, GetPlayerHullSize ( id ), id, 0 );
if ( get_tr2 ( 0, TR_InOpen ) && !get_tr2 ( 0, TR_AllSolid ) && !get_tr2 ( 0, TR_StartSolid ) )
{
engfunc ( EngFunc_SetOrigin, id, vf_NewOrigin );
client_cmd ( id, "spk fvox/blip.wav" );
return 1;
}
}
i_Distance += i_StartDistance;
}
}
return 0;
}
Versiune: 1.7.2
Link oficial: cspower / thexforce
Instalare:
1. Fisierul unstuck.sma il puneti in addons/amxmodx/scripting
2. Fisierul unstuck.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:
Code: Select all
unstuck.amxx
Cvar-uri (se adauga in fisierul amxmodx\configs\amxx.cfg): -
Imagini: -