/* AMX Mod X
* Longjump Player Model for HLDM
*
* (c) Copyright 2010 by KORD_12.7
*
* This file is provided as is (no warranties)
*/
//--------------------------------------------------------------------------------------------------
#include <amxmodx>
#include <fakemeta>
#include <fakemeta_util>
#define PLUGIN "Longjump Player Model"
#define VERSION "0.1"
#define AUTHOR "KORD_12.7"
#define MAX_CLIENTS 32
//--------------------------------------------------------------------------------------------------
new
const g_lj_model[] = "models/p_longjump.mdl"
new
g_ClientLJ[MAX_CLIENTS + 1],
g_CvarEnable,
g_MaxPlayers
//--------------------------------------------------------------------------------------------------
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("ljpm_version", VERSION, FCVAR_SERVER)
register_event("DeathMsg", "fw_Killed", "a")
register_event("ItemPickup", "fw_Longjump_AddToPlayer", "b", "1&item_longjump")
g_CvarEnable = register_cvar("p_longjump", "1")
g_MaxPlayers = get_maxplayers()
engfunc(EngFunc_PrecacheModel, g_lj_model)
}
//--------------------------------------------------------------------------------------------------
public client_disconnect(id)
{
if(!get_pcvar_num(g_CvarEnable))
return PLUGIN_CONTINUE
if(fm_get_user_longjump(id))
{
if(pev_valid(g_ClientLJ[id]))
engfunc(EngFunc_RemoveEntity, g_ClientLJ[id])
}
return PLUGIN_CONTINUE
}
//--------------------------------------------------------------------------------------------------
public fw_Killed()
{
if(!get_pcvar_num(g_CvarEnable))
return PLUGIN_CONTINUE
static victim; victim = read_data(2)
if(1 <= victim <= g_MaxPlayers && fm_get_user_longjump(victim))
{
if(pev_valid(g_ClientLJ[victim]))
engfunc(EngFunc_RemoveEntity, g_ClientLJ[victim])
}
return PLUGIN_CONTINUE
}
//--------------------------------------------------------------------------------------------------
public fw_Longjump_AddToPlayer(id)
{
if(!get_pcvar_num(g_CvarEnable))
return PLUGIN_CONTINUE
g_ClientLJ[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
set_pev(g_ClientLJ[id], pev_movetype, MOVETYPE_FOLLOW)
set_pev(g_ClientLJ[id], pev_aiment, id)
set_pev(g_ClientLJ[id], pev_rendermode, kRenderNormal)
set_pev(g_ClientLJ[id], pev_renderamt, 0.0)
engfunc(EngFunc_SetModel, g_ClientLJ[id], g_lj_model)
return PLUGIN_CONTINUE
}
//--------------------------------------------------------------------------------------------------