Oblivion_UFF

Leading player

Oct 16th, 2018
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.15 KB | None | 0 0
  1.  
  2.  
  3.  
  4. new RDTimer;
  5. new Float:VVX[MAX_PLAYERS];
  6. new Float:VVY[MAX_PLAYERS];
  7. new Float:VVZ[MAX_PLAYERS];
  8. new Float:SPD[MAX_PLAYERS];
  9.  
  10.  
  11. public OnFilterScriptInit()
  12. {
  13. RDTimer = SetTimer("RDLeadCheck",300,true);
  14. return 1;
  15. }
  16.  
  17. public OnFilterScriptExit()
  18. {
  19. KillTimer(RDTimer);
  20. return 1;
  21. }
  22.  
  23. forward RDLeadCheck();
  24. public RDLeadCheck()
  25. {
  26. for(new i=0; i< MAX_PLAYERS; i++)
  27. {
  28. if(IsPlayerConnected(i) && IsPlayerInRaceDuel[i] == true)
  29. {
  30. if(IsPlayerInAnyVehicle(i))
  31. {
  32. new Float:FX, Float:FY;
  33. GetXYInFrontOfPlayer(i, FX, FY, 13);
  34.  
  35. new Float:X, Float:Y, Float:Z;
  36.  
  37. GetPlayerPos(i,X,Y,Z);
  38.  
  39. new Float:X2, Float:Y2, Float:Z2, r;
  40.  
  41. GetPlayerPos(r, X2, Y2, Z2);
  42.  
  43. new Float:VZA, Float:VZAB;
  44.  
  45. GetVehicleZAngle(GetPlayerVehicleID(i),VZA);
  46.  
  47. GetVehicleZAngle(GetPlayerVehicleID(r),VZAB);
  48.  
  49. if(!IsPlayerInRangeOfPoint(r,80,X,Y,Z))
  50. {
  51. GameTextForPlayer(r,"~r~Your Opponent is far ahead!",2000,3);
  52. }
  53. GetVehicleVelocity(GetPlayerVehicleID(i), VVX[i],VVY[i], VVZ[i]);
  54. GetVehicleVelocity(GetPlayerVehicleID(r), VVX[r],VVY[r], VVZ[r]);
  55. SPD[i] = floatsqroot(((VVX[i]*VVX[i])+(VVY[i]*VVY[i]))+(VVZ[i]*VVZ[i]))*100;
  56. SPD[r] = floatsqroot(((VVX[r]*VVX[r])+(VVY[r]*VVY[r]))+(VVZ[r]*VVZ[r]))*100;
  57. if(IsPlayerInRangeOfPoint(r,15,FX,FY,Z))
  58. {
  59. if(VZA >= VZAB-60 && VZA <= VZAB+60)
  60. {
  61. GameTextForPlayer(r,"~g~You are leading now.",1000,3);
  62. }
  63. }
  64. if(IsPlayerInRangeOfPoint(r,25,X,Y,Z))
  65. {
  66. if(SPD[i]+25 < SPD[r])
  67. {
  68. GameTextForPlayer(r,"~g~You are leading now.",1000,3);
  69. }
  70. }
  71. }
  72. return true;
  73. }
  74. }
  75. return true;
  76. }
  77.  
  78. GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
  79. { // Created by Y_Less
  80. new Float:a;
  81.  
  82. GetPlayerPos(playerid, x, y, a);
  83. GetPlayerFacingAngle(playerid, a);
  84.  
  85. if (GetPlayerVehicleID(playerid)) {
  86. GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
  87. }
  88.  
  89. x += (distance * floatsin(-a, degrees));
  90. y += (distance * floatcos(-a, degrees));
  91. }
Add Comment
Please, Sign In to add comment