#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_COLOREDTRANSLIT
public 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;
}
#else
public 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, "")
}
#endif
public 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, 0.32, 0.30, 0, 3.0, 3.0)
show_hudmessage(id, "Админ %s зашол на сервер со Steam`a", name)
}
else if(is_user_steam(id))
{
set_hudmessage(85, 255, 255, 0.32, 0.30, 0, 3.0, 3.0)
show_hudmessage(id, "Игрок %s зашол на сервер со 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, "\wПривет: \y%s^n\wБонус для \rSteam \wигроков^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. \wВыход^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 }
*/