/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <engine>
#include <fun>
#include <cstrike>
#define PLUGIN "VIP CLASIC"
#define VERSION "1.0"
#define AUTHOR "IoNNuTz"
#define is_user_vip(%1) (get_user_flags(%1) & ADMIN_LEVEL_H)
static const COLOR[] = "^x04" //green
new maxplayers
new gmsgSayText
new bool: MakeJump[33], JumpNum[33];
new g_ScoreAttrib;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /vip", "CmdVip")
register_clcmd("say /vips", "print_adminlist")
RegisterHam(Ham_Spawn, "player", "HamSpawn", 1 )
}
public client_putinserver(id) {
MakeJump[id] = false;
JumpNum[id] = 0
}
public CmdVip(id)
{
show_motd(id,"addons/amxmodx/configs/vip.html","VIP")
}
public HamSpawn(id)
{
if(is_user_alive(id) && is_user_vip(id))
{
set_user_scoreattrib(id, 4);
set_user_footsteps(id, 1)
give_item(id,"weapon_flashbang")
cs_set_user_bpammo(id,CSW_FLASHBANG, 2)
give_item(id,"weapon_hegrenade")
cs_set_user_bpammo(id,CSW_HEGRENADE, 2)
}
}
public eDeath()
{
new iKiller = read_data(1) ,
iDeath = read_data(2)
if(iKiller== iDeath)
return 1
if(!is_user_alive(iKiller))
return 1
if(is_user_vip(iKiller))
{
if(get_user_weapon(iKiller) == CSW_HEGRENADE)
{
if(cs_get_user_money(iKiller) + 2500 >= 16000)
{
cs_set_user_money(iKiller,16000)
}
else
{
cs_set_user_money(iKiller, cs_get_user_money(iKiller) + 2500)
}
if(get_user_health(iKiller) + 25 >= 255 )
{
set_user_health(iKiller, 255)
}
else
{
set_user_health(iKiller, get_user_health(iKiller) + 25)
}
}
else
{
if(cs_get_user_money(iKiller + 2000 >= 16000))
{
cs_set_user_money(iKiller,16000)
}
else
{
cs_set_user_money(iKiller, cs_get_user_money(iKiller)+ 2000)
}
if(get_user_health(iKiller) + 15 >= 255 )
{
set_user_health(iKiller, 255)
}
else
{
set_user_health(iKiller, get_user_health(iKiller) + 15)
}
}
}
return 1
}
public print_adminlist(user)
{
new adminnames[33][32]
new message[256]
new contactinfo[256], contact[112]
new id, count, x, len
for(id = 1 ; id <= maxplayers ; id++)
if(is_user_connected(id))
if(get_user_flags(id) & ADMIN_LEVEL_H)
get_user_name(id, adminnames[count++], 31)
len = format(message, 255, "%s VIP ONLINE: ",COLOR)
if(count > 0) {
for(x = 0 ; x < count ; x++) {
len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
if(len > 96 ) {
print_message(user, message)
len = format(message, 255, "%s ",COLOR)
}
}
print_message(user, message)
}
else {
len += format(message[len], 255-len, "NICIUN VIP ONLINE.")
print_message(user, message)
}
get_cvar_string("amx_contactinfo", contact, 63)
if(contact[0]) {
format(contactinfo, 111, "%s Contact Server Admin -- %s", COLOR, contact)
print_message(user, contactinfo)
}
}
print_message(id, msg[]) {
message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
write_byte(id)
write_string(msg)
message_end()
}
public client_PreThink(id) {
if(is_user_connected(id) && is_user_alive(id)) {
new NewButton = get_user_button(id),
OldButton = get_user_oldbutton(id);
if((NewButton & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(OldButton & IN_JUMP)) {
if(get_user_flags(id) & ADMIN_LEVEL_H) {
if(JumpNum[id] < 5) {
MakeJump[id] = true
JumpNum[id]++
}
}
else {
if(JumpNum[id] < 1) {
MakeJump[id] = true
JumpNum[id]++
}
}
}
if((NewButton & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
JumpNum[id] = 0
}
}
public client_PostThink(id) {
if(is_user_connected(id) && is_user_alive(id)) {
if(MakeJump[id]) {
new Float:Velocity[3]
entity_get_vector(id, EV_VEC_velocity, Velocity)
Velocity[2] = random_float(265.0, 285.0)
entity_set_vector(id, EV_VEC_velocity, Velocity)
MakeJump[id] = false
}
}
}
stock set_user_scoreattrib(id, attrib = 0)
{
message_begin(MSG_BROADCAST, g_ScoreAttrib, _, 0);
write_byte(id);
write_byte(attrib);
message_end( );
}