#include #include #include #include #include #define FLAG ADMIN_IMMUNITY new const MENU_POPUP[] = "misc/DeathRunVip/vip_menu_popup.wav" new const MENU_OK[] = "misc/DeathRunVip/vip_menu_ok.wav" #define TASKID_SHOWHUD 2931 new g_hudsync new cvar_gravity new cvar_speed public plugin_precache() { precache_sound(MENU_POPUP) precache_sound(MENU_OK) } public plugin_init() { register_plugin("Deathrun V.I.P", "1.0", "DoviuX") cvar_gravity = register_cvar("dr_vip_gravity", "500") cvar_speed = register_cvar("dr_vip_speed", "500") RegisterHam(Ham_Spawn, "player", "bacon_spawn", 1) g_hudsync = CreateHudSyncObj() } public bacon_spawn(id) { if (!is_user_alive(id)) return static CsTeams: team ; team = cs_get_user_team(id) if (team == CS_TEAM_T && (get_user_flags(id) & FLAG)) { set_task(2.0, "T_menu", id) if(!task_exists(TASKID_SHOWHUD + id)) set_task(0.2, "Task_ShowHUD", TASKID_SHOWHUD + id) } else if (team == CS_TEAM_CT && (get_user_flags(id) & FLAG)) { set_task(2.0, "CT_menu", id) strip_user_weapons(id) give_item(id, "weapon_knife") if(!task_exists(TASKID_SHOWHUD + id)) set_task(0.2, "Task_ShowHUD", TASKID_SHOWHUD + id) } } public T_menu(id) { if(!is_user_alive(id)) return PLUGIN_HANDLED client_cmd(id, "spk %s", MENU_POPUP) new gmenu = menu_create("y~::*V.I.P Menu*::~" , "Vip_Handler"); menu_additem(gmenu ,"r255 wHealth", "1" , 0); menu_additem(gmenu ,"r255 wArmor", "2" , 0); menu_additem(gmenu ,"wGravity", "3" , 0); menu_additem(gmenu ,"wSpeed", "4" , 0); menu_additem(gmenu ,"wHegrenade", "6" , 0); menu_additem(gmenu ,"wNightVision (rFor dark mapsw)", "7" , 0); menu_setprop(gmenu , MPROP_EXIT , MEXIT_ALL); menu_display(id , gmenu , 0); return PLUGIN_CONTINUE } public CT_menu(id) { if(!is_user_alive(id)) return PLUGIN_HANDLED client_cmd(id, "spk %s", MENU_POPUP) new gmenu = menu_create("y~::*V.I.P Menu*::~" , "VipCt_Handler"); menu_additem(gmenu ,"r255 wHealth", "1" , 0); menu_additem(gmenu ,"r255 wArmor", "2" , 0); menu_additem(gmenu ,"wGravity", "3" , 0); menu_additem(gmenu ,"wSpeed", "4" , 0); menu_additem(gmenu ,"wHegrenade", "5" , 0); menu_additem(gmenu ,"wNightVision (rFor dark mapsw)", "6" , 0); menu_setprop(gmenu , MPROP_EXIT , MEXIT_ALL); menu_display(id , gmenu , 0); return PLUGIN_CONTINUE } public Vip_Handler(id, gmenu, item, player) { if (item == MENU_EXIT) { menu_destroy(gmenu) return PLUGIN_HANDLED } new data[6], iName[64] new access, callback menu_item_getinfo(gmenu, item, access, data, 5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1: { client_cmd(id, "spk %s", MENU_OK) set_user_health(id, 255) } case 2: { client_cmd(id, "spk %s", MENU_OK) set_user_armor(id, 255) } case 3: { client_cmd(id, "spk %s", MENU_OK) new Float: gravity gravity = get_pcvar_float(cvar_gravity) / 800 set_user_gravity(id, gravity) } case 4: { new Float: speed speed = get_pcvar_float(cvar_speed) client_cmd(id, "spk %s", MENU_OK) set_user_maxspeed(id, speed) } case 6: { give_item(id, "weapon_hegrenade") client_cmd(id, "spk %s", MENU_OK) } case 7: { cs_set_user_nvg(id) client_cmd(id, "spk %s", MENU_OK) } } menu_destroy(gmenu) return PLUGIN_HANDLED; } public VipCt_Handler(id, gmenu, item, player) { if (item == MENU_EXIT) { menu_destroy(gmenu) return PLUGIN_HANDLED } new data[6], iName[64] new access, callback menu_item_getinfo(gmenu, item, access, data, 5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1: { client_cmd(id, "spk %s", MENU_OK) set_user_health(id, 255) } case 2: { client_cmd(id, "spk %s", MENU_OK) set_user_armor(id, 255) } case 3: { client_cmd(id, "spk %s", MENU_OK) new Float: gravity gravity = get_pcvar_float(cvar_gravity) / 800 set_user_gravity(id, gravity) } case 4: { new Float: speed speed = get_pcvar_float(cvar_speed) client_cmd(id, "spk %s", MENU_OK) set_user_maxspeed(id, speed) } case 5: { give_item(id, "weapon_hegrenade") client_cmd(id, "spk %s", MENU_OK) } case 6: { cs_set_user_nvg(id) client_cmd(id, "spk %s", MENU_OK) } } menu_destroy(gmenu) return PLUGIN_HANDLED; } public Task_ShowHUD(task) { new id = task - TASKID_SHOWHUD if(!is_user_alive(id)) return PLUGIN_HANDLED static health, armour health = get_user_health(id) armour = get_user_armor(id) set_hudmessage(150, 150, 150, 0.40, 0.92, 0, 0.0, 0.3, 0.0, 0.0) ShowSyncHudMsg(id, g_hudsync , ".::*Health: %d -|V.I.P|- Armour: %d*::.", health, armour) set_task(0.1, "Task_ShowHUD", TASKID_SHOWHUD + id) return PLUGIN_CONTINUE } public client_PreThink(id) { if(is_user_alive(id)) { if(get_user_flags(id) & FLAG) { new oldbuttons = get_user_oldbutton(id); oldbuttons &= ~IN_JUMP; entity_set_int(id, EV_INT_oldbuttons, oldbuttons); } } }