Ok...Im getting a native error in this function...It says its trying set the server solid instead of the player...how can I fix that??:
Code:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <engine>
#define PLUGIN "Upgrades Mod"
#define VERSION "1.0"
#define AUTHOR "SweatyBanana"
new stuck[33];
new g_Menu
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("stuck_time", "5")
register_cvar("stuck_amount", "1")
register_cvar("anounce_time","30")
set_task(20.0,"advertise");
register_clcmd("say /upgrades", "Menu_Command")
register_clcmd("say_team /upgrades", "Menu_Command")
g_Menu = menu_create("Upgrade Mod", "Menu_Handle")
menu_additem(g_Menu, "Temporary Semi-Clip", "1")
menu_additem(g_Menu, "Silent footsteps", "2")
menu_additem(g_Menu, "Raise armor and Health", "3")
menu_additem(g_Menu, "Low Gravity", "4")
menu_additem(g_Menu, "Faster Speed", "5")
menu_additem(g_Menu, "reserved", "6")
menu_additem(g_Menu, "reserved", "7")
register_logevent("round_start", 2, "0=World triggered", "1=Round_Start");
}
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':
{
cmd_stuck(id)
}
case '2':
{
foot_steps(id)
}
case '3':
{
armor_hp(id)
}
case '4':
{
gravity(id)
}
case '5':
{
fast_speed(id)
}
case '6':
{
foot_steps(id)
}
case '7':
{
foot_steps(id)
}
}
return PLUGIN_HANDLED
}
public advertise()
{
client_print(0,print_chat,"[UPGRADE] say /upgrades to show the upgrade menu.")
set_task(get_cvar_float("anounce_time"),"advertise")
return PLUGIN_HANDLED
}
public foot_steps(id)
{
set_user_footsteps (id, 1)
}
public armor_hp(id)
{
cs_set_user_armor (id, 200, CsArmorType:2)
set_user_health(id, 125)
}
public gravity(id)
{
set_user_gravity (id, 0.25)
}
public fast_speed(id)
{
new Float:speed = get_user_maxspeed(id) + 140.0;
set_user_maxspeed(id , speed);
}
public round_start()
{
for(new id = 1; id <= 32; id++)
stuck[id] = 0;
}
public cmd_stuck(id)
{
new Time = get_cvar_num("stuck_time");
new stuckamount = get_cvar_num("stuck_amount");
if(!is_user_alive(id))
{
client_print(id, print_chat, "[STUCK] you can only use the stuck option if you are alive!")
return PLUGIN_HANDLED;
}
if(stuck[id] >= stuckamount)
{
client_print(id , print_chat , "[AMXX] You can only do that command %i times a round", stuckamount);
return PLUGIN_HANDLED;
}
else
{
entity_set_int(id, EV_INT_solid, SOLID_TRIGGER)
stuck[id]++;
set_task(get_cvar_float("stuck_time"),"unclip")
client_print(id, print_chat, "[UPGRADE] You have %i second(s) until becoming solid again.", Time);
}
return PLUGIN_HANDLED;
}
public unclip(id)
{
entity_set_int(id, EV_INT_solid, SOLID_BBOX)
}