Guest User

carwheelie by niels44

a guest
Apr 29th, 2012
495
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.54 KB | None | 0 0
  1. // This is a comment
  2. // uncomment the line below if you want to write a filterscript
  3. //#define FILTERSCRIPT
  4.  
  5. #include <a_samp>
  6. #include <zcmd>
  7.  
  8. #define COLOR_GREEN 0x00FF00FF
  9. #define COLOR_YELLOW 0xFFFF00AA
  10. #define COLOR_PURPLE 0xFF00FFAA
  11. #define ORANGE 0xFF8000AA
  12. #define COLOR_BLUE 0x0000FFFF
  13. #define COLOR_ORANGE 0xFF9000FF
  14. #define COLOR_GREY 0xAFAFAFAA
  15. #define COLOR_WHITE 0xFFFFFFAA
  16. #define COLOR_DARKBLUE 0x00007AFF
  17. #define COLOR_PINK 0xFF007AFF
  18. #define COLOR_BLACK 0x000000FF
  19. #define COLOR_LIGHTGREEN 0x82FF82FF
  20. #define COLOR_RED 0xFF0000FF
  21.  
  22. new IsNitro[MAX_PLAYERS];
  23.  
  24.  
  25. public OnFilterScriptInit()
  26. {
  27. print("\n--------------------------------------");
  28. print("Car Wheelie System by Niels44 Loaded!");
  29. print("--------------------------------------\n");
  30. return 1;
  31. }
  32.  
  33. public OnFilterScriptExit()
  34. {
  35. printf("CarWheelie System Unloaded!");
  36. return 1;
  37. }
  38.  
  39. public OnPlayerConnect(playerid)
  40. {
  41. SendClientMessage(playerid, COLOR_GREEN, "this server uses the Car Wheelie system by Niels44 A.K.A [drifters]niels");
  42. SetPlayerMapIcon( playerid, 12, 1002.0330,-1341.0243,13.3706, 55, 0, MAPICON_GLOBAL );
  43. return 1;
  44. }
  45. CMD:wheelie(playerid, params[])
  46. {
  47. if(strcmp(params,"on",true) == 0)
  48. {
  49. IsNitro[playerid] = 1;
  50. SendClientMessage(playerid, COLOR_BLUE, "Car Wheelie Turned ON");
  51. }
  52. else if(strcmp(params,"off",true) == 0)
  53. {
  54. IsNitro[playerid] = 0;
  55. SendClientMessage(playerid, COLOR_RED, "Car Wheelie Turned OFF");
  56. }
  57. else return SendClientMessage(playerid, COLOR_BLUE, "Usage: /wheelie [on/off]");
  58. return 1;
  59. }
  60.  
  61. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  62. {
  63. IsNitro[playerid] = 0;
  64. return 1;
  65. }
  66.  
  67. public OnPlayerExitVehicle(playerid, vehicleid)
  68. {
  69. IsNitro[playerid] = 0;
  70. return 1;
  71. }
  72.  
  73. public OnPlayerStateChange(playerid, newstate, oldstate)
  74. {
  75. if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
  76. {
  77. IsNitro[playerid] = 0;
  78. SendClientMessage(playerid, COLOR_BLUE, "WHEELIE: to turn wheelie mode on type /wheelie on");
  79. }
  80. if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT)
  81. {
  82. IsNitro[playerid] = 0;
  83. }
  84. return 1;
  85. }
  86. stock GetPlayerSpeed(playerid)
  87. {
  88. new Float:ST[4];
  89. if(IsPlayerInAnyVehicle(playerid))
  90. GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
  91. else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
  92. ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 179.28625;
  93. return floatround(ST[3]);
  94. }
  95. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  96. {
  97. if(newkeys & KEY_SPRINT && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  98. {
  99. if(IsNitro[playerid] == 1)
  100. {
  101. if(GetPlayerSpeed(playerid) <= 3)
  102. {
  103. new vehicleid = GetPlayerVehicleID(playerid);
  104. new Float:Xv, Float:Yv, Float:Zv, Float:absV;
  105. GetVehicleVelocity(vehicleid, Xv, Yv, Zv);
  106. absV = floatsqroot(floatpower(floatabs(Xv),2)+floatpower(floatabs(Yv),2)+floatpower(floatabs(Zv),2));
  107. if(absV < 20.0)
  108. {
  109. new Float:Zangle;
  110. GetVehicleZAngle(vehicleid, Zangle);
  111. GetVehicleVelocity(vehicleid, Xv, Yv, Zv);
  112. Xv = (9.5 * absV * floatsin(Zangle, degrees));
  113. Yv = (9.5 * absV * floatcos(Zangle, degrees));
  114. SetVehicleAngularVelocity(vehicleid, Yv, Xv, 0);
  115. }
  116. }
  117. else if(GetPlayerSpeed(playerid) >= 3) return 0;
  118. }
  119. else if(IsNitro[playerid] != 1) return 0;
  120. }
  121. return 1;
  122. }
Advertisement
Add Comment
Please, Sign In to add comment