Advertisement
Guest User

[SA-MP] Milo's engine system

a guest
Mar 11th, 2015
535
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.73 KB | None | 0 0
  1. /*
  2. Hello everyone, this is my verry fist script and im happy to release it to the SA-MP.com
  3. Please dont remove my name/Credits in this mod as i spent alot of time making it.
  4. And dont upload it to somewhere else, standarly uploaded to SA-MP.com's Forums
  5. -All love from Milokavis.
  6. */
  7. #include <a_samp>
  8.  
  9. #define FILTERSCRIPT
  10.  
  11. #if defined FILTERSCRIPT
  12.  
  13. #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  14.  
  15. #define COLOR_GREEN 0xFFFF00FF
  16.  
  17. #define COLOR_RED 0xFFFF00FF
  18.  
  19. #define COLOR_YELLOW 0xFFFF00FF
  20.  
  21. new Engine[MAX_VEHICLES];
  22.  
  23. forward EngineTimer(playerid);
  24.  
  25. public OnFilterScriptInit()
  26. {
  27. return 1;
  28. }
  29.  
  30. public OnFilterScriptExit()
  31. {
  32. return 1;
  33. }
  34.  
  35. #endif
  36.  
  37.  
  38. public OnPlayerExitVehicle(playerid, vehicleid)
  39. {
  40. TogglePlayerControllable(playerid,1);
  41. return 1;
  42. }
  43. public OnPlayerStateChange(playerid, newstate, oldstate)
  44. {
  45. if(newstate == PLAYER_STATE_DRIVER)
  46. {
  47. new vehicleid = GetPlayerVehicleID(playerid);
  48. if(Engine[vehicleid] == 0)
  49. {
  50. TogglePlayerControllable(playerid, 0);
  51. SendClientMessage(playerid, COLOR_YELLOW, "To start the engine type {FF0000}/engine or press{FF0000} SHIFT ! ");
  52. }
  53. else if(Engine[vehicleid] == 1)
  54. {
  55. SendClientMessage(playerid, COLOR_YELLOW, "Engine Is Starting...");
  56. GameTextForPlayer(playerid, "~w~Engine Is Starting...",1000,3);
  57. }
  58. }
  59. return 1;
  60. }
  61. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  62. {
  63. new vehicleid = GetPlayerVehicleID(playerid);
  64. if(IsPlayerInAnyVehicle(playerid))
  65. {
  66. if(Engine[vehicleid] == 0)
  67. {
  68. if(newkeys & KEY_SECONDARY_ATTACK)
  69. {
  70. RemovePlayerFromVehicle(playerid);
  71. TogglePlayerControllable(playerid, 1);
  72. }
  73. else if(newkeys & KEY_JUMP)
  74. {
  75. SendClientMessage(playerid, COLOR_YELLOW, "Engine Is Starting...");
  76. GameTextForPlayer(playerid, "~w~Engine Is Starting...",1000,3);
  77. SetTimerEx("EngineTimer", 2000, 0, "i", playerid);
  78. }
  79. }
  80. }
  81. return 1;
  82. }
  83.  
  84. public OnRconLoginAttempt(ip[], password[], success)
  85. {
  86. return 1;
  87. }
  88. public OnPlayerCommandText(playerid, cmdtext[])
  89. {
  90. dcmd(exitveh, 7, cmdtext);
  91. dcmd(engine, 6, cmdtext);
  92. return 0;
  93. }
  94.  
  95. public EngineTimer(playerid)
  96. {
  97. new rand = random(2);
  98.  
  99. if(rand == 0)
  100. {
  101. SendClientMessage(playerid, COLOR_YELLOW, "{1AFF00}Engine has Started");
  102. GameTextForPlayer(playerid, "~w~Engine has Sucsessfully Started",1000,3);
  103. SendClientMessage(playerid, COLOR_YELLOW, "To start the engine again type {FF0000}/engine");
  104. new vehicleid = GetPlayerVehicleID(playerid);
  105. Engine[vehicleid] = 1;
  106. TogglePlayerControllable(playerid, 1);
  107. }
  108.  
  109. if(rand == 1)
  110. {
  111. SendClientMessage(playerid, COLOR_YELLOW, "{FF0000}The Engine Failed to start");
  112. SendClientMessage(playerid, COLOR_YELLOW, "To attempt to start again type /engine or Press SHIFT");
  113. }
  114.  
  115. }
  116.  
  117. dcmd_engine(playerid, params[])
  118. {
  119. #pragma unused params
  120. new vehicleid = GetPlayerVehicleID(playerid);
  121. if(Engine[vehicleid] == 0)
  122. {
  123. SendClientMessage(playerid, COLOR_YELLOW, "Engine Is Starting...");
  124. GameTextForPlayer(playerid, "~w~Engine Is Starting...",1000,3);
  125. SetTimerEx("EngineTimer", 2000, 0, "i", playerid);
  126. }
  127. else if(Engine[vehicleid] == 1)
  128. {
  129. Engine[vehicleid] = 0;
  130. SendClientMessage(playerid, COLOR_RED, "The Engine has been shut down");
  131. SendClientMessage(playerid, COLOR_YELLOW, "To enter/exit a vehicle you have to press ''F'' or ''ENTER''");
  132. SendClientMessage(playerid, COLOR_YELLOW, "To start the engine again type{FF0000}/engine or press{FF0000} SHIFT ");
  133. GameTextForPlayer(playerid, "~w~...",1000,3);
  134. TogglePlayerControllable(playerid,0);
  135. }
  136. return 1;
  137. }
  138.  
  139. dcmd_exitveh(playerid, params[])
  140. {
  141. #pragma unused params
  142. if(IsPlayerInAnyVehicle(playerid))
  143. {
  144. RemovePlayerFromVehicle(playerid);
  145. TogglePlayerControllable(playerid, 1);
  146. }
  147. else
  148. {
  149. SendClientMessage(playerid, COLOR_RED, "...");
  150. }
  151. return 1;
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement