Recent Posts
None | 45 sec ago
Java | 53 sec ago
C++ | 57 sec ago
C++ | 1 min ago
PHP | 1 min ago
C++ | 2 min ago
None | 2 min ago
None | 2 min ago
Lisp | 2 min ago
None | 2 min ago
Sitereport
Find cool info about any domain on the internet?
visit sitereport
Free Subdomains
Want a pastebin.com sub-domain for your community?
learn more...
What is pastebin?
Pastebin is a website that hosts all your text & code on dedicated servers for easy sharing.
learn more...
Learn a little bit about the new Pastebin.com on our help page. hide message
By Sandra on the 15th of Feb 2009 10:19:30 PM Download | Raw | Embed | Report
  1. #include <a_samp>
  2. #include <dini>
  3.  
  4. #define OVERALLFILE "JumpHighscores.cfg"
  5. #define PERSONALFILE "PersonalJumpHighscores.cfg"
  6. #define DEFAULT_BIKEMODEl 522   //NRG-500
  7.  
  8. new Timer1, Timer2, Timer3, MaxTimer;
  9. new Racer = -1;
  10. new Motor;
  11.  
  12. new Float:HS[3], HSN[3][MAX_PLAYER_NAME];
  13. new Text:TD0;
  14. new Text:TD1;
  15. new Text:TD2;
  16. new Text:TD3;
  17. new Text:TD4;
  18. new TDS1[128] = " ";
  19. new TDS2[128] = " ";
  20. new TDS4[128] = " ";
  21. new TDS5[40] = " ";
  22. new LasttmpX;
  23. new Count;
  24. new TimeLeft;
  25. new Float:Distance;
  26. new Menu:AdminMenu;
  27. new Menu:MotorMenu;
  28. new Menu:YesNoGlobal;
  29. new Menu:YesNoPersonal;
  30. new BikeModel = DEFAULT_BIKEMODEl;
  31.  
  32. public OnFilterScriptInit()
  33. {
  34.     CreateObject(1655, 54.348621, 2502.778076, 16.792294, 0.0000, 0.0000, 90.0000);
  35.         CreateObject(979, 61.964684, 2510.659912, 16.324594, 0.0000, 0.0000, 225.0000);
  36.         CreateObject(979, 68.574669, 2517.179688, 16.324594, 0.0000, 0.0000, 224.1406);
  37.         CreateObject(979, 74.838379, 2523.267090, 16.324594, 0.0000, 0.0000, 224.1406);
  38.         CreateObject(978, 61.268669, 2494.687256, 16.324594, 0.0000, 0.0000, 303.7500);
  39.         CreateObject(978, 66.452194, 2486.926514, 16.324594, 0.0000, 0.0000, 303.7500);
  40.         CreateObject(978, 71.637367, 2479.152832, 16.324596, 0.0000, 0.0000, 303.7500);
  41.         CreateObject(982, 37.394611, 2497.127930, 16.167931, 0.0000, 0.0000, 270.0000);
  42.         CreateObject(982, 37.501751, 2508.678711, 16.167931, 0.0000, 0.0000, 270.0000);
  43.         CreateObject(982, 11.898752, 2508.676514, 16.167931, 0.0000, 0.0000, 270.0000);
  44.         CreateObject(982, 11.785603, 2497.133789, 16.167931, 0.0000, 0.0000, 270.0000);
  45.         CreateObject(982, -13.819443, 2497.136475, 16.167931, 0.0000, 0.0000, 270.0000);
  46.         CreateObject(982, -13.738670, 2508.645752, 16.175739, 0.0000, 0.0000, 270.0000);
  47.         CreateObject(982, -39.338737, 2508.623291, 16.167931, 0.0000, 0.0000, 270.0000);
  48.         CreateObject(982, -64.946236, 2508.630859, 16.175737, 0.0000, 0.0000, 270.0000);
  49.         CreateObject(982, -39.422119, 2497.141602, 16.167931, 0.0000, 0.0000, 270.0000);
  50.         CreateObject(982, -65.034653, 2497.131348, 16.167931, 0.0000, 0.0000, 270.0000);
  51.         CreateObject(3461, -77.754257, 2508.626709, 17.059387, 0.0000, 0.0000, 0.0000);
  52.         CreateObject(3461, -77.824821, 2497.134033, 17.240005, 0.0000, 0.0000, 0.0000);
  53.         CreateObject(3461, -60.153984, 2508.603760, 17.067196, 0.0000, 0.0000, 0.0000);
  54.         CreateObject(3461, -60.245415, 2497.100830, 17.059387, 0.0000, 0.0000, 0.0000);
  55.         CreateObject(3461, -42.536339, 2508.615723, 17.059387, 0.0000, 0.0000, 0.0000);
  56.         CreateObject(3461, -42.645630, 2497.122314, 17.059387, 0.0000, 0.0000, 0.0000);
  57.         CreateObject(3461, -24.953836, 2508.633301, 17.059387, 0.0000, 0.0000, 0.0000);
  58.         CreateObject(3461, -25.054081, 2497.136963, 17.059387, 0.0000, 0.0000, 0.0000);
  59.         CreateObject(3461, -7.358308, 2508.621338, 17.067196, 0.0000, 0.0000, 0.0000);
  60.         CreateObject(3461, -7.405560, 2497.130371, 17.059387, 0.0000, 0.0000, 0.0000);
  61.         CreateObject(3461, 10.270878, 2508.671143, 17.059387, 0.0000, 0.0000, 0.0000);
  62.         CreateObject(3461, 10.190086, 2497.112305, 17.059387, 0.0000, 0.0000, 0.0000);
  63.         CreateObject(3461, 27.894892, 2508.682861, 17.059387, 0.0000, 0.0000, 0.0000);
  64.         CreateObject(3461, 27.788519, 2497.122070, 17.059387, 0.0000, 0.0000, 0.0000);
  65.         CreateObject(3461, 45.501919, 2508.674316, 17.059387, 0.0000, 0.0000, 0.0000);
  66.         CreateObject(3461, 45.367653, 2497.103027, 17.059387, 0.0000, 0.0000, 0.0000);
  67.         CreateObject(3568, -49.846252, 2485.552002, 18.097994, 0.0000, 0.0000, 213.7501);
  68.         CreateObject(3568, 23.495960, 2515.677979, 18.097994, 0.0000, 0.0000, 90.0001);
  69.         CreateObject(3566, -56.099358, 2517.848389, 18.097994, 0.0000, 0.0000, 303.7500);
  70.         CreateObject(3819, -37.348824, 2512.810303, 16.482134, 0.0000, 0.0000, 90.0000);
  71.         CreateObject(3819, -28.746914, 2512.851074, 16.482134, 0.0000, 0.0000, 90.0000);
  72.         CreateObject(3819, -20.126209, 2512.839844, 16.489943, 0.0000, 0.0000, 90.0000);
  73.         CreateObject(3819, -11.508772, 2512.832764, 16.489943, 0.0000, 0.0000, 90.0000);
  74.         CreateObject(3819, -37.340233, 2493.169189, 16.482134, 0.0000, 0.0000, 270.0000);
  75.         CreateObject(3819, -28.750528, 2493.177734, 16.482134, 0.0000, 0.0000, 270.0000);
  76.         CreateObject(3819, -20.152523, 2493.154785, 16.482134, 0.0000, 0.0000, 270.0000);
  77.         CreateObject(3819, -11.532024, 2493.193115, 16.482134, 0.0000, 0.0000, 270.0000);
  78.        
  79.         TD0 = TextDrawCreate(325.000000,137.000000,"Highscores:");
  80.         TD1 = TextDrawCreate(157.000000,179.000000, TDS1);
  81.         TD2 = TextDrawCreate(308.000000,179.000000, TDS2);
  82.         TD3 = TextDrawCreate(205.000000,411.000000, TDS4);
  83.         TD4 = TextDrawCreate(326.000000,240.000000,TDS5);
  84.         TextDrawUseBox(TD1,1);
  85.         TextDrawUseBox(TD4,1);
  86.         TextDrawBoxColor(TD1,0x00000066);
  87.         TextDrawBoxColor(TD3,0x00000066);
  88.         TextDrawBoxColor(TD4,0x00000066);
  89.         TextDrawTextSize(TD1,492.000000,-37.000000);
  90.         TextDrawTextSize(TD3,490.000000,1.000000);
  91.         TextDrawTextSize(TD4,470.000000,337.000000);
  92.         TextDrawAlignment(TD0,2);
  93.         TextDrawAlignment(TD1,1);
  94.         TextDrawAlignment(TD2,0);
  95.         TextDrawAlignment(TD3,0);
  96.         TextDrawAlignment(TD4,2);
  97.         TextDrawBackgroundColor(TD0,0x000000ff);
  98.         TextDrawBackgroundColor(TD1,0x000000ff);
  99.         TextDrawBackgroundColor(TD2,0x000000ff);
  100.         TextDrawBackgroundColor(TD3,0x000000ff);
  101.         TextDrawBackgroundColor(TD4,0x000000ff);
  102.         TextDrawFont(TD0,3);
  103.         TextDrawLetterSize(TD0,1.0, 3.000005);
  104.         TextDrawFont(TD1,3);
  105.         TextDrawLetterSize(TD1,0.499999,1.400000);
  106.         TextDrawFont(TD2,3);
  107.         TextDrawLetterSize(TD2,0.499999,1.400000);
  108.         TextDrawFont(TD3,3);
  109.         TextDrawLetterSize(TD3,0.799999,1.800000);
  110.         TextDrawFont(TD4,3);
  111.         TextDrawLetterSize(TD4,0.599999,1.900000);
  112.         TextDrawColor(TD0,0xffffffff);
  113.         TextDrawColor(TD1,0xffffffff);
  114.         TextDrawColor(TD2,0xffffffff);
  115.         TextDrawColor(TD3,0xffffffff);
  116.         TextDrawColor(TD4,0xffffffff);
  117.         TextDrawSetOutline(TD0,1);
  118.         TextDrawSetOutline(TD1,1);
  119.         TextDrawSetOutline(TD2,1);
  120.         TextDrawSetOutline(TD3,1);
  121.         TextDrawSetOutline(TD4,1);
  122.         TextDrawSetProportional(TD0,1);
  123.         TextDrawSetProportional(TD1,1);
  124.         TextDrawSetProportional(TD2,1);
  125.         TextDrawSetProportional(TD3,1);
  126.         TextDrawSetProportional(TD4,1);
  127.         TextDrawSetShadow(TD0,1);
  128.         TextDrawSetShadow(TD1,1);
  129.         TextDrawSetShadow(TD2,1);
  130.         TextDrawSetShadow(TD3,1);
  131.         TextDrawSetShadow(TD4,1);
  132.        
  133.         AdminMenu = CreateMenu("Jump-AdminOptions:", 1, 157.000000,179.000000, 290.0);
  134.         AddMenuItem(AdminMenu, 0, "Reset Global Highscores");
  135.         AddMenuItem(AdminMenu, 0, "Reset Personal Highscores");
  136.         AddMenuItem(AdminMenu, 0, "Change BikeModel");
  137.         AddMenuItem(AdminMenu, 0, "Cancel");
  138.         MotorMenu = CreateMenu("Select Bike:", 1, 157.000000,179.000000, 290.0);
  139.         AddMenuItem(MotorMenu, 0, "NRG-500");
  140.         AddMenuItem(MotorMenu, 0, "BF-400");
  141.         AddMenuItem(MotorMenu, 0, "FCR-900");
  142.         AddMenuItem(MotorMenu, 0, "Freeway");
  143.         AddMenuItem(MotorMenu, 0, "PCJ-600");
  144.         AddMenuItem(MotorMenu, 0, "Sanchez");
  145.         AddMenuItem(MotorMenu, 0, "Cancel");
  146.         YesNoGlobal = CreateMenu("Are You Sure?", 1, 157.000000,179.000000, 290.0);
  147.         AddMenuItem(YesNoGlobal, 0, "No");
  148.         AddMenuItem(YesNoGlobal, 0, "Yes");
  149.     YesNoPersonal = CreateMenu("Are You Sure?", 1, 157.000000,179.000000, 290.0);
  150.         AddMenuItem(YesNoPersonal, 0, "No");
  151.         AddMenuItem(YesNoPersonal, 0, "Yes");
  152.  
  153.         if(!dini_Exists(OVERALLFILE))
  154.         {
  155.         dini_Create(OVERALLFILE);
  156.         printf("[File Created]: %s", OVERALLFILE);
  157.             dini_FloatSet(OVERALLFILE, "S1", 0.0000);
  158.             dini_FloatSet(OVERALLFILE, "S2", 0.0000);
  159.             dini_FloatSet(OVERALLFILE, "S3", 0.0000);
  160.             dini_Set(OVERALLFILE, "N1", "Empty");
  161.             dini_Set(OVERALLFILE, "N2", "Empty");
  162.             dini_Set(OVERALLFILE, "N3", "Empty");
  163.         }
  164.         if(!dini_Exists(PERSONALFILE))
  165.         {
  166.         dini_Create(PERSONALFILE);
  167.         printf("[File Created]: %s", PERSONALFILE);
  168.         }
  169.         HS[0] = dini_Float(OVERALLFILE, "S1");
  170.         HS[1] = dini_Float(OVERALLFILE, "S2");
  171.         HS[2] = dini_Float(OVERALLFILE, "S3");
  172.         format(HSN[0], MAX_PLAYER_NAME, "%s", dini_Get(OVERALLFILE, "N1"));
  173.         format(HSN[1], MAX_PLAYER_NAME, "%s", dini_Get(OVERALLFILE, "N2"));
  174.         format(HSN[2], MAX_PLAYER_NAME, "%s", dini_Get(OVERALLFILE, "N3"));
  175.         print("-------------------------------------");
  176.         print(" Jump Minigame by =>Sandra<= Loaded! ");
  177.         print("-------------------------------------");
  178.         return 1;
  179. }
  180.  
  181. public OnFilterScriptExit()
  182. {
  183.         if(Racer != -1)
  184.         {
  185.             EndRace();
  186.         }
  187.     if(dini_Exists(OVERALLFILE))
  188.         {
  189.             dini_FloatSet(OVERALLFILE, "S1", HS[0]);
  190.             dini_FloatSet(OVERALLFILE, "S2", HS[1]);
  191.             dini_FloatSet(OVERALLFILE, "S3", HS[2]);
  192.             dini_Set(OVERALLFILE, "N1", HSN[0]);
  193.             dini_Set(OVERALLFILE, "N2", HSN[1]);
  194.             dini_Set(OVERALLFILE, "N3", HSN[2]);
  195.         }
  196.         TextDrawHideForAll(TD0);
  197.         TextDrawHideForAll(TD1);
  198.         TextDrawHideForAll(TD2);
  199.         TextDrawHideForAll(TD3);
  200.     TextDrawHideForAll(TD4);
  201.         TextDrawDestroy(TD0);
  202.         TextDrawDestroy(TD1);
  203.         TextDrawDestroy(TD2);
  204.         TextDrawDestroy(TD3);
  205.         TextDrawDestroy(TD4);
  206.         return 1;
  207. }
  208.  
  209. public OnPlayerConnect(playerid)
  210. {
  211.         SendClientMessage(playerid, 0x00FF00AA, "This server has a Jump-Minigame. Type /jump to play!");
  212.         return 1;
  213. }
  214.  
  215. public OnPlayerDisconnect(playerid, reason)
  216. {
  217.         if(Racer == playerid)
  218.         {
  219.             EndRace();
  220.         }
  221.         return 1;
  222. }
  223.  
  224. public OnPlayerDeath(playerid, killerid, reason)
  225. {
  226.     if(Racer == playerid)
  227.         {
  228.             EndRace();
  229.         }
  230.         return 1;
  231. }
  232.  
  233.  
  234. public OnPlayerCommandText(playerid, cmdtext[])
  235. {
  236.  
  237.     if (strcmp("/jumphelp", cmdtext, true) == 0)
  238.         {
  239.                 if(IsPlayerAdmin(playerid))
  240.                 {
  241.                     SendClientMessage(playerid, 0x7CFC00AA, "[COMMANDS]: /jump  **  /stopjump  **  /jumphighscore(s) (or /jhs)  **  /jumpadmin");
  242.                 }
  243.                 else
  244.                 {
  245.                     SendClientMessage(playerid, 0x7CFC00AA, "[COMMANDS]: /jump  **  /stopjump  **  /jumphighscore(s) (or /jhs)");
  246.                 }
  247.             return 1;
  248.         }
  249.         if (strcmp("/jump", cmdtext, true) == 0)
  250.         {
  251.                 if(Racer != -1) return SendClientMessage(playerid, 0xFF0000AA, "Race not available! Wait untill ohter player is finished!");
  252.         Racer = playerid;
  253.         Motor = CreateVehicle(BikeModel, 424.0586,2502.778076,16.2115, 90.0000, 0, 6, -1);
  254.         PutPlayerInVehicle(playerid, Motor, 0);
  255.                 SetCameraBehindPlayer(playerid);
  256.                 Timer1 = SetTimer("Countdown", 1000, 1);
  257.                 GameTextForPlayer(Racer, "~b~5", 3000, 3);
  258.                 TogglePlayerControllable(playerid, 0);
  259.                 Count = 0;
  260.                 Distance = 0.0;
  261.                 format(TDS4, sizeof(TDS4), "Distance : 0.0000~n~Time Left: 0:20");
  262.                 TextDrawSetString(TD3, TDS4);
  263.                 TextDrawShowForPlayer(Racer, TD3);
  264.                 return 1;
  265.         }
  266.        
  267.         if (strcmp("/stopjump", cmdtext, true) == 0)
  268.         {
  269.             EndRace();
  270.             return 1;
  271.         }
  272.        
  273.         if ((strcmp("/jumphighscore", cmdtext, true) == 0) || (strcmp("/jumphighscore", cmdtext, true) == 0) || (strcmp("/jhs", cmdtext, true) == 0))
  274.         {
  275.                 new str[128];
  276.                 SendClientMessage(playerid, 0x32CD32AA, "-------[JUMP MINIGAME HIGHSCORES]-------");
  277.                 format(str, 128, "#1:   %.4f     %s", HS[0], HSN[0]);
  278.                 SendClientMessage(playerid, 0x7CFC00AA, str);
  279.                 format(str, 128, "#2:   %.4f     %s", HS[1], HSN[1]);
  280.                 SendClientMessage(playerid, 0x7CFC00AA, str);
  281.                 format(str, 128, "#3:   %.4f     %s", HS[2], HSN[2]);
  282.                 SendClientMessage(playerid, 0x7CFC00AA, str);
  283.                 SendClientMessage(playerid, 0x7CFC00AA, " ");
  284.                 format(str, 128, "Your Personal Highscore:    %.4f", dini_Float(PERSONALFILE, PlayerName(playerid)));
  285.                 SendClientMessage(playerid, 0x7CFC00AA, str);
  286.                 SendClientMessage(playerid, 0x32CD32AA, "--------------------------------------------------------------");
  287.             return 1;
  288.         }
  289.        
  290.         if (strcmp("/jumpadmin", cmdtext, true) == 0)
  291.         {
  292.             if(!IsPlayerAdmin(playerid)) return 0;
  293.             TogglePlayerControllable(playerid, 0);
  294.             ShowMenuForPlayer(AdminMenu, playerid);
  295.             return 1;
  296.         }
  297.        
  298.         return 0;
  299. }
  300.  
  301. forward Countdown();
  302. public Countdown()
  303. {
  304.     if(Racer != -1 && IsPlayerInVehicle(Racer, Motor))
  305.         {
  306.             Count++;
  307.             if(Count == 1) GameTextForPlayer(Racer, "~b~4", 3000, 3);
  308.             if(Count == 2) GameTextForPlayer(Racer, "~b~3", 3000, 3);
  309.             if(Count == 3) GameTextForPlayer(Racer, "~g~2", 3000, 3);
  310.             if(Count == 4) GameTextForPlayer(Racer, "~g~1", 3000, 3);
  311.             if(Count == 5)
  312.             {
  313.                 KillTimer(Timer1);
  314.                 Timer1 = -1;
  315.                 GameTextForPlayer(Racer, "~y~Go!", 2000, 3);
  316.                         TogglePlayerControllable(Racer, 1);
  317.                 MaxTimer = SetTimer("MaxTime", 1000, 1);
  318.                 Timer2 = SetTimer("CheckForLine", 100, 1);
  319.                         TimeLeft = 20;
  320.                 }
  321.         }
  322. }
  323.  
  324. forward CheckForLine();
  325. public CheckForLine()
  326. {
  327.     if(Racer != -1 && IsPlayerInVehicle(Racer, Motor))
  328.         {
  329.             new Float:X, Float:Y, Float:Z;
  330.                 GetPlayerPos(Racer, X, Y, Z);
  331.             if(X < 51.191391)
  332.                 {
  333.                     if(IsBikeInArea(Motor, -100.0912, 2497.1504, 55.191391, 2508.6316))
  334.                         {
  335.                             KillTimer(Timer2);
  336.                             Timer2 = -1;
  337.                             KillTimer(MaxTimer);
  338.                             MaxTimer = -1;
  339.                             Timer3 = SetTimer("CheckForLanding", 20, 1);
  340.                         }
  341.                 }
  342.         }
  343. }
  344.  
  345.  
  346. forward CheckForLanding();
  347. public CheckForLanding()
  348. {
  349.         if(Racer != -1 && IsPlayerInVehicle(Racer, Motor))
  350.         {
  351.                 new Float:X, Float:Y, Float:Z, tmpX;
  352.                 GetPlayerPos(Racer, X, Y, Z);
  353.             tmpX = floatround(X);
  354.             if(tmpX != LasttmpX)
  355.             {
  356.                 LasttmpX = tmpX;
  357.                         ExplotionCheck(tmpX);
  358.                 }
  359.                 if(!IsBikeInArea(Motor, -100.0912, 2497.1504, 55.191391, 2508.6316))
  360.                 {
  361.                     GameTextForPlayer(Racer, "~r~Failed!", 5000, 3);
  362.                         KillTimer(Timer3);
  363.                         SetTimer("EndRace", 5000, 0);
  364.                 }
  365.                 format(TDS4, sizeof(TDS4), "Distance : %.4f~n~Time Left: 0:%02d", floatsub(51.191391, X), TimeLeft);
  366.                 TextDrawHideForPlayer(Racer, TD3);
  367.                 TextDrawSetString(TD3, TDS4);
  368.                 TextDrawShowForPlayer(Racer, TD3);
  369.                 if(Z < 17.53)
  370.                 {
  371.                     KillTimer(Timer3);
  372.                     Timer3 = -1;
  373.                     Distance = floatsub(51.191391, X);
  374.                         if(Distance > HS[0]) //Player = 1st
  375.                         {
  376.                             HS[2] = HS[1];
  377.                             HS[1] = HS[0];
  378.                             HS[0] = Distance;
  379.                             HSN[2] = HSN[1];
  380.                             HSN[1] = HSN[0];
  381.                             GetPlayerName(Racer, HSN[0], MAX_PLAYER_NAME);
  382.                         }
  383.                         else if(Distance > HS[1] && Distance <= HS[0]) //Player = 2nd
  384.                         {
  385.                             HS[2] = HS[1];
  386.                             HS[1] = Distance;
  387.                                 HSN[2] = HSN[1];
  388.                             GetPlayerName(Racer, HSN[1], MAX_PLAYER_NAME);
  389.                         }
  390.                         else if(Distance > HS[2] && Distance <= HS[1]) //Player = 3rd
  391.                         {
  392.                             HS[2] = Distance;
  393.                             GetPlayerName(Racer, HSN[2], MAX_PLAYER_NAME);
  394.                         }
  395.                         if(Distance > dini_Float(PERSONALFILE, PlayerName(Racer)))
  396.                         {
  397.                             dini_FloatSet(PERSONALFILE, PlayerName(Racer), Distance);
  398.                         }
  399.                         format(TDS1, 128, "#1:  %.4f~n~#2:  %.4f~n~#3:  %.4f", HS[0], HS[1], HS[2]);
  400.                         TextDrawSetString(TD1, TDS1);
  401.                         format(TDS2, 128, "%s~n~%s~n~%s", HSN[0], HSN[1], HSN[2]);
  402.                         TextDrawSetString(TD2, TDS2);
  403.                         format(TDS5, 40, "Your Personal Highscore:~n~%.4f", dini_Float(PERSONALFILE, PlayerName(Racer)));
  404.                         TextDrawSetString(TD4, TDS5);
  405.                         TextDrawShowForPlayer(Racer, TD0);
  406.                         TextDrawShowForPlayer(Racer, TD1);
  407.                         TextDrawShowForPlayer(Racer, TD2);
  408.                         TextDrawShowForPlayer(Racer, TD4);
  409.                         SetTimer("EndRace", 10000, 0);
  410.                         SetPlayerCameraPos(Racer, -121.3866, 2504.7371, 30.0306);
  411.                         SetPlayerCameraLookAt(Racer, X, Y, Z);
  412.                 }
  413.         }
  414.         return 1;
  415. }
  416.  
  417. IsBikeInArea(Bike, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY)
  418. {
  419.         new Float:X1, Float:Y1, Float:Z1;
  420.  
  421.         GetVehiclePos(Bike, X1, Y1, Z1);
  422.         if(X1 >= MinX && X1 <= MaxX&& Y1 >= MinY && Y1 <= MaxY)
  423.         {
  424.                 return 1;
  425.         }
  426.         return 0;
  427. }
  428.  
  429. stock RemoveAllPlayersFromVehicle(vehicleID)
  430. {
  431.         for(new i; i<MAX_PLAYERS; i++)
  432.         {
  433.             if(IsPlayerConnected(i))
  434.                 {
  435.                     if(IsPlayerInVehicle(i, vehicleID))
  436.                         {
  437.                             RemovePlayerFromVehicle(i);
  438.                         }
  439.                 }
  440.         }
  441. }
  442.  
  443. forward EndRace();
  444. public EndRace()
  445. {
  446.         if(Timer1 != -1)
  447.         {
  448.         KillTimer(Timer1);
  449.         Timer1 = -1;
  450.         }
  451.         if(Timer2 != -1)
  452.         {
  453.         KillTimer(Timer2);
  454.         Timer2 = -1;
  455.         }
  456.         if(Timer3 != -1)
  457.         {
  458.         KillTimer(Timer3);
  459.         Timer3 = -1;
  460.         }
  461.         if(MaxTimer != -1)
  462.         {
  463.             KillTimer(MaxTimer);
  464.             MaxTimer = -1;
  465.         }
  466.     GameTextForPlayer(Racer, " ", 10, 3);
  467.         RemoveAllPlayersFromVehicle(Motor);
  468.         DestroyVehicle(Motor);
  469.         TextDrawHideForPlayer(Racer, TD0);
  470.         TextDrawHideForPlayer(Racer, TD1);
  471.         TextDrawHideForPlayer(Racer, TD2);
  472.         TextDrawHideForPlayer(Racer, TD3);
  473.         TextDrawHideForPlayer(Racer, TD4);
  474.         SetCameraBehindPlayer(Racer);
  475.         Racer = -1;
  476. }
  477.  
  478. forward MaxTime();
  479. public MaxTime()
  480. {
  481.         TimeLeft--;
  482.         format(TDS4, sizeof(TDS4), "Distance : 0.0000~n~Time Left: 0:%02d", TimeLeft);
  483.         TextDrawHideForPlayer(Racer, TD3);
  484.         TextDrawSetString(TD3, TDS4);
  485.         TextDrawShowForPlayer(Racer, TD3);
  486.         if(TimeLeft == 0)
  487.         {
  488.             KillTimer(MaxTimer);
  489.             MaxTimer = -1;
  490.             KillTimer(Timer3);
  491.                 GameTextForPlayer(Racer, "~r~Time's Up!", 5000, 3);
  492.                 SetTimer("EndRace", 5000, 0);
  493.         }
  494. }
  495. ExplotionCheck(XX)
  496. {
  497.         if(48 < XX < 52){ CreateExplosion(XX-30, 2508.6316, 18.0, 11, 5); CreateExplosion(XX-30, 2497.1504, 18.0, 11, 5); }
  498.         else if(38 < XX < 42){ CreateExplosion(XX-30, 2508.6316, 18.0, 11, 5); CreateExplosion(XX-30, 2497.1504, 18.0, 11, 5);}
  499.         else if(28 < XX < 32){ CreateExplosion(XX-30, 2508.6316, 18.0, 11, 5); CreateExplosion(XX-30, 2497.1504, 18.0, 11, 5); }
  500.         else if(18 < XX < 22){ CreateExplosion(XX-30, 2508.6316, 18.0, 11, 5); CreateExplosion(XX-30, 2497.1504, 18.0, 11, 5); }
  501.         else if(8 < XX < 12){ CreateExplosion(XX-30, 2508.6316, 18.0, 11, 5); CreateExplosion(XX-30, 2497.1504, 18.0, 11, 5); }
  502.         else if(-2 < XX < 2){ CreateExplosion(XX-30, 2508.6316, 18.0, 11, 5); CreateExplosion(XX-30, 2497.1504, 18.0, 11, 5); }
  503.         else if(-12 < XX < -8){ CreateExplosion(XX-30, 2508.6316, 18.0, 11, 5); CreateExplosion(XX-30, 2497.1504, 18.0, 11, 5); }
  504.         else if(-22 < XX < -18){ CreateExplosion(XX-30, 2508.6316, 18.0, 11, 5); CreateExplosion(XX-30, 2497.1504, 18.0, 11, 5); }
  505.         else if(-32 < XX < -28){ CreateExplosion(XX-30, 2508.6316, 18.0, 11, 5); CreateExplosion(XX-30, 2497.1504, 18.0, 11, 5); }
  506.         else if(-42 < XX < -38){ CreateExplosion(XX-30, 2508.6316, 18.0, 11, 5); CreateExplosion(XX-30, 2497.1504, 18.0, 11, 5); }
  507.         else if(-52 < XX < -48){ CreateExplosion(XX-30, 2508.6316, 18.0, 11, 5); CreateExplosion(XX-30, 2497.1504, 18.0, 11, 5); }
  508.         else if(-62 < XX < -58){ CreateExplosion(XX-30, 2508.6316, 18.0, 11, 5); CreateExplosion(XX-30, 2497.1504, 18.0, 11, 5); }
  509.         else if(-72 < XX < -68){ CreateExplosion(XX-30, 2508.6316, 18.0, 11, 5); CreateExplosion(XX-30, 2497.1504, 18.0, 11, 5); }
  510.         else if(-82 < XX < -78){ CreateExplosion(XX-30, 2508.6316, 18.0, 11, 5); CreateExplosion(XX-30, 2497.1504, 18.0, 11, 5); }
  511. }
  512.  
  513. stock PlayerName(playerid)
  514. {
  515.         new pName[MAX_PLAYER_NAME];
  516.         GetPlayerName(playerid, pName, sizeof(pName));
  517.         return pName;
  518. }
  519.  
  520. public OnPlayerSelectedMenuRow(playerid, row)
  521. {
  522.         new Menu:Current = GetPlayerMenu(playerid);
  523.         if(Current == AdminMenu)
  524.         {
  525.             switch(row)
  526.             {
  527.                 case 0:
  528.                 {
  529.                     ShowMenuForPlayer(YesNoGlobal, playerid);
  530.                         }
  531.                         case 1:
  532.                 {
  533.                 ShowMenuForPlayer(YesNoPersonal, playerid);
  534.                         }
  535.                         case 2:
  536.                         {
  537.                             ShowMenuForPlayer(MotorMenu, playerid);
  538.                         }
  539.                         case 3:
  540.                         {
  541.                             TogglePlayerControllable(playerid, 1);
  542.                         }
  543.                 }
  544.                 return 1;
  545.         }
  546.         if(Current == MotorMenu)
  547.         {
  548.             switch(row)
  549.             {
  550.                 case 0: {BikeModel = 522; SendClientMessage(playerid, 0x00FF00AA, "Bikemodel set to: NRG-500");}
  551.                 case 1: {BikeModel = 581; SendClientMessage(playerid, 0x00FF00AA, "Bikemodel set to: BF-400");}
  552.                 case 2: {BikeModel = 521; SendClientMessage(playerid, 0x00FF00AA, "Bikemodel set to: FCR-900");}
  553.                 case 3: {BikeModel = 463; SendClientMessage(playerid, 0x00FF00AA, "Bikemodel set to: Freeway");}
  554.                 case 4: {BikeModel = 461; SendClientMessage(playerid, 0x00FF00AA, "Bikemodel set to: PCJ-600");}
  555.                 case 5: {BikeModel = 468; SendClientMessage(playerid, 0x00FF00AA, "Bikemodel set to: Sanchez");}
  556.                 case 6: {ShowMenuForPlayer(AdminMenu, playerid);}
  557.                 }
  558.                 ShowMenuForPlayer(AdminMenu, playerid);
  559.         }
  560.         if(Current == YesNoGlobal)
  561.         {
  562.             switch(row)
  563.             {
  564.                 case 0: {ShowMenuForPlayer(AdminMenu, playerid);}
  565.                 case 1:
  566.                         {
  567.                             if(!dini_Exists(OVERALLFILE))
  568.                             {
  569.                                 dini_Create(OVERALLFILE);
  570.                                 }
  571.                             dini_FloatSet(OVERALLFILE, "S1", 0.0000);
  572.                             dini_FloatSet(OVERALLFILE, "S2", 0.0000);
  573.                             dini_FloatSet(OVERALLFILE, "S3", 0.0000);
  574.                             dini_Set(OVERALLFILE, "N1", "Empty");
  575.                             dini_Set(OVERALLFILE, "N2", "Empty");
  576.                             dini_Set(OVERALLFILE, "N3", "Empty");
  577.                             HS[0] = 0.0;
  578.                                 HS[1] = 0.0;
  579.                                 HS[2] = 0.0;
  580.                                 format(HSN[0], MAX_PLAYER_NAME, "Empty");
  581.                                 format(HSN[1], MAX_PLAYER_NAME, "Empty");
  582.                                 format(HSN[2], MAX_PLAYER_NAME, "Empty");
  583.                                 SendClientMessage(playerid, 0x00FF00AA, "Global Jump-Highscores Reset!");
  584.                                 TogglePlayerControllable(playerid, 1);
  585.                         }
  586.                 }
  587.         }
  588.         if(Current == YesNoPersonal)
  589.         {
  590.             switch(row)
  591.             {
  592.                 case 0: {ShowMenuForPlayer(AdminMenu, playerid);}
  593.                 case 1:
  594.                         {
  595.                             if(dini_Exists(PERSONALFILE))
  596.                             {
  597.                                 dini_Remove(PERSONALFILE);
  598.                                 }
  599.                                 dini_Create(PERSONALFILE);
  600.                                 SendClientMessage(playerid, 0x00FF00AA, "Personal Jump-Highscores Reset!");
  601.                                 TogglePlayerControllable(playerid, 1);
  602.                         }
  603.                 }
  604.         }
  605.         return 1;
  606. }
  607.  
  608. public OnPlayerExitedMenu(playerid)
  609. {
  610.         TogglePlayerControllable(playerid, 1);
  611.         return 1;
  612. }
Submit a correction or amendment below. Make A New Post
To highlight particular lines, prefix each line with @h@
Syntax highlighting:
Post expiration:
Post exposure:
Name / Title:
Email: