/*
* _______ _ _ __ __
* | _____/ | | | | \ \ __ / /
* | | | | | | | | / \ | |
* | | | |____| | | |/ __ \| |
* | | ___ | ______ | | / \ |
* | | |_ | | | | | | / \ |
* | | | | | | | | | | | |
* | |____| | | | | | | | | |
* |_______/ |_| |_| \_/ \_/
*
*
*
* Last Edited: 12-30-07
*
* ============
* Changelog:
* ============
*
* v4.0
* -Added ML
* -Optimized Code
*
* v3.0
* -ReWrite #2
*
* v2.0
* -ReWrite #1
*
* v1.0
* -Initial Release
*
*/
#define VERSION "4.0"
#include <amxmodx>
#include <amxmisc>
#include <fun>
new Float:grav[33]
new bool:grav_all
new show_activity_pcvar
public plugin_init()
{
register_plugin("Personal Gravity",VERSION,"GHW_Chronic")
register_concmd("amx_gravityp","SetGrav",ADMIN_LEVEL_C,"<nick or @all> <gravity>")
register_event("ResetHUD","possible_spawn","b")
register_dictionary("GHW_Personal_Gravity.txt")
show_activity_pcvar = get_cvar_pointer("show_activity")
}
public client_connect(id) grav[id]=1.0
public possible_spawn(id)
{
if(is_user_alive(id))
{
if(!grav_all)
set_user_gravity(id,grav[id])
else
set_user_gravity(id,grav[0])
}
}
public SetGrav(id,level,cid)
{
if(!cmd_access(id,level,cid,3))
{
return PLUGIN_HANDLED
}
new arg[32]
read_argv(1,arg,31)
if(equali(arg,"@all"))
{
grav_all=true
read_argv(2,arg,31)
grav[0] = str_to_float(arg) / 800.0
new players[32], num
get_players(players,num,"ah")
for(new i=0;i<num;i++)
possible_spawn(players[i])
new cvar_value = get_pcvar_num(show_activity_pcvar)
new gravity = str_to_num(arg)
if(cvar_value==1)
{
client_print(0,print_chat,"[AMXX] %L",0,"MSG_GRAVITY_ALL_CHAT1",gravity)
}
else if(cvar_value>1)
{
new aName[32]
get_user_name(id,aName,31)
client_print(0,print_chat,"[AMXX] %L",0,"MSG_GRAVITY_ALL_CHAT2",aName,gravity)
}
console_print(id,"[AMXX] ",id,"MSG_GRAVITY_ALL_CONSOLE",gravity)
}
else
{
new target = cmd_target(id,arg,3)
if(!target)
{
return PLUGIN_HANDLED
}
new pName[32]
get_user_name(target,pName,31)
read_argv(2,arg,31)
grav[target] = str_to_float(arg) / 800.0
new cvar_value = get_pcvar_num(show_activity_pcvar)
new gravity = str_to_num(arg)
if(cvar_value==1)
{
client_print(0,print_chat,"[AMXX] %L",0,"MSG_GRAVITY_SINGLE_CHAT1",pName,gravity)
}
else if(cvar_value>1)
{
new aName[32]
get_user_name(id,aName,31)
client_print(0,print_chat,"[AMXX] %L",0,"MSG_GRAVITY_SINGLE_CHAT2",aName,pName,gravity)
}
console_print(id,"[AMXX] %L",id,"MSG_GRAVITY_SINGLE_CONSOLE",pName,gravity)
set_user_gravity(id,grav[target])
}
return PLUGIN_HANDLED
}