Not tested
Code:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <hamsandwich>
new const GRAVITY_TEXT[][] =
{
"\ 400 Gravity",
"\ 700 Gravity",
"\ 800 Gravity",
};
new const Float:GRAVITY_VALUE[] = { 0.5, 0.875, 1.0 };
new PlayerGravity[33];
public plugin_init()
{
register_plugin("Gravity Menu", "1.0", "Ghost");
register_clcmd("say !gravity", "ClCmd_GravityMenu");
RegisterHam(Ham_Spawn, "player", "Ham_PlayerSpawn_Post", 1);
}
public client_connect(PlayerID)
{
PlayerGravity[PlayerID] = 2;
}
public ClCmd_GravityMenu(PlayerID)
{
if (!is_user_alive(PlayerID))
return;
new Menu = menu_create("\wDeathrun^n\wGravity Menu:", "Handler_GravityMenu");
for (new Index = 0; Index < 3; Index++)
{
if (PlayerGravity[PlayerID] == Index)
GRAVITY_TEXT[Index][1] = 'y';
else
GRAVITY_TEXT[Index][1] = 'w';
menu_additem(Menu, GRAVITY_TEXT[Index]);
}
menu_setprop(Menu, MPROP_NUMBER_COLOR, "\y");
menu_display(PlayerID, Menu);
}
public Ham_PlayerSpawn_Post(PlayerID)
{
if (!is_user_alive(PlayerID))
return;
set_user_gravity(PlayerID, GRAVITY_VALUE[PlayerGravity[PlayerID]]);
}
public Handler_GravityMenu(PlayerID, MenuID, ItemID)
{
menu_destroy(MenuID);
if (ItemID < 0)
return;
PlayerGravity[PlayerID] = ItemID;
if (is_user_alive(PlayerID))
set_user_gravity(PlayerID, GRAVITY_VALUE[PlayerGravity[PlayerID]]);
}
__________________