Advertisement
Guest User

Untitled

a guest
Nov 8th, 2011
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. new mid;
  4. new Float:hp;
  5. new Killing[MAX_PLAYERS];
  6.  
  7. forward OnMinigunAttacking(targetid);
  8.  
  9. stock Float:GetDistanceToMinigun(minigunid,targetid)
  10. {
  11. new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
  12. if (!IsPlayerConnected(targetid)) {
  13. return -1.00;
  14. }
  15. GetObjectPos(minigunid,x1,y1,z1);
  16. GetPlayerPos(targetid,x2,y2,z2);
  17. return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
  18. }
  19.  
  20. stock GetTargetStats(Float:X, Float:Y, Float:tX, Float:tY, &Float:Angle)
  21. {
  22. Angle = atan2(Y-tY, X-tX);
  23. Angle = floatsub(Angle, 90.0);
  24. if(Angle < 0.0){Angle = floatadd(Angle, 360.0);}
  25. }
  26.  
  27. stock CreateMinigun(targetid, Float:X, Float:Y, Float:Z, Float:Rx, Float:Ry, Float:Rz)
  28. {
  29. mid = CreateObject(2985, X, Y, Z,Rx, Ry, Rz, 0.0);
  30. SetTimerEx("OnMinigunAttacking", 250, 1, "i", targetid);
  31. Killing[targetid] = 1;
  32. }
  33.  
  34. public OnPlayerCommandText(playerid, cmdtext[])
  35. {
  36. if (strcmp("/minigun", cmdtext, true, 10) == 0)
  37. {
  38. new Float: x, Float: y, Float: z;
  39. GetPlayerPos(playerid, x, y, z);
  40. CreateMinigun(playerid, x-1.5, y-1.5, z-1.0, 0.0, 0.0, 0.0);
  41. return 1;
  42. }
  43. return 0;
  44. }
  45.  
  46. public OnPlayerSpawn(playerid)
  47. {
  48. Killing[playerid] = 1;
  49. return 1;
  50. }
  51.  
  52. public OnPlayerDeath(playerid, killerid, reason)
  53. {
  54. Killing[playerid] = 0;
  55. return 1;
  56. }
  57.  
  58. public OnMinigunAttacking(targetid)
  59. {
  60. if(Killing[targetid] == 1 && GetDistanceToMinigun(mid, targetid < 27.5))
  61. {
  62. new Float:mx, Float:my, Float:mz, Float:xp, Float:yp, Float:zp, Float:ang;
  63. GetObjectPos(mid, mx, my, mz);
  64. GetPlayerPos(targetid, xp, yp, zp);
  65. GetPlayerFacingAngle(targetid, ang);
  66. GetPlayerHealth(targetid, hp);
  67. SetPlayerHealth(targetid, hp-4.5);
  68. GetTargetStats(xp, yp, mx, my, ang);
  69. SetObjectRot(mid,0.0,0.0,ang+90.0);
  70. PlayerPlaySound(targetid, 1057,0.0,0.0,0.0);
  71. }
  72. }
  73.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement