#pragma semicolon 0
#include <amxmodx>
#include <reapi>
#if AMXX_VERSION_NUM < 183
#include <colorchat>
#endif
#define CheckBit(%1,%2) (%1 & (1 << (%2 & 31)))
#define SetBit(%1,%2) (%1 |= (1 << (%2 & 31)))
#define ClearBit(%1,%2) (%1 &= ~(1 << (%2 & 31)))
new g_IsSteam;
new g_Round
new pCvarFl, pCvarHe, pCvarSm, pCvarArmor, pCvarDgl, pCvarMsg, pCvarRoundMin
new g_ExludeFlag;
public plugin_init()
{
register_plugin("Steam Bonus", "1.1", "ill+F@nToM")
new sPref[][] = {"awp_", "aim_", "35hp", "fy_", "$"};
new map[32]; get_mapname(map, charsmax(map));
for(new i; i < sizeof sPref; i++)
{
if(containi(map, sPref[i]) != -1)
{
pause("ad");
return;
}
}
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
register_event("TextMsg", "event_restart_game", "a", "2=#Game_Commencing", "2=#Game_will_restart_in")
RegisterHookChain(RG_CBasePlayer_Spawn, "CBasePlayer_Spawn", 1)
pCvarFl = register_cvar("st_grenade_fl", "1")
pCvarHe = register_cvar("st_grenade_he", "1")
pCvarSm = register_cvar("st_grenade_sm", "1")
pCvarArmor = register_cvar("st_armor", "100")
pCvarDgl = register_cvar("st_deagle", "1")
pCvarMsg = register_cvar("st_msg", "1")
pCvarRoundMin = register_cvar("st_round_min", "2")
register_cvar("st_exlude_flag", "t")
new iDir[64]
get_localinfo("amxx_configsdir", iDir, charsmax(iDir));
server_cmd("exec %s/steam_bonus_a2.cfg", iDir)
}
public plugin_cfg()
{
new tmp[32];
get_cvar_string("st_exlude_flag", tmp, charsmax(tmp));
g_ExludeFlag = read_flags(tmp);
}
public event_round_start()
{
g_Round++
}
public event_restart_game()
{
g_Round = 0
}
public client_putinserver(id)
{
is_user_steam(id) ? SetBit(g_IsSteam, id) : ClearBit(g_IsSteam, id)
}
public CBasePlayer_Spawn(id)
{
static tmp, ArmorType:armortype;
if (!is_user_alive(id)) {
return HC_CONTINUE;
}
if (!CheckBit(g_IsSteam, id) ||(get_user_flags(id) & g_ExludeFlag) || g_Round < get_pcvar_num(pCvarRoundMin)) {
return HC_CONTINUE;
}
if ((tmp = get_pcvar_num(pCvarFl)) > 0) {
rg_give_item(id, "weapon_flashbang")
rg_set_user_bpammo(id, WEAPON_FLASHBANG, tmp)
}
if (get_pcvar_num(pCvarHe) == 1) {
rg_give_item(id, "weapon_hegrenade")
}
if (get_pcvar_num(pCvarSm) == 1) {
rg_give_item(id, "weapon_smokegrenade")
}
if ((tmp = get_pcvar_num(pCvarArmor)) > 0) {
if(rg_get_user_armor(id, armortype) < tmp) {
rg_set_user_armor(id, tmp, ARMOR_VESTHELM)
}
}
if (get_pcvar_num(pCvarDgl)) {
rg_give_item(id, "weapon_deagle", GT_REPLACE)
rg_set_user_bpammo(id, WEAPON_DEAGLE, 35)
}
if (get_pcvar_num(pCvarMsg)) {
client_print_color(id, print_team_default, "^4[STEAM] ^1Вы получили бонус за лицензионную версию игры!")
}
return HC_CONTINUE;
}
//stock 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) ? 1 : 0
// }
// return 0
//}