Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <fakemeta_util>
new g_Steam[33], g_Round
new pCvarFl, pCvarHe, pCvarSm, pCvarArmor, pCvarDgl, pCvarMsg
native vip_auto_deagle(id)
public plugin_init()
{
register_plugin("Steam Bonus", "1.0", "ill")
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")
RegisterHam(Ham_Spawn, "player", "fw_SpawnPost", 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")
new iDir[64]
get_configsdir(iDir, 61)
server_cmd("exec %s/steam_bonus.cfg", iDir)
}
public event_round_start()
{
g_Round++
}
public event_restart_game()
{
g_Round = 0
}
public client_putinserver(id)
{
g_Steam[id] = is_user_steam(id) ? 1 : 0
}
public fw_SpawnPost(id)
{
if(!is_user_alive(id))
{
return
}
if(!g_Steam[id] || get_user_flags(id) & ADMIN_LEVEL_H || g_Round < 2)
{
return
}
if(get_pcvar_num(pCvarFl))
{
give_item(id, "weapon_flashbang")
if(get_pcvar_num(pCvarFl) > 1)
{
give_item(id, "weapon_flashbang")
}
}
if(get_pcvar_num(pCvarHe))
{
give_item(id, "weapon_hegrenade")
}
if(get_pcvar_num(pCvarSm))
{
give_item(id, "weapon_smokegrenade")
}
if(get_pcvar_num(pCvarArmor))
{
if(get_user_armor(id) < get_pcvar_num(pCvarArmor))
cs_set_user_armor(id, get_pcvar_num(pCvarArmor), CS_ARMOR_VESTHELM)
}
if(get_pcvar_num(pCvarDgl) && vip_auto_deagle(id))
{
static const pistols[6] = { CSW_USP, CSW_GLOCK18, CSW_ELITE, CSW_FIVESEVEN, CSW_P228, CSW_DEAGLE }
for(new i = 0; i < 6; i++)
{
fm_strip_user_gun(id, pistols[i])
}
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
if(get_pcvar_num(pCvarMsg))
{
ChatColor(id, "^4[STEAM] ^1Вы получили бонус за лицензионную версию игры!")
}
}
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
}
stock ChatColor(const id, const input[], any:...)
{
static msg[191], count, players[32], i, iSayText
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
count = 1
if(id) players[0] = id
else get_players(players, count, "ch")
if(!iSayText) iSayText = get_user_msgid("SayText")
for (i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, iSayText, _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
Код
st_grenade_fl "0" // 0 - не выдавать, 1 - 1шт, 2 - 2шт
st_grenade_he "1" // 0 - не выдавать, 1 - выдавать
st_grenade_sm "0" // 0 - не выдавать, 1 - выдавать
st_armor "100" // 0 - не выдавать, 1-255 - выдавать
st_deagle "1" // 0 - не выдавать, 1 - выдавать
st_msg "1" // 0 - не показывать, 1 - показывать
Код
Конфигурация файла в конфиге, который надо запихнуть в папку configs
Настройка steam_bonus.cfg
st_grenade_fl 1 //Выдавать ли FLASH гранату или нет // 1 - 1шт, 2 - 2шт
st_grenade_he 1 //Выдавать ли HE гранату или нет
st_grenade_sm 1 //Выдавать ли SMOKE гранату или нет
st_armor "100" //Сколько выдавать брони 1-255
st_deagle 1 //Выдавать ли DEAGLE или нет
st_msg 1" //Писать в чате каждый раунд "Вы получили бонус за лицензионную версию игры!" или нет
Работать начинает с 2 раунда