#include #include #include #include #include #include #include #include #define FLAG ADMIN_USER new const MENU_POPUP[] = "misc/DeathRunVip/vip_menu_popup.wav" new const MENU_OK[] = "misc/DeathRunVip/vip_menu_ok.wav" new const VIP_CONNECT[] = "misc/DeathRunVip/vip_connect.wav" #define TASKID_SHOWHUD 2931 new g_hudsync new cvar_gravity new cvar_speed new SayTxT public plugin_precache() { precache_sound(VIP_CONNECT) 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() SayTxT = get_user_msgid("SayText"); } public client_connect(client) { if(get_user_flags(client) & FLAG) { client_cmd(client, "spk %s", VIP_CONNECT) new name[32]; get_user_name(client, name, 31); set_hudmessage( 0, 255, 0, -1.0, 0.29, 0, 6.0, 12.0 ); show_hudmessage( 0, "Vip %s wchodzi na serwer!.", name); } } 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) set_user_rendering(id,kRenderFxGlowShell,255,0,0,kRenderNormal,25) } 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) set_user_rendering(id,kRenderFxGlowShell,255,0,0,kRenderNormal,25) } } public T_menu(id) { if(!is_user_alive(id)) return PLUGIN_HANDLED client_cmd(id, "spk %s", MENU_POPUP) new gmenu = menu_create("\yVIP MENU" , "Vip_Handler"); menu_additem(gmenu ,"\r255 \wZycie", "1" , 0); menu_additem(gmenu ,"\r255 \wArmor", "2" , 0); menu_additem(gmenu ,"\wGrawitacja", "3" , 0); menu_additem(gmenu ,"\wSzybkosc", "4" , 0); menu_additem(gmenu ,"\wHegrenade", "6" , 0); menu_additem(gmenu ,"\wNightVision (\rna ciemne mapki\w)", "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("\yVIP MENU" , "VipCt_Handler"); menu_additem(gmenu ,"\r255 \wZycie", "1" , 0); menu_additem(gmenu ,"\r255 \wArmor", "2" , 0); menu_additem(gmenu ,"\wGrawitacja", "3" , 0); menu_additem(gmenu ,"\wSzybkosc", "4" , 0); menu_additem(gmenu ,"\wHegrenade", "5" , 0); menu_additem(gmenu ,"\wNightVision (\rna ciemne mapki\w)", "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 , ".::*Zycie: %d -|V.I.P|- Armor: %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); } } } stock Create_BeamCylinder( origin[ 3 ], addrad, sprite, startfrate, framerate, life, width, amplitude, red, green, blue, brightness, speed ) { message_begin( MSG_PVS, SVC_TEMPENTITY, origin ); write_byte( TE_BEAMCYLINDER ); write_coord( origin[ 0 ] ); write_coord( origin[ 1 ] ); write_coord( origin[ 2 ] ); write_coord( origin[ 0 ] ); write_coord( origin[ 1 ] ); write_coord( origin[ 2 ] + addrad ); write_short( sprite ); write_byte( startfrate ); write_byte( framerate ); write_byte(life ); write_byte( width ); write_byte( amplitude ); write_byte( red ); write_byte( green ); write_byte( blue ); write_byte( brightness ); write_byte( speed ); message_end(); } stock te_sprite(id, Float:origin[3], sprite, scale, brightness) { message_begin(MSG_ONE, SVC_TEMPENTITY, _, id) write_byte(TE_SPRITE) write_coord(floatround(origin[0])) write_coord(floatround(origin[1])) write_coord(floatround(origin[2])) write_short(sprite) write_byte(scale) write_byte(brightness) message_end() } stock normalize(Float:fIn[3], Float:fOut[3], Float:fMul) { new Float:fLen = xs_vec_len(fIn) xs_vec_copy(fIn, fOut) fOut[0] /= fLen, fOut[1] /= fLen, fOut[2] /= fLen fOut[0] *= fMul, fOut[1] *= fMul, fOut[2] *= fMul } stock client_printcolor(const id, const input[], any:...) { new count = 1, players[32]; static msg[191]; vformat(msg,190,input,3); replace_all(msg,190,"/g","^4");// green txt replace_all(msg,190,"/y","^1");// orange txt replace_all(msg,190,"/ctr","^3");// team txt replace_all(msg,190,"/w","^0");// team txt if (id) players[0] = id; else get_players(players,count,"ch"); for (new i = 0; i < count; i++) if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, SayTxT, _, players[i]); write_byte(players[i]); write_string(msg); message_end(); } } #include #include #include #include #include #include #include #include #define FLAG ADMIN_USER new const MENU_POPUP[] = "misc/DeathRunVip/vip_menu_popup.wav" new const MENU_OK[] = "misc/DeathRunVip/vip_menu_ok.wav" new const VIP_CONNECT[] = "misc/DeathRunVip/vip_connect.wav" #define TASKID_SHOWHUD 2931 new g_hudsync new cvar_gravity new cvar_speed new SayTxT public plugin_precache() { precache_sound(VIP_CONNECT) 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() SayTxT = get_user_msgid("SayText"); } public client_connect(client) { if(get_user_flags(client) & FLAG) { client_cmd(client, "spk %s", VIP_CONNECT) new name[32]; get_user_name(client, name, 31); set_hudmessage( 0, 255, 0, -1.0, 0.29, 0, 6.0, 12.0 ); show_hudmessage( 0, "Vip %s wchodzi na serwer!.", name); } } 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) set_user_rendering(id,kRenderFxGlowShell,255,0,0,kRenderNormal,25) } 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) set_user_rendering(id,kRenderFxGlowShell,255,0,0,kRenderNormal,25) } } public T_menu(id) { if(!is_user_alive(id)) return PLUGIN_HANDLED client_cmd(id, "spk %s", MENU_POPUP) new gmenu = menu_create("\yVIP MENU" , "Vip_Handler"); menu_additem(gmenu ,"\r255 \wZycie", "1" , 0); menu_additem(gmenu ,"\r255 \wArmor", "2" , 0); menu_additem(gmenu ,"\wGrawitacja", "3" , 0); menu_additem(gmenu ,"\wSzybkosc", "4" , 0); menu_additem(gmenu ,"\wHegrenade", "6" , 0); menu_additem(gmenu ,"\wNightVision (\rna ciemne mapki\w)", "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("\yVIP MENU" , "VipCt_Handler"); menu_additem(gmenu ,"\r255 \wZycie", "1" , 0); menu_additem(gmenu ,"\r255 \wArmor", "2" , 0); menu_additem(gmenu ,"\wGrawitacja", "3" , 0); menu_additem(gmenu ,"\wSzybkosc", "4" , 0); menu_additem(gmenu ,"\wHegrenade", "5" , 0); menu_additem(gmenu ,"\wNightVision (\rna ciemne mapki\w)", "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 , ".::*Zycie: %d -|V.I.P|- Armor: %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); } } } stock Create_BeamCylinder( origin[ 3 ], addrad, sprite, startfrate, framerate, life, width, amplitude, red, green, blue, brightness, speed ) { message_begin( MSG_PVS, SVC_TEMPENTITY, origin ); write_byte( TE_BEAMCYLINDER ); write_coord( origin[ 0 ] ); write_coord( origin[ 1 ] ); write_coord( origin[ 2 ] ); write_coord( origin[ 0 ] ); write_coord( origin[ 1 ] ); write_coord( origin[ 2 ] + addrad ); write_short( sprite ); write_byte( startfrate ); write_byte( framerate ); write_byte(life ); write_byte( width ); write_byte( amplitude ); write_byte( red ); write_byte( green ); write_byte( blue ); write_byte( brightness ); write_byte( speed ); message_end(); } stock te_sprite(id, Float:origin[3], sprite, scale, brightness) { message_begin(MSG_ONE, SVC_TEMPENTITY, _, id) write_byte(TE_SPRITE) write_coord(floatround(origin[0])) write_coord(floatround(origin[1])) write_coord(floatround(origin[2])) write_short(sprite) write_byte(scale) write_byte(brightness) message_end() } stock normalize(Float:fIn[3], Float:fOut[3], Float:fMul) { new Float:fLen = xs_vec_len(fIn) xs_vec_copy(fIn, fOut) fOut[0] /= fLen, fOut[1] /= fLen, fOut[2] /= fLen fOut[0] *= fMul, fOut[1] *= fMul, fOut[2] *= fMul } stock client_printcolor(const id, const input[], any:...) { new count = 1, players[32]; static msg[191]; vformat(msg,190,input,3); replace_all(msg,190,"/g","^4");// green txt replace_all(msg,190,"/y","^1");// orange txt replace_all(msg,190,"/ctr","^3");// team txt replace_all(msg,190,"/w","^0");// team txt if (id) players[0] = id; else get_players(players,count,"ch"); for (new i = 0; i < count; i++) if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, SayTxT, _, players[i]); write_byte(players[i]); write_string(msg); message_end(); } }