Code:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#define PLUGIN "Personal Gravity"
#define VERSION "1.1"
#define AUTHOR "SatanWoJ"
/*Description:
1) Adds a gravity command which gives an individual player a specific amount of gravity.
2) Allows the players to buy different gravities.
Credits:
v3x for fixing the warnings :)
Changelog
1.0 - Original Coding
1.1 - Added Description/Credits/Changelog*/
new arg1[32]
new arg2[10]
public plugin_init() {
register_plugin("Personal Gravity", "1.1", "SatanWoJ")
register_concmd("amx_pgrav", "gravity", ADMIN_KICK, "<nick> <gravity>")
register_clcmd("say /buygrav", "bgrav", 0)
new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_0
register_menucmd(register_menuid("Gravity Menu"), keys, "GravMenu")
}
public gravity(id, level, cid) {
if(!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED
read_argv(1, arg1, 31)
read_argv(2, arg2, 9)
new target = cmd_target(id, arg1, 15)
new Float:amount = str_to_float(arg2)/800
set_user_gravity(target, amount)
return PLUGIN_CONTINUE
}
public bgrav(id) {
if(!is_user_alive(id))
return PLUGIN_HANDLED
new menu[192]
new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_0
format(menu, 191, "Gravity Menu^n^n1. 100 - $5000^n2. 200 - $3500^n3. 400 - $2000^n4. 550 - $1500^n5. 800 - $0^n^n0. BACK.")
show_menu(id, keys, menu)
return PLUGIN_HANDLED
}
public gravmenu(id, key)
{
if(key == 1)
{
new money = cs_get_user_money(id)
new Float:grav = get_user_gravity(id)
if(money < 5000)
{
client_print(id, print_chat, "You have insufficient funds!")
return PLUGIN_HANDLED
}
else if(grav == 0.125)
{
client_print(id, print_chat, "You already are at that gravity!")
return PLUGIN_HANDLED
} else {
cs_set_user_money(id, money-5000)
set_user_gravity(id, 0.125)
return PLUGIN_HANDLED
}
}
else if(key == 2)
{
new money = cs_get_user_money(id)
new Float:grav = get_user_gravity(id)
if(money < 3500)
{
client_print(id, print_chat, "You have insufficient funds!")
return PLUGIN_HANDLED
}
else if(grav == 0.25)
{
client_print(id, print_chat, "You already are at that gravity!")
return PLUGIN_HANDLED
} else {
cs_set_user_money(id, money-3500)
set_user_gravity(id, 0.25)
return PLUGIN_HANDLED
}
}
else if(key == 3)
{
new money = cs_get_user_money(id)
new Float:grav = get_user_gravity(id)
if(money < 2000)
{
client_print(id, print_chat, "You have insufficient funds!")
return PLUGIN_HANDLED
}
else if(grav == 0.5)
{
client_print(id, print_chat, "You already are at that gravity!")
return PLUGIN_HANDLED
} else {
cs_set_user_money(id, money-2000)
set_user_gravity(id, 0.5)
return PLUGIN_HANDLED
}
}
else if(key == 4)
{
new money = cs_get_user_money(id)
new Float:grav = get_user_gravity(id)
if(money < 1500)
{
client_print(id, print_chat, "You have insufficient funds!")
return PLUGIN_HANDLED
}
else if(grav == 0.6875)
{
client_print(id, print_chat, "You already are at that gravity!")
return PLUGIN_HANDLED
} else {
cs_set_user_money(id, money-1500)
set_user_gravity(id, 0.6875)
return PLUGIN_HANDLED
}
}
else if(key == 5)
{
new Float:grav = get_user_gravity(id)
if(grav == 1.0)
{
client_print(id, print_chat, "You already are at that gravity!")
return PLUGIN_HANDLED
} else {
set_user_gravity(id, 1.0)
return PLUGIN_HANDLED
}
}
else if(key == 0)
{
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE
}
For some reason, when the person uses /buygrav and pushes a button, no money is taken away, no client_print shows up, and the gravity isn't changed.
BTW this script is edited from the same script but a different coding which I used switch(key) and cases but didn't work either...