/* Plugin generated by AMXX-Studio */ #include #include #include #include #include #define PLUGIN "Deathrun vip" #define VERSION "2.0" #define AUTHOR "michal" #define ADMIN_VIP ADMIN_LEVEL_H #define SCOREATTRIB_NONE 0 #define SCOREATTRIB_DEAD ( 1 << 0 ) #define SCOREATTRIB_BOMB ( 1 << 1 ) #define SCOREATTRIB_VIP ( 1 << 2 ) new SayTxT #define ADMIN_CHECK ADMIN_LEVEL_H new const ok[] = "misc/dr/ok.wav" static const COLOR[] = "^x04" //green static const CONTACT[] = "" new maxplayers new gmsgSayText public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam( Ham_Spawn, "player", "Bacon_Spawn", 1 ); RegisterHam(Ham_Spawn, "player", "Spawn", 1); register_cvar("vip_gravity", "0.8") register_cvar("vip_speed", "300.0") register_cvar("vip_zycie", "65") register_cvar("vip_niewidzialnosc", "150") SayTxT = get_user_msgid("SayText"); maxplayers = get_maxplayers() gmsgSayText = get_user_msgid("SayText") register_clcmd("say /test", "menu2") register_clcmd("say", "handle_say") register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" ); register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER) } public plugin_precache() { precache_model("models/player/smith/smith.mdl") precache_sound(ok) return PLUGIN_CONTINUE } public Spawn(id) { if (get_user_flags(id) & ADMIN_LEVEL_H) { if(cs_get_user_team(id) == CS_TEAM_T) menu(id) if(cs_get_user_team(id) == CS_TEAM_CT) menu1(id) } else { menu2(id) } } public menu(id) { new menu = menu_create("\r.::Vip menu::.", "wybieranie") menu_additem(menu, "\rGrawitacja", "1", 0) menu_additem(menu, "\wPredkosc", "2", 0) menu_additem(menu, "\y100 \rPancerzu ", "7", 0) menu_additem(menu, "\yDeagle z 5 nabojami", "3", 0) menu_additem(menu, "\rGranat Oslepiajacy + Wybuchowy", "4", 0) menu_additem(menu, "\wNoktowizor", "5", 0) menu_additem(menu, "\w150 \rHp", "6", 0) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu, 0) } public menu1(id) { new menu = menu_create("\r.::Vip menu::.", "wybieranie1") menu_additem(menu, "\rGrawitacja", "1", 0) menu_additem(menu, "\wPredkosc", "2", 0) menu_additem(menu, "\w65 \rHp", "6", 0) menu_additem(menu, "\y100 \rPancerzu ", "7", 0) menu_additem(menu, "\yUsp z 5 nabojami", "3", 0) menu_additem(menu, "\rGranat Zamrazajacy", "4", 0) menu_additem(menu, "\w30% Widocznosci", "5", 0) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu, 0) } public menu2(id) { new menu = menu_create("\r.::VIP Menu::.", "wybieranie2") menu_additem(menu, "\rGravitka", "1", 0) menu_additem(menu, "\wSpeed", "2", 0) menu_additem(menu, "\yZycie ", "3", 0) menu_additem(menu, "\yGranaty", "4", 0) menu_additem(menu, "\rNiewidzialnosc", "5", 0) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu, 0) } public wybieranie(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED } new data[6], iName[64] new acces, callback menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1:{ fm_set_user_gravity(id, 0.3) client_printcolor(id, "/ctr[VIP] Wybrales grawitacje") client_cmd(id, "spk %s", ok) menu_destroy(menu) return PLUGIN_HANDLED } case 2:{ fm_set_user_maxspeed(id, 1200.0) client_printcolor(id, "/ctr[VIP] Wybrales predkosc") client_cmd(id, "spk %s", ok) menu_destroy(menu) return PLUGIN_HANDLED } case 3:{ client_printcolor(id, "/ctr[VIP] Wybrales Deagle z 5 nabojami") client_cmd(id, "spk %s", ok) fm_give_item(id, "weapon_deagle") new weapon_id = find_ent_by_owner(-1, "weapon_deagle", id); if(weapon_id) { cs_set_weapon_ammo(weapon_id, 5); } menu_destroy(menu) return PLUGIN_HANDLED } case 4:{ fm_give_item(id, "weapon_hegrenade") fm_give_item(id, "weapon_flashbang") client_printcolor(id, "/ctr[VIP] Wybrales Granata Wybuchowego + Oslepiajacego") client_cmd(id, "spk %s", ok) menu_destroy(menu) return PLUGIN_HANDLED } case 5:{ cs_set_user_nvg(id) client_printcolor(id, "/ctr[VIP] Wybrales Noktowizor") client_cmd(id, "spk %s", ok) menu_destroy(menu) return PLUGIN_HANDLED } case 6:{ fm_set_user_health(id, get_user_health(id) + 150); client_printcolor(id, "/ctr[VIP] Wybrales 150 Hp") client_cmd(id, "spk %s", ok) menu_destroy(menu) return PLUGIN_HANDLED } case 7:{ fm_set_user_armor(id, get_user_armor(id) + 100) client_printcolor(id, "/ctr[VIP] Wybrales 100 Pancerzu") client_cmd(id, "spk %s", ok) menu_destroy(menu) return PLUGIN_HANDLED } } menu_destroy(menu) return PLUGIN_HANDLED } public wybieranie1(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED } new data[6], iName[64] new acces, callback menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1:{ fm_set_user_gravity( id,0.3) client_printcolor(id, "/ctr[VIP] Wybrales grawitacje") client_cmd(id, "spk %s", ok) menu_destroy(menu) return PLUGIN_HANDLED } case 2:{ fm_set_user_maxspeed(id, 1200.0) client_printcolor(id, "/ctr[VIP] Wybrales predkosc") client_cmd(id, "spk %s", ok) menu_destroy(menu) return PLUGIN_HANDLED } case 3:{ client_printcolor(id, "/ctr[VIP] Wybrales Usp z 5 nabojami") fm_give_item(id, "weapon_usp") new weapon_id = find_ent_by_owner(-1, "weapon_usp", id); if(weapon_id) { cs_set_weapon_ammo(weapon_id, 5); } client_cmd(id, "spk %s", ok) menu_destroy(menu) return PLUGIN_HANDLED } case 4:{ fm_give_item(id, "weapon_smokegrenade") client_printcolor(id, "/ctr[VIP] Wybrales Granat Zamrazajacy") client_cmd(id, "spk %s", ok) menu_destroy(menu) return PLUGIN_HANDLED } case 5:{ fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 30); client_cmd(id, "spk %s", ok) client_printcolor(id, "/ctr[VIP] Wybrales Niewidzialnosc") menu_destroy(menu) return PLUGIN_HANDLED } case 6:{ fm_set_user_health(id, get_user_health(id) + 150); client_printcolor(id, "/ctr[VIP] Wybrales 65 Hp") client_cmd(id, "spk %s", ok) menu_destroy(menu) return PLUGIN_HANDLED } case 7:{ fm_set_user_armor(id, get_user_armor(id) + 100) client_printcolor(id, "/ctr[VIP] Wybrales 100 Pancerzu") client_cmd(id, "spk %s", ok) menu_destroy(menu) return PLUGIN_HANDLED } } menu_destroy(menu) return PLUGIN_HANDLED } public wybieranie2(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED } new data[6], iName[64] new acces, callback menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1:{ fm_set_user_gravity(id,get_cvar_float("vip_gravity")) menu_destroy(menu) return PLUGIN_HANDLED } case 2:{ fm_set_user_maxspeed(id,get_cvar_float("vip_speed")) menu_destroy(menu) return PLUGIN_HANDLED } case 3:{ fm_set_user_health(id,get_cvar_num("vip_zycie")) menu_destroy(menu) return PLUGIN_HANDLED } case 4:{ fm_give_item(id,"weapon_hegrenade") fm_give_item(id,"weapon_smokegrenade") fm_give_item(id,"weapon_flashbang") menu_destroy(menu) return PLUGIN_HANDLED } case 5:{ fm_set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, get_cvar_num("vip_niewidzialnosc")) menu_destroy(menu) return PLUGIN_HANDLED } } menu_destroy(menu) return PLUGIN_HANDLED } public handle_say(id) { new said[192] read_args(said,192) if( ( containi(said, "who") != -1 && containi(said, "/vips") != -1 ) || contain(said, "/vip") != -1 ) set_task(0.1,"print_adminlist",id) return PLUGIN_CONTINUE } 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_CHECK) get_user_name(id, adminnames[count++], 31) len = format(message, 255, "%s Vipy 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, "Brak vipow online | Możesz go zakupic na cs-mps.xaa.pl") 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() } 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(); } } public Bacon_Spawn(id) { if (get_user_flags(id) & ADMIN_LEVEL_H) { new CsTeams:userTeam = cs_get_user_team(id) if (userTeam == CS_TEAM_T) { cs_set_user_model(id, "smith") } else if(userTeam == CS_TEAM_CT) { cs_set_user_model(id, "smith") } else { cs_reset_user_model(id) } } } public MessageScoreAttrib( iMsgID, iDest, iReceiver ) { new iPlayer = get_msg_arg_int( 1 ); if( is_user_connected( iPlayer ) && ( get_user_flags( iPlayer ) & ADMIN_VIP ) ) { set_msg_arg_int( 2, ARG_BYTE, is_user_alive( iPlayer ) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD ); } }