Guest User

Head & Heart Shot system-SAMP

a guest
Jun 25th, 2015
819
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.18 KB | None | 0 0
  1. #define FILTERSCRIPT
  2. #include <a_samp>
  3. #define RED 0xFF0000FF
  4. #define GREEN 0x33AA33AA
  5. new bool:helmet[MAX_PLAYERS];
  6. new bool:armor[MAX_PLAYERS];
  7. #if defined FILTERSCRIPT
  8. public OnPlayerConnect(playerid)
  9. {
  10. helmet[playerid] = false;
  11. armor[playerid] = false;
  12. }
  13. public OnPlayerDeath(playerid, killerid, reason)
  14. {
  15. if(armor[playerid] == true)
  16. {
  17. SendClientMessage(playerid, RED,"*You Lost Your Armor Because Of Death!");
  18. armor[playerid] = false;
  19. return 1;
  20. }
  21. if(helmet[playerid] == true)
  22. {
  23. SendClientMessage(playerid, RED,"*You Lost Your Helmet Because Of Death!");
  24. helmet[playerid] = false;
  25. return 1;
  26. }
  27. return 1;
  28. }
  29. public OnPlayerCommandText(playerid, cmdtext[])
  30. {
  31. if (strcmp("/sniper", cmdtext, true, 10) == 0)
  32. {
  33. GivePlayerWeapon(playerid,34,1000);
  34. SetPlayerSkin(playerid,0);
  35. return 1;
  36. }
  37. if (strcmp("/buyarmor", cmdtext, true, 10) == 0)
  38. {
  39. if(armor[playerid] == false)
  40. {
  41. if(GetPlayerMoney(playerid) >= 5000)
  42. {
  43. armor[playerid] = true;
  44. GivePlayerMoney(playerid, -5000);
  45. SendClientMessage(playerid, GREEN,"*You Bought A Armor,Now You Are Protected From One Heart Shot!");
  46. SendClientMessage(playerid, RED,"*Fined $5000 For The Armor.");
  47. } else SendClientMessage(playerid, RED,"*You Don't Have Enough Money To Bought A Armor,It Cost $5000!");
  48. }
  49. else if(armor[playerid] == true)
  50. {
  51. SendClientMessage(playerid,RED,"*You Already Have A Armor!");
  52. }
  53. return 1;
  54. }
  55. if (strcmp("/buyhelmet", cmdtext, true, 10) == 0)
  56. {
  57. if(helmet[playerid] == false)
  58. {
  59. if(GetPlayerMoney(playerid) >= 3000)
  60. {
  61. GivePlayerMoney(playerid, -3000);
  62. SendClientMessage(playerid, GREEN,"*You Bought A Helmet,Now You Are Protected From One Head Shot!");
  63. SendClientMessage(playerid, RED,"*Fined $3000 For The Helmet.");
  64. helmet[playerid] = true;
  65. } else SendClientMessage(playerid, RED,"*You Don't Have Enough Money To Bought A Helmet,It Cost $3000!");
  66. }
  67. else if(helmet[playerid] == true)
  68. {
  69. SendClientMessage(playerid,RED,"*You Already Have A Helmet!");
  70. }
  71. return 1;
  72. }
  73. return 0;
  74. }
  75. public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
  76. {
  77. if(issuerid != INVALID_PLAYER_ID && weaponid == 34 && bodypart == 9 && GetPlayerTeam(playerid) != GetPlayerTeam(issuerid) && helmet[issuerid] == false)
  78. {
  79. new string[50],str[50],st[50],Float:x,Float:y,Float:z,Float:distance,killer[MAX_PLAYER_NAME],killed[MAX_PLAYER_NAME];
  80. GetPlayerName(playerid, killer,sizeof(killer));
  81. GetPlayerName(issuerid, killed,sizeof(killed));
  82. GetPlayerPos(issuerid, Float:x, Float:y, Float:z);
  83. format(string,sizeof(string),"[Head-Shot]You Have Killed {00FF00} %s(%i){FF0000} With A Head Shot And Got 2 Bonus Score And $3000!",killed,issuerid);
  84. SendClientMessage(playerid, RED,string);
  85. SetPlayerScore(playerid,GetPlayerScore(playerid)+2);
  86. format(str,sizeof(str),"[[Head-Shot]You Have Been Head-Shotted By {00FF00} %s(%i) {FF0000} And Lost $3000",killer,playerid);
  87. SendClientMessage(issuerid,RED,str);
  88. SetPlayerHealth(issuerid,0);
  89. GivePlayerMoney(playerid, 3000);
  90. GivePlayerMoney(issuerid, -3000);
  91. distance = GetPlayerDistanceFromPoint(playerid, Float:x, Float:y, Float:z);
  92. format(st,sizeof(st),"[Head-Shot]{00FF00} %s(%i) {FF0000} Has Killed {00FF00} %s(%i) {FF0000} With A Head Shot From {00FF00} %f Meters!",killer,playerid,killed,issuerid,distance);
  93. SendClientMessageToAll(RED,st);
  94. return 1;
  95. }
  96. else if(helmet[issuerid] == true)
  97. {
  98. helmet[issuerid] = false;
  99. GameTextForPlayer(playerid, "~r~Helmet Destroyed!", 3000, 6);
  100. GameTextForPlayer(issuerid, "~r~Helmet Destroyed!", 3000, 1);
  101. }
  102. if(issuerid != INVALID_PLAYER_ID && weaponid == 34 && bodypart == 5 && GetPlayerTeam(playerid) != GetPlayerTeam(issuerid) && armor[issuerid] == false)
  103. {
  104. new string[50],str[50],st[50],Float:x,Float:y,Float:z,Float:distance,killer[MAX_PLAYER_NAME],killed[MAX_PLAYER_NAME];
  105. GetPlayerName(playerid, killer,sizeof(killer));
  106. GetPlayerName(issuerid, killed,sizeof(killed));
  107. GetPlayerPos(issuerid, Float:x, Float:y, Float:z);
  108. format(string,sizeof(string),"[Heart-Shot]You Have Killed {00FF00} %s(%i){FF0000} With A Heart Shot And Got 3 Bonus Score And $4000!",killed,issuerid);
  109. SendClientMessage(playerid, RED,string);
  110. SetPlayerScore(playerid,GetPlayerScore(playerid)+2);
  111. GivePlayerMoney(playerid, 4000);
  112. format(str,sizeof(str),"[Heart-Shot]You Have Been Heart-Shotted By {00FF00} %s(%i) {FF0000} And Lost $3000",killer,playerid);
  113. SendClientMessage(issuerid,RED,str);
  114. SetPlayerHealth(issuerid,0);
  115. GivePlayerMoney(issuerid, -3000);
  116. distance = GetPlayerDistanceFromPoint(playerid, Float:x, Float:y, Float:z);
  117. format(st,sizeof(st),"[Heart-Shot]{00FF00} %s(%i) {FF0000} Has Killed {00FF00} %s(%i) {FF0000} With A Heart Shot From {00FF00} %f {FF0000} Meters!",killer,playerid,killed,issuerid,distance);
  118. SendClientMessageToAll(RED,st);
  119. return 1;
  120. }else if(armor[issuerid] == true)
  121. {
  122. armor[issuerid] = false;
  123. GameTextForPlayer(playerid, "~r~Armor Destroyed!", 3000, 6);
  124. GameTextForPlayer(issuerid, "~r~Armor Destroyed!", 3000, 1);
  125. }
  126. return 1;
  127. }
  128. #endif
Advertisement
Add Comment
Please, Sign In to add comment