Code: Select all
#include < amxmodx >#include < amxmisc >#include < cstrike >#include < fakemeta_util >#include < hamsandwich > //#define USE_COLOREDTRANSLIT #if !defined USE_COLOREDTRANSLIT #define prefix "^1[^4STEAM^1]" #define gmsg_SayText 76#else #include < colored_translit >#endif #define PLUGIN "steam_menu"#define VERSION "2.5"#define AUTHOR "CaNiBaL" const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE) new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0 new g_round, mapname[32] public plugin_init(){ register_plugin(PLUGIN, VERSION, AUTHOR) #if !defined USE_COLOREDTRANSLIT register_message(gmsg_SayText, "msgSayText") #endif register_menu("Menu 1", keys, "func_menu") RegisterHam( Ham_Spawn , "player" , "HamSpawnPlayer" , 1 ) register_event("HLTV", "round_start", "a", "1=0", "2=0") register_event("TextMsg", "round_restart", "a", "2=#Game_will_restart_in","2=#Game_Commencing");}#if !defined USE_COLOREDTRANSLITpublic msgSayText(msgId,msgDest,msgEnt){ new id = get_msg_arg_int(1); if(!is_user_connected(id)) return 0; if(is_user_steam(id)) { new sChannel[256], sName[32], sOutputMessage[192]; get_msg_arg_string(2, sChannel, charsmax(sChannel)) if(equal(sChannel,"#Cstrike_Chat_All")) { formatex(sOutputMessage, charsmax(sOutputMessage), "%s%s", prefix, sChannel); } else { formatex(sOutputMessage, charsmax(sOutputMessage), "%s^1%s", prefix, sChannel); } set_msg_arg_string(2, sOutputMessage); get_user_name(id, sName, charsmax(sName)); format(sName, charsmax(sName), "^3%s^1", sName); set_msg_arg_string(3, sName); } return 0;}#elsepublic ct_message_format(id){ if(is_user_steam(id)) ct_add_to_msg(CT_MSGPOS_PREFIX,"[^x04STEAM^x01]") else ct_add_to_msg(CT_MSGPOS_PREFIX, "")}#endifpublic client_putinserver(id) set_task(6.0, "connect", id)public connect(id){ new name[33] get_user_name(id, name, 32) if(is_user_steam(id) && is_user_admin(id)) { set_hudmessage(255, 255, 85, -1.0, -1.0, 0, 3.0, 3.0) show_hudmessage(id, "Admin %s prisijunge per Steam`a", name) } else if(is_user_steam(id)) { set_hudmessage(85, 255, 255, -1.0, -1.0, 0, 3.0, 3.0) show_hudmessage(id, "Zaidejas %s prisijunge per Steam`a", name) }} public plugin_cfg(){ get_mapname(mapname, sizeof(mapname)-1);} public round_start() g_round++ public round_restart() g_round = 0 public HamSpawnPlayer(id) if(is_user_alive(id)) { server_menu(id) STEAM(id) } stock bool:is_user_steam(id){ static dp_pointer; if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider"))) { server_cmd("dp_clientinfo %d", id); server_exec(); return (get_pcvar_num(dp_pointer) == 2) ? true : false; } return false;}public server_menu(id){ new name[32] get_user_name(id, name, 31) static menu[650], iLen iLen = 0 if(!equali(mapname, "35_hp") && is_user_steam(id) && g_round >=3) { iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\wSveiki: \y%s^n\wBonusas \rSteam \wzaidejams^n^n", name) iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wAK-47^n") keys |= MENU_KEY_1 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \wM4A1^n") keys |= MENU_KEY_2 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \wAWP^n") keys |= MENU_KEY_3 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4. \wFAMAS^n^n") keys |= MENU_KEY_4 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r0. \wIseiti^n") keys |= MENU_KEY_0 show_menu(id, keys, menu, -1, "Menu 1") } else { return } return}public func_menu(id, key){ switch(key) { case 0: { drop_weapons(id, 1) drop_weapons(id, 2) fm_give_item( id, "weapon_ak47" ) cs_set_user_bpammo( id , CSW_AK47, 90 ) fm_give_item( id, "weapon_deagle" ) cs_set_user_bpammo( id , CSW_DEAGLE, 90 ) } case 1: { drop_weapons(id, 1) drop_weapons(id, 2) fm_give_item( id, "weapon_m4a1" ) cs_set_user_bpammo( id , CSW_M4A1, 90 ) fm_give_item( id, "weapon_deagle" ) cs_set_user_bpammo( id , CSW_DEAGLE, 90 ) } case 2: { drop_weapons(id, 1) drop_weapons(id, 2) fm_give_item( id, "weapon_awp" ) cs_set_user_bpammo( id , CSW_AWP, 30 ) fm_give_item( id, "weapon_deagle" ) cs_set_user_bpammo( id , CSW_DEAGLE, 90 ) } case 3: { drop_weapons(id, 1) drop_weapons(id, 2) fm_give_item( id, "weapon_famas" ) cs_set_user_bpammo( id , CSW_FAMAS, 90 ) fm_give_item( id, "weapon_deagle" ) cs_set_user_bpammo( id , CSW_DEAGLE, 90 ) } } return PLUGIN_HANDLED}public STEAM(id){ if ( !equali(mapname, "35_hp") && is_user_steam(id) ) { drop_weapons(id, 2) fm_give_item( id, "weapon_hegrenade" ) fm_give_item( id, "weapon_flashbang" ) fm_give_item( id, "weapon_flashbang" ) fm_give_item( id, "item_assaultsuit" ) fm_give_item( id, "item_thighpack" ) fm_give_item( id, "weapon_deagle") fm_give_item( id, "ammo_50ae" ) fm_give_item( id, "ammo_50ae" ) fm_give_item( id, "ammo_50ae" ) fm_give_item( id, "ammo_50ae" ) fm_give_item( id, "ammo_50ae" ) } return}stock drop_weapons(id, dropwhat){ static weapons[32], num, i, weaponid num = 0 get_user_weapons(id, weapons, num) for (i = 0; i < num; i++) { weaponid = weapons[i] if ((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM))) { static wname[32] get_weaponname(weaponid, wname, charsmax(wname)) engclient_cmd(id, "drop", wname) } } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }*/