Advertisement
Guest User

Untitled

a guest
May 14th, 2017
325
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.48 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3. #include <sscanf2>
  4.  
  5. new MELEE_DAMAGE[MAX_PLAYERS][7];
  6. new PISTOL_DAMAGE[MAX_PLAYERS][7];
  7. new SHOTGUN_DAMAGE[MAX_PLAYERS][7];
  8. new SMG_DAMAGE[MAX_PLAYERS][7];
  9. new ASSAULT_DAMAGE[MAX_PLAYERS][7];
  10. new RIFLES_DAMAGE[MAX_PLAYERS][7];
  11.  
  12. #define TORSO_PART 0
  13. #define CHEST_PART 1
  14. #define RARM_PART 2
  15. #define LARM_PART 3
  16. #define LLEG_PART 4
  17. #define RLEG_PART 5
  18. #define HEAD_PART 6
  19.  
  20. public OnFilterScriptInit()
  21. {
  22. print("\n--------------------------------------");
  23. print(" Injuries system by Private200");
  24. print("--------------------------------------\n");
  25. return 1;
  26. }
  27.  
  28. public OnFilterScriptExit()
  29. {
  30. return 1;
  31. }
  32.  
  33. public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
  34. {
  35. if(issuerid != INVALID_PLAYER_ID)
  36. {
  37. if(bodypart == 3)
  38. {
  39. if(weaponid == 4 || weaponid == 5 || weaponid == 0)
  40. {
  41. MELEE_DAMAGE[playerid][0]++;
  42. }
  43. else if(weaponid == 22 || weaponid == 23 || weaponid == 24)
  44. {
  45. PISTOL_DAMAGE[playerid][0]++;
  46. }
  47. else if(weaponid == 25 || weaponid == 26 || weaponid == 27)
  48. {
  49. SHOTGUN_DAMAGE[playerid][0]++;
  50. }
  51. else if(weaponid == 33 || weaponid == 34)
  52. {
  53. RIFLES_DAMAGE[playerid][0]++;
  54. }
  55. else if(weaponid == 28 || weaponid == 29 || weaponid == 32)
  56. {
  57. SMG_DAMAGE[playerid][0]++;
  58. }
  59. else if(weaponid == 30 || weaponid == 31)
  60. {
  61. ASSAULT_DAMAGE[playerid][0]++;
  62. }
  63. }
  64. if(bodypart == 4)
  65. {
  66. if(weaponid == 4 || weaponid == 5 || weaponid == 0)
  67. {
  68. MELEE_DAMAGE[playerid][1]++;
  69. }
  70. else if(weaponid == 22 || weaponid == 23 || weaponid == 24)
  71. {
  72. PISTOL_DAMAGE[playerid][1]++;
  73. }
  74. else if(weaponid == 25 || weaponid == 26 || weaponid == 27)
  75. {
  76. SHOTGUN_DAMAGE[playerid][1]++;
  77. }
  78. else if(weaponid == 33 || weaponid == 34)
  79. {
  80. RIFLES_DAMAGE[playerid][1]++;
  81. }
  82. else if(weaponid == 28 || weaponid == 29 || weaponid == 32)
  83. {
  84. SMG_DAMAGE[playerid][1]++;
  85. }
  86. else if(weaponid == 30 || weaponid == 31)
  87. {
  88. ASSAULT_DAMAGE[playerid][1]++;
  89. }
  90. }
  91. if(bodypart == 5)
  92. {
  93. if(weaponid == 4 || weaponid == 5 || weaponid == 0)
  94. {
  95. MELEE_DAMAGE[playerid][2]++;
  96. }
  97. else if(weaponid == 22 || weaponid == 23 || weaponid == 24)
  98. {
  99. PISTOL_DAMAGE[playerid][2]++;
  100. }
  101. else if(weaponid == 25 || weaponid == 26 || weaponid == 27)
  102. {
  103. SHOTGUN_DAMAGE[playerid][2]++;
  104. }
  105. else if(weaponid == 33 || weaponid == 34)
  106. {
  107. RIFLES_DAMAGE[playerid][2]++;
  108. }
  109. else if(weaponid == 28 || weaponid == 29 || weaponid == 32)
  110. {
  111. SMG_DAMAGE[playerid][2]++;
  112. }
  113. else if(weaponid == 30 || weaponid == 31)
  114. {
  115. ASSAULT_DAMAGE[playerid][2]++;
  116. }
  117. }
  118. if(bodypart == 6)
  119. {
  120. if(weaponid == 4 || weaponid == 5 || weaponid == 0)
  121. {
  122. MELEE_DAMAGE[playerid][3]++;
  123. }
  124. else if(weaponid == 22 || weaponid == 23 || weaponid == 24)
  125. {
  126. PISTOL_DAMAGE[playerid][3]++;
  127. }
  128. else if(weaponid == 25 || weaponid == 26 || weaponid == 27)
  129. {
  130. SHOTGUN_DAMAGE[playerid][3]++;
  131. }
  132. else if(weaponid == 33 || weaponid == 34)
  133. {
  134. RIFLES_DAMAGE[playerid][3]++;
  135. }
  136. else if(weaponid == 28 || weaponid == 29 || weaponid == 32)
  137. {
  138. SMG_DAMAGE[playerid][3]++;
  139. }
  140. else if(weaponid == 30 || weaponid == 31)
  141. {
  142. ASSAULT_DAMAGE[playerid][3]++;
  143. }
  144. }
  145. if(bodypart == 7)
  146. {
  147. if(weaponid == 4 || weaponid == 5 || weaponid == 0)
  148. {
  149. MELEE_DAMAGE[playerid][4]++;
  150. }
  151. else if(weaponid == 22 || weaponid == 23 || weaponid == 24)
  152. {
  153. PISTOL_DAMAGE[playerid][4]++;
  154. }
  155. else if(weaponid == 25 || weaponid == 26 || weaponid == 27)
  156. {
  157. SHOTGUN_DAMAGE[playerid][4]++;
  158. }
  159. else if(weaponid == 33 || weaponid == 34)
  160. {
  161. RIFLES_DAMAGE[playerid][4]++;
  162. }
  163. else if(weaponid == 28 || weaponid == 29 || weaponid == 32)
  164. {
  165. SMG_DAMAGE[playerid][4]++;
  166. }
  167. else if(weaponid == 30 || weaponid == 31)
  168. {
  169. ASSAULT_DAMAGE[playerid][4]++;
  170. }
  171. }
  172. if(bodypart == 8)
  173. {
  174. if(weaponid == 4 || weaponid == 5 || weaponid == 0|| weaponid == 3)
  175. {
  176. MELEE_DAMAGE[playerid][5]++;
  177. }
  178. else if(weaponid == 22 || weaponid == 23 || weaponid == 24)
  179. {
  180. PISTOL_DAMAGE[playerid][5]++;
  181. }
  182. else if(weaponid == 25 || weaponid == 26 || weaponid == 27)
  183. {
  184. SHOTGUN_DAMAGE[playerid][5]++;
  185. }
  186. else if(weaponid == 33 || weaponid == 34)
  187. {
  188. RIFLES_DAMAGE[playerid][5]++;
  189. }
  190. else if(weaponid == 28 || weaponid == 29 || weaponid == 32)
  191. {
  192. SMG_DAMAGE[playerid][5]++;
  193. }
  194. else if(weaponid == 30 || weaponid == 31)
  195. {
  196. ASSAULT_DAMAGE[playerid][5]++;
  197. }
  198. }
  199. if(bodypart == 9)
  200. {
  201. if(weaponid == 4 || weaponid == 5 || weaponid == 0 || weaponid == 3)
  202. {
  203. MELEE_DAMAGE[playerid][6]++;
  204. }
  205. else if(weaponid == 22 || weaponid == 23 || weaponid == 24)
  206. {
  207. PISTOL_DAMAGE[playerid][6]++;
  208. }
  209. else if(weaponid == 25 || weaponid == 26 || weaponid == 27)
  210. {
  211. SHOTGUN_DAMAGE[playerid][6]++;
  212. }
  213. else if(weaponid == 33 || weaponid == 34)
  214. {
  215. RIFLES_DAMAGE[playerid][6]++;
  216. }
  217. else if(weaponid == 28 || weaponid == 29 || weaponid == 32)
  218. {
  219. SMG_DAMAGE[playerid][6]++;
  220. }
  221. else if(weaponid == 30 || weaponid == 31)
  222. {
  223. ASSAULT_DAMAGE[playerid][6]++;
  224. }
  225. }
  226. }
  227. return 1;
  228. }
  229.  
  230. public OnPlayerConnect(playerid)
  231. {
  232. ResetPlayerInjuries(playerid);
  233. return 1;
  234. }
  235.  
  236. public OnPlayerDisconnect(playerid)
  237. {
  238. ResetPlayerInjuries(playerid);
  239. return 1;
  240. }
  241.  
  242. stock NumberToName(number)
  243. {
  244. new name[40];
  245. if(number == 0) format(name, sizeof(name), "torso");
  246. else if(number == 1) format(name, sizeof(name), "torso");
  247. else if(number == 2) format(name, sizeof(name), "right arm");
  248. else if(number == 3) format(name, sizeof(name), "left arm");
  249. else if(number == 4) format(name, sizeof(name), "left leg");
  250. else if(number == 5) format(name, sizeof(name), "right leg");
  251. else if(number == 6) format(name, sizeof(name), "head");
  252. return name;
  253. }
  254.  
  255. stock ResetPlayerInjuries(playerid)
  256. {
  257. for(new i; i < 7; i++)
  258. {
  259. SMG_DAMAGE[playerid][i] = 0;
  260. MELEE_DAMAGE[playerid][i] = 0;
  261. PISTOL_DAMAGE[playerid][i] = 0;
  262. SHOTGUN_DAMAGE[playerid][i] = 0;
  263. RIFLES_DAMAGE[playerid][i] = 0;
  264. ASSAULT_DAMAGE[playerid][i] = 0;
  265. }
  266. return 1;
  267. }
  268. /*
  269. CMD:me(playerid, params[])
  270. {
  271. SMG_DAMAGE[playerid][2] = 1;
  272. MELEE_DAMAGE[playerid][5] = 2;
  273. MELEE_DAMAGE[playerid][1] = 2;
  274. SHOTGUN_DAMAGE[playerid][4] = 2;
  275. return 1;
  276. }*/
  277.  
  278. CMD:injuries(playerid, params[])
  279. {
  280. new targetid;
  281. if(sscanf(params, "d", targetid)) return SendClientMessage(playerid, -1, "{FF0000}USAGE: /injuries [targetid]");
  282. ShowPlayerInjuries(playerid, targetid);
  283. return 1;
  284. }
  285.  
  286. stock ShowPlayerInjuries(playerid, target)
  287. {
  288. new string[128];
  289.  
  290. new name[MAX_PLAYER_NAME];
  291. GetPlayerName(target, name, sizeof(name));
  292. format(string, 128, "{4BD1B9}%s's {FFFFFF}injuries:", name);
  293. SendClientMessage(playerid, -1, string);
  294.  
  295. for(new i; i < 7; i ++ )
  296. {
  297. if(SMG_DAMAGE[target][i] != 0)
  298. {
  299. if(i == 0)
  300. {
  301. format(string, 128, "%d shot/s in the %s by SMG bullets", SMG_DAMAGE[target][i], NumberToName(i));
  302. SendClientMessage(playerid, -1, string);
  303. }
  304. else if(i == 1)
  305. {
  306. format(string, 128, "%d shot/s in the %s by SMG bullets", SMG_DAMAGE[target][i], NumberToName(i));
  307. SendClientMessage(playerid, -1, string);
  308. }
  309. else if(i == 2)
  310. {
  311. format(string, 128, "%d shot/s in the %s by SMG bullets", SMG_DAMAGE[target][i], NumberToName(i));
  312. SendClientMessage(playerid, -1, string);
  313. }
  314. else if(i == 3)
  315. {
  316. format(string, 128, "%d shot/s in the %s by SMG bullets", SMG_DAMAGE[target][i], NumberToName(i));
  317. SendClientMessage(playerid, -1, string);
  318. }
  319. else if(i == 4)
  320. {
  321. format(string, 128, "%d shot/s in the %s by SMG bullets", SMG_DAMAGE[target][i], NumberToName(i));
  322. SendClientMessage(playerid, -1, string);
  323. }
  324. else if(i == 5)
  325. {
  326. format(string, 128, "%d shot/s in the %s by SMG bullets", SMG_DAMAGE[target][i], NumberToName(i));
  327. SendClientMessage(playerid, -1, string);
  328. }
  329. else if(i == 6)
  330. {
  331. format(string, 128, "%d shot/s in the %s by SMG bullets", SMG_DAMAGE[target][i], NumberToName(i));
  332. SendClientMessage(playerid, -1, string);
  333. }
  334. }
  335. else if(MELEE_DAMAGE[target][i] != 0)
  336. {
  337. if(i == 0)
  338. {
  339. format(string, 128, "%d broken bones in the %s by melee shots", MELEE_DAMAGE[target][i], NumberToName(i));
  340. SendClientMessage(playerid, -1, string);
  341. }
  342. else if(i == 1)
  343. {
  344. format(string, 128, "%d broken bones in the %s by melee shots", MELEE_DAMAGE[target][i], NumberToName(i));
  345. SendClientMessage(playerid, -1, string);
  346. }
  347. else if(i == 2)
  348. {
  349. format(string, 128, "%d broken bones in the %s by melee shots", MELEE_DAMAGE[target][i], NumberToName(i));
  350. SendClientMessage(playerid, -1, string);
  351. }
  352. else if(i == 3)
  353. {
  354. format(string, 128, "%d broken bones in the %s by melee shots", MELEE_DAMAGE[target][i], NumberToName(i));
  355. SendClientMessage(playerid, -1, string);
  356. }
  357. else if(i == 4)
  358. {
  359. format(string, 128, "%d broken bones in the %s by melee shots", MELEE_DAMAGE[target][i], NumberToName(i));
  360. SendClientMessage(playerid, -1, string);
  361. }
  362. else if(i == 5)
  363. {
  364. format(string, 128, "%d broken bones in the %s by melee shots", MELEE_DAMAGE[target][i], NumberToName(i));
  365. SendClientMessage(playerid, -1, string);
  366. }
  367. else if(i == 6)
  368. {
  369. format(string, 128, "%d broken bones in the %s by melee shots", MELEE_DAMAGE[target][i], NumberToName(i));
  370. SendClientMessage(playerid, -1, string);
  371. }
  372. }
  373. else if(PISTOL_DAMAGE[target][i] != 0)
  374. {
  375. if(i == 0)
  376. {
  377. format(string, 128, "%d shot/s in the %s by Pistol bullets", PISTOL_DAMAGE[target][i], NumberToName(i));
  378. SendClientMessage(playerid, -1, string);
  379. }
  380. else if(i == 1)
  381. {
  382. format(string, 128, "%d shot/s in the %s by Pistol bullets", PISTOL_DAMAGE[target][i], NumberToName(i));
  383. SendClientMessage(playerid, -1, string);
  384. }
  385. else if(i == 2)
  386. {
  387. format(string, 128, "%d shot/s in the %s by Pistol bullets", PISTOL_DAMAGE[target][i], NumberToName(i));
  388. SendClientMessage(playerid, -1, string);
  389. }
  390. else if(i == 3)
  391. {
  392. format(string, 128, "%d shot/s in the %s by Pistol bullets", PISTOL_DAMAGE[target][i], NumberToName(i));
  393. SendClientMessage(playerid, -1, string);
  394. }
  395. else if(i == 4)
  396. {
  397. format(string, 128, "%d shot/s in the %s by Pistol bullets", PISTOL_DAMAGE[target][i], NumberToName(i));
  398. SendClientMessage(playerid, -1, string);
  399. }
  400. else if(i == 5)
  401. {
  402. format(string, 128, "%d shot/s in the %s by Pistol bullets", PISTOL_DAMAGE[target][i], NumberToName(i));
  403. SendClientMessage(playerid, -1, string);
  404. }
  405. else if(i == 6)
  406. {
  407. format(string, 128, "%d shot/s in the %s by Pistol bullets", PISTOL_DAMAGE[target][i], NumberToName(i));
  408. SendClientMessage(playerid, -1, string);
  409. }
  410. }
  411. else if(ASSAULT_DAMAGE[target][i] != 0)
  412. {
  413. if(i == 0)
  414. {
  415. format(string, 128, "%d shot/s in the %s by Assault bullets", ASSAULT_DAMAGE[target][i], NumberToName(i));
  416. SendClientMessage(playerid, -1, string);
  417. }
  418. else if(i == 1)
  419. {
  420. format(string, 128, "%d shot/s in the %s by Assault bullets", ASSAULT_DAMAGE[target][i], NumberToName(i));
  421. SendClientMessage(playerid, -1, string);
  422. }
  423. else if(i == 2)
  424. {
  425. format(string, 128, "%d shot/s in the %s by Assault bullets", ASSAULT_DAMAGE[target][i], NumberToName(i));
  426. SendClientMessage(playerid, -1, string);
  427. }
  428. else if(i == 3)
  429. {
  430. format(string, 128, "%d shot/s in the %s by Assault bullets", ASSAULT_DAMAGE[target][i], NumberToName(i));
  431. SendClientMessage(playerid, -1, string);
  432. }
  433. else if(i == 4)
  434. {
  435. format(string, 128, "%d shot/s in the %s by Assault bullets", ASSAULT_DAMAGE[target][i], NumberToName(i));
  436. SendClientMessage(playerid, -1, string);
  437. }
  438. else if(i == 5)
  439. {
  440. format(string, 128, "%d shot/s in the %s by Assault bullets", ASSAULT_DAMAGE[target][i], NumberToName(i));
  441. SendClientMessage(playerid, -1, string);
  442. }
  443. else if(i == 6)
  444. {
  445. format(string, 128, "%d shot/s in the %s by Assault bullets", ASSAULT_DAMAGE[target][i], NumberToName(i));
  446. SendClientMessage(playerid, -1, string);
  447. }
  448. }
  449. else if(RIFLES_DAMAGE[target][i] != 0)
  450. {
  451. if(i == 0)
  452. {
  453. format(string, 128, "%d shot/s in the %s by SMG bullets", RIFLES_DAMAGE[target][i], NumberToName(i));
  454. SendClientMessage(playerid, -1, string);
  455. }
  456. else if(i == 1)
  457. {
  458. format(string, 128, "%d shot/s in the %s by Rifle bullets", RIFLES_DAMAGE[target][i], NumberToName(i));
  459. SendClientMessage(playerid, -1, string);
  460. }
  461. else if(i == 2)
  462. {
  463. format(string, 128, "%d shot/s in the %s by Rifle bullets", RIFLES_DAMAGE[target][i], NumberToName(i));
  464. SendClientMessage(playerid, -1, string);
  465. }
  466. else if(i == 3)
  467. {
  468. format(string, 128, "%d shot/s in the %s by Rifle bullets", RIFLES_DAMAGE[target][i], NumberToName(i));
  469. SendClientMessage(playerid, -1, string);
  470. }
  471. else if(i == 4)
  472. {
  473. format(string, 128, "%d shot/s in the %s by Rifle bullets", RIFLES_DAMAGE[target][i], NumberToName(i));
  474. SendClientMessage(playerid, -1, string);
  475. }
  476. else if(i == 5)
  477. {
  478. format(string, 128, "%d shot/s in the %s by Rifle bullets", RIFLES_DAMAGE[target][i], NumberToName(i));
  479. SendClientMessage(playerid, -1, string);
  480. }
  481. else if(i == 6)
  482. {
  483. format(string, 128, "%d shot/s in the %s by Rifle bullets", RIFLES_DAMAGE[target][i], NumberToName(i));
  484. SendClientMessage(playerid, -1, string);
  485. }
  486. }
  487. else if(SHOTGUN_DAMAGE[target][i] != 0)
  488. {
  489. if(i == 0)
  490. {
  491. format(string, 128, "%d shot/s in the %s by Shotgun bullets", SHOTGUN_DAMAGE[target][i], NumberToName(i));
  492. SendClientMessage(playerid, -1, string);
  493. }
  494. else if(i == 1)
  495. {
  496. format(string, 128, "%d shot/s in the %s by Shotgun bullets", SHOTGUN_DAMAGE[target][i], NumberToName(i));
  497. SendClientMessage(playerid, -1, string);
  498. }
  499. else if(i == 2)
  500. {
  501. format(string, 128, "%d shot/s in the %s by Shotgun bullets", SHOTGUN_DAMAGE[target][i], NumberToName(i));
  502. SendClientMessage(playerid, -1, string);
  503. }
  504. else if(i == 3)
  505. {
  506. format(string, 128, "%d shot/s in the %s by Shotgun bullets", SHOTGUN_DAMAGE[target][i], NumberToName(i));
  507. SendClientMessage(playerid, -1, string);
  508. }
  509. else if(i == 4)
  510. {
  511. format(string, 128, "%d shot/s in the %s by Shotgun bullets", SHOTGUN_DAMAGE[target][i], NumberToName(i));
  512. SendClientMessage(playerid, -1, string);
  513. }
  514. else if(i == 5)
  515. {
  516. format(string, 128, "%d shot/s in the %s by Shotgun bullets", SHOTGUN_DAMAGE[target][i], NumberToName(i));
  517. SendClientMessage(playerid, -1, string);
  518. }
  519. else if(i == 6)
  520. {
  521. format(string, 128, "%d shot/s in the %s by Shotgun bullets", SHOTGUN_DAMAGE[target][i], NumberToName(i));
  522. SendClientMessage(playerid, -1, string);
  523. }
  524. }
  525. }
  526. return 1;
  527. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement