#include <sourcemod>
#include <sdktools>
#include <sdkhooks>
#define MODEL_PILLS "models/w_models/weapons/w_eq_painpills.mdl"
#define MODEL_ADRENALINE "models/w_models/weapons/w_eq_adrenaline.mdl"
#define MODEL_FIRST_AID_KIT "models/w_models/weapons/w_eq_Medkit.mdl"
#define MODEL_BOX "models/props_junk/wood_crate001a.mdl"
#define MODEL_SMG_MP5 "models/w_models/weapons/w_smg_mp5.mdl"
#define MODEL_SMG "models/w_models/weapons/w_smg_uzi.mdl"
#define MODEL_SMG_SILENCED "models/w_models/weapons/w_smg_a.mdl"
#define MODEL_SHOTGUN_CHROME "models/w_models/weapons/w_shotgun.mdl"
#define MODEL_PUMPSHOTGUN "models/w_models/weapons/w_pumpshotgun_a.mdl"
#define MODEL_HUNTING "models/w_models/weapons/w_sniper_mini14.mdl"
#define MODEL_PISTOL "models/w_models/weapons/w_pistol_a.mdl"
#define MODEL_M60 "models/w_models/weapons/w_m60.mdl"
#define MODEL_AUTOSHOTGUN "models/w_models/weapons/w_autoshot_m4super.mdl"
#define MODEL_SHOTSPAS "models/w_models/weapons/w_shotgun_spas.mdl"
#define MODEL_SNIPER_MILI "models/w_models/weapons/w_sniper_military.mdl"
#define MODEL_AK47 "models/w_models/weapons/w_rifle_ak47.mdl"
#define MODEL_RIFLE_DESERT "models/w_models/weapons/w_desert_rifle.mdl"
#define MODEL_SNIPER_AWP "models/w_models/weapons/w_sniper_awp.mdl"
#define MODEL_SG552 "models/w_models/weapons/w_rifle_sg552.mdl"
#define MODEL_SCOUT "models/w_models/weapons/w_sniper_scout.mdl"
#define MODEL_GRENADE_LAUNCHER "models/w_models/weapons/w_grenade_launcher.mdl"
#define MODEL_PISTOL_MAGNUM "models/w_models/weapons/w_desert_eagle.mdl"
#define MODEL_MOLOTOV "models/w_models/weapons/w_eq_molotov.mdl"
#define MODEL_PIPE_BOMB "models/w_models/weapons/w_eq_pipebomb.mdl"
#define MODEL_VOMITJAR "models/w_models/weapons/w_eq_bile_flask.mdl"
#define MODEL_DEFIB "models/w_models/weapons/w_eq_defibrillator.mdl"
#define MODEL_BASEBALL "models/weapons/melee/w_bat.mdl"
#define MODEL_CRICKET "models/weapons/melee/w_cricket_bat.mdl"
#define MODEL_CROWBAR "models/weapons/melee/w_crowbar.mdl"
#define MODEL_ELECTRIC_GUITAR "models/weapons/melee/w_electric_guitar.mdl"
#define MODEL_FIREAXE "models/weapons/melee/w_fireaxe.mdl"
#define MODEL_FRYING_PAN "models/weapons/melee/w_frying_pan.mdl"
//#define MODEL_GOLFCLUB
#define MODEL_KATANA "models/weapons/melee/w_katana.mdl"
#define MODEL_MACHETE "models/weapons/melee/w_machete.mdl"
#define MODEL_TONFA "models/weapons/melee/w_tonfa.mdl"
#define MODEL_KNIFE "models/w_models/weapons/w_knife_t.mdl"
#define MODEL_CHAINSAW "models/weapons/melee/w_chainsaw.mdl"
#define MODEL_EXP "models/w_models/weapons/w_eq_explosive_ammopack.mdl"
#define MODEL_INC "models/w_models/weapons/w_eq_incendiary_ammopack.mdl"
#define MODEL_GASCAN "models/props_junk/gascan001a.mdl"
//#define MODEL_FIREWORKS ""
#define MELEE_FIREAXE "fireaxe"
#define MELEE_FRYING_PAN "frying_pan"
#define MELEE_MACHETE "machete"
#define MELEE_BASEBALL_BAT "baseball_bat"
#define MELEE_CROWBAR "crowbar"
#define MELEE_CRICKET_BAT "cricket_bat"
#define MELEE_TONFA "tonfa"
#define MELEE_KATANA "katana"
#define MELEE_GUITAR "electric_guitar"
#define MELEE_KNIFE "knife"
new const String:Electables[][] =
{
"weapon_smg_mp5",
"weapon_smg",
"weapon_smg_silenced",
"weapon_shotgun_chrome",
"weapon_pumpshotgun",
"weapon_hunting_rifle",
"weapon_pistol",
"weapon_rifle_m60",
"weapon_autoshotgun",
"weapon_shotgun_spas",
"weapon_sniper_military",
"weapon_rifle",
"weapon_rifle_ak47",
"weapon_rifle_desert",
"weapon_sniper_awp",
"weapon_rifle_sg552",
"weapon_sniper_scout",
"weapon_grenade_launcher",
"weapon_pistol_magnum",
"weapon_molotov",
"weapon_pipe_bomb",
"weapon_vomitjar",
"weapon_defibrillator",
"weapon_pain_pills",
"weapon_adrenaline",
"weapon_first_aid_kit",
"weapon_baseball_bat",
"weapon_cricket_bat",
"weapon_crowbar",
"weapon_electric_guitar",
"weapon_fireaxe",
"weapon_frying_pan",
"weapon_golfclub",
"weapon_katana",
"weapon_machete",
"weapon_tonfa",
"weapon_knife",
"weapon_chainsaw",
"weapon_upgradepack_explosive",
"weapon_upgradepack_incendiary",
"weapon_gascan"
};
ConVar CountPills, CountAdrenaline, CountKit, CountPillsMax, CountAdrenalineMax, CountKitMax;
ConVar MP5, SMG, SMG_Silence, Chrome, Pump, Hunting, M60, AutoShotGun, ShotSpas, Sniper_military, RifleM16, AK47, RifleDesert, SniperAwp, RifleSG552, ScoutSniper, GrenadeLaucnher;
new Handle:rColor, Handle:rRange;
int yourColor;
int iAmmo;
public OnPluginStart()
{
iAmmo = FindSendPropInfo("CTerrorPlayer", "m_iAmmo");
rColor = CreateConVar("hBoxColorGlow", "255 0 0" , "Цвет обводки", FCVAR_NONE);
rRange = CreateConVar("hBoxGlowRange","750", "Дальность обводки", FCVAR_NONE);
CountPills = CreateConVar("hCvarCountOfPills", "8" , "Кол-во таблеток.", FCVAR_NONE);
CountAdrenaline = CreateConVar("hCvarCountOfAdrenaline", "10" , "Кол-во адреналинов.", FCVAR_NONE);
CountKit = CreateConVar("hCvarCountOfKits", "6" , "Кол-во аптечек.", FCVAR_NONE);
CountPillsMax = CreateConVar("hCvarCountOfPillsMax", "8" , "Макс. кол-во таблеток.", FCVAR_NONE);
CountAdrenalineMax = CreateConVar("hCvarCountOfAdrenalineMax", "10" , "Макс. кол-во адреналинов.", FCVAR_NONE);
CountKitMax = CreateConVar("hCvarCountOfKitsMax", "6" , "Макс. кол-во аптечек.", FCVAR_NONE);
MP5 = CreateConVar("AmmoBoxMP5", "250" , "", FCVAR_NONE);
SMG = CreateConVar("AmmoBoxSMG", "250" , "", FCVAR_NONE);
SMG_Silence = CreateConVar("AmmoBoxSMGSilence", "250" , ".", FCVAR_NONE);
Chrome = CreateConVar("AmmoBoxChrome", "21" , "", FCVAR_NONE);
Pump = CreateConVar("AmmoBoxPump", "22" , "", FCVAR_NONE);
Hunting = CreateConVar("AmmoBoxHunting", "75" , "", FCVAR_NONE);
M60 = CreateConVar("AmmoBoxM60", "500" , "", FCVAR_NONE);
AutoShotGun = CreateConVar("AmmoBoxAutoShotGun", "50" , "", FCVAR_NONE);
ShotSpas = CreateConVar("AmmoBoxSpas", "90" , "", FCVAR_NONE);
Sniper_military = CreateConVar("AmmoBoxMilitary", "40" , "", FCVAR_NONE);
RifleM16 = CreateConVar("AmmoBoxM16", "360" , "", FCVAR_NONE);
AK47 = CreateConVar("AmmoBoxAK47", "242" , "", FCVAR_NONE);
RifleDesert = CreateConVar("AmmoBoxRifleDesert", "212" , "", FCVAR_NONE);
SniperAwp = CreateConVar("AmmoBoxAwp", "10" , "", FCVAR_NONE);
RifleSG552 = CreateConVar("AmmoBoxSG552", "552" , "", FCVAR_NONE);
ScoutSniper = CreateConVar("AmmoBoxScout", "30" , ".", FCVAR_NONE);
GrenadeLaucnher = CreateConVar("AmmoBoxGrenadeLauncher", "8" , "", FCVAR_NONE);
RegAdminCmd("sm_box", box_spawn, ADMFLAG_ROOT);
RegAdminCmd("sm_box2", box_spawn2, ADMFLAG_ROOT);
AutoExecConfig(true, "Box");
}
public OnMapStart()
{
PrecacheModel("models/w_models/weapons/w_eq_painpills.mdl", true);
PrecacheModel("models/w_models/weapons/w_eq_adrenaline.mdl", true);
PrecacheModel("models/w_models/weapons/w_eq_Medkit.mdl", true);
PrecacheModel("models/props_junk/wood_crate001a.mdl", true);
PrecacheModel("models/props_junk/wood_crate002a.mdl", true);
yourColor = GetColor(rColor)
new EntityCount = GetEntityCount();
for (new entity = 0; entity < EntityCount; entity++)
{
if (!IsValidEdict(entity))
{
continue;
}
char model[128];
GetEntPropString(entity, Prop_Data, "m_ModelName", model, sizeof(model));
if (StrContains(model, "wood_crate001a.mdl")!= -1 || StrContains(model, "wood_crate002a.mdl")!= -1)
{
SDKHook(entity, SDKHook_OnTakeDamage, OnTakeDamage);
SetEntProp(entity, Prop_Send, "m_nGlowRange", GetConVarInt(rRange));
SetEntProp(entity, Prop_Send, "m_iGlowType", 3);
SetEntProp(entity, Prop_Send, "m_glowColorOverride", yourColor);
}
}
}
public OnMapEnd()
{
new EntityCount = GetEntityCount();
for (new entity = 0; entity < EntityCount; entity++)
{
if (!IsValidEdict(entity))
{
continue;
}
char model[128];
GetEntPropString(entity, Prop_Data, "m_ModelName", model, sizeof(model));
if (StrContains(model, "wood_crate001a.mdl")!= -1 || StrContains(model, "wood_crate002a.mdl")!= -1)
{
SDKUnhook(entity, SDKHook_OnTakeDamage, OnTakeDamage);
}
}
}
public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype)
{
char model[128];
int random;
float ent_pos[3];
GetEntPropVector(victim, Prop_Send, "m_vecOrigin", ent_pos)
int PillsAdrenaline;
GetEntPropString(victim, Prop_Data, "m_ModelName", model, sizeof(model));
if(!IsValidEntity(victim))
{
return Plugin_Continue;
}
if (StrContains(model, "wood_crate001a.mdl")!= -1 || StrContains(model, "wood_crate002a.mdl")!= -1)
{
SDKUnhook(victim, SDKHook_OnTakeDamage, OnTakeDamage);
SetEntProp(victim, Prop_Send, "m_nGlowRange", 0);
SetEntProp(victim, Prop_Send, "m_iGlowType", 0);
random = GetRandomInt(0, sizeof(Electables));
switch(random)
{
case 0:
{
new smg_mp5 = CreateEntityByName("weapon_smg_mp5");
DispatchSpawn(smg_mp5);
SetEntityModel(smg_mp5, MODEL_SMG_MP5);
TeleportEntity(smg_mp5, ent_pos, NULL_VECTOR, NULL_VECTOR);
SetEntData(attacker, iAmmo + 20, GetConVarInt(MP5));
PrintHintTextToAll("Была сломана коробка из которой выпал mp5.");
AcceptEntityInput(victim, "break");
}
case 1:
{
new smg = CreateEntityByName("weapon_smg");
DispatchSpawn(smg);
SetEntityModel(smg, MODEL_SMG);
TeleportEntity(smg, ent_pos, NULL_VECTOR, NULL_VECTOR);
SetEntData(attacker, iAmmo + 20, GetConVarInt(SMG));
PrintHintTextToAll("Была сломана коробка из которой выпала SMG");
AcceptEntityInput(victim, "break");
}
case 2:
{
new smg_silenced = CreateEntityByName("weapon_smg_silenced");
DispatchSpawn(smg_silenced);
SetEntityModel(smg_silenced, MODEL_SMG_SILENCED);
TeleportEntity(smg_silenced, ent_pos, NULL_VECTOR, NULL_VECTOR);
SetEntData(attacker, iAmmo + 20, GetConVarInt(SMG_Silence));
PrintHintTextToAll("Была сломана коробка из которой выпала SMG silenced.");
AcceptEntityInput(victim, "break");
}
case 3:
{
new chrome = CreateEntityByName("weapon_shotgun_chrome");
DispatchSpawn(chrome);
SetEntityModel(chrome, MODEL_SHOTGUN_CHROME);
TeleportEntity(chrome, ent_pos, NULL_VECTOR, NULL_VECTOR);
SetEntData(attacker, iAmmo + 28, GetConVarInt(Chrome));
PrintHintTextToAll("Была сломана коробка из которой выпал хромированный дробовик.");
AcceptEntityInput(victim, "break");
}
case 4:
{
new pump = CreateEntityByName("weapon_pumpshotgun");
DispatchSpawn(pump);
SetEntityModel(pump, MODEL_PUMPSHOTGUN);
TeleportEntity(pump, ent_pos, NULL_VECTOR, NULL_VECTOR);
SetEntData(attacker, iAmmo + 28, GetConVarInt(Pump));
PrintHintTextToAll("Была сломана коробка из которой выпал помповый дробовик.");
AcceptEntityInput(victim, "break");
}
case 5:
{
new hunting_rifle = CreateEntityByName("weapon_hunting_rifle");
DispatchSpawn(hunting_rifle);
SetEntityModel(hunting_rifle, MODEL_HUNTING);
TeleportEntity(hunting_rifle, ent_pos, NULL_VECTOR, NULL_VECTOR);
SetEntData(attacker, iAmmo + 36, GetConVarInt(Hunting));
PrintHintTextToAll("Была сломана коробка из которой выпала кемпа.");
AcceptEntityInput(victim, "break");
}
case 6:
{
new pistol = CreateEntityByName("weapon_pistol");
DispatchSpawn(pistol);
SetEntityModel(pistol, MODEL_PISTOL);
TeleportEntity(pistol, ent_pos, NULL_VECTOR, NULL_VECTOR);
PrintHintTextToAll("Была сломана коробка из которой выпал пистолет.");
AcceptEntityInput(victim, "break");
}
case 7:
{
new m60 = CreateEntityByName("weapon_rifle_m60");
DispatchSpawn(m60);
SetEntityModel(m60, MODEL_M60);
TeleportEntity(m60, ent_pos, NULL_VECTOR, NULL_VECTOR);
SetEntData(attacker, iAmmo + 12, GetConVarInt(M60));
PrintHintTextToAll("Была сломана коробка из которой выпал M60.");
AcceptEntityInput(victim, "break");
}
case 8:
{
new autoshotgun = CreateEntityByName("weapon_autoshotgun");
DispatchSpawn(autoshotgun);
SetEntityModel(autoshotgun, MODEL_AUTOSHOTGUN);
TeleportEntity(autoshotgun, ent_pos, NULL_VECTOR, NULL_VECTOR);
SetEntData(attacker, iAmmo + 32, GetConVarInt(AutoShotGun));
PrintHintTextToAll("Была сломана коробка из которой выпал автодробовик.");
AcceptEntityInput(victim, "break");
}
case 9:
{
new spas = CreateEntityByName("weapon_shotgun_spas");
DispatchSpawn(spas);
SetEntityModel(spas, MODEL_SHOTSPAS);
TeleportEntity(spas, ent_pos, NULL_VECTOR, NULL_VECTOR);
SetEntData(attacker, iAmmo + 32, GetConVarInt(ShotSpas));
PrintHintTextToAll("Была сломана коробка из которой выпал дробовик SPAS.");
AcceptEntityInput(victim, "break");
}
case 10:
{
new military = CreateEntityByName("weapon_sniper_military");
DispatchSpawn(military);
SetEntityModel(military, MODEL_SNIPER_MILI);
TeleportEntity(military, ent_pos, NULL_VECTOR, NULL_VECTOR);
SetEntData(attacker, iAmmo + 40, GetConVarInt(Sniper_military));
PrintHintTextToAll("Была сломана коробка из которой выпала военная снайпа.");
AcceptEntityInput(victim, "break");
}
case 11:
{
new rifle = CreateEntityByName("weapon_rifle");
DispatchSpawn(rifle);
TeleportEntity(rifle, ent_pos, NULL_VECTOR, NULL_VECTOR);
SetEntData(attacker, iAmmo + 12, GetConVarInt(RifleM16));
PrintHintTextToAll("Была сломана коробка из которой выпала мка.");
AcceptEntityInput(victim, "break");
}
case 12:
{
new ak47 = CreateEntityByName("weapon_rifle_ak47");
DispatchSpawn(ak47);
SetEntityModel(ak47, MODEL_AK47);
TeleportEntity(ak47, ent_pos, NULL_VECTOR, NULL_VECTOR);
SetEntData(attacker, iAmmo + 12, GetConVarInt(AK47));
PrintHintTextToAll("Была сломана коробка из которой выпал калаш.");
AcceptEntityInput(victim, "break");
}
case 13:
{
new desert = CreateEntityByName("weapon_rifle_desert");
DispatchSpawn(desert);
SetEntityModel(desert, MODEL_RIFLE_DESERT);
TeleportEntity(desert, ent_pos, NULL_VECTOR, NULL_VECTOR);
SetEntData(attacker, iAmmo + 12, GetConVarInt(RifleDesert));
PrintHintTextToAll("Была сломана коробка из которой выпал SCAR.");
AcceptEntityInput(victim, "break");
}
case 14:
{
new awp = CreateEntityByName("weapon_sniper_awp");
DispatchSpawn(awp);
SetEntityModel(awp, MODEL_SNIPER_AWP);
TeleportEntity(awp, ent_pos, NULL_VECTOR, NULL_VECTOR);
SetEntData(attacker, iAmmo + 40, GetConVarInt(SniperAwp));
PrintHintTextToAll("Была сломана коробка из которой выпала AWP.");
AcceptEntityInput(victim, "break");
}
case 15:
{
new sg552 = CreateEntityByName("weapon_rifle_sg552");
DispatchSpawn(sg552);
SetEntityModel(sg552, MODEL_SG552);
TeleportEntity(sg552, ent_pos, NULL_VECTOR, NULL_VECTOR);
SetEntData(attacker, iAmmo + 12, GetConVarInt(RifleSG552));
PrintHintTextToAll("Была сломана коробка из которой выпала SG552.");
AcceptEntityInput(victim, "break");
}
case 16:
{
new scout = CreateEntityByName("weapon_sniper_scout");
DispatchSpawn(scout);
SetEntityModel(scout, MODEL_SCOUT);
TeleportEntity(scout, ent_pos, NULL_VECTOR, NULL_VECTOR);
SetEntData(attacker, iAmmo + 40, GetConVarInt(ScoutSniper));
PrintHintTextToAll("Была сломана коробка из которой выпал скаут.");
AcceptEntityInput(victim, "break");
}
case 17:
{
new launcher = CreateEntityByName("weapon_grenade_launcher");
DispatchSpawn(launcher);
SetEntityModel(launcher, MODEL_GRENADE_LAUNCHER);
TeleportEntity(launcher, ent_pos, NULL_VECTOR, NULL_VECTOR);
SetEntData(attacker, iAmmo + 68, GetConVarInt(GrenadeLaucnher));
PrintHintTextToAll("Была сломана коробка из которой выпал грен.");
AcceptEntityInput(victim, "break");
}
case 18:
{
new magunm = CreateEntityByName("weapon_pistol_magnum");
DispatchSpawn(magunm);
SetEntityModel(magunm, MODEL_PISTOL_MAGNUM);
TeleportEntity(magunm, ent_pos, NULL_VECTOR, NULL_VECTOR);
PrintHintTextToAll("Была сломана коробка из которой выпал магнум.");
AcceptEntityInput(victim, "break");
}
case 19:
{
new molotov = CreateEntityByName("weapon_molotov");
DispatchSpawn(molotov);
SetEntityModel(molotov, MODEL_MOLOTOV);
TeleportEntity(molotov, ent_pos, NULL_VECTOR, NULL_VECTOR);
PrintHintTextToAll("Была сломана коробка из которой выпал молотов.");
AcceptEntityInput(victim, "break");
}
case 20:
{
new pipe = CreateEntityByName("weapon_pipe_bomb");
DispatchSpawn(pipe);
SetEntityModel(pipe, MODEL_PIPE_BOMB);
TeleportEntity(pipe, ent_pos, NULL_VECTOR, NULL_VECTOR);
PrintHintTextToAll("Была сломана коробка из которой выпала пайпа.");
AcceptEntityInput(victim, "break");
}
case 21:
{
new vomitjar = CreateEntityByName("weapon_vomitjar");
DispatchSpawn(vomitjar);
SetEntityModel(vomitjar, MODEL_VOMITJAR);
TeleportEntity(vomitjar, ent_pos, NULL_VECTOR, NULL_VECTOR);
PrintHintTextToAll("Была сломана коробка из которой выпала рвота.");
AcceptEntityInput(victim, "break");
}
case 22:
{
new defib = CreateEntityByName("weapon_defibrillator");
DispatchSpawn(defib);
SetEntityModel(defib, MODEL_DEFIB);
TeleportEntity(defib, ent_pos, NULL_VECTOR, NULL_VECTOR);
PrintHintTextToAll("Была сломана коробка из которой выпал дефиб.");
AcceptEntityInput(victim, "break");
}
case 23:
{
PillsAdrenaline = GetRandomInt(GetConVarInt(CountPills), GetConVarInt(CountPillsMax));
for (new count = 0; count < PillsAdrenaline; count++)
{
new pain_pills = CreateEntityByName("weapon_pain_pills");
DispatchSpawn(pain_pills);
SetEntityModel(pain_pills, MODEL_PILLS);
TeleportEntity(pain_pills, ent_pos, NULL_VECTOR, NULL_VECTOR);
}
PrintHintTextToAll("Была сломана коробка из которой выпали таблетки.");
AcceptEntityInput(victim, "break");
}
case 24:
{
PillsAdrenaline = GetRandomInt(GetConVarInt(CountAdrenaline), GetConVarInt(CountAdrenalineMax))
for (new count = 0; count < PillsAdrenaline; count++)
{
new adrenaline = CreateEntityByName("weapon_adrenaline");
DispatchSpawn(adrenaline);
SetEntityModel(adrenaline, MODEL_ADRENALINE);
TeleportEntity(adrenaline, ent_pos, NULL_VECTOR, NULL_VECTOR);
}
PrintHintTextToAll("Была сломана коробка из которой выпал адреналин.");
AcceptEntityInput(victim, "break");
}
case 25:
{
PillsAdrenaline = GetRandomInt(GetConVarInt(CountKit), GetConVarInt(CountKitMax))
for (new count = 0; count < PillsAdrenaline; count++)
{
new kit = CreateEntityByName("weapon_first_aid_kit");
DispatchSpawn(kit);
SetEntityModel(kit, MODEL_FIRST_AID_KIT);
TeleportEntity(kit, ent_pos, NULL_VECTOR, NULL_VECTOR);
}
PrintHintTextToAll("Была сломана коробка из которой выпала аптечка.");
AcceptEntityInput(victim, "break");
}
case 26:
{
new baseball = CreateEntityByName("weapon_melee");
if(IsValidEntity(baseball))
{
DispatchKeyValue(baseball,"melee_script_name", MELEE_BASEBALL_BAT);
DispatchSpawn(baseball);
SetEntityModel(baseball, MODEL_BASEBALL);
TeleportEntity(baseball, ent_pos, NULL_VECTOR, NULL_VECTOR);
PrintHintTextToAll("Была сломана коробка из которой выпали baseball bat.");
AcceptEntityInput(victim, "break");
}
}
case 27:
{
new cricket = CreateEntityByName("weapon_melee");
if(IsValidEntity(cricket))
{
DispatchKeyValue(cricket,"melee_script_name", MELEE_CRICKET_BAT);
DispatchSpawn(cricket);
SetEntityModel(cricket, MODEL_CRICKET);
TeleportEntity(cricket, ent_pos, NULL_VECTOR, NULL_VECTOR);
PrintHintTextToAll("Была сломана коробка из которой выпали cricket bat.");
AcceptEntityInput(victim, "break");
}
}
case 28:
{
new crowbar = CreateEntityByName("weapon_melee");
if(IsValidEntity(crowbar))
{
DispatchKeyValue(crowbar,"melee_script_name", MELEE_CROWBAR);
DispatchSpawn(crowbar);
SetEntityModel(crowbar, MODEL_CROWBAR);
TeleportEntity(crowbar, ent_pos, NULL_VECTOR, NULL_VECTOR);
PrintHintTextToAll("Была сломана коробка из которой выпала crowbar.");
AcceptEntityInput(victim, "break");
}
}
case 29:
{
new guitar = CreateEntityByName("weapon_melee");
if(IsValidEntity(guitar))
{
DispatchKeyValue(guitar,"melee_script_name", MELEE_GUITAR);
DispatchSpawn(guitar);
SetEntityModel(guitar, MODEL_ELECTRIC_GUITAR);
TeleportEntity(guitar, ent_pos, NULL_VECTOR, NULL_VECTOR);
PrintHintTextToAll("Была сломана коробка из которой выпала guitar.");
AcceptEntityInput(victim, "break");
}
}
case 30:
{
new fireaxe = CreateEntityByName("weapon_melee");
if(IsValidEntity(fireaxe))
{
DispatchKeyValue(fireaxe,"melee_script_name", MELEE_FIREAXE);
DispatchSpawn(fireaxe);
SetEntityModel(fireaxe, MODEL_FIREAXE);
TeleportEntity(fireaxe, ent_pos, NULL_VECTOR, NULL_VECTOR);
PrintHintTextToAll("Была сломана коробка из которой выпал fireaxe.");
AcceptEntityInput(victim, "break");
}
}
case 31:
{
new frying = CreateEntityByName("weapon_melee");
if(IsValidEntity(frying))
{
DispatchKeyValue(frying,"melee_script_name", MELEE_FRYING_PAN);
DispatchSpawn(frying);
SetEntityModel(frying, MODEL_FRYING_PAN);
TeleportEntity(frying, ent_pos, NULL_VECTOR, NULL_VECTOR);
PrintHintTextToAll("Была сломана коробка из которой выпала frying pan.");
AcceptEntityInput(victim, "break");
}
}
case 32:
{
new katana = CreateEntityByName("weapon_melee");
if(IsValidEntity(katana))
{
DispatchKeyValue(katana,"melee_script_name", MELEE_KATANA);
DispatchSpawn(katana);
SetEntityModel(katana, MODEL_KATANA);
TeleportEntity(katana, ent_pos, NULL_VECTOR, NULL_VECTOR);
PrintHintTextToAll("Была сломана коробка из которой выпала katana.");
AcceptEntityInput(victim, "break");
}
}
case 33:
{
new machete = CreateEntityByName("weapon_melee");
if(IsValidEntity(machete))
{
DispatchKeyValue(machete,"melee_script_name", MELEE_MACHETE);
DispatchSpawn(machete);
SetEntityModel(machete, MODEL_MACHETE);
TeleportEntity(machete, ent_pos, NULL_VECTOR, NULL_VECTOR);
PrintHintTextToAll("Была сломана коробка из которой выпала machete.");
AcceptEntityInput(victim, "break");
}
}
case 34:
{
new tonfa = CreateEntityByName("weapon_melee");
if(IsValidEntity(tonfa))
{
DispatchKeyValue(tonfa,"melee_script_name", MELEE_TONFA);
DispatchSpawn(tonfa);
SetEntityModel(tonfa, MODEL_TONFA);
TeleportEntity(tonfa, ent_pos, NULL_VECTOR, NULL_VECTOR);
PrintHintTextToAll("Была сломана коробка из которой выпала tonfa.");
AcceptEntityInput(victim, "break");
}
}
case 35:
{
new knife = CreateEntityByName("weapon_melee");
if(IsValidEntity(knife))
{
DispatchKeyValue(knife,"melee_script_name", MELEE_KNIFE);
DispatchSpawn(knife);
SetEntityModel(knife, MODEL_KNIFE);
TeleportEntity(knife, ent_pos, NULL_VECTOR, NULL_VECTOR);
PrintHintTextToAll("Была сломана коробка из которой выпал knife.");
AcceptEntityInput(victim, "break");
}
}
case 36:
{
new chain = CreateEntityByName("weapon_chainsaw");
if(IsValidEntity(chain))
{
DispatchSpawn(chain);
SetEntityModel(chain, MODEL_CHAINSAW);
TeleportEntity(chain, ent_pos, NULL_VECTOR, NULL_VECTOR);
PrintHintTextToAll("Была сломана коробка из которой выпала chainsaw.");
AcceptEntityInput(victim, "break");
}
}
case 37:
{
new pack_exp = CreateEntityByName("weapon_upgradepack_explosive");
if(IsValidEntity(pack_exp))
{
DispatchSpawn(pack_exp);
SetEntityModel(pack_exp, MODEL_EXP);
TeleportEntity(pack_exp, ent_pos, NULL_VECTOR, NULL_VECTOR);
PrintHintTextToAll("Была сломана коробка из которой выпала upgrade explosive.");
AcceptEntityInput(victim, "break");
}
}
case 38:
{
new pack_inc = CreateEntityByName("weapon_upgradepack_incendiary");
if(IsValidEntity(pack_inc))
{
DispatchSpawn(pack_inc);
SetEntityModel(pack_inc, MODEL_INC);
TeleportEntity(pack_inc, ent_pos, NULL_VECTOR, NULL_VECTOR);
PrintHintTextToAll("Была сломана коробка из которой выпала pack incendary.");
AcceptEntityInput(victim, "break");
}
}
case 39:
{
new gascan = CreateEntityByName("weapon_gascan");
if(IsValidEntity(gascan))
{
DispatchSpawn(gascan);
SetEntityModel(gascan, MODEL_GASCAN);
TeleportEntity(gascan, ent_pos, NULL_VECTOR, NULL_VECTOR);
PrintHintTextToAll("Была сломана коробка из которой выпала gascan.");
AcceptEntityInput(victim, "break");
}
}
}
}
return Plugin_Continue;
}
public Action:box_spawn(client, args)
{
float Look[3];
GetLookPos(client, Look);
Look[2] += 20;
new karobka = CreateEntityByName("prop_physics");
if (karobka > MaxClients)
{
DispatchKeyValueVector(karobka, "origin", Look);
SetEntityModel(karobka, MODEL_BOX);
DispatchSpawn(karobka);
SDKHook(karobka, SDKHook_OnTakeDamage, OnTakeDamage);
SetEntProp(karobka, Prop_Send, "m_nGlowRange", GetConVarInt(rRange));
SetEntProp(karobka, Prop_Send, "m_iGlowType", 3);
SetEntProp(karobka, Prop_Send, "m_glowColorOverride", yourColor);
}
}
public Action:box_spawn2(client, args)
{
float Look[3];
GetLookPos(client, Look);
Look[2] += 20;
new karobka = CreateEntityByName("prop_physics");
if (karobka > MaxClients)
{
DispatchKeyValueVector(karobka, "origin", Look);
SetEntityModel(karobka, "models/props_junk/wood_crate002a.mdl");
DispatchSpawn(karobka);
SDKHook(karobka, SDKHook_OnTakeDamage, OnTakeDamage);
SetEntProp(karobka, Prop_Send, "m_nGlowRange", GetConVarInt(rRange));
SetEntProp(karobka, Prop_Send, "m_iGlowType", 3);
SetEntProp(karobka, Prop_Send, "m_glowColorOverride", yourColor);
}
}
GetColor(Handle:hCvar)
{
decl String:sTemp[12];
GetConVarString(hCvar, sTemp, sizeof(sTemp));
if( StrEqual(sTemp, "") )
return 0;
decl String:sColors[3][4];
new color = ExplodeString(sTemp, " ", sColors, 3, 4);
if( color != 3 )
return 0;
color = StringToInt(sColors[0]);
color += 256 * StringToInt(sColors[1]);
color += 65536 * StringToInt(sColors[2]);
return color;
}
stock GetLookPos(client, Float:v[3])
{
decl Float:EyePosition[3], Float:EyeAngles[3], Handle:h_trace;
GetClientEyePosition(client, EyePosition);
GetClientEyeAngles(client, EyeAngles);
h_trace = TR_TraceRayFilterEx(EyePosition, EyeAngles, MASK_SOLID, RayType_Infinite, GetLookPos_Filter, client);
TR_GetEndPosition(v, h_trace);
CloseHandle(h_trace);
}
public bool:GetLookPos_Filter(ent, mask, any:client)
{
return client != ent;
}