Advertisement
Guest User

Untitled

a guest
Jul 21st, 2015
298
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.12 KB | None | 0 0
  1. By Shawn ahhhh Creater is Ksna yaar
  2.  
  3.  
  4. class PlayerClass{
  5. raceplayer = false;
  6. derbyplayer = false;
  7. }
  8.  
  9. function onScriptLoad(){
  10. race <- false;
  11. racecount <- 0;
  12. racestart <- false;
  13.  
  14. derby <- false;
  15. derbycount <- 0;
  16. derbystart <- false;
  17.  
  18. stats <- array( GetMaxPlayers(), null );
  19. print( "Ksna's Race System Loaded." );
  20. }
  21.  
  22. function onPlayerKill( killer, player, reason, bodypart )
  23. {
  24. if ( stats[ player.ID ].raceplayer ) {
  25. racecount--;
  26. Message( ">> " + player.Name + " is out of the race." );
  27. if ( racecount == 0 ) closerace();
  28. stats[ player.ID ].raceplayer = false;
  29. }
  30. if ( stats[ player.ID ].derbyplayer ) {
  31. derbycount--;
  32. Message( ">> " + player.Name + " is out of the race." );
  33. if ( derbycount == 1 ) checkderby();
  34. stats[ player.ID ].derbyplayer = false;
  35. }
  36. Message( ""+killer.Name + " has been drowned Reason: Stop killing racing players " );
  37. Killer.Pos = Vector( -597.7496,-1858.9531,28.1291 );
  38.  
  39. }
  40.  
  41. function onPlayerDeath( player, reason )
  42. {
  43. if ( stats[ player.ID ].raceplayer ) {
  44. racecount--;
  45. Message( ">> " + player.Name + " is out of the race." );
  46. if ( racecount == 0 ) closerace();
  47. stats[ player.ID ].raceplayer = false;
  48. }
  49. if ( stats[ player.ID ].derbyplayer ) {
  50. derbycount--;
  51. Message( ">> " + player.Name + " is out of the race." );
  52. if ( derbycount == 1 ) checkderby();
  53. stats[ player.ID ].derbyplayer = false;
  54. }
  55. }
  56.  
  57.  
  58. function onPlayerPart( player, reason )
  59. {
  60. if ( stats[ player.ID ].raceplayer ) {
  61. racecount--;
  62. Message( ">> " + player.Name + " is out of the race." );
  63. if ( racecount == 0 ) closerace();
  64. stats[ player.ID ].raceplayer = false;
  65. }
  66. if ( stats[ player.ID ].derbyplayer ) {
  67. derbycount--;
  68. Message( ">> " + player.Name + " is out of the race." );
  69. if ( derbycount == 1 ) checkderby();
  70. stats[ player.ID ].derbyplayer = false;
  71. }
  72. }
  73.  
  74. function onPlayerJoin( player ){
  75. stats[ player.ID ] = PlayerClass( player.Name );
  76. }
  77.  
  78. function onPlayerExitVehicle( player, vehicle ) {
  79. if ( stats[player.ID].raceplayer ){ vehicle.Locked = false; player.Vehicle = vehicle; vehicle.Locked = true; } // By Karan
  80. if ( stats[player.ID].derbyplayer ){ vehicle.Locked = false; player.Vehicle = vehicle; vehicle.Locked = true; }
  81.  
  82. }
  83.  
  84. function onPlayerCommand( player, cmd, text ){
  85.  
  86. if( cmd == "race") {
  87. if( race ) MessagePlayer("Race is already started.. ",player);
  88. else{
  89. race = true;
  90. Message("Race is started by "+ player.Name +", 20sec to join the race.");
  91. Message("Film Studio to Airport race started.");
  92. NewTimer( "CheckMembers", 20000, 1);
  93. FindVehicle( 1 ).Pos = Vector( -54.2794, 966.151, 15.9403 );
  94. FindVehicle( 2 ).Pos = Vector( -54.2794, 956.151, 15.9403 );
  95. FindVehicle( 3 ).Pos = Vector( -54.2794, 946.151, 15.9403 );
  96. FindVehicle( 4 ).Pos = Vector( -54.2794, 936.151, 15.9403 );
  97. }
  98. }
  99. else if( cmd == "joinrace") {
  100. if ( !player.Spawned )MessagePlayer("Spawn to use this command" player);
  101. else if ( !race ) MessagePlayer("Race is not started do /race", player);
  102. else if ( stats[player.ID].raceplayer ) MessagePlayer("You already joined race.",player);
  103. else if ( racecount > 4 ) MessagePlayer("Too Late! Only 4 players can race at once", player);
  104. else if ( racestart ) MessagePlayer("Too Late!", player);
  105. else {
  106. racecount++;
  107. for( local i=0; i <= racecount; i++ )
  108. {
  109. local plr = FindPlayer( i );
  110. player.Vehicle = FindVehicle( i );
  111. }
  112. player.Frozen = true;
  113. stats[player.ID].raceplayer = true;
  114. Message(""+ player.Name +" has joined race.")
  115. }
  116. }
  117. else if( cmd == "derby") {
  118. if( derby ) MessagePlayer("Derby is already started.. ",player);
  119. else{
  120. derby = true;
  121. Message("Derby is started by "+ player.Name +", 20sec to join the derby.");
  122. NewTimer( "CheckMembers", 20000, 1);
  123. FindVehicle( 11 ).Pos = Vector( -54.2794, 966.151, 15.9403 ); // Change these values
  124. FindVehicle( 12 ).Pos = Vector( -54.2794, 956.151, 15.9403 );
  125. FindVehicle( 13 ).Pos = Vector( -54.2794, 946.151, 15.9403 );
  126. FindVehicle( 14 ).Pos = Vector( -54.2794, 936.151, 15.9403 );
  127. }
  128. }
  129. else if( cmd == "joinderby") {
  130. if ( !player.Spawned )MessagePlayer("Spawn to use this command" player);
  131. else if ( !derby ) MessagePlayer("Derby is not started do /derby", player);
  132. else if ( stats[player.ID].derbyplayer ) MessagePlayer("You already joined derby.",player);
  133. else if ( derbycount > 4 ) MessagePlayer("Too Late! Only 4 players can derby at once", player);
  134. else if ( derbystart ) MessagePlayer("Too Late!", player);
  135. else {
  136. derbycount++;
  137. for( local i=10; i <= racecount; i++ )
  138. {
  139. local plr = FindPlayer( i );
  140. player.Vehicle = FindVehicle( i );
  141. }
  142. player.Frozen = true;
  143. stats[player.ID].derbyplayer = true;
  144. Message(""+ player.Name +" has joined derby.")
  145. }
  146. }
  147. }
  148.  
  149.  
  150.  
  151.  
  152. function CheckMembers()
  153. {
  154. if ( racecount > 1 )
  155. {
  156. NewTimer( "Ann", 1000, 1, "3" );
  157. NewTimer( "Ann", 2000, 1, "2" );
  158. NewTimer( "Ann", 3000, 1, "1" );
  159. } else closerace();
  160. if ( derbycount > 1 )
  161. {
  162. NewTimer( "DAnn", 1000, 1, "3" );
  163. NewTimer( "DAnn", 2000, 1, "2" );
  164. NewTimer( "DAnn", 3000, 1, "1" );
  165. } else closederby();
  166. }
  167.  
  168. function Ann( number )
  169. {
  170. for( local i=0; i <= GetMaxPlayers(); i++ )
  171. {
  172. local plr = FindPlayer( i );
  173. if ( ( plr ) && ( stats[ plr.ID ].raceplayer ) )
  174. {
  175. switch( number.tointeger() )
  176. {
  177. case 1:
  178. Announce( "1", plr );
  179. startrace();
  180. Announce( "Go!", plr );
  181. break;
  182.  
  183. case 2:
  184. Announce( "2", plr );
  185. break;
  186.  
  187. case 3:
  188. Announce( "3", plr );
  189. break;
  190. }
  191. }
  192. }
  193. }
  194.  
  195.  
  196. function DAnn( number )
  197. {
  198. for( local i=0; i <= GetMaxPlayers(); i++ )
  199. {
  200. local plr = FindPlayer( i );
  201. if ( ( plr ) && ( stats[ plr.ID ].derbyplayer ) )
  202. {
  203. switch( number.tointeger() )
  204. {
  205. case 1:
  206. Announce( "1", plr );
  207. startderby();
  208. Announce( "Go!", plr );
  209. break;
  210.  
  211. case 2:
  212. Announce( "2", plr );
  213. break;
  214.  
  215. case 3:
  216. Announce( "3", plr );
  217. break;
  218. }
  219. }
  220. }
  221. }
  222.  
  223.  
  224. function checkderby( )
  225. {
  226. for( local i=0; i <= GetMaxPlayers(); i++ )
  227. {
  228. local plr = FindPlayer( i );
  229. if ( ( plr ) && ( stats[ plr.ID ].derbyplayer ) ) {
  230. plr.Cash += 1000;
  231. MessagePlayer(""+plr.Name+" has won derby.");
  232. closederby();
  233. }
  234. }
  235. }
  236.  
  237. function startderby() {
  238. derbystart = true;
  239. CreatePickup( 382, Vector( -1435.9, -790.299, 14.6437 ) );
  240. local plr;
  241. for( local i=0; i <= GetMaxPlayers(); i++ ) {
  242. {
  243. plr = FindPlayer( i );
  244. if ( ( plr ) && ( stats[ plr.ID ].derbyplayer ) ) {
  245. plr.IsFrozen = false;
  246. }
  247. }
  248. }
  249. }
  250.  
  251.  
  252. function closederby() {
  253. Message( "Derby cancelled!" );
  254. derby = false;
  255. derbystart = false;
  256. derbycount = 0;
  257. local plr;
  258. for( local i=0; i <= GetMaxPlayers(); i++ ){
  259. {
  260. plr = FindPlayer( i );
  261. if ( plr )
  262. {
  263. if( stats[ plr.ID ].derbyplayer )
  264. {
  265. stats[ plr.ID ].derbyplayer = false;
  266. plr.IsFrozen = false;
  267. plr.Pos = Vector( 496.26, -83.9443, 10.0302 );
  268. }
  269. }
  270. }
  271. }
  272. }
  273.  
  274. function startrace()
  275. {
  276. racestart = true;
  277. CreatePickup( 382, Vector( -1435.9, -790.299, 14.6437 ) );
  278. local plr;
  279. for( local i=0; i <= GetMaxPlayers(); i++ )
  280. {
  281. {
  282. plr = FindPlayer( i );
  283. if ( ( plr ) && ( stats[ plr.ID ].raceplayer ) )
  284. {
  285. plr.IsFrozen = false;
  286. }
  287. }
  288. }
  289. }
  290.  
  291. function closerace() {
  292. Message( "Race cancelled!" );
  293. race = false;
  294. racestart = false;
  295. racecount = 0;
  296. local plr;
  297. for( local i=0; i <= GetMaxPlayers(); i++ ){
  298. {
  299. plr = FindPlayer( i );
  300. if ( plr )
  301. {
  302. if( stats[ plr.ID ].raceplayer )
  303. {
  304. stats[ plr.ID ].raceplayer = false;
  305. plr.IsFrozen = false;
  306. plr.Pos = Vector( 496.26, -83.9443, 10.0302 );
  307. }
  308. }
  309. }
  310. }
  311.  
  312. }
  313.  
  314.  
  315. function onPickupPickedUp( player, pickup )
  316. {
  317. if ( pickup.Model == 382 ) {
  318. if ( stats[ player.ID ].raceplayer ) {
  319. player.Cash+=1000;
  320. Message( player.Name + " have got 1000$.");
  321. pickup.Remove();
  322. Message( ""+player.Name+" has won ." );
  323. closerace();
  324. }
  325. }
  326. }.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement