FlacoBey

Untitled

Mar 1st, 2019
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 26.03 KB | None | 0 0
  1. #include <sourcemod>
  2. #include <sdktools>
  3. #include <sdkhooks>
  4.  
  5. #define MODEL_PILLS "models/w_models/weapons/w_eq_painpills.mdl"
  6. #define MODEL_ADRENALINE "models/w_models/weapons/w_eq_adrenaline.mdl"
  7. #define MODEL_FIRST_AID_KIT "models/w_models/weapons/w_eq_Medkit.mdl"
  8. #define MODEL_BOX "models/props_junk/wood_crate001a.mdl"
  9. #define MODEL_SMG_MP5 "models/w_models/weapons/w_smg_mp5.mdl"
  10. #define MODEL_SMG "models/w_models/weapons/w_smg_uzi.mdl"
  11. #define MODEL_SMG_SILENCED "models/w_models/weapons/w_smg_a.mdl"
  12. #define MODEL_SHOTGUN_CHROME "models/w_models/weapons/w_shotgun.mdl"
  13. #define MODEL_PUMPSHOTGUN "models/w_models/weapons/w_pumpshotgun_a.mdl"
  14. #define MODEL_HUNTING "models/w_models/weapons/w_sniper_mini14.mdl"
  15. #define MODEL_PISTOL "models/w_models/weapons/w_pistol_a.mdl"
  16. #define MODEL_M60 "models/w_models/weapons/w_m60.mdl"
  17. #define MODEL_AUTOSHOTGUN "models/w_models/weapons/w_autoshot_m4super.mdl"
  18. #define MODEL_SHOTSPAS "models/w_models/weapons/w_shotgun_spas.mdl"
  19. #define MODEL_SNIPER_MILI "models/w_models/weapons/w_sniper_military.mdl"
  20. #define MODEL_AK47 "models/w_models/weapons/w_rifle_ak47.mdl"
  21. #define MODEL_RIFLE_DESERT "models/w_models/weapons/w_desert_rifle.mdl"
  22. #define MODEL_SNIPER_AWP "models/w_models/weapons/w_sniper_awp.mdl"
  23. #define MODEL_SG552 "models/w_models/weapons/w_rifle_sg552.mdl"
  24. #define MODEL_SCOUT "models/w_models/weapons/w_sniper_scout.mdl"
  25. #define MODEL_GRENADE_LAUNCHER "models/w_models/weapons/w_grenade_launcher.mdl"
  26. #define MODEL_PISTOL_MAGNUM "models/w_models/weapons/w_desert_eagle.mdl"
  27. #define MODEL_MOLOTOV "models/w_models/weapons/w_eq_molotov.mdl"
  28. #define MODEL_PIPE_BOMB "models/w_models/weapons/w_eq_pipebomb.mdl"
  29. #define MODEL_VOMITJAR "models/w_models/weapons/w_eq_bile_flask.mdl"
  30. #define MODEL_DEFIB "models/w_models/weapons/w_eq_defibrillator.mdl"
  31.  
  32. #define MODEL_BASEBALL "models/weapons/melee/w_bat.mdl"
  33. #define MODEL_CRICKET "models/weapons/melee/w_cricket_bat.mdl"
  34. #define MODEL_CROWBAR "models/weapons/melee/w_crowbar.mdl"
  35. #define MODEL_ELECTRIC_GUITAR "models/weapons/melee/w_electric_guitar.mdl"
  36. #define MODEL_FIREAXE "models/weapons/melee/w_fireaxe.mdl"
  37. #define MODEL_FRYING_PAN "models/weapons/melee/w_frying_pan.mdl"
  38. //#define MODEL_GOLFCLUB
  39. #define MODEL_KATANA "models/weapons/melee/w_katana.mdl"
  40. #define MODEL_MACHETE "models/weapons/melee/w_machete.mdl"
  41. #define MODEL_TONFA "models/weapons/melee/w_tonfa.mdl"
  42. #define MODEL_KNIFE "models/w_models/weapons/w_knife_t.mdl"
  43. #define MODEL_CHAINSAW "models/weapons/melee/w_chainsaw.mdl"
  44. #define MODEL_EXP "models/w_models/weapons/w_eq_explosive_ammopack.mdl"
  45. #define MODEL_INC "models/w_models/weapons/w_eq_incendiary_ammopack.mdl"
  46. #define MODEL_GASCAN "models/props_junk/gascan001a.mdl"
  47. //#define MODEL_FIREWORKS ""
  48.  
  49. new const String:Electables[][] =
  50. {  
  51.     "weapon_smg_mp5",
  52.     "weapon_smg",
  53.     "weapon_smg_silenced",
  54.     "weapon_shotgun_chrome",
  55.     "weapon_pumpshotgun",
  56.     "weapon_hunting_rifle",
  57.     "weapon_pistol",
  58.     "weapon_rifle_m60",
  59.     "weapon_autoshotgun",
  60.     "weapon_shotgun_spas",
  61.     "weapon_sniper_military",
  62.     "weapon_rifle",
  63.     "weapon_rifle_ak47",
  64.     "weapon_rifle_desert",
  65.     "weapon_sniper_awp",
  66.     "weapon_rifle_sg552",
  67.     "weapon_sniper_scout",
  68.     "weapon_grenade_launcher",
  69.     "weapon_pistol_magnum",
  70.     "weapon_molotov",
  71.     "weapon_pipe_bomb",
  72.     "weapon_vomitjar",
  73.     "weapon_defibrillator",
  74.     "weapon_pain_pills",
  75.     "weapon_adrenaline",
  76.     "weapon_first_aid_kit",
  77.     "weapon_baseball_bat",
  78.     "weapon_cricket_bat",
  79.     "weapon_crowbar",
  80.     "weapon_electric_guitar",
  81.     "weapon_fireaxe",
  82.     "weapon_frying_pan",
  83.     "weapon_golfclub",
  84.     "weapon_katana",
  85.     "weapon_machete",
  86.     "weapon_tonfa",
  87.     "weapon_knife",
  88.     "weapon_chainsaw",
  89.     "weapon_upgradepack_explosive",
  90.     "weapon_upgradepack_incendiary",
  91.     "weapon_gascan"
  92. };
  93.  
  94. ConVar CountPills, CountAdrenaline, CountKit, CountPillsMax, CountAdrenalineMax, CountKitMax;
  95. ConVar MP5, SMG, SMG_Silence, Chrome, Pump, Hunting, M60, AutoShotGun, ShotSpas, Sniper_military, RifleM16, AK47, RifleDesert, SniperAwp, RifleSG552, ScoutSniper, GrenadeLaucnher;
  96.  
  97. int iAmmo;
  98.  
  99. public OnPluginStart()
  100. {
  101.     iAmmo = FindSendPropInfo("CTerrorPlayer", "m_iAmmo");
  102.    
  103.     CountPills = CreateConVar("hCvarCountOfPills", "8" , "Кол-во таблеток.", FCVAR_NONE);
  104.     CountAdrenaline = CreateConVar("hCvarCountOfAdrenaline", "10" , "Кол-во адреналинов.", FCVAR_NONE);
  105.     CountKit = CreateConVar("hCvarCountOfKits", "6" , "Кол-во аптечек.", FCVAR_NONE);
  106.    
  107.     CountPillsMax = CreateConVar("hCvarCountOfPillsMax", "8" , "Макс. кол-во таблеток.", FCVAR_NONE);
  108.     CountAdrenalineMax = CreateConVar("hCvarCountOfAdrenalineMax", "10" , "Макс. кол-во адреналинов.", FCVAR_NONE);
  109.     CountKitMax = CreateConVar("hCvarCountOfKitsMax", "6" , "Макс. кол-во аптечек.", FCVAR_NONE);
  110.    
  111.     MP5 = CreateConVar("AmmoBoxMP5", "250" , "", FCVAR_NONE);
  112.     SMG = CreateConVar("AmmoBoxSMG", "250" , "", FCVAR_NONE);
  113.     SMG_Silence = CreateConVar("AmmoBoxSMGSilence", "250" , ".", FCVAR_NONE);
  114.     Chrome = CreateConVar("AmmoBoxChrome", "21" , "", FCVAR_NONE);
  115.     Pump = CreateConVar("AmmoBoxPump", "22" , "", FCVAR_NONE);
  116.     Hunting = CreateConVar("AmmoBoxHunting", "75" , "", FCVAR_NONE);
  117.     M60 = CreateConVar("AmmoBoxM60", "500" , "", FCVAR_NONE);
  118.     AutoShotGun = CreateConVar("AmmoBoxAutoShotGun", "50" , "", FCVAR_NONE);
  119.     ShotSpas = CreateConVar("AmmoBoxSpas", "90" , "", FCVAR_NONE);
  120.     Sniper_military = CreateConVar("AmmoBoxMilitary", "40" , "", FCVAR_NONE);
  121.     RifleM16 = CreateConVar("AmmoBoxM16", "360" , "", FCVAR_NONE);
  122.     AK47 = CreateConVar("AmmoBoxAK47", "242" , "", FCVAR_NONE);
  123.     RifleDesert = CreateConVar("AmmoBoxRifleDesert", "212" , "", FCVAR_NONE);
  124.     SniperAwp = CreateConVar("AmmoBoxAwp", "10" , "", FCVAR_NONE);
  125.     RifleSG552 = CreateConVar("AmmoBoxSG552", "552" , "", FCVAR_NONE);
  126.     ScoutSniper = CreateConVar("AmmoBoxScout", "30" , ".", FCVAR_NONE);
  127.     GrenadeLaucnher = CreateConVar("AmmoBoxGrenadeLauncher", "8" , "", FCVAR_NONE);
  128.    
  129.     RegAdminCmd("sm_box", box_spawn, ADMFLAG_ROOT);
  130.     RegAdminCmd("sm_box2", box_spawn2, ADMFLAG_ROOT);
  131.    
  132.     AutoExecConfig(true, "Box");
  133. }
  134.  
  135. public OnMapStart()
  136. {
  137.     PrecacheModel("models/w_models/weapons/w_eq_painpills.mdl", true);
  138.     PrecacheModel("models/w_models/weapons/w_eq_adrenaline.mdl", true);
  139.     PrecacheModel("models/w_models/weapons/w_eq_Medkit.mdl", true);
  140.     PrecacheModel("models/props_junk/wood_crate001a.mdl", true);
  141.     PrecacheModel("models/props_junk/wood_crate002a.mdl", true);
  142.     new EntityCount = GetEntityCount();
  143.     for (new entity = 0; entity < EntityCount; entity++)
  144.     {
  145.         if (!IsValidEdict(entity))
  146.         {
  147.             continue;
  148.         }
  149.         char model[128];
  150.         GetEntPropString(entity, Prop_Data, "m_ModelName", model, sizeof(model));
  151.         if (StrContains(model, "wood_crate001a.mdl")!= -1 || StrContains(model, "wood_crate002a.mdl")!= -1)
  152.         {
  153.             SDKHook(entity, SDKHook_OnTakeDamage, OnTakeDamage);
  154.         }
  155.     }
  156. }
  157.  
  158. public OnMapEnd()
  159. {
  160.     new EntityCount = GetEntityCount();
  161.     for (new entity = 0; entity < EntityCount; entity++)
  162.     {
  163.         if (!IsValidEdict(entity))
  164.         {
  165.             continue;
  166.         }
  167.         char model[128];
  168.         GetEntPropString(entity, Prop_Data, "m_ModelName", model, sizeof(model));
  169.         if (StrContains(model, "wood_crate001a.mdl")!= -1 || StrContains(model, "wood_crate002a.mdl")!= -1)
  170.         {
  171.             SDKUnhook(entity, SDKHook_OnTakeDamage, OnTakeDamage);
  172.         }
  173.     }
  174. }
  175.  
  176. public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype)  
  177. {
  178.     char model[128];
  179.     int random;
  180.  
  181.     float ent_pos[3];
  182.     GetEntPropVector(victim, Prop_Send, "m_vecOrigin", ent_pos)
  183.    
  184.     int PillsAdrenaline;
  185.     GetEntPropString(victim, Prop_Data, "m_ModelName", model, sizeof(model));
  186.     if(!IsValidEntity(victim))
  187.     {
  188.         return Plugin_Continue;    
  189.     }
  190.     if (StrContains(model, "wood_crate001a.mdl")!= -1 || StrContains(model, "wood_crate002a.mdl")!= -1)
  191.     {
  192.         SDKUnhook(victim, SDKHook_OnTakeDamage, OnTakeDamage);
  193.         random = GetRandomInt(0, sizeof(Electables));
  194.         switch(random)
  195.         {
  196.             case 0:
  197.             {
  198.                 new smg_mp5 = CreateEntityByName("weapon_smg_mp5");
  199.                 DispatchSpawn(smg_mp5);
  200.                 SetEntityModel(smg_mp5, MODEL_SMG_MP5);
  201.                 TeleportEntity(smg_mp5, ent_pos, NULL_VECTOR, NULL_VECTOR);
  202.                 SetEntData(attacker, iAmmo + 20, GetConVarInt(MP5));
  203.                 PrintHintTextToAll("Была сломана коробка из которой выпал mp5.");
  204.                 AcceptEntityInput(victim, "break");
  205.             }
  206.             case 1:
  207.             {
  208.                 new smg = CreateEntityByName("weapon_smg");
  209.                 DispatchSpawn(smg);
  210.                 SetEntityModel(smg, MODEL_SMG);
  211.                 TeleportEntity(smg, ent_pos, NULL_VECTOR, NULL_VECTOR);
  212.                 SetEntData(attacker, iAmmo + 20, GetConVarInt(SMG));
  213.                 PrintHintTextToAll("Была сломана коробка из которой выпала SMG");
  214.                 AcceptEntityInput(victim, "break");
  215.             }
  216.             case 2:
  217.             {
  218.                 new smg_silenced = CreateEntityByName("weapon_smg_silenced");
  219.                 DispatchSpawn(smg_silenced);
  220.                 SetEntityModel(smg_silenced, MODEL_SMG_SILENCED);
  221.                 TeleportEntity(smg_silenced, ent_pos, NULL_VECTOR, NULL_VECTOR);
  222.                 SetEntData(attacker, iAmmo + 20, GetConVarInt(SMG_Silence));
  223.                 PrintHintTextToAll("Была сломана коробка из которой выпала SMG silenced.");
  224.                 AcceptEntityInput(victim, "break");
  225.             }
  226.             case 3:
  227.             {
  228.                 new chrome = CreateEntityByName("weapon_shotgun_chrome");
  229.                 DispatchSpawn(chrome);
  230.                 SetEntityModel(chrome, MODEL_SHOTGUN_CHROME);
  231.                 TeleportEntity(chrome, ent_pos, NULL_VECTOR, NULL_VECTOR);
  232.                 SetEntData(attacker, iAmmo + 28, GetConVarInt(Chrome));
  233.                 PrintHintTextToAll("Была сломана коробка из которой выпал хромированный дробовик.");
  234.                 AcceptEntityInput(victim, "break");
  235.             }
  236.             case 4:
  237.             {
  238.                 new pump = CreateEntityByName("weapon_pumpshotgun");
  239.                 DispatchSpawn(pump);
  240.                 SetEntityModel(pump, MODEL_PUMPSHOTGUN);
  241.                 TeleportEntity(pump, ent_pos, NULL_VECTOR, NULL_VECTOR);
  242.                 SetEntData(attacker, iAmmo + 28, GetConVarInt(Pump));
  243.                 PrintHintTextToAll("Была сломана коробка из которой выпал помповый дробовик.");
  244.                 AcceptEntityInput(victim, "break");
  245.             }
  246.             case 5:
  247.             {
  248.                 new hunting_rifle = CreateEntityByName("weapon_hunting_rifle");
  249.                 DispatchSpawn(hunting_rifle);
  250.                 SetEntityModel(hunting_rifle, MODEL_HUNTING);
  251.                 TeleportEntity(hunting_rifle, ent_pos, NULL_VECTOR, NULL_VECTOR);
  252.                 SetEntData(attacker, iAmmo + 36, GetConVarInt(Hunting));
  253.                 PrintHintTextToAll("Была сломана коробка из которой выпала кемпа.");
  254.                 AcceptEntityInput(victim, "break");
  255.             }
  256.             case 6:
  257.             {
  258.                 new pistol = CreateEntityByName("weapon_pistol");
  259.                 DispatchSpawn(pistol);
  260.                 SetEntityModel(pistol, MODEL_PISTOL);
  261.                 TeleportEntity(pistol, ent_pos, NULL_VECTOR, NULL_VECTOR);
  262.                 PrintHintTextToAll("Была сломана коробка из которой выпал пистолет.");
  263.                 AcceptEntityInput(victim, "break");
  264.             }
  265.             case 7:
  266.             {
  267.                 new m60 = CreateEntityByName("weapon_rifle_m60");
  268.                 DispatchSpawn(m60);
  269.                 SetEntityModel(m60, MODEL_M60);
  270.                 TeleportEntity(m60, ent_pos, NULL_VECTOR, NULL_VECTOR);
  271.                 SetEntData(attacker, iAmmo + 12, GetConVarInt(M60));
  272.                 PrintHintTextToAll("Была сломана коробка из которой выпал M60.");
  273.                 AcceptEntityInput(victim, "break");
  274.             }
  275.             case 8:
  276.             {
  277.                 new autoshotgun = CreateEntityByName("weapon_autoshotgun");
  278.                 DispatchSpawn(autoshotgun);
  279.                 SetEntityModel(autoshotgun, MODEL_AUTOSHOTGUN);
  280.                 TeleportEntity(autoshotgun, ent_pos, NULL_VECTOR, NULL_VECTOR);
  281.                 SetEntData(attacker, iAmmo + 32, GetConVarInt(AutoShotGun));
  282.                 PrintHintTextToAll("Была сломана коробка из которой выпал автодробовик.");
  283.                 AcceptEntityInput(victim, "break");
  284.             }
  285.             case 9:
  286.             {
  287.                 new spas = CreateEntityByName("weapon_shotgun_spas");
  288.                 DispatchSpawn(spas);
  289.                 SetEntityModel(spas, MODEL_SHOTSPAS);
  290.                 TeleportEntity(spas, ent_pos, NULL_VECTOR, NULL_VECTOR);
  291.                 SetEntData(attacker, iAmmo + 32, GetConVarInt(ShotSpas));
  292.                 PrintHintTextToAll("Была сломана коробка из которой выпал дробовик SPAS.");
  293.                 AcceptEntityInput(victim, "break");
  294.             }
  295.             case 10:
  296.             {
  297.                 new military = CreateEntityByName("weapon_sniper_military");
  298.                 DispatchSpawn(military);
  299.                 SetEntityModel(military, MODEL_SNIPER_MILI);
  300.                 TeleportEntity(military, ent_pos, NULL_VECTOR, NULL_VECTOR);
  301.                 SetEntData(attacker, iAmmo + 40, GetConVarInt(Sniper_military));
  302.                 PrintHintTextToAll("Была сломана коробка из которой выпала военная снайпа.");
  303.                 AcceptEntityInput(victim, "break");
  304.             }
  305.             case 11:
  306.             {
  307.                 new rifle = CreateEntityByName("weapon_rifle");
  308.                 DispatchSpawn(rifle);
  309.                 TeleportEntity(rifle, ent_pos, NULL_VECTOR, NULL_VECTOR);
  310.                 SetEntData(attacker, iAmmo + 12, GetConVarInt(RifleM16));
  311.                 PrintHintTextToAll("Была сломана коробка из которой выпала мка.");
  312.                 AcceptEntityInput(victim, "break");
  313.             }
  314.             case 12:
  315.             {
  316.                 new ak47 = CreateEntityByName("weapon_rifle_ak47");
  317.                 DispatchSpawn(ak47);
  318.                 SetEntityModel(ak47, MODEL_AK47);
  319.                 TeleportEntity(ak47, ent_pos, NULL_VECTOR, NULL_VECTOR);
  320.                 SetEntData(attacker, iAmmo + 12, GetConVarInt(AK47));
  321.                 PrintHintTextToAll("Была сломана коробка из которой выпал калаш.");
  322.                 AcceptEntityInput(victim, "break");
  323.             }
  324.             case 13:
  325.             {
  326.                 new desert = CreateEntityByName("weapon_rifle_desert");
  327.                 DispatchSpawn(desert);
  328.                 SetEntityModel(desert, MODEL_RIFLE_DESERT);
  329.                 TeleportEntity(desert, ent_pos, NULL_VECTOR, NULL_VECTOR);
  330.                 SetEntData(attacker, iAmmo + 12, GetConVarInt(RifleDesert));
  331.                 PrintHintTextToAll("Была сломана коробка из которой выпал SCAR.");
  332.                 AcceptEntityInput(victim, "break");
  333.             }
  334.             case 14:
  335.             {
  336.                 new awp = CreateEntityByName("weapon_sniper_awp");
  337.                 DispatchSpawn(awp);
  338.                 SetEntityModel(awp, MODEL_SNIPER_AWP);
  339.                 TeleportEntity(awp, ent_pos, NULL_VECTOR, NULL_VECTOR);
  340.                 SetEntData(attacker, iAmmo + 40, GetConVarInt(SniperAwp));
  341.                 PrintHintTextToAll("Была сломана коробка из которой выпала AWP.");
  342.                 AcceptEntityInput(victim, "break");
  343.             }
  344.             case 15:
  345.             {
  346.                 new sg552 = CreateEntityByName("weapon_rifle_sg552");
  347.                 DispatchSpawn(sg552);
  348.                 SetEntityModel(sg552, MODEL_SG552);
  349.                 TeleportEntity(sg552, ent_pos, NULL_VECTOR, NULL_VECTOR);
  350.                 SetEntData(attacker, iAmmo + 12, GetConVarInt(RifleSG552));
  351.                 PrintHintTextToAll("Была сломана коробка из которой выпала SG552.");
  352.                 AcceptEntityInput(victim, "break");
  353.             }
  354.             case 16:
  355.             {
  356.                 new scout = CreateEntityByName("weapon_sniper_scout");
  357.                 DispatchSpawn(scout);
  358.                 SetEntityModel(scout, MODEL_SCOUT);
  359.                 TeleportEntity(scout, ent_pos, NULL_VECTOR, NULL_VECTOR);
  360.                 SetEntData(attacker, iAmmo + 40, GetConVarInt(ScoutSniper));
  361.                 PrintHintTextToAll("Была сломана коробка из которой выпал скаут.");
  362.                 AcceptEntityInput(victim, "break");
  363.             }
  364.             case 17:
  365.             {
  366.                 new launcher = CreateEntityByName("weapon_grenade_launcher");
  367.                 DispatchSpawn(launcher);
  368.                 SetEntityModel(launcher, MODEL_GRENADE_LAUNCHER);
  369.                 TeleportEntity(launcher, ent_pos, NULL_VECTOR, NULL_VECTOR);
  370.                 SetEntData(attacker, iAmmo + 68, GetConVarInt(GrenadeLaucnher));
  371.                 PrintHintTextToAll("Была сломана коробка из которой выпал грен.");
  372.                 AcceptEntityInput(victim, "break");
  373.             }
  374.             case 18:
  375.             {
  376.                 new magunm = CreateEntityByName("weapon_pistol_magnum");
  377.                 DispatchSpawn(magunm);
  378.                 SetEntityModel(magunm, MODEL_PISTOL_MAGNUM);
  379.                 TeleportEntity(magunm, ent_pos, NULL_VECTOR, NULL_VECTOR);
  380.                 PrintHintTextToAll("Была сломана коробка из которой выпал магнум.");
  381.                 AcceptEntityInput(victim, "break");
  382.             }
  383.             case 19:
  384.             {
  385.                 new molotov = CreateEntityByName("weapon_molotov");
  386.                 DispatchSpawn(molotov);
  387.                 SetEntityModel(molotov, MODEL_MOLOTOV);
  388.                 TeleportEntity(molotov, ent_pos, NULL_VECTOR, NULL_VECTOR);
  389.                 PrintHintTextToAll("Была сломана коробка из которой выпал молотов.");
  390.                 AcceptEntityInput(victim, "break");
  391.             }
  392.             case 20:
  393.             {
  394.                 new pipe = CreateEntityByName("weapon_pipe_bomb");
  395.                 DispatchSpawn(pipe);
  396.                 SetEntityModel(pipe, MODEL_PIPE_BOMB);
  397.                 TeleportEntity(pipe, ent_pos, NULL_VECTOR, NULL_VECTOR);
  398.                 PrintHintTextToAll("Была сломана коробка из которой выпала пайпа.");
  399.                 AcceptEntityInput(victim, "break");
  400.             }
  401.             case 21:
  402.             {
  403.                 new vomitjar = CreateEntityByName("weapon_vomitjar");
  404.                 DispatchSpawn(vomitjar);
  405.                 SetEntityModel(vomitjar, MODEL_VOMITJAR);
  406.                 TeleportEntity(vomitjar, ent_pos, NULL_VECTOR, NULL_VECTOR);
  407.                 PrintHintTextToAll("Была сломана коробка из которой выпала рвота.");
  408.                 AcceptEntityInput(victim, "break");
  409.             }
  410.             case 22:
  411.             {
  412.                 new defib = CreateEntityByName("weapon_defibrillator");
  413.                 DispatchSpawn(defib);
  414.                 SetEntityModel(defib, MODEL_DEFIB);
  415.                 TeleportEntity(defib, ent_pos, NULL_VECTOR, NULL_VECTOR);
  416.                 PrintHintTextToAll("Была сломана коробка из которой выпал дефиб.");
  417.                 AcceptEntityInput(victim, "break");
  418.             }
  419.             case 23:
  420.             {
  421.                 PillsAdrenaline = GetRandomInt(GetConVarInt(CountPills), GetConVarInt(CountPillsMax));
  422.                 for (new count = 0; count < PillsAdrenaline; count++)
  423.                 {
  424.                     new pain_pills = CreateEntityByName("weapon_pain_pills");
  425.                     DispatchSpawn(pain_pills);
  426.                     SetEntityModel(pain_pills, MODEL_PILLS);
  427.                     TeleportEntity(pain_pills, ent_pos, NULL_VECTOR, NULL_VECTOR);
  428.                 }
  429.                 PrintHintTextToAll("Была сломана коробка из которой выпали таблетки.");
  430.                 AcceptEntityInput(victim, "break");
  431.             }
  432.             case 24:
  433.             {
  434.                 PillsAdrenaline = GetRandomInt(GetConVarInt(CountAdrenaline), GetConVarInt(CountAdrenalineMax))
  435.                 for (new count = 0; count < PillsAdrenaline; count++)
  436.                 {
  437.                     new adrenaline = CreateEntityByName("weapon_adrenaline");
  438.                     DispatchSpawn(adrenaline);
  439.                     SetEntityModel(adrenaline, MODEL_ADRENALINE);
  440.                     TeleportEntity(adrenaline, ent_pos, NULL_VECTOR, NULL_VECTOR);
  441.                 }
  442.                 PrintHintTextToAll("Была сломана коробка из которой выпал адреналин.");
  443.                 AcceptEntityInput(victim, "break");
  444.             }
  445.             case 25:
  446.             {
  447.                 PillsAdrenaline = GetRandomInt(GetConVarInt(CountKit), GetConVarInt(CountKitMax))
  448.                 for (new count = 0; count < PillsAdrenaline; count++)
  449.                 {
  450.                     new kit = CreateEntityByName("weapon_first_aid_kit");
  451.                     DispatchSpawn(kit);
  452.                     SetEntityModel(kit, MODEL_FIRST_AID_KIT);
  453.                     TeleportEntity(kit, ent_pos, NULL_VECTOR, NULL_VECTOR);
  454.                 }
  455.                 PrintHintTextToAll("Была сломана коробка из которой выпала аптечка.");
  456.                 AcceptEntityInput(victim, "break");
  457.             }
  458.             case 26:
  459.             {
  460.                 new baseball = CreateEntityByName("weapon_baseball_bat");
  461.                 if(IsValidEntity(baseball))
  462.                 {
  463.                     DispatchSpawn(baseball);
  464.                     SetEntityModel(baseball, MODEL_BASEBALL);
  465.                     TeleportEntity(baseball, ent_pos, NULL_VECTOR, NULL_VECTOR);
  466.                     PrintHintTextToAll("Была сломана коробка из которой выпали baseball bat.");
  467.                     AcceptEntityInput(victim, "break");
  468.                 }
  469.             }
  470.             case 27:
  471.             {
  472.                 new cricket = CreateEntityByName("weapon_cricket_bat");
  473.                 if(IsValidEntity(cricket))
  474.                 {
  475.                     DispatchSpawn(cricket);
  476.                     SetEntityModel(cricket, MODEL_CRICKET);
  477.                     TeleportEntity(cricket, ent_pos, NULL_VECTOR, NULL_VECTOR);
  478.                     PrintHintTextToAll("Была сломана коробка из которой выпали bat.");
  479.                     AcceptEntityInput(victim, "break");
  480.                 }
  481.             }
  482.             case 28:
  483.             {
  484.                 new crowbar = CreateEntityByName("weapon_crowbar");
  485.                 if(IsValidEntity(crowbar))
  486.                 {
  487.                     DispatchSpawn(crowbar);
  488.                     SetEntityModel(crowbar, MODEL_CROWBAR);
  489.                     TeleportEntity(crowbar, ent_pos, NULL_VECTOR, NULL_VECTOR);
  490.                     PrintHintTextToAll("Была сломана коробка из которой выпала crowbar.");
  491.                     AcceptEntityInput(victim, "break");
  492.                 }
  493.             }
  494.             case 29:
  495.             {
  496.                 new guitar = CreateEntityByName("weapon_electric_guitar");
  497.                 if(IsValidEntity(guitar))
  498.                 {
  499.                     DispatchSpawn(guitar);
  500.                     SetEntityModel(guitar, MODEL_ELECTRIC_GUITAR);
  501.                     TeleportEntity(guitar, ent_pos, NULL_VECTOR, NULL_VECTOR);
  502.                     PrintHintTextToAll("Была сломана коробка из которой выпала guitar.");
  503.                     AcceptEntityInput(victim, "break");
  504.                 }
  505.             }
  506.             case 30:
  507.             {
  508.                 new fireaxe = CreateEntityByName("weapon_fireaxe");
  509.                 if(IsValidEntity(fireaxe))
  510.                 {
  511.                     DispatchSpawn(fireaxe);
  512.                     SetEntityModel(fireaxe, MODEL_FIREAXE);
  513.                     TeleportEntity(fireaxe, ent_pos, NULL_VECTOR, NULL_VECTOR);
  514.                     PrintHintTextToAll("Была сломана коробка из которой выпал fireaxe.");
  515.                     AcceptEntityInput(victim, "break");
  516.                 }
  517.             }
  518.             case 31:
  519.             {
  520.                 new frying = CreateEntityByName("weapon_frying_pan");
  521.                 if(IsValidEntity(frying))
  522.                 {
  523.                     DispatchSpawn(frying);
  524.                     SetEntityModel(frying, MODEL_FRYING_PAN);
  525.                     TeleportEntity(frying, ent_pos, NULL_VECTOR, NULL_VECTOR);
  526.                     PrintHintTextToAll("Была сломана коробка из которой выпала frying pan.");
  527.                     AcceptEntityInput(victim, "break");
  528.                 }
  529.             }
  530.             case 32:
  531.             {
  532.                 new katana = CreateEntityByName("weapon_katana");
  533.                 if(IsValidEntity(katana))
  534.                 {
  535.                     DispatchSpawn(katana);
  536.                     SetEntityModel(katana, MODEL_KATANA);
  537.                     TeleportEntity(katana, ent_pos, NULL_VECTOR, NULL_VECTOR);
  538.                     PrintHintTextToAll("Была сломана коробка из которой выпала katana.");
  539.                     AcceptEntityInput(victim, "break");
  540.                 }
  541.             }
  542.             case 33:
  543.             {
  544.                 new machete = CreateEntityByName("weapon_machete");
  545.                 if(IsValidEntity(machete))
  546.                 {
  547.                     DispatchSpawn(machete);
  548.                     SetEntityModel(machete, MODEL_MACHETE);
  549.                     TeleportEntity(machete, ent_pos, NULL_VECTOR, NULL_VECTOR);
  550.                     PrintHintTextToAll("Была сломана коробка из которой выпала machete.");
  551.                     AcceptEntityInput(victim, "break");
  552.                 }
  553.             }
  554.             case 34:
  555.             {
  556.                 new tonfa = CreateEntityByName("weapon_tonfa");
  557.                 if(IsValidEntity(tonfa))
  558.                 {
  559.                     DispatchSpawn(tonfa);
  560.                     SetEntityModel(tonfa, MODEL_TONFA);
  561.                     TeleportEntity(tonfa, ent_pos, NULL_VECTOR, NULL_VECTOR);
  562.                     PrintHintTextToAll("Была сломана коробка из которой выпала tonfa.");
  563.                     AcceptEntityInput(victim, "break");
  564.                 }
  565.             }
  566.             case 35:
  567.             {
  568.                 new knife = CreateEntityByName("weapon_knife");
  569.                 if(IsValidEntity(knife))
  570.                 {
  571.                     DispatchSpawn(knife);
  572.                     SetEntityModel(knife, MODEL_KNIFE);
  573.                     TeleportEntity(knife, ent_pos, NULL_VECTOR, NULL_VECTOR);
  574.                     PrintHintTextToAll("Была сломана коробка из которой выпал knife.");
  575.                     AcceptEntityInput(victim, "break");
  576.                 }
  577.             }
  578.             case 36:
  579.             {
  580.                 new chain = CreateEntityByName("weapon_chainsaw");
  581.                 if(IsValidEntity(chain))
  582.                 {
  583.                     DispatchSpawn(chain);
  584.                     SetEntityModel(chain, MODEL_CHAINSAW);
  585.                     TeleportEntity(chain, ent_pos, NULL_VECTOR, NULL_VECTOR);
  586.                     PrintHintTextToAll("Была сломана коробка из которой выпала chainsaw.");
  587.                     AcceptEntityInput(victim, "break");
  588.                 }
  589.             }
  590.             case 37:
  591.             {
  592.                 new pack_exp = CreateEntityByName("weapon_upgradepack_explosive");
  593.                 if(IsValidEntity(pack_exp))
  594.                 {
  595.                     DispatchSpawn(pack_exp);
  596.                     SetEntityModel(pack_exp, MODEL_EXP);
  597.                     TeleportEntity(pack_exp, ent_pos, NULL_VECTOR, NULL_VECTOR);
  598.                     PrintHintTextToAll("Была сломана коробка из которой выпала upgrade explosive.");
  599.                     AcceptEntityInput(victim, "break");
  600.                 }
  601.             }
  602.             case 38:
  603.             {
  604.                 new pack_inc = CreateEntityByName("weapon_upgradepack_incendiary");
  605.                 if(IsValidEntity(pack_inc))
  606.                 {
  607.                     DispatchSpawn(pack_inc);
  608.                     SetEntityModel(pack_inc, MODEL_INC);
  609.                     TeleportEntity(pack_inc, ent_pos, NULL_VECTOR, NULL_VECTOR);
  610.                     PrintHintTextToAll("Была сломана коробка из которой выпала pack incendary.");
  611.                     AcceptEntityInput(victim, "break");
  612.                 }
  613.             }
  614.             case 39:
  615.             {
  616.                 new gascan = CreateEntityByName("weapon_gascan");
  617.                 if(IsValidEntity(gascan))
  618.                 {
  619.                     DispatchSpawn(gascan);
  620.                     SetEntityModel(gascan, MODEL_GASCAN);
  621.                     TeleportEntity(gascan, ent_pos, NULL_VECTOR, NULL_VECTOR);
  622.                     PrintHintTextToAll("Была сломана коробка из которой выпала gascan.");
  623.                     AcceptEntityInput(victim, "break");
  624.                 }
  625.             }
  626.         }
  627.     }
  628.     return Plugin_Continue;
  629. }
  630.  
  631. public Action:box_spawn(client, args)
  632. {
  633.     float Look[3];
  634.     GetLookPos(client, Look);
  635.     Look[2] += 20;
  636.     new karobka = CreateEntityByName("prop_physics");
  637.     if (karobka > MaxClients)
  638.     {
  639.         DispatchKeyValueVector(karobka, "origin", Look);
  640.         SetEntityModel(karobka, MODEL_BOX);
  641.         DispatchSpawn(karobka);
  642.         SDKHook(karobka, SDKHook_OnTakeDamage, OnTakeDamage);
  643.     }
  644. }
  645.  
  646. public Action:box_spawn2(client, args)
  647. {
  648.     float Look[3];
  649.     GetLookPos(client, Look);
  650.     Look[2] += 20;
  651.     new karobka = CreateEntityByName("prop_physics");
  652.     if (karobka > MaxClients)
  653.     {
  654.         DispatchKeyValueVector(karobka, "origin", Look);
  655.         SetEntityModel(karobka, "models/props_junk/wood_crate002a.mdl");
  656.         DispatchSpawn(karobka);
  657.         SDKHook(karobka, SDKHook_OnTakeDamage, OnTakeDamage);
  658.     }
  659. }
  660.  
  661. stock GetLookPos(client, Float:v[3])
  662. {
  663.      decl Float:EyePosition[3], Float:EyeAngles[3], Handle:h_trace;
  664.      GetClientEyePosition(client, EyePosition);
  665.      GetClientEyeAngles(client, EyeAngles);
  666.      h_trace = TR_TraceRayFilterEx(EyePosition, EyeAngles, MASK_SOLID, RayType_Infinite, GetLookPos_Filter, client);
  667.      TR_GetEndPosition(v, h_trace);
  668.      CloseHandle(h_trace);
  669. }
  670.  
  671. public bool:GetLookPos_Filter(ent, mask, any:client)
  672. {
  673.       return client != ent;
  674. }
Advertisement
Add Comment
Please, Sign In to add comment