Code:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#define PLUGIN "Powerup"
#define VERSION "1.0"
#define AUTHOR "SweatyBanana"
new g_Menu
new g_msg_status_text
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("ResetHUD", "stopItems", "b")
register_event("CurWeapon", "eventCurWeapon", "b")
register_event("ResetHUD", "Checker", "b")
register_cvar("frag_amount","10");
new g_Menu = menu_create("Select an Upgrade:", "Menu_Handle")
menu_additem(g_Menu, "Silent Footsteps", "1")
menu_additem(g_Menu, "Low Gravity", "2")
menu_additem(g_Menu, "Faster Speed", "3")
menu_additem(g_Menu, "Invisibility", "4")
menu_additem(g_Menu, "Armor & Health (150)", "5")
}
public Checker(id)
{
new Frags = get_user_frags(id);
if(Frags >= get_cvar_num("frag_amount"))
{
set_task(0.1,"Menu_Command")
}
}
public Menu_Command(id)
{
menu_display(id, g_Menu, 0)
return PLUGIN_HANDLED
}
public Menu_Handle(id, Menu, Item)
{
new szCommand[3], Accesss, Callback
menu_item_getinfo(Menu, Item, Accesss, szCommand, 2, _, _, Callback)
switch(szCommand[0])
{
case '-':
{
return PLUGIN_HANDLED
}
case '1':
{
set_user_footsteps (id, 1)
}
case '2':
{
set_user_gravity (id, 0.25)
}
case '3':
{
eventCurWeapon(id)
}
case '4':
{
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAdd,0)
}
case '5':
{
cs_set_user_armor (id, 150, CsArmorType:2) // Set regular armor
set_user_health(id, 150)
}
}
set_user_frags(id,0)
set_task(30.0,"stopItems")
return PLUGIN_HANDLED
}
public stopItems(id)
{
set_user_footsteps (id, 0) // Set regular footsteps
cs_set_user_armor (id, 100, CsArmorType:2) // Set regular armor
set_user_health(id, 100) // Set regular health
set_user_gravity (id, 1.0) // Set 800 gravity
set_user_maxspeed (id, 0.0) // Set regular speed
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderNormal,25) // Set Visible
g_msg_status_text = get_user_msgid("StatusText")
message_begin(MSG_ONE, g_msg_status_text, {0,0,0}, id)
write_byte(0)
write_string("Kills/Kills-Needed for power-up %i/%i",get_user_frags(id),get_cvar_num("frag_amount"))
message_end()
return PLUGIN_HANDLED
}
public eventCurWeapon(id)
{
new Float:speed = get_user_maxspeed(id) + 75.0
set_user_maxspeed(id, speed)
}