Code:
/*
* _______ _ _ __ __
* | _____/ | | | | \ \ __ / /
* | | | | | | | | / \ | |
* | | | |____| | | |/ __ \| |
* | | ___ | ______ | | / \ |
* | | |_ | | | | | | / \ |
* | | | | | | | | | | | |
* | |____| | | | | | | | | |
* |_______/ |_| |_| \_/ \_/
*
*
*
* Last Edited: 12-31-07
*
* ============
* Changelog:
* ============
*
* v2.0
* -Added color to floating weapons
*
* v1.0
* -Initial Release
*
*/
#define VERSION "2.0.1"
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>
#include <fun>
new toggle_pcvar
public plugin_init()
{
register_plugin("UT Style Floating Weapons",VERSION,"GHW_Chronic")
toggle_pcvar = register_cvar("FW_enabled","1")
register_forward(FM_SetModel,"W_Model_Hook",1)
register_touch("weaponbox","worldspawn","touch")
}
public W_Model_Hook(ent,model[])
{
if(get_pcvar_num(toggle_pcvar) && pev_valid(ent))
{
static classname[32]
pev(ent,pev_classname,classname,31)
if(equali(classname,"weaponbox") && get_pdata_bool(ent, 420, 4))
{
set_pev(ent,pev_renderfx,kRenderFxGlowShell)
switch(random_num(1,4))
{
case 1: set_pev(ent,pev_rendercolor,Float:{0.0,0.0,255.0})
case 2: set_pev(ent,pev_rendercolor,Float:{0.0,255.0,0.0})
case 3: set_pev(ent,pev_rendercolor,Float:{255.0,0.0,0.0})
case 4: set_pev(ent,pev_rendercolor,Float:{255.0,255.0,255.0})
}
static Float:angles[3]
pev(ent,pev_angles,angles)
angles[0] -= 90.0
angles[1] += 45.0
set_pev(ent,pev_angles,angles)
}
}
}
public touch(weaponbox,worldspawn)
{
if(get_pcvar_num(toggle_pcvar) && pev_valid(weaponbox) && get_pdata_bool(weaponbox, 420, 4))
{
set_pev(weaponbox,pev_movetype,MOVETYPE_FLY)
static Float:origin[3]
pev(weaponbox,pev_origin,origin)
origin[2] += 30.0
set_pev(weaponbox,pev_origin,origin)
}
}