Bulletje

Untitled

Feb 11th, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 77.00 KB | None | 0 0
  1. /*
  2. Script by: Bullet
  3. Map by: Bullet
  4. Mission Base: Race
  5. Mission Type: Race
  6. Mission Type ID: 0
  7. */
  8. //==============================================================================
  9. // Includes
  10. //==============================================================================
  11. #include <a_samp>
  12. #include <crashdetect>
  13. #include <fixes2>
  14.  
  15. #include "..\filterscripts\MM\stuff\defines"
  16. #include "..\filterscripts\MM\stuff\serverkeymsg"
  17.  
  18. //==============================================================================
  19. // Defines
  20. //==============================================================================
  21.  
  22. #define MISSION_NAME "Karting"
  23. #define Health 99.0
  24. #define VEH 571
  25. #define GHOST_MODE 60
  26. #define MAX_MAP_OBJECTS 454
  27. #define CLASS_POSTION 629.7578,3700.1824,155.4077
  28. #define CLASS_CAMERA 629.9970,3691.2988,154.7639
  29. #define CLASS_FACING_AGNLE 180.9175
  30. #define ENABLE_NEON false
  31. #define START_TIME 20
  32.  
  33. //==============================================================================
  34. // Per mission functions
  35. //==============================================================================
  36.  
  37. enum cp_enum
  38. {
  39. Float:cp_x,
  40. Float:cp_y,
  41. Float:cp_z,
  42. cp_type,
  43. Float:cp_size
  44. };
  45.  
  46. new cp[][cp_enum] =
  47. {
  48. {629.4363,3600.5073,147.7560,0,11.0},
  49. {626.1761,3933.7246,176.0342,0,11.0},
  50. {632.1701,3984.8589,179.8681,0,11.0},
  51. {608.0551,3971.4028,182.5073,0,11.0},
  52. {607.4498,3972.0564,187.9831,0,11.0},
  53. {609.3746,3971.7703,193.4564,0,11.0},
  54. {529.7831,4016.5227,199.2689,0,11.0},
  55. {542.0995,4179.0034,199.9218,0,11.0},
  56. {764.9958,4182.3970,174.2114,0,11.0},
  57. {835.3362,4196.7310,174.2114,0,11.0},
  58. {837.6630,4321.6460,174.0201,0,11.0},
  59. {840.2684,4484.6270,174.4290,0,11.0},
  60. {839.1686,4676.9004,152.6635,0,11.0},
  61. {846.4649,4745.0854,152.7720,0,11.0},
  62. {949.2981,4746.6792,152.7110,0,11.0},
  63. {1309.5244,4747.4497,153.3923,0,11.0},
  64. {1494.6779,4834.8403,153.4635,1,11.0}
  65. };
  66.  
  67. new Float:spawns[][100] =
  68. {
  69. {637.2958000,3443.7725000,147.7856000,0.0000000},
  70. {639.4106000,3443.6567000,147.7856000,0.0000000},
  71. {641.3801000,3443.6155000,147.7856000,0.0000000},
  72. {643.3864000,3443.5496000,147.7856000,0.0000000},
  73. {635.0668000,3443.8794000,147.7856000,0.0000000},
  74. {633.0948000,3443.8521000,147.7856000,0.0000000},
  75. {630.9057000,3443.8694000,147.7856000,0.0000000},
  76. {628.4831000,3443.9021000,147.7856000,0.0000000},
  77. {626.4015000,3443.8835000,147.7856000,0.0000000},
  78. {624.0928000,3443.9766000,147.7856000,0.0000000},
  79. {621.8347000,3443.8796000,147.7856000,0.0000000},
  80. {619.4154000,3443.7773000,147.7856000,0.0000000},
  81. {619.6228000,3440.1997000,147.7856000,0.0000000},
  82. {621.8429000,3440.1575000,147.7856000,0.0000000},
  83. {624.0254000,3440.1443000,147.7856000,0.0000000},
  84. {626.2617000,3440.2273000,147.7856000,0.0000000},
  85. {628.4979000,3440.2488000,147.7856000,0.0000000},
  86. {626.2617000,3440.2273000,147.7856000,0.0000000},
  87. {630.8301000,3440.1392000,147.7856000,0.0000000},
  88. {633.0631000,3440.1213000,147.7856000,0.0000000},
  89. {634.9745000,3440.0266000,147.7856000,0.0000000},
  90. {637.0077000,3440.1433000,147.7856000,0.0000000},
  91. {639.3495000,3440.2583000,147.7856000,0.0000000},
  92. {641.3022000,3440.3137000,147.7856000,0.0000000},
  93. {643.2557000,3440.5083000,147.7856000,0.0000000},
  94. {643.2495000,3437.1067000,147.7856000,0.0000000},
  95. {641.1906000,3437.1775000,147.7856000,0.0000000},
  96. {639.1498000,3437.1682000,147.7856000,0.0000000},
  97. {637.0424000,3437.1443000,147.7856000,0.0000000},
  98. {634.8617000,3437.1443000,147.7856000,0.0000000},
  99. {632.7932000,3437.2104000,147.7856000,0.0000000},
  100. {630.7147000,3437.2397000,147.7856000,0.0000000},
  101. {628.5331000,3437.2358000,147.7856000,0.0000000},
  102. {626.1758000,3437.1489000,147.7856000,0.0000000},
  103. {623.9343000,3437.1921000,147.7856000,0.0000000},
  104. {621.6138000,3437.1890000,147.7856000,0.0000000},
  105. {619.4930000,3437.2231000,147.7856000,0.0000000},
  106. {619.6115000,3434.0818000,147.7856000,0.0000000},
  107. {621.9154000,3434.0850000,147.7856000,0.0000000},
  108. {624.1913000,3433.9338000,147.7856000,0.0000000},
  109. {626.4441000,3433.9719000,147.7856000,0.0000000},
  110. {628.6450000,3433.9841000,147.7856000,0.0000000},
  111. {630.9460000,3433.9954000,147.7856000,0.0000000},
  112. {633.2266000,3434.0056000,147.7856000,0.0000000},
  113. {635.5153000,3433.9485000,147.7856000,0.0000000},
  114. {638.0284000,3434.0037000,147.7856000,0.0000000},
  115. {640.5042000,3433.9116000,147.7856000,0.0000000},
  116. {642.8916000,3433.9207000,147.7856000,0.0000000},
  117. {642.9514000,3430.4114000,147.7856000,0.0000000},
  118. {640.2786000,3430.4290000,147.7856000,0.0000000},
  119. {637.4433000,3430.4700000,147.7856000,0.0000000},
  120. {634.8959000,3430.5601000,147.7856000,0.0000000},
  121. {632.3533000,3430.6062000,147.7856000,0.0000000},
  122. {629.8688000,3430.6970000,147.7856000,0.0000000},
  123. {627.2234000,3430.7974000,147.7856000,0.0000000},
  124. {624.4810000,3430.8149000,147.7856000,0.0000000},
  125. {622.0214000,3430.8215000,147.7856000,0.0000000},
  126. {619.7126000,3430.9819000,147.7856000,0.0000000},
  127. {619.7253000,3427.8213000,147.7856000,0.0000000},
  128. {622.8966000,3427.9053000,147.7856000,0.0000000},
  129. {625.8725000,3428.0303000,147.7856000,0.0000000},
  130. {619.8914000,3424.6211000,147.7856000,0.0000000},
  131. {628.4252000,3427.9170000,147.7856000,0.0000000},
  132. {631.0851000,3428.0034000,147.7856000,0.0000000},
  133. {622.8914000,3424.4072000,147.7856000,0.0000000},
  134. {614.0499000,3429.7854000,147.7856000,0.0000000},
  135. {612.9016000,3425.3452000,147.7856000,0.0000000},
  136. {610.4046000,3432.5371000,147.7856000,0.0000000},
  137. {608.9343000,3425.7993000,147.7856000,0.0000000},
  138. {616.3654000,3425.4905000,147.7856000,0.0000000},
  139. {609.9126000,3429.2058000,147.7856000,0.0000000},
  140. {615.2144000,3432.9333000,147.7856000,0.0000000},
  141. {626.0897000,3424.6604000,147.7856000,0.0000000},
  142. {628.4496000,3421.8621000,147.7856000,0.0000000},
  143. {631.4748000,3419.7349000,147.7856000,0.0000000},
  144. {633.5898000,3417.4961000,147.7856000,0.0000000},
  145. {635.3934000,3419.5288000,147.7856000,0.0000000},
  146. {637.5122000,3422.1619000,147.7856000,0.0000000},
  147. {639.3233000,3425.0232000,147.7856000,0.0000000},
  148. {637.3763000,3427.2986000,147.7856000,0.0000000},
  149. {634.4232000,3427.6108000,147.7856000,0.0000000},
  150. {642.7964000,3427.2458000,147.7856000,0.0000000},
  151. {632.5800000,3423.1528000,147.7856000,0.0000000},
  152. {627.6665000,3417.0796000,147.7856000,0.0000000},
  153. {623.0669000,3419.7820000,147.7856000,0.0000000},
  154. {619.2526000,3419.9856000,147.7856000,0.0000000},
  155. {615.5967000,3420.2544000,147.7856000,0.0000000},
  156. {635.5185000,3413.8599000,147.7856000,0.0000000},
  157. {640.5813000,3416.4385000,147.7856000,0.0000000},
  158. {636.8853000,3410.0151000,147.7856000,0.0000000},
  159. {641.2515000,3420.3723000,147.7856000,0.0000000},
  160. {627.7225000,3410.4128000,147.7856000,0.0000000},
  161. {630.6648000,3413.5125000,147.7856000,0.0000000},
  162. {624.3152000,3413.2141000,147.7856000,0.0000000},
  163. {619.5779000,3414.7732000,147.7856000,0.0000000},
  164. {623.5270000,3409.2744000,147.7856000,0.0000000},
  165. {617.7203000,3409.3840000,147.7856000,0.0000000},
  166. {612.6094000,3412.5930000,147.7856000,0.0000000},
  167. {627.8920000,3405.7502000,147.7856000,0.0000000},
  168. {614.1979000,3415.9290000,147.7856000,0.0000000}
  169.  
  170. };
  171. enum ped_enum
  172. {
  173. TeamID,
  174. Skin,
  175. Float:SpawnX,
  176. Float:SpawnY,
  177. Float:SpawnZ,
  178. Float:SpawnAngle,
  179. SpawnInterior,
  180. VirtualWorld,
  181. Weapon1,
  182. Ammo1,
  183. Weapon2,
  184. Ammo2,
  185. Weapon3,
  186. Ammo3,
  187. };
  188.  
  189. new PedInfo[][ped_enum] =
  190. {
  191. {TEAM_DEFEND,7,629.7578,3700.1824,155.4077,180.9175 ,0,0,0,0,0,0,0,0}
  192. };
  193.  
  194. #if MAX_MAP_OBJECTS != 0
  195. new Object[MAX_MAP_OBJECTS];
  196.  
  197. CreateMap()
  198. {
  199. Object[0] = CreateObject(1649,-1075.6215800,429.2218000,5.0000000,0.0000000,0.0000000,0.0000000); //
  200. Object[1] = CreateObject(3749,626.7126500,3934.4643600,181.4673900,10.0000000,0.0000000,0.0000000); //
  201. Object[2] = CreateObject(6997,600.5898400,3970.3210400,182.2209000,0.0000000,0.0000000,-0.3000000); //
  202. Object[3] = CreateObject(19456,641.3294100,3933.4775400,177.2263000,0.0000000,0.0000000,90.0000000); //
  203. Object[4] = CreateObject(19456,649.0142800,3933.4604500,177.2410300,0.0000000,0.0000000,90.0000000); //
  204. Object[5] = CreateObject(19456,649.0408300,3933.4702100,180.6330900,0.0000000,0.0000000,90.0000000); //
  205. Object[6] = CreateObject(19456,641.1093800,3933.4917000,180.6088300,0.0000000,0.0000000,90.0000000); //
  206. Object[7] = CreateObject(19456,612.1947000,3933.4338400,177.2214800,0.0000000,0.0000000,90.0000000); //
  207. Object[8] = CreateObject(19456,602.6235400,3933.2968800,177.2654100,0.0000000,0.0000000,90.0000000); //
  208. Object[9] = CreateObject(19456,612.2177100,3933.4724100,180.7142300,0.0000000,0.0000000,90.0000000); //
  209. Object[10] = CreateObject(19456,602.8685900,3933.5007300,180.7805900,0.0000000,0.0000000,90.0000000); //
  210. Object[11] = CreateObject(2910,537.4625900,4106.7880900,199.6458000,0.0000000,0.0000000,0.0000000); //
  211. Object[12] = CreateObject(3589,521.4576400,4026.1982400,202.3050200,0.0000000,0.0000000,-90.0000000); //
  212. Object[13] = CreateObject(3595,518.6792600,4040.1899400,208.1483500,0.0000000,0.0000000,-270.0001500); //
  213. Object[14] = CreateObject(3595,519.1856700,4063.6460000,208.1483500,0.0000000,0.0000000,-180.0003400); //
  214. Object[15] = CreateObject(3595,519.1966600,4087.5617700,208.1483500,0.0000000,0.0000000,-180.0003400); //
  215. Object[16] = CreateObject(3596,518.2813100,4105.9409200,208.1483000,0.0000000,0.0000000,-270.0000000); //
  216. Object[17] = CreateObject(3596,519.2197900,4128.6855500,208.1483000,0.0000000,0.0000000,-180.0001200); //
  217. Object[18] = CreateObject(3596,519.2326000,4152.3315400,208.1483000,0.0000000,0.0000000,-180.0001200); //
  218. Object[19] = CreateObject(3597,518.6689500,4171.1713900,208.1483000,0.0000000,0.0000000,-270.0001200); //
  219. Object[20] = CreateObject(3597,519.1900600,4189.2846700,208.1483000,0.0000000,0.0000000,-359.9999700); //
  220. Object[21] = CreateObject(3597,537.4825400,4200.7236300,208.1483000,0.0000000,0.0000000,-450.0000600); //
  221. Object[22] = CreateObject(1318,532.4310900,4191.6845700,201.9138000,90.0000000,270.0000000,0.0000000); //
  222. Object[23] = CreateObject(1318,533.6314100,4191.6938500,201.9138000,90.0000000,270.0000000,0.0000000); //
  223. Object[24] = CreateObject(1318,534.7307100,4191.7407200,201.9138000,90.0000000,270.0000000,0.0000000); //
  224. Object[25] = CreateObject(1318,535.9111300,4191.7294900,201.9138000,90.0000000,270.0000000,0.0000000); //
  225. Object[26] = CreateObject(1318,531.1498400,4191.7338900,201.9138000,90.0000000,270.0000000,0.0000000); //
  226. Object[27] = CreateObject(1318,529.9707000,4191.6645500,201.9138000,90.0000000,270.0000000,0.0000000); //
  227. Object[28] = CreateObject(1318,537.0130600,4191.7299800,201.9138000,90.0000000,270.0000000,0.0000000); //
  228. Object[29] = CreateObject(1318,538.1640600,4191.7573200,201.9138000,90.0000000,270.0000000,0.0000000); //
  229. Object[30] = CreateObject(1318,539.2548800,4191.7216800,201.9138000,90.0000000,270.0000000,0.0000000); //
  230. Object[31] = CreateObject(1318,540.3128100,4191.7133800,201.9138000,90.0000000,270.0000000,0.0000000); //
  231. Object[32] = CreateObject(1318,541.4293800,4191.7031300,201.9138000,90.0000000,270.0000000,0.0000000); //
  232. Object[33] = CreateObject(1318,542.5735500,4191.6943400,201.9138000,90.0000000,270.0000000,0.0000000); //
  233. Object[34] = CreateObject(1318,543.7394400,4191.6694300,201.9138000,90.0000000,270.0000000,0.0000000); //
  234. Object[35] = CreateObject(1318,544.8591300,4191.7177700,201.9138000,90.0000000,270.0000000,0.0000000); //
  235. Object[36] = CreateObject(1318,545.9050300,4191.6811500,201.9138000,90.0000000,270.0000000,0.0000000); //
  236. Object[37] = CreateObject(3595,561.5927700,4030.8603500,208.1483500,0.0000000,0.0000000,-270.0001500); //
  237. Object[38] = CreateObject(3595,556.0210000,4054.1838400,208.1483500,0.0000000,0.0000000,-180.0001800); //
  238. Object[39] = CreateObject(3595,556.0620100,4077.8925800,208.1483500,0.0000000,0.0000000,-180.0001800); //
  239. Object[40] = CreateObject(3597,556.1104700,4101.5517600,208.1483000,0.0000000,0.0000000,-540.1197500); //
  240. Object[41] = CreateObject(3596,556.1939700,4143.4692400,208.1483000,0.0000000,0.0000000,-360.0001200); //
  241. Object[42] = CreateObject(3597,556.1848800,4124.6474600,208.1483000,0.0000000,0.0000000,-540.1197500); //
  242. Object[43] = CreateObject(3596,556.1965900,4157.7397500,208.1483000,0.0000000,0.0000000,-360.0001200); //
  243. Object[44] = CreateObject(2910,632.9531900,4181.7670900,199.6427200,0.0000000,0.0000000,-90.0000000); //
  244. Object[45] = CreateObject(1232,545.3169600,4029.6633300,202.3614000,0.0000000,0.0000000,0.0000000); //
  245. Object[46] = CreateObject(1232,545.2732500,4041.8283700,202.3614000,0.0000000,0.0000000,0.0000000); //
  246. Object[47] = CreateObject(1232,544.6119400,4054.1237800,202.3614000,0.0000000,0.0000000,0.0000000); //
  247. Object[48] = CreateObject(1232,544.5458400,4063.5590800,202.3614000,0.0000000,0.0000000,0.0000000); //
  248. Object[49] = CreateObject(1232,544.3769500,4075.0290500,202.3614000,0.0000000,0.0000000,0.0000000); //
  249. Object[50] = CreateObject(1232,544.3758500,4086.3227500,202.3614000,0.0000000,0.0000000,0.0000000); //
  250. Object[51] = CreateObject(1232,544.2608000,4100.4394500,202.3614000,0.0000000,0.0000000,0.0000000); //
  251. Object[52] = CreateObject(1232,544.1373300,4110.6264600,202.3614000,0.0000000,0.0000000,0.0000000); //
  252. Object[53] = CreateObject(1232,544.2184400,4122.6411100,202.3614000,0.0000000,0.0000000,0.0000000); //
  253. Object[54] = CreateObject(1232,544.1506300,4136.7832000,202.3614000,0.0000000,0.0000000,0.0000000); //
  254. Object[55] = CreateObject(1232,544.1419700,4147.3979500,202.3614000,0.0000000,0.0000000,0.0000000); //
  255. Object[56] = CreateObject(1232,544.4166900,4159.6328100,202.3614000,0.0000000,0.0000000,0.0000000); //
  256. Object[57] = CreateObject(1232,544.1469100,4171.8960000,202.3614000,0.0000000,0.0000000,0.0000000); //
  257. Object[58] = CreateObject(1231,529.7075800,4175.1127900,202.3614000,0.0000000,0.0000000,0.0000000); //
  258. Object[59] = CreateObject(1231,530.4339000,4161.1538100,202.3614000,0.0000000,0.0000000,0.0000000); //
  259. Object[60] = CreateObject(1231,530.4420200,4147.4179700,202.3614000,0.0000000,0.0000000,0.0000000); //
  260. Object[61] = CreateObject(1231,530.2122800,4131.8496100,202.3614000,0.0000000,0.0000000,0.0000000); //
  261. Object[62] = CreateObject(1231,530.8464400,4119.6074200,202.3614000,0.0000000,0.0000000,0.0000000); //
  262. Object[63] = CreateObject(1231,531.2987100,4109.9917000,202.3614000,0.0000000,0.0000000,0.0000000); //
  263. Object[64] = CreateObject(1231,530.4798600,4092.2990700,202.3614000,0.0000000,0.0000000,0.0000000); //
  264. Object[65] = CreateObject(1231,530.6038200,4082.6240200,202.3614000,0.0000000,0.0000000,0.0000000); //
  265. Object[66] = CreateObject(1231,530.4309700,4071.7658700,202.3614000,0.0000000,0.0000000,0.0000000); //
  266. Object[67] = CreateObject(1231,530.3175000,4060.8264200,202.3614000,0.0000000,0.0000000,0.0000000); //
  267. Object[68] = CreateObject(1231,530.3356300,4047.9455600,202.3614000,0.0000000,0.0000000,0.0000000); //
  268. Object[69] = CreateObject(1231,530.5850200,4031.7614700,202.3614000,0.0000000,0.0000000,0.0000000); //
  269. Object[70] = CreateObject(1231,530.7276600,4185.2949200,202.3614000,0.0000000,0.0000000,0.0000000); //
  270. Object[71] = CreateObject(3597,561.3164100,4200.7026400,208.1483000,0.0000000,0.0000000,-450.0000600); //
  271. Object[72] = CreateObject(3596,573.8821400,4157.7446300,208.1483000,0.0000000,0.0000000,-360.0001200); //
  272. Object[73] = CreateObject(3598,588.8938000,4196.3715800,206.5399200,0.0000000,0.0000000,-360.0000600); //
  273. Object[74] = CreateObject(3598,614.9187600,4196.3129900,206.5399200,0.0000000,0.0000000,-360.0000600); //
  274. Object[75] = CreateObject(3599,595.2255900,4168.8642600,205.6586600,0.0000000,0.0000000,-540.0596900); //
  275. Object[76] = CreateObject(3603,623.2992600,4161.3364300,205.5569200,0.0000000,0.0000000,-540.0596900); //
  276. Object[77] = CreateObject(3603,647.1961700,4205.4565400,205.5492600,0.0000000,0.0000000,-540.0596900); //
  277. Object[78] = CreateObject(3605,684.3516800,4205.4160200,205.8963900,0.0000000,0.0000000,-540.0596900); //
  278. Object[79] = CreateObject(3604,645.8410000,4167.3828100,202.2704500,0.0000000,0.0000000,-540.0596900); //
  279. Object[80] = CreateObject(3606,662.3407600,4167.6684600,203.3235800,0.0000000,0.0000000,-540.0596900); //
  280. Object[81] = CreateObject(3607,688.4168700,4160.9355500,205.8998000,0.0000000,0.0000000,-540.0596900); //
  281. Object[82] = CreateObject(9482,714.0122100,4182.3945300,205.9035200,0.0000000,0.0000000,0.0000000); //
  282. Object[83] = CreateObject(3606,709.0652500,4196.7895500,202.6610300,0.0000000,0.0000000,-540.0596900); //
  283. Object[84] = CreateObject(3606,709.7239400,4167.3227500,202.6610300,0.0000000,0.0000000,-540.0596900); //
  284. Object[85] = CreateObject(3865,720.0304000,4181.7456100,194.9443700,90.0000000,0.0000000,0.0000000); //
  285. Object[86] = CreateObject(3605,736.2117300,4183.1171900,205.7165100,0.0000000,0.0000000,90.0000000); //
  286. Object[87] = CreateObject(8661,717.3262300,4170.1889600,199.5110900,0.0000000,0.0000000,0.0000000); //
  287. Object[88] = CreateObject(8661,718.2960800,4193.3935500,199.5510700,0.0000000,0.0000000,0.0000000); //
  288. Object[89] = CreateObject(8661,718.0122100,4193.9834000,199.5510900,0.0000000,0.0000000,28.1399800); //
  289. Object[90] = CreateObject(8661,732.7164900,4177.7612300,199.5110900,0.0000000,0.0000000,42.4799900); //
  290. Object[91] = CreateObject(8661,698.3312400,4174.2192400,199.4711500,0.0000000,0.0000000,38.3399900); //
  291. Object[92] = CreateObject(8661,736.2309600,4195.8740200,199.5510900,0.0000000,0.0000000,43.3199700); //
  292. Object[93] = CreateObject(3605,732.3016400,4204.8793900,205.8963900,0.0000000,0.0000000,180.2396500); //
  293. Object[94] = CreateObject(3605,735.2911400,4158.7255900,205.8963900,0.0000000,0.0000000,0.0000100); //
  294. Object[95] = CreateObject(1318,720.3404500,4181.7299800,201.8066100,0.0000000,0.0000000,0.0000000); //
  295. Object[96] = CreateObject(7868,797.8712800,4192.7451200,174.0370300,0.0000000,0.0000000,90.0000000); //
  296. Object[97] = CreateObject(1649,7230.9541000,4184.9921900,175.5602000,0.0000000,0.0000000,-90.0000000); //
  297. Object[98] = CreateObject(1649,730.9539200,4184.9921900,175.5602000,0.0000000,0.0000000,-90.0000000); //
  298. Object[99] = CreateObject(4019,655.6269500,4189.6098600,152.1325200,0.0000000,0.0000000,0.0000000); //
  299. Object[100] = CreateObject(4019,696.3147000,4224.9072300,152.1325200,0.0000000,0.0000000,-90.0599800); //
  300. Object[101] = CreateObject(4019,782.3365500,4226.4965800,152.1325200,0.0000000,0.0000000,-90.0599800); //
  301. Object[102] = CreateObject(7868,747.9619800,4322.5302700,174.0370300,0.0000000,0.0000000,-0.0000100); //
  302. Object[103] = CreateObject(4019,720.4893800,4140.5317400,152.1325200,0.0000000,0.0000000,-90.0599800); //
  303. Object[104] = CreateObject(4019,786.6165800,4140.0161100,152.1325200,0.0000000,0.0000000,-90.0599800); //
  304. Object[105] = CreateObject(971,743.5659800,4222.3652300,177.5759000,0.0000000,0.0000000,0.0000000); //
  305. Object[106] = CreateObject(971,734.7750200,4222.3544900,177.5759000,0.0000000,0.0000000,0.0000000); //
  306. Object[107] = CreateObject(971,725.9912100,4222.3745100,177.5759000,0.0000000,0.0000000,0.0000000); //
  307. Object[108] = CreateObject(4021,751.8297100,4273.5947300,180.2099900,0.0000000,0.0000000,-90.0600000); //
  308. Object[109] = CreateObject(4021,720.1408700,4269.0835000,180.2099900,0.0000000,0.0000000,-90.0600000); //
  309. Object[110] = CreateObject(4022,749.4033200,4297.0561500,177.0292500,0.0000000,0.0000000,-90.0600000); //
  310. Object[111] = CreateObject(4022,722.4881000,4291.6728500,177.0292500,0.0000000,0.0000000,-90.0600000); //
  311. Object[112] = CreateObject(4023,748.4146700,4380.1958000,185.7115000,0.0000000,0.0000000,-90.0600000); //
  312. Object[113] = CreateObject(4028,720.7806400,4332.6098600,187.2488900,0.0000000,0.0000000,-90.0600000); //
  313. Object[114] = CreateObject(4028,761.7416400,4335.5502900,187.2488900,0.0000000,0.0000000,-90.0600000); //
  314. Object[115] = CreateObject(4019,796.3106100,4225.0112300,152.1325200,0.0000000,0.0000000,-90.0599800); //
  315. Object[116] = CreateObject(4019,882.6668100,4226.6533200,152.1325200,0.0000000,0.0000000,-90.0599800); //
  316. Object[117] = CreateObject(4019,852.6127900,4140.7714800,152.1325200,0.0000000,0.0000000,-90.0599800); //
  317. Object[118] = CreateObject(4019,904.6464800,4140.8325200,152.1325200,0.0000000,0.0000000,-90.0599800); //
  318. Object[119] = CreateObject(4019,984.4312700,4171.9213900,152.1325200,0.0000000,0.0000000,-0.0599800); //
  319. Object[120] = CreateObject(971,848.2907700,4188.3559600,177.5204800,0.0000000,0.0000000,-90.0000200); //
  320. Object[121] = CreateObject(971,848.2954100,4179.5800800,177.5204800,0.0000000,0.0000000,-90.0000200); //
  321. Object[122] = CreateObject(971,848.3089000,4170.7710000,177.5204800,0.0000000,0.0000000,-90.0000200); //
  322. Object[123] = CreateObject(615,865.2764300,4175.0073200,163.4491700,0.0000000,0.0000000,0.0000000); //
  323. Object[124] = CreateObject(615,874.1535600,4193.1933600,163.4491700,0.0000000,0.0000000,0.0000000); //
  324. Object[125] = CreateObject(615,843.7612900,4198.9736300,173.4242600,0.0000000,0.0000000,0.0000000); //
  325. Object[126] = CreateObject(615,830.2896100,4198.4960900,173.4242600,0.0000000,0.0000000,0.0000000); //
  326. Object[127] = CreateObject(615,817.5925900,4187.9252900,173.4242600,0.0000000,0.0000000,0.0000000); //
  327. Object[128] = CreateObject(615,795.8544900,4174.9682600,173.4242600,0.0000000,0.0000000,0.0000000); //
  328. Object[129] = CreateObject(615,800.8707900,4181.2358400,155.4234600,0.0000000,0.0000000,0.0000000); //
  329. Object[130] = CreateObject(615,808.1347000,4182.1811500,155.4234600,0.0000000,0.0000000,0.0000000); //
  330. Object[131] = CreateObject(615,815.9727800,4182.9502000,155.4234600,0.0000000,0.0000000,0.0000000); //
  331. Object[132] = CreateObject(615,729.9754600,4189.1914100,155.4234600,0.0000000,0.0000000,0.0000000); //
  332. Object[133] = CreateObject(7868,827.6851800,4302.0566400,173.8457000,0.0000000,0.0000000,180.0000900); //
  333. Object[134] = CreateObject(4019,882.6477700,4286.6123000,152.1325200,0.0000000,0.0000000,-90.0599800); //
  334. Object[135] = CreateObject(4019,796.3648100,4286.2319300,152.1325200,0.0000000,0.0000000,-90.0599800); //
  335. Object[136] = CreateObject(615,843.7322400,4230.8598600,173.4242600,0.0000000,0.0000000,0.0000000); //
  336. Object[137] = CreateObject(615,831.7046500,4265.7602500,173.4242600,0.0000000,0.0000000,0.0000000); //
  337. Object[138] = CreateObject(615,830.8322100,4212.3886700,173.4242600,0.0000000,0.0000000,0.0000000); //
  338. Object[139] = CreateObject(715,612.7390100,4174.0205100,207.4617500,0.0000000,0.0000000,0.0000000); //
  339. Object[140] = CreateObject(715,632.0155600,4188.5644500,207.6969800,0.0000000,0.0000000,0.0000000); //
  340. Object[141] = CreateObject(715,602.5239300,4188.6284200,207.4617500,0.0000000,0.0000000,0.0000000); //
  341. Object[142] = CreateObject(715,656.5176400,4172.6420900,207.4617500,0.0000000,0.0000000,0.0000000); //
  342. Object[143] = CreateObject(715,697.2531700,4188.5986300,207.4617500,0.0000000,0.0000000,0.0000000); //
  343. Object[144] = CreateObject(715,579.1187100,4188.3901400,207.4617500,0.0000000,0.0000000,0.0000000); //
  344. Object[145] = CreateObject(715,562.2845500,4173.9340800,207.4617500,0.0000000,0.0000000,0.0000000); //
  345. Object[146] = CreateObject(981,737.9328000,4218.3715800,174.7135800,0.0000000,0.0000000,0.0000000); //
  346. Object[147] = CreateObject(981,844.8721900,4183.0805700,174.9490700,0.0000000,0.0000000,-88.1400000); //
  347. Object[148] = CreateObject(8397,545.8485100,4013.3442400,120.7163200,0.0000000,0.0000000,0.0000000); //
  348. Object[149] = CreateObject(8397,559.0628700,4001.9521500,120.7163200,0.0000000,0.0000000,0.0000000); //
  349. Object[150] = CreateObject(8397,567.5289900,4012.6955600,120.7163200,0.0000000,0.0000000,0.0000000); //
  350. Object[151] = CreateObject(8397,578.1336100,3996.9775400,120.7163200,0.0000000,0.0000000,0.0000000); //
  351. Object[152] = CreateObject(8397,549.3866000,3995.6084000,120.7163200,0.0000000,0.0000000,0.0000000); //
  352. Object[153] = CreateObject(8397,540.1418500,4009.2810100,120.7163200,0.0000000,0.0000000,0.0000000); //
  353. Object[154] = CreateObject(703,568.2288800,3988.1958000,171.9755900,0.0000000,0.0000000,0.0000000); //
  354. Object[155] = CreateObject(703,586.9776600,3999.9309100,171.9755900,0.0000000,0.0000000,0.0000000); //
  355. Object[156] = CreateObject(703,559.4071000,4012.6457500,171.9755900,0.0000000,0.0000000,0.0000000); //
  356. Object[157] = CreateObject(2936,556.1638800,4011.2624500,182.3573000,0.0000000,0.0000000,0.0000000); //
  357. Object[158] = CreateObject(2936,564.5376600,4001.3432600,182.3714600,0.0000000,0.0000000,0.0000000); //
  358. Object[159] = CreateObject(2936,550.0497400,3993.8000500,182.3573000,0.0000000,0.0000000,0.0000000); //
  359. Object[160] = CreateObject(2936,565.4804100,3989.1325700,182.3573000,0.0000000,0.0000000,0.0000000); //
  360. Object[161] = CreateObject(2936,584.5826400,3998.7312000,182.3573000,0.0000000,0.0000000,0.0000000); //
  361. Object[162] = CreateObject(2936,586.3254400,4018.5549300,182.3573000,0.0000000,0.0000000,0.0000000); //
  362. Object[163] = CreateObject(4019,796.3992300,4343.9672900,152.1325200,0.0000000,0.0000000,-90.0599800); //
  363. Object[164] = CreateObject(4019,882.2824700,4351.6977500,152.1325200,0.0000000,0.0000000,-90.0599800); //
  364. Object[165] = CreateObject(4019,796.3609000,4407.6396500,152.1325200,0.0000000,0.0000000,-90.0599800); //
  365. Object[166] = CreateObject(4019,882.3412500,4418.9526400,152.1325200,0.0000000,0.0000000,-90.0599800); //
  366. Object[167] = CreateObject(17049,610.0407700,3931.3544900,174.0329100,10.0000000,0.0000000,0.0000000); //
  367. Object[168] = CreateObject(16146,644.0106800,3948.1650400,181.0046500,0.0000000,0.0000000,0.0000000); //
  368. Object[169] = CreateObject(17523,648.7670300,3963.3000500,180.2822300,0.0000000,0.0000000,0.0000000); //
  369. Object[170] = CreateObject(17523,650.9311500,3975.4697300,181.6987500,0.0000000,0.0000000,-18.8999900); //
  370. Object[171] = CreateObject(17523,652.6975700,3988.3156700,182.2731300,0.0000000,0.0000000,5.7600100); //
  371. Object[172] = CreateObject(17523,645.7973000,4004.7888200,182.2731300,0.0000000,0.0000000,35.6400200); //
  372. Object[173] = CreateObject(17523,635.8059700,4013.0695800,183.9371200,0.0000000,0.0000000,60.0000200); //
  373. Object[174] = CreateObject(17523,633.4312100,4012.5073200,185.5929900,0.0000000,0.0000000,0.0000100); //
  374. Object[175] = CreateObject(17523,633.3678000,4029.9128400,185.5929900,0.0000000,0.0000000,0.0000100); //
  375. Object[176] = CreateObject(17523,611.1433100,4050.9563000,185.5929900,0.0000000,0.0000000,90.0600400); //
  376. Object[177] = CreateObject(17523,593.7230800,4050.8525400,185.5929900,0.0000000,0.0000000,90.0600400); //
  377. Object[178] = CreateObject(17523,576.2956500,4050.7993200,185.5929900,0.0000000,0.0000000,90.0600400); //
  378. Object[179] = CreateObject(17523,558.9030800,4050.7590300,185.5929900,0.0000000,0.0000000,90.0600400); //
  379. Object[180] = CreateObject(17523,541.5005500,4050.7243700,185.5929900,0.0000000,0.0000000,90.0600400); //
  380. Object[181] = CreateObject(17523,537.2580000,4050.7436500,185.5929900,0.0000000,0.0000000,90.0600400); //
  381. Object[182] = CreateObject(17523,514.3255000,4030.4348100,187.4076200,0.0000000,0.0000000,180.0597500); //
  382. Object[183] = CreateObject(3865,838.9137000,4416.5634800,175.1979100,0.0000000,0.0000000,0.0000000); //
  383. Object[184] = CreateObject(1318,838.5967400,4411.8046900,177.9732200,0.0000000,0.0000000,89.9999700); //
  384. Object[185] = CreateObject(3865,838.7823500,4425.3881800,175.1979100,0.0000000,0.0000000,180.0000000); //
  385. Object[186] = CreateObject(3865,838.8628500,4434.4462900,175.1979100,0.0000000,0.0000000,180.0000000); //
  386. Object[187] = CreateObject(3865,838.9603900,4443.4311500,175.1979100,0.0000000,0.0000000,180.0000000); //
  387. Object[188] = CreateObject(3865,839.0471800,4452.5376000,175.1979100,0.0000000,0.0000000,180.0000000); //
  388. Object[189] = CreateObject(3865,839.1747400,4461.6059600,175.1979100,0.0000000,0.0000000,180.0000000); //
  389. Object[190] = CreateObject(3865,839.2728900,4470.8505900,175.1979100,0.0000000,0.0000000,180.0000000); //
  390. Object[191] = CreateObject(3865,839.3664600,4479.8828100,175.1979100,0.0000000,0.0000000,180.0000000); //
  391. Object[192] = CreateObject(7868,829.1558800,4568.1162100,152.4891100,0.0000000,0.0000000,180.0000900); //
  392. Object[193] = CreateObject(10044,833.6342800,4453.3173800,193.8241300,0.0000000,90.0000000,0.0000000); //
  393. Object[194] = CreateObject(10044,820.1209100,4453.3710900,184.5784000,0.0000000,0.0000000,0.0000000); //
  394. Object[195] = CreateObject(10044,879.7908300,4453.0117200,184.5784000,0.0000000,0.0000000,-0.5400000); //
  395. Object[196] = CreateObject(10044,887.3530900,4536.2065400,173.0827900,0.0000000,0.0000000,0.0000000); //
  396. Object[197] = CreateObject(10044,787.9751600,4532.5083000,173.0827900,0.0000000,0.0000000,90.0000500); //
  397. Object[198] = CreateObject(10044,787.9577600,4581.6713900,173.0827900,0.0000000,0.0000000,90.0000500); //
  398. Object[199] = CreateObject(10044,887.4083300,4615.8208000,173.0827900,0.0000000,0.0000000,0.0000000); //
  399. Object[200] = CreateObject(10044,788.4016100,4656.2763700,172.3677500,0.0000000,0.0000000,89.9999800); //
  400. Object[201] = CreateObject(7868,699.1743200,4618.1626000,152.5020000,0.0000000,0.0000000,90.0000300); //
  401. Object[202] = CreateObject(10044,775.7444500,4557.5239300,171.5137300,0.0000000,0.0000000,179.9998200); //
  402. Object[203] = CreateObject(972,842.7623300,4493.4438500,152.5192100,0.0000000,0.0000000,89.9999800); //
  403. Object[204] = CreateObject(10044,828.9071000,4930.4936500,172.3677500,0.0000000,0.0000000,89.9999800); //
  404. Object[205] = CreateObject(10044,887.4527000,4697.9013700,173.0827900,0.0000000,0.0000000,0.0000000); //
  405. Object[206] = CreateObject(10044,888.0440700,4798.5444300,173.0827900,0.0000000,0.0000000,0.0000000); //
  406. Object[207] = CreateObject(10044,788.3628500,4711.3276400,173.0900600,0.0000000,0.0000000,90.0000100); //
  407. Object[208] = CreateObject(10044,788.3548600,4764.4375000,173.0900600,0.0000000,0.0000000,90.0000100); //
  408. Object[209] = CreateObject(10044,788.3722500,4819.6396500,173.0900600,0.0000000,0.0000000,90.0000100); //
  409. Object[210] = CreateObject(10044,787.5476700,4859.4716800,173.0900600,0.0000000,0.0000000,90.0000100); //
  410. Object[211] = CreateObject(10044,888.0708600,4839.7255900,173.0900600,0.0000000,0.0000000,0.0000100); //
  411. Object[212] = CreateObject(16024,736.7283300,4585.5849600,156.3627900,0.0000000,0.0000000,-16.7399800); //
  412. Object[213] = CreateObject(17049,800.6038800,4600.4316400,152.5186900,0.0000000,0.0000000,0.0000000); //
  413. Object[214] = CreateObject(7868,849.2548200,4787.8173800,152.5020400,0.0000000,0.0000000,0.0000800); //
  414. Object[215] = CreateObject(7865,929.0239900,4747.8217800,152.3787800,0.0000000,0.0000000,-180.0000500); //
  415. Object[216] = CreateObject(10044,908.8345900,4700.1792000,173.0827900,0.0000000,0.0000000,-89.9999600); //
  416. Object[217] = CreateObject(10044,943.0796500,4798.5537100,173.0827900,0.0000000,0.0000000,0.0000000); //
  417. Object[218] = CreateObject(7868,846.2816800,4779.1665000,147.0721700,-0.6600000,90.1200200,86.8200800); //
  418. Object[219] = CreateObject(615,912.6757200,4750.6933600,134.7585800,0.0000000,0.0000000,0.0000000); //
  419. Object[220] = CreateObject(615,901.9457400,4748.6792000,134.7585800,0.0000000,0.0000000,0.0000000); //
  420. Object[221] = CreateObject(615,889.9719800,4744.7558600,134.7585800,0.0000000,0.0000000,0.0000000); //
  421. Object[222] = CreateObject(615,878.3526600,4753.0556600,134.7585800,0.0000000,0.0000000,0.0000000); //
  422. Object[223] = CreateObject(615,864.5373500,4745.9135700,134.7585800,0.0000000,0.0000000,0.0000000); //
  423. Object[224] = CreateObject(615,851.6441000,4750.1992200,134.7585800,0.0000000,0.0000000,0.0000000); //
  424. Object[225] = CreateObject(1223,846.0652500,4502.7710000,152.5376900,0.0000000,0.0000000,-182.4600200); //
  425. Object[226] = CreateObject(1223,845.9838900,4507.6684600,152.5376900,0.0000000,0.0000000,-180.8399400); //
  426. Object[227] = CreateObject(1223,845.9800400,4512.8393600,152.5376900,0.0000000,0.0000000,-182.4600200); //
  427. Object[228] = CreateObject(1223,845.8387500,4519.1533200,152.5376900,0.0000000,0.0000000,-182.4600200); //
  428. Object[229] = CreateObject(1223,845.8398400,4524.9917000,152.5376900,0.0000000,0.0000000,-182.4600200); //
  429. Object[230] = CreateObject(1223,846.1914100,4531.6391600,152.5376900,0.0000000,0.0000000,-182.4600200); //
  430. Object[231] = CreateObject(1223,846.0687900,4539.1923800,152.5376900,0.0000000,0.0000000,-182.4600200); //
  431. Object[232] = CreateObject(1223,846.1815800,4546.6518600,152.5376900,0.0000000,0.0000000,-182.4600200); //
  432. Object[233] = CreateObject(1223,846.2254000,4554.5419900,152.5376900,0.0000000,0.0000000,-182.4600200); //
  433. Object[234] = CreateObject(1223,846.0404700,4561.4931600,152.5376900,0.0000000,0.0000000,-182.4600200); //
  434. Object[235] = CreateObject(1223,846.1150500,4568.6494100,152.5376900,0.0000000,0.0000000,-182.4600200); //
  435. Object[236] = CreateObject(1223,846.4037500,4575.4262700,152.5376900,0.0000000,0.0000000,-182.4600200); //
  436. Object[237] = CreateObject(1223,846.1237800,4583.9062500,152.5376900,0.0000000,0.0000000,-182.4600200); //
  437. Object[238] = CreateObject(1223,845.9910900,4592.3325200,152.5376900,0.0000000,0.0000000,-182.4600200); //
  438. Object[239] = CreateObject(1223,846.4143100,4600.1259800,152.5376900,0.0000000,0.0000000,-182.4600200); //
  439. Object[240] = CreateObject(1223,846.1645500,4608.2216800,152.5376900,0.0000000,0.0000000,-182.4600200); //
  440. Object[241] = CreateObject(1223,846.1104700,4615.8564500,152.5376900,0.0000000,0.0000000,-182.4600200); //
  441. Object[242] = CreateObject(1223,846.1723000,4623.2529300,152.5376900,0.0000000,0.0000000,-182.4600200); //
  442. Object[243] = CreateObject(1223,845.8399700,4630.9130900,152.5376900,0.0000000,0.0000000,-182.4600200); //
  443. Object[244] = CreateObject(1223,846.1541700,4637.4179700,152.5376900,0.0000000,0.0000000,-182.4600200); //
  444. Object[245] = CreateObject(1223,846.1743800,4643.6186500,152.5376900,0.0000000,0.0000000,-182.4600200); //
  445. Object[246] = CreateObject(1223,846.3837900,4649.4838900,152.5376900,0.0000000,0.0000000,-182.4600200); //
  446. Object[247] = CreateObject(1223,846.4197400,4657.2373000,152.5376900,0.0000000,0.0000000,-182.4600200); //
  447. Object[248] = CreateObject(1223,846.6138300,4664.7475600,152.5376900,0.0000000,0.0000000,-182.4600200); //
  448. Object[249] = CreateObject(1223,846.4328600,4673.0561500,152.5376900,0.0000000,0.0000000,-182.4600200); //
  449. Object[250] = CreateObject(1223,846.5960100,4680.2753900,152.5376900,0.0000000,0.0000000,-182.4600200); //
  450. Object[251] = CreateObject(1223,846.5498700,4687.3530300,152.5376900,0.0000000,0.0000000,-182.4600200); //
  451. Object[252] = CreateObject(1223,846.1236600,4693.6494100,152.5376900,0.0000000,0.0000000,-182.4600200); //
  452. Object[253] = CreateObject(1223,846.4823000,4699.6460000,152.5376900,0.0000000,0.0000000,-182.4600200); //
  453. Object[254] = CreateObject(1223,846.6890900,4706.4995100,152.5376900,0.0000000,0.0000000,-182.4600200); //
  454. Object[255] = CreateObject(1223,846.8475300,4713.3071300,152.5376900,0.0000000,0.0000000,-182.4600200); //
  455. Object[256] = CreateObject(1223,846.5648800,4719.4287100,152.5376900,0.0000000,0.0000000,-182.4600200); //
  456. Object[257] = CreateObject(1223,846.1798100,4726.0127000,152.5376900,0.0000000,0.0000000,-182.4600200); //
  457. Object[258] = CreateObject(1223,845.8322800,4732.8090800,152.5376900,0.0000000,0.0000000,-182.4600200); //
  458. Object[259] = CreateObject(1223,845.8629800,4738.1196300,152.5376900,0.0000000,0.0000000,-182.4600200); //
  459. Object[260] = CreateObject(1223,845.6722400,4757.2822300,152.5376900,0.0000000,0.0000000,-182.4600200); //
  460. Object[261] = CreateObject(1223,845.4931000,4765.6210900,152.5376900,0.0000000,0.0000000,-182.4600200); //
  461. Object[262] = CreateObject(1223,845.5564000,4773.2407200,152.5376900,0.0000000,0.0000000,-182.4600200); //
  462. Object[263] = CreateObject(1223,845.1684600,4779.8173800,152.5376900,0.0000000,0.0000000,-182.4600200); //
  463. Object[264] = CreateObject(1223,845.3868400,4786.3344700,152.5376900,0.0000000,0.0000000,-182.4600200); //
  464. Object[265] = CreateObject(1223,845.5600000,4794.9780300,152.5376900,0.0000000,0.0000000,-182.4600200); //
  465. Object[266] = CreateObject(1223,845.1436200,4803.8735400,152.5376900,0.0000000,0.0000000,-182.4600200); //
  466. Object[267] = CreateObject(1223,846.4041100,4813.8535200,152.5376900,0.0000000,0.0000000,-182.4600200); //
  467. Object[268] = CreateObject(1223,846.2261400,4825.0415000,152.5376900,0.0000000,0.0000000,-182.4600200); //
  468. Object[269] = CreateObject(1223,846.1430700,4840.1069300,152.5376900,0.0000000,0.0000000,-182.4600200); //
  469. Object[270] = CreateObject(1223,846.3671300,4857.4316400,152.5376900,0.0000000,0.0000000,-182.4600200); //
  470. Object[271] = CreateObject(1223,845.9740000,4871.0654300,152.5376900,0.0000000,0.0000000,-182.4600200); //
  471. Object[272] = CreateObject(1574,830.5672000,4596.6630900,152.5055400,0.0000000,0.0000000,0.0000000); //
  472. Object[273] = CreateObject(910,831.1416600,4544.9614300,153.7773900,0.0000000,0.0000000,85.4400000); //
  473. Object[274] = CreateObject(1328,832.0988800,4717.8647500,153.0501400,0.0000000,0.0000000,0.0000000); //
  474. Object[275] = CreateObject(1329,831.8325200,4681.3247100,153.0500900,0.0000000,0.0000000,0.0000000); //
  475. Object[276] = CreateObject(1330,831.7982200,4654.4209000,153.0500900,0.0000000,0.0000000,0.0000000); //
  476. Object[277] = CreateObject(1331,832.0490100,4779.0620100,153.4298400,0.0000000,0.0000000,0.0000000); //
  477. Object[278] = CreateObject(1332,831.9818700,4816.3305700,153.4326900,0.0000000,0.0000000,0.0000000); //
  478. Object[279] = CreateObject(1333,832.1046800,4747.7104500,153.4326900,0.0000000,0.0000000,0.0000000); //
  479. Object[280] = CreateObject(1284,847.0841100,4747.4794900,155.6898500,0.0000000,0.0000000,-87.5399900); //
  480. Object[281] = CreateObject(1284,839.2115500,4840.3750000,155.6898500,0.0000000,0.0000000,-173.9999800); //
  481. Object[282] = CreateObject(3816,631.6058300,3428.3518100,156.0155500,0.0000000,0.0000000,180.0000000); //
  482. Object[283] = CreateObject(18788,629.4580100,3555.6472200,146.5698400,0.0000000,0.0000000,-89.9999600); //
  483. Object[284] = CreateObject(18788,629.4580100,3595.6281700,146.5697900,0.0000000,0.0000000,-269.9999100); //
  484. Object[285] = CreateObject(18788,629.4580100,3635.6176800,146.5697900,0.0000000,0.0000000,-269.9999100); //
  485. Object[286] = CreateObject(18788,629.4580100,3675.3852500,150.0453900,0.0000000,-10.0000000,-269.9999100); //
  486. Object[287] = CreateObject(18788,629.4580100,3714.9021000,153.5015000,0.0000000,0.0000000,-269.9999100); //
  487. Object[288] = CreateObject(13593,635.5595700,3733.6008300,155.1423200,0.0000000,0.0000000,0.0000000); //
  488. Object[289] = CreateObject(13593,632.8400900,3733.5234400,155.1423200,0.0000000,0.0000000,0.0000000); //
  489. Object[290] = CreateObject(13593,630.1136500,3733.4616700,155.1423200,0.0000000,0.0000000,0.0000000); //
  490. Object[291] = CreateObject(13593,627.3672500,3733.3837900,155.1423200,0.0000000,0.0000000,0.0000000); //
  491. Object[292] = CreateObject(13593,624.6610100,3733.3149400,155.1423200,0.0000000,0.0000000,0.0000000); //
  492. Object[293] = CreateObject(13593,622.0920400,3733.2685500,155.1423200,0.0000000,0.0000000,0.0000000); //
  493. Object[294] = CreateObject(16684,632.6463600,3742.3772000,130.6523000,0.0000000,0.0000000,270.0000000); //
  494. Object[295] = CreateObject(16684,632.6480700,3805.8359400,129.2728100,0.0000000,20.0000000,270.0000000); //
  495. Object[296] = CreateObject(13645,652.8201900,3810.2939500,131.3191500,-2.0000000,0.0000000,0.0000000); //
  496. Object[297] = CreateObject(13645,650.1024200,3810.2019000,131.3191500,-2.0000000,0.0000000,0.0000000); //
  497. Object[298] = CreateObject(13645,647.3267200,3810.1101100,131.3191500,-2.0000000,0.0000000,0.0000000); //
  498. Object[299] = CreateObject(13645,644.5234400,3810.0256300,131.3191500,-2.0000000,0.0000000,0.0000000); //
  499. Object[300] = CreateObject(13645,641.8170200,3809.9477500,131.3191500,-2.0000000,0.0000000,0.0000000); //
  500. Object[301] = CreateObject(13645,639.0760500,3809.8960000,131.3191500,-2.0000000,0.0000000,0.0000000); //
  501. Object[302] = CreateObject(13645,636.3346600,3809.8408200,131.3191500,-2.0000000,0.0000000,0.0000000); //
  502. Object[303] = CreateObject(13645,633.6187100,3809.7768600,131.3191500,-2.0000000,0.0000000,0.0000000); //
  503. Object[304] = CreateObject(13645,630.9509300,3809.7136200,131.3191500,-2.0000000,0.0000000,0.0000000); //
  504. Object[305] = CreateObject(13645,628.2310800,3809.6494100,131.3191500,-2.0000000,0.0000000,0.0000000); //
  505. Object[306] = CreateObject(13645,625.4877300,3809.5732400,131.3191500,-2.0000000,0.0000000,0.0000000); //
  506. Object[307] = CreateObject(13645,622.7857700,3809.5180700,131.3191500,-2.0000000,0.0000000,0.0000000); //
  507. Object[308] = CreateObject(13645,620.0672600,3809.4423800,131.3191500,-2.0000000,0.0000000,0.0000000); //
  508. Object[309] = CreateObject(13645,617.3614500,3809.3640100,131.3191500,-2.0000000,0.0000000,0.0000000); //
  509. Object[310] = CreateObject(13645,614.6270100,3809.2675800,131.3191500,-2.0000000,0.0000000,0.0000000); //
  510. Object[311] = CreateObject(13645,611.9282200,3809.1906700,131.3191500,-2.0000000,0.0000000,0.0000000); //
  511. Object[312] = CreateObject(13645,609.2142900,3809.1235400,131.3191500,-2.0000000,0.0000000,0.0000000); //
  512. Object[313] = CreateObject(17049,646.1943400,3931.4389600,174.0329100,10.0000000,0.0000000,0.0000000); //
  513. Object[314] = CreateObject(16118,661.6946400,3790.9169900,131.1761600,0.0000000,0.0000000,-180.0000300); //
  514. Object[315] = CreateObject(16118,603.7948000,3772.7939500,128.4303000,0.0000000,0.0000000,0.0000000); //
  515. Object[316] = CreateObject(16118,600.3653600,3822.1291500,134.0507200,20.0000000,0.0000000,0.0000000); //
  516. Object[317] = CreateObject(16118,660.4821200,3785.4506800,129.7222100,0.0000000,0.0000000,-180.0000300); //
  517. Object[318] = CreateObject(16118,657.7255900,3840.4902300,139.8703500,-20.0000000,0.0000000,180.0000000); //
  518. Object[319] = CreateObject(16118,656.8175700,3882.8002900,156.5652000,-20.0000000,0.0000000,180.0000000); //
  519. Object[320] = CreateObject(16118,657.0400400,3925.5600600,171.3912000,-20.0000000,0.0000000,180.0000000); //
  520. Object[321] = CreateObject(16118,600.7788700,3858.7185100,147.2577800,20.0000000,0.0000000,0.0000000); //
  521. Object[322] = CreateObject(16118,601.4126600,3894.6545400,156.0533100,20.0000000,0.0000000,-6.4800000); //
  522. Object[323] = CreateObject(16118,601.5828900,3910.3122600,161.9983200,20.0000000,0.0000000,-6.4800000); //
  523. Object[324] = CreateObject(14409,622.3413700,3960.4865700,175.9039200,10.0000000,0.0000000,-179.9998900); //
  524. Object[325] = CreateObject(1318,620.2415200,3948.7241200,176.7439000,270.0000000,0.0000000,180.0000000); //
  525. Object[326] = CreateObject(1318,635.1161500,3947.6887200,176.7439000,90.0000000,0.0000000,0.0000000); //
  526. Object[327] = CreateObject(10044,971.1316500,4798.5742200,173.0827900,0.0000000,0.0000000,0.0000000); //
  527. Object[328] = CreateObject(10044,905.0923500,4673.4077100,158.4362300,0.0000000,0.0000000,-89.9999600); //
  528. Object[329] = CreateObject(10044,991.6009500,4734.4033200,114.7135600,0.0000000,0.0000000,0.0000000); //
  529. Object[330] = CreateObject(18761,929.3750600,4702.7758800,180.8560800,0.0000000,0.0000000,-90.0000000); //
  530. Object[331] = CreateObject(2993,927.3636500,4710.4555700,174.9847000,0.0000000,0.0000000,-90.7800000); //
  531. Object[332] = CreateObject(2993,927.3636500,4710.4555700,175.7037400,0.0000000,0.0000000,-90.7800000); //
  532. Object[333] = CreateObject(2993,927.3636500,4710.4555700,176.5625900,0.0000000,0.0000000,-90.7800000); //
  533. Object[334] = CreateObject(2993,927.3636500,4710.4555700,177.3415200,0.0000000,0.0000000,-90.7800000); //
  534. Object[335] = CreateObject(2993,929.3822600,4694.9682600,174.9847000,0.0000000,0.0000000,-260.8800400); //
  535. Object[336] = CreateObject(2993,929.3822600,4694.9682600,175.7323000,0.0000000,0.0000000,-260.8800400); //
  536. Object[337] = CreateObject(2993,929.3822600,4694.9682600,176.5192400,0.0000000,0.0000000,-260.8800400); //
  537. Object[338] = CreateObject(2993,929.3822600,4694.9682600,177.3849300,0.0000000,0.0000000,-260.8800400); //
  538. Object[339] = CreateObject(693,660.7308300,3548.5302700,123.8188900,0.0000000,0.0000000,0.0000000); //
  539. Object[340] = CreateObject(693,657.7249100,3569.2280300,128.6722600,0.0000000,0.0000000,0.0000000); //
  540. Object[341] = CreateObject(693,659.2467000,3584.7919900,128.6722600,0.0000000,0.0000000,0.0000000); //
  541. Object[342] = CreateObject(693,657.1850000,3603.9519000,128.6722600,0.0000000,0.0000000,0.0000000); //
  542. Object[343] = CreateObject(693,655.2249800,3623.0847200,128.6722600,0.0000000,0.0000000,0.0000000); //
  543. Object[344] = CreateObject(693,651.8468600,3647.2497600,128.6722600,0.0000000,0.0000000,0.0000000); //
  544. Object[345] = CreateObject(693,650.7136200,3684.7548800,128.6722600,0.0000000,0.0000000,0.0000000); //
  545. Object[346] = CreateObject(693,650.3415500,3728.1433100,128.6722600,0.0000000,0.0000000,0.0000000); //
  546. Object[347] = CreateObject(693,652.8261700,3744.5515100,131.0509600,0.0000000,0.0000000,0.0000000); //
  547. Object[348] = CreateObject(693,656.9265700,3762.2270500,131.0509600,0.0000000,0.0000000,0.0000000); //
  548. Object[349] = CreateObject(693,659.3445400,3784.3303200,131.0509600,0.0000000,0.0000000,0.0000000); //
  549. Object[350] = CreateObject(693,659.9757100,3803.8559600,131.0509600,0.0000000,0.0000000,0.0000000); //
  550. Object[351] = CreateObject(693,658.9240100,3823.4379900,131.0509600,0.0000000,0.0000000,0.0000000); //
  551. Object[352] = CreateObject(693,658.0951500,3842.6198700,131.0509600,0.0000000,0.0000000,0.0000000); //
  552. Object[353] = CreateObject(693,659.2009900,3860.4558100,141.9864300,0.0000000,0.0000000,0.0000000); //
  553. Object[354] = CreateObject(693,658.6400100,3876.3957500,141.9864300,0.0000000,0.0000000,0.0000000); //
  554. Object[355] = CreateObject(693,657.9595900,3892.2365700,142.0064400,0.0000000,0.0000000,0.0000000); //
  555. Object[356] = CreateObject(693,660.1207300,3909.0102500,141.9864300,0.0000000,0.0000000,0.0000000); //
  556. Object[357] = CreateObject(693,655.4858400,3925.6923800,156.1438900,0.0000000,0.0000000,0.0000000); //
  557. Object[358] = CreateObject(693,611.1986700,3553.0947300,123.8188900,0.0000000,0.0000000,0.0000000); //
  558. Object[359] = CreateObject(693,612.0786700,3578.1728500,123.8188900,0.0000000,0.0000000,0.0000000); //
  559. Object[360] = CreateObject(693,605.4045400,3611.1411100,123.8188900,0.0000000,0.0000000,0.0000000); //
  560. Object[361] = CreateObject(693,606.9335900,3652.0681200,123.8188900,0.0000000,0.0000000,0.0000000); //
  561. Object[362] = CreateObject(693,607.1925700,3689.1137700,123.8188900,0.0000000,0.0000000,0.0000000); //
  562. Object[363] = CreateObject(693,605.1743200,3724.3793900,123.8188900,0.0000000,0.0000000,0.0000000); //
  563. Object[364] = CreateObject(693,594.8085300,3760.4187000,131.0509600,0.0000000,0.0000000,0.0000000); //
  564. Object[365] = CreateObject(693,600.5672600,3786.8569300,131.0509600,0.0000000,0.0000000,0.0000000); //
  565. Object[366] = CreateObject(693,601.8529100,3808.0847200,131.0509600,0.0000000,0.0000000,0.0000000); //
  566. Object[367] = CreateObject(693,601.7535400,3834.4038100,131.0509600,0.0000000,0.0000000,0.0000000); //
  567. Object[368] = CreateObject(693,600.1964700,3866.8547400,140.2334600,0.0000000,0.0000000,0.0000000); //
  568. Object[369] = CreateObject(693,601.0212400,3897.5598100,150.9124000,0.0000000,0.0000000,0.0000000); //
  569. Object[370] = CreateObject(693,599.3047500,3924.9997600,158.5285800,0.0000000,0.0000000,0.0000000); //
  570. Object[371] = CreateObject(693,601.4517200,3910.7451200,154.8408200,0.0000000,0.0000000,0.0000000); //
  571. Object[372] = CreateObject(13722,627.8762800,3863.1081500,200.0000000,0.0000000,0.0000000,0.0000000); //
  572. Object[373] = CreateObject(13831,627.8762800,3863.1081500,200.0000000,0.0000000,0.0000000,0.0000000); //
  573. Object[374] = CreateObject(18788,629.4580100,3515.7021500,146.5697900,0.0000000,0.0000000,-90.0000000); //
  574. Object[375] = CreateObject(18788,629.4559300,3475.9067400,146.5697900,0.0000000,0.0000000,-90.0000000); //
  575. Object[376] = CreateObject(693,653.2632400,3507.7729500,124.9844100,0.0000000,0.0000000,0.0000000); //
  576. Object[377] = CreateObject(693,654.2295500,3494.4267600,123.8188900,0.0000000,0.0000000,0.0000000); //
  577. Object[378] = CreateObject(16684,634.8908700,3384.7055700,139.8613000,0.0000000,0.0000000,270.0000000); //
  578. Object[379] = CreateObject(693,655.3694500,3481.5900900,123.8188900,0.0000000,0.0000000,0.0000000); //
  579. Object[380] = CreateObject(693,608.6701000,3486.2631800,123.8188900,0.0000000,0.0000000,0.0000000); //
  580. Object[381] = CreateObject(693,609.5933200,3505.0695800,123.8188900,0.0000000,0.0000000,0.0000000); //
  581. Object[382] = CreateObject(693,609.8468600,3521.1601600,123.8188900,0.0000000,0.0000000,0.0000000); //
  582. Object[383] = CreateObject(16118,604.1795700,3737.5402800,128.4303000,0.0000000,0.0000000,0.0000000); //
  583. Object[384] = CreateObject(16118,660.4261500,3744.1491700,130.0238300,0.0000000,0.0000000,-180.0000300); //
  584. Object[385] = CreateObject(16118,661.4226700,3698.8071300,129.7300300,0.0000000,0.0000000,-180.0000300); //
  585. Object[386] = CreateObject(693,654.4076500,3461.4160200,123.8188900,0.0000000,0.0000000,0.0000000); //
  586. Object[387] = CreateObject(693,608.7431600,3465.9606900,123.8188900,0.0000000,0.0000000,0.0000000); //
  587. Object[388] = CreateObject(615,727.7904700,4174.5844700,155.4234600,0.0000000,0.0000000,0.0000000); //
  588. Object[389] = CreateObject(1305,630.6856700,3906.8930700,167.1998300,0.0000000,0.0000000,0.0000000); //
  589. Object[390] = CreateObject(1305,616.0006700,3893.6469700,161.1440600,0.0000000,0.0000000,0.0000000); //
  590. Object[391] = CreateObject(1305,630.3730500,3879.8737800,156.7489900,0.0000000,0.0000000,0.0000000); //
  591. Object[392] = CreateObject(1305,621.2982800,3848.1311000,144.5893100,0.0000000,0.0000000,0.0000000); //
  592. Object[393] = CreateObject(1305,642.9881000,3835.0105000,139.8974800,0.0000000,0.0000000,0.0000000); //
  593. Object[394] = CreateObject(1305,641.9079600,3853.0405300,146.5158400,0.0000000,0.0000000,0.0000000); //
  594. Object[395] = CreateObject(673,615.3245800,3829.9868200,137.5289900,0.0000000,0.0000000,0.0000000); //
  595. Object[396] = CreateObject(673,633.2072100,3848.4216300,144.4288800,0.0000000,0.0000000,0.0000000); //
  596. Object[397] = CreateObject(673,620.1818800,3876.3422900,154.4619100,0.0000000,0.0000000,0.0000000); //
  597. Object[398] = CreateObject(673,638.9247400,3918.7983400,169.9491300,0.0000000,0.0000000,0.0000000); //
  598. Object[399] = CreateObject(1305,597.8748800,4004.4697300,188.6693300,27.9599900,-98.0400400,0.0000000); //
  599. Object[400] = CreateObject(1305,590.6813400,3992.6845700,188.6693300,27.9599900,-98.0400400,0.0000000); //
  600. Object[401] = CreateObject(1305,596.0565200,3983.7780800,188.6693300,27.9599900,-98.0400400,0.0000000); //
  601. Object[402] = CreateObject(1305,584.5999800,3979.7983400,188.6693300,27.9599900,-98.0400400,0.0000000); //
  602. Object[403] = CreateObject(1305,575.5869800,3998.4809600,188.6693300,27.9599900,-98.0400400,0.0000000); //
  603. Object[404] = CreateObject(1305,572.0976600,3990.8393600,188.6693300,27.9599900,-98.0400400,0.0000000); //
  604. Object[405] = CreateObject(1305,572.0994300,4009.1594200,188.6693300,27.9599900,-98.0400400,0.0000000); //
  605. Object[406] = CreateObject(1305,584.8319100,4006.3422900,188.6693300,27.9599900,-98.0400400,0.0000000); //
  606. Object[407] = CreateObject(1305,560.8895300,3981.7133800,188.6693300,27.9599900,-98.0400400,0.0000000); //
  607. Object[408] = CreateObject(1305,545.5912500,4012.4335900,188.6693300,27.9599900,-98.0400400,0.0000000); //
  608. Object[409] = CreateObject(1305,556.7518300,4000.9956100,188.6693300,27.9599900,-98.0400400,0.0000000); //
  609. Object[410] = CreateObject(1305,534.5538900,3978.4589800,188.6693300,27.9599900,-98.0400400,0.0000000); //
  610. Object[411] = CreateObject(10044,949.6803000,4700.1997100,173.0827900,0.0000000,0.0000000,-89.9999600); //
  611. Object[412] = CreateObject(8392,1013.5517600,4761.4755900,141.3340100,90.0000000,0.0000000,90.0000100); //
  612. Object[413] = CreateObject(8392,1038.3275100,4724.9472700,147.2842100,0.0000000,0.0000000,0.0000000); //
  613. Object[414] = CreateObject(8392,1087.9263900,4727.7968800,147.2842100,0.0000000,0.0000000,0.0000000); //
  614. Object[415] = CreateObject(8392,1132.7999300,4727.5922900,147.2842100,0.0000000,0.0000000,0.0000000); //
  615. Object[416] = CreateObject(8392,1069.0437000,4761.5092800,141.3340100,90.0000000,0.0000000,90.0000100); //
  616. Object[417] = CreateObject(8392,1124.6020500,4761.5605500,141.3340100,90.0000000,0.0000000,90.0000100); //
  617. Object[418] = CreateObject(8392,984.7772200,4768.2627000,147.2841900,0.0000000,0.0000000,180.0000000); //
  618. Object[419] = CreateObject(8392,1028.5936300,4768.2607400,147.2841900,0.0000000,0.0000000,180.0000000); //
  619. Object[420] = CreateObject(8392,1072.5936300,4768.2460900,147.2841900,0.0000000,0.0000000,180.0000000); //
  620. Object[421] = CreateObject(8392,1180.0839800,4761.5610400,141.3340100,90.0000000,0.0000000,90.0000100); //
  621. Object[422] = CreateObject(8392,1116.5415000,4768.2446300,147.2841900,0.0000000,0.0000000,180.0000000); //
  622. Object[423] = CreateObject(8392,1160.2618400,4768.1435500,147.2841900,0.0000000,0.0000000,180.0000000); //
  623. Object[424] = CreateObject(8392,1173.5708000,4723.7988300,147.2842100,0.0000000,0.0000000,-179.9398800); //
  624. Object[425] = CreateObject(8392,1013.5517600,4761.4755900,181.4884200,90.0000000,0.0000000,90.0000100); //
  625. Object[426] = CreateObject(8392,1065.9727800,4761.4868200,181.4684400,90.0000000,0.0000000,90.0000100); //
  626. Object[427] = CreateObject(8392,1118.8535200,4761.4897500,181.4484700,90.0000000,0.0000000,90.0000100); //
  627. Object[428] = CreateObject(8392,1171.4550800,4761.4931600,181.4084800,90.0000000,0.0000000,90.0000100); //
  628. Object[429] = CreateObject(8392,1232.9544700,4761.6118200,141.3340100,90.0000000,0.0000000,90.0000100); //
  629. Object[430] = CreateObject(8392,1272.1024200,4727.6342800,147.2842100,0.0000000,0.0000000,-179.9398800); //
  630. Object[431] = CreateObject(8392,1259.1918900,4764.3950200,147.2841900,0.0000000,0.0000000,180.0000000); //
  631. Object[432] = CreateObject(8392,1285.7854000,4761.6069300,141.3540200,90.0000000,0.0000000,90.0000100); //
  632. Object[433] = CreateObject(8392,1325.3845200,4781.8271500,141.3340300,90.0000000,0.0000000,115.0800200); //
  633. Object[434] = CreateObject(8392,1224.0061000,4761.4975600,181.3885000,90.0000000,0.0000000,90.0000100); //
  634. Object[435] = CreateObject(8392,1276.2806400,4761.5034200,181.3685000,90.0000000,0.0000000,1.0000000); //
  635. Object[436] = CreateObject(8392,1333.6823700,4778.7905300,184.1950700,90.0000000,0.0000000,115.0000000); //
  636. Object[437] = CreateObject(8392,1350.4389600,4790.5361300,147.2841900,0.0000000,0.0000000,206.0399000); //
  637. Object[438] = CreateObject(8392,1368.8934300,4751.5937500,147.2661100,0.0000000,0.0000000,-154.9800000); //
  638. Object[439] = CreateObject(8392,1373.0175800,4804.1118200,141.3531600,90.0000000,0.0000000,115.0800200); //
  639. Object[440] = CreateObject(615,1016.9285300,4736.9003900,134.7585800,0.0000000,0.0000000,0.0000000); //
  640. Object[441] = CreateObject(615,1070.1640600,4756.8935500,134.7585800,0.0000000,0.0000000,0.0000000); //
  641. Object[442] = CreateObject(615,1151.2460900,4735.7919900,134.7585800,0.0000000,0.0000000,0.0000000); //
  642. Object[443] = CreateObject(615,1272.4683800,4757.5878900,134.7585800,0.0000000,0.0000000,0.0000000); //
  643. Object[444] = CreateObject(8392,995.2128300,4762.1323200,200.0367300,0.0000000,0.0000000,90.0000000); //
  644. Object[445] = CreateObject(8392,1420.8509500,4826.5102500,141.4074100,90.0000000,0.0000000,115.0800200); //
  645. Object[446] = CreateObject(8392,1456.4494600,4796.7021500,147.2661100,0.0000000,0.0000000,-154.9800000); //
  646. Object[447] = CreateObject(8392,1440.5927700,4830.3486300,147.2841900,0.0000000,0.0000000,206.0399000); //
  647. Object[448] = CreateObject(8392,1468.5944800,4848.8784200,141.4251300,90.0000000,0.0000000,115.0800200); //
  648. Object[449] = CreateObject(8392,1383.1690700,4796.3798800,184.1588400,90.0000000,0.0000000,115.0000000); //
  649. Object[450] = CreateObject(8392,1431.0350300,4818.7280300,184.1215400,90.0000000,0.0000000,115.0000000); //
  650. Object[451] = CreateObject(8392,1466.8874500,4835.4272500,184.1041600,90.0000000,0.0000000,115.0000000); //
  651. Object[452] = CreateObject(8392,1496.6287800,4869.1499000,173.0183300,0.0000000,0.0000000,115.0800000); //
  652. Object[453] = CreateObject(8392,1463.7390100,4841.8676800,173.0183300,0.0000000,0.0000000,203.7599300); //
  653. }
  654. #endif
  655.  
  656.  
  657. //==============================================================================
  658. // Basic vars
  659. //==============================================================================
  660.  
  661. new bool:ObjectiveStarted= false;
  662. new bool:MissionStarted;
  663. new GMTimer;
  664. new GMSec;
  665. new bool:MissionCancelled;
  666.  
  667. native IsValidVehicle(vehicleid);
  668.  
  669. #if ENABLE_NEON == true
  670. new NEON[200];
  671. #endif
  672.  
  673. new CurrentSpawn=-1;
  674. new TotalPlayers;
  675. new CurrentRacePos;
  676. new MAX_CPs;
  677. new RaceMin,RaceSec,RaceMili;
  678. new BARRELS_ALLOWED= false;
  679. new Ghost_Mode_Time;
  680. new RandomColor;
  681.  
  682.  
  683. enum playersdata
  684. {
  685. UserName[MAX_PLAYER_NAME],
  686. rSec,
  687. rMin,
  688. rMili,
  689. CurrentCheckpoint,
  690. PlayerSpawnID,
  691. PlayerVehicle,
  692. MissionFinished,
  693. PlayerClassID,
  694. PlayerCounted,
  695. rBestMin,
  696. rBestSec,
  697. rBestMili
  698. };
  699. new PlayerMissionInfo[MAX_PLAYERS][playersdata];
  700.  
  701. //==============================================================================
  702. // Basic script
  703. //==============================================================================
  704.  
  705. main()
  706. {
  707. print("----------------------------------");
  708. print(" Mission: "MISSION_NAME" started.");
  709. print("----------------------------------\n");
  710. }
  711.  
  712. public OnGameModeInit()
  713. {
  714. MissionStarted= true;
  715.  
  716. #if MAX_MAP_OBJECTS != 0
  717. CreateMap();
  718. #endif
  719.  
  720. #if ENABLE_NEON == true
  721. for(new i=0; i<100; i++)
  722. {
  723. new neon = random(6);
  724.  
  725. switch(neon)
  726. {
  727. case 0:
  728. {
  729. NEON[i]= CreateObject(18648,0,0,0,0,0,0);
  730. NEON[i+100]= CreateObject(18648,0,0,0,0,0,0);
  731. }
  732. case 1:
  733. {
  734. NEON[i]= CreateObject(18647,0,0,0,0,0,0);
  735. NEON[i+100]= CreateObject(18647,0,0,0,0,0,0);
  736. }
  737. case 2:
  738. {
  739. NEON[i]= CreateObject(18649,0,0,0,0,0,0);
  740. NEON[i+100]= CreateObject(18649,0,0,0,0,0,0);
  741. }
  742. case 3:
  743. {
  744. NEON[i]= CreateObject(18652,0,0,0,0,0,0);
  745. NEON[i+100]= CreateObject(18652,0,0,0,0,0,0);
  746. }
  747. case 4:
  748. {
  749. NEON[i]= CreateObject(18651,0,0,0,0,0,0);
  750. NEON[i+100]= CreateObject(18651,0,0,0,0,0,0);
  751. }
  752. case 5:
  753. {
  754. NEON[i]= CreateObject(18650,0,0,0,0,0,0);
  755. NEON[i+100]= CreateObject(18650,0,0,0,0,0,0);
  756. }
  757. }
  758. }
  759. #endif
  760.  
  761. for(new i=0; i<sizeof(PedInfo); i++)
  762. {
  763.  
  764. AddPlayerClassEx(PedInfo[i][TeamID],PedInfo[i][Skin],PedInfo[i][SpawnX],PedInfo[i][SpawnY],PedInfo[i][SpawnZ],PedInfo[i][SpawnAngle],0,0,0,0,0,0);
  765. }
  766.  
  767. GMTimer = SetTimer("GMClock",1000,true);
  768. MAX_CPs = sizeof(cp);
  769. if(random(4) == 1) Ghost_Mode_Time= GHOST_MODE;
  770. else Ghost_Mode_Time= -1;
  771. for(new i=0; i<MAX_PLAYERS; i++)
  772. {
  773. PlayerMissionInfo[i][PlayerSpawnID]=-1;
  774. PlayerMissionInfo[i][PlayerVehicle]=-1;
  775. }
  776. RandomColor=random(2);
  777. if(random(4) == 2)
  778. {
  779. CallRemoteFunction("SetUpBarrelSystem", "");
  780. BARRELS_ALLOWED = true;
  781. }
  782. CallRemoteFunction("UpdateRaceRecordsFunc","dd",INVALID_PLAYER_ID,0);
  783. if(CallRemoteFunction("GetCurrentMissionCJWalk","")) UsePlayerPedAnims();
  784.  
  785. EnableVehicleFriendlyFire();
  786. return 1;
  787. }
  788.  
  789. public OnGameModeExit()
  790. {
  791. #if MAX_MAP_OBJECTS != 0
  792. for(new i=0;i<MAX_MAP_OBJECTS;i++) DestroyObject(Object[i]);
  793. #endif
  794.  
  795. KillTimer(GMTimer);
  796. for(new i=0; i<MAX_VEHICLES; i++)
  797. {
  798. if(IsValidVehicle(i))
  799. {
  800. DestroyVehicle(i);
  801. }
  802. }
  803. #if ENABLE_NEON == true
  804. for(new i=0;i<200;i++) DestroyObject(NEON[i]);
  805. #endif
  806. return 1;
  807. }
  808.  
  809. FUNCTION GMClock()
  810. {
  811. GMSec++;
  812. switch(ObjectiveStarted)
  813. {
  814. case false:
  815. {
  816. switch(GMSec)
  817. {
  818. case 1:
  819. {
  820. new string[40];
  821. format(string,sizeof(string),"The race will start in %d seconds.",START_TIME);
  822. CallRemoteFunction("ShowInfoBox", "iisi", -1, -1, string,0);
  823. }
  824. case START_TIME-2:
  825. {
  826. GameTextForAll("~r~~h~~h~ON YOUR MARKS!",1000,3);
  827. PlaySoundForAll(1056);
  828. }
  829. case START_TIME-1:
  830. {
  831. GameTextForAll("~y~GET SET!",1000,3);
  832. PlaySoundForAll(1056);
  833. }
  834. case START_TIME:
  835. {
  836. PlaySoundForAll(1057);
  837. CallRemoteFunction("StartMission","");
  838. GameTextForAll("~g~~h~~h~GO!",1000,3);
  839. ObjectiveStarted= true;
  840. ToggleControllable(true);
  841. SendClientMessageToAll(COLOR_SERVER,""SERVER_KEY_MSG" KA BOOM! The race has started. Good luck.");
  842. CallRemoteFunction("ShowInfoBox", "iisi", -1, -1,"KA BOOM! The race has started. Good luck.",0);
  843. RaceMili=GetTickCount();
  844. }
  845. }
  846. if(Ghost_Mode_Time > 0 || Ghost_Mode_Time == -1)
  847. {
  848. for(new i=0; i<MAX_PLAYERS; i++) DisableRemoteVehicleCollisions(i,1);
  849. }
  850. }
  851. case true:
  852. {
  853. if(Ghost_Mode_Time > 0)
  854. {
  855. Ghost_Mode_Time--;
  856. if(Ghost_Mode_Time == 0)
  857. {
  858. for(new i=0; i<MAX_PLAYERS; i++) DisableRemoteVehicleCollisions(i,0);
  859. SendClientMessageToAll(COLOR_SERVER,""SERVER_KEY_MSG" Ghost mode has been disabled by the server.");
  860. CallRemoteFunction("ShowInfoBox", "iisi", -1, -1,"Ghost mode has been disabled by the server.",0);
  861. CallRemoteFunction("IRC_SendMessage","ss",""SERVER_KEY_MSG" Ghost mode has been disabled by the server.",IRC_SERVER_COLOR);
  862. }
  863. }
  864. for(new i=0,j=GetPlayerPoolSize(); i<=j; i++)
  865. {
  866. if(IsPlayerConnected(i) && CallRemoteFunction("GetAliveState","i",i) && !PlayerMissionInfo[i][MissionFinished])
  867. {
  868. GetPlayerPosition(i);
  869. }
  870. }
  871. RaceSec++;
  872. if(RaceSec == 60)
  873. {
  874. RaceSec=0;
  875. RaceMin++;
  876. }
  877. }
  878. }
  879. }
  880.  
  881. public OnPlayerDisconnect(playerid,reason)
  882. {
  883. if(IsValidVehicle(PlayerMissionInfo[playerid][PlayerVehicle])) DestroyVehicle(PlayerMissionInfo[playerid][PlayerVehicle]);
  884. PlayerMissionInfo[playerid][PlayerVehicle]=-1;
  885. if(!PlayerMissionInfo[playerid][MissionFinished])
  886. {
  887. if(PlayerMissionInfo[playerid][PlayerCounted])
  888. {
  889. TotalPlayers--;
  890. PlayerMissionInfo[playerid][PlayerCounted]= false;
  891. }
  892. }
  893. else PlayerMissionInfo[playerid][MissionFinished] = false;
  894. RemovePlayerMapIcon(playerid,MAP_ICON_NEXT_CP);
  895. DisablePlayerRaceCheckpoint(playerid);
  896. CallRemoteFunction("PlayerRaceRecords","dd",playerid,1);
  897. return 1;
  898. }
  899.  
  900. public OnPlayerRequestClass(playerid, classid)
  901. {
  902. SetPlayerPos(playerid,CLASS_POSTION);
  903. SetPlayerCameraPos(playerid,CLASS_CAMERA);
  904. SetPlayerCameraLookAt(playerid,CLASS_POSTION);
  905. SetPlayerFacingAngle(playerid,CLASS_FACING_AGNLE);
  906.  
  907. CallRemoteFunction("ShowClassSelection","ddsddd",playerid,2,"Drift King", PedInfo[classid][Weapon1], PedInfo[classid][Weapon2], PedInfo[classid][Weapon3]);
  908. SetPlayerColor(playerid,COLOR_SERVER);
  909. PlayerMissionInfo[playerid][PlayerClassID]=classid;
  910. return 1;
  911. }
  912.  
  913. public OnPlayerRequestSpawn(playerid)
  914. {
  915. CallRemoteFunction("UpdateRaceRecordsFunc","dd",INVALID_PLAYER_ID,0);
  916. if(PlayerMissionInfo[playerid][PlayerSpawnID] == -1)
  917. {
  918. CurrentSpawn++;
  919. PlayerMissionInfo[playerid][PlayerSpawnID]=CurrentSpawn;
  920. PlayerMissionInfo[playerid][CurrentCheckpoint]=0;
  921. }
  922. if(!IsPlayerJailed(playerid))
  923. {
  924. new Float:x,Float:y,Float:z,Float:a;
  925. x=spawns[PlayerMissionInfo[playerid][PlayerSpawnID]][0];
  926. y=spawns[PlayerMissionInfo[playerid][PlayerSpawnID]][1];
  927. z=spawns[PlayerMissionInfo[playerid][PlayerSpawnID]][2];
  928. a=spawns[PlayerMissionInfo[playerid][PlayerSpawnID]][3];
  929. if(IsValidVehicle(PlayerMissionInfo[playerid][PlayerVehicle])) DestroyVehicle(PlayerMissionInfo[playerid][PlayerVehicle]);
  930. PlayerMissionInfo[playerid][PlayerVehicle] = CreateVehicle(VEH,x,y,z,a,random(255),random(255),-1);
  931. #if ENABLE_NEON == true
  932. AddNeon(PlayerMissionInfo[playerid][PlayerVehicle]);
  933. #endif
  934. }
  935. return 1;
  936. }
  937.  
  938. public OnPlayerSpawn(playerid)
  939. {
  940. new string[124];
  941. CallRemoteFunction("UpdateAliveState","ii",playerid,1);
  942. SetPlayerHealth(playerid,Health);
  943. if(PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Skin] == 0)
  944. {
  945. back:
  946. new skin=random(312);
  947. if(skin == 74 || skin < 1) goto back;
  948. SetPlayerSkin(playerid,skin);
  949. }
  950. if(CallRemoteFunction("GetSpectateStatus","d",playerid)) return CallRemoteFunction("SpecOffAdmin","d",playerid);
  951. SetPlayerColor(playerid,(RandomColor == TEAM_ATTACK) ? COLOR_TEAM_ATTACK : COLOR_TEAM_DEFEND);
  952. SetPlayerTeam(playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][TeamID]);
  953. switch(ObjectiveStarted)
  954. {
  955. case false:
  956. {
  957. TogglePlayerControllable(playerid,false);
  958. format(string,sizeof(string),"The race will start in %d seconds. Get ready.",(GMSec-START_TIME)*-1);
  959. CallRemoteFunction("ShowInfoBox", "iisi", playerid, -1,string,100);
  960. }
  961. case true:
  962. {
  963. TogglePlayerControllable(playerid,true);
  964. CallRemoteFunction("ShowInfoBox", "iisi", playerid, -1,"HURRY UP! The race has already started.",2000);
  965. }
  966. }
  967. if(Ghost_Mode_Time > 0)
  968. {
  969. DisableRemoteVehicleCollisions(playerid,1);
  970. format(string,sizeof(string),""SERVER_KEY_MSG" The ghost mode will last for %d seconds.",Ghost_Mode_Time);
  971. SendClientMessage(playerid,COLOR_SERVER,string);
  972. }
  973. if(Ghost_Mode_Time == -1) DisableRemoteVehicleCollisions(playerid,1);
  974. CallRemoteFunction("ShowInfoText", "iisi", playerid, -1,"Try to finish first!",2000);
  975. if(CallRemoteFunction("GetJailedStatus","d",playerid))
  976. {
  977. CallRemoteFunction("SetJailed","d",playerid);
  978. }
  979. else
  980. {
  981. if(BARRELS_ALLOWED)
  982. {
  983. SendClientMessage(playerid, COLOR_SERVER, ""SERVER_KEY_MSG" The system has chosen that barrels are enabled in this mission.");
  984. format(string,sizeof(string),""SERVER_KEY_MSG" You can throw a barrel by pressing 'submission key (2)' on your keyboard. (Costs: $%d / barrel)",BARREL_PRICE);
  985. SendClientMessage(playerid, COLOR_SERVER, string);
  986. }
  987. else
  988. {
  989. SendClientMessage(playerid, COLOR_SERVER, ""SERVER_KEY_MSG" The system has chosen that barrels are disabled in this mission.");
  990. }
  991. SetVehicleToRespawn(PlayerMissionInfo[playerid][PlayerVehicle]);
  992. PutPlayerInVehicle(playerid,PlayerMissionInfo[playerid][PlayerVehicle],0);
  993. LinkVehicleToInterior(PlayerMissionInfo[playerid][PlayerVehicle],PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][SpawnInterior]);
  994. CallRemoteFunction("GivePlayerWeaponEx","ddd",playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Weapon1],PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Ammo1]);
  995. CallRemoteFunction("GivePlayerWeaponEx","ddd",playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Weapon2],PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Ammo2]);
  996. CallRemoteFunction("GivePlayerWeaponEx","ddd",playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Weapon3],PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Ammo3]);
  997. if(!PlayerMissionInfo[playerid][MissionFinished])
  998. {
  999. PlayerMissionInfo[playerid][CurrentCheckpoint]= 0;
  1000. PlayerMissionInfo[playerid][rMili]=0,PlayerMissionInfo[playerid][rMin]=0,PlayerMissionInfo[playerid][rSec]=0;
  1001. SetVehicleVirtualWorld(PlayerMissionInfo[playerid][PlayerVehicle], 0);
  1002. SetPlayerVirtualWorld(playerid,0);
  1003. SetPlayerRaceCheckpoint(playerid,cp[PlayerMissionInfo[playerid][CurrentCheckpoint]][cp_type],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]][cp_x],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]][cp_y],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]][cp_z],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+1][cp_x],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+1][cp_y],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+1][cp_z],10.0);
  1004. SetPlayerMapIcon(playerid, MAP_ICON_NEXT_CP,cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+1][cp_x],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+1][cp_y],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+1][cp_z], 0, 0xFF000033, MAPICON_LOCAL);
  1005. }
  1006. else
  1007. {
  1008. SetVehicleVirtualWorld(PlayerMissionInfo[playerid][PlayerVehicle], 2);
  1009. SetPlayerVirtualWorld(playerid,2);
  1010. CallRemoteFunction("OnPlayerMissionComplete","d",playerid);
  1011. }
  1012. if(!PlayerMissionInfo[playerid][PlayerCounted])
  1013. {
  1014. TotalPlayers++;
  1015. PlayerMissionInfo[playerid][PlayerCounted]= true;
  1016. }
  1017. }
  1018. CallRemoteFunction("GetPlayerPersonalBest","d",playerid);
  1019. CallRemoteFunction("UpdateMissionHud","iiiiiiiiiiii",playerid,2,GetPlayerPosition(playerid),TotalPlayers,RaceMin,PlayerMissionInfo[playerid][rSec],PlayerMissionInfo[playerid][CurrentCheckpoint],MAX_CPs,PlayerMissionInfo[playerid][rBestMin],PlayerMissionInfo[playerid][rBestSec],PlayerMissionInfo[playerid][rBestMili],Ghost_Mode_Time);
  1020. CallRemoteFunction("PlayerRaceRecords","dd",playerid,2);
  1021. return 1;
  1022. }
  1023.  
  1024. public OnPlayerDeath(playerid,killerid,reason)
  1025. {
  1026. CallRemoteFunction("UpdateAliveState","ii",playerid,0);
  1027. if(!PlayerMissionInfo[playerid][MissionFinished]) PlayerMissionInfo[playerid][CurrentCheckpoint]=0;
  1028. CallRemoteFunction("PlayerRaceRecords","dd",playerid,1);
  1029. CallRemoteFunction("UpdateLastCheckpoint","dfff",playerid,-1.0,-1.0,-1.0);
  1030. return 1;
  1031. }
  1032.  
  1033. public OnPlayerEnterRaceCheckpoint(playerid)
  1034. {
  1035. if(!MissionStarted || !ObjectiveStarted) return 0;
  1036. new string[124],type;
  1037. PlayerPlaySound(playerid,1139,0,0,0);
  1038. CallRemoteFunction("UpdateLastCheckpoint","dfff",playerid,cp[PlayerMissionInfo[playerid][CurrentCheckpoint]][cp_x],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]][cp_y],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]][cp_z]);
  1039. if(PlayerMissionInfo[playerid][CurrentCheckpoint] != MAX_CPs-1)
  1040. {
  1041. type=cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+1][cp_type];
  1042. }
  1043. if(PlayerMissionInfo[playerid][CurrentCheckpoint] == MAX_CPs-2)
  1044. {
  1045. SetPlayerRaceCheckpoint(playerid,type,cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+1][cp_x],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+1][cp_y],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+1][cp_z],0.0,0.0,0.0,cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+1][cp_size]);
  1046. RemovePlayerMapIcon(playerid,MAP_ICON_NEXT_CP);
  1047. }
  1048. else if(PlayerMissionInfo[playerid][CurrentCheckpoint] == MAX_CPs-1)
  1049. {
  1050. PlaySoundForAll(1058);
  1051. PlayerMissionInfo[playerid][MissionFinished]= true;
  1052. DisablePlayerRaceCheckpoint(playerid);
  1053. RemovePlayerMapIcon(playerid,MAP_ICON_NEXT_CP);
  1054. new Pos=GetPlayerPosition(playerid);
  1055. CurrentRacePos++;
  1056. PlayerMissionInfo[playerid][rMin]=RaceMin;
  1057. PlayerMissionInfo[playerid][rSec]=RaceSec;
  1058. new Prize=floatround(10000/Pos, floatround_round)+(1000*TotalPlayers);
  1059. PlayerMissionInfo[playerid][rMili]=(((GetTickCount()-RaceMili)-(1000*PlayerMissionInfo[playerid][rSec]))-((1000*60)*PlayerMissionInfo[playerid][rMin]));
  1060. while(PlayerMissionInfo[playerid][rMili] >= 1000)
  1061. {
  1062. PlayerMissionInfo[playerid][rMili]-=1000;
  1063. PlayerMissionInfo[playerid][rSec]++;
  1064. if(PlayerMissionInfo[playerid][rSec] == 60)
  1065. {
  1066. PlayerMissionInfo[playerid][rSec]=0;
  1067. PlayerMissionInfo[playerid][rMin]++;
  1068. }
  1069. }
  1070. CallRemoteFunction("GetPlayerPersonalBest","d",playerid);
  1071. CallRemoteFunction("UpdateMissionHud","iiiiiiiiiiii",playerid,2,Pos,TotalPlayers,PlayerMissionInfo[playerid][rMin],PlayerMissionInfo[playerid][rSec],PlayerMissionInfo[playerid][CurrentCheckpoint]+1,MAX_CPs,PlayerMissionInfo[playerid][rBestMin],PlayerMissionInfo[playerid][rBestSec],PlayerMissionInfo[playerid][rBestMili],Ghost_Mode_Time);
  1072. CallRemoteFunction("GivePlayerCash","ii",playerid,Prize);
  1073. if(Pos == 1)
  1074. {
  1075. CallRemoteFunction("PlayerMissionStats","dd",playerid,3);
  1076. format(string,sizeof(string),""SERVER_KEY_MSG" %s (%d) has finished 1st in the race. Time Taken: %02d:%02d:%03d [Prize: $%d + Token].",PlayerMissionInfo[playerid][UserName],playerid,PlayerMissionInfo[playerid][rMin],PlayerMissionInfo[playerid][rSec],PlayerMissionInfo[playerid][rMili],Prize);
  1077. CallRemoteFunction("GivePlayerToken","dd",playerid,1);
  1078. CallRemoteFunction("CheckForBetWinners","d",playerid);
  1079. }
  1080. else format(string,sizeof(string),""SERVER_KEY_MSG" %s (%d) has finished %d%s in the race. Time Taken: %02d:%02d:%03d | Prize: $%d.",PlayerMissionInfo[playerid][UserName],playerid,Pos,GetEndStyle(Pos),PlayerMissionInfo[playerid][rMin],PlayerMissionInfo[playerid][rSec],PlayerMissionInfo[playerid][rMili],Prize);
  1081. if(Pos == 2) CallRemoteFunction("PlayerMissionStats","dd",playerid,4);
  1082. if(Pos == 3) CallRemoteFunction("PlayerMissionStats","dd",playerid,5);
  1083. CallRemoteFunction("PlayerMissionStats","dd",playerid,0);
  1084. CallRemoteFunction("IRC_SendMessage","ss",string,IRC_SERVER_COLOR);
  1085. new time = ((PlayerMissionInfo[playerid][rMin]*60000)+(PlayerMissionInfo[playerid][rSec]*1000)+(PlayerMissionInfo[playerid][rMili]));
  1086. CallRemoteFunction("CheckRaceRecord","dd",playerid,time);
  1087. SetVehicleVirtualWorld(PlayerMissionInfo[playerid][PlayerVehicle], 2);
  1088. SetPlayerVirtualWorld(playerid,2);
  1089. SendClientMessageToAll(COLOR_SERVER,string);
  1090. CallRemoteFunction("OnPlayerMissionComplete","d",playerid);
  1091. CallRemoteFunction("UpdateLastCheckpoint","dfff",playerid,-2.0,-2.0,-2.0);
  1092. CallRemoteFunction("PlayerMissionStats","dd",playerid,9);
  1093. }
  1094. else if(PlayerMissionInfo[playerid][CurrentCheckpoint] < MAX_CPs-1)
  1095. {
  1096. SetPlayerRaceCheckpoint(playerid,type,cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+1][cp_x],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+1][cp_y],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+1][cp_z],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+2][cp_x],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+2][cp_y],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+2][cp_z],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+1][cp_size]);
  1097. SetPlayerMapIcon(playerid, MAP_ICON_NEXT_CP,cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+2][cp_x],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+2][cp_y],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]+2][cp_z], 0, 0xFF000033, MAPICON_LOCAL);
  1098. }
  1099. PlayerMissionInfo[playerid][CurrentCheckpoint]++;
  1100. return 1;
  1101. }
  1102.  
  1103. #if ENABLE_NEON == true
  1104. public OnVehicleSpawn(vehicleid)
  1105. {
  1106. for(new i=0; i<100; i++)
  1107. {
  1108. if(!IsValidVehicle(i)) continue;
  1109.  
  1110. AttachObjectToVehicle(NEON[i-1],i, -0.90, -0.15, -0.58, 0.0, 0.0, 0.0);
  1111. AttachObjectToVehicle(NEON[i-1]+100,i, 0.90, -0.15, -0.58, 0.0, 0.0, 0.0);
  1112. }
  1113. return 1;
  1114. }
  1115. #endif
  1116.  
  1117.  
  1118. FUNCTION EndTheMission()
  1119. {
  1120. if(!MissionStarted) return 1;
  1121. MissionStarted= false;
  1122. KillTimer(GMTimer);
  1123. if(!MissionCancelled && ObjectiveStarted)
  1124. {
  1125. SendClientMessageToAll(COLOR_SERVER,""SERVER_KEY_MSG" The race has ended.");
  1126. CallRemoteFunction("IRC_SendMessage","ss",""SERVER_KEY_MSG" The race has ended.",IRC_SERVER_COLOR);
  1127. CallRemoteFunction("ShowInfoBox", "iisi", -1, -1,"The race has ended.",0);
  1128. for(new i=0,j=GetPlayerPoolSize(); i<=j; i++)
  1129. {
  1130. if(IsPlayerConnected(i) && !PlayerMissionInfo[i][MissionFinished])
  1131. {
  1132. PlayerPlaySound(i,17004,0,0,0);
  1133. GameTextForPlayer(i,"~R~MISSION FAILED~w~!",3000,3);
  1134. DisablePlayerCheckpoint(i);
  1135. CallRemoteFunction("PlayerMissionStats","dd",i,1);
  1136. }
  1137. }
  1138. }
  1139. else
  1140. {
  1141. PlaySoundForAll(1058);
  1142. SendClientMessageToAll(COLOR_SERVER,""SERVER_KEY_MSG" The mission has been cancelled.");
  1143. CallRemoteFunction("IRC_SendMessage","ss",""SERVER_KEY_MSG" The mission has been cancelled.",IRC_SERVER_COLOR);
  1144. CallRemoteFunction("ShowInfoBox", "iisi", -1, -1,"The mission has been cancelled.",0);
  1145. for(new i=0,j=GetPlayerPoolSize(); i<=j; i++)
  1146. {
  1147. if(IsPlayerConnected(i))
  1148. {
  1149. GameTextForPlayer(i,"~R~MISSION CANCELLED~w~!",3000,3);
  1150. DisablePlayerCheckpoint(i);
  1151. RemovePlayerMapIcon(i,MAP_ICON_NEXT_CP);
  1152. }
  1153. }
  1154. }
  1155. return 1;
  1156. }
  1157.  
  1158. //==============================================================================
  1159. // Mission functions
  1160. //==============================================================================
  1161.  
  1162. GetPlayerPosition(playerid)
  1163. {
  1164. if(!IsPlayerConnected(playerid)) return 0;
  1165. if(PlayerMissionInfo[playerid][MissionFinished]) return GetPlayerScore(playerid);
  1166. new PlayerPositon=CurrentRacePos+1;
  1167. new Float:PlayerDistance=GetPlayerDistanceFromPoint(playerid,cp[PlayerMissionInfo[playerid][CurrentCheckpoint]][cp_x],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]][cp_y],cp[PlayerMissionInfo[playerid][CurrentCheckpoint]][cp_z]);
  1168. new Float:OtherPlayerDistance;
  1169. for(new i=0,j=GetPlayerPoolSize(); i<=j; i++)
  1170. {
  1171. if(!IsPlayerConnected(i)) continue;
  1172. if(!CallRemoteFunction("GetAliveState","i",i) || !ObjectiveStarted || PlayerMissionInfo[i][MissionFinished]) continue;
  1173. if(PlayerMissionInfo[playerid][CurrentCheckpoint] < PlayerMissionInfo[i][CurrentCheckpoint])
  1174. {
  1175. PlayerPositon++;
  1176. continue;
  1177. }
  1178. else if(PlayerMissionInfo[playerid][CurrentCheckpoint] == PlayerMissionInfo[i][CurrentCheckpoint])
  1179. {
  1180. OtherPlayerDistance=GetPlayerDistanceFromPoint(i,cp[PlayerMissionInfo[i][CurrentCheckpoint]][cp_x],cp[PlayerMissionInfo[i][CurrentCheckpoint]][cp_y],cp[PlayerMissionInfo[i][CurrentCheckpoint]][cp_z]);
  1181. if(PlayerDistance > OtherPlayerDistance)
  1182. {
  1183. PlayerPositon++;
  1184. continue;
  1185. }
  1186. }
  1187. }
  1188. SetPlayerScore(playerid,PlayerPositon);
  1189. CallRemoteFunction("UpdateMissionHud","iiiiiiiiiiii",playerid,2,PlayerPositon,TotalPlayers,RaceMin,RaceSec,PlayerMissionInfo[playerid][CurrentCheckpoint],MAX_CPs,PlayerMissionInfo[playerid][rBestMin],PlayerMissionInfo[playerid][rBestSec],PlayerMissionInfo[playerid][rBestMili],Ghost_Mode_Time);
  1190. return PlayerPositon;
  1191. }
  1192.  
  1193. #if ENABLE_NEON == true
  1194. AddNeon(vehicleid)
  1195. {
  1196. AttachObjectToVehicle(NEON[vehicleid],vehicleid, -0.90, -0.15, -0.58, 0.0, 0.0, 0.0);
  1197. AttachObjectToVehicle(NEON[vehicleid]+100,vehicleid, 0.90, -0.15, -0.58, 0.0, 0.0, 0.0);
  1198. }
  1199. #endif
  1200.  
  1201. GetEndStyle(pos)
  1202. {
  1203. new end[3];
  1204. if(pos == 11 || pos == 12 || pos == 13) { end = "TH"; }
  1205. else if(pos - (pos / 10) * 10 == 1) { end = "ST"; }
  1206. else if(pos - (pos / 10) * 10 == 2) { end = "ND"; }
  1207. else if(pos - (pos / 10) * 10 == 3) { end = "RD"; }
  1208. else { end = "TH"; }
  1209.  
  1210. return end;
  1211. }
  1212.  
  1213. PlaySoundForAll(sound)
  1214. {
  1215. for (new i=0,j=GetPlayerPoolSize(); i <=j ; i++)
  1216. {
  1217. if(IsPlayerConnected(i)) PlayerPlaySound(i,sound,0,0,0);
  1218. }
  1219. }
  1220.  
  1221.  
  1222. ToggleControllable(control)
  1223. {
  1224. for(new i=0,j=GetPlayerPoolSize(); i<=j; i++)
  1225. {
  1226. if(IsPlayerConnected(i))
  1227. {
  1228. if(CallRemoteFunction("GetAliveState","i",i)) TogglePlayerControllable(i,control);
  1229. }
  1230. }
  1231. return 1;
  1232. }
  1233.  
  1234. //==============================================================================
  1235. // Important functions required
  1236. //==============================================================================
  1237.  
  1238. FUNCTION OnPlayerGetPersonalBest(playerid,Min,Sec,Mili)
  1239. {
  1240. PlayerMissionInfo[playerid][rBestMin]=Min;
  1241. PlayerMissionInfo[playerid][rBestSec]=Sec;
  1242. PlayerMissionInfo[playerid][rBestMili]=Mili;
  1243. CallRemoteFunction("UpdateMissionHud","iiiiiiiiiiii",playerid,2,GetPlayerPosition(playerid),TotalPlayers,PlayerMissionInfo[playerid][rMin],PlayerMissionInfo[playerid][rSec],PlayerMissionInfo[playerid][CurrentCheckpoint]+1,MAX_CPs,PlayerMissionInfo[playerid][rBestMin],PlayerMissionInfo[playerid][rBestSec],PlayerMissionInfo[playerid][rBestMili],Ghost_Mode_Time);
  1244. return 1;
  1245. }
  1246.  
  1247. FUNCTION CancelTheMission()
  1248. {
  1249. MissionCancelled= true;
  1250. return 1;
  1251. }
  1252.  
  1253. FUNCTION GetPlayerRaceVehicleID(playerid) return PlayerMissionInfo[playerid][PlayerVehicle];
  1254.  
  1255. FUNCTION OnPlayerNameRecieve(playerid,name[])
  1256. {
  1257. format(PlayerMissionInfo[playerid][UserName],MAX_PLAYER_NAME,"%s",name);
  1258. return 1;
  1259. }
  1260.  
  1261. FUNCTION MissionObjectiveStarted() return ObjectiveStarted;
Advertisement
Add Comment
Please, Sign In to add comment