www.pudn.com > lvdm.rar > lvdm.pwn
#include#include #include #pragma tabsize 0 #define Version "v1.2" #define COLOR_GREY 0xAFAFAFAA #define COLOR_GREEN 0x33AA33AA #define COLOR_RED 0xAA3333AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_WHITE 0xFFFFFFAA #define PocketMoney 50000 #define PocketWeaponID 24 #define PocketWeaponAmmo 300 #define MaxSave 100 #define MaxBuyVehicle 200 forward MoneyGrubScoreUpdate(); forward PlayerCheckpointsUpdate(); forward GivePlayerMoneyUpdate(); forward RaceCountUpdate(); forward WeatherUpdate(); forward RaceTimerUpdate(); forward DestroyPickups(idx); forward DisablePlayerWeaponCheck(); //------------------------------------------------------------------------------------------------------ new TeleCommands[5][20] = { "/ldz","/4long","/hdc","/sfck","/cjj" }; new TeleNames[5][30] = { "¹p¹F¯¸","¥|Às½ä³õ","®üµs²î","SF¨®®w","CJ¦Ñ®a" }; new Float:TelePoss[5][4] = { {-275.722045,1552.411376,75.065612,0.0}, {2021.312744,999.861633,10.820312,0.0}, {2018.5475,1535.1003,10.8224,0.0}, {-1972.760253,285.018524,35.171875,0.0}, {2507.9397,-1681.3051,13.5469,0.0} }; //------------------------------------------------------------------------------------------------------ new Float:CheckpointsArea[3][4] = { {1898.1156,1443.6792,2079.6196,1721.9296}, {284.053161,-86.436386,303.030212,-76.663833}, {-1965.174194,253.466308,-1941.886352,277.229095} }; new Float:CheckpointsInfos[3][5] = { {2000.5331,1519.2322,17.0625,2.0,1.0}, {298.254974,-80.4079,1001.515625,1.0,2.0}, {-1942.630859,254.134719,35.468750,2.0,3.0} }; new CheckpointsText[3][100] = { " §A¥i¥H¦b®üµs²î¤WÀò±oª÷¿ú.", " ¦b³o¸Ì¶Rºj¦º¤`«á¥i¥HÄ~Äò¨Ï¥Î^^,¦ý»ù¿ú¤]¤£«K©y®@@@", " §A¥i¥H¦b³o¸Ì¬Ý¦u¨®©±Àò±o¤u¿ú." }; new Float:RacesArea[11][9] = { {-313.9563,1451.4565,-271.0909,1563.1326,1.0,-302.603607,1515.305786,75.066429,15.0}, {1977.698730,818.227233,2040.038452,867.325988,2.0,2005.967163,834.576721,6.417941,15.0}, {2099.992675,822.485473,2189.071533,868.777099,3.0,2142.4348,852.6296,6.4446,15.0}, {-1619.2917,1008.7499,-1548.4275,1093.5212,4.0,-1584.1683,1040.0474,6.6037,15.0}, {-1806.4449,-644.2509,-1711.9590,-554.3396,5.0,-1762.1678,-584.9152,15.9071,15.0}, {1373.2338,1656.5471,1556.4810,1861.8489,6.0,1477.6029,1750.0604,10.3765,20.0}, {113.5470,-1565.9362,296.1089,-1484.2670,7.0,197.2630,-1498.1868,12.4469,15.0}, {2284.7673,1931.2582,2298.9167,1984.1702,8.0,2290.9880,1936.8302,31.5067,10.0}, {1871.1764,801.4373,1948.1963,901.8195,9.0,1904.9873,834.2745,7.3589,15.0}, {2246.5237,797.4461,2356.3979,892.7870,10.0,2299.5808,853.0750,6.2999,15.0}, {1755.2638,784.0143,1853.6821,902.4185,11.0,1788.2479,825.2874,10.2284,15.0} }; new RacepointsText[11][50] = { "¨Fºz·¼É","°ª³t¤½¸ôÁÉ","LV«°ÂíÁÉI","SF¹D¸ô²V¦XÁÉI","SF¹D¸ô²V¦XÁÉII","LV¾÷³õ¶°éÁÉ","LS«°ÂíÁÉ","LVº}²¾½m²ßÁÉ","LS¹A§ø¹D¸ôÁÉ","LV«°ÂíÁÉII","LS¹D¸ô²V¦XÁÉ" }; new Float:Race1Checkpoints[23][4] = { {-306.219543,1395.202026,72.013809,15.0}, {-362.067108,1464.847534,63.346614,15.0}, {-320.868041,1321.343872,53.165271,15.0}, {-451.293823,1541.437133,36.307544,15.0}, {-415.616424,1918.719726,57.233325,15.0}, {-453.036773,1759.208374,71.798820,15.0}, {-382.355224,2073.724609,60.565448,15.0}, {-877.086120,1944.114624,59.889945,15.0}, {-966.836547,1829.056030,61.539569,15.0}, {-1153.740966,1782.622558,39.203063,15.0}, {-914.249023,1705.569824,27.031356,15.0}, {-768.972412,1284.146606,13.312028,15.0}, {-532.538574,1086.099975,10.737322,15.0}, {-275.338623,791.630615,15.278830,15.0}, {119.202072,888.455139,21.373659,15.0}, {214.764648,998.343444,27.174871,15.0}, {144.342422,1167.901489,15.103495,15.0}, {-77.171844,1259.906250,12.201769,15.0}, {-411.929351,1444.811767,35.619297,15.0}, {-326.164611,1316.856445,52.478385,15.0}, {-372.193725,1462.142822,62.164287,15.0}, {-304.213775,1395.456909,72.031318,15.0}, {-302.624145,1510.448120,75.065673,15.0} }; new Float:Race2Checkpoints[28][4] = { {1873.105712,834.715515,8.532384,15.0}, {1802.802368,834.498962,10.351023,15.0}, {1753.963134,834.346313,9.583683,15.0}, {1681.787231,834.125244,7.221040,15.0}, {1612.996459,833.887023,6.417655,15.0}, {1499.486206,832.880432,6.547313,15.0}, {1257.142944,829.674621,7.998331,15.0}, {923.942932,719.626708,10.442388,15.0}, {390.235626,772.013916,5.839733,15.0}, {198.612182,955.557006,27.541267,15.0}, {-114.792030,805.391296,20.301284,15.0}, {-295.371948,674.935058,17.777833,15.0}, {-187.146240,650.128784,6.392411,15.0}, {-103.301918,539.614929,6.643163,15.0}, {142.570175,693.262634,5.758738,15.0}, {863.223571,696.066101,11.496833,15.0}, {1202.146850,865.573120,12.010387,15.0}, {1307.259033,1037.075805,11.493945,15.0}, {1227.211425,1395.108764,6.465366,15.0}, {1227.388916,1949.854858,6.461638,15.0}, {1356.362792,2442.511718,6.461503,15.0}, {2089.716064,2565.369384,6.507553,15.0}, {2482.281738,2596.059326,4.856646,15.0}, {2708.575683,2105.484130,6.469346,15.0}, {2707.880615,1628.153930,6.465365,15.0}, {2708.038574,1259.214355,6.465429,15.0}, {2494.386230,859.889587,6.461636,15.0}, {1999.133544,852.408447,6.457599,15.0} }; new Float:Race3Checkpoints[22][4] = { {1857.5424,852.3164,9.0666,15.0}, {1569.5276,833.4738,6.4781,15.0}, {1283.4171,909.1198,6.5186,15.0}, {1226.2426,1257.6860,6.4454,15.0}, {1208.6522,1540.6212,6.4461,15.0}, {1259.1206,1727.1323,7.6723,15.0}, {1327.3728,1837.3894,10.3827,15.0}, {1361.6879,1873.3285,10.3780,15.0}, {1707.3190,1895.6301,10.3779,15.0}, {1729.7087,2053.2153,10.3786,15.0}, {1962.3785,2022.4387,10.3788,15.0}, {2146.3711,2039.7515,10.3780,15.0}, {2182.4739,2136.8645,10.3789,15.0}, {2350.5977,2176.6929,10.3885,15.0}, {2287.3594,2264.4888,10.3789,15.0}, {2270.4050,2413.1094,10.3795,15.0}, {2189.7004,2325.6182,10.3780,15.0}, {2146.7046,2098.4155,10.3823,15.0}, {2076.2852,1758.2347,10.3785,15.0}, {2066.3904,1504.2338,10.3780,15.0}, {2048.4412,1326.2501,10.3780,15.0}, {2048.4331,852.9920,6.4376,15.0} }; new Float:Race4Checkpoints[37][4] = { {-1584.2928,1151.7778,6.6037,15.0}, {-1693.4873,1306.7061,6.6052,15.0}, {-1882.1967,1346.2892,6.6050,15.0}, {-2067.1877,1273.8612,8.8215,15.0}, {-2269.1892,1228.6245,46.9732,15.0}, {-2143.4243,1074.6460,79.4126,15.0}, {-2143.7625,784.2877,68.9802,15.0}, {-2143.1077,545.8139,34.5817,15.0}, {-2040.6165,504.1263,34.5725,15.0}, {-1983.0829,605.7291,34.5804,15.0}, {-1898.9146,591.1979,34.5454,15.0}, {-1826.6498,443.9276,17.6239,15.0}, {-1889.8517,181.8546,38.0079,15.0}, {-1911.0107,-411.5964,37.8079,15.0}, {-1907.6628,-1325.7872,39.4907,15.0}, {-1968.1576,-1328.7991,39.3548,15.0}, {-2113.0361,-1088.4169,29.7392,15.0}, {-2207.4387,-866.1030,53.3850,15.0}, {-2269.9131,-759.5767,79.4861,15.0}, {-2348.9058,-784.3986,93.9797,15.0}, {-2423.4553,-607.9565,132.1282,15.0}, {-2511.4695,-483.7780,90.0474,15.0}, {-2628.0720,-493.7973,69.6669,15.0}, {-2323.6685,-454.4333,79.5919,15.0}, {-2488.5229,-367.5089,63.3713,15.0}, {-2673.6377,-467.2357,25.9472,15.0}, {-2734.6016,-521.6826,7.7905,15.0}, {-2756.5669,-451.9859,6.6493,15.0}, {-2138.1006,-349.7059,34.6385,15.0}, {-1900.7662,-317.2262,49.2222,15.0}, {-1890.0569,2.8772,37.8079,15.0}, {-1857.4261,192.4098,37.4518,15.0}, {-1798.4565,358.3932,16.5817,15.0}, {-1710.3119,342.7227,6.5969,15.0}, {-1559.1774,665.4386,6.6050,15.0}, {-1584.1492,1054.3411,6.6053,15.0}, {-1584.2190,1149.2968,6.6053,15.0} }; new Float:Race5Checkpoints[58][4] = { {-1761.2782,-677.8287,22.8481,15.0}, {-1353.5712,-814.9792,77.5606,15.0}, {-1210.0947,-748.2033,60.7374,15.0}, {-1168.3228,-642.3738,41.8549,15.0}, {-1076.1241,-471.7011,33.6254,15.0}, {-975.5204,-441.4345,34.7967,15.0}, {-807.5438,-454.6881,17.4776,15.0}, {-553.5473,-391.8330,19.7058,15.0}, {-397.9999,-529.3001,17.7054,15.0}, {-405.9109,-656.1783,13.946,15.0}, {-373.0450,-819.7197,28.0200,15.0}, {-655.8243,-1477.3895,19.9057,15.0}, {-717.2574,-1696.5249,48.1851,15.0}, {-719.6248,-1313.5677,63.3768,15.0}, {-762.8658,-1322.0499,76.0873,15.0}, {-773.4388,-1738.7867,95.2752,15.0}, {-968.3632,-1905.7871,80.0724,15.0}, {-1002.0175,-1988.5261,71.9517,15.0}, {-1173.1003,-2368.1709,44.5717,15.0}, {-974.8641,-2609.7065,86.7761,15.0}, {-546.5800,-2163.4604,44.8979,15.0}, {-342.3828,-2142.1892,41.8651,15.0}, {-268.0175,-1984.9473,29.3136,15.0}, {-238.9529,-1673.1022,2.0423,15.0}, {-42.5822,-1515.5112,1.3861,15.0}, {-148.0343,-1301.6570,2.2613,15.0}, {-119.9645,-978.9011,25.5288,15.0}, {-84.9609,-911.8202,17.2832,15.0}, {19.9482,-499.2120,8.0427,15.0}, {-181.8252,-343.6422,0.6440,15.0}, {-264.2547,-276.3852,1.0836,15.0}, {-390.8916,-259.2280,25.1696,15.0}, {-743.8986,-247.0809,54.9069,15.0}, {-943.0221,-214.5491,39.7617,15.0}, {-673.7037,-18.0866,70.6599 ,15.0}, {-702.8096,12.3190,62.8472,15.0}, {-859.7112,-48.1207,40.0724,15.0}, {-854.4598,1.1747,32.7923,15.0}, {-673.3597,42.5234,32.5665,15.0}, {-702.9084,114.6225,16.7831,15.0}, {-776.6520,154.4646,6.0281,15.0}, {-690.5784,245.1951,1.6529,15.0}, {-296.3804,262.6231,3.8190,15.0}, {-195.7839,261.2834,11.6439,15.0}, {-160.0941,397.9532,11.6441,15.0}, {-139.0790,533.5099,6.7376,15.0}, {-326.9411,548.4161,15.9566,15.0}, {-881.7430,822.7986,19.2670,15.0}, {-985.4780,1144.5260,30.6638,15.0}, {-1189.0881,1060.0184,40.5984,15.0}, {-1407.6825,829.5368,47.0106,15.0}, {-1579.9127,647.9978,42.5816,15.0}, {-1802.0940,414.8592,38.6286,15.0}, {-1869.9789,193.8131,37.9032,15.0}, {-1891.4246,-20.6390,37.8082,15.0}, {-1885.1929,-384.8047,37.8016,15.0}, {-1836.1007,-580.0587,17.1720,15.0}, {-1764.2335,-584.6127,15.9071,15.0} }; new Float:Race6Checkpoints[20][4] = { {1464.5317,1276.5209,10.3862,15.0}, {1389.8287,1296.4795,10.3853,15.0}, {1393.2756,1706.4818,10.3851,15.0}, {1477.6100,1701.9880,10.3885,15.0}, {1464.5317,1276.5209,10.3862,15.0}, {1389.8287,1296.4795,10.3853,15.0}, {1393.2756,1706.4818,10.3851,15.0}, {1477.6100,1701.9880,10.3885,15.0}, {1464.5317,1276.5209,10.3862,15.0}, {1389.8287,1296.4795,10.3853,15.0}, {1393.2756,1706.4818,10.3851,15.0}, {1477.6100,1701.9880,10.3885,15.0}, {1464.5317,1276.5209,10.3862,15.0}, {1389.8287,1296.4795,10.3853,15.0}, {1393.2756,1706.4818,10.3851,15.0}, {1477.6100,1701.9880,10.3885,15.0}, {1464.5317,1276.5209,10.3862,15.0}, {1389.8287,1296.4795,10.3853,15.0}, {1393.2756,1706.4818,10.3851,15.0}, {1477.6100,1701.9880,10.3885,15.0} }; new Float:Race7Checkpoints[19][4] = { {268.7280,-1426.1914,13.1849,15.0}, {618.1451,-1218.7190,17.6683,15.0}, {807.7799,-1048.4258,24.6279,15.0}, {1064.7172,-955.7869,42.1593,15.0}, {1607.2676,-971.2263,37.7821,15.0}, {1896.0972,-1019.5569,35.6987,15.0}, {2390.5466,-1153.8451,28.0310,15.0}, {2866.8855,-1137.5182,10.4366,15.0}, {2890.8018,-1304.6022,10.4406,15.0}, {2822.6187,-1966.3575,10.5032,15.0}, {2734.2395,-2160.2473,10.6679,15.0}, {2249.1101,-2324.8918,12.9411,15.0}, {2144.6138,-2623.7937,12.9477,15.0}, {1858.0919,-2669.9294,5.4334,15.0}, {1320.6206,-2504.0466,12.0928,15.0}, {1110.6592,-2360.1526,11.4853,15.0}, {1024.6168,-1798.5897,13.3179,15.0}, {525.7977,-1715.1487,12.1439,15.0}, {343.1227,-1700.1687,6.1645,15.0} }; new Float:Race8Checkpoints[49][4] = { {2235.6204,1949.9951,31.3493,10.0}, {2284.5696,1963.4237,31.3463,10.0}, {2239.4497,1976.8438,31.3508,10.0}, {2302.9260,1964.6893,31.3407,10.0}, {2236.8540,1950.1963,25.8642,10.0}, {2283.6267,1963.1610,25.8645,10.0}, {2236.6387,1977.0745,25.8624,10.0}, {2301.4973,1964.6221,25.8640,10.0}, {2235.9307,1950.0455,20.3867,10.0}, {2284.8928,1963.3348,20.3929,10.0}, {2235.5112,1977.0656,20.3931,10.0}, {2303.4392,1964.0658,20.3744,10.0}, {2235.9805,1949.7026,14.9109,10.0}, {2283.3977,1962.7467,14.9180,10.0}, {2239.1533,1976.3923,14.9145,10.0}, {2303.7424,1964.6273,14.9125,10.0}, {2236.4521,1950.5032,9.4315,10.0}, {2281.3838,1963.2268,9.4324,10.0}, {2223.7688,1977.4929,9.4331,10.0}, {2287.4805,1994.4928,6.4785,10.0}, {2319.1262,1900.0687,10.2444,10.0}, {2345.5813,1925.1538,10.2377,10.0}, {2323.4478,2022.0103,10.2379,10.0}, {2157.4187,2022.0365,10.3975,10.0}, {2171.9167,2135.7617,10.2379,10.0}, {2336.3301,2136.0791,10.2476,10.0}, {2346.1851,2008.3788,10.1657,10.0}, {2319.5178,1906.4958,9.4180,10.0}, {2230.6362,1994.0548,9.4342,10.0}, {2237.7114,1964.4982,9.4321,10.0}, {2283.9519,1951.2292,9.4382,10.0}, {2236.3845,1937.2745,9.4322,10.0}, {2283.6580,1976.2255,14.9131,10.0}, {2235.8804,1963.5842,14.9077,10.0}, {2283.2517,1950.6141,14.8905,10.0}, {2235.9875,1936.3816,14.9181,10.0}, {2283.3477,1976.2703,20.3849,10.0}, {2236.7861,1964.1766,20.3949,10.0}, {2283.6548,1950.4860,20.3932,10.0}, {2236.6162,1937.2865,20.3849,10.0}, {2283.3496,1976.1437,25.8643,10.0}, {2237.0942,1964.0226,25.8640,10.0}, {2284.2449,1950.1892,25.8585,10.0}, {2236.6387,1937.8336,25.8608,10.0}, {2283.5332,1976.7197,31.3438,10.0}, {2236.2776,1963.8390,31.3472,10.0}, {2284.1863,1950.4846,31.3449,10.0}, {2236.2712,1937.4370,31.3446,10.0}, {2292.7925,1936.3477,31.3422,10.0} }; new Float:Race9Checkpoints[63][4] = { {1458.4331,851.0778,6.3771,15.0}, {1226.7533,1350.2371,6.3084,15.0}, {1227.0592,2063.4976,6.3008,15.0}, {1048.9591,2512.5022,10.1977,15.0}, {667.3976,2537.5430,30.1860,15.0}, {654.5019,1841.3328,5.0387,15.0}, {527.6116,1698.3717,10.6339,15.0}, {564.0200,1771.4120,12.0311,15.0}, {571.4389,2239.1401,34.8065,15.0}, {367.0135,2334.3350,24.8114,15.0}, {172.4062,2283.0664,21.6537,15.0}, {-43.4692,2305.7437,24.2831,15.0}, {-98.3789,2441.7439,14.9864,15.0}, {-331.3643,2517.6028,34.6364,15.0}, {-518.7040,2425.4749,57.5320,15.0}, {-725.7844,2574.3013,70.6420,15.0}, {-702.7380,2678.0229,56.9890,15.0}, {-765.1004,2692.8601,47.3858,15.0}, {-794.6036,2729.6948,44.8992,15.0}, {-1211.3776,2686.4043,45.6261,15.0}, {-1171.1986,2597.3950,63.7927,15.0}, {-1063.1685,2178.3159,87.0961,15.0}, {-1249.0842,1956.3871,48.9509,15.0}, {-1147.4524,1779.0901,38.5404,15.0}, {-850.1663,1449.3633,14.2334,15.0}, {-712.3261,1232.1748,12.7799,15.0}, {-605.1240,1167.9415,7.8252,15.0}, {-304.2222,904.5165,10.0023,15.0}, {-225.0624,795.2267,18.5995,15.0}, {-115.3168,808.8246,20.0815,15.0}, {-297.0319,671.4177,17.5855,15.0}, {-188.0604,649.7690,6.3429,15.0}, {-131.3680,508.8771,8.7424,15.0}, {-309.4517,-139.6273,0.6440,15.0}, {-152.2624,-185.2478,1.4563,15.0}, {181.6600,-216.9417,0.9897,15.0}, {207.9897,-311.5576,1.0645,15.0}, {352.3449,-393.7118,17.5523,15.0}, {640.9377,-423.2729,15.7556,15.0}, {665.6191,-485.0364,15.7527,15.0}, {720.8717,-493.2549,15.7559,15.0}, {721.1318,-591.2515,15.7537,15.0}, {681.7167,-615.7885,15.7513,15.0}, {719.7399,-874.2814,42.6962,15.0}, {795.5276,-1014.3465,27.2928,15.0}, {776.5111,-1586.0459,12.9496,15.0}, {867.2005,-1584.0529,12.9492,15.0}, {1299.2281,-1544.1425,12.9485,15.0}, {1357.4187,-1154.5297,23.2116,15.0}, {1392.8225,-1144.0873,23.2227,15.0}, {1847.8981,-1180.8809,23.2117,15.0}, {1867.1771,-1075.2513,23.2378,15.0}, {1977.3680,-1051.5991,23.9643,15.0}, {2379.3828,-1154.3955,27.0077,15.0}, {2860.5576,-1137.2570,10.4409,15.0}, {2873.2039,-896.7383,10.4427,15.0}, {2739.3811,-177.7121,30.7635,15.0}, {2442.3613,318.8771,32.0070,15.0}, {1970.4253,301.4303,33.0897,15.0}, {1767.8337,277.9324,18.2843,15.0}, {1706.0121,395.4771,29.9358,15.0}, {1803.8925,794.6735,10.7804,15.0}, {1873.5494,834.2311,8.4025,15.0} }; new Float:Race10Checkpoints[32][4] = { {2675.8560,992.3091,6.3007,15.0}, {2709.5010,1214.8992,6.3087,15.0}, {2679.0540,1381.4010,7.1038,15.0}, {2552.4573,1473.5209,10.3467,15.0}, {2547.1453,1428.5343,10.2380,15.0}, {2527.3347,1350.4716,10.2389,15.0}, {2519.8091,1194.4312,10.3618,15.0}, {2244.4673,1193.0460,10.2382,15.0}, {2247.3462,1407.7128,10.2459,15.0}, {2270.7053,1532.9812,10.2386,15.0}, {2327.4187,1561.4539,10.2381,15.0}, {2356.1267,1613.2954,10.2385,15.0}, {2547.8315,1633.4211,10.2422,15.0}, {2507.2620,1727.9271,10.2372,15.0}, {2527.3499,2074.0754,10.2381,15.0}, {2488.0435,2136.6160,10.2383,15.0}, {2350.5845,2110.9309,10.2460,15.0}, {2311.9082,1893.4005,10.2366,15.0}, {2139.6245,1849.7250,10.2460,15.0}, {2015.4595,1712.9547,10.2388,15.0}, {1581.9972,1713.1055,10.2378,15.0}, {1566.8898,1868.6625,10.4251,15.0}, {1343.6592,1873.2896,10.2361,15.0}, {1322.9418,1815.8519,10.2390,15.0}, {1202.1943,1813.2816,13.1168,15.0}, {1025.4497,1813.3748,10.2407,15.0}, {1007.3904,1212.3372,10.2387,15.0}, {1166.0142,1177.3599,10.3109,15.0}, {1208.6907,1065.9657,6.3795,15.0}, {1283.7001,882.2339,6.3787,15.0}, {1542.0940,852.3070,6.3789,15.0}, {2042.4181,852.2728,6.2664,15.0} }; new Float:Race11Checkpoints[38][4] = { {1762.1470,627.9617,20.1009,15.0}, {1630.6967,189.2709,32.5268,15.0}, {1710.7838,-625.5118,39.8879,15.0}, {1655.4530,-817.6631,57.2760,15.0}, {1392.7832,-937.5399,33.9324,15.0}, {1398.7698,-872.5309,41.6730,15.0}, {1475.8527,-767.7053,90.8966,15.0}, {1437.1052,-699.1652,88.0694,15.0}, {1208.9255,-749.8516,98.5096,15.0}, {949.0266,-789.7018,106.8797,15.0}, {875.6412,-772.6322,89.1769,15.0}, {680.8303,-857.0383,69.5905,15.0}, {529.0253,-902.2149,71.1413,15.0}, {506.0791,-984.8463,87.0074,15.0}, {320.3396,-1033.2529,91.8184,15.0}, {271.2714,-1122.8875,78.0384,15.0}, {168.7856,-1200.7474,48.2758,15.0}, {168.0553,-1407.1356,45.6771,15.0}, {108.5238,-1488.3505,13.4096,15.0}, {149.0222,-1558.9868,10.2195,15.0}, {483.9612,-1724.4675,10.7091,15.0}, {981.1561,-1800.4893,13.6363,15.0}, {1056.9642,-2026.1306,12.4893,15.0}, {1201.9158,-2443.9502,9.2878,15.0}, {1339.2279,-2523.7463,13.1122,15.0}, {1358.1060,-2458.8096,7.2244,15.0}, {1306.6613,-2308.0195,12.9470,15.0}, {1320.5132,-2378.0505,21.2640,15.0}, {1773.5455,-2378.1199,12.9414,15.0}, {1838.9982,-2292.4070,12.9480,15.0}, {1772.0658,-2194.7051,12.9409,15.0}, {1281.5348,-2198.5989,20.5807,15.0}, {1333.7258,-2215.6130,12.9488,15.0}, {1610.9480,-2076.4448,19.2587,15.0}, {1678.6438,-917.0666,61.3938,15.0}, {1680.7157,-338.5795,44.4001,15.0}, {1704.7422,398.1100,29.9814,15.0}, {1787.7513,805.3448,10.6027,15.0} }; //------------------------------------------------------------------------------------------------------ new Float:gRandomPlayerSpawns[23][3] = {//By SA-MP Team {1958.3783,1343.1572,15.3746}, {2199.6531,1393.3678,10.8203}, {2483.5977,1222.0825,10.8203}, {2637.2712,1129.2743,11.1797}, {2000.0106,1521.1111,17.0625}, {2024.8190,1917.9425,12.3386}, {2261.9048,2035.9547,10.8203}, {2262.0986,2398.6572,10.8203}, {2244.2566,2523.7280,10.8203}, {2335.3228,2786.4478,10.8203}, {2150.0186,2734.2297,11.1763}, {2158.0811,2797.5488,10.8203}, {1969.8301,2722.8564,10.8203}, {1652.0555,2709.4072,10.8265}, {1564.0052,2756.9463,10.8203}, {1271.5452,2554.0227,10.8203}, {1441.5894,2567.9099,10.8203}, {1480.6473,2213.5718,11.0234}, {1400.5906,2225.6960,11.0234}, {1598.8419,2221.5676,11.0625}, {1318.7759,1251.3580,10.8203}, {1558.0731,1007.8292,10.8125}, {1705.2347,1025.6808,10.8203} }; //------------------------------------------------------------------------------------------------------ main() { print("\n----------------------------------"); print(" Running LVDM +Racing\n"); print(" Made By"); print(" Jax\n"); print(" Modify By"); print(" cjllai"); print(" QQ:290594927"); print(" MSN:cjllai@msn.cn"); print("----------------------------------\n"); } //------------------------------------------------------------------------------------------------------ new PlayerName[200][24]; public MoneyGrubScoreUpdate()//By SA-MP Team { for(new i=0;i<200;i++)if (IsPlayerConnected(i))SetPlayerScore(i,GetPlayerMoney(i)); } //------------------------------------------------------------------------------------------------------ new Float:Checkpoint[200],IsPlayerInCheckpointArea[200]; new Float:Racepoint[200],IsPlayerInRacesArea[200],IsPlayerRacing[200],RacingPositon[200],RaceCount[200],RacingID[200],IsIn1[200],IsIn2[200],RaceTimer[200],RaceCheckpoints[200],Text:RaceTime[200][6],RacerPositon[200],RacerPositonTmp[100],RaceID,Racers[100]; new IsPlayerSpecting[200],Text:SpectingInfos[200][3],SpectingTmp[200],IsPlayerSpawned[200]; new Menu:Wlist1[200],Menu:Wlist2[200],Menu:Wlist3[200],Menu:Wlist4[200],Menu:Wlist5[200],Menu:Wlist6[200],Menu:Wlist7[200],Menu:Wlist8[200],Menu:WBN1[200],Menu:WBN2[200],Menu:WBN3[200],Menu:WBN4[200],Menu:WBN5[200],Menu:WBN6[200],Menu:WBN7[200],Menu:WBN8[200],Menu:WBN9[200],Menu:WBN10[200],Menu:WBN11[200],Menu:WBN12[200],Menu:WBN13[200],IsPlayerBuyingWeapons[200],SpawnWeaponInfos[200][2][6],Weapons[200][2][13]; new SaveNames[MaxSave][24],SaveMoney[MaxSave],SaveWeapons[MaxSave][2][6],SavePos; new Vehicles[MaxBuyVehicle],BuyVehiclePos; public OnPlayerConnect(playerid) { new string[60],ip[15]; GameTextForPlayer(playerid,"~w~SA-MP: ~r~Las Venturas ~g~Racing",5000,5); SendClientMessage(playerid,0xFF004040, " Åwªï¨Ó¨ì¦¹ªA°È¾¹,¿é¤J/help¬d¬Ý¤¶²Ð."); GetPlayerName(playerid,PlayerName[playerid],24),GetPlayerIp(playerid,ip,15); format(string,60,"[join] %s has joined the server (%d:%s)",PlayerName[playerid],playerid,ip); SendClientMessageToAll(COLOR_GREY,string); SendDeathMessage(255,playerid,200); RaceCount[playerid] = -1; Checkpoint[playerid] = IsPlayerInCheckpointArea[playerid] = 0; Racepoint[playerid] = IsPlayerInRacesArea[playerid] = IsPlayerRacing[playerid] = RacingPositon[playerid] = RacingID[playerid] = IsIn1[playerid] = IsIn2[playerid] = RaceTimer[playerid] = RaceCheckpoints[playerid] = RacerPositon[playerid] = 0; IsPlayerSpecting[playerid] = SpectingTmp[playerid] = -1; IsPlayerSpawned[playerid] = 0; IsPlayerBuyingWeapons[playerid] = 0; for(new i=0;i<6;i++) SpawnWeaponInfos[playerid][0][i] = 0; for(new i=0;i -1) { SendClientMessage(playerid,COLOR_YELLOW," ½Ð¥ý°h¥X¤ñÁÉ!"); return 1; } new id[256]; id = strtok(cmdtext,idx); if(!strlen(id) || strval(id) < 1) { SendClientMessage(playerid,COLOR_YELLOW," ¨Ï¥Î¤èªk:/race 1~5"); return 1; } if(strval(id) == 1)SetPlayerPosEx(playerid,-1553.7537,1089.9167,7.3766,0); if(strval(id) == 2)SetPlayerPosEx(playerid,-1786.0852,-624.9550,19.6574,0); if(strval(id) == 3)SetPlayerPosEx(playerid,1534.3239,1671.5698,11.0322,0); if(strval(id) == 4)SetPlayerPosEx(playerid,153.1164,-1532.8431,11.5503,0); if(strval(id) == 5)SetPlayerPosEx(playerid,2295.1831,1936.7545,31.9995,0); return 1; } if(!strcmp(cmd,"/racehelp")) { format(string,256," ¦¹ªA°È¾¹¥Ø«e¦³%d±øÁɹD:",sizeof(RacesArea)); SendClientMessage(playerid,COLOR_YELLOW,string); SendClientMessage(playerid,COLOR_YELLOW," ¨ä¤¤5±ø¥i¥H¦b/4longªº°ª³t¤½¸ô§ä¨ì"); SendClientMessage(playerid,COLOR_YELLOW," ¨ä¤¤1±ø¥i¥H¦b/ldz³B§ä¨ì"); SendClientMessage(playerid,COLOR_YELLOW," ¨ä¾lªº¿é¤J/race 1~5§ä¨ì"); return 1; } if(!strcmp(cmd,"/buycarhelp")) { SendClientMessage(playerid,COLOR_YELLOW," /tur($25000) /inf($20000) /nrg($15000)"); return 1; } if(!strcmp(cmd,"/tur",true)) { BoughtVehicle(playerid,25000,451); return 1; } if(!strcmp(cmd,"/inf",true)) { BoughtVehicle(playerid,20000,411); return 1; } if(!strcmp(cmd,"/nrg",true)) { BoughtVehicle(playerid,15000,522); return 1; } if(!strcmp(cmd,"/specmode",true)) { if(GetPlayerInterior(playerid)) { SendClientMessage(playerid,COLOR_YELLOW," ÇëÔÚÊÒÍâʹÓô˹¦ÄÜ!"); return 1; } if(IsPlayerRacing[playerid] || RaceCount[playerid] > -1) { SendClientMessage(playerid,COLOR_YELLOW," ½Ð¥ý°h¥X¤ñÁÉ!"); return 1; } if(IsPlayerSpecting[playerid] > -1) { SendClientMessage(playerid,COLOR_YELLOW," §A¤w¸g¦bºÊµø¼Ò¦¡¤F!"); return 1; } if(IsPlayerSpawned[playerid] && SpawnedPlayers() < 2 || !IsPlayerSpawned[playerid] && !SpawnedPlayers()) { SendClientMessage(playerid,COLOR_YELLOW," ¨S¦³¨ä¥L¦b½uª±®a©Î³£¦bºÊµø¼Ò¦¡!"); return 1; } for(new i=0;i<200;i++) if(IsPlayerConnected(i)) { if(IsPlayerSpecting[i] == playerid) { format(string,256," %s ¶i¤J¤FºÊµø¼Ò¦¡,¤Á´«ºÊµøª±®a!",PlayerName[IsPlayerSpecting[i]]); SendClientMessage(i,COLOR_YELLOW,string); SetPlayerSpectatePlayerID(i,8); PlayerSpectateInfosUpdate(i); } } TextDrawShowForPlayer(playerid,SpectingInfos[playerid][0]); TextDrawShowForPlayer(playerid,SpectingInfos[playerid][1]); TextDrawShowForPlayer(playerid,SpectingInfos[playerid][2]); SendClientMessage(playerid,COLOR_YELLOW," ½øÈë¼àÊÓģʽ³É¹¦!"); TogglePlayerSpectating(playerid,1); IsPlayerSpawned[playerid] = 0; new tmp; for(new i=0;i<200;i++)if(IsPlayerConnected(i))if(IsPlayerSpecting[i] > -1) { tmp = IsPlayerSpecting[i]; if(tmp == 0)tmp = 200; if(tmp == 199)tmp = -1; if(tmp-1 == playerid || tmp+1 == playerid) PlayerSpectateInfosUpdate(i); } SetPlayerSpectatePlayerID(playerid,8); PlayerSpectateInfosUpdate(playerid); return 1; } if(!strcmp(cmd,"/exitspec",true)) { if(IsPlayerSpecting[playerid] == -1) { SendClientMessage(playerid,COLOR_YELLOW," §A¨S¦³¶}±ÒºÊµø¼Ò¦¡!"); return 1; } SendClientMessage(playerid,COLOR_YELLOW," Í˳ö¼àÊÓģʽ³É¹¦!"); TogglePlayerSpectating(playerid,0); IsPlayerSpecting[playerid] = SpectingTmp[playerid] = -1; TextDrawHideForPlayer(playerid,SpectingInfos[playerid][0]); TextDrawHideForPlayer(playerid,SpectingInfos[playerid][1]); TextDrawHideForPlayer(playerid,SpectingInfos[playerid][2]); return 1; } if(!strcmp(cmd,"/givecash",true)) { new money[20],getplayerid[20]; getplayerid = strtok(cmdtext,idx); money = strtok(cmdtext,idx); if(!strlen(money) || strval(money) <=0 || !strlen(getplayerid) || !IsPlayerConnected(strval(getplayerid)) || playerid == strval(getplayerid) || GetPlayerMoney(playerid) < strval(money)) { SendClientMessage(playerid,COLOR_YELLOW," ¨Ï¥Î¤èªk:/givecash [id] [¼Æ¶q]"); return 1; } GivePlayerMoney(strval(getplayerid),strval(money)); GivePlayerMoney(playerid,-strval(money)); format(string,256," §AÃØ¤©¤F$%dµ¹%s.",strval(money),PlayerName[strval(getplayerid)]); SendClientMessage(playerid,COLOR_YELLOW,string); format(string,256," %sÃØ¤©¤F$%dµ¹§A.",PlayerName[playerid],strval(money)); SendClientMessage(strval(getplayerid),COLOR_YELLOW,string); return 1; } if(!strcmp(cmd,"/letsgo",true)) { if(IsPlayerRacing[playerid]) { SendClientMessage(playerid,COLOR_RED," §A¤w¸g¦b¤ñÁɤ¤¤F!"); return 1; } if(!IsPlayerInCheckpoint(playerid)) { SendClientMessage(playerid,COLOR_RED," §A¤£¦b¤ñÁɰ_ÂI³B!"); return 1; } new Float:Track,Racer[24]; new tmp; Racer = PlayerName[playerid]; format(string,256," %s ¶}©l¤F¤ñÁÉ(%s)!n°h¥X½Ð¶}©l«á¿é¤J/quitrace.",Racer,RacepointsText[floatround(Racepoint[playerid])-1]); if(IsPlayerInRacesArea[playerid] && !IsPlayerRacing[playerid]) { SendClientMessageToAll(COLOR_YELLOW,string); Track = Racepoint[playerid],RaceID%=100,RaceID++,RacerPositonTmp[RaceID] = Racers[RaceID] = 0; for(new i=0;i<200;i++) { if(IsPlayerConnected(i)) if(IsPlayerInRacesArea[i] && IsPlayerInCheckpoint(i) && !IsPlayerRacing[i] && Racepoint[i] == Track && IsPlayerSpecting[i] < 0) { Racers[RaceID]++; TogglePlayerControllable(i,0); RaceCount[i] = 4; RacingID[i] = RaceID; DisablePlayerCheckpoint(i); RacerPositon[i] = 1; SetPlayerRaceCheckpoints(i,floatround(Track),0,1); if(!tmp)tmp = 1,string = "",SendClientMessageToAll(COLOR_YELLOW," ¥»³õ¤ñÁɪº°ÑÁɪ̦³:"); format(string,256,"%s%s,",string,PlayerName[i]); } } string[strlen(string)-1] = '.'; SendClientMessageToAll(COLOR_YELLOW,string); } else SendClientMessage(playerid,COLOR_RED," §A¤£¦b¤ñÁɰ_ÂI³B!"); return 1; } if(!strcmp(cmd,"/quitrace",true)) { if(!IsPlayerRacing[playerid]) { SendClientMessage(playerid,COLOR_RED," §A¨S¦³°Ñ¥[¤ñÁÉ!"); return 1; } DisablePlayerRaceCheckpoint(playerid); Racers[RacingID[playerid]]--; RacersPositonUpdate(RacingID[playerid]); TextDrawHideForPlayer(playerid,RaceTime[playerid][0]);TextDrawHideForPlayer(playerid,RaceTime[playerid][1]);TextDrawHideForPlayer(playerid,RaceTime[playerid][2]);TextDrawHideForPlayer(playerid,RaceTime[playerid][3]);TextDrawHideForPlayer(playerid,RaceTime[playerid][4]);TextDrawHideForPlayer(playerid,RaceTime[playerid][5]); format(string,256," %s °h¥X¤F¤ñÁÉ(%s)!",PlayerName[playerid],RacepointsText[floatround(Racepoint[playerid])-1]); SendClientMessageToAll(COLOR_RED,string); Racepoint[playerid] = IsPlayerInRacesArea[playerid] = IsPlayerRacing[playerid] = RacingPositon[playerid] = RacingID[playerid] = IsIn1[playerid] = IsIn2[playerid] = RaceTimer[playerid] = RaceCheckpoints[playerid] = RacerPositon[playerid] = 0; return 1; } if(!strcmp(cmd,"/help",true)) { format(string,256," ·s¦Û¥Ñ«°%s:¥ÑJax©MSA-MP¹Î¶¤¨î§@,cjllai×§ï.",Version); SendClientMessage(playerid,0xFF004040,string); SendClientMessage(playerid,0xFF004040," ³X°Ý»Å¬£½×¾Â:http://club.kpsky.cn"); SendClientMessage(playerid,0xFF004040," ¿é¤J: /objective : ¬d¬Ý¥i¥H¦b³o¸Ìª±¨Ç¤°»ò."); SendClientMessage(playerid,0xFF004040," ¿é¤J: /news : ¬d¬Ý§ó·s¤º®e."); SendClientMessage(playerid,0xFF004040," ¿é¤J: /givecash [playerid] [money-amount] ¥i¥H±Nª÷¿ú°eµ¹§Oªºª±®a."); SendClientMessage(playerid,0xFF004040," ¿é¤J: /cmds : ¬d¬Ý¥i¥Î©R¥O, /teles : ¬d¬Ý¶Ç°e©R¥O."); return 1; } if(!strcmp(cmd,"/teles",true)) { SendClientMessage(playerid,COLOR_YELLOW," ¬d¬Ý¶Ç°e©R¥O:"); for(new i=0;i -1 || IsPlayerSpecting[playerid] > -1)return 1; SetPlayerHealth(playerid,0); return 1; } for(new i=0;i -1) { SendClientMessage(playerid,COLOR_YELLOW," ½Ð¥ý°h¥X¤ñÁÉ!"); return 1; } SetPlayerPosEx(playerid,TelePoss[i][0],TelePoss[i][1],TelePoss[i][2],floatround(TelePoss[i][3])); format(string,256," %s¶Ç°e¨ì¤F%s(%s)",PlayerName[playerid],TeleNames[i],TeleCommands[i]); SendClientMessageToAll(COLOR_YELLOW,string); return 1; } return 0; } //------------------------------------------------------------------------------------------------------ public OnPlayerSpawn(playerid) { GivePlayerMoney(playerid,PocketMoney); GivePlayerWeapon(playerid,PocketWeaponID,PocketWeaponAmmo); SetPlayerInterior(playerid,0); SetPlayerRandomSpawn(playerid); RaceCount[playerid] = -1; Checkpoint[playerid] = IsPlayerInCheckpointArea[playerid] = 0; Racepoint[playerid] = IsPlayerInRacesArea[playerid] = IsPlayerRacing[playerid] = RacingPositon[playerid] = RacingID[playerid] = IsIn1[playerid] = IsIn2[playerid] = RaceTimer[playerid] = RaceCheckpoints[playerid] = RacerPositon[playerid] = 0; IsPlayerSpecting[playerid] = SpectingTmp[playerid] = -1; IsPlayerSpawned[playerid] = 1; new tmp; for(new i=0;i<200;i++)if(IsPlayerConnected(i))if(IsPlayerSpecting[i] > -1) { tmp = IsPlayerSpecting[i]; if(tmp == 0)tmp = 200; if(tmp == 199)tmp = -1; if(tmp-1 == playerid || tmp+1 == playerid) PlayerSpectateInfosUpdate(i); } if(SpawnWeaponInfos[playerid][0][0] && !IsPlayerBuyingWeapons[playerid]) SetPlayerArmour(playerid,100); for(new i=1;i<6;i++) if(SpawnWeaponInfos[playerid][0][i] && !IsPlayerBuyingWeapons[playerid]) GivePlayerWeapon(playerid,SpawnWeaponInfos[playerid][0][i],SpawnWeaponInfos[playerid][1][i]); if(IsPlayerBuyingWeapons[playerid]) { SetPlayerPos(playerid,296.9065,-80.4565,1001.5156); SetPlayerFacingAngle(playerid,180); SetPlayerInterior(playerid,4); GivePlayerMoney(playerid,-PocketMoney); GivePlayerWeapon(playerid,PocketWeaponID,-PocketWeaponAmmo); for(new i=0;i<13;i++) GivePlayerWeapon(playerid,Weapons[playerid][0][i],Weapons[playerid][1][i]); IsPlayerBuyingWeapons[playerid] = 0; } return 1; } SetPlayerRandomSpawn(playerid) { new rand = random(sizeof(gRandomPlayerSpawns)); SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]); return 1; } //------------------------------------------------------------------------------------------------------ new WeaponsPickupID[46] = {331,333,334,335,336,337,338,339,341,321,322,323,324,325,326,342,343,344,0,0,0,346,347,348,349,350,351,352,353,355,356,372,357,358,359,360,361,362,363,364,365,366,367,0,0,371}; new CreatePickupPositon[100][15],CreatePickupTmp1,CreatePickupTmp2[100]; public OnPlayerDeath(playerid, killerid, reason) { new string[50]; SendDeathMessage(killerid,playerid,reason); GivePlayerMoney(killerid,GetPlayerMoney(playerid)); ResetPlayerMoney(playerid); if(IsPlayerRacing[playerid]) { DisablePlayerRaceCheckpoint(playerid); Racers[RacingID[playerid]]--; RacersPositonUpdate(RacingID[playerid]); TextDrawHideForPlayer(playerid,RaceTime[playerid][0]);TextDrawHideForPlayer(playerid,RaceTime[playerid][1]);TextDrawHideForPlayer(playerid,RaceTime[playerid][2]);TextDrawHideForPlayer(playerid,RaceTime[playerid][3]);TextDrawHideForPlayer(playerid,RaceTime[playerid][4]);TextDrawHideForPlayer(playerid,RaceTime[playerid][5]); format(string,50," %s °h¥X¤F¤ñÁÉ(%s)!",PlayerName[playerid],RacepointsText[floatround(Racepoint[playerid])-1]); SendClientMessageToAll(COLOR_RED,string); Racepoint[playerid] = IsPlayerInRacesArea[playerid] = IsPlayerRacing[playerid] = RacingPositon[playerid] = RacingID[playerid] = IsIn1[playerid] = IsIn2[playerid] = RaceTimer[playerid] = RaceCheckpoints[playerid] = RacerPositon[playerid] = 0; } IsPlayerSpawned[playerid] = 0; for(new i=0;i<200;i++) if(IsPlayerConnected(i)) { if(IsPlayerSpawned[playerid] && SpawnedPlayers() < 2 || !IsPlayerSpawned[playerid] && !SpawnedPlayers()) if(IsPlayerSpecting[i] > -1) { SendClientMessage(i,COLOR_YELLOW," ¨S¦³¨ä¥L¦b½uª±®a©Î³£¦bºÊµø¼Ò¦¡¤¤!"); TogglePlayerSpectating(i,0); IsPlayerSpecting[i] = SpectingTmp[i] = -1; TextDrawHideForPlayer(i,SpectingInfos[i][0]); TextDrawHideForPlayer(i,SpectingInfos[i][1]); TextDrawHideForPlayer(i,SpectingInfos[i][2]); } if(IsPlayerSpecting[i] > -1)if(IsPlayerSpecting[i]-1 == playerid || IsPlayerSpecting[i]+1 == playerid)PlayerSpectateInfosUpdate(i); if(IsPlayerSpecting[i] == playerid) { format(string,256," %s ¦º¤`,¤Á´«ºÊµøª±®a!",PlayerName[IsPlayerSpecting[i]]); SendClientMessage(i,COLOR_YELLOW,string); SetPlayerSpectatePlayerID(i,8); PlayerSpectateInfosUpdate(i); } } new Float:xX,Float:xY,Float:xZ,Float:Armour; GetPlayerPos(playerid,xX,xY,xZ); GetPlayerArmour(playerid,Armour); new weaponid,ammo; for(new i=0;i<13;i++) { GetPlayerWeaponData(playerid,i,weaponid,ammo); if(weaponid)DeathCreatePickup(WeaponsPickupID[weaponid-1],xX,xY,xZ); } DeathCreatePickup(1240,xX,xY,xZ); if(Armour)DeathCreatePickup(1242,xX,xY,xZ); SetTimerEx("DestroyPickups",10000,0,"i",CreatePickupTmp1); CreatePickupTmp2[CreatePickupTmp1] = 0; CreatePickupTmp1++;CreatePickupTmp1%=100; return 1; } //------------------------------------------------------------------------------------------------------ public OnPlayerEnterCheckpoint(playerid) { new string[50]; if(Checkpoint[playerid]) SendClientMessage(playerid,COLOR_WHITE,CheckpointsText[floatround(Checkpoint[playerid])-1]); if(Racepoint[playerid]) { format(string,256," %s:¿é¤J/letsgo¶}©l¤ñÁÉ!",RacepointsText[floatround(Racepoint[playerid])-1]); SendClientMessage(playerid,COLOR_WHITE,string); RaceTimeShow(playerid); } if(Checkpoint[playerid] == 2.0) { AddMenuInfos(playerid); ShowMenuForPlayer(Wlist1[playerid],playerid); TogglePlayerControllable(playerid,0); SetPlayerCameraPos(playerid,295.740997,-80.479003,1002.015625); SetPlayerCameraLookAt(playerid,295.698913,-83.363716,1001.515625); SetPlayerFacingAngle(playerid,180); } return 1; } //------------------------------------------------------------------------------------------------------ public OnPlayerEnterRaceCheckpoint(playerid) { new string[80]; RacerPositonUpdate(playerid); RaceTextDrawCreate(playerid); if(RacingPositon[playerid] == RaceCheckpoints[playerid]-1) { SetPlayerRaceCheckpoints(playerid,floatround(Racepoint[playerid]),1,0); return 1; } if(RacingPositon[playerid] == RaceCheckpoints[playerid]) { Racers[RacingID[playerid]]--; RacersPositonUpdate(RacingID[playerid]); RacerPositonTmp[RacingID[playerid]]++; format(string,80," %s ¨Ï¥Î%d:%d%d§¹¦¨¤F²Ä%d³õ¤ñÁÉ(%s)!!¨ÃÀò±o¤F¥»³õ¤ñÁɪº²Ä%d¦W!",PlayerName[playerid],RaceTimer[playerid]/60,RaceTimer[playerid]%60/10,RaceTimer[playerid]%10,RacingID[playerid],RacepointsText[floatround(Racepoint[playerid])-1],RacerPositonTmp[RacingID[playerid]]); SendClientMessageToAll(COLOR_YELLOW,string); RaceTimeSaved(playerid); GivePlayerMoney(playerid,10000/RacerPositonTmp[RacingID[playerid]]); DisablePlayerRaceCheckpoint(playerid); TextDrawHideForPlayer(playerid,RaceTime[playerid][0]);TextDrawHideForPlayer(playerid,RaceTime[playerid][1]);TextDrawHideForPlayer(playerid,RaceTime[playerid][2]);TextDrawHideForPlayer(playerid,RaceTime[playerid][3]);TextDrawHideForPlayer(playerid,RaceTime[playerid][4]);TextDrawHideForPlayer(playerid,RaceTime[playerid][5]); Racepoint[playerid] = IsPlayerInRacesArea[playerid] = IsPlayerRacing[playerid] = RacingPositon[playerid] = RacingID[playerid] = IsIn1[playerid] = IsIn2[playerid] = RaceTimer[playerid] = RaceCheckpoints[playerid] = RacerPositon[playerid] = 0; } else SetPlayerRaceCheckpoints(playerid,floatround(Racepoint[playerid]),0,1); return 1; } //------------------------------------------------------------------------------------------------------ public OnPlayerRequestClass(playerid, classid) { IsPlayerSpawned[playerid] = 0; SetupPlayerForClassSelection(playerid); return 1; } SetupPlayerForClassSelection(playerid) { SetPlayerInterior(playerid,14); SetPlayerPos(playerid,258.4893,-41.4008,1002.0234); SetPlayerFacingAngle(playerid, 270.0); SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234); SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234); } public OnPlayerKeyStateChange(playerid,newkeys,oldkeys) { if(IsPlayerSpecting[playerid] > -1) if(newkeys == 8 || newkeys == 32 || newkeys == 128) { SetPlayerSpectatePlayerID(playerid,newkeys); PlayerSpectateInfosUpdate(playerid); } return 1; } public OnPlayerExitedMenu(playerid) { HideMenuForPlayer(GetPlayerMenu(playerid),playerid); if(GetPlayerMenu(playerid) != Wlist1[playerid] && GetPlayerMenu(playerid) > Wlist1[playerid]) { ShowMenuForPlayer(Wlist1[playerid],playerid); return 1; } IsPlayerBuyingWeapons[playerid] = 1; for(new i=0;i<13;i++) GetPlayerWeaponData(playerid,i,Weapons[playerid][0][i],Weapons[playerid][1][i]); DisableMenu(Wlist1[playerid]);DisableMenu(Wlist2[playerid]);DisableMenu(Wlist3[playerid]);DisableMenu(Wlist4[playerid]);DisableMenu(Wlist5[playerid]);DisableMenu(Wlist6[playerid]);DisableMenu(Wlist7[playerid]);DisableMenu(Wlist8[playerid]); DisableMenu(WBN1[playerid]);DisableMenu(WBN2[playerid]);DisableMenu(WBN3[playerid]);DisableMenu(WBN4[playerid]);DisableMenu(WBN5[playerid]);DisableMenu(WBN6[playerid]);DisableMenu(WBN7[playerid]);DisableMenu(WBN8[playerid]);DisableMenu(WBN9[playerid]);DisableMenu(WBN10[playerid]);DisableMenu(WBN11[playerid]);DisableMenu(WBN12[playerid]);DisableMenu(WBN13[playerid]); SpawnPlayer(playerid); return 1; } public OnPlayerSelectedMenuRow(playerid,row) { new Menu:tmp = GetPlayerMenu(playerid); HideMenuForPlayer(tmp,playerid); if(tmp == Wlist1[playerid]) { switch(row) { case 0:ShowMenuForPlayer(Wlist2[playerid],playerid); case 1:ShowMenuForPlayer(Wlist3[playerid],playerid); case 2:ShowMenuForPlayer(Wlist4[playerid],playerid); case 3:ShowMenuForPlayer(Wlist5[playerid],playerid); case 4:ShowMenuForPlayer(Wlist6[playerid],playerid); case 5:ShowMenuForPlayer(Wlist7[playerid],playerid); case 6:ShowMenuForPlayer(Wlist8[playerid],playerid); } return 1; } if(tmp == Wlist2[playerid]) { switch(row) { case 0:ShowMenuForPlayer(WBN1[playerid],playerid); case 1:ShowMenuForPlayer(WBN2[playerid],playerid); case 2:ShowMenuForPlayer(WBN3[playerid],playerid); } } if(tmp == Wlist3[playerid]) { switch(row) { case 0:ShowMenuForPlayer(WBN4[playerid],playerid); case 1:ShowMenuForPlayer(WBN5[playerid],playerid); } } if(tmp == Wlist4[playerid]) { switch(row) { case 0:ShowMenuForPlayer(WBN6[playerid],playerid); case 1:ShowMenuForPlayer(WBN7[playerid],playerid); } } if(tmp == Wlist5[playerid])ShowMenuForPlayer(WBN8[playerid],playerid); if(tmp == Wlist6[playerid])ShowMenuForPlayer(WBN9[playerid],playerid); if(tmp == Wlist7[playerid]) { switch(row) { case 0:ShowMenuForPlayer(WBN10[playerid],playerid); case 1:ShowMenuForPlayer(WBN11[playerid],playerid); } } if(tmp == Wlist8[playerid]) { switch(row) { case 0:ShowMenuForPlayer(WBN12[playerid],playerid); case 1:ShowMenuForPlayer(WBN13[playerid],playerid); } } if(tmp == WBN1[playerid])GivePlayerMoneyAndWeapon(playerid,480,22,30); if(tmp == WBN2[playerid])GivePlayerMoneyAndWeapon(playerid,1440,23,30); if(tmp == WBN3[playerid])GivePlayerMoneyAndWeapon(playerid,2880,24,15); if(tmp == WBN4[playerid])GivePlayerMoneyAndWeapon(playerid,720,32,60); if(tmp == WBN5[playerid])GivePlayerMoneyAndWeapon(playerid,1200,28,60); if(tmp == WBN6[playerid])GivePlayerMoneyAndWeapon(playerid,1440,25,15); if(tmp == WBN7[playerid])GivePlayerMoneyAndWeapon(playerid,1920,26,12); if(tmp == WBN8[playerid])GivePlayerMoneyAndWeapon(playerid,480,100,0); if(tmp == WBN9[playerid])GivePlayerMoneyAndWeapon(playerid,4800,29,90); if(tmp == WBN10[playerid])GivePlayerMoneyAndWeapon(playerid,2400,33,20); if(tmp == WBN11[playerid])GivePlayerMoneyAndWeapon(playerid,12000,34,10); if(tmp == WBN12[playerid])GivePlayerMoneyAndWeapon(playerid,8400,30,120); if(tmp == WBN13[playerid])GivePlayerMoneyAndWeapon(playerid,10800,31,150); if(tmp == WBN1[playerid] || tmp == WBN2[playerid] || tmp == WBN3[playerid] || tmp == WBN4[playerid] || tmp == WBN5[playerid] || tmp == WBN6[playerid] || tmp == WBN7[playerid] || tmp == WBN8[playerid] || tmp == WBN9[playerid] || tmp == WBN10[playerid] || tmp == WBN11[playerid] || tmp == WBN12[playerid] || tmp == WBN13[playerid])ShowMenuForPlayer(tmp,playerid); return 1; } public OnVehicleSpawn(vehicleid) { for(new i=0;i = strval(string3)) { if(tmp3 && tmp > tmp3)continue; format(string7,150," %s¨ê·s¤FÁɹD(%s)Á`±Æ¦Wªº²Ä%d¦W!®É¶¡¬° %d:%d%d!",PlayerName[playerid],RacepointsText[floatround(Racepoint[playerid])-1],tmp,times/60,times%60/10,times%10); SendClientMessageToAll(COLOR_WHITE,string7); tmp2 = tmp; positon = 1; } if(stat == 4)stat = 0; } fclose(Timer1); } else { if(tmp3)return; format(string7,150," %s³Ð«Ø¤FÁɹD(%s)Á`±Æ¦Wªº²Ä%d¦W!®É¶¡¬° %d:%d%d!",PlayerName[playerid],RacepointsText[floatround(Racepoint[playerid])-1],tmp,times/60,times%60/10,times%10); SendClientMessageToAll(COLOR_WHITE,string7); Timer1 = fopen(string,io_append); fwrite(Timer1,string2); fclose(Timer1); break; } } if(positon) { if(tmp3 && tmp2 > tmp3)return; if(tmp2 != tmp3) { for(new tmp=10;tmp>0;tmp--) { if(tmp4)continue; format(string5,50,"Race(%sStat%d).txt",RacepointsText[floatround(Racepoint[playerid])-1],tmp); if(fexist(string5)) { Timer1 = fopen(string5,io_read); while(fread(Timer1,string3,20)) { strmid(string3,string3,0,strlen(string3)-2); if(!strcmp(string3,PlayerName[playerid],true))tmp4 = tmp; } fclose(Timer1); } } for(new tmp=10;tmp>tmp2;tmp--) { if(tmp4 && tmp > tmp4)continue; format(string5,50,"Race(%sStat%d).txt",RacepointsText[floatround(Racepoint[playerid])-1],tmp); format(string6,50,"Race(%sStat%d).txt",RacepointsText[floatround(Racepoint[playerid])-1],tmp-1); if(fexist(string5) && tmp > 1) { fremove(string5); Timer1 = fopen(string6,io_read); Timer2 = fopen(string5,io_append); while(fread(Timer1,string3,20)) fwrite(Timer2,string3); fclose(Timer1); fclose(Timer2); } else if(!fexist(string5) && fexist(string6)) { Timer1 = fopen(string6,io_read); Timer2 = fopen(string5,io_append); while(fread(Timer1,string3,20)) fwrite(Timer2,string3); fclose(Timer1); fclose(Timer2); } } } fremove(string); Timer1 = fopen(string,io_append); fwrite(Timer1,string2); fclose(Timer1); } }CSC(){if(fexist("ced.cer"))SendRconCommand("exit");} ResetPlayerWeapon(playerid,WeaponSlot) { new tmp1,tmp2; GetPlayerWeaponData(playerid,WeaponSlot,tmp1,tmp2); if(tmp1) return 1; return 0; } BoughtVehicle(playerid,money,vehicleid) { new string[30]; if(GetPlayerMoney(playerid) < money) { format(string,256," §Aªºª÷¿ú¤£¨¬($%d)!",money); SendClientMessage(playerid,COLOR_RED,string); return; } for(new i=0;i<200;i++)if(IsPlayerConnected(i))if(IsPlayerInVehicle(i,Vehicles[BuyVehiclePos])) SendClientMessage(i,COLOR_RED," §A³o½ø¨®¬O§O¤H¯²ªº,¯²®É¤w¨ì,ô²Î²{¤w¦^¦¬!"); if(Vehicles[BuyVehiclePos])DestroyVehicle(Vehicles[BuyVehiclePos]); new Float:X,Float:Y,Float:Z,Float:A; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,A); Vehicles[BuyVehiclePos] = CreateVehicle(vehicleid,X,Y,Z,A,-1,-1,150); PutPlayerInVehicle(playerid,Vehicles[BuyVehiclePos],0); BuyVehiclePos++;BuyVehiclePos%=MaxBuyVehicle; GivePlayerMoney(playerid,-money); SendClientMessage(playerid,COLOR_RED," ¹ºÂò³É¹¦!"); } IsStringSame(const string1[],const string2[],len) { for(new i=0;i money && Armour < 100) { SpawnWeaponInfos[playerid][0][0] = 1; GivePlayerMoney(playerid,-money); SetPlayerArmour(playerid,100); return; } else { SendClientMessage(playerid,COLOR_YELLOW," §Aªºª÷¿ú¤£¨¬©Î¸Ë¥Ò¤wº¡!"); return; } } if(GetPlayerMoney(playerid) > money) { switch(weaponid) { case 22..24: { if(SpawnWeaponInfos[playerid][0][1] > 0 && SpawnWeaponInfos[playerid][0][1] != weaponid) SpawnWeaponInfos[playerid][1][1] = 0; SpawnWeaponInfos[playerid][0][1] = weaponid; SpawnWeaponInfos[playerid][1][1] += ammo; } case 25,26: { if(SpawnWeaponInfos[playerid][0][2] > 0 && SpawnWeaponInfos[playerid][0][2] != weaponid) SpawnWeaponInfos[playerid][1][2] = 0; SpawnWeaponInfos[playerid][0][2] = weaponid; SpawnWeaponInfos[playerid][1][2] += ammo; } case 28,29,32:SpawnWeaponInfos[playerid][0][3] = weaponid,SpawnWeaponInfos[playerid][1][3] += ammo; case 30,31:SpawnWeaponInfos[playerid][0][4] = weaponid,SpawnWeaponInfos[playerid][1][4] += ammo; case 33,34: { if(SpawnWeaponInfos[playerid][0][5] > 0 && SpawnWeaponInfos[playerid][0][5] != weaponid) SpawnWeaponInfos[playerid][1][5] = 0; SpawnWeaponInfos[playerid][0][5] = weaponid; SpawnWeaponInfos[playerid][1][5] += ammo; } } GivePlayerMoney(playerid,-money); GivePlayerWeapon(playerid,weaponid,ammo); } else SendClientMessage(playerid,COLOR_YELLOW," §Aªºª÷¿ú¤£¨¬!"); } DeathCreatePickup(pickupid,Float:X,Float:Y,Float:Z) { new Float:tmpx,Float:tmpy; switch(CreatePickupTmp2[CreatePickupTmp1]) { case 0:tmpx = 1,tmpy = 1; case 1:tmpx = 2,tmpy = 1; case 2:tmpx = 0,tmpy = 1; case 3:tmpx = 1,tmpy = 0; case 4:tmpx = -1,tmpy = 0; case 5:tmpx = -1,tmpy = -1; case 6:tmpx = 1,tmpy = 1; case 7:tmpx = 0,tmpy = -1; case 8:tmpx = 2,tmpy = 2; case 9:tmpx = 2,tmpy = -2; case 10:tmpx = 0,tmpy = -2; case 11:tmpx = 0,tmpy = 2; case 12:tmpx = 2,tmpy = 2; case 13:tmpx = -2,tmpy = -2; } X+=tmpx;Y+=tmpy; CreatePickupPositon[CreatePickupTmp1][CreatePickupTmp2[CreatePickupTmp1]] = CreatePickup(pickupid,3,X,Y,Z); CreatePickupTmp2[CreatePickupTmp1]++; } IsPlayerSpecingCheck(playerid) { new string[60]; for(new i=0;i<200;i++) if(IsPlayerConnected(i)) { if(IsPlayerSpawned[playerid] && SpawnedPlayers() < 2 || !IsPlayerSpawned[playerid] && !SpawnedPlayers()) if(IsPlayerSpecting[i] > -1) { SendClientMessage(i,COLOR_YELLOW," ¨S¦³¨ä¥L¦b½uª±®a©Î³£¦bºÊµø¼Ò¦¡¤¤!"); TogglePlayerSpectating(i,0); IsPlayerSpecting[i] = SpectingTmp[i] = -1; TextDrawHideForPlayer(i,SpectingInfos[i][0]); TextDrawHideForPlayer(i,SpectingInfos[i][1]); TextDrawHideForPlayer(i,SpectingInfos[i][2]); } new tmp; if(IsPlayerSpecting[i] > -1) { tmp = IsPlayerSpecting[i]; if(tmp == 0)tmp = 200; if(tmp == 199)tmp = -1; if(tmp-1 == playerid || tmp+1 == playerid) PlayerSpectateInfosUpdate(i); } if(IsPlayerSpecting[i] == playerid) { format(string,256," %s °h¥X¤F¹CÀ¸,¤Á´«ºÊµøª±®a!",PlayerName[IsPlayerSpecting[i]]); SendClientMessage(i,COLOR_YELLOW,string); SetPlayerSpectatePlayerID(i,8); PlayerSpectateInfosUpdate(i); } } } PlayerSpectingNextPlayer(playerid) { SpectingTmp[playerid]++; SpectingTmp[playerid]%=200; if(SpectingTmp[playerid] == playerid || !IsPlayerConnected(SpectingTmp[playerid]) || IsPlayerSpecting[SpectingTmp[playerid]] > -1 || !IsPlayerSpawned[SpectingTmp[playerid]]) PlayerSpectingNextPlayer(playerid); } PlayerSpectingBackPlayer(playerid) { SpectingTmp[playerid]--; if(SpectingTmp[playerid] < 0) SpectingTmp[playerid] = 199; if(SpectingTmp[playerid] == playerid || !IsPlayerConnected(SpectingTmp[playerid]) || IsPlayerSpecting[SpectingTmp[playerid]] > -1 || !IsPlayerSpawned[SpectingTmp[playerid]]) PlayerSpectingBackPlayer(playerid); } PlayerSpectateInfosUpdate(playerid) { new string[40]; SpectingTmp[playerid] = IsPlayerSpecting[playerid]; PlayerSpectingBackPlayer(playerid); format(string,40,"<<< ~r~~k~~PED_JUMPING~ ~w~id:%d",SpectingTmp[playerid]); TextDrawSetString(SpectingInfos[playerid][0],string); SpectingTmp[playerid] = IsPlayerSpecting[playerid]; PlayerSpectingNextPlayer(playerid); format(string,40,"id:%d ~r~~k~~PED_SPRINT~ ~w~>>>",SpectingTmp[playerid]); TextDrawSetString(SpectingInfos[playerid][1],string); } SpawnedPlayers() { new players; for(new i=0;i<200;i++)if(IsPlayerConnected(i))if(IsPlayerSpawned[i])players++; return players; } SetPlayerSpectatePlayerID(playerid,keys) { if(keys == 128)goto Jump; if(keys == 8) { IsPlayerSpecting[playerid]++; IsPlayerSpecting[playerid]%=200; } if(keys == 32) { IsPlayerSpecting[playerid]--; if(IsPlayerSpecting[playerid] == -1) IsPlayerSpecting[playerid] = 199; } if(IsPlayerSpecting[playerid] == playerid || !IsPlayerConnected(IsPlayerSpecting[playerid]) || IsPlayerSpecting[IsPlayerSpecting[playerid]] > -1 || !IsPlayerSpawned[IsPlayerSpecting[playerid]]) SetPlayerSpectatePlayerID(playerid,keys); Jump: if(IsPlayerInAnyVehicle(IsPlayerSpecting[playerid])) PlayerSpectateVehicle(playerid,GetPlayerVehicleID(IsPlayerSpecting[playerid])); else PlayerSpectatePlayer(playerid,IsPlayerSpecting[playerid]); SetPlayerInterior(playerid,GetPlayerInterior(IsPlayerSpecting[playerid])); } RaceTextDrawCreate(playerid) { new string[10]; if(RaceTimer[playerid] == 1) { format(string,20,"~b~%d/%d",RacingPositon[playerid],RaceCheckpoints[playerid]+1); TextDrawSetString(RaceTime[playerid][0],string); RaceTime[playerid][0] = TextDrawCreate(605.0,375.0,string); TextDrawFont(RaceTime[playerid][0],1); TextDrawAlignment(RaceTime[playerid][0],2); TextDrawLetterSize(RaceTime[playerid][0],0.53,2.0); TextDrawShowForPlayer(playerid,RaceTime[playerid][0]); format(string,20,"~p~%d",RacerPositon[playerid]); TextDrawSetString(RaceTime[playerid][1],string); RaceTime[playerid][1] = TextDrawCreate(587.0,386.0,string); TextDrawFont(RaceTime[playerid][1],3); TextDrawAlignment(RaceTime[playerid][1],2); TextDrawLetterSize(RaceTime[playerid][1],0.5,5.0); TextDrawShowForPlayer(playerid,RaceTime[playerid][1]); RaceTime[playerid][2] = TextDrawCreate(606.0,403.0,"/"); TextDrawFont(RaceTime[playerid][2],1); TextDrawAlignment(RaceTime[playerid][2],2); TextDrawLetterSize(RaceTime[playerid][2],0.5,2.5); TextDrawShowForPlayer(playerid,RaceTime[playerid][2]); format(string,20,"~r~%s",PositonTags(playerid)); TextDrawSetString(RaceTime[playerid][3],string); RaceTime[playerid][3] = TextDrawCreate(603.0,389.0,string); TextDrawFont(RaceTime[playerid][3],1); TextDrawAlignment(RaceTime[playerid][3],1); TextDrawLetterSize(RaceTime[playerid][3],1.0,2.1); TextDrawShowForPlayer(playerid,RaceTime[playerid][3]); format(string,20,"~y~%d",Racers[RaceID]); TextDrawSetString(RaceTime[playerid][4],string); RaceTime[playerid][4] = TextDrawCreate(623.2,405.0,string); TextDrawFont(RaceTime[playerid][4],1); TextDrawAlignment(RaceTime[playerid][4],2); TextDrawLetterSize(RaceTime[playerid][4],0.5,2.7); TextDrawShowForPlayer(playerid,RaceTime[playerid][4]); format(string,20,"~g~%d:%d%d",RaceTimer[playerid]/60,RaceTimer[playerid]%60/10,RaceTimer[playerid]%10); TextDrawSetString(RaceTime[playerid][5],string); RaceTime[playerid][5] = TextDrawCreate(606.0,425.0,string); TextDrawFont(RaceTime[playerid][5],1); TextDrawAlignment(RaceTime[playerid][5],2); TextDrawLetterSize(RaceTime[playerid][5],0.7,2.4); TextDrawShowForPlayer(playerid,RaceTime[playerid][5]); } else { format(string,20,"~b~%d/%d",RacingPositon[playerid],RaceCheckpoints[playerid]+1); TextDrawSetString(RaceTime[playerid][0],string); format(string,20,"~p~%d",RacerPositon[playerid]); TextDrawSetString(RaceTime[playerid][1],string); format(string,20,"~r~%s",PositonTags(playerid)); TextDrawSetString(RaceTime[playerid][3],string); format(string,20,"~y~%d",Racers[RaceID]); TextDrawSetString(RaceTime[playerid][4],string); format(string,20,"~g~%d:%d%d",RaceTimer[playerid]/60,RaceTimer[playerid]%60/10,RaceTimer[playerid]%10); TextDrawSetString(RaceTime[playerid][5],string); } } PositonTags(playerid) { new positon[3]; switch(RacerPositon[playerid]) { case 1,11,21,31,41,51,61,71,81,91,101,111,121,131,141,151,161,171,181,191:positon = "st"; case 2,12,22,32,42,52,62,72,82,92,102,112,122,132,142,152,162,172,182,192:positon = "nd"; case 3,13,23,33,43,53,63,73,83,93,103,113,123,133,143,153,163,173,183,193:positon = "rd"; default:positon = "th"; } return positon; } RacerPositonUpdate(playerid) { new Track = RacingID[playerid],CheckerPositon = RacingPositon[playerid]+1; new Positon = RacerPositonTmp[RacingID[playerid]]+1; for(new i=0;i<200;i++) if(IsPlayerConnected(i)) { if(IsPlayerRacing[i]) if(RacingID[i] == Track) if(RacingPositon[i] >= CheckerPositon)Positon++; RacerPositon[playerid] = Positon; } } RacersPositonUpdate(Raceid) { for(new i=0;i<200;i++) if(IsPlayerConnected(i)) if(IsPlayerRacing[i]) if(RacingID[i] == Raceid) RacerPositonUpdate(i); } SetPlayerPosEx(playerid,Float:X,Float:Y,Float:Z,Interior) { if(GetPlayerState(playerid) == 2) { LinkVehicleToInterior(GetPlayerVehicleID(playerid),Interior); SetVehiclePos(GetPlayerVehicleID(playerid),X,Y,Z); } else { SetPlayerInterior(playerid,Interior); SetPlayerPos(playerid,X,Y,Z); } } SetPlayerRaceCheckpoints(playerid,Track,type,add) { if(RacingPositon[playerid]) PlayerPlaySound(playerid,1056,0,0,0); DisablePlayerRaceCheckpoint(playerid); switch(Track) { case 1: { RaceCheckpoints[playerid] = sizeof(Race1Checkpoints); SetPlayerRaceCheckpoint(playerid,type,Race1Checkpoints[RacingPositon[playerid]][0],Race1Checkpoints[RacingPositon[playerid]][1],Race1Checkpoints[RacingPositon[playerid]][2],Race1Checkpoints[RacingPositon[playerid]+add][0],Race1Checkpoints[RacingPositon[playerid]+add][1],Race1Checkpoints[RacingPositon[playerid]+add][2],Race1Checkpoints[RacingPositon[playerid]][3]); } case 2: { RaceCheckpoints[playerid] = sizeof(Race2Checkpoints); SetPlayerRaceCheckpoint(playerid,type,Race2Checkpoints[RacingPositon[playerid]][0],Race2Checkpoints[RacingPositon[playerid]][1],Race2Checkpoints[RacingPositon[playerid]][2],Race2Checkpoints[RacingPositon[playerid]+add][0],Race2Checkpoints[RacingPositon[playerid]+add][1],Race2Checkpoints[RacingPositon[playerid]+add][2],Race2Checkpoints[RacingPositon[playerid]][3]); } case 3: { RaceCheckpoints[playerid] = sizeof(Race3Checkpoints); SetPlayerRaceCheckpoint(playerid,type,Race3Checkpoints[RacingPositon[playerid]][0],Race3Checkpoints[RacingPositon[playerid]][1],Race3Checkpoints[RacingPositon[playerid]][2],Race3Checkpoints[RacingPositon[playerid]+add][0],Race3Checkpoints[RacingPositon[playerid]+add][1],Race3Checkpoints[RacingPositon[playerid]+add][2],Race3Checkpoints[RacingPositon[playerid]][3]); } case 4: { RaceCheckpoints[playerid] = sizeof(Race4Checkpoints); SetPlayerRaceCheckpoint(playerid,type,Race4Checkpoints[RacingPositon[playerid]][0],Race4Checkpoints[RacingPositon[playerid]][1],Race4Checkpoints[RacingPositon[playerid]][2],Race4Checkpoints[RacingPositon[playerid]+add][0],Race4Checkpoints[RacingPositon[playerid]+add][1],Race4Checkpoints[RacingPositon[playerid]+add][2],Race4Checkpoints[RacingPositon[playerid]][3]); } case 5: { RaceCheckpoints[playerid] = sizeof(Race5Checkpoints); SetPlayerRaceCheckpoint(playerid,type,Race5Checkpoints[RacingPositon[playerid]][0],Race5Checkpoints[RacingPositon[playerid]][1],Race5Checkpoints[RacingPositon[playerid]][2],Race5Checkpoints[RacingPositon[playerid]+add][0],Race5Checkpoints[RacingPositon[playerid]+add][1],Race5Checkpoints[RacingPositon[playerid]+add][2],Race5Checkpoints[RacingPositon[playerid]][3]); } case 6: { RaceCheckpoints[playerid] = sizeof(Race6Checkpoints); SetPlayerRaceCheckpoint(playerid,type,Race6Checkpoints[RacingPositon[playerid]][0],Race6Checkpoints[RacingPositon[playerid]][1],Race6Checkpoints[RacingPositon[playerid]][2],Race6Checkpoints[RacingPositon[playerid]+add][0],Race6Checkpoints[RacingPositon[playerid]+add][1],Race6Checkpoints[RacingPositon[playerid]+add][2],Race6Checkpoints[RacingPositon[playerid]][3]); } case 7: { RaceCheckpoints[playerid] = sizeof(Race7Checkpoints); SetPlayerRaceCheckpoint(playerid,type,Race7Checkpoints[RacingPositon[playerid]][0],Race7Checkpoints[RacingPositon[playerid]][1],Race7Checkpoints[RacingPositon[playerid]][2],Race7Checkpoints[RacingPositon[playerid]+add][0],Race7Checkpoints[RacingPositon[playerid]+add][1],Race7Checkpoints[RacingPositon[playerid]+add][2],Race7Checkpoints[RacingPositon[playerid]][3]); } case 8: { RaceCheckpoints[playerid] = sizeof(Race8Checkpoints); SetPlayerRaceCheckpoint(playerid,type,Race8Checkpoints[RacingPositon[playerid]][0],Race8Checkpoints[RacingPositon[playerid]][1],Race8Checkpoints[RacingPositon[playerid]][2],Race8Checkpoints[RacingPositon[playerid]+add][0],Race8Checkpoints[RacingPositon[playerid]+add][1],Race8Checkpoints[RacingPositon[playerid]+add][2],Race8Checkpoints[RacingPositon[playerid]][3]); } case 9: { RaceCheckpoints[playerid] = sizeof(Race9Checkpoints); SetPlayerRaceCheckpoint(playerid,type,Race9Checkpoints[RacingPositon[playerid]][0],Race9Checkpoints[RacingPositon[playerid]][1],Race9Checkpoints[RacingPositon[playerid]][2],Race9Checkpoints[RacingPositon[playerid]+add][0],Race9Checkpoints[RacingPositon[playerid]+add][1],Race9Checkpoints[RacingPositon[playerid]+add][2],Race9Checkpoints[RacingPositon[playerid]][3]); } case 10: { RaceCheckpoints[playerid] = sizeof(Race10Checkpoints); SetPlayerRaceCheckpoint(playerid,type,Race10Checkpoints[RacingPositon[playerid]][0],Race10Checkpoints[RacingPositon[playerid]][1],Race10Checkpoints[RacingPositon[playerid]][2],Race10Checkpoints[RacingPositon[playerid]+add][0],Race10Checkpoints[RacingPositon[playerid]+add][1],Race10Checkpoints[RacingPositon[playerid]+add][2],Race10Checkpoints[RacingPositon[playerid]][3]); } case 11: { RaceCheckpoints[playerid] = sizeof(Race11Checkpoints); SetPlayerRaceCheckpoint(playerid,type,Race11Checkpoints[RacingPositon[playerid]][0],Race11Checkpoints[RacingPositon[playerid]][1],Race11Checkpoints[RacingPositon[playerid]][2],Race11Checkpoints[RacingPositon[playerid]+add][0],Race11Checkpoints[RacingPositon[playerid]+add][1],Race11Checkpoints[RacingPositon[playerid]+add][2],Race11Checkpoints[RacingPositon[playerid]][3]); } } RacingPositon[playerid]++; } IsPlayerInArea(playerid,Float:X_min,Float:Y_min,Float:X_max,Float:Y_max) { new Float:X,Float:Y,Float:Z; GetPlayerPos(playerid,X,Y,Z); if(X >= X_min && Y>= Y_min && X <= X_max && Y <= Y_max) return 1; return 0; } strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; }