FlacoBey

Untitled

Jan 9th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 42.88 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. new bool:lateLoad;
  18. char sDataFilePath[PLATFORM_MAX_PATH];
  19. float fDamagerPos[3], fDangerPos[3];
  20. float fTargetDistance;
  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.     HookEvent("bullet_impact", Event_PU, EventHookMode_Pre);
  31.    
  32.     if (lateLoad)
  33.     {
  34.         for (new client = 1; client <= MaxClients; client++)
  35.         {
  36.             if (IsClientInGame(client))
  37.             {
  38.                 OnClientPutInServer(client);
  39.             }
  40.         }
  41.     }
  42.     BuildPath(Path_SM, sDataFilePath, sizeof(sDataFilePath), "data/specials_damage_with_headshot.ini");
  43.     if (!FileExists(sDataFilePath))
  44.     {
  45.         new Handle:open_path = OpenFile(sDataFilePath, "w");
  46.         WriteFileLine(open_path, "");
  47.         CloseHandle(open_path);
  48.         PrintToServer("Error Code: WSP-EC-01A");
  49.         KvWriteToFile(sDataFilePath);
  50.     }
  51. }
  52.  
  53. public Action Event_PU(Event event, const char[] name, bool dontBroadcast)
  54. {
  55.     int client = GetClientOfUserId(event.GetInt("subject"));
  56.     GetEntPropVector(client, Prop_Send, "m_vecOrigin", fDamagerPos);
  57. }
  58.  
  59. void KvWriteToFile(const char[] path)
  60. {
  61.     //smoker
  62.     KeyValues kv = new KeyValues("damage_modifier_specials");
  63.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_autoshotgun/damage_specials", 1);
  64.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_hunting_rifle/damage_specials", 1);
  65.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_pistol/damage_specials", 1);
  66.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_rifle_ak47/damage_specials", 1);
  67.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_rifle/damage_specials", 1);
  68.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_pumpshotgun/damage_specials", 1);
  69.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_sniper_awp/damage_specials", 1);
  70.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_shotgun_chrome/damage_specials", 1);
  71.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_pistol_magnum/damage_specials", 1);
  72.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_shotgun_spas/damage_specials", 1);
  73.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_smg/damage_specials", 1);
  74.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_smg_mp5 /damage_specials", 1);
  75.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_smg_silenced/damage_specials", 1);
  76.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_sniper_military/damage_specials", 1);
  77.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_rifle_sg552/damage_specials", 1);
  78.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_sniper_scout/damage_specials", 1);
  79.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_rifle_m60/damage_specials", 1);
  80.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_rifle_desert/damage_specials", 1);
  81.     kv.SetNum("ZOMBIECLASS_SMOKER/vector_distance_damage/damage_distance_50-100", 1);
  82.     kv.SetNum("ZOMBIECLASS_SMOKER/vector_distance_damage/damage_distance_100-200", 1);
  83.     kv.SetNum("ZOMBIECLASS_SMOKER/vector_distance_damage/damage_distance_200", 1);
  84.     //smoker headshot
  85.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_autoshotgun/damage_specials_headshot", 1);
  86.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_hunting_rifle/damage_specials_headshot", 1);
  87.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_pistol/damage_specials_headshot", 1);
  88.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_rifle_ak47/damage_specials_headshot", 1);
  89.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_rifle/damage_specials_headshot", 1);
  90.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_pumpshotgun/damage_specials_headshot", 1);
  91.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_sniper_awp/damage_specials_headshot", 1);
  92.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_shotgun_chrome/damage_specials_headshot", 1);
  93.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_pistol_magnum/damage_specials_headshot", 1);
  94.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_shotgun_spas/damage_specials_headshot", 1);
  95.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_smg/damage_specials_headshot", 1);
  96.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_smg_mp5 /damage_specials_headshot", 1);
  97.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_smg_silenced/damage_specials_headshot", 1);
  98.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_sniper_military/damage_specials_headshot", 1);
  99.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_rifle_sg552/damage_specials_headshot", 1);
  100.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_sniper_scout/damage_specials_headshot", 1);
  101.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_rifle_m60/damage_specials_headshot", 1);
  102.     kv.SetNum("ZOMBIECLASS_SMOKER/weapon_rifle_desert/damage_specials_headshot", 1);
  103.     //boomer
  104.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_autoshotgun/damage_specials", 1);
  105.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_hunting_rifle/damage_specials", 1);
  106.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_pistol/damage_specials", 1);
  107.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_rifle_ak47/damage_specials", 1);
  108.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_rifle/damage_specials", 1);
  109.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_pumpshotgun/damage_specials", 1);
  110.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_sniper_awp/damage_specials", 1);
  111.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_shotgun_chrome/damage_specials", 1);
  112.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_pistol_magnum/damage_specials", 1);
  113.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_shotgun_spas/damage_specials", 1);
  114.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_smg/damage_specials", 1);
  115.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_smg_mp5 /damage_specials", 1);
  116.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_smg_silenced/damage_specials", 1);
  117.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_sniper_military/damage_specials", 1);
  118.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_rifle_sg552/damage_specials", 1);
  119.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_sniper_scout/damage_specials", 1);
  120.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_rifle_m60/damage_specials", 1);
  121.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_rifle_desert/damage_specials", 1);
  122.     //boomer headshot
  123.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_autoshotgun/damage_specials_headshot", 1);
  124.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_hunting_rifle/damage_specials_headshot", 1);
  125.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_pistol/damage_specials_headshot", 1);
  126.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_rifle_ak47/damage_specials_headshot", 1);
  127.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_rifle/damage_specials_headshot", 1);
  128.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_pumpshotgun/damage_specials_headshot", 1);
  129.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_sniper_awp/damage_specials_headshot", 1);
  130.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_shotgun_chrome/damage_specials_headshot", 1);
  131.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_pistol_magnum/damage_specials_headshot", 1);
  132.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_shotgun_spas/damage_specials_headshot", 1);
  133.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_smg/damage_specials_headshot", 1);
  134.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_smg_mp5 /damage_specials_headshot", 1);
  135.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_smg_silenced/damage_specials_headshot", 1);
  136.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_sniper_military/damage_specials_headshot", 1);
  137.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_rifle_sg552/damage_specials_headshot", 1);
  138.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_sniper_scout/damage_specials_headshot", 1);
  139.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_rifle_m60/damage_specials_headshot", 1);
  140.     kv.SetNum("ZOMBIECLASS_BOOMER/weapon_rifle_desert/damage_specials_headshot", 1);
  141.     //hunter
  142.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_autoshotgun/damage_specials", 1);
  143.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_hunting_rifle/damage_specials", 1);
  144.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_pistol/damage_specials", 1);
  145.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_rifle_ak47/damage_specials", 1);
  146.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_rifle/damage_specials", 1);
  147.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_pumpshotgun/damage_specials", 1);
  148.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_sniper_awp/damage_specials", 1);
  149.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_shotgun_chrome/damage_specials", 1);
  150.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_pistol_magnum/damage_specials", 1);
  151.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_shotgun_spas/damage_specials", 1);
  152.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_smg/damage_specials", 1);
  153.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_smg_mp5 /damage_specials", 1);
  154.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_smg_silenced/damage_specials", 1);
  155.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_sniper_military/damage_specials", 1);
  156.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_rifle_sg552/damage_specials", 1);
  157.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_sniper_scout/damage_specials", 1);
  158.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_rifle_m60/damage_specials", 1);
  159.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_rifle_desert/damage_specials", 1);
  160.     //hunter headshot
  161.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_autoshotgun/damage_specials_headshot", 1);
  162.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_hunting_rifle/damage_specials_headshot", 1);
  163.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_pistol/damage_specials_headshot", 1);
  164.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_rifle_ak47/damage_specials_headshot", 1);
  165.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_rifle/damage_specials_headshot", 1);
  166.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_pumpshotgun/damage_specials_headshot", 1);
  167.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_sniper_awp/damage_specials_headshot", 1);
  168.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_shotgun_chrome/damage_specials_headshot", 1);
  169.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_pistol_magnum/damage_specials_headshot", 1);
  170.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_shotgun_spas/damage_specials_headshot", 1);
  171.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_smg/damage_specials_headshot", 1);
  172.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_smg_mp5 /damage_specials_headshot", 1);
  173.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_smg_silenced/damage_specials_headshot", 1);
  174.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_sniper_military/damage_specials_headshot", 1);
  175.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_rifle_sg552/damage_specials_headshot", 1);
  176.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_sniper_scout/damage_specials_headshot", 1);
  177.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_rifle_m60/damage_specials_headshot", 1);
  178.     kv.SetNum("ZOMBIECLASS_HUNTER/weapon_rifle_desert/damage_specials_headshot", 1);
  179.     //spitter
  180.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_autoshotgun/damage_specials", 1);
  181.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_hunting_rifle/damage_specials", 1);
  182.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_pistol/damage_specials", 1);
  183.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_rifle_ak47/damage_specials", 1);
  184.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_rifle/damage_specials", 1);
  185.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_pumpshotgun/damage_specials", 1);
  186.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_sniper_awp/damage_specials", 1);
  187.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_shotgun_chrome/damage_specials", 1);
  188.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_pistol_magnum/damage_specials", 1);
  189.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_shotgun_spas/damage_specials", 1);
  190.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_smg/damage_specials", 1);
  191.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_smg_mp5 /damage_specials", 1);
  192.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_smg_silenced/damage_specials", 1);
  193.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_sniper_military/damage_specials", 1);
  194.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_rifle_sg552/damage_specials", 1);
  195.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_sniper_scout/damage_specials", 1);
  196.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_rifle_m60/damage_specials", 1);
  197.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_rifle_desert/damage_specials", 1);
  198.     //spitter headshot
  199.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_autoshotgun/damage_specials_headshot", 1);
  200.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_hunting_rifle/damage_specials_headshot", 1);
  201.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_pistol/damage_specials_headshot", 1);
  202.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_rifle_ak47/damage_specials_headshot", 1);
  203.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_rifle/damage_specials_headshot", 1);
  204.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_pumpshotgun/damage_specials_headshot", 1);
  205.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_sniper_awp/damage_specials_headshot", 1);
  206.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_shotgun_chrome/damage_specials_headshot", 1);
  207.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_pistol_magnum/damage_specials_headshot", 1);
  208.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_shotgun_spas/damage_specials_headshot", 1);
  209.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_smg/damage_specials_headshot", 1);
  210.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_smg_mp5 /damage_specials_headshot", 1);
  211.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_smg_silenced/damage_specials_headshot", 1);
  212.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_sniper_military/damage_specials_headshot", 1);
  213.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_rifle_sg552/damage_specials_headshot", 1);
  214.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_sniper_scout/damage_specials_headshot", 1);
  215.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_rifle_m60/damage_specials_headshot", 1);
  216.     kv.SetNum("ZOMBIECLASS_SPITTER/weapon_rifle_desert/damage_specials_headshot", 1);
  217.     //jockey
  218.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_autoshotgun/damage_specials", 1);
  219.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_hunting_rifle/damage_specials", 1);
  220.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_pistol/damage_specials", 1);
  221.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_rifle_ak47/damage_specials", 1);
  222.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_rifle/damage_specials", 1);
  223.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_pumpshotgun/damage_specials", 1);
  224.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_sniper_awp/damage_specials", 1);
  225.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_shotgun_chrome/damage_specials", 1);
  226.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_pistol_magnum/damage_specials", 1);
  227.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_shotgun_spas/damage_specials", 1);
  228.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_smg/damage_specials", 1);
  229.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_smg_mp5 /damage_specials", 1);
  230.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_smg_silenced/damage_specials", 1);
  231.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_sniper_military/damage_specials", 1);
  232.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_rifle_sg552/damage_specials", 1);
  233.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_sniper_scout/damage_specials", 1);
  234.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_rifle_m60/damage_specials", 1);
  235.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_rifle_desert/damage_specials", 1);
  236.     //jockey headshot
  237.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_autoshotgun/damage_specials_headshot", 1);
  238.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_hunting_rifle/damage_specials_headshot", 1);
  239.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_pistol/damage_specials_headshot", 1);
  240.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_rifle_ak47/damage_specials_headshot", 1);
  241.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_rifle/damage_specials_headshot", 1);
  242.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_pumpshotgun/damage_specials_headshot", 1);
  243.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_sniper_awp/damage_specials_headshot", 1);
  244.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_shotgun_chrome/damage_specials_headshot", 1);
  245.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_pistol_magnum/damage_specials_headshot", 1);
  246.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_shotgun_spas/damage_specials_headshot", 1);
  247.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_smg/damage_specials_headshot", 1);
  248.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_smg_mp5 /damage_specials_headshot", 1);
  249.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_smg_silenced/damage_specials_headshot", 1);
  250.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_sniper_military/damage_specials_headshot", 1);
  251.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_rifle_sg552/damage_specials_headshot", 1);
  252.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_sniper_scout/damage_specials_headshot", 1);
  253.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_rifle_m60/damage_specials_headshot", 1);
  254.     kv.SetNum("ZOMBIECLASS_JOCKEY/weapon_rifle_desert/damage_specials_headshot", 1);
  255.    
  256.     //Charger
  257.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_autoshotgun/damage_specials", 1);
  258.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_hunting_rifle/damage_specials", 1);
  259.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_pistol/damage_specials", 1);
  260.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_rifle_ak47/damage_specials", 1);
  261.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_rifle/damage_specials", 1);
  262.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_pumpshotgun/damage_specials", 1);
  263.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_sniper_awp/damage_specials", 1);
  264.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_shotgun_chrome/damage_specials", 1);
  265.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_pistol_magnum/damage_specials", 1);
  266.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_shotgun_spas/damage_specials", 1);
  267.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_smg/damage_specials", 1);
  268.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_smg_mp5 /damage_specials", 1);
  269.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_smg_silenced/damage_specials", 1);
  270.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_sniper_military/damage_specials", 1);
  271.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_rifle_sg552/damage_specials", 1);
  272.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_sniper_scout/damage_specials", 1);
  273.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_rifle_m60/damage_specials", 1);
  274.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_rifle_desert/damage_specials", 1);
  275.     //Charger headshot
  276.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_autoshotgun/damage_specials_headshot", 1);
  277.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_hunting_rifle/damage_specials_headshot", 1);
  278.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_pistol/damage_specials_headshot", 1);
  279.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_rifle_ak47/damage_specials_headshot", 1);
  280.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_rifle/damage_specials_headshot", 1);
  281.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_pumpshotgun/damage_specials_headshot", 1);
  282.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_sniper_awp/damage_specials_headshot", 1);
  283.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_shotgun_chrome/damage_specials_headshot", 1);
  284.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_pistol_magnum/damage_specials_headshot", 1);
  285.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_shotgun_spas/damage_specials_headshot", 1);
  286.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_smg/damage_specials_headshot", 1);
  287.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_smg_mp5 /damage_specials_headshot", 1);
  288.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_smg_silenced/damage_specials_headshot", 1);
  289.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_sniper_military/damage_specials_headshot", 1);
  290.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_rifle_sg552/damage_specials_headshot", 1);
  291.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_sniper_scout/damage_specials_headshot", 1);
  292.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_rifle_m60/damage_specials_headshot", 1);
  293.     kv.SetNum("ZOMBIECLASS_CHARGER/weapon_rifle_desert/damage_specials_headshot", 1);
  294.    
  295.     //Tank headshot
  296.     kv.SetNum("ZOMBIECLASS_TANK/weapon_autoshotgun/damage_specials", 1);
  297.     kv.SetNum("ZOMBIECLASS_TANK/weapon_hunting_rifle/damage_specials", 1);
  298.     kv.SetNum("ZOMBIECLASS_TANK/weapon_pistol/damage_specials", 1);
  299.     kv.SetNum("ZOMBIECLASS_TANK/weapon_rifle_ak47/damage_specials", 1);
  300.     kv.SetNum("ZOMBIECLASS_TANK/weapon_rifle/damage_specials", 1);
  301.     kv.SetNum("ZOMBIECLASS_TANK/weapon_pumpshotgun/damage_specials", 1);
  302.     kv.SetNum("ZOMBIECLASS_TANK/weapon_sniper_awp/damage_specials", 1);
  303.     kv.SetNum("ZOMBIECLASS_TANK/weapon_shotgun_chrome/damage_specials", 1);
  304.     kv.SetNum("ZOMBIECLASS_TANK/weapon_pistol_magnum/damage_specials", 1);
  305.     kv.SetNum("ZOMBIECLASS_TANK/weapon_shotgun_spas/damage_specials", 1);
  306.     kv.SetNum("ZOMBIECLASS_TANK/weapon_smg/damage_specials", 1);
  307.     kv.SetNum("ZOMBIECLASS_TANK/weapon_smg_mp5 /damage_specials", 1);
  308.     kv.SetNum("ZOMBIECLASS_TANK/weapon_smg_silenced/damage_specials", 1);
  309.     kv.SetNum("ZOMBIECLASS_TANK/weapon_sniper_military/damage_specials", 1);
  310.     kv.SetNum("ZOMBIECLASS_TANK/weapon_rifle_sg552/damage_specials", 1);
  311.     kv.SetNum("ZOMBIECLASS_TANK/weapon_sniper_scout/damage_specials", 1);
  312.     kv.SetNum("ZOMBIECLASS_TANK/weapon_rifle_m60/damage_specials", 1);
  313.     kv.SetNum("ZOMBIECLASS_TANK/weapon_rifle_desert/damage_specials", 1);
  314.     //Tank headshot
  315.     kv.SetNum("ZOMBIECLASS_TANK/weapon_autoshotgun/damage_specials_headshot", 1);
  316.     kv.SetNum("ZOMBIECLASS_TANK/weapon_hunting_rifle/damage_specials_headshot", 1);
  317.     kv.SetNum("ZOMBIECLASS_TANK/weapon_pistol/damage_specials_headshot", 1);
  318.     kv.SetNum("ZOMBIECLASS_TANK/weapon_rifle_ak47/damage_specials_headshot", 1);
  319.     kv.SetNum("ZOMBIECLASS_TANK/weapon_rifle/damage_specials_headshot", 1);
  320.     kv.SetNum("ZOMBIECLASS_TANK/weapon_pumpshotgun/damage_specials_headshot", 1);
  321.     kv.SetNum("ZOMBIECLASS_TANK/weapon_sniper_awp/damage_specials_headshot", 1);
  322.     kv.SetNum("ZOMBIECLASS_TANK/weapon_shotgun_chrome/damage_specials_headshot", 1);
  323.     kv.SetNum("ZOMBIECLASS_TANK/weapon_pistol_magnum/damage_specials_headshot", 1);
  324.     kv.SetNum("ZOMBIECLASS_TANK/weapon_shotgun_spas/damage_specials_headshot", 1);
  325.     kv.SetNum("ZOMBIECLASS_TANK/weapon_smg/damage_specials_headshot", 1);
  326.     kv.SetNum("ZOMBIECLASS_TANK/weapon_smg_mp5 /damage_specials_headshot", 1);
  327.     kv.SetNum("ZOMBIECLASS_TANK/weapon_smg_silenced/damage_specials_headshot", 1);
  328.     kv.SetNum("ZOMBIECLASS_TANK/weapon_sniper_military/damage_specials_headshot", 1);
  329.     kv.SetNum("ZOMBIECLASS_TANK/weapon_rifle_sg552/damage_specials_headshot", 1);
  330.     kv.SetNum("ZOMBIECLASS_TANK/weapon_sniper_scout/damage_specials_headshot", 1);
  331.     kv.SetNum("ZOMBIECLASS_TANK/weapon_rifle_m60/damage_specials_headshot", 1);
  332.     kv.SetNum("ZOMBIECLASS_TANK/weapon_rifle_desert/damage_specials_headshot", 1);
  333.     //Melee DAMAGE
  334.     kv.SetFloat("ZOMBIECLASS_SMOKER/baseball_bat/damage_specials", 1.0);
  335.     kv.SetFloat("ZOMBIECLASS_SMOKER/cricket_bat/damage_specials", 1.0);
  336.     kv.SetFloat("ZOMBIECLASS_SMOKER/crowbar/damage_specials", 1.0);
  337.     kv.SetFloat("ZOMBIECLASS_SMOKER/electric_guitar/damage_specials", 1.0);
  338.     kv.SetFloat("ZOMBIECLASS_SMOKER/fireaxe/damage_specials", 1.0);
  339.     kv.SetFloat("ZOMBIECLASS_SMOKER/frying_pan/damage_specials", 1.0);
  340.     kv.SetFloat("ZOMBIECLASS_SMOKER/golfclub/damage_specials", 1.0);
  341.     kv.SetFloat("ZOMBIECLASS_SMOKER/katana/damage_specials", 1.0);
  342.     kv.SetFloat("ZOMBIECLASS_SMOKER/machete/damage_specials", 1.0);
  343.     kv.SetFloat("ZOMBIECLASS_SMOKER/tonfa/damage_specials", 1.0);
  344.     kv.SetFloat("ZOMBIECLASS_SMOKER/knife/damage_specials", 1.0);
  345.    
  346.     kv.SetFloat("ZOMBIECLASS_BOOMER/baseball_bat/damage_specials", 1.0);
  347.     kv.SetFloat("ZOMBIECLASS_BOOMER/cricket_bat/damage_specials", 1.0);
  348.     kv.SetFloat("ZOMBIECLASS_BOOMER/crowbar/damage_specials", 1.0);
  349.     kv.SetFloat("ZOMBIECLASS_BOOMER/electric_guitar/damage_specials", 1.0);
  350.     kv.SetFloat("ZOMBIECLASS_BOOMER/fireaxe/damage_specials", 1.0);
  351.     kv.SetFloat("ZOMBIECLASS_BOOMER/frying_pan/damage_specials", 1.0);
  352.     kv.SetFloat("ZOMBIECLASS_BOOMER/golfclub/damage_specials", 1.0);
  353.     kv.SetFloat("ZOMBIECLASS_BOOMER/katana/damage_specials", 1.0);
  354.     kv.SetFloat("ZOMBIECLASS_BOOMER/machete/damage_specials", 1.0);
  355.     kv.SetFloat("ZOMBIECLASS_BOOMER/tonfa/damage_specials", 1.0);
  356.     kv.SetFloat("ZOMBIECLASS_BOOMER/knife/damage_specials", 1.0);
  357.    
  358.     kv.SetFloat("ZOMBIECLASS_HUNTER/baseball_bat/damage_specials", 1.0);
  359.     kv.SetFloat("ZOMBIECLASS_HUNTER/cricket_bat/damage_specials", 1.0);
  360.     kv.SetFloat("ZOMBIECLASS_HUNTER/crowbar/damage_specials", 1.0);
  361.     kv.SetFloat("ZOMBIECLASS_HUNTER/electric_guitar/damage_specials", 1.0);
  362.     kv.SetFloat("ZOMBIECLASS_HUNTER/fireaxe/damage_specials", 1.0);
  363.     kv.SetFloat("ZOMBIECLASS_HUNTER/frying_pan/damage_specials", 1.0);
  364.     kv.SetFloat("ZOMBIECLASS_HUNTER/golfclub/damage_specials", 1.0);
  365.     kv.SetFloat("ZOMBIECLASS_HUNTER/katana/damage_specials", 1.0);
  366.     kv.SetFloat("ZOMBIECLASS_HUNTER/machete/damage_specials", 1.0);
  367.     kv.SetFloat("ZOMBIECLASS_HUNTER/tonfa/damage_specials", 1.0);
  368.     kv.SetFloat("ZOMBIECLASS_HUNTER/knife/damage_specials", 1.0);
  369.    
  370.     kv.SetFloat("ZOMBIECLASS_SPITTER/baseball_bat/damage_specials", 1.0);
  371.     kv.SetFloat("ZOMBIECLASS_SPITTER/cricket_bat/damage_specials", 1.0);
  372.     kv.SetFloat("ZOMBIECLASS_SPITTER/crowbar/damage_specials", 1.0);
  373.     kv.SetFloat("ZOMBIECLASS_SPITTER/electric_guitar/damage_specials", 1.0);
  374.     kv.SetFloat("ZOMBIECLASS_SPITTER/fireaxe/damage_specials", 1.0);
  375.     kv.SetFloat("ZOMBIECLASS_SPITTER/frying_pan/damage_specials", 1.0);
  376.     kv.SetFloat("ZOMBIECLASS_SPITTER/golfclub/damage_specials", 1.0);
  377.     kv.SetFloat("ZOMBIECLASS_SPITTER/katana/damage_specials", 1.0);
  378.     kv.SetFloat("ZOMBIECLASS_SPITTER/machete/damage_specials", 1.0);
  379.     kv.SetFloat("ZOMBIECLASS_SPITTER/tonfa/damage_specials", 1.0);
  380.     kv.SetFloat("ZOMBIECLASS_SPITTER/knife/damage_specials", 1.0);
  381.    
  382.     kv.SetFloat("ZOMBIECLASS_JOCKEY/baseball_bat/damage_specials", 1.0);
  383.     kv.SetFloat("ZOMBIECLASS_JOCKEY/cricket_bat/damage_specials", 1.0);
  384.     kv.SetFloat("ZOMBIECLASS_JOCKEY/crowbar/damage_specials", 1.0);
  385.     kv.SetFloat("ZOMBIECLASS_JOCKEY/electric_guitar/damage_specials", 1.0);
  386.     kv.SetFloat("ZOMBIECLASS_JOCKEY/fireaxe/damage_specials", 1.0);
  387.     kv.SetFloat("ZOMBIECLASS_JOCKEY/frying_pan/damage_specials", 1.0);
  388.     kv.SetFloat("ZOMBIECLASS_JOCKEY/golfclub/damage_specials", 1.0);
  389.     kv.SetFloat("ZOMBIECLASS_JOCKEY/katana/damage_specials", 1.0);
  390.     kv.SetFloat("ZOMBIECLASS_JOCKEY/machete/damage_specials", 1.0);
  391.     kv.SetFloat("ZOMBIECLASS_JOCKEY/tonfa/damage_specials", 1.0);
  392.     kv.SetFloat("ZOMBIECLASS_JOCKEY/knife/damage_specials", 1.0);
  393.    
  394.     kv.SetFloat("ZOMBIECLASS_CHARGER/baseball_bat/damage_specials", 1.0);
  395.     kv.SetFloat("ZOMBIECLASS_CHARGER/cricket_bat/damage_specials", 1.0);
  396.     kv.SetFloat("ZOMBIECLASS_CHARGER/crowbar/damage_specials", 1.0);
  397.     kv.SetFloat("ZOMBIECLASS_CHARGER/electric_guitar/damage_specials", 1.0);
  398.     kv.SetFloat("ZOMBIECLASS_CHARGER/fireaxe/damage_specials", 1.0);
  399.     kv.SetFloat("ZOMBIECLASS_CHARGER/frying_pan/damage_specials", 1.0);
  400.     kv.SetFloat("ZOMBIECLASS_CHARGER/golfclub/damage_specials", 1.0);
  401.     kv.SetFloat("ZOMBIECLASS_CHARGER/katana/damage_specials", 1.0);
  402.     kv.SetFloat("ZOMBIECLASS_CHARGER/machete/damage_specials", 1.0);
  403.     kv.SetFloat("ZOMBIECLASS_CHARGER/tonfa/damage_specials", 1.0);
  404.     kv.SetFloat("ZOMBIECLASS_CHARGER/knife/damage_specials", 1.0);
  405.    
  406.     kv.SetFloat("ZOMBIECLASS_TANK/baseball_bat/damage_specials", 1.0);
  407.     kv.SetFloat("ZOMBIECLASS_TANK/cricket_bat/damage_specials", 1.0);
  408.     kv.SetFloat("ZOMBIECLASS_TANK/crowbar/damage_specials", 1.0);
  409.     kv.SetFloat("ZOMBIECLASS_TANK/electric_guitar/damage_specials", 1.0);
  410.     kv.SetFloat("ZOMBIECLASS_TANK/fireaxe/damage_specials", 1.0);
  411.     kv.SetFloat("ZOMBIECLASS_TANK/frying_pan/damage_specials", 1.0);
  412.     kv.SetFloat("ZOMBIECLASS_TANK/golfclub/damage_specials", 1.0);
  413.     kv.SetFloat("ZOMBIECLASS_TANK/katana/damage_specials", 1.0);
  414.     kv.SetFloat("ZOMBIECLASS_TANK/machete/damage_specials", 1.0);
  415.     kv.SetFloat("ZOMBIECLASS_TANK/tonfa/damage_specials", 1.0);
  416.     kv.SetFloat("ZOMBIECLASS_TANK/knife/damage_specials", 1.0);
  417.     //melee headshot
  418.     kv.SetFloat("ZOMBIECLASS_SMOKER/baseball_bat/damage_specials_headshot", 1.0);
  419.     kv.SetFloat("ZOMBIECLASS_SMOKER/cricket_bat/damage_specials_headshot", 1.0);
  420.     kv.SetFloat("ZOMBIECLASS_SMOKER/crowbar/damage_specials_headshot", 1.0);
  421.     kv.SetFloat("ZOMBIECLASS_SMOKER/electric_guitar/damage_specials_headshot", 1.0);
  422.     kv.SetFloat("ZOMBIECLASS_SMOKER/fireaxe/damage_specials_headshot", 1.0);
  423.     kv.SetFloat("ZOMBIECLASS_SMOKER/frying_pan/damage_specials_headshot", 1.0);
  424.     kv.SetFloat("ZOMBIECLASS_SMOKER/golfclub/damage_specials_headshot", 1.0);
  425.     kv.SetFloat("ZOMBIECLASS_SMOKER/katana/damage_specials_headshot", 1.0);
  426.     kv.SetFloat("ZOMBIECLASS_SMOKER/machete/damage_specials_headshot", 1.0);
  427.     kv.SetFloat("ZOMBIECLASS_SMOKER/tonfa/damage_specials_headshot", 1.0);
  428.     kv.SetFloat("ZOMBIECLASS_SMOKER/knife/damage_specials_headshot", 1.0);
  429.    
  430.     kv.SetFloat("ZOMBIECLASS_BOOMER/baseball_bat/damage_specials_headshot", 1.0);
  431.     kv.SetFloat("ZOMBIECLASS_BOOMER/cricket_bat/damage_specials_headshot", 1.0);
  432.     kv.SetFloat("ZOMBIECLASS_BOOMER/crowbar/damage_specials_headshot", 1.0);
  433.     kv.SetFloat("ZOMBIECLASS_BOOMER/electric_guitar/damage_specials_headshot", 1.0);
  434.     kv.SetFloat("ZOMBIECLASS_BOOMER/fireaxe/damage_specials_headshot", 1.0);
  435.     kv.SetFloat("ZOMBIECLASS_BOOMER/frying_pan/damage_specials_headshot", 1.0);
  436.     kv.SetFloat("ZOMBIECLASS_BOOMER/golfclub/damage_specials_headshot", 1.0);
  437.     kv.SetFloat("ZOMBIECLASS_BOOMER/katana/damage_specials_headshot", 1.0);
  438.     kv.SetFloat("ZOMBIECLASS_BOOMER/machete/damage_specials_headshot", 1.0);
  439.     kv.SetFloat("ZOMBIECLASS_BOOMER/tonfa/damage_specials_headshot", 1.0);
  440.     kv.SetFloat("ZOMBIECLASS_BOOMER/knife/damage_specials_headshot", 1.0);
  441.    
  442.     kv.SetFloat("ZOMBIECLASS_HUNTER/baseball_bat/damage_specials_headshot", 1.0);
  443.     kv.SetFloat("ZOMBIECLASS_HUNTER/cricket_bat/damage_specials_headshot", 1.0);
  444.     kv.SetFloat("ZOMBIECLASS_HUNTER/crowbar/damage_specials_headshot", 1.0);
  445.     kv.SetFloat("ZOMBIECLASS_HUNTER/electric_guitar/damage_specials_headshot", 1.0);
  446.     kv.SetFloat("ZOMBIECLASS_HUNTER/fireaxe/damage_specials_headshot", 1.0);
  447.     kv.SetFloat("ZOMBIECLASS_HUNTER/frying_pan/damage_specials_headshot", 1.0);
  448.     kv.SetFloat("ZOMBIECLASS_HUNTER/golfclub/damage_specials_headshot", 1.0);
  449.     kv.SetFloat("ZOMBIECLASS_HUNTER/katana/damage_specials_headshot", 1.0);
  450.     kv.SetFloat("ZOMBIECLASS_HUNTER/machete/damage_specials_headshot", 1.0);
  451.     kv.SetFloat("ZOMBIECLASS_HUNTER/tonfa/damage_specials_headshot", 1.0);
  452.     kv.SetFloat("ZOMBIECLASS_HUNTER/knife/damage_specials_headshot", 1.0);
  453.    
  454.     kv.SetFloat("ZOMBIECLASS_SPITTER/baseball_bat/damage_specials_headshot", 1.0);
  455.     kv.SetFloat("ZOMBIECLASS_SPITTER/cricket_bat/damage_specials_headshot", 1.0);
  456.     kv.SetFloat("ZOMBIECLASS_SPITTER/crowbar/damage_specials_headshot", 1.0);
  457.     kv.SetFloat("ZOMBIECLASS_SPITTER/electric_guitar/damage_specials_headshot", 1.0);
  458.     kv.SetFloat("ZOMBIECLASS_SPITTER/fireaxe/damage_specials_headshot", 1.0);
  459.     kv.SetFloat("ZOMBIECLASS_SPITTER/frying_pan/damage_specials_headshot", 1.0);
  460.     kv.SetFloat("ZOMBIECLASS_SPITTER/golfclub/damage_specials_headshot", 1.0);
  461.     kv.SetFloat("ZOMBIECLASS_SPITTER/katana/damage_specials_headshot", 1.0);
  462.     kv.SetFloat("ZOMBIECLASS_SPITTER/machete/damage_specials_headshot", 1.0);
  463.     kv.SetFloat("ZOMBIECLASS_SPITTER/tonfa/damage_specials_headshot", 1.0);
  464.     kv.SetFloat("ZOMBIECLASS_SPITTER/knife/damage_specials_headshot", 1.0);
  465.    
  466.     kv.SetFloat("ZOMBIECLASS_JOCKEY/baseball_bat/damage_specials_headshot", 1.0);
  467.     kv.SetFloat("ZOMBIECLASS_JOCKEY/cricket_bat/damage_specials_headshot", 1.0);
  468.     kv.SetFloat("ZOMBIECLASS_JOCKEY/crowbar/damage_specials_headshot", 1.0);
  469.     kv.SetFloat("ZOMBIECLASS_JOCKEY/electric_guitar/damage_specials_headshot", 1.0);
  470.     kv.SetFloat("ZOMBIECLASS_JOCKEY/fireaxe/damage_specials_headshot", 1.0);
  471.     kv.SetFloat("ZOMBIECLASS_JOCKEY/frying_pan/damage_specials_headshot", 1.0);
  472.     kv.SetFloat("ZOMBIECLASS_JOCKEY/golfclub/damage_specials_headshot", 1.0);
  473.     kv.SetFloat("ZOMBIECLASS_JOCKEY/katana/damage_specials_headshot", 1.0);
  474.     kv.SetFloat("ZOMBIECLASS_JOCKEY/machete/damage_specials_headshot", 1.0);
  475.     kv.SetFloat("ZOMBIECLASS_JOCKEY/tonfa/damage_specials_headshot", 1.0);
  476.     kv.SetFloat("ZOMBIECLASS_JOCKEY/knife/damage_specials_headshot", 1.0);
  477.    
  478.     kv.SetFloat("ZOMBIECLASS_CHARGER/baseball_bat/damage_specials_headshot", 1.0);
  479.     kv.SetFloat("ZOMBIECLASS_CHARGER/cricket_bat/damage_specials_headshot", 1.0);
  480.     kv.SetFloat("ZOMBIECLASS_CHARGER/crowbar/damage_specials_headshot", 1.0);
  481.     kv.SetFloat("ZOMBIECLASS_CHARGER/electric_guitar/damage_specials_headshot", 1.0);
  482.     kv.SetFloat("ZOMBIECLASS_CHARGER/fireaxe/damage_specials_headshot", 1.0);
  483.     kv.SetFloat("ZOMBIECLASS_CHARGER/frying_pan/damage_specials_headshot", 1.0);
  484.     kv.SetFloat("ZOMBIECLASS_CHARGER/golfclub/damage_specials_headshot", 1.0);
  485.     kv.SetFloat("ZOMBIECLASS_CHARGER/katana/damage_specials_headshot", 1.0);
  486.     kv.SetFloat("ZOMBIECLASS_CHARGER/machete/damage_specials_headshot", 1.0);
  487.     kv.SetFloat("ZOMBIECLASS_CHARGER/tonfa/damage_specials_headshot", 1.0);
  488.     kv.SetFloat("ZOMBIECLASS_CHARGER/knife/damage_specials_headshot", 1.0);
  489.    
  490.     kv.SetFloat("ZOMBIECLASS_TANK/baseball_bat/damage_specials_headshot", 1.0);
  491.     kv.SetFloat("ZOMBIECLASS_TANK/cricket_bat/damage_specials_headshot", 1.0);
  492.     kv.SetFloat("ZOMBIECLASS_TANK/crowbar/damage_specials_headshot", 1.0);
  493.     kv.SetFloat("ZOMBIECLASS_TANK/electric_guitar/damage_specials_headshot", 1.0);
  494.     kv.SetFloat("ZOMBIECLASS_TANK/fireaxe/damage_specials_headshot", 1.0);
  495.     kv.SetFloat("ZOMBIECLASS_TANK/frying_pan/damage_specials_headshot", 1.0);
  496.     kv.SetFloat("ZOMBIECLASS_TANK/golfclub/damage_specials_headshot", 1.0);
  497.     kv.SetFloat("ZOMBIECLASS_TANK/katana/damage_specials_headshot", 1.0);
  498.     kv.SetFloat("ZOMBIECLASS_TANK/machete/damage_specials_headshot", 1.0);
  499.     kv.SetFloat("ZOMBIECLASS_TANK/tonfa/damage_specials_headshot", 1.0);
  500.     kv.SetFloat("ZOMBIECLASS_TANK/knife/damage_specials_headshot", 1.0);
  501.     kv.ExportToFile(path);
  502.  
  503.     delete kv;
  504. }
  505.  
  506. public OnClientPutInServer(client)
  507. {
  508.     SDKHook(client, SDKHook_TraceAttack, OnTakeDamage);
  509. }
  510.  
  511. public OnClientDisconnect(client)
  512. {
  513.     SDKUnhook(client, SDKHook_TraceAttack, OnTakeDamage);
  514. }
  515.  
  516. public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype, &ammotype, hitbox, hitgroup)
  517. {
  518.     if (!(damagetype & DMG_BURN || damagetype & DMG_BLAST))
  519.     {
  520.         if (IsValidClient(attacker))
  521.         {
  522.             if(IsValidClient(victim))
  523.             {
  524.                 GetEntPropVector(victim, Prop_Send, "m_vecOrigin", fDangerPos);
  525.                 fTargetDistance = GetVectorDistance(fDamagerPos, fDangerPos);
  526.                
  527.                 decl String:classname[64];
  528.                 GetClientWeapon(attacker, classname, sizeof(classname));
  529.                 if(StrEqual(classname, "weapon_melee"))
  530.                 {
  531.                     GetEntPropString(GetPlayerWeaponSlot(attacker, 1), Prop_Data, "m_strMapSetScriptName", classname, sizeof(classname));
  532.                 }
  533.                
  534.                 KeyValues kv = new KeyValues("damage_modifier_specials");
  535.                 if (kv.ImportFromFile(sDataFilePath))
  536.                 {
  537.                     if(GetEntProp(victim, Prop_Send, "m_zombieClass") == 1)
  538.                     {
  539.                         if (KvJumpToKey(kv, "ZOMBIECLASS_SMOKER", true))
  540.                         {
  541.                             if (KvJumpToKey(kv, classname, true))
  542.                             {
  543.                                 int heal = GetClientHealth(victim);
  544.                                 PrintToChatAll("Smoker - %i", heal);
  545.                                 new num = KvGetNum(kv, "damage_specials", 1);
  546.                                 damage = (damage * 0) + num;
  547.                                 if(hitgroup == 1)
  548.                                 {
  549.                                     num = KvGetNum(kv, "damage_specials_headshot", 1);
  550.                                     damage = (damage * 0) + num;
  551.                                 }
  552.                                 return Plugin_Changed;
  553.                             }
  554.                         }
  555.                     }
  556.                     else if(GetEntProp(victim, Prop_Send, "m_zombieClass") == 2)
  557.                     {
  558.                         if (KvJumpToKey(kv, "ZOMBIECLASS_BOOMER", true))
  559.                         {
  560.                             if (KvJumpToKey(kv, classname, true))
  561.                             {
  562.                                 new num = KvGetNum(kv, "damage_specials", 1);
  563.                                 damage = (damage * 0) + num;
  564.                                 int heal = GetClientHealth(victim);
  565.                                 PrintToChatAll("Boomer - %i", heal);
  566.                                 if(hitgroup == 1)
  567.                                 {
  568.                                     num = KvGetNum(kv, "damage_specials_headshot", 1);
  569.                                     damage = (damage * 0) + num;
  570.                                 }
  571.                                 if(fTargetDistance < 100.0)
  572.                                 {
  573.                                     if(fTargetDistance > 50.0)
  574.                                     {
  575.                                         if (KvJumpToKey(kv, "vector_distance_damage", true))
  576.                                         {
  577.                                             new distance_damage50 = KvGetNum(kv, "damage_distance_50-100", 1);
  578.                                             damage = ((((damage * 0) + num) * 0) + distance_damage50);
  579.                                         }
  580.                                     }
  581.                                 }
  582.                                 else if (fTargetDistance < 200.0)
  583.                                 {
  584.                                     if(fTargetDistance > 100.0)
  585.                                     {
  586.                                         new distance_damage100 = KvGetNum(kv, "damage_distance_100-200", 1);
  587.                                         damage = ((((damage * 0) + num) * 0) + distance_damage100);
  588.                                     }
  589.                                 }
  590.                                 else if (fTargetDistance > 300.0)
  591.                                 {
  592.                                     new distance_damage200 = KvGetNum(kv, "damage_distance_200", 1);
  593.                                     damage = ((((damage * 0) + num) * 0) + distance_damage200);
  594.                                 }
  595.                                 return Plugin_Changed;
  596.                             }
  597.                         }
  598.                     }
  599.                     else if(GetEntProp(victim, Prop_Send, "m_zombieClass") == 3)
  600.                     {
  601.                         if (KvJumpToKey(kv, "ZOMBIECLASS_HUNTER", true))
  602.                         {
  603.                             if (KvJumpToKey(kv, classname, true))
  604.                             {
  605.                                 new num = KvGetNum(kv, "damage_specials", 1);
  606.                                 damage = (damage * 0) + num;
  607.                                 int heal = GetClientHealth(victim);
  608.                                 PrintToChatAll("Hunter - %i", heal);
  609.                                 if(hitgroup == 1)
  610.                                 {
  611.                                     num = KvGetNum(kv, "damage_specials_headshot", 1);
  612.                                     damage = (damage * 0) + num;
  613.                                 }
  614.                                 return Plugin_Changed;
  615.                             }
  616.                         }
  617.                     }
  618.                     else if(GetEntProp(victim, Prop_Send, "m_zombieClass") == 4)
  619.                     {
  620.                         if (KvJumpToKey(kv, "ZOMBIECLASS_SPITTER", true))
  621.                         {
  622.                             if (KvJumpToKey(kv, classname, true))
  623.                             {
  624.                                 new num = KvGetNum(kv, "damage_specials", 1);
  625.                                 damage = (damage * 0) + num;
  626.                                 int heal = GetClientHealth(victim);
  627.                                 PrintToChatAll("Spitter - %i", heal);
  628.                                 if(hitgroup == 1)
  629.                                 {
  630.                                     num = KvGetNum(kv, "damage_specials_headshot", 1);
  631.                                     damage = (damage * 0) + num;
  632.                                 }
  633.                                 return Plugin_Changed;
  634.                             }
  635.                         }
  636.                     }
  637.                     else if(GetEntProp(victim, Prop_Send, "m_zombieClass") == 5)
  638.                     {
  639.                         if (KvJumpToKey(kv, "ZOMBIECLASS_JOCKEY", true))
  640.                         {
  641.                             if (KvJumpToKey(kv, classname, true))
  642.                             {
  643.                                 new num = KvGetNum(kv, "damage_specials", 1);
  644.                                 damage = (damage * 0) + num;
  645.                                 int heal = GetClientHealth(victim);
  646.                                 PrintToChatAll("Jockey - %i", heal);
  647.                                 if(hitgroup == 1)
  648.                                 {
  649.                                     num = KvGetNum(kv, "damage_specials_headshot", 1);
  650.                                     damage = (damage * 0) + num;
  651.                                 }
  652.                                 return Plugin_Changed;
  653.                             }
  654.                         }
  655.                     }
  656.                     else if(GetEntProp(victim, Prop_Send, "m_zombieClass") == 6)
  657.                     {
  658.                         if (KvJumpToKey(kv, "ZOMBIECLASS_CHARGER", true))
  659.                         {
  660.                             if (KvJumpToKey(kv, classname, true))
  661.                             {
  662.                                 new num = KvGetNum(kv, "damage_specials", 1);
  663.                                 damage = (damage * 0) + num;
  664.                                 int heal = GetClientHealth(victim);
  665.                                 PrintToChatAll("Charger - %i", heal);
  666.                                 if(hitgroup == 1)
  667.                                 {
  668.                                     num = KvGetNum(kv, "damage_specials_headshot", 1);
  669.                                     damage = (damage * 0) + num;
  670.                                 }
  671.                                 return Plugin_Changed;
  672.                             }
  673.                         }
  674.                     }
  675.                     else if(GetEntProp(victim, Prop_Send, "m_zombieClass") == 8)
  676.                     {
  677.                         if (KvJumpToKey(kv, "ZOMBIECLASS_TANK", true))
  678.                         {
  679.                             if (KvJumpToKey(kv, classname, true))
  680.                             {
  681.                                 new num = KvGetNum(kv, "damage_specials", 1);
  682.                                 damage = (damage * 0) + num;
  683.                                 int heal = GetClientHealth(victim);
  684.                                 PrintToChatAll("Tank - %i", heal);
  685.                                 if(hitgroup == 1)
  686.                                 {
  687.                                     num = KvGetNum(kv, "damage_specials_headshot", 1);
  688.                                     damage = (damage * 0) + num;
  689.                                 }
  690.                                 return Plugin_Changed;
  691.                             }
  692.                         }
  693.                     }
  694.                 }
  695.             }
  696.         }
  697.     }
  698.     return Plugin_Continue;
  699. }
  700.  
  701. public IsValidClient(client)
  702. {
  703.     if (client <= 0)
  704.         return false;
  705.        
  706.     if (client > MaxClients)
  707.         return false;
  708.        
  709.     if (!IsClientInGame(client))
  710.         return false;
  711.        
  712.     if (!IsPlayerAlive(client))
  713.         return false;
  714.  
  715.     return true;
  716. }
Advertisement
Add Comment
Please, Sign In to add comment