FlacoBey

Untitled

Jan 9th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 21.96 KB | None | 0 0
  1. #include <sourcemod>
  2. #include <sdktools>
  3. #include <sdkhooks>
  4.  
  5. #pragma semicolon 1
  6. #pragma tabsize 0
  7.  
  8. #define ZOMBIECLASS_SMOKER    1
  9. #define ZOMBIECLASS_BOOMER    2
  10. #define ZOMBIECLASS_HUNTER    3
  11. #define ZOMBIECLASS_SPITTER   4
  12. #define ZOMBIECLASS_JOCKEY    5
  13. #define ZOMBIECLASS_CHARGER   6
  14. #define ZOMBIECLASS_WITCH     7
  15. #define ZOMBIECLASS_TANK      8
  16.  
  17. int hitgroup;
  18. new bool:g_HeadShot;
  19. new bool:lateLoad;
  20. char sDataFilePath[PLATFORM_MAX_PATH];
  21.  
  22. public APLRes:AskPluginLoad2(Handle:plugin, bool:late, String:error[], errMax)
  23. {
  24.     lateLoad = late;
  25.     return APLRes_Success;    
  26. }
  27.  
  28. public OnPluginStart()
  29. {
  30.     if (lateLoad)
  31.     {
  32.         for (new client = 1; client <= MaxClients; client++)
  33.         {
  34.             if (IsClientInGame(client))
  35.             {
  36.                 OnClientPutInServer(client);
  37.             }
  38.         }
  39.     }
  40.     BuildPath(Path_SM, sDataFilePath, sizeof(sDataFilePath), "data/specials_damage_with_headshot.ini");
  41.     if (!FileExists(sDataFilePath))
  42.     {
  43.         new Handle:open_path = OpenFile(sDataFilePath, "w");
  44.         WriteFileLine(open_path, "");
  45.         CloseHandle(open_path);
  46.         PrintToServer("Error Code: WSP-EC-01A");
  47.         KvWriteToFile(sDataFilePath);
  48.     }
  49.     HookEvent("player_hurt", OnPlayerHurt);
  50. }
  51.  
  52. void KvWriteToFile(const char[] path)
  53. {
  54.     //smoker
  55.     KeyValues kv = new KeyValues("damage_modifier_specials");
  56.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_autoshotgun/damage_specials", 1);
  57.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_hunting_rifle/damage_specials", 1);
  58.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_pistol/damage_specials", 1);
  59.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_rifle_ak47/damage_specials", 1);
  60.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_rifle/damage_specials", 1);
  61.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_pumpshotgun/damage_specials", 1);
  62.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_sniper_awp/damage_specials", 1);
  63.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_shotgun_chrome/damage_specials", 1);
  64.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_pistol_magnum/damage_specials", 1);
  65.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_shotgun_spas/damage_specials", 1);
  66.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_smg/damage_specials", 1);
  67.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_smg_mp5 /damage_specials", 1);
  68.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_smg_silenced/damage_specials", 1);
  69.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_sniper_military/damage_specials", 1);
  70.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_rifle_sg552/damage_specials", 1);
  71.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_sniper_scout/damage_specials", 1);
  72.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_rifle_m60/damage_specials", 1);
  73.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_rifle_desert/damage_specials", 1);
  74.     //smoker headshot
  75.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_autoshotgun/damage_specials_headshot", 1);
  76.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_hunting_rifle/damage_specials_headshot", 1);
  77.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_pistol/damage_specials_headshot", 1);
  78.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_rifle_ak47/damage_specials_headshot", 1);
  79.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_rifle/damage_specials_headshot", 1);
  80.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_pumpshotgun/damage_specials_headshot", 1);
  81.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_sniper_awp/damage_specials_headshot", 1);
  82.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_shotgun_chrome/damage_specials_headshot", 1);
  83.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_pistol_magnum/damage_specials_headshot", 1);
  84.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_shotgun_spas/damage_specials_headshot", 1);
  85.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_smg/damage_specials_headshot", 1);
  86.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_smg_mp5 /damage_specials_headshot", 1);
  87.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_smg_silenced/damage_specials_headshot", 1);
  88.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_sniper_military/damage_specials_headshot", 1);
  89.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_rifle_sg552/damage_specials_headshot", 1);
  90.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_sniper_scout/damage_specials_headshot", 1);
  91.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_rifle_m60/damage_specials_headshot", 1);
  92.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_rifle_desert/damage_specials_headshot", 1);
  93.     //boomer
  94.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_autoshotgun/damage_specials", 1);
  95.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_hunting_rifle/damage_specials", 1);
  96.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_pistol/damage_specials", 1);
  97.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_rifle_ak47/damage_specials", 1);
  98.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_rifle/damage_specials", 1);
  99.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_pumpshotgun/damage_specials", 1);
  100.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_sniper_awp/damage_specials", 1);
  101.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_shotgun_chrome/damage_specials", 1);
  102.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_pistol_magnum/damage_specials", 1);
  103.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_shotgun_spas/damage_specials", 1);
  104.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_smg/damage_specials", 1);
  105.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_smg_mp5 /damage_specials", 1);
  106.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_smg_silenced/damage_specials", 1);
  107.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_sniper_military/damage_specials", 1);
  108.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_rifle_sg552/damage_specials", 1);
  109.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_sniper_scout/damage_specials", 1);
  110.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_rifle_m60/damage_specials", 1);
  111.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_rifle_desert/damage_specials", 1);
  112.     //boomer headshot
  113.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_autoshotgun/damage_specials_headshot", 1);
  114.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_hunting_rifle/damage_specials_headshot", 1);
  115.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_pistol/damage_specials_headshot", 1);
  116.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_rifle_ak47/damage_specials_headshot", 1);
  117.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_rifle/damage_specials_headshot", 1);
  118.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_pumpshotgun/damage_specials_headshot", 1);
  119.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_sniper_awp/damage_specials_headshot", 1);
  120.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_shotgun_chrome/damage_specials_headshot", 1);
  121.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_pistol_magnum/damage_specials_headshot", 1);
  122.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_shotgun_spas/damage_specials_headshot", 1);
  123.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_smg/damage_specials_headshot", 1);
  124.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_smg_mp5 /damage_specials_headshot", 1);
  125.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_smg_silenced/damage_specials_headshot", 1);
  126.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_sniper_military/damage_specials_headshot", 1);
  127.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_rifle_sg552/damage_specials_headshot", 1);
  128.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_sniper_scout/damage_specials_headshot", 1);
  129.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_rifle_m60/damage_specials_headshot", 1);
  130.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_rifle_desert/damage_specials_headshot", 1);
  131.     //hunter
  132.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_autoshotgun/damage_specials", 1);
  133.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_hunting_rifle/damage_specials", 1);
  134.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_pistol/damage_specials", 1);
  135.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_rifle_ak47/damage_specials", 1);
  136.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_rifle/damage_specials", 1);
  137.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_pumpshotgun/damage_specials", 1);
  138.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_sniper_awp/damage_specials", 1);
  139.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_shotgun_chrome/damage_specials", 1);
  140.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_pistol_magnum/damage_specials", 1);
  141.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_shotgun_spas/damage_specials", 1);
  142.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_smg/damage_specials", 1);
  143.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_smg_mp5 /damage_specials", 1);
  144.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_smg_silenced/damage_specials", 1);
  145.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_sniper_military/damage_specials", 1);
  146.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_rifle_sg552/damage_specials", 1);
  147.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_sniper_scout/damage_specials", 1);
  148.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_rifle_m60/damage_specials", 1);
  149.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_rifle_desert/damage_specials", 1);
  150.     //hunter headshot
  151.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_autoshotgun/damage_specials_headshot", 1);
  152.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_hunting_rifle/damage_specials_headshot", 1);
  153.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_pistol/damage_specials_headshot", 1);
  154.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_rifle_ak47/damage_specials_headshot", 1);
  155.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_rifle/damage_specials_headshot", 1);
  156.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_pumpshotgun/damage_specials_headshot", 1);
  157.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_sniper_awp/damage_specials_headshot", 1);
  158.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_shotgun_chrome/damage_specials_headshot", 1);
  159.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_pistol_magnum/damage_specials_headshot", 1);
  160.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_shotgun_spas/damage_specials_headshot", 1);
  161.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_smg/damage_specials_headshot", 1);
  162.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_smg_mp5 /damage_specials_headshot", 1);
  163.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_smg_silenced/damage_specials_headshot", 1);
  164.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_sniper_military/damage_specials_headshot", 1);
  165.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_rifle_sg552/damage_specials_headshot", 1);
  166.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_sniper_scout/damage_specials_headshot", 1);
  167.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_rifle_m60/damage_specials_headshot", 1);
  168.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_rifle_desert/damage_specials_headshot", 1);
  169.     //spitter
  170.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_autoshotgun/damage_specials", 1);
  171.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_hunting_rifle/damage_specials", 1);
  172.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_pistol/damage_specials", 1);
  173.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_rifle_ak47/damage_specials", 1);
  174.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_rifle/damage_specials", 1);
  175.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_pumpshotgun/damage_specials", 1);
  176.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_sniper_awp/damage_specials", 1);
  177.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_shotgun_chrome/damage_specials", 1);
  178.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_pistol_magnum/damage_specials", 1);
  179.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_shotgun_spas/damage_specials", 1);
  180.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_smg/damage_specials", 1);
  181.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_smg_mp5 /damage_specials", 1);
  182.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_smg_silenced/damage_specials", 1);
  183.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_sniper_military/damage_specials", 1);
  184.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_rifle_sg552/damage_specials", 1);
  185.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_sniper_scout/damage_specials", 1);
  186.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_rifle_m60/damage_specials", 1);
  187.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_rifle_desert/damage_specials", 1);
  188.     //spitter headshot
  189.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_autoshotgun/damage_specials_headshot", 1);
  190.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_hunting_rifle/damage_specials_headshot", 1);
  191.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_pistol/damage_specials_headshot", 1);
  192.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_rifle_ak47/damage_specials_headshot", 1);
  193.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_rifle/damage_specials_headshot", 1);
  194.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_pumpshotgun/damage_specials_headshot", 1);
  195.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_sniper_awp/damage_specials_headshot", 1);
  196.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_shotgun_chrome/damage_specials_headshot", 1);
  197.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_pistol_magnum/damage_specials_headshot", 1);
  198.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_shotgun_spas/damage_specials_headshot", 1);
  199.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_smg/damage_specials_headshot", 1);
  200.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_smg_mp5 /damage_specials_headshot", 1);
  201.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_smg_silenced/damage_specials_headshot", 1);
  202.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_sniper_military/damage_specials_headshot", 1);
  203.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_rifle_sg552/damage_specials_headshot", 1);
  204.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_sniper_scout/damage_specials_headshot", 1);
  205.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_rifle_m60/damage_specials_headshot", 1);
  206.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_rifle_desert/damage_specials_headshot", 1);
  207.     //jockey
  208.     kv.SetNum("ZOMBIECLASS_jockey/weapon_autoshotgun/damage_specials", 1);
  209.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_hunting_rifle/damage_specials", 1);
  210.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_pistol/damage_specials", 1);
  211.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_rifle_ak47/damage_specials", 1);
  212.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_rifle/damage_specials", 1);
  213.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_pumpshotgun/damage_specials", 1);
  214.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_sniper_awp/damage_specials", 1);
  215.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_shotgun_chrome/damage_specials", 1);
  216.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_pistol_magnum/damage_specials", 1);
  217.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_shotgun_spas/damage_specials", 1);
  218.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_smg/damage_specials", 1);
  219.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_smg_mp5 /damage_specials", 1);
  220.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_smg_silenced/damage_specials", 1);
  221.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_sniper_military/damage_specials", 1);
  222.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_rifle_sg552/damage_specials", 1);
  223.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_sniper_scout/damage_specials", 1);
  224.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_rifle_m60/damage_specials", 1);
  225.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_rifle_desert/damage_specials", 1);
  226.     //jockey headshot
  227.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_autoshotgun/damage_specials_headshot", 1);
  228.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_hunting_rifle/damage_specials_headshot", 1);
  229.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_pistol/damage_specials_headshot", 1);
  230.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_rifle_ak47/damage_specials_headshot", 1);
  231.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_rifle/damage_specials_headshot", 1);
  232.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_pumpshotgun/damage_specials_headshot", 1);
  233.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_sniper_awp/damage_specials_headshot", 1);
  234.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_shotgun_chrome/damage_specials_headshot", 1);
  235.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_pistol_magnum/damage_specials_headshot", 1);
  236.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_shotgun_spas/damage_specials_headshot", 1);
  237.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_smg/damage_specials_headshot", 1);
  238.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_smg_mp5 /damage_specials_headshot", 1);
  239.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_smg_silenced/damage_specials_headshot", 1);
  240.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_sniper_military/damage_specials_headshot", 1);
  241.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_rifle_sg552/damage_specials_headshot", 1);
  242.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_sniper_scout/damage_specials_headshot", 1);
  243.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_rifle_m60/damage_specials_headshot", 1);
  244.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_rifle_desert/damage_specials_headshot", 1);
  245.  
  246.     kv.ExportToFile(path);
  247.  
  248.     delete kv;
  249. }
  250.  
  251. public Action:OnPlayerHurt(Handle:event, const String:name[], bool:dontBrodcast)
  252. {
  253.     hitgroup = GetEventInt(event, "hitgroup");
  254.     SetEventInt(event, "dmg_health", 0);
  255.    
  256.     if(hitgroup == 1)
  257.     {
  258.         g_HeadShot = true;
  259.     }
  260.     else
  261.     {
  262.         g_HeadShot = false;
  263.     }
  264. }
  265.  
  266. public OnClientPutInServer(client)
  267. {
  268.     SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
  269. }
  270.  
  271. public OnClientDisconnect(client)
  272. {
  273.     SDKUnhook(client, SDKHook_OnTakeDamage, OnTakeDamage);
  274. }
  275.  
  276. public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype)  
  277. {
  278.     if (!(damagetype & DMG_BURN || damagetype & DMG_BLAST))
  279.     {
  280.         if (IsValidClient(victim))
  281.         {
  282.             if(IsValidClient(victim))
  283.             {
  284.                 decl String:classname[64];
  285.                 GetClientWeapon(attacker, classname, sizeof(classname));
  286.                 KeyValues kv = new KeyValues("damage_modifier_specials");
  287.                 if (kv.ImportFromFile(sDataFilePath))
  288.                 {
  289.                     if(GetEntProp(victim, Prop_Send, "m_zombieClass") == 1)
  290.                     {
  291.                         if (KvJumpToKey(kv, "ZOMBIECLASS_SMOKER", true))
  292.                         {
  293.                             if (KvJumpToKey(kv, classname, true))
  294.                             {
  295.                                 int heal = GetClientHealth(victim);
  296.                                 PrintToChatAll("Smoker=%i", heal);
  297.                                 new num = KvGetNum(kv, "damage_specials", 1);
  298.                                 damage = (damage * 0) + num;
  299.                                 if(g_HeadShot == true)
  300.                                 {
  301.                                     num = KvGetNum(kv, "damage_specials_headshot", 1);
  302.                                     damage = (damage * 0) + num;
  303.                                 }
  304.                                 return Plugin_Changed;
  305.                             }
  306.                         }
  307.                     }
  308.                     else if(GetEntProp(victim, Prop_Send, "m_zombieClass") == 2)
  309.                     {
  310.                         if (KvJumpToKey(kv, "ZOMBIECLASS_BOOMER", true))
  311.                         {
  312.                             if (KvJumpToKey(kv, classname, true))
  313.                             {
  314.                                 int heal = GetClientHealth(victim);
  315.                                 PrintToChatAll("boomerr=%i", heal);
  316.                                 new num = KvGetNum(kv, "damage_specials", 1);
  317.                                 damage = (damage * 0) + num;
  318.                                 if(g_HeadShot == true)
  319.                                 {
  320.                                     num = KvGetNum(kv, "damage_specials_headshot", 1);
  321.                                     damage = (damage * 0) + num;
  322.                                 }
  323.                                 return Plugin_Changed;
  324.                             }
  325.                         }
  326.                     }
  327.                     else if(GetEntProp(victim, Prop_Send, "m_zombieClass") == 3)
  328.                     {
  329.                         if (KvJumpToKey(kv, "ZOMBIECLASS_HUNTER", true))
  330.                         {
  331.                             if (KvJumpToKey(kv, classname, true))
  332.                             {
  333.                                 int heal = GetClientHealth(victim);
  334.                                 PrintToChatAll("Hunter=%i", heal);
  335.                                 new num = KvGetNum(kv, "damage_specials", 1);
  336.                                 damage = (damage * 0) + num;
  337.                                 if(g_HeadShot == true)
  338.                                 {
  339.                                     num = KvGetNum(kv, "damage_specials_headshot", 1);
  340.                                     damage = (damage * 0) + num;
  341.                                 }
  342.                                 return Plugin_Changed;
  343.                             }
  344.                         }
  345.                     }
  346.                     else if(GetEntProp(victim, Prop_Send, "m_zombieClass") == 4)
  347.                     {
  348.                         if (KvJumpToKey(kv, "ZOMBIECLASS_SPITTER", true))
  349.                         {
  350.                             if (KvJumpToKey(kv, classname, true))
  351.                             {
  352.                                 int heal = GetClientHealth(victim);
  353.                                 PrintToChatAll("Spitter=%i", heal);
  354.                                 new num = KvGetNum(kv, "damage_specials", 1);
  355.                                 damage = (damage * 0) + num;
  356.                                 if(g_HeadShot == true)
  357.                                 {
  358.                                     num = KvGetNum(kv, "damage_specials_headshot", 1);
  359.                                     damage = (damage * 0) + num;
  360.                                 }
  361.                                 return Plugin_Changed;
  362.                             }
  363.                         }
  364.                     }
  365.                     else if(GetEntProp(victim, Prop_Send, "m_zombieClass") == 5)
  366.                     {
  367.                         if (KvJumpToKey(kv, "ZOMBIECLASS_JOCKEY", true))
  368.                         {
  369.                             if (KvJumpToKey(kv, classname, true))
  370.                             {
  371.                                 int heal = GetClientHealth(victim);
  372.                                 PrintToChatAll("Jockey=%i", heal);
  373.                                 new num = KvGetNum(kv, "damage_specials", 1);
  374.                                 damage = (damage * 0) + num;
  375.                                 if(g_HeadShot == true)
  376.                                 {
  377.                                     num = KvGetNum(kv, "damage_specials_headshot", 1);
  378.                                     damage = (damage * 0) + num;
  379.                                 }
  380.                                 return Plugin_Changed;
  381.                             }
  382.                         }
  383.                     }
  384.                 }
  385.             }
  386.         }
  387.     }
  388.     return Plugin_Continue;
  389. }
  390.  
  391. public IsValidClient(client)
  392. {
  393.     if (client <= 0)
  394.         return false;
  395.        
  396.     if (client > MaxClients)
  397.         return false;
  398.        
  399.     if (!IsClientInGame(client))
  400.         return false;
  401.        
  402.     if (!IsPlayerAlive(client))
  403.         return false;
  404.  
  405.     return true;
  406. }
Add Comment
Please, Sign In to add comment