FlacoBey

Untitled

Jan 6th, 2019
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.02 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. new num = KvGetNum(kv, "damage_specials", 1);
  296. damage = (damage * 0) + num;
  297. if(g_HeadShot == true)
  298. {
  299. g_HeadShot = false;
  300. num = KvGetNum(kv, "damage_specials_headshot", 1);
  301. damage = (damage * 0) + num;
  302. }
  303. return Plugin_Changed;
  304. }
  305. }
  306. }
  307. else if(GetEntProp(victim, Prop_Send, "m_zombieClass") == 2)
  308. {
  309. if (KvJumpToKey(kv, "ZOMBIECLASS_BOOMER", true))
  310. {
  311. if (KvJumpToKey(kv, classname, true))
  312. {
  313. new num = KvGetNum(kv, "damage_specials", 1);
  314. damage = (damage * 0) + num;
  315. if(g_HeadShot == true)
  316. {
  317. g_HeadShot = false;
  318. num = KvGetNum(kv, "damage_specials_headshot", 1);
  319. damage = (damage * 0) + num;
  320. }
  321. return Plugin_Changed;
  322. }
  323. }
  324. }
  325. else if(GetEntProp(victim, Prop_Send, "m_zombieClass") == 3)
  326. {
  327. if (KvJumpToKey(kv, "ZOMBIECLASS_HUNTER", true))
  328. {
  329. if (KvJumpToKey(kv, classname, true))
  330. {
  331. new num = KvGetNum(kv, "damage_specials", 1);
  332. damage = (damage * 0) + num;
  333. if(g_HeadShot == true)
  334. {
  335. g_HeadShot = false;
  336. num = KvGetNum(kv, "damage_specials_headshot", 1);
  337. damage = (damage * 0) + num;
  338. }
  339. return Plugin_Changed;
  340. }
  341. }
  342. }
  343. else if(GetEntProp(victim, Prop_Send, "m_zombieClass") == 4)
  344. {
  345. if (KvJumpToKey(kv, "ZOMBIECLASS_SPITTER", true))
  346. {
  347. if (KvJumpToKey(kv, classname, true))
  348. {
  349. new num = KvGetNum(kv, "damage_specials", 1);
  350. damage = (damage * 0) + num;
  351. if(g_HeadShot == true)
  352. {
  353. g_HeadShot = false;
  354. num = KvGetNum(kv, "damage_specials_headshot", 1);
  355. damage = (damage * 0) + num;
  356. }
  357. return Plugin_Changed;
  358. }
  359. }
  360. }
  361. else if(GetEntProp(victim, Prop_Send, "m_zombieClass") == 5)
  362. {
  363. if (KvJumpToKey(kv, "ZOMBIECLASS_JOCKEY", true))
  364. {
  365. if (KvJumpToKey(kv, classname, true))
  366. {
  367. new num = KvGetNum(kv, "damage_specials", 1);
  368. damage = (damage * 0) + num;
  369. if(g_HeadShot == true)
  370. {
  371. g_HeadShot = false;
  372. num = KvGetNum(kv, "damage_specials_headshot", 1);
  373. damage = (damage * 0) + num;
  374. }
  375. return Plugin_Changed;
  376. }
  377. }
  378. }
  379. }
  380. }
  381. }
  382. }
  383. return Plugin_Continue;
  384. }
  385.  
  386. public IsValidClient(client)
  387. {
  388. if (client <= 0)
  389. return false;
  390.  
  391. if (client > MaxClients)
  392. return false;
  393.  
  394. if (!IsClientInGame(client))
  395. return false;
  396.  
  397. if (!IsPlayerAlive(client))
  398. return false;
  399.  
  400. return true;
  401. }
Advertisement
Add Comment
Please, Sign In to add comment