#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <fakemeta_util>
#include <fun>
#include <hamsandwich>
#include <colorchat>
#define PLUGIN "Bonus Box"
#define VERSION "1.0"
#define AUTHOR "Csabika20034"
new const ClassName[] = "BonusBox"
new Model[2][] =
{
"models/cs_box/box1.mdl",
"models/cs_box/box2.mdl"
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("HLTV", "RoundStart", "a", "1=0", "2=0")
register_event("DeathMsg", "Death", "a")
register_forward(FM_Touch, "Touch")
}
public plugin_precache()
{
for(new i = 0; i < sizeof Model; i++)
precache_model(Model[i])
}
public RoundStart()
{
new ent = FM_NULLENT
while((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", ClassName)))
{
engfunc(EngFunc_RemoveEntity, ent)
}
}
public Death()
{
new victim = read_data(2)
AddBonusBox(victim)
return HAM_IGNORED
}
public AddBonusBox(id)
{
if(!is_user_connected(id) || cs_get_user_team(id) == CS_TEAM_SPECTATOR)
return
new ent = fm_create_entity("info_target")
if(!pev_valid(ent))
return
new origin[3]
get_user_origin(id, origin)
new Float:fOrigin[3]
IVecFVec(origin, fOrigin)
set_pev(ent, pev_classname, ClassName)
engfunc(EngFunc_SetModel, ent, Model[random(2)])
set_pev(ent, pev_mins, Float:{-10.0,-10.0,0.0})
set_pev(ent, pev_maxs, Float:{10.0,10.0,25.0})
engfunc(EngFunc_SetSize, ent,
Float:{-10.0,-10.0,0.0},
Float:{10.0,10.0,25.0})
set_pev(ent, pev_solid, SOLID_BBOX)
set_pev(ent, pev_movetype, MOVETYPE_TOSS)
set_pev(ent, pev_origin, fOrigin)
set_pev(ent, pev_animtime, get_gametime())
set_pev(ent, pev_framerate, 1.0)
set_pev(ent, pev_sequence, 0)
}
public Touch(toucher, touched)
{
if(!is_user_alive(toucher))
return FMRES_IGNORED
if(!pev_valid(touched))
return FMRES_IGNORED
new classname[32]
pev(touched, pev_classname, classname, charsmax(classname))
if(!equal(classname, ClassName))
return FMRES_IGNORED
GiveBonus(toucher)
set_pev(touched, pev_effects, EF_NODRAW)
set_pev(touched, pev_solid, SOLID_NOT)
engfunc(EngFunc_RemoveEntity, touched)
return FMRES_IGNORED
}
public GiveBonus(id)
{
switch(random_num(1,15))
{
case 1:
{
cs_set_user_money(id, cs_get_user_money(id) + 500)
ColorChat(id, RED, "^4[Bonus-Box] ^1Jutalmad:^4 500$")
}
case 2:
{
give_item(id, "weapon_hegrenade")
ColorChat(id, RED, "^4[Bonus-Box] ^1Jutalmad:^3 HE Gránát")
}
case 3:
{
set_user_health(id, get_user_health(id) + 10)
ColorChat(id, RED, "^4[Bonus-Box] ^1Jutalmad:^3 +10 HP")
}
case 4:
{
set_user_frags(id, get_user_frags(id) + 5)
ColorChat(id, RED, "^4[Bonus-Box] ^1Jutalmad:^3 +5 Frag")
}
case 5:
{
give_item(id, "weapon_deagle")
ColorChat(id, RED, "^4[Bonus-Box] ^1Jutalmad:^4 Deagle")
}
case 6:
{
give_item(id, "weapon_m4a1")
ColorChat(id, RED, "^4[Bonus-Box] ^1Jutalmad:^4 M4A1")
}
case 7:
{
set_user_maxspeed(id, 400.0)
ColorChat(id, RED, "^4[Bonus-Box] ^1Jutalmad:^3 Speed")
}
case 8:
{
ColorChat(id, NORMAL, "^4[Bonus-Box]^1 Ebben a dobozban nem volt jutalom")
}
case 9:
{
set_user_gravity(id, 0.5)
ColorChat(id, RED, "^4[Bonus-Box] ^1Jutalmad:^4 Gravity")
}
case 10:
{
ColorChat(id, NORMAL, "^4[Bonus-Box]^1 Ebben a dobozban nem volt jutalom")
}
case 11:
{
give_item(id, "weapon_awp")
ColorChat(id, RED, "^4[Bonus-Box]^1Jutalmad:^4 AWP")
}
case 12:
{
cs_set_user_money(id, cs_get_user_money(id) + 1000)
ColorChat(id, RED, "^4[Bonus-Box]^1Jutalmad:^4 1000$")
}
case 13:
{
ColorChat(id, NORMAL, "^4[Bonus-Box]^1 Ebben a dobozban nem volt jutalom")
}
case 14:
{
give_item(id, "weapon_ak47")
ColorChat(id, RED, "^4[Bonus-Box] ^1Jutalmad:^4 AK47")
}
case 15:
{
ColorChat(id, NORMAL, "^4[Bonus-Box]^1 Ebben a dobozban nem volt jutalom")
}
}
}