Rei_Ayanami

[FS] MiniGames (@Edit: Adicionei uma nova arma no Evento DM)

Apr 29th, 2024
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* Made by DutchDominator AKA H4rdc0r3.
  2. #  Do not claim this as your own, if you use it, don't forget the credits.
  3. #  Yes, you may change this script and republish it, but keep credits to me.*/
  4.  
  5.  
  6. #include <a_samp>
  7.  
  8. #define FILTERSCRIPT
  9.  
  10. //These are the coordinates your player will spawn at if they are still alive at the end of a minigame:
  11.  
  12. #define spawnX 1310.000000
  13. #define spawnY -1370.199951
  14. #define spawnZ 13.500000
  15.  
  16. new playerinminigame[MAX_PLAYERS];
  17.  
  18. new bloodring[15],derbyon,derbyplaying,playercarid[MAX_PLAYERS],playerinderby[MAX_PLAYERS],derbyrank,reward,bloodringfull[15],playerinbloodring[MAX_PLAYERS];
  19.  
  20. new tdmon,tdmplaying,playerintdm[MAX_PLAYERS],tdmrank,redplayers,blueplayers,tdmcolor,oldplayercolor[MAX_PLAYERS];
  21.  
  22. new dmon,dmplaying,playerindm[MAX_PLAYERS],dmrank;
  23.  
  24. new qbloodring[15],qbloodringfull[15],playerinqderby[MAX_PLAYERS],playerinqbloodring[MAX_PLAYERS],qderbyrank,qderbyon,qderbyplaying;
  25.  
  26. new boxon,boxplaying,playerinbox[MAX_PLAYERS],boxrank;
  27.  
  28. new sdon,sdplaying,playerinsd[MAX_PLAYERS],sdrank,sdfirst;
  29.  
  30. new karts[15],kartfull[15],karton,kartplaying,playerinkartrace[MAX_PLAYERS],kartrank,playerinkart[MAX_PLAYERS],currentcheckpoint[MAX_PLAYERS],krtfirst;
  31.  
  32. new nrg[15],nrgfull[15],sron,srplaying,playerinsr[MAX_PLAYERS],srrank,playerinnrg[MAX_PLAYERS],currentracecheckpoint[MAX_PLAYERS],srfirst;
  33.  
  34. new startvar[8];
  35.  
  36. //Timers:
  37.  
  38. new dtimer,dmtimer,tdmtimer,qdtimer,boxtimer,sdtimer,krttimer,srtimer;
  39.  
  40. forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
  41. forward load();
  42.  
  43. forward Spawnbloodrings();// Derby
  44. forward Destroybloodrings();
  45. forward Respawnbloodrings();
  46. forward StartDerby();
  47.  
  48. forward Starttdm();// TeamDM
  49.  
  50. forward Startdm();// LVDM
  51.  
  52. forward Spawnqbloodrings();// Quarry Derby
  53. forward Destroyqbloodrings();
  54. forward Respawnqbloodrings();
  55. forward StartqDerby();
  56.  
  57. forward StartBox();// Boxing Fight
  58.  
  59. forward StartSd();// Skydive
  60. forward EndSd();
  61. forward SdFinish(playerid);
  62.  
  63. forward SpawnKarts();// KartRace
  64. forward DestroyKarts();
  65. forward RespawnKarts();
  66. forward StartKart();
  67. forward KrtFinish();
  68.  
  69. forward SpawnNrgs();// Stadium Race
  70. forward DestroyNrgs();
  71. forward RespawnNrgs();
  72. forward StartSr();
  73. forward SrFinish();
  74.  
  75. forward RewardCalc(playerid,min,max);// General reward calc.
  76.  
  77.  
  78. // Derby cars:
  79. new Float:derbycars[15][4] = {
  80. {-1362.9799,932.8219,1036.0580,9.0890}, // 0
  81. {-1346.4526,935.4996,1036.0889,13.6811}, // 1
  82. {-1335.6995,938.2600,1036.1177,16.8043}, // 2
  83. {-1320.8756,944.9904,1036.2062,27.0307}, // 3
  84. {-1306.8385,953.5919,1036.3212,37.8366}, // 4
  85. {-1353.9670,934.0486,1036.2421,11.5836}, // 5
  86. {-1328.6377,941.0197,1036.3208,18.9670}, // 6
  87. {-1313.9012,948.6513,1036.4198,29.5596}, // 7
  88. {-1501.0956,960.3203,1036.9474,313.0457}, // 8
  89. {-1506.8105,968.1082,1037.0840,304.3027}, // 9
  90. {-1513.0317,976.8713,1037.2457,301.9500}, // 10
  91. {-1516.0858,988.2343,1037.4362,274.5044}, // 11
  92. {-1517.6569,995.6628,1037.5626,272.2782}, // 12
  93. {-1515.1127,1004.8807,1037.6969,262.3869}, // 13
  94. {-1510.7020,1014.6202,1037.8568,249.1825} // 14
  95. };
  96.  
  97.  
  98. // LVDM Spawn places:
  99. new Float:lvdmspawns[15][3] = {
  100. {2297.5220,2484.1804,3.2734}, // 0
  101. {2271.5120,2474.2268,3.2734}, // 1
  102. {2244.7441,2467.5762,3.2734}, // 2
  103. {2248.0867,2448.3484,3.2734}, // 3
  104. {2267.7366,2439.3997,3.2734}, // 4
  105. {2286.3911,2434.0715,3.2734}, // 5
  106. {2302.9141,2441.9189,3.2734}, // 6
  107. {2265.5151,2494.8433,-0.3329}, // 7
  108. {2300.1218,2483.3733,-7.4531}, // 8
  109. {2281.1760,2480.1216,-7.4531}, // 9
  110. {2251.8474,2473.7490,-7.4531}, // 10
  111. {2227.2383,2460.1196,-7.4531}, // 11
  112. {2250.4229,2440.2544,-7.4531}, // 12
  113. {2293.2231,2438.4878,-7.4531}, // 13
  114. {2301.3645,2452.4045,-7.4531} // 14
  115. };
  116.  
  117. // Quarry derby cars:
  118. new Float:qderbycars[15][4] = {
  119. {605.7057,815.2199,-43.1692,350.9785}, // 0
  120. {609.4918,814.6188,-43.1692,350.9785}, // 1
  121. {613.3760,814.0021,-43.1692,350.9785}, // 2
  122. {616.5115,813.5043,-43.1692,350.9785}, // 3
  123. {619.8624,812.9723,-43.1691,350.9785}, // 4
  124. {622.9971,812.4746,-43.1691,350.9785}, // 5
  125. {678.2766,922.8008,-41.0451,115.3092}, // 6
  126. {680.1019,918.9395,-41.0066,115.3092}, // 7
  127. {681.3400,916.3724,-40.6739,115.2029}, // 8
  128. {682.7889,913.2912,-40.3585,115.2062}, // 9
  129. {491.2690,912.7574,-30.6622,248.8228}, // 10
  130. {489.9630,909.3635,-30.6003,248.8228}, // 11
  131. {488.5172,905.6060,-30.5318,248.8228}, // 12
  132. {488.1009,902.4600,-30.4778,262.3300}, // 13
  133. {487.7645,899.9181,-30.4341,262.3300} // 14
  134. };
  135.  
  136. // Karts:
  137. new Float:kartspawns[15][4] = {
  138. {-1366.1909,906.8451,1040.5919,280.3004}, // 0
  139. {-1366.4854,908.3992,1040.2843,280.3004}, // 1
  140. {-1366.8508,910.3288,1039.9022,280.3004}, // 2
  141. {-1367.2168,912.2613,1039.5195,280.3004}, // 3
  142. {-1367.7562,915.1094,1038.9557,280.3004}, // 4
  143. {-1368.4265,918.6667,1038.4503,280.3231}, // 5
  144. {-1368.8036,920.6827,1038.1428,280.3231}, // 6
  145. {-1369.1410,922.4866,1037.8677,280.3231}, // 7
  146. {-1372.5338,921.9490,1037.9705,277.8816}, // 8
  147. {-1372.2379,919.8677,1038.2872,277.8816}, // 9
  148. {-1371.9086,917.5515,1038.6396,277.8816}, // 10
  149. {-1371.6196,915.5192,1038.9486,277.8816}, // 11
  150. {-1371.2595,912.9866,1039.3340,277.8816}, // 12
  151. {-1371.0453,911.4792,1039.5632,277.8816}, // 13
  152. {-1370.6086,908.9531,1040.1785,275.7079} // 14
  153. };
  154.  
  155. new Float:nrgspawns[15][4] = {
  156. {-1436.5146,-595.6609,1055.5591,86.0952},
  157. {-1436.4534,-594.7911,1055.4529,86.1336},
  158. {-1436.3988,-594.0178,1055.3585,86.1336},
  159. {-1436.3256,-592.9784,1055.2316,86.1336},
  160. {-1436.2520,-591.9318,1055.1398,86.1124},
  161. {-1436.1643,-590.6272,1055.0952,86.1436},
  162. {-1436.1060,-589.7750,1055.0508,86.1436},
  163. {-1436.0160,-588.4620,1054.9822,86.1436},
  164. {-1435.9694,-587.7808,1054.9465,86.1436},
  165. {-1435.9060,-586.8561,1054.8982,86.1436},
  166. {-1435.8304,-586.0049,1054.8535,85.9079},
  167. {-1435.7190,-584.4737,1054.7749,85.9079},
  168. {-1435.6482,-583.4991,1054.7249,85.9079},
  169. {-1435.5737,-582.4772,1054.6724,85.9079},
  170. {-1435.4778,-581.1537,1054.5422,85.8982}
  171. };
  172.  
  173. // Kartrace checkpoints:
  174. new Float:kcps[5][3] = {
  175. {-1262.4230,1028.3113,1039.6948},
  176. {-1433.8792,1083.7178,1039.0344},
  177. {-1540.4967,1004.6923,1039.1409},
  178. {-1392.7269,914.2321,1039.8306},
  179. {-1392.7269,914.2321,1039.8306}
  180. };
  181.  
  182. new Float:srcps[10][3] = {
  183. {-1515.0345,-646.2552,1049.8767},
  184. {-1379.9943,-743.5076,1051.6895},
  185. {-1373.9252,-665.4581,1055.8362},
  186. {-1477.3721,-616.7951,1053.4919},
  187. {-1437.9470,-669.4881,1053.0645},
  188. {-1382.3152,-722.2056,1055.6273},
  189. {-1335.7629,-637.1422,1054.2230},
  190. {-1386.6233,-589.4922,1056.3871},
  191. {-1421.6000,-588.1021,1055.8623},
  192. {-1421.6000,-588.1021,1055.8623}
  193. };
  194.  
  195.  
  196. #if defined FILTERSCRIPT
  197.  
  198. public OnFilterScriptInit()
  199. {
  200.     SetTimer("load",2000,0);
  201.     return 1;
  202. }
  203.  
  204. public OnFilterScriptExit()
  205. {
  206.     Destroybloodrings();
  207.     Destroyqbloodrings();
  208.     DestroyKarts();
  209.     DestroyNrgs();
  210.     return 1;
  211. }
  212.  
  213. #endif
  214.  
  215. public OnGameModeInit()
  216. {
  217.     SetTimer("load",2000,0);
  218.     return 1;
  219. }
  220.  
  221. public OnGameModeExit()
  222. {
  223.     Destroybloodrings();
  224.     Destroyqbloodrings();
  225.     DestroyKarts();
  226.     DestroyNrgs();
  227.     return 1;
  228. }
  229.  
  230. public OnPlayerRequestClass(playerid, classid)
  231. {
  232.     return 1;
  233. }
  234.  
  235. public OnPlayerRequestSpawn(playerid)
  236. {
  237.     return 1;
  238. }
  239.  
  240. public OnPlayerConnect(playerid)
  241. {
  242.     playerinminigame[playerid] = 0; // Checks if a player is in a minigame
  243.     playercarid[playerid] = -1; // Car that player currently is in, used to check whether the player is in a derby/race car
  244.  
  245.     playerinderby[playerid] = 0; // Derby
  246.     playerinbloodring[playerid] = -1;
  247.  
  248.     playerintdm[playerid] = 0; // TeamDM
  249.  
  250.     playerindm[playerid] = 0; // LVDM
  251.  
  252.     playerinqderby[playerid] = 0; // Quarry Derby
  253.     playerinqbloodring[playerid] = -1;
  254.  
  255.     playerinbox[playerid] = 0; // Boxing Fight
  256.  
  257.     playerinkartrace[playerid] = 0; // Kart Race
  258.     playerinkart[playerid] = -1;
  259.     currentcheckpoint[playerid] = 0;
  260.     return 1;
  261. }
  262.  
  263. public OnPlayerDisconnect(playerid, reason)
  264. {
  265.     new string[256];
  266.     if(playerinderby[playerid] == 1)
  267.     {
  268.         new DerbyPlayerName[MAX_PLAYER_NAME];
  269.         GetPlayerName(playerid, DerbyPlayerName, sizeof(DerbyPlayerName));
  270.         format(string, sizeof(string), "%s foi derrubado fora do derby, classificação: %d", DerbyPlayerName, derbyrank);
  271.         SendClientMessageToAll(0x33AA33AA, string);
  272.         playerinderby[playerid] = 0;
  273.         playerinminigame[playerid] = 0;
  274.         bloodringfull[playerinbloodring[playerid]] = 0;
  275.         playerinbloodring[playerid] = -1;
  276.         if(derbyrank <= 2)
  277.         {
  278.             for(new i=0; i<MAX_PLAYERS; i++)
  279.             {
  280.                 if (IsPlayerConnected(i) && playerinderby[i] == 1)
  281.                 {
  282.                     new winnername[256];
  283.                     GetPlayerName(i,winnername, sizeof(winnername));
  284.                     RewardCalc(i,100,1000);
  285.                     format(string, sizeof(string), "%s ganhou o derby e ganhou $%d", winnername, reward);
  286.                     SendClientMessageToAll(0x33AA33AA, string);
  287.                     GivePlayerMoney(i,reward);
  288.                     playerinderby[i] = 0;
  289.                     playerinminigame[i] = 0;
  290.                     SetPlayerVirtualWorld(i,0);
  291.                     SetPlayerInterior(playerid, 0);
  292.                     SetPlayerPos(i, spawnX, spawnY, spawnZ);
  293.                 }
  294.             }
  295.             derbyplaying = 0;
  296.             derbyrank = 0;
  297.             derbyon = 0;
  298.             KillTimer(dtimer);
  299.             Respawnbloodrings();
  300.             return 1;
  301.         }
  302.         derbyrank--;
  303.     } else if(playerintdm[playerid] == 1) {
  304.         new tdmPlayerName[MAX_PLAYER_NAME];
  305.         GetPlayerName(playerid, tdmPlayerName, sizeof(tdmPlayerName));
  306.         if(GetPlayerColor(playerid) == 0x0000BBAA)
  307.         {
  308.             format(string, sizeof(string), "%s foi derrubado fora da equipe do DM, a equipe azul", tdmPlayerName);
  309.             blueplayers = blueplayers-1;
  310.         } else {
  311.             format(string, sizeof(string), "%s foi derrubado fora da equipe do DM, a equipe vermelha", tdmPlayerName);
  312.             redplayers = redplayers-1;
  313.         }
  314.         SendClientMessageToAll(0x33AA33AA, string);
  315.         playerintdm[playerid] = 0;
  316.         playerinminigame[playerid] = 0;
  317.         if(tdmrank == 0)
  318.         {
  319.             tdmplaying = 0;
  320.             tdmrank = 0;
  321.             tdmon = 0;
  322.             KillTimer(tdmtimer);
  323.             return 1;
  324.         }
  325.         if((blueplayers == 0 || redplayers == 0) && tdmplaying == 1)
  326.         {
  327.             if(blueplayers == 0)
  328.             {
  329.                 format(string, sizeof(string), "Time vermelho venceu o evento DM");
  330.             } else if(redplayers == 0)
  331.             {
  332.                 format(string, sizeof(string), "Time azul venceu o evento DM");
  333.             }
  334.             SendClientMessageToAll(0x33AA33AA, string);
  335.             for(new i=0; i<MAX_PLAYERS; i++)
  336.             {
  337.                 if (IsPlayerConnected(i) && playerintdm[i] == 1)
  338.                 {
  339.                     playerintdm[i] = 0;
  340.                     playerinminigame[i] = 0;
  341.                     SetPlayerVirtualWorld(i,0);
  342.                     SetPlayerInterior(playerid, 0);
  343.                     SetPlayerColor(i,oldplayercolor[i]);
  344.                     SetPlayerPos(i, spawnX, spawnY, spawnZ);
  345.                 }
  346.             }
  347.             tdmplaying = 0;
  348.             tdmrank = 0;
  349.             tdmon = 0;
  350.             KillTimer(tdmtimer);
  351.             return 1;
  352.         }
  353.         tdmrank--;
  354.     } else if(playerindm[playerid] == 1) {
  355.         new dmPlayerName[MAX_PLAYER_NAME];
  356.         GetPlayerName(playerid, dmPlayerName, sizeof(dmPlayerName));
  357.         format(string, sizeof(string), "%s morreu no evento DM LVDM, Classificação: %d", dmPlayerName, dmrank);
  358.         SendClientMessageToAll(0x33AA33AA, string);
  359.         playerindm[playerid] = 0;
  360.         playerinminigame[playerid] = 0;
  361.         if(dmrank <= 2)
  362.         {
  363.             for(new i=0; i<MAX_PLAYERS; i++)
  364.             {
  365.                 if (IsPlayerConnected(i) && playerindm[i] == 1)
  366.                 {
  367.                     new dmwinnername[256];
  368.                     GetPlayerName(i,dmwinnername, sizeof(dmwinnername));
  369.                     RewardCalc(i,100,1000);
  370.                     format(string, sizeof(string), "%s ganhou o LVDM e ganhou $%d", dmwinnername, reward);
  371.                     SendClientMessageToAll(0x33AA33AA, string);
  372.                     GivePlayerMoney(i,reward);
  373.                     playerindm[i] = 0;
  374.                     playerinminigame[i] = 0;
  375.                     SetPlayerVirtualWorld(i,0);
  376.                     SetPlayerInterior(playerid, 0);
  377.                     SetPlayerPos(i, spawnX, spawnY, spawnZ);
  378.                 }
  379.             }
  380.             dmplaying = 0;
  381.             dmrank = 0;
  382.             dmon = 0;
  383.             KillTimer(dmtimer);
  384.             return 1;
  385.         }
  386.         dmrank--;
  387.     } else if(playerinqderby[playerid] == 1)    {
  388.         new DerbyPlayerName[MAX_PLAYER_NAME];
  389.         GetPlayerName(playerid, DerbyPlayerName, sizeof(DerbyPlayerName));
  390.         format(string, sizeof(string), "%s foi derrubado fora do derby pedreira, classificação: %d", DerbyPlayerName, qderbyrank);
  391.         SendClientMessageToAll(0x33AA33AA, string);
  392.         playerinqderby[playerid] = 0;
  393.         playerinminigame[playerid] = 0;
  394.         qbloodringfull[playerinqbloodring[playerid]] = 0;
  395.         playerinqbloodring[playerid] = -1;
  396.         if(qderbyrank <= 2)
  397.         {
  398.             for(new i=0; i<MAX_PLAYERS; i++)
  399.             {
  400.                 if (IsPlayerConnected(i) && playerinqderby[i] == 1)
  401.                 {
  402.                     new winnername[256];
  403.                     GetPlayerName(i,winnername, sizeof(winnername));
  404.                     RewardCalc(i,100,1000);
  405.                     format(string, sizeof(string), "%s ganhou o evento derby pedreira e ganhou $%d", winnername, reward);
  406.                     SendClientMessageToAll(0x33AA33AA, string);
  407.                     GivePlayerMoney(i,reward);
  408.                     playerinqderby[i] = 0;
  409.                     playerinminigame[i] = 0;
  410.                     SetPlayerVirtualWorld(i,0);
  411.                     SetPlayerInterior(playerid, 0);
  412.                     SetPlayerPos(i, spawnX, spawnY, spawnZ);
  413.                 }
  414.             }
  415.             qderbyplaying = 0;
  416.             qderbyrank = 0;
  417.             qderbyon = 0;
  418.             KillTimer(qdtimer);
  419.             Respawnqbloodrings();
  420.             return 1;
  421.         }
  422.         qderbyrank--;
  423.     } else if(playerinbox[playerid] == 1) {
  424.         new boxPlayerName[MAX_PLAYER_NAME];
  425.         GetPlayerName(playerid, boxPlayerName, sizeof(boxPlayerName));
  426.         format(string, sizeof(string), "%s foi derrubado fora da luta de boxe, Classificação %d", boxPlayerName, boxrank);
  427.         SendClientMessageToAll(0x33AA33AA, string);
  428.         playerinbox[playerid] = 0;
  429.         playerinminigame[playerid] = 0;
  430.         if(boxrank <= 2)
  431.         {
  432.             for(new i=0; i<MAX_PLAYERS; i++)
  433.             {
  434.                 if (IsPlayerConnected(i) && playerinbox[i] == 1)
  435.                 {
  436.                     new boxwinnername[256];
  437.                     GetPlayerName(i,boxwinnername, sizeof(boxwinnername));
  438.                     RewardCalc(i,100,1000);
  439.                     format(string, sizeof(string), "%s ganhou a luta de boxe e ganhou $%d", boxwinnername, reward);
  440.                     SendClientMessageToAll(0x33AA33AA, string);
  441.                     GivePlayerMoney(i,reward);
  442.                     playerinbox[i] = 0;
  443.                     playerinminigame[i] = 0;
  444.                     SetPlayerVirtualWorld(i,0);
  445.                     SetPlayerInterior(playerid, 0);
  446.                     SetPlayerPos(i, spawnX, spawnY, spawnZ);
  447.                 }
  448.             }
  449.             boxplaying = 0;
  450.             boxrank = 0;
  451.             boxon = 0;
  452.             KillTimer(boxtimer);
  453.             return 1;
  454.         }
  455.         boxrank--;
  456.     } else if(playerinsd[playerid] == 1) {
  457.         new SkydivePlayerName[MAX_PLAYER_NAME];
  458.         GetPlayerName(playerid, SkydivePlayerName, sizeof(SkydivePlayerName));
  459.         format(string, sizeof(string), "%s foi derrubado fora do skydive", SkydivePlayerName);
  460.         SendClientMessageToAll(0x33AA33AA, string);
  461.         playerinsd[playerid] = 0;
  462.         playerinminigame[playerid] = 0;
  463.         if(sdrank <= 1)
  464.         {
  465.             for(new i=0; i<MAX_PLAYERS; i++)
  466.             {
  467.                 if (IsPlayerConnected(i) && playerinsd[i] == 1)
  468.                 {
  469.                     playerinsd[i] = 0;
  470.                     playerinminigame[i] = 0;
  471.                     SetPlayerVirtualWorld(i,0);
  472.                     SetPlayerInterior(playerid, 0);
  473.                     SetPlayerPos(i, spawnX, spawnY, spawnZ);
  474.                 }
  475.             }
  476.             sdplaying = 0;
  477.             sdrank = 0;
  478.             sdon = 0;
  479.             sdfirst = 0;
  480.             KillTimer(sdtimer);
  481.             return 1;
  482.         }
  483.         sdrank--;
  484.     } else if(playerinkartrace[playerid] == 1) {
  485.         new KartPlayerName[MAX_PLAYER_NAME];
  486.         GetPlayerName(playerid, KartPlayerName, sizeof(KartPlayerName));
  487.         format(string, sizeof(string), "%s foi descartado da corrida de kart", KartPlayerName);
  488.         SendClientMessageToAll(0x33AA33AA, string);
  489.         playerinkartrace[playerid] = 0;
  490.         playerinminigame[playerid] = 0;
  491.         kartfull[playerinkart[playerid]] = 0;
  492.         playerinkart[playerid] = -1;
  493.         if(kartrank <= 1)
  494.         {
  495.             for(new i=0; i<MAX_PLAYERS; i++)
  496.             {
  497.                 if (IsPlayerConnected(i) && playerinkartrace[i] == 1)
  498.                 {
  499.                     playerinkartrace[i] = 0;
  500.                     playerinminigame[i] = 0;
  501.                     SetPlayerVirtualWorld(i,0);
  502.                     SetPlayerInterior(playerid, 0);
  503.                     SetPlayerPos(i, spawnX, spawnY, spawnZ);
  504.                 }
  505.             }
  506.             kartplaying = 0;
  507.             kartrank = 0;
  508.             karton = 0;
  509.             KillTimer(krttimer);
  510.             RespawnKarts();
  511.             return 1;
  512.         }
  513.         kartrank--;
  514.     } else if(playerinsr[playerid] == 1) {
  515.         new SrPlayerName[MAX_PLAYER_NAME];
  516.         GetPlayerName(playerid, SrPlayerName, sizeof(SrPlayerName));
  517.         format(string, sizeof(string), "%s foi derrubado fora da corrida do estádio", SrPlayerName);
  518.         SendClientMessageToAll(0x33AA33AA, string);
  519.         playerinsr[playerid] = 0;
  520.         playerinminigame[playerid] = 0;
  521.         nrgfull[playerinnrg[playerid]] = 0;
  522.         playerinnrg[playerid] = -1;
  523.         if(kartrank <= 1)
  524.         {
  525.             for(new i=0; i<MAX_PLAYERS; i++)
  526.             {
  527.                 if (IsPlayerConnected(i) && playerinsr[i] == 1)
  528.                 {
  529.                     playerinsr[i] = 0;
  530.                     playerinminigame[i] = 0;
  531.                     SetPlayerVirtualWorld(i,0);
  532.                     SetPlayerInterior(playerid, 0);
  533.                     SetPlayerPos(i, spawnX, spawnY, spawnZ);
  534.                 }
  535.             }
  536.             kartplaying = 0;
  537.             kartrank = 0;
  538.             karton = 0;
  539.             KillTimer(srtimer);
  540.             RespawnNrgs();
  541.             return 1;
  542.         }
  543.         srrank--;
  544.     }
  545.     return 1;
  546. }
  547.  
  548. public OnPlayerSpawn(playerid)
  549. {
  550.     return 1;
  551. }
  552.  
  553. public OnPlayerDeath(playerid, killerid, reason)
  554. {
  555.     new string[256];
  556.     if(playerinderby[playerid] == 1)
  557.     {
  558.         new DerbyPlayerName[MAX_PLAYER_NAME];
  559.         GetPlayerName(playerid, DerbyPlayerName, sizeof(DerbyPlayerName));
  560.         format(string, sizeof(string), "%s foi derrubado fora do derby, classificação: %d", DerbyPlayerName, derbyrank);
  561.         SendClientMessageToAll(0x33AA33AA, string);
  562.         playerinderby[playerid] = 0;
  563.         playerinminigame[playerid] = 0;
  564.         bloodringfull[playerinbloodring[playerid]] = 0;
  565.         playerinbloodring[playerid] = -1;
  566.         if(derbyrank <= 2)
  567.         {
  568.             for(new i=0; i<MAX_PLAYERS; i++)
  569.             {
  570.                 if (IsPlayerConnected(i) && playerinderby[i] == 1)
  571.                 {
  572.                     new winnername[256];
  573.                     GetPlayerName(i,winnername, sizeof(winnername));
  574.                     RewardCalc(i,100,1000);
  575.                     format(string, sizeof(string), "%s ganhou o derby e ganhou $%d", winnername, reward);
  576.                     SendClientMessageToAll(0x33AA33AA, string);
  577.                     GivePlayerMoney(i,reward);
  578.                     playerinderby[i] = 0;
  579.                     playerinminigame[i] = 0;
  580.                     SetPlayerVirtualWorld(i,0);
  581.                     SetPlayerInterior(playerid, 0);
  582.                     SetPlayerPos(i, spawnX, spawnY, spawnZ);
  583.                 }
  584.             }
  585.             derbyplaying = 0;
  586.             derbyrank = 0;
  587.             derbyon = 0;
  588.             KillTimer(dtimer);
  589.             Respawnbloodrings();
  590.             return 1;
  591.         }
  592.         derbyrank--;
  593.     } else if(playerintdm[playerid] == 1) {
  594.         new tdmPlayerName[MAX_PLAYER_NAME];
  595.         GetPlayerName(playerid, tdmPlayerName, sizeof(tdmPlayerName));
  596.         if(GetPlayerColor(playerid) == 0x0000BBAA)
  597.         {
  598.             format(string, sizeof(string), "%s foi derrubado fora da equipe do DM, a equipe azul", tdmPlayerName);
  599.             blueplayers = blueplayers-1;
  600.         } else {
  601.             format(string, sizeof(string), "%s foi derrubado fora da equipe do DM, a equipe vermelha", tdmPlayerName);
  602.             redplayers = redplayers-1;
  603.         }
  604.         SendClientMessageToAll(0x33AA33AA, string);
  605.         playerintdm[playerid] = 0;
  606.         playerinminigame[playerid] = 0;
  607.         if(tdmrank == 0)
  608.         {
  609.             tdmplaying = 0;
  610.             tdmrank = 0;
  611.             tdmon = 0;
  612.             KillTimer(tdmtimer);
  613.             return 1;
  614.         }
  615.         if((blueplayers == 0 || redplayers == 0) && tdmplaying == 1)
  616.         {
  617.             if(blueplayers == 0)
  618.             {
  619.                 format(string, sizeof(string), "Time vermelho ganhou o Evento DM");
  620.             } else if(redplayers == 0)
  621.             {
  622.                 format(string, sizeof(string), "Time azul ganhou o Evento DM");
  623.             }
  624.             SendClientMessageToAll(0x33AA33AA, string);
  625.             for(new i=0; i<MAX_PLAYERS; i++)
  626.             {
  627.                 if (IsPlayerConnected(i) && playerintdm[i] == 1)
  628.                 {
  629.                     playerintdm[i] = 0;
  630.                     playerinminigame[i] = 0;
  631.                     SetPlayerVirtualWorld(i,0);
  632.                     SetPlayerInterior(playerid, 0);
  633.                     SetPlayerColor(i,oldplayercolor[i]);
  634.                     SetPlayerPos(i, spawnX, spawnY, spawnZ);
  635.                 }
  636.             }
  637.             tdmplaying = 0;
  638.             tdmrank = 0;
  639.             tdmon = 0;
  640.             KillTimer(tdmtimer);
  641.             return 1;
  642.         }
  643.         tdmrank--;
  644.     } else if(playerindm[playerid] == 1) {
  645.         new dmPlayerName[MAX_PLAYER_NAME];
  646.         GetPlayerName(playerid, dmPlayerName, sizeof(dmPlayerName));
  647.         format(string, sizeof(string), "%s foi derrubado no LVDM, Classificação: %d", dmPlayerName, dmrank);
  648.         SendClientMessageToAll(0x33AA33AA, string);
  649.         playerindm[playerid] = 0;
  650.         playerinminigame[playerid] = 0;
  651.         if(dmrank <= 2)
  652.         {
  653.             for(new i=0; i<MAX_PLAYERS; i++)
  654.             {
  655.                 if (IsPlayerConnected(i) && playerindm[i] == 1)
  656.                 {
  657.                     new dmwinnername[256];
  658.                     GetPlayerName(i,dmwinnername, sizeof(dmwinnername));
  659.                     RewardCalc(i,100,1000);
  660.                     format(string, sizeof(string), "%s ganhou o LVDM e ganhou $%d", dmwinnername, reward);
  661.                     SendClientMessageToAll(0x33AA33AA, string);
  662.                     GivePlayerMoney(i,reward);
  663.                     playerindm[i] = 0;
  664.                     playerinminigame[i] = 0;
  665.                     SetPlayerVirtualWorld(i,0);
  666.                     SetPlayerInterior(playerid, 0);
  667.                     SetPlayerPos(i, spawnX, spawnY, spawnZ);
  668.                 }
  669.             }
  670.             dmplaying = 0;
  671.             dmrank = 0;
  672.             dmon = 0;
  673.             KillTimer(dmtimer);
  674.             return 1;
  675.         }
  676.         dmrank--;
  677.     } else if(playerinqderby[playerid] == 1)    {
  678.         new DerbyPlayerName[MAX_PLAYER_NAME];
  679.         GetPlayerName(playerid, DerbyPlayerName, sizeof(DerbyPlayerName));
  680.         format(string, sizeof(string), "%s foi derrubado fora do derby pedreira, classificação: %d", DerbyPlayerName, qderbyrank);
  681.         SendClientMessageToAll(0x33AA33AA, string);
  682.         playerinqderby[playerid] = 0;
  683.         playerinminigame[playerid] = 0;
  684.         qbloodringfull[playerinqbloodring[playerid]] = 0;
  685.         playerinqbloodring[playerid] = -1;
  686.         if(qderbyrank <= 2)
  687.         {
  688.             for(new i=0; i<MAX_PLAYERS; i++)
  689.             {
  690.                 if (IsPlayerConnected(i) && playerinqderby[i] == 1)
  691.                 {
  692.                     new winnername[256];
  693.                     GetPlayerName(i,winnername, sizeof(winnername));
  694.                     RewardCalc(i,100,1000);
  695.                     format(string, sizeof(string), "%s ganhou o derby pedreira e ganhou $%d", winnername, reward);
  696.                     SendClientMessageToAll(0x33AA33AA, string);
  697.                     GivePlayerMoney(i,reward);
  698.                     playerinqderby[i] = 0;
  699.                     playerinminigame[i] = 0;
  700.                     SetPlayerVirtualWorld(i,0);
  701.                     SetPlayerInterior(playerid, 0);
  702.                     SetPlayerPos(i, spawnX, spawnY, spawnZ);
  703.                 }
  704.             }
  705.             qderbyplaying = 0;
  706.             qderbyrank = 0;
  707.             qderbyon = 0;
  708.             KillTimer(qdtimer);
  709.             Respawnqbloodrings();
  710.             return 1;
  711.         }
  712.         qderbyrank--;
  713.     } else if(playerinbox[playerid] == 1) {
  714.         new boxPlayerName[MAX_PLAYER_NAME];
  715.         GetPlayerName(playerid, boxPlayerName, sizeof(boxPlayerName));
  716.         format(string, sizeof(string), "%s foi derrubado fora da luta de boxe, Classificação: %d", boxPlayerName, boxrank);
  717.         SendClientMessageToAll(0x33AA33AA, string);
  718.         playerinbox[playerid] = 0;
  719.         playerinminigame[playerid] = 0;
  720.         if(boxrank <= 2)
  721.         {
  722.             for(new i=0; i<MAX_PLAYERS; i++)
  723.             {
  724.                 if (IsPlayerConnected(i) && playerinbox[i] == 1)
  725.                 {
  726.                     new boxwinnername[256];
  727.                     GetPlayerName(i,boxwinnername, sizeof(boxwinnername));
  728.                     RewardCalc(i,100,1000);
  729.                     format(string, sizeof(string), "%s Ganhou a luta de boxe e ganhou $%d", boxwinnername, reward);
  730.                     SendClientMessageToAll(0x33AA33AA, string);
  731.                     GivePlayerMoney(i,reward);
  732.                     playerinbox[i] = 0;
  733.                     playerinminigame[i] = 0;
  734.                     SetPlayerVirtualWorld(i,0);
  735.                     SetPlayerInterior(playerid, 0);
  736.                     SetPlayerPos(i, spawnX, spawnY, spawnZ);
  737.                 }
  738.             }
  739.             boxplaying = 0;
  740.             boxrank = 0;
  741.             boxon = 0;
  742.             KillTimer(boxtimer);
  743.             return 1;
  744.         }
  745.         boxrank--;
  746.     } else if(playerinsd[playerid] == 1) {
  747.         new SkydivePlayerName[MAX_PLAYER_NAME];
  748.         GetPlayerName(playerid, SkydivePlayerName, sizeof(SkydivePlayerName));
  749.         format(string, sizeof(string), "%s foi derrubado fora do skydive", SkydivePlayerName);
  750.         SendClientMessageToAll(0x33AA33AA, string);
  751.         playerinsd[playerid] = 0;
  752.         playerinminigame[playerid] = 0;
  753.         if(sdrank <= 1)
  754.         {
  755.             for(new i=0; i<MAX_PLAYERS; i++)
  756.             {
  757.                 if (IsPlayerConnected(i) && playerinsd[i] == 1)
  758.                 {
  759.                     playerinsd[i] = 0;
  760.                     playerinminigame[i] = 0;
  761.                     SetPlayerVirtualWorld(i,0);
  762.                     SetPlayerInterior(playerid, 0);
  763.                     SetPlayerPos(i, spawnX, spawnY, spawnZ);
  764.                 }
  765.             }
  766.             sdplaying = 0;
  767.             sdrank = 0;
  768.             sdon = 0;
  769.             sdfirst = 0;
  770.             KillTimer(sdtimer);
  771.             return 1;
  772.         }
  773.         sdrank--;
  774.     } else if(playerinkartrace[playerid] == 1) {
  775.         new KartPlayerName[MAX_PLAYER_NAME];
  776.         GetPlayerName(playerid, KartPlayerName, sizeof(KartPlayerName));
  777.         format(string, sizeof(string), "%s foi descartado da corrida de kart", KartPlayerName);
  778.         SendClientMessageToAll(0x33AA33AA, string);
  779.         playerinkartrace[playerid] = 0;
  780.         playerinminigame[playerid] = 0;
  781.         kartfull[playerinkart[playerid]] = 0;
  782.         playerinkart[playerid] = -1;
  783.         if(kartrank <= 1)
  784.         {
  785.             for(new i=0; i<MAX_PLAYERS; i++)
  786.             {
  787.                 if (IsPlayerConnected(i) && playerinkartrace[i] == 1)
  788.                 {
  789.                     playerinkartrace[i] = 0;
  790.                     playerinminigame[i] = 0;
  791.                     SetPlayerVirtualWorld(i,0);
  792.                     SetPlayerInterior(playerid, 0);
  793.                     SetPlayerPos(i, spawnX, spawnY, spawnZ);
  794.                 }
  795.             }
  796.             kartplaying = 0;
  797.             kartrank = 0;
  798.             karton = 0;
  799.             KillTimer(krttimer);
  800.             RespawnKarts();
  801.             return 1;
  802.         }
  803.         kartrank--;
  804.     } else if(playerinsr[playerid] == 1) {
  805.         new SrPlayerName[MAX_PLAYER_NAME];
  806.         GetPlayerName(playerid, SrPlayerName, sizeof(SrPlayerName));
  807.         format(string, sizeof(string), "%s foi derrubado fora da corrida do estádio", SrPlayerName);
  808.         SendClientMessageToAll(0x33AA33AA, string);
  809.         playerinsr[playerid] = 0;
  810.         playerinminigame[playerid] = 0;
  811.         nrgfull[playerinnrg[playerid]] = 0;
  812.         playerinnrg[playerid] = -1;
  813.         if(kartrank <= 1)
  814.         {
  815.             for(new i=0; i<MAX_PLAYERS; i++)
  816.             {
  817.                 if (IsPlayerConnected(i) && playerinsr[i] == 1)
  818.                 {
  819.                     playerinsr[i] = 0;
  820.                     playerinminigame[i] = 0;
  821.                     SetPlayerVirtualWorld(i,0);
  822.                     SetPlayerInterior(playerid, 0);
  823.                     SetPlayerPos(i, spawnX, spawnY, spawnZ);
  824.                 }
  825.             }
  826.             srplaying = 0;
  827.             srrank = 0;
  828.             sron = 0;
  829.             KillTimer(srtimer);
  830.             RespawnNrgs();
  831.             return 1;
  832.         }
  833.         srrank--;
  834.     }
  835.     return 1;
  836. }
  837.  
  838. public OnVehicleSpawn(vehicleid)
  839. {
  840.     return 1;
  841. }
  842.  
  843. public OnVehicleDeath(vehicleid, killerid)
  844. {
  845.     return 1;
  846. }
  847.  
  848. public OnPlayerText(playerid, text[])
  849. {
  850.     return 1;
  851. }
  852.  
  853. public OnPlayerPrivmsg(playerid, recieverid, text[])
  854. {
  855.     return 1;
  856. }
  857.  
  858. public OnPlayerCommandText(playerid, cmdtext[])
  859. {
  860.     new cmd[256];
  861.     new idx;
  862.     new string[256];
  863.     new tmp[256];
  864.     cmd = strtok(cmdtext, idx);
  865.  
  866.     /*if(strcmp(cmd, "/mark", true) == 0)
  867.     {
  868.         if(playerinminigame[playerid])
  869.         {
  870.             SendClientMessage(playerid, 0x33AA33AA, "Para prevenir abusos, /marcar e /irmarcar são deficientes em minigames.");
  871.             return 1;
  872.         }
  873.     }
  874.  
  875.     if(strcmp(cmd, "/gotomark", true) == 0)
  876.     {
  877.         if(playerinminigame[playerid])
  878.         {
  879.             SendClientMessage(playerid, 0x33AA33AA, "To prevent abuse, /mark and /gotomark are disabled in minigames.");
  880.             return 1;
  881.         }
  882.     }*/
  883.  
  884.     if(strcmp(cmd, "/minigames", true) == 0)
  885.     {
  886.         SendClientMessage(playerid, 0x33AA33AA, "______________________________________________________________________________");
  887.         SendClientMessage(playerid, 0xFF0000FF, " ");
  888.         SendClientMessage(playerid, 0xFF0000FF, "Estes minigames estão disponíveis atualmente:");
  889.         SendClientMessage(playerid, 0xFF0000FF, "/derby /teamdm /lvdm /qderby /boxing /sdive /kartrace /srace");
  890.         SendClientMessage(playerid, 0xFF0000FF, "Digite /info [nome minigame] para obter mais informações");
  891.         SendClientMessage(playerid, 0x33AA33AA, "______________________________________________________________________________");
  892.         return 1;
  893.     }
  894.  
  895.     if(strcmp(cmd, "/info", true) == 0)
  896.     {
  897.         tmp = strtok(cmdtext, idx);
  898.         if(!strlen(tmp))
  899.         {
  900.             SendClientMessage(playerid,0xFFFF00AA, "USE: /info [nome minigame]");
  901.             SendClientMessage(playerid,0xFFFF00AA, "minigames Disponiveis: derby teamdm lvdm qderby boxing sdive kartrace srace");
  902.             return 1;
  903.         }
  904.  
  905.         SendClientMessage(playerid, 0x33AA33AA, "______________________________________________________________________________");
  906.         SendClientMessage(playerid, 0xFF0000FF, " ");
  907.         if(strcmp(tmp, "derby", true) == 0){
  908.             SendClientMessage(playerid, 0xFF0000FF, "Derby: Um derby de destruição em Bloodbowl.");
  909.             SendClientMessage(playerid, 0xFF0000FF, "Seu objetivo é destruir todos os outros carros, e manter seu próprio carro intacto.");
  910.         }else if(strcmp(tmp, "teamdm", true) == 0){
  911.             SendClientMessage(playerid, 0xFF0000FF, "TeamDM: A team deathmatch na área 51, com dois times, vermelho e azul.");
  912.             SendClientMessage(playerid, 0xFF0000FF, "Seu objetivo é matar todos da outra equipe.");
  913.         }else if(strcmp(tmp, "lvdm", true) == 0){
  914.             SendClientMessage(playerid, 0xFF0000FF, "LVDM: um deathmatch na LVPD.");
  915.             SendClientMessage(playerid, 0xFF0000FF, "Seu objetivo matar as outras pessoas, e permanecer vivo.");
  916.         }else if(strcmp(tmp, "qderby", true) == 0){
  917.             SendClientMessage(playerid, 0xFF0000FF, "QDerby: um derby de destruição na pedreira de Las Venturas.");
  918.             SendClientMessage(playerid, 0xFF0000FF, "Seu objetivo é destruir todos os outros carros, e manter seu próprio carro intacto.");
  919.         }else if(strcmp(tmp, "boxing", true) == 0){
  920.             SendClientMessage(playerid, 0xFF0000FF, "Boxe: A morte súbita, sem armas, apenas a luta.");
  921.             SendClientMessage(playerid, 0xFF0000FF, "Seu objetivo matar outras pessoas, e permanecer vivo.");
  922.         }else if(strcmp(tmp, "sdive", true) == 0){
  923.             SendClientMessage(playerid, 0xFF0000FF, "SDive: Um minigame de Skydive");
  924.             SendClientMessage(playerid, 0xFF0000FF, "Seu objetivo é o telhado da torre como o primeiro. Você deve permanecer vivo por 2 segundos lá.");
  925.         }else if(strcmp(tmp, "kartrace", true) == 0){
  926.             SendClientMessage(playerid, 0xFF0000FF, "Kartrace: Uma corrida com karts ao redor do Bloodbowl.");
  927.             SendClientMessage(playerid, 0xFF0000FF, "Seu objetivo é conduzir duas voltas no tempo mais rápido.");
  928.         }else if(strcmp(tmp, "srace", true) == 0){
  929.             SendClientMessage(playerid, 0xFF0000FF, "SRace: A corrida no Estádio do Vice, com a NRG-500.");
  930.             SendClientMessage(playerid, 0xFF0000FF, "Seu objetivo é conduzir uma volta no tempo mais rápido.");
  931.         }
  932.         SendClientMessage(playerid, 0x33AA33AA, "______________________________________________________________________________");
  933.         return 1;
  934.     }
  935.  
  936.     if(strcmp(cmd, "/derby", true) == 0)
  937.     {
  938.         if(derbyplaying == 1)
  939.         {
  940.             SendClientMessage(playerid, 0xB4B5B7AA, "O derby já começou");
  941.             return 1;
  942.         }
  943.         if(playerinminigame[playerid] == 1)
  944.         {
  945.             SendClientMessage(playerid, 0xB4B5B7AA, "Voce já esta em um minigame");
  946.             return 1;
  947.         }
  948.         new pname[256];
  949.         GetPlayerName(playerid, pname, 256);
  950.         if(derbyon == 0)
  951.         {
  952.             derbyon = 1;
  953.             playerinminigame[playerid] = 1;
  954.             playerinderby[playerid] = 1;
  955.             derbyrank = 1;
  956.             SetPlayerInterior(playerid,15);
  957.             SetPlayerVirtualWorld(playerid,7);
  958.             SetVehicleVirtualWorld(bloodring[0],7);
  959.             bloodringfull[0] = 1;
  960.             PutPlayerInVehicle(playerid, bloodring[0], 0);
  961.             playerinbloodring[playerid] = 0;
  962.             TogglePlayerControllable(playerid, 0);
  963.             startvar[0] = 1;
  964.             dtimer = SetTimer("StartDerby", 60000, 0);
  965.             format(string, sizeof(string), "%s iniciou um derby, você tem um minuto para escrever /derby e juntar-se", pname);//
  966.             SendClientMessageToAll(0x33AA33AA,string);
  967.             return 1;
  968.         } else if(derbyon == 1 && derbyrank < 15) {
  969.             playerinminigame[playerid] = 1;
  970.             playerinderby[playerid] = 1;
  971.             derbyrank++;
  972.             SetPlayerInterior(playerid,15);
  973.             for(new i=0; i<15; i++)
  974.             {
  975.                 if(bloodringfull[i] == 0)
  976.                 {
  977.                     SetPlayerVirtualWorld(playerid,7);
  978.                     SetVehicleVirtualWorld(bloodring[i],7);
  979.                     bloodringfull[i] = 1;
  980.                     PutPlayerInVehicle(playerid, bloodring[i], 0);
  981.                     TogglePlayerControllable(playerid, 0);
  982.                     playerinbloodring[playerid] = i;
  983.                     format(string, sizeof(string), "%s juntou-se ao derby", pname);//
  984.                     SendClientMessageToAll(0x33AA33AA,string);
  985.                     return 1;
  986.                 }
  987.             }
  988.         } else if(derbyon == 1 && derbyrank >= 15) {
  989.             format(string, sizeof(string), "Evento Derby Cheio,Tente na próxima rodada", pname);//
  990.             SendClientMessage(playerid,0x33AA33AA,string);
  991.             return 1;
  992.         }
  993.     }
  994.  
  995.     if(strcmp(cmd, "/teamdm", true) == 0)
  996.     {
  997.         if(tdmplaying == 1)
  998.         {
  999.             SendClientMessage(playerid, 0xB4B5B7AA, "O Evento Dm Já Começou");
  1000.             return 1;
  1001.         }
  1002.         if(playerinminigame[playerid] == 1)
  1003.         {
  1004.             SendClientMessage(playerid, 0xB4B5B7AA, "Você já está em um minigame");
  1005.             return 1;
  1006.         }
  1007.         new pname[256];
  1008.         GetPlayerName(playerid, pname, 256);
  1009.         if(tdmon == 0)
  1010.         {
  1011.             tdmon = 1;
  1012.             playerintdm[playerid] = 1;
  1013.             playerinminigame[playerid] = 1;
  1014.             tdmrank = 1;
  1015.             TogglePlayerControllable(playerid, 0);
  1016.             SetPlayerInterior(playerid,0);
  1017.             SetPlayerVirtualWorld(playerid,7);
  1018.             SetPlayerPos(playerid,208.8376,1863.5388,13.1406);
  1019.             ResetPlayerWeapons(playerid);
  1020.             GivePlayerWeapon(playerid,26,50000);
  1021.             GivePlayerWeapon(playerid,24,50000);
  1022.             GivePlayerWeapon(playerid,31,50000);
  1023.             GivePlayerWeapon(playerid,32,50000);
  1024.             SetPlayerHealth(playerid,100);
  1025.             SetPlayerArmour(playerid,100);
  1026.             oldplayercolor[playerid] = GetPlayerColor(playerid);
  1027.             SetPlayerColor(playerid,0x0000BBAA);// BLUE
  1028.             blueplayers = 1;
  1029.             redplayers = 0;
  1030.             tdmcolor = 1;
  1031.             startvar[1] = 1;
  1032.             tdmtimer = SetTimer("Starttdm", 60000, 0);
  1033.             format(string, sizeof(string), "%s deu início a um Evento DM, a equipe azul, você tem um minuto para escrever /teamdm e juntar-se", pname);//
  1034.             SendClientMessageToAll(0x33AA33AA,string);
  1035.             return 1;
  1036.         } else if(tdmon == 1 && tdmcolor == 1) {
  1037.             playerintdm[playerid] = 1;
  1038.             playerinminigame[playerid] = 1;
  1039.             tdmrank++;
  1040.             TogglePlayerControllable(playerid, 0);
  1041.             SetPlayerInterior(playerid,0);
  1042.             SetPlayerVirtualWorld(playerid,7);
  1043.             SetPlayerPos(playerid,268.6240,1882.8805,-30.0938);
  1044.             ResetPlayerWeapons(playerid);
  1045.             GivePlayerWeapon(playerid,26,50000);
  1046.             GivePlayerWeapon(playerid,24,50000);
  1047.             GivePlayerWeapon(playerid,31,50000);
  1048.             GivePlayerWeapon(playerid,32,50000);
  1049.             SetPlayerHealth(playerid,100);
  1050.             SetPlayerArmour(playerid,100);
  1051.             oldplayercolor[playerid] = GetPlayerColor(playerid);
  1052.             SetPlayerColor(playerid,0xAA3333AA);// RED
  1053.             redplayers++;
  1054.             tdmcolor = 0;
  1055.             format(string, sizeof(string), "%s se juntou à equipe de MS, a equipe vermelha", pname);//
  1056.             SendClientMessageToAll(0x33AA33AA,string);
  1057.             return 1;
  1058.         } else if(tdmon == 1 && tdmcolor == 0) {
  1059.             playerintdm[playerid] = 1;
  1060.             playerinminigame[playerid] = 1;
  1061.             tdmrank++;
  1062.             TogglePlayerControllable(playerid, 0);
  1063.             SetPlayerInterior(playerid,0);
  1064.             SetPlayerVirtualWorld(playerid,7);
  1065.             SetPlayerPos(playerid,208.8376,1863.5388,13.1406);
  1066.             ResetPlayerWeapons(playerid);
  1067.             GivePlayerWeapon(playerid,26,50000);
  1068.             GivePlayerWeapon(playerid,24,50000);
  1069.             GivePlayerWeapon(playerid,31,50000);
  1070.             GivePlayerWeapon(playerid,32,50000);
  1071.             SetPlayerHealth(playerid,100);
  1072.             SetPlayerArmour(playerid,100);
  1073.             oldplayercolor[playerid] = GetPlayerColor(playerid);
  1074.             SetPlayerColor(playerid,0x0000BBAA);// BLUE
  1075.             blueplayers++;
  1076.             tdmcolor = 1;
  1077.             format(string, sizeof(string), "%s se juntou à equipe de MS, a equipe azul", pname);//
  1078.             SendClientMessageToAll(0x33AA33AA,string);
  1079.             return 1;
  1080.         }
  1081.     }
  1082.     if(strcmp(cmd, "/lvdm", true) == 0)
  1083.     {
  1084.         if(dmplaying == 1)
  1085.         {
  1086.             SendClientMessage(playerid, 0xB4B5B7AA, "O LVDM já começou");
  1087.             return 1;
  1088.         }
  1089.         if(playerinminigame[playerid] == 1)
  1090.         {
  1091.             SendClientMessage(playerid, 0xB4B5B7AA, "Você já está em um minigame");
  1092.             return 1;
  1093.         }
  1094.         new pname[256];
  1095.         GetPlayerName(playerid, pname, 256);
  1096.         if(dmon == 0)
  1097.         {
  1098.             dmon = 1;
  1099.             playerindm[playerid] = 1;
  1100.             playerinminigame[playerid] = 1;
  1101.             dmrank = 1;
  1102.             TogglePlayerControllable(playerid, 0);
  1103.             SetPlayerInterior(playerid,0);
  1104.             SetPlayerVirtualWorld(playerid,7);
  1105.             SetPlayerPos(playerid,lvdmspawns[0][0],lvdmspawns[0][1],lvdmspawns[0][2]);
  1106.             ResetPlayerWeapons(playerid);
  1107.             GivePlayerWeapon(playerid,26,50000);
  1108.             GivePlayerWeapon(playerid,32,50000);
  1109.             GivePlayerWeapon(playerid,31,50000);
  1110.             SetPlayerHealth(playerid,100);
  1111.             SetPlayerArmour(playerid,100);
  1112.             startvar[2] = 1;
  1113.             dmtimer = SetTimer("Startdm", 60000, 0);
  1114.             format(string, sizeof(string), "%s iniciou um LVDM, você tem um minuto para escrever /LVDM e juntar-se", pname);//
  1115.             SendClientMessageToAll(0x33AA33AA,string);
  1116.             return 1;
  1117.         } else if(dmon == 1 && dmrank <= 15) {
  1118.             playerindm[playerid] = 1;
  1119.             TogglePlayerControllable(playerid, 0);
  1120.             SetPlayerInterior(playerid,0);
  1121.             SetPlayerVirtualWorld(playerid,7);
  1122.             SetPlayerPos(playerid,lvdmspawns[dmrank][0],lvdmspawns[dmrank][1],lvdmspawns[dmrank][2]);
  1123.             dmrank++;
  1124.             ResetPlayerWeapons(playerid);
  1125.             GivePlayerWeapon(playerid,26,50000);
  1126.             GivePlayerWeapon(playerid,32,50000);
  1127.             GivePlayerWeapon(playerid,31,50000);
  1128.             SetPlayerHealth(playerid,100);
  1129.             SetPlayerArmour(playerid,100);
  1130.             format(string, sizeof(string), "%s foi ao LVDM", pname);//
  1131.             SendClientMessageToAll(0x33AA33AA,string);
  1132.             return 1;
  1133.         } else if(dmon == 1 && dmrank == 16) {
  1134.             format(string, sizeof(string), "O LVDM está cheio, espere o próximo LVDM");//
  1135.             SendClientMessage(playerid,0x33AA33AA,string);
  1136.         }
  1137.     }
  1138.  
  1139.     if(strcmp(cmd, "/qderby", true) == 0)
  1140.     {
  1141.         if(qderbyplaying == 1)
  1142.         {
  1143.             SendClientMessage(playerid, 0xB4B5B7AA, "O derby já começou");
  1144.             return 1;
  1145.         }
  1146.         if(playerinminigame[playerid] == 1)
  1147.         {
  1148.             SendClientMessage(playerid, 0xB4B5B7AA, "Voce já esta em um minigame");
  1149.             return 1;
  1150.         }
  1151.         new pname[256];
  1152.         GetPlayerName(playerid, pname, 256);
  1153.         if(qderbyon == 0)
  1154.         {
  1155.             Respawnqbloodrings();
  1156.             qderbyon = 1;
  1157.             playerinminigame[playerid] = 1;
  1158.             playerinqderby[playerid] = 1;
  1159.             qderbyrank = 1;
  1160.             SetPlayerInterior(playerid,0);
  1161.             SetPlayerVirtualWorld(playerid,7);
  1162.             SetVehicleVirtualWorld(qbloodring[0],7);
  1163.             qbloodringfull[0] = 1;
  1164.             PutPlayerInVehicle(playerid, qbloodring[0], 0);
  1165.             playerinqbloodring[playerid] = 0;
  1166.             TogglePlayerControllable(playerid, 0);
  1167.             startvar[3] = 1;
  1168.             qdtimer = SetTimer("StartqDerby", 60000, 0);
  1169.             format(string, sizeof(string), "%s iniciou um derby pedreira, você tem um minuto para digitar, /qderby e juntar-se", pname);//
  1170.             SendClientMessageToAll(0x33AA33AA,string);
  1171.             return 1;
  1172.         } else if(qderbyon == 1 && qderbyrank < 15) {
  1173.             playerinminigame[playerid] = 1;
  1174.             playerinqderby[playerid] = 1;
  1175.             qderbyrank++;
  1176.             SetPlayerInterior(playerid,0);
  1177.             for(new i=0; i<15; i++)
  1178.             {
  1179.                 if(qbloodringfull[i] == 0)
  1180.                 {
  1181.                     SetPlayerVirtualWorld(playerid,7);
  1182.                     SetVehicleVirtualWorld(qbloodring[i],7);
  1183.                     qbloodringfull[i] = 1;
  1184.                     PutPlayerInVehicle(playerid, qbloodring[i], 0);
  1185.                     TogglePlayerControllable(playerid, 0);
  1186.                     playerinqbloodring[playerid] = i;
  1187.                     format(string, sizeof(string), "%s foi ao derby pedreira", pname);//
  1188.                     SendClientMessageToAll(0x33AA33AA,string);
  1189.                     return 1;
  1190.                 }
  1191.             }
  1192.         } else if(qderbyon == 1 && qderbyrank >= 15) {
  1193.             format(string, sizeof(string), "O derby pedreira está cheio, espere a próxima rodada", pname);//
  1194.             SendClientMessage(playerid,0x33AA33AA,string);
  1195.             return 1;
  1196.         }
  1197.     }
  1198.  
  1199.     if(strcmp(cmd, "/boxing", true) == 0)
  1200.     {
  1201.         if(boxplaying == 1)
  1202.         {
  1203.             SendClientMessage(playerid, 0xB4B5B7AA, "A luta de boxe já começou");
  1204.             return 1;
  1205.         }
  1206.         if(playerinminigame[playerid] == 1)
  1207.         {
  1208.             SendClientMessage(playerid, 0xB4B5B7AA, "Você já está em um minigame");
  1209.             return 1;
  1210.         }
  1211.         new pname[256];
  1212.         GetPlayerName(playerid, pname, 256);
  1213.         if(boxon == 0)
  1214.         {
  1215.             boxon = 1;
  1216.             playerinbox[playerid] = 1;
  1217.             playerinminigame[playerid] = 1;
  1218.             boxrank = 1;
  1219.             TogglePlayerControllable(playerid, 0);
  1220.             SetPlayerInterior(playerid,0);
  1221.             SetPlayerVirtualWorld(playerid,7);
  1222.             SetPlayerPos(playerid,2496.479,-1678.357,6997.348);
  1223.             ResetPlayerWeapons(playerid);
  1224.             SetPlayerHealth(playerid,50);
  1225.             startvar[4] = 1;
  1226.             boxtimer = SetTimer("StartBox", 60000, 0);
  1227.             format(string, sizeof(string), "%s deu início a uma luta de boxe, você tem um minuto para escrever /boxe e juntar-se", pname);//
  1228.             SendClientMessageToAll(0x33AA33AA,string);
  1229.             return 1;
  1230.         } else if(boxon == 1) {
  1231.             playerinbox[playerid] = 1;
  1232.             TogglePlayerControllable(playerid, 0);
  1233.             SetPlayerInterior(playerid,0);
  1234.             SetPlayerVirtualWorld(playerid,7);
  1235.             SetPlayerPos(playerid,2496.479,-1678.357,6997.348);
  1236.             boxrank++;
  1237.             ResetPlayerWeapons(playerid);
  1238.             SetPlayerHealth(playerid,50);
  1239.             format(string, sizeof(string), "%s juntou-se à luta de boxe", pname);//
  1240.             SendClientMessageToAll(0x33AA33AA,string);
  1241.             return 1;
  1242.         }
  1243.     }
  1244.     if(strcmp(cmd, "/sdive", true) == 0)
  1245.     {
  1246.         if(sdplaying == 1)
  1247.         {
  1248.             SendClientMessage(playerid, 0xB4B5B7AA, "O Skydive já começou");
  1249.             return 1;
  1250.         }
  1251.         if(playerinminigame[playerid] == 1)
  1252.         {
  1253.             SendClientMessage(playerid, 0xB4B5B7AA, "Você já está em um minigame");
  1254.             return 1;
  1255.         }
  1256.         new pname[256];
  1257.         GetPlayerName(playerid, pname, 256);
  1258.         if(sdon == 0)
  1259.         {
  1260.             sdon = 1;
  1261.             playerinsd[playerid] = 1;
  1262.             playerinminigame[playerid] = 1;
  1263.             sdrank = 1;
  1264.             sdfirst = 1;
  1265.             TogglePlayerControllable(playerid, 0);
  1266.             SetPlayerInterior(playerid,0);
  1267.             SetPlayerVirtualWorld(playerid,7);
  1268.             SetPlayerPos(playerid,-1753.7169,884.6819,1000.000);
  1269.             GivePlayerWeapon(playerid,46,1);
  1270.             startvar[5] = 1;
  1271.             sdtimer = SetTimer("StartSd", 60000, 0);
  1272.             SetPlayerRaceCheckpoint(playerid,0,-1753.7169,884.6819,295.8750,-1753.7169,884.6819,290.8750,1);
  1273.             format(string, sizeof(string), "%s iniciou um skydive, você tem um minuto para escrever /sdive e juntar-se", pname);//
  1274.             SendClientMessageToAll(0x33AA33AA,string);
  1275.             return 1;
  1276.         } else if(sdon == 1) {
  1277.             playerinsd[playerid] = 1;
  1278.             TogglePlayerControllable(playerid, 0);
  1279.             SetPlayerInterior(playerid,0);
  1280.             SetPlayerVirtualWorld(playerid,7);
  1281.             SetPlayerPos(playerid,-1753.7169,884.6819,1000.000);
  1282.             sdrank++;
  1283.             GivePlayerWeapon(playerid,46,1);
  1284.             SetPlayerRaceCheckpoint(playerid,0,-1753.7169,884.6819,295.8750,-1753.7169,884.6819,290.8750,1);
  1285.             format(string, sizeof(string), "%s foi ao skydive", pname);//
  1286.             SendClientMessageToAll(0x33AA33AA,string);
  1287.             return 1;
  1288.         }
  1289.     }
  1290.  
  1291.     if(strcmp(cmd, "/kartrace", true) == 0)
  1292.     {
  1293.         if(kartplaying == 1)
  1294.         {
  1295.             SendClientMessage(playerid, 0xB4B5B7AA, "A corrida de kart já começou");
  1296.             return 1;
  1297.         }
  1298.         if(playerinminigame[playerid] == 1)
  1299.         {
  1300.             SendClientMessage(playerid, 0xB4B5B7AA, "Você já está em um minigame");
  1301.             return 1;
  1302.         }
  1303.         new pname[256];
  1304.         GetPlayerName(playerid, pname, 256);
  1305.         if(karton == 0)
  1306.         {
  1307.             karton = 1;
  1308.             playerinminigame[playerid] = 1;
  1309.             playerinkartrace[playerid] = 1;
  1310.             kartrank = 1;
  1311.             krtfirst = 1;
  1312.             currentcheckpoint[playerid] = 0;
  1313.             SetPlayerInterior(playerid,15);
  1314.             SetPlayerVirtualWorld(playerid,7);
  1315.             SetVehicleVirtualWorld(karts[0],7);
  1316.             kartfull[0] = 1;
  1317.             PutPlayerInVehicle(playerid, karts[0], 0);
  1318.             playerinkart[playerid] = 0;
  1319.             TogglePlayerControllable(playerid, 0);
  1320.             SetPlayerRaceCheckpoint(playerid,0,kcps[0][0],kcps[0][1],kcps[0][2],kcps[1][0],kcps[1][1],kcps[1][2],20);
  1321.             startvar[6] = 1;
  1322.             krttimer = SetTimer("StartKart", 60000, 0);
  1323.             format(string, sizeof(string), "%s deu início a uma corrida de kart, você tem um minuto para escrever / kartrace e juntar-se", pname);//
  1324.             SendClientMessageToAll(0x33AA33AA,string);
  1325.             return 1;
  1326.         } else if(karton == 1 && kartrank < 15) {
  1327.             playerinminigame[playerid] = 1;
  1328.             playerinkartrace[playerid] = 1;
  1329.             kartrank++;
  1330.             currentcheckpoint[playerid] = 0;
  1331.             SetPlayerInterior(playerid,15);
  1332.             for(new i=0; i<15; i++)
  1333.             {
  1334.                 if(kartfull[i] == 0)
  1335.                 {
  1336.                     SetPlayerVirtualWorld(playerid,7);
  1337.                     SetVehicleVirtualWorld(karts[i],7);
  1338.                     kartfull[i] = 1;
  1339.                     PutPlayerInVehicle(playerid, karts[i], 0);
  1340.                     TogglePlayerControllable(playerid, 0);
  1341.                     SetPlayerRaceCheckpoint(playerid,0,kcps[0][0],kcps[0][1],kcps[0][2],kcps[1][0],kcps[1][1],kcps[1][2],20);
  1342.                     playerinkart[playerid] = i;
  1343.                     format(string, sizeof(string), "%s juntou-se a corrida de kart", pname);//
  1344.                     SendClientMessageToAll(0x33AA33AA,string);
  1345.                     return 1;
  1346.                 }
  1347.             }
  1348.         } else if(karton == 1 && kartrank >= 15) {
  1349.             format(string, sizeof(string), "A corrida de kart está cheia, esperar para a próxima rodada", pname);//
  1350.             SendClientMessage(playerid,0x33AA33AA,string);
  1351.             return 1;
  1352.         }
  1353.     }
  1354.  
  1355.     if(strcmp(cmd, "/srace", true) == 0)
  1356.     {
  1357.         if(srplaying == 1)
  1358.         {
  1359.             SendClientMessage(playerid, 0xB4B5B7AA, "A corrida do estádio já começou");
  1360.             return 1;
  1361.         }
  1362.         if(playerinminigame[playerid] == 1)
  1363.         {
  1364.             SendClientMessage(playerid, 0xB4B5B7AA, "Você já está em um minigame");
  1365.             return 1;
  1366.         }
  1367.         new pname[256];
  1368.         GetPlayerName(playerid, pname, 256);
  1369.         if(sron == 0)
  1370.         {
  1371.             sron = 1;
  1372.             playerinminigame[playerid] = 1;
  1373.             playerinsr[playerid] = 1;
  1374.             srrank = 1;
  1375.             srfirst = 1;
  1376.             currentracecheckpoint[playerid] = 0;
  1377.             SetPlayerInterior(playerid,4);
  1378.             SetPlayerVirtualWorld(playerid,7);
  1379.             SetVehicleVirtualWorld(nrg[0],7);
  1380.             nrgfull[0] = 1;
  1381.             PutPlayerInVehicle(playerid, nrg[0], 0);
  1382.             playerinnrg[playerid] = 0;
  1383.             TogglePlayerControllable(playerid, 0);
  1384.             SetPlayerRaceCheckpoint(playerid,0,srcps[0][0],srcps[0][1],srcps[0][2],srcps[1][0],srcps[1][1],srcps[1][2],10);
  1385.             startvar[7] = 1;
  1386.             srtimer = SetTimer("StartSr", 60000, 0);
  1387.             format(string, sizeof(string), "%s deu início a corrida do estádio, você tem um minuto para escrever /srace e juntar-se", pname);//
  1388.             SendClientMessageToAll(0x33AA33AA,string);
  1389.             return 1;
  1390.         } else if(sron == 1 && srrank < 15) {
  1391.             playerinminigame[playerid] = 1;
  1392.             playerinsr[playerid] = 1;
  1393.             srrank++;
  1394.             currentracecheckpoint[playerid] = 0;
  1395.             SetPlayerInterior(playerid,4);
  1396.             for(new i=0; i<15; i++)
  1397.             {
  1398.                 if(nrgfull[i] == 0)
  1399.                 {
  1400.                     SetPlayerVirtualWorld(playerid,7);
  1401.                     SetVehicleVirtualWorld(nrg[i],7);
  1402.                     nrgfull[i] = 1;
  1403.                     PutPlayerInVehicle(playerid, nrg[i], 0);
  1404.                     TogglePlayerControllable(playerid, 0);
  1405.                     SetPlayerRaceCheckpoint(playerid,0,srcps[0][0],srcps[0][1],srcps[0][2],srcps[1][0],srcps[1][1],srcps[1][2],10);
  1406.                     playerinnrg[playerid] = i;
  1407.                     format(string, sizeof(string), "%s juntou-se a corrida do estádio", pname);//
  1408.                     SendClientMessageToAll(0x33AA33AA,string);
  1409.                     return 1;
  1410.                 }
  1411.             }
  1412.         } else if(sron == 1 && srrank >= 15) {
  1413.             format(string, sizeof(string), "A corrida do estádio está cheio, espere a próxima rodada", pname);//
  1414.             SendClientMessage(playerid,0x33AA33AA,string);
  1415.             return 1;
  1416.         }
  1417.     }
  1418.  
  1419.     return 0;
  1420. }
  1421.  
  1422. public OnPlayerInfoChange(playerid)
  1423. {
  1424.     return 1;
  1425. }
  1426.  
  1427. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  1428. {
  1429.     return 1;
  1430. }
  1431.  
  1432. public OnPlayerExitVehicle(playerid, vehicleid)
  1433. {
  1434.     return 1;
  1435. }
  1436.  
  1437. public OnPlayerStateChange(playerid, newstate, oldstate)
  1438. {
  1439.     if(newstate == 2)
  1440.     {
  1441.         playercarid[playerid] = GetPlayerVehicleID(playerid);
  1442.     }
  1443.     if(oldstate == 2)
  1444.     {
  1445.         if(playerinderby[playerid] || playerinqderby[playerid] || playerinkartrace[playerid] || playerinsr[playerid])
  1446.         {
  1447.             PutPlayerInVehicle(playerid,playercarid[playerid],0);
  1448.         }
  1449.     }
  1450.     return 1;
  1451. }
  1452.  
  1453. public OnPlayerEnterCheckpoint(playerid)
  1454. {
  1455.     return 1;
  1456. }
  1457.  
  1458. public OnPlayerLeaveCheckpoint(playerid)
  1459. {
  1460.     return 1;
  1461. }
  1462.  
  1463. public OnPlayerEnterRaceCheckpoint(playerid)
  1464. {
  1465.     if(playerinsd[playerid])
  1466.     {
  1467.         SetTimerEx("SdFinish",2000,0,"i",playerid);
  1468.     } else if(playerinkartrace[playerid]) {
  1469.         if(currentcheckpoint[playerid] <= 2)
  1470.         {
  1471.             currentcheckpoint[playerid]++;
  1472.             DisablePlayerRaceCheckpoint(playerid);
  1473.             SetPlayerRaceCheckpoint(playerid,0,kcps[currentcheckpoint[playerid]][0],kcps[currentcheckpoint[playerid]][1],kcps[currentcheckpoint[playerid]][2],
  1474.             kcps[currentcheckpoint[playerid]+1][0],kcps[currentcheckpoint[playerid]+1][1],kcps[currentcheckpoint[playerid]+1][2],20);
  1475.         } else if(currentcheckpoint[playerid] >= 3 && currentcheckpoint[playerid] != 7) {
  1476.             currentcheckpoint[playerid]++;
  1477.             DisablePlayerRaceCheckpoint(playerid);
  1478.             SetPlayerRaceCheckpoint(playerid,0,kcps[currentcheckpoint[playerid]-4][0],kcps[currentcheckpoint[playerid]-4][1],
  1479.             kcps[currentcheckpoint[playerid]-4][2],kcps[currentcheckpoint[playerid]-3][0],kcps[currentcheckpoint[playerid]-3][1],
  1480.             kcps[currentcheckpoint[playerid]-3][2],20);
  1481.         } else if(currentcheckpoint[playerid] == 7) {
  1482.             if(krtfirst == 1)
  1483.             {
  1484.                 DisablePlayerRaceCheckpoint(playerid);
  1485.                 new string[256];
  1486.                 krtfirst++;
  1487.                 kartrank--;
  1488.                 new winnername[256];
  1489.                 GetPlayerName(playerid,winnername, sizeof(winnername));
  1490.                 RewardCalc(playerid,5000,10000);
  1491.                 format(string, sizeof(string), "%s ganhou a corrida de kart e ganhou $%d", winnername, reward);
  1492.                 SendClientMessageToAll(0x33AA33AA, string);
  1493.                 GivePlayerMoney(playerid,reward);
  1494.                 playerinkartrace[playerid] = 0;
  1495.                 playerinminigame[playerid] = 0;
  1496.                 currentcheckpoint[playerid] = 0;
  1497.                 SetPlayerVirtualWorld(playerid,0);
  1498.                 SetPlayerInterior(playerid, 0);
  1499.                 SetPlayerPos(playerid, spawnX, spawnY, spawnZ);
  1500.                 if(kartrank == 0)
  1501.                 {
  1502.                     KrtFinish();
  1503.                 } else {
  1504.                     SetTimer("KrtFinish",60000,0);
  1505.                 }
  1506.             } else {
  1507.                 DisablePlayerRaceCheckpoint(playerid);
  1508.                 playerinkartrace[playerid] = 0;
  1509.                 playerinminigame[playerid] = 0;
  1510.                 currentcheckpoint[playerid] = 0;
  1511.                 SetPlayerVirtualWorld(playerid,0);
  1512.                 SetPlayerInterior(playerid, 0);
  1513.                 SetPlayerPos(playerid, spawnX, spawnY, spawnZ);
  1514.                 if(kartrank == 0)
  1515.                 {
  1516.                     KrtFinish();
  1517.                 } else {
  1518.                     SetTimer("KrtFinish",60000,0);
  1519.                 }
  1520.             }
  1521.         }
  1522.     } else if(playerinsr[playerid]) {
  1523.         if(currentracecheckpoint[playerid] <= 7)
  1524.         {
  1525.             currentracecheckpoint[playerid]++;
  1526.             DisablePlayerRaceCheckpoint(playerid);
  1527.             SetPlayerRaceCheckpoint(playerid,0,srcps[currentracecheckpoint[playerid]][0],srcps[currentracecheckpoint[playerid]][1],
  1528.             srcps[currentracecheckpoint[playerid]][2],srcps[currentracecheckpoint[playerid]+1][0],srcps[currentracecheckpoint[playerid]+1][1],
  1529.             srcps[currentracecheckpoint[playerid]+1][2],10);
  1530.         } else if(currentracecheckpoint[playerid] == 8) {
  1531.             if(srfirst == 1)
  1532.             {
  1533.                 DisablePlayerRaceCheckpoint(playerid);
  1534.                 new string[256];
  1535.                 srfirst++;
  1536.                 srrank--;
  1537.                 new winnername[256];
  1538.                 GetPlayerName(playerid,winnername, sizeof(winnername));
  1539.                 RewardCalc(playerid,5000,10000);
  1540.                 format(string, sizeof(string), "%s ganhou a corrida do estádio e ganhou $%d", winnername, reward);
  1541.                 SendClientMessageToAll(0x33AA33AA, string);
  1542.                 GivePlayerMoney(playerid,reward);
  1543.                 playerinsr[playerid] = 0;
  1544.                 playerinminigame[playerid] = 0;
  1545.                 currentracecheckpoint[playerid] = 0;
  1546.                 SetPlayerVirtualWorld(playerid,0);
  1547.                 SetPlayerInterior(playerid, 0);
  1548.                 SetPlayerPos(playerid, spawnX, spawnY, spawnZ);
  1549.                 if(srrank == 0)
  1550.                 {
  1551.                     SrFinish();
  1552.                 } else {
  1553.                     SetTimer("SrFinish",60000,0);
  1554.                 }
  1555.             } else {
  1556.                 DisablePlayerRaceCheckpoint(playerid);
  1557.                 playerinsr[playerid] = 0;
  1558.                 playerinminigame[playerid] = 0;
  1559.                 currentracecheckpoint[playerid] = 0;
  1560.                 SetPlayerVirtualWorld(playerid,0);
  1561.                 SetPlayerInterior(playerid, 0);
  1562.                 SetPlayerPos(playerid, spawnX, spawnY, spawnZ);
  1563.                 if(srrank == 0)
  1564.                 {
  1565.                     SrFinish();
  1566.                 } else {
  1567.                     SetTimer("SrFinish",60000,0);
  1568.                 }
  1569.             }
  1570.         }
  1571.     }
  1572.     return 1;
  1573. }
  1574.  
  1575. public OnPlayerLeaveRaceCheckpoint(playerid)
  1576. {
  1577.     return 1;
  1578. }
  1579.  
  1580. public OnRconCommand(cmd[])
  1581. {
  1582.     return 1;
  1583. }
  1584.  
  1585. public OnObjectMoved(objectid)
  1586. {
  1587.     return 1;
  1588. }
  1589.  
  1590. public OnPlayerObjectMoved(playerid, objectid)
  1591. {
  1592.     return 1;
  1593. }
  1594.  
  1595. public OnPlayerPickUpPickup(playerid, pickupid)
  1596. {
  1597.     return 1;
  1598. }
  1599.  
  1600. public OnPlayerSelectedMenuRow(playerid, row)
  1601. {
  1602.     return 1;
  1603. }
  1604.  
  1605. public OnPlayerExitedMenu(playerid)
  1606. {
  1607.     return 1;
  1608. }
  1609.  
  1610. public Spawnbloodrings()
  1611. {
  1612.     for(new i=0; i<15; i++)
  1613.     {
  1614.         bloodring[i] = CreateVehicle(504,derbycars[i][0],derbycars[i][1],derbycars[i][2],derbycars[i][3],-1,-1,-1);
  1615.         LinkVehicleToInterior(bloodring[i],15);
  1616.         SetVehicleVirtualWorld(bloodring[i],1);
  1617.         bloodringfull[i] = 0;
  1618.     }
  1619.     return 1;
  1620. }
  1621.  
  1622. public Destroybloodrings()
  1623. {
  1624.     for(new i=0; i<15; i++)
  1625.     {
  1626.         DestroyVehicle(bloodring[i]);
  1627.         bloodringfull[i] = 0;
  1628.     }
  1629. }
  1630.  
  1631. public Respawnbloodrings()
  1632. {
  1633.     for(new i=0; i<15; i++)
  1634.     {
  1635.         SetVehicleToRespawn(bloodring[i]);
  1636.         SetVehicleVirtualWorld(bloodring[i],1);
  1637.         bloodringfull[i] = 0;
  1638.     }
  1639. }
  1640.  
  1641. public Spawnqbloodrings()
  1642. {
  1643.     for(new i=0; i<15; i++)
  1644.     {
  1645.         qbloodring[i] = CreateVehicle(504,qderbycars[i][0],qderbycars[i][1],qderbycars[i][2],qderbycars[i][3],-1,-1,-1);
  1646.         SetVehicleVirtualWorld(qbloodring[i],1);
  1647.         qbloodringfull[i] = 0;
  1648.     }
  1649.     return 1;
  1650. }
  1651.  
  1652. public Destroyqbloodrings()
  1653. {
  1654.     for(new i=0; i<15; i++)
  1655.     {
  1656.         DestroyVehicle(qbloodring[i]);
  1657.         qbloodringfull[i] = 0;
  1658.     }
  1659. }
  1660.  
  1661. public Respawnqbloodrings()
  1662. {
  1663.     for(new i=0; i<15; i++)
  1664.     {
  1665.         SetVehicleToRespawn(qbloodring[i]);
  1666.         SetVehicleVirtualWorld(qbloodring[i],1);
  1667.         qbloodringfull[i] = 0;
  1668.     }
  1669. }
  1670.  
  1671. public SpawnKarts()
  1672. {
  1673.     for(new i=0; i<15; i++)
  1674.     {
  1675.         karts[i] = CreateVehicle(571,kartspawns[i][0],kartspawns[i][1],kartspawns[i][2],kartspawns[i][3],-1,-1,-1);
  1676.         LinkVehicleToInterior(karts[i],15);
  1677.         SetVehicleVirtualWorld(karts[i],1);
  1678.         kartfull[i] = 0;
  1679.     }
  1680.     return 1;
  1681. }
  1682.  
  1683. public DestroyKarts()
  1684. {
  1685.     for(new i=0; i<15; i++)
  1686.     {
  1687.         DestroyVehicle(karts[i]);
  1688.         kartfull[i] = 0;
  1689.     }
  1690. }
  1691.  
  1692. public RespawnKarts()
  1693. {
  1694.     for(new i=0; i<15; i++)
  1695.     {
  1696.         SetVehicleToRespawn(karts[i]);
  1697.         SetVehicleVirtualWorld(karts[i],1);
  1698.         kartfull[i] = 0;
  1699.     }
  1700. }
  1701.  
  1702. public SpawnNrgs()
  1703. {
  1704.     for(new i=0; i<15; i++)
  1705.     {
  1706.         nrg[i] = CreateVehicle(522,nrgspawns[i][0],nrgspawns[i][1],nrgspawns[i][2],nrgspawns[i][3],-1,-1,-1);
  1707.         LinkVehicleToInterior(nrg[i],4);
  1708.         SetVehicleVirtualWorld(nrg[i],1);
  1709.         nrgfull[i] = 0;
  1710.     }
  1711.     return 1;
  1712. }
  1713.  
  1714. public DestroyNrgs()
  1715. {
  1716.     for(new i=0; i<15; i++)
  1717.     {
  1718.         DestroyVehicle(nrg[i]);
  1719.         nrgfull[i] = 0;
  1720.     }
  1721. }
  1722.  
  1723. public RespawnNrgs()
  1724. {
  1725.     for(new i=0; i<15; i++)
  1726.     {
  1727.         SetVehicleToRespawn(nrg[i]);
  1728.         SetVehicleVirtualWorld(nrg[i],1);
  1729.         nrgfull[i] = 0;
  1730.     }
  1731. }
  1732.  
  1733. strtok(const string[], &index)
  1734. {
  1735.     new length = strlen(string);
  1736.     while ((index < length) && (string[index] <= ' '))
  1737.     {
  1738.         index++;
  1739.     }
  1740.  
  1741.     new offset = index;
  1742.     new result[20];
  1743.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  1744.     {
  1745.         result[index - offset] = string[index];
  1746.         index++;
  1747.     }
  1748.     result[index - offset] = EOS;
  1749.     return result;
  1750. }
  1751.  
  1752. public StartDerby()
  1753. {
  1754.     new delay = 1000;
  1755.     new string[32];
  1756.     if(startvar[0] == 1)
  1757.     {
  1758.         if( derbyrank <= 1 )
  1759.         {
  1760.             SendClientMessageToAll(0x33AA33AA, "Derby cancelado. Motivo: jogadores Insuficientes (Minimo = 2)");
  1761.             derbyplaying = 0;
  1762.             derbyrank = 0;
  1763.             derbyon = 0;
  1764.             startvar[0] = 0;
  1765.             Respawnbloodrings();
  1766.             for(new i = 0; i <= MAX_PLAYERS; i++)
  1767.             {
  1768.                 if(IsPlayerConnected(i))
  1769.                 {
  1770.                     if (playerinderby[i] == 1)
  1771.                     {
  1772.                         playerinderby[i] = 0;
  1773.                         playerinminigame[i] = 0;
  1774.                         playerinbloodring[i] = -1;
  1775.                         SetPlayerVirtualWorld(i,0);
  1776.                         SetPlayerInterior(i, 0);
  1777.                         SetPlayerPos(i, spawnX, spawnY, spawnZ);
  1778.                         TogglePlayerControllable(i, 1);
  1779.                     }
  1780.                 }
  1781.             }
  1782.             return 1;
  1783.         }
  1784.         format(string, sizeof(string), "~r~3");
  1785.         derbyplaying = 1;
  1786.         for(new i = 0; i <= MAX_PLAYERS; i++)
  1787.         {
  1788.             if(IsPlayerConnected(i))
  1789.             {
  1790.                 if (playerinderby[i] == 1)
  1791.                 {
  1792.                     GameTextForPlayer(i, string, delay, 6);
  1793.                     PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  1794.                 }
  1795.             }
  1796.         }
  1797.         startvar[0] = 2;
  1798.         SetTimer("StartDerby", delay, 0);
  1799.     } else if(startvar[0] == 2) {
  1800.         format(string, sizeof(string), "~r~2");
  1801.         for(new i = 0; i <= MAX_PLAYERS; i++)
  1802.         {
  1803.             if(IsPlayerConnected(i))
  1804.             {
  1805.                 if (playerinderby[i] == 1)
  1806.                 {
  1807.                     GameTextForPlayer(i, string, delay, 6);
  1808.                     PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  1809.                 }
  1810.             }
  1811.         }
  1812.         startvar[0] = 3;
  1813.         SetTimer("StartDerby", delay, 0);
  1814.     } else if(startvar[0] == 3) {
  1815.         format(string, sizeof(string), "~g~1");
  1816.         for(new i = 0; i <= MAX_PLAYERS; i++)
  1817.         {
  1818.             if(IsPlayerConnected(i))
  1819.             {
  1820.                 if (playerinderby[i] == 1)
  1821.                 {
  1822.                     GameTextForPlayer(i, string, delay, 6);
  1823.                     PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
  1824.                     TogglePlayerControllable(i, 1);
  1825.                 }
  1826.             }
  1827.         }
  1828.         startvar[0] = 0;
  1829.     }
  1830.     return 1;
  1831. }
  1832.  
  1833. public Starttdm()
  1834. {
  1835.     new delay=1000;
  1836.     new string[32];
  1837.     if(startvar[1] == 1)
  1838.     {
  1839.         if( tdmrank <= 1 )
  1840.         {
  1841.             SendClientMessageToAll(0x33AA33AA, "Evento DM cancelado. Motivo: Jogadores Insuficientes.(Minimo = 2)");
  1842.             tdmplaying = 0;
  1843.             tdmrank = 0;
  1844.             tdmon = 0;
  1845.             startvar[1] = 0;
  1846.             for(new i = 0; i <= MAX_PLAYERS; i++)
  1847.             {
  1848.                 if(IsPlayerConnected(i))
  1849.                 {
  1850.                     if (playerintdm[i] == 1)
  1851.                     {
  1852.                         playerintdm[i] = 0;
  1853.                         playerinminigame[i] = 0;
  1854.                         SetPlayerVirtualWorld(i,0);
  1855.                         SetPlayerInterior(i, 0);
  1856.                         SetPlayerPos(i, spawnX, spawnY, spawnZ);
  1857.                         TogglePlayerControllable(i, 1);
  1858.                     }
  1859.                 }
  1860.             }
  1861.             return 1;
  1862.         }
  1863.         format(string, sizeof(string), "~r~3");
  1864.         tdmplaying = 1;
  1865.         for(new i = 0; i <= MAX_PLAYERS; i++)
  1866.         {
  1867.             if(IsPlayerConnected(i))
  1868.             {
  1869.                 if (playerintdm[i] == 1)
  1870.                 {
  1871.                     GameTextForPlayer(i, string, delay, 6);
  1872.                     PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  1873.                 }
  1874.             }
  1875.         }
  1876.         startvar[1] = 2;
  1877.         SetTimer("Starttdm", delay, 0);
  1878.     } else if(startvar[1] == 2) {
  1879.         format(string, sizeof(string), "~r~2");
  1880.         for(new i = 0; i <= MAX_PLAYERS; i++)
  1881.         {
  1882.             if(IsPlayerConnected(i))
  1883.             {
  1884.                 if (playerintdm[i] == 1)
  1885.                 {
  1886.                     GameTextForPlayer(i, string, delay, 6);
  1887.                     PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  1888.                 }
  1889.             }
  1890.         }
  1891.         startvar[1] = 3;
  1892.         SetTimer("Starttdm", delay, 0);
  1893.     } else if(startvar[1] == 3) {
  1894.         format(string, sizeof(string), "~g~1!");
  1895.         for(new i = 0; i <= MAX_PLAYERS; i++)
  1896.         {
  1897.             if(IsPlayerConnected(i))
  1898.             {
  1899.                 if (playerintdm[i] == 1)
  1900.                 {
  1901.                     GameTextForPlayer(i, string, delay, 6);
  1902.                     PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
  1903.                     TogglePlayerControllable(i, 1);
  1904.                 }
  1905.             }
  1906.         }
  1907.         startvar[1] = 0;
  1908.     }
  1909.     return 1;
  1910. }
  1911.  
  1912. public Startdm()
  1913. {
  1914.     if(startvar[2] == 1)
  1915.     {
  1916.         if( dmrank <= 1 )
  1917.         {
  1918.             SendClientMessageToAll(0x33AA33AA, "LVDM cancelado. Motivo: Jogadores Insuficientes (Minimo = 2)");
  1919.             dmplaying = 0;
  1920.             dmrank = 0;
  1921.             dmon = 0;
  1922.             startvar[2] = 0;
  1923.             for(new i = 0; i <= MAX_PLAYERS; i++)
  1924.             {
  1925.                 if(IsPlayerConnected(i))
  1926.                 {
  1927.                     if (playerindm[i] == 1)
  1928.                     {
  1929.                         playerindm[i] = 0;
  1930.                         playerinminigame[i] = 0;
  1931.                         SetPlayerVirtualWorld(i,0);
  1932.                         SetPlayerInterior(i, 0);
  1933.                         SetPlayerPos(i, spawnX, spawnY, spawnZ);
  1934.                         TogglePlayerControllable(i, 1);
  1935.                     }
  1936.                 }
  1937.             }
  1938.             return 1;
  1939.         }
  1940.         new string[32];
  1941.         format(string, sizeof(string), "~r~3");
  1942.         new gdelay=1000;
  1943.         dmplaying = 1;
  1944.         for(new i = 0; i <= MAX_PLAYERS; i++)
  1945.         {
  1946.             if(IsPlayerConnected(i))
  1947.             {
  1948.                 if (playerindm[i] == 1)
  1949.                 {
  1950.                     GameTextForPlayer(i, string, gdelay, 6);
  1951.                     PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  1952.                 }
  1953.             }
  1954.         }
  1955.         startvar[2] = 2;
  1956.         SetTimer("Startdm", gdelay, 0);
  1957.     } else if(startvar[2] == 2) {
  1958.         new string[32];
  1959.         format(string, sizeof(string), "~r~2");
  1960.         new hdelay=1000;
  1961.         for(new i = 0; i <= MAX_PLAYERS; i++)
  1962.         {
  1963.             if(IsPlayerConnected(i))
  1964.             {
  1965.                 if (playerindm[i] == 1)
  1966.                 {
  1967.                     GameTextForPlayer(i, string, hdelay, 6);
  1968.                     PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  1969.                 }
  1970.             }
  1971.         }
  1972.         startvar[2] = 3;
  1973.         SetTimer("Startdm", hdelay, 0);
  1974.     } else if(startvar[2] == 3) {
  1975.         new rdelay=1000;
  1976.         new string[32];
  1977.         format(string, sizeof(string), "~g~1!");
  1978.         for(new i = 0; i <= MAX_PLAYERS; i++)
  1979.         {
  1980.             if(IsPlayerConnected(i))
  1981.             {
  1982.                 if (playerindm[i] == 1)
  1983.                 {
  1984.                     GameTextForPlayer(i, string, rdelay, 6);
  1985.                     PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
  1986.                     TogglePlayerControllable(i, 1);
  1987.                 }
  1988.             }
  1989.         }
  1990.         startvar[2] = 0;
  1991.     }
  1992.     return 1;
  1993. }
  1994.  
  1995. public StartqDerby()
  1996. {
  1997.     if(startvar[3] == 1)
  1998.     {
  1999.         if( qderbyrank <= 1 )
  2000.         {
  2001.             SendClientMessageToAll(0x33AA33AA, "derby Pedreira cancelado. Motivo: Jogadores Insuficiente. (Minimo = 2)");
  2002.             qderbyplaying = 0;
  2003.             qderbyrank = 0;
  2004.             qderbyon = 0;
  2005.             startvar[3] = 0;
  2006.             Respawnqbloodrings();
  2007.             for(new i = 0; i <= MAX_PLAYERS; i++)
  2008.             {
  2009.                 if(IsPlayerConnected(i))
  2010.                 {
  2011.                     if (playerinqderby[i] == 1)
  2012.                     {
  2013.                         playerinqderby[i] = 0;
  2014.                         playerinminigame[i] = 0;
  2015.                         playerinqbloodring[i] = -1;
  2016.                         SetPlayerVirtualWorld(i,0);
  2017.                         SetPlayerInterior(i, 0);
  2018.                         SetPlayerPos(i, spawnX, spawnY, spawnZ);
  2019.                         TogglePlayerControllable(i, 1);
  2020.                     }
  2021.                 }
  2022.             }
  2023.             return 1;
  2024.         }
  2025.         new string[32];
  2026.         format(string, sizeof(string), "~r~3");
  2027.         new gdelay=1000;
  2028.         qderbyplaying = 1;
  2029.         for(new i = 0; i <= MAX_PLAYERS; i++)
  2030.         {
  2031.             if(IsPlayerConnected(i))
  2032.             {
  2033.                 if (playerinqderby[i] == 1)
  2034.                 {
  2035.                     GameTextForPlayer(i, string, gdelay, 6);
  2036.                     PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  2037.                 }
  2038.             }
  2039.         }
  2040.         startvar[3] = 2;
  2041.         SetTimer("StartqDerby", gdelay, 0);
  2042.     } else if(startvar[3] == 2) {
  2043.         new string[32];
  2044.         format(string, sizeof(string), "~r~2");
  2045.         new hdelay=1000;
  2046.         for(new i = 0; i <= MAX_PLAYERS; i++)
  2047.         {
  2048.             if(IsPlayerConnected(i))
  2049.             {
  2050.                 if (playerinqderby[i] == 1)
  2051.                 {
  2052.                     GameTextForPlayer(i, string, hdelay, 6);
  2053.                     PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  2054.                 }
  2055.             }
  2056.         }
  2057.         startvar[3] = 3;
  2058.         SetTimer("StartqDerby", hdelay, 0);
  2059.     } else if(startvar[3] == 3) {
  2060.         new rdelay=1000;
  2061.         new string[32];
  2062.         format(string, sizeof(string), "~g~1!");
  2063.         for(new i = 0; i <= MAX_PLAYERS; i++)
  2064.         {
  2065.             if(IsPlayerConnected(i))
  2066.             {
  2067.                 if (playerinqderby[i] == 1)
  2068.                 {
  2069.                     GameTextForPlayer(i, string, rdelay, 6);
  2070.                     PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
  2071.                     TogglePlayerControllable(i, 1);
  2072.                 }
  2073.             }
  2074.         }
  2075.         startvar[3] = 0;
  2076.     }
  2077.     return 1;
  2078. }
  2079.  
  2080. public StartBox()
  2081. {
  2082.     if(startvar[4] == 1)
  2083.     {
  2084.         if( boxrank <= 1 )
  2085.         {
  2086.             SendClientMessageToAll(0x33AA33AA, "luta de boxe cancelada. Motivo: Jogadores Insuficientes. (Minimo = 2)");
  2087.             boxplaying = 0;
  2088.             boxrank = 0;
  2089.             boxon = 0;
  2090.             startvar[4] = 0;
  2091.             for(new i = 0; i <= MAX_PLAYERS; i++)
  2092.             {
  2093.                 if(IsPlayerConnected(i))
  2094.                 {
  2095.                     if (playerinbox[i] == 1)
  2096.                     {
  2097.                         playerinbox[i] = 0;
  2098.                         playerinminigame[i] = 0;
  2099.                         SetPlayerVirtualWorld(i,0);
  2100.                         SetPlayerInterior(i, 0);
  2101.                         SetPlayerPos(i, spawnX, spawnY, spawnZ);
  2102.                         TogglePlayerControllable(i, 1);
  2103.                     }
  2104.                 }
  2105.             }
  2106.             return 1;
  2107.         }
  2108.         new string[32];
  2109.         format(string, sizeof(string), "~r~3");
  2110.         new gdelay=1000;
  2111.         boxplaying = 1;
  2112.         for(new i = 0; i <= MAX_PLAYERS; i++)
  2113.         {
  2114.             if(IsPlayerConnected(i))
  2115.             {
  2116.                 if (playerinbox[i] == 1)
  2117.                 {
  2118.                     GameTextForPlayer(i, string, gdelay, 6);
  2119.                     PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  2120.                 }
  2121.             }
  2122.         }
  2123.         startvar[4] = 2;
  2124.         SetTimer("StartBox", gdelay, 0);
  2125.     } else if(startvar[4] == 2) {
  2126.         new string[32];
  2127.         format(string, sizeof(string), "~r~2");
  2128.         new hdelay=1000;
  2129.         for(new i = 0; i <= MAX_PLAYERS; i++)
  2130.         {
  2131.             if(IsPlayerConnected(i))
  2132.             {
  2133.                 if (playerinbox[i] == 1)
  2134.                 {
  2135.                     GameTextForPlayer(i, string, hdelay, 6);
  2136.                     PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  2137.                 }
  2138.             }
  2139.         }
  2140.         startvar[4] = 3;
  2141.         SetTimer("StartBox", hdelay, 0);
  2142.     } else if(startvar[4] == 3) {
  2143.         new rdelay=1000;
  2144.         new string[32];
  2145.         format(string, sizeof(string), "~g~1!");
  2146.         for(new i = 0; i <= MAX_PLAYERS; i++)
  2147.         {
  2148.             if(IsPlayerConnected(i))
  2149.             {
  2150.                 if (playerinbox[i] == 1)
  2151.                 {
  2152.                     GameTextForPlayer(i, string, rdelay, 6);
  2153.                     PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
  2154.                     TogglePlayerControllable(i, 1);
  2155.                 }
  2156.             }
  2157.         }
  2158.         startvar[4] = 0;
  2159.     }
  2160.     return 1;
  2161. }
  2162.  
  2163. public StartSd()
  2164. {
  2165.     if(startvar[5] == 1)
  2166.     {
  2167.         if( sdrank <= 1 )
  2168.         {
  2169.             SendClientMessageToAll(0x33AA33AA, "Skydive cancelado. Motivo: Jogadores Insuficientes (Minimo = 2)");
  2170.             sdplaying = 0;
  2171.             sdrank = 0;
  2172.             sdon = 0;
  2173.             startvar[5] = 0;
  2174.             for(new i = 0; i <= MAX_PLAYERS; i++)
  2175.             {
  2176.                 if(IsPlayerConnected(i))
  2177.                 {
  2178.                     if (playerinsd[i] == 1)
  2179.                     {
  2180.                         playerinsd[i] = 0;
  2181.                         playerinminigame[i] = 0;
  2182.                         SetPlayerVirtualWorld(i,0);
  2183.                         SetPlayerInterior(i, 0);
  2184.                         SetPlayerPos(i, spawnX, spawnY, spawnZ);
  2185.                         TogglePlayerControllable(i, 1);
  2186.                     }
  2187.                 }
  2188.             }
  2189.             return 1;
  2190.         }
  2191.         new string[32];
  2192.         format(string, sizeof(string), "~r~3");
  2193.         new gdelay=1000;
  2194.         sdplaying = 1;
  2195.         for(new i = 0; i <= MAX_PLAYERS; i++)
  2196.         {
  2197.             if(IsPlayerConnected(i))
  2198.             {
  2199.                 if (playerinsd[i] == 1)
  2200.                 {
  2201.                     GameTextForPlayer(i, string, gdelay, 6);
  2202.                     PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  2203.                 }
  2204.             }
  2205.         }
  2206.         startvar[5] = 2;
  2207.         SetTimer("StartSd", gdelay, 0);
  2208.     } else if(startvar[5] == 2) {
  2209.         new string[32];
  2210.         format(string, sizeof(string), "~r~2");
  2211.         new hdelay=1000;
  2212.         for(new i = 0; i <= MAX_PLAYERS; i++)
  2213.         {
  2214.             if(IsPlayerConnected(i))
  2215.             {
  2216.                 if (playerinsd[i] == 1)
  2217.                 {
  2218.                     GameTextForPlayer(i, string, hdelay, 6);
  2219.                     PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  2220.                 }
  2221.             }
  2222.         }
  2223.         startvar[5] = 3;
  2224.         SetTimer("StartSd", hdelay, 0);
  2225.     } else if(startvar[5] == 3) {
  2226.         new rdelay=1000;
  2227.         new string[32];
  2228.         format(string, sizeof(string), "~g~1");
  2229.         for(new i = 0; i <= MAX_PLAYERS; i++)
  2230.         {
  2231.             if(IsPlayerConnected(i))
  2232.             {
  2233.                 if (playerinsd[i] == 1)
  2234.                 {
  2235.                     GameTextForPlayer(i, string, rdelay, 6);
  2236.                     PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
  2237.                     TogglePlayerControllable(i, 1);
  2238.                 }
  2239.             }
  2240.         }
  2241.         SetTimer("EndSd",180000,0);
  2242.         startvar[5] = 0;
  2243.     }
  2244.     return 1;
  2245. }
  2246.  
  2247. public EndSd()
  2248. {
  2249.     for(new i = 0; i <= MAX_PLAYERS; i++)
  2250.     {
  2251.         if(IsPlayerConnected(i))
  2252.         {
  2253.             if (playerinsd[i] == 1)
  2254.             {
  2255.                 playerinsd[i] = 0;
  2256.                 playerinminigame[i] = 0;
  2257.                 SetPlayerVirtualWorld(i,0);
  2258.                 SetPlayerInterior(i, 0);
  2259.                 SetPlayerPos(i, spawnX, spawnY, spawnZ);
  2260.             }
  2261.         }
  2262.     }
  2263.     sdplaying = 0;
  2264.     sdrank = 0;
  2265.     sdon = 0;
  2266.     startvar[5] = 0;
  2267.     SendClientMessageToAll(0x33AA33AA, "O skydive acabou");
  2268.     return 1;
  2269. }
  2270.  
  2271. public StartKart()
  2272. {
  2273.     if(startvar[6] == 1) {
  2274.         if( kartrank <= 1 )
  2275.         {
  2276.             SendClientMessageToAll(0x33AA33AA, "corrida de Kart cancelado. Motivo: Jogadores Insuficientes (Minimo = 2)");
  2277.             kartplaying = 0;
  2278.             kartrank = 0;
  2279.             karton = 0;
  2280.             startvar[6] = 0;
  2281.             RespawnKarts();
  2282.             for(new i = 0; i <= MAX_PLAYERS; i++)
  2283.             {
  2284.                 if(IsPlayerConnected(i))
  2285.                 {
  2286.                     if (playerinkartrace[i] == 1)
  2287.                     {
  2288.                         playerinkartrace[i] = 0;
  2289.                         playerinminigame[i] = 0;
  2290.                         playerinkart[i] = -1;
  2291.                         SetPlayerVirtualWorld(i,0);
  2292.                         SetPlayerInterior(i, 0);
  2293.                         SetPlayerPos(i, spawnX, spawnY, spawnZ);
  2294.                         TogglePlayerControllable(i, 1);
  2295.                     }
  2296.                 }
  2297.             }
  2298.             return 1;
  2299.         }
  2300.         new string[32];
  2301.         format(string, sizeof(string), "~r~3");
  2302.         new gdelay=1000;
  2303.         kartplaying = 1;
  2304.         for(new i = 0; i <= MAX_PLAYERS; i++)
  2305.         {
  2306.             if(IsPlayerConnected(i))
  2307.             {
  2308.                 if (playerinkartrace[i] == 1)
  2309.                 {
  2310.                     GameTextForPlayer(i, string, gdelay, 6);
  2311.                     PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  2312.                 }
  2313.             }
  2314.         }
  2315.         startvar[6] = 2;
  2316.         SetTimer("StartKart", gdelay, 0);
  2317.     } else if(startvar[6] == 2) {
  2318.         new string[32];
  2319.         format(string, sizeof(string), "~r~2");
  2320.         new hdelay=1000;
  2321.         for(new i = 0; i <= MAX_PLAYERS; i++)
  2322.         {
  2323.             if(IsPlayerConnected(i))
  2324.             {
  2325.                 if (playerinkartrace[i] == 1)
  2326.                 {
  2327.                     GameTextForPlayer(i, string, hdelay, 6);
  2328.                     PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  2329.                 }
  2330.             }
  2331.         }
  2332.         startvar[6] = 3;
  2333.         SetTimer("StartKart", hdelay, 0);
  2334.     } else if(startvar[6] == 3) {
  2335.         new rdelay=1000;
  2336.         new string[32];
  2337.         format(string, sizeof(string), "~g~1!");
  2338.         for(new i = 0; i <= MAX_PLAYERS; i++)
  2339.         {
  2340.             if(IsPlayerConnected(i))
  2341.             {
  2342.                 if (playerinkartrace[i] == 1)
  2343.                 {
  2344.                     GameTextForPlayer(i, string, rdelay, 6);
  2345.                     PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
  2346.                     TogglePlayerControllable(i, 1);
  2347.                 }
  2348.             }
  2349.         }
  2350.         SetTimer("KrtFinish",300000,0);
  2351.         startvar[6] = 0;
  2352.     }
  2353.     return 1;
  2354. }
  2355.  
  2356. public StartSr()
  2357. {
  2358.     if(startvar[7] == 1)
  2359.     {
  2360.         if( srrank <= 1 )
  2361.         {
  2362.             SendClientMessageToAll(0x33AA33AA, "corrida Estádio cancelado. Motivo: Jogadores Insuficientes (Minimo = 2)");
  2363.             srplaying = 0;
  2364.             srrank = 0;
  2365.             sron = 0;
  2366.             startvar[7] = 0;
  2367.             RespawnNrgs();
  2368.             for(new i = 0; i <= MAX_PLAYERS; i++)
  2369.             {
  2370.                 if(IsPlayerConnected(i))
  2371.                 {
  2372.                     if (playerinsr[i] == 1)
  2373.                     {
  2374.                         playerinsr[i] = 0;
  2375.                         playerinminigame[i] = 0;
  2376.                         playerinnrg[i] = -1;
  2377.                         SetPlayerVirtualWorld(i,0);
  2378.                         SetPlayerInterior(i, 0);
  2379.                         SetPlayerPos(i, spawnX, spawnY, spawnZ);
  2380.                         TogglePlayerControllable(i, 1);
  2381.                     }
  2382.                 }
  2383.             }
  2384.             return 1;
  2385.         }
  2386.         new string[32];
  2387.         format(string, sizeof(string), "~r~3");
  2388.         new gdelay=1000;
  2389.         kartplaying = 1;
  2390.         for(new i = 0; i <= MAX_PLAYERS; i++)
  2391.         {
  2392.             if(IsPlayerConnected(i))
  2393.             {
  2394.                 if (playerinsr[i] == 1)
  2395.                 {
  2396.                     GameTextForPlayer(i, string, gdelay, 6);
  2397.                     PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  2398.                 }
  2399.             }
  2400.         }
  2401.         startvar[7] = 2;
  2402.         SetTimer("StartSr", gdelay, 0);
  2403.     } else if(startvar[7] == 2) {
  2404.         new string[32];
  2405.         format(string, sizeof(string), "~r~2");
  2406.         new hdelay=1000;
  2407.         for(new i = 0; i <= MAX_PLAYERS; i++)
  2408.         {
  2409.             if(IsPlayerConnected(i))
  2410.             {
  2411.                 if (playerinsr[i] == 1)
  2412.                 {
  2413.                     GameTextForPlayer(i, string, hdelay, 6);
  2414.                     PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  2415.                 }
  2416.             }
  2417.         }
  2418.         startvar[7] = 3;
  2419.         SetTimer("StartSr", hdelay, 0);
  2420.     } else if(startvar[7] == 3) {
  2421.         new rdelay=1000;
  2422.         new string[32];
  2423.         format(string, sizeof(string), "~g~1!");
  2424.         for(new i = 0; i <= MAX_PLAYERS; i++)
  2425.         {
  2426.             if(IsPlayerConnected(i))
  2427.             {
  2428.                 if (playerinsr[i] == 1)
  2429.                 {
  2430.                     GameTextForPlayer(i, string, rdelay, 6);
  2431.                     PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
  2432.                     TogglePlayerControllable(i, 1);
  2433.                 }
  2434.             }
  2435.         }
  2436.         SetTimer("SrFinish",300000,0);
  2437.         startvar[7] = 0;
  2438.     }
  2439.     return 1;
  2440. }
  2441.  
  2442. public RewardCalc(playerid,min,max)//Originally from PenLS
  2443. {
  2444.     reward = (min + (random(max-min)));
  2445. }
  2446.  
  2447. public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
  2448. {
  2449.     if(IsPlayerConnected(playerid))
  2450.     {
  2451.         new Float:oldposx, Float:oldposy, Float:oldposz;
  2452.         new Float:tempposx, Float:tempposy, Float:tempposz;
  2453.         GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  2454.         tempposx = (oldposx -x);
  2455.         tempposy = (oldposy -y);
  2456.         tempposz = (oldposz -z);
  2457.         if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  2458.         {
  2459.             return 1;
  2460.         }
  2461.     }
  2462.     return 0;
  2463. }
  2464.  
  2465. public SdFinish(playerid)
  2466. {
  2467.     if(playerinsd[playerid] == 1 && PlayerToPoint(5,playerid,-1753.7169,884.6819,295.8750))
  2468.     {
  2469.         if(sdfirst == 1)
  2470.         {
  2471.             DisablePlayerRaceCheckpoint(playerid);
  2472.             new string[256];
  2473.             sdfirst = 0;
  2474.             new winnername[256];
  2475.             GetPlayerName(playerid,winnername, sizeof(winnername));
  2476.             RewardCalc(playerid,5000,10000);
  2477.             format(string, sizeof(string), "%s ganhou o SkyDive e ganhou $%d", winnername, reward);
  2478.             SendClientMessageToAll(0x33AA33AA, string);
  2479.             GivePlayerMoney(playerid,reward);
  2480.             playerinsd[playerid] = 0;
  2481.             playerinminigame[playerid] = 0;
  2482.             SetPlayerVirtualWorld(playerid,0);
  2483.             SetPlayerInterior(playerid, 0);
  2484.             SetPlayerPos(playerid, spawnX, spawnY, spawnZ);
  2485.             SetTimer("EndSd",60000,0);
  2486.         } else {
  2487.             DisablePlayerRaceCheckpoint(playerid);
  2488.             playerinsd[playerid] = 0;
  2489.             playerinminigame[playerid] = 0;
  2490.             SetPlayerVirtualWorld(playerid,0);
  2491.             SetPlayerInterior(playerid, 0);
  2492.             SetPlayerPos(playerid, spawnX, spawnY, spawnZ);
  2493.         }
  2494.     }
  2495. }
  2496.  
  2497. public load()
  2498. {
  2499.     Spawnbloodrings();
  2500.     Spawnqbloodrings();
  2501.     SpawnKarts();
  2502.     SpawnNrgs();
  2503.  
  2504.     CreateObject(975, 213.7231, 1875.3864, 13.8800, 0.0000, 0.0000, 180);// area 51 gate for TeamDM
  2505.  
  2506.     // LVDM zone:
  2507.     CreateObject(975,2237.232,2453.272,11.353,0.0,0.0,90.000);//Gates
  2508.     CreateObject(975,2293.831,2499.356,4.016,0.0,0.0,90.000);
  2509.     CreateObject(975,2335.095,2443.816,6.436,0.0,0.0,56.250);
  2510.     CreateObject(1225,2242.148,2481.337,2.679,0.0,0.0,0.0);//Explosive barrels
  2511.     CreateObject(1225,2249.003,2476.099,2.679,0.0,0.0,0.0);
  2512.     CreateObject(1225,2269.786,2485.744,2.679,0.0,0.0,0.0);
  2513.     CreateObject(1225,2309.837,2472.542,2.679,0.0,0.0,0.0);
  2514.     CreateObject(1225,2296.421,2456.946,2.679,0.0,0.0,0.0);
  2515.     CreateObject(1225,2276.625,2436.773,2.679,0.0,0.0,0.0);
  2516.     CreateObject(1225,2251.733,2443.828,2.679,0.0,0.0,0.0);
  2517.     CreateObject(1225,2335.119,2447.098,5.029,0.0,0.0,0.0);
  2518.     CreateObject(1225,2334.300,2446.371,4.971,0.0,0.0,0.0);
  2519.     CreateObject(1225,2332.263,2444.455,4.774,0.0,0.0,0.0);
  2520.     CreateObject(1225,2333.340,2443.961,5.007,0.0,0.0,0.0);
  2521.     CreateObject(1225,2332.409,2441.871,5.056,0.0,0.0,0.0);
  2522.     CreateObject(1225,2329.335,2443.138,4.298,0.0,0.0,0.0);
  2523.     CreateObject(1225,2328.618,2445.822,4.055,0.0,0.0,0.0);
  2524.     CreateObject(1225,2330.095,2446.103,4.320,0.0,0.0,0.0);
  2525.     CreateObject(1225,2329.184,2444.807,4.575,0.0,0.0,0.0);
  2526.     CreateObject(1556,2294.025,2494.454,3.789,0.0,0.0,-90.000);//Door
  2527.  
  2528.     CreateObject(16681,2494.841,-1676.981,7000.000,0.0,0.0,0.0);//Boxing Arena
  2529.  
  2530.     /*SendClientMessageToAll(0xFFFF00AA,"Minigames filterscript loaded. Type /minigames for more information.");*/
  2531. }
  2532.  
  2533. public KrtFinish()
  2534. {
  2535.     for(new i = 0; i <= MAX_PLAYERS; i++)
  2536.     {
  2537.         if(IsPlayerConnected(i))
  2538.         {
  2539.             if (playerinkartrace[i] == 1)
  2540.             {
  2541.                 playerinkartrace[i] = 0;
  2542.                 playerinminigame[i] = 0;
  2543.                 SetPlayerVirtualWorld(i,0);
  2544.                 SetPlayerInterior(i, 0);
  2545.                 SetPlayerPos(i, spawnX, spawnY, spawnZ);
  2546.             }
  2547.         }
  2548.     }
  2549.     kartplaying = 0;
  2550.     kartrank = 0;
  2551.     karton = 0;
  2552.     RespawnKarts();
  2553.     SendClientMessageToAll(0x33AA33AA, "A corrida de kart acabou");
  2554.     return 1;
  2555. }
  2556.  
  2557. public SrFinish()
  2558. {
  2559.     for(new i = 0; i <= MAX_PLAYERS; i++)
  2560.     {
  2561.         if(IsPlayerConnected(i))
  2562.         {
  2563.             if (playerinsr[i] == 1)
  2564.             {
  2565.                 playerinsr[i] = 0;
  2566.                 playerinminigame[i] = 0;
  2567.                 SetPlayerVirtualWorld(i,0);
  2568.                 SetPlayerInterior(i, 0);
  2569.                 SetPlayerPos(i, spawnX, spawnY, spawnZ);
  2570.             }
  2571.         }
  2572.     }
  2573.     srplaying = 0;
  2574.     srrank = 0;
  2575.     sron = 0;
  2576.     RespawnNrgs();
  2577.     SendClientMessageToAll(0x33AA33AA, "A corrida do estádio acabou");
  2578.     return 1;
  2579. }
Add Comment
Please, Sign In to add comment