y_vehicledata.inc 29 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076
  1. #if defined _INC_y_vehicledata
  2. #endinput
  3. #endif
  4. #define _INC_y_vehicledata
  5. /**
  6. * <library name="y_vehicledata">
  7. * <section>
  8. * Description
  9. * </section>
  10. * Basic functions for gathering data on various vehicle models. Things like
  11. * what sort of vehicle they are and what organisation they belong to.
  12. * <section>
  13. * Version
  14. * </section>
  15. * 0.2
  16. * <section>
  17. * Functions
  18. * </section>
  19. * <subsection>
  20. * Stock
  21. * </subsection><ul>
  22. * <symbol name="Vehicle_Speed">Get current vehicle speed in KMH.</symbol>
  23. * </ul><section>
  24. * Tags
  25. * </section><ul>
  26. * <symbol name="VIM">Vehicle Internal Modelid.</symbol>
  27. * </ul><section>
  28. * Variables
  29. * </section>
  30. * <subsection>
  31. * Global
  32. * </subsection><ul>
  33. * <symbol name="YSI_gVehicleFlags">Data on vehicles.</symbol>
  34. * <symbol name="YSI_gVehicleNames">Names of vehicles.</symbol>
  35. * <symbol name="YSI_gVehicleTopSpeed">Top speed of vehicles.</symbol>
  36. * </ul>
  37. * </library>
  38. *//** *//*
  39. Legal:
  40. Version: MPL 1.1
  41. The contents of this file are subject to the Mozilla Public License Version
  42. 1.1 the "License"; you may not use this file except in compliance with
  43. the License. You may obtain a copy of the License at
  44. http://www.mozilla.org/MPL/
  45. Software distributed under the License is distributed on an "AS IS" basis,
  46. WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  47. for the specific language governing rights and limitations under the
  48. License.
  49. The Original Code is the YSI framework.
  50. The Initial Developer of the Original Code is Alex "Y_Less" Cole.
  51. Portions created by the Initial Developer are Copyright C 2011
  52. the Initial Developer. All Rights Reserved.
  53. Contributors:
  54. Y_Less
  55. koolk
  56. JoeBullet/Google63
  57. g_aSlice/Slice
  58. Misiur
  59. samphunter
  60. tianmeta
  61. maddinat0r
  62. spacemud
  63. Crayder
  64. Dayvison
  65. Ahmad45123
  66. Zeex
  67. irinel1996
  68. Yiin-
  69. Chaprnks
  70. Konstantinos
  71. Masterchen09
  72. Southclaws
  73. PatchwerkQWER
  74. m0k1
  75. paulommu
  76. udan111
  77. Thanks:
  78. JoeBullet/Google63 - Handy arbitrary ASM jump code using SCTRL.
  79. ZeeX - Very productive conversations.
  80. koolk - IsPlayerinAreaEx code.
  81. TheAlpha - Danish translation.
  82. breadfish - German translation.
  83. Fireburn - Dutch translation.
  84. yom - French translation.
  85. 50p - Polish translation.
  86. Zamaroht - Spanish translation.
  87. Los - Portuguese translation.
  88. Dracoblue, sintax, mabako, Xtreme, other coders - Producing other modes for
  89. me to strive to better.
  90. Pixels^ - Running XScripters where the idea was born.
  91. Matite - Pestering me to release it and using it.
  92. Very special thanks to:
  93. Thiadmer - PAWN, whose limits continue to amaze me!
  94. Kye/Kalcor - SA:MP.
  95. SA:MP Team past, present and future - SA:MP.
  96. Optional plugins:
  97. Gamer_Z - GPS.
  98. Incognito - Streamer.
  99. Me - sscanf2, fixes2, Whirlpool.
  100. */
  101. /*
  102. 88b d88 88 db 88888888ba 88
  103. 888b d888 "" d88b 88 "8b 88
  104. 88`8b d8'88 d8'`8b 88 ,8P 88
  105. 88 `8b d8' 88 ,adPPYYba, 88 8b,dPPYba, d8' `8b 88aaaaaa8P' 88
  106. 88 `8b d8' 88 "" `Y8 88 88P' `"8a d8YaaaaY8b 88""""""' 88
  107. 88 `8b d8' 88 ,adPPPPP88 88 88 88 d8""""""""8b 88 88
  108. 88 `888' 88 88, ,88 88 88 88 d8' `8b 88 88
  109. 88 `8' 88 `"8bbdP"Y8 88 88 88 d8' `8b 88 88
  110. */
  111. #define VEHICLE_MODEL_MIN (400)
  112. #define VEHICLE_MODEL_MAX (611)
  113. #define VEHICLE_MODEL_COUNT (VEHICLE_MODEL_MAX - VEHICLE_MODEL_MIN + 1)
  114. #define VIM_MODEL_MIN (VEHICLE_MODEL_MIN - 1)
  115. #define VIM_MODEL_MAX (VEHICLE_MODEL_MAX + 1)
  116. #define VIM_MODEL_COUNT (VEHICLE_MODEL_COUNT + 2)
  117. #define CATEGORY_UNKNOWN e_VEHICLE_FLAGS_CAT_Unknown
  118. #define CATEGORY_AIRPLANE e_VEHICLE_FLAGS_CAT_Airplane
  119. #define CATEGORY_HELICOPTER e_VEHICLE_FLAGS_CAT_Helicopter
  120. #define CATEGORY_BIKE e_VEHICLE_FLAGS_CAT_Bike
  121. #define CATEGORY_CONVERTIBLE e_VEHICLE_FLAGS_CAT_Convertible
  122. #define CATEGORY_INDUSTRIAL e_VEHICLE_FLAGS_CAT_Industrial
  123. #define CATEGORY_LOWRIDER e_VEHICLE_FLAGS_CAT_Lowrider
  124. #define CATEGORY_OFFROAD e_VEHICLE_FLAGS_CAT_OffRoad
  125. #define CATEGORY_OFF_ROAD e_VEHICLE_FLAGS_CAT_OffRoad
  126. #define CATEGORY_PUBLIC e_VEHICLE_FLAGS_CAT_Public
  127. #define CATEGORY_SALOON e_VEHICLE_FLAGS_CAT_Saloon
  128. #define CATEGORY_SPORT e_VEHICLE_FLAGS_CAT_Sport
  129. #define CATEGORY_STATIONWAGON e_VEHICLE_FLAGS_CAT_Station
  130. #define CATEGORY_STATION_WAGON e_VEHICLE_FLAGS_CAT_Station
  131. #define CATEGORY_BOAT e_VEHICLE_FLAGS_CAT_Boat
  132. #define CATEGORY_TRAILER e_VEHICLE_FLAGS_CAT_Trailer
  133. #define CATEGORY_UNIQUE e_VEHICLE_FLAGS_CAT_Unique
  134. #define CATEGORY_RC e_VEHICLE_FLAGS_CAT_RC
  135. #define CATEGORY_AIRPLANES e_VEHICLE_FLAGS_CAT_Airplane
  136. #define CATEGORY_HELICOPTERS e_VEHICLE_FLAGS_CAT_Helicopter
  137. #define CATEGORY_BIKES e_VEHICLE_FLAGS_CAT_Bike
  138. #define CATEGORY_CONVERTIBLES e_VEHICLE_FLAGS_CAT_Convertible
  139. #define CATEGORY_LOWRIDERS e_VEHICLE_FLAGS_CAT_Lowrider
  140. #define CATEGORY_SALOONS e_VEHICLE_FLAGS_CAT_Saloon
  141. #define CATEGORY_SPORTS e_VEHICLE_FLAGS_CAT_Sport
  142. #define CATEGORY_STATIONWAGONS e_VEHICLE_FLAGS_CAT_Station
  143. #define CATEGORY_STATION_WAGONS e_VEHICLE_FLAGS_CAT_Station
  144. #define CATEGORY_BOATS e_VEHICLE_FLAGS_CAT_Boat
  145. #define CATEGORY_TRAILERS e_VEHICLE_FLAGS_CAT_Trailer
  146. #define CATEGORY_UNIQUES e_VEHICLE_FLAGS_CAT_Unique
  147. #define Vehicle_GetCategory(%0) VIM_GetCategory(Vehicle_GetVIM(%0))
  148. #define Vehicle_IsValid(%0) VIM_IsValid(Vehicle_GetVIM(%0))
  149. #define Vehicle_IsCar(%0) (_Vehicle_Is(Car , %0))
  150. #define Vehicle_IsTruck(%0) (_Vehicle_Is(Truck , %0))
  151. #define Vehicle_IsVan(%0) (_Vehicle_Is(Van , %0))
  152. #define Vehicle_IsFire(%0) (_Vehicle_Is(Fire , %0))
  153. #define Vehicle_IsPolice(%0) (_Vehicle_Is(Police , %0))
  154. #define Vehicle_IsFBI(%0) (_Vehicle_Is(FBI , %0))
  155. #define Vehicle_IsSWAT(%0) (_Vehicle_Is(SWAT , %0))
  156. #define Vehicle_IsMilitary(%0) (_Vehicle_Is(Military , %0))
  157. #define Vehicle_IsWeaponised(%0) (_Vehicle_Is(Weaponised, %0))
  158. #define Vehicle_IsHelicopter(%0) (_Vehicle_Is(Helicopter, %0))
  159. #define Vehicle_IsBoat(%0) (_Vehicle_Is(Boat , %0))
  160. #define Vehicle_IsPlane(%0) (_Vehicle_Is(Plane , %0))
  161. #define Vehicle_IsBike(%0) (_Vehicle_Is(Bike , %0))
  162. #define Vehicle_IsManual(%0) (_Vehicle_Is(Manual , %0))
  163. #define Vehicle_IsAmbulance(%0) (_Vehicle_Is(Ambulance , %0))
  164. #define Vehicle_IsTaxi(%0) (_Vehicle_Is(Taxi , %0))
  165. #define Vehicle_IsOnWater(%0) (_Vehicle_Is(OnWater , %0))
  166. #define Vehicle_IsCoastguard(%0) (_Vehicle_Is(Coastguard, %0))
  167. #define Vehicle_IsTrain(%0) (_Vehicle_Is(Train , %0))
  168. #define Vehicle_IsLS(%0) (_Vehicle_Is(LS , %0))
  169. #define Vehicle_IsSF(%0) (_Vehicle_Is(SF , %0))
  170. #define Vehicle_IsLV(%0) (_Vehicle_Is(LV , %0))
  171. #define Vehicle_IsTank(%0) (_Vehicle_Is(Tank , %0))
  172. #define Vehicle_IsFlowerpot(%0) (_Vehicle_Is(Flowerpot , %0))
  173. #define Vehicle_IsTransport(%0) (_Vehicle_Is(Transport , %0))
  174. #define Vehicle_IsArmed(%0) (_Vehicle_Is(Armed , %0))
  175. #define Model_GetCategory(%0) VIM_GetCategory(Model_ToVIM((%0)))
  176. #define Model_IsValid(%0) VIM_IsValid(Model_ToVIM((%0)))
  177. #define Model_IsCar(%0) (_Model_Is(Car , %0))
  178. #define Model_IsTruck(%0) (_Model_Is(Truck , %0))
  179. #define Model_IsVan(%0) (_Model_Is(Van , %0))
  180. #define Model_IsFire(%0) (_Model_Is(Fire , %0))
  181. #define Model_IsPolice(%0) (_Model_Is(Police , %0))
  182. #define Model_IsFBI(%0) (_Model_Is(FBI , %0))
  183. #define Model_IsSWAT(%0) (_Model_Is(SWAT , %0))
  184. #define Model_IsMilitary(%0) (_Model_Is(Military , %0))
  185. #define Model_IsWeaponised(%0) (_Model_Is(Weaponised, %0))
  186. #define Model_IsHelicopter(%0) (_Model_Is(Helicopter, %0))
  187. #define Model_IsBoat(%0) (_Model_Is(Boat , %0))
  188. #define Model_IsPlane(%0) (_Model_Is(Plane , %0))
  189. #define Model_IsBike(%0) (_Model_Is(Bike , %0))
  190. #define Model_IsManual(%0) (_Model_Is(Manual , %0))
  191. #define Model_IsAmbulance(%0) (_Model_Is(Ambulance , %0))
  192. #define Model_IsTaxi(%0) (_Model_Is(Taxi , %0))
  193. #define Model_IsOnWater(%0) (_Model_Is(OnWater , %0))
  194. #define Model_IsCoastguard(%0) (_Model_Is(Coastguard, %0))
  195. #define Model_IsTrain(%0) (_Model_Is(Train , %0))
  196. #define Model_IsLS(%0) (_Model_Is(LS , %0))
  197. #define Model_IsSF(%0) (_Model_Is(SF , %0))
  198. #define Model_IsLV(%0) (_Model_Is(LV , %0))
  199. #define Model_IsTank(%0) (_Model_Is(Tank , %0))
  200. #define Model_IsFlowerpot(%0) (_Model_Is(Flowerpot , %0))
  201. #define Model_IsTransport(%0) (_Model_Is(Transport , %0))
  202. #define Model_IsArmed(%0) (_Model_Is(Armed , %0))
  203. #define VIM_GetCategory(%0) (YSI_gVehicleFlags[(%0)] & e_VEHICLE_FLAGS_CATEGORY)
  204. #define VIM_IsValid(%0) (YSI_gVehicleFlags[(%0)] != e_VEHICLE_FLAGS_NONE)
  205. #define VIM_IsCar(%0) (_VIM_Is(Car , %0))
  206. #define VIM_IsTruck(%0) (_VIM_Is(Truck , %0))
  207. #define VIM_IsVan(%0) (_VIM_Is(Van , %0))
  208. #define VIM_IsFire(%0) (_VIM_Is(Fire , %0))
  209. #define VIM_IsPolice(%0) (_VIM_Is(Police , %0))
  210. #define VIM_IsFBI(%0) (_VIM_Is(FBI , %0))
  211. #define VIM_IsSWAT(%0) (_VIM_Is(SWAT , %0))
  212. #define VIM_IsMilitary(%0) (_VIM_Is(Military , %0))
  213. #define VIM_IsWeaponised(%0) (_VIM_Is(Weaponised, %0))
  214. #define VIM_IsHelicopter(%0) (_VIM_Is(Helicopter, %0))
  215. #define VIM_IsBoat(%0) (_VIM_Is(Boat , %0))
  216. #define VIM_IsPlane(%0) (_VIM_Is(Plane , %0))
  217. #define VIM_IsBike(%0) (_VIM_Is(Bike , %0))
  218. #define VIM_IsManual(%0) (_VIM_Is(Manual , %0))
  219. #define VIM_IsAmbulance(%0) (_VIM_Is(Ambulance , %0))
  220. #define VIM_IsTaxi(%0) (_VIM_Is(Taxi , %0))
  221. #define VIM_IsOnWater(%0) (_VIM_Is(OnWater , %0))
  222. #define VIM_IsCoastguard(%0) (_VIM_Is(Coastguard, %0))
  223. #define VIM_IsTrain(%0) (_VIM_Is(Train , %0))
  224. #define VIM_IsLS(%0) (_VIM_Is(LS , %0))
  225. #define VIM_IsSF(%0) (_VIM_Is(SF , %0))
  226. #define VIM_IsLV(%0) (_VIM_Is(LV , %0))
  227. #define VIM_IsTank(%0) (_VIM_Is(Tank , %0))
  228. #define VIM_IsFlowerpot(%0) (_VIM_Is(Flowerpot , %0))
  229. #define VIM_IsTransport(%0) (_VIM_Is(Transport , %0))
  230. #define VIM_IsArmed(%0) (_VIM_Is(Armed , %0))
  231. #define Vehicle_GetVIM(%0) (Model_ToVIM(GetVehicleModel((%0))))
  232. #define Model_ToVIM(%0) (VIM:(_Model_Validate(%0)))
  233. #define Vehicle_Name(%0) (VIM_Name(Vehicle_GetVIM(%0)))
  234. #define Model_Name(%0) (VIM_Name(Model_ToVIM(%0)))
  235. #define VIM_Name(%0) (YSI_gVehicleNames[(%0)])
  236. #define Vehicle_TopSpeed(%0) (VIM_TopSpeed(Vehicle_GetVIM(%0)))
  237. #define Model_TopSpeed(%0) (VIM_TopSpeed(Model_ToVIM(%0)))
  238. #define VIM_TopSpeed(%0) (YSI_gVehicleTopSpeed[(%0)])
  239. /*
  240. 88 88
  241. 88 ,d 88
  242. 88 88 88
  243. 88 8b,dPPYba, MM88MMM ,adPPYba, 8b,dPPYba, 8b,dPPYba, ,adPPYYba, 88
  244. 88 88P' `"8a 88 a8P_____88 88P' "Y8 88P' `"8a "" `Y8 88
  245. 88 88 88 88 8PP""""""" 88 88 88 ,adPPPPP88 88
  246. 88 88 88 88, "8b, ,aa 88 88 88 88, ,88 88
  247. 88 88 88 "Y888 `"Ybbd8"' 88 88 88 `"8bbdP"Y8 88
  248. */
  249. enum e_VEHICLE_FLAGS (<<= 1)
  250. {
  251. // There are 15 categories.
  252. e_VEHICLE_FLAGS_NONE = 0,
  253. e_VEHICLE_FLAGS_CAT_Unknown = 0,
  254. e_VEHICLE_FLAGS_CAT_Airplane = 1,
  255. e_VEHICLE_FLAGS_CAT_Helicopter = 2,
  256. e_VEHICLE_FLAGS_CAT_Bike = 3,
  257. e_VEHICLE_FLAGS_CAT_Convertible = 4,
  258. e_VEHICLE_FLAGS_CAT_Industrial = 5,
  259. e_VEHICLE_FLAGS_CAT_Lowrider = 6,
  260. e_VEHICLE_FLAGS_CAT_OffRoad = 7,
  261. e_VEHICLE_FLAGS_CAT_Public = 8,
  262. e_VEHICLE_FLAGS_CAT_Saloon = 9,
  263. e_VEHICLE_FLAGS_CAT_Sport = 10,
  264. e_VEHICLE_FLAGS_CAT_Station = 11,
  265. e_VEHICLE_FLAGS_CAT_Boat = 12,
  266. e_VEHICLE_FLAGS_CAT_Trailer = 13,
  267. e_VEHICLE_FLAGS_CAT_Unique = 14,
  268. e_VEHICLE_FLAGS_CAT_RC = 15,
  269. e_VEHICLE_FLAGS_CATEGORY = 0x0F,
  270. e_VEHICLE_FLAGS_Car = 0x10,
  271. e_VEHICLE_FLAGS_Truck,
  272. e_VEHICLE_FLAGS_Van,
  273. e_VEHICLE_FLAGS_Fire,
  274. e_VEHICLE_FLAGS_Police,
  275. e_VEHICLE_FLAGS_FBI,
  276. e_VEHICLE_FLAGS_SWAT,
  277. e_VEHICLE_FLAGS_Military,
  278. e_VEHICLE_FLAGS_Weaponised,
  279. e_VEHICLE_FLAGS_Helicopter,
  280. e_VEHICLE_FLAGS_Boat,
  281. e_VEHICLE_FLAGS_Plane,
  282. e_VEHICLE_FLAGS_Bike,
  283. e_VEHICLE_FLAGS_Manual,
  284. e_VEHICLE_FLAGS_Ambulance,
  285. e_VEHICLE_FLAGS_Taxi,
  286. e_VEHICLE_FLAGS_OnWater,
  287. e_VEHICLE_FLAGS_Coastguard,
  288. e_VEHICLE_FLAGS_Train,
  289. e_VEHICLE_FLAGS_LS,
  290. e_VEHICLE_FLAGS_SF,
  291. e_VEHICLE_FLAGS_LV,
  292. e_VEHICLE_FLAGS_Tank,
  293. e_VEHICLE_FLAGS_Flowerpot,
  294. e_VEHICLE_FLAGS_Transport,
  295. e_VEHICLE_FLAGS_Armed
  296. }
  297. #define _VEHICLE_FLAGS<%0> e_VEHICLE_FLAGS_NONE| CAT_%0| END|
  298. #define e_VEHICLE_FLAGS_NONE|%0\32;%1| e_VEHICLE_FLAGS_%1|e_VEHICLE_FLAGS_NONE|
  299. #define e_VEHICLE_FLAGS_END|e_VEHICLE_FLAGS_NONE| e_VEHICLE_FLAGS_NONE
  300. #define _Model_Validate(%0) ((clamp((%0), VIM_MODEL_MIN, VIM_MODEL_MAX) - VIM_MODEL_MIN))
  301. #define _Vehicle_Is(%9,%0) _VIM_Is(%9, Vehicle_GetVIM((%0)))
  302. #define _Model_Is(%9,%0) _VIM_Is(%9, Model_ToVIM((%0)))
  303. #define _VIM_Is(%9,%0) (bool:(YSI_gVehicleFlags[(%0)] & e_VEHICLE_FLAGS_%9))
  304. /*
  305. This comment can be collapsed - it pushes line numbers down to match models.
  306. */
  307. stock
  308. e_VEHICLE_FLAGS:YSI_gVehicleFlags[VIM:VIM_MODEL_COUNT] =
  309. {
  310. e_VEHICLE_FLAGS_NONE,
  311. _VEHICLE_FLAGS<OffRoad | Car >,
  312. _VEHICLE_FLAGS<Saloon | Car >,
  313. _VEHICLE_FLAGS<Sport | Car >,
  314. _VEHICLE_FLAGS<Industrial | Truck >,
  315. _VEHICLE_FLAGS<Station | Car >,
  316. _VEHICLE_FLAGS<Saloon | Car >,
  317. _VEHICLE_FLAGS<Unique | Truck >,
  318. _VEHICLE_FLAGS<Public | Truck | Weaponised | Fire>,
  319. _VEHICLE_FLAGS<Industrial | Truck >,
  320. _VEHICLE_FLAGS<Unique | Car >,
  321. _VEHICLE_FLAGS<Saloon | Car >,
  322. _VEHICLE_FLAGS<Sport | Car >,
  323. _VEHICLE_FLAGS<Lowrider | Car >,
  324. _VEHICLE_FLAGS<Industrial | Van >,
  325. _VEHICLE_FLAGS<Industrial | Van >,
  326. _VEHICLE_FLAGS<Sport | Car >,
  327. _VEHICLE_FLAGS<Public | Van | Ambulance>,
  328. _VEHICLE_FLAGS<Helicopter | Helicopter>,
  329. _VEHICLE_FLAGS<Station | Car >,
  330. _VEHICLE_FLAGS<Saloon | Car >,
  331. _VEHICLE_FLAGS<Public | Car | Taxi>,
  332. _VEHICLE_FLAGS<Saloon | Car >,
  333. _VEHICLE_FLAGS<Industrial | Car >,
  334. _VEHICLE_FLAGS<Unique | Van >,
  335. _VEHICLE_FLAGS<OffRoad | Car >,
  336. _VEHICLE_FLAGS<Helicopter | Helicopter | Weaponised | Military | Armed>,
  337. _VEHICLE_FLAGS<Saloon | Car >,
  338. _VEHICLE_FLAGS<Public | Truck | Police>,
  339. _VEHICLE_FLAGS<Unique | Truck >,
  340. _VEHICLE_FLAGS<Sport | Car >,
  341. _VEHICLE_FLAGS<Boat | Boat | Weaponised | Police | Armed>,
  342. _VEHICLE_FLAGS<Public | Transport >,
  343. _VEHICLE_FLAGS<Public | Weaponised | Military | Tank | Armed>,
  344. _VEHICLE_FLAGS<Public | Truck | Military>,
  345. _VEHICLE_FLAGS<Unique | Car >,
  346. _VEHICLE_FLAGS<Trailer | Truck >,
  347. _VEHICLE_FLAGS<Saloon | Car >,
  348. _VEHICLE_FLAGS<Public | Transport >,
  349. _VEHICLE_FLAGS<Public | Car | Taxi>,
  350. _VEHICLE_FLAGS<Convertible | Car >,
  351. _VEHICLE_FLAGS<Industrial | Van >,
  352. _VEHICLE_FLAGS<RC | Car >,
  353. _VEHICLE_FLAGS<Unique | Car >,
  354. _VEHICLE_FLAGS<Industrial | Truck >,
  355. _VEHICLE_FLAGS<OffRoad | Car >,
  356. _VEHICLE_FLAGS<Saloon | Car >,
  357. _VEHICLE_FLAGS<Boat | Boat >,
  358. _VEHICLE_FLAGS<Helicopter | Boat | Helicopter | OnWater | Armed>,
  359. _VEHICLE_FLAGS<Bike | Bike >,
  360. _VEHICLE_FLAGS<Unique | Train >,
  361. _VEHICLE_FLAGS<Trailer | Truck >,
  362. _VEHICLE_FLAGS<Sport | Car >,
  363. _VEHICLE_FLAGS<Boat | Boat >,
  364. _VEHICLE_FLAGS<Boat | Boat >,
  365. _VEHICLE_FLAGS<Boat | Boat >,
  366. _VEHICLE_FLAGS<Industrial | Truck >,
  367. _VEHICLE_FLAGS<Industrial | Van >,
  368. _VEHICLE_FLAGS<Unique | Car >,
  369. _VEHICLE_FLAGS<Station | Car >,
  370. _VEHICLE_FLAGS<Industrial | Van >,
  371. _VEHICLE_FLAGS<Airplane | Boat | Plane | OnWater>,
  372. _VEHICLE_FLAGS<Bike | Bike >,
  373. _VEHICLE_FLAGS<Bike | Bike >,
  374. _VEHICLE_FLAGS<Bike | Bike >,
  375. _VEHICLE_FLAGS<RC | Plane | Armed>,
  376. _VEHICLE_FLAGS<RC | Helicopter>,
  377. _VEHICLE_FLAGS<Saloon | Car >,
  378. _VEHICLE_FLAGS<Saloon | Car >,
  379. _VEHICLE_FLAGS<Bike | Bike >,
  380. _VEHICLE_FLAGS<Helicopter | Helicopter>,
  381. _VEHICLE_FLAGS<OffRoad | Car | Military>,
  382. _VEHICLE_FLAGS<Bike | Bike | Car >,
  383. _VEHICLE_FLAGS<Boat | Boat | Coastguard>,
  384. _VEHICLE_FLAGS<Boat | Boat >,
  385. _VEHICLE_FLAGS<Saloon | Car >,
  386. _VEHICLE_FLAGS<Sport | Car >,
  387. _VEHICLE_FLAGS<Airplane | Plane | Armed>,
  388. _VEHICLE_FLAGS<Sport | Car >,
  389. _VEHICLE_FLAGS<Industrial | Car >,
  390. _VEHICLE_FLAGS<Station | Car >,
  391. _VEHICLE_FLAGS<Convertible | Car >,
  392. _VEHICLE_FLAGS<Bike | Bike | Manual>,
  393. _VEHICLE_FLAGS<Industrial | Van >,
  394. _VEHICLE_FLAGS<Unique | Transport >,
  395. _VEHICLE_FLAGS<Boat | Boat >,
  396. _VEHICLE_FLAGS<Unique | Car >,
  397. _VEHICLE_FLAGS<Unique | Truck >,
  398. _VEHICLE_FLAGS<Helicopter | Helicopter>,
  399. _VEHICLE_FLAGS<Helicopter | Helicopter>,
  400. _VEHICLE_FLAGS<OffRoad | Car >,
  401. _VEHICLE_FLAGS<Public | Car | FBI>,
  402. _VEHICLE_FLAGS<Saloon | Car >,
  403. _VEHICLE_FLAGS<Saloon | Car >,
  404. _VEHICLE_FLAGS<Boat | Boat >,
  405. _VEHICLE_FLAGS<Sport | Car >,
  406. _VEHICLE_FLAGS<OffRoad | Car >,
  407. _VEHICLE_FLAGS<Sport | Car >,
  408. _VEHICLE_FLAGS<Helicopter | Helicopter | Police>,
  409. _VEHICLE_FLAGS<Industrial | Van >,
  410. _VEHICLE_FLAGS<Industrial | Van >,
  411. _VEHICLE_FLAGS<OffRoad | Car >,
  412. _VEHICLE_FLAGS<RC | Helicopter>,
  413. _VEHICLE_FLAGS<Sport | Car >,
  414. _VEHICLE_FLAGS<Sport | Car >,
  415. _VEHICLE_FLAGS<Saloon | Car >,
  416. _VEHICLE_FLAGS<OffRoad | Car >,
  417. _VEHICLE_FLAGS<Sport | Car >,
  418. _VEHICLE_FLAGS<Saloon | Car >,
  419. _VEHICLE_FLAGS<Unique | Transport >,
  420. _VEHICLE_FLAGS<Bike | Bike | Manual>,
  421. _VEHICLE_FLAGS<Bike | Bike | Manual>,
  422. _VEHICLE_FLAGS<Airplane | Plane >,
  423. _VEHICLE_FLAGS<Airplane | Plane >,
  424. _VEHICLE_FLAGS<Airplane | Plane >,
  425. _VEHICLE_FLAGS<Industrial | Truck >,
  426. _VEHICLE_FLAGS<Industrial | Truck >,
  427. _VEHICLE_FLAGS<Saloon | Car >,
  428. _VEHICLE_FLAGS<Saloon | Car >,
  429. _VEHICLE_FLAGS<Saloon | Car >,
  430. _VEHICLE_FLAGS<Airplane | Plane >,
  431. _VEHICLE_FLAGS<Airplane | Plane | Weaponised | Military | Armed>,
  432. _VEHICLE_FLAGS<Bike | Bike >,
  433. _VEHICLE_FLAGS<Bike | Bike >,
  434. _VEHICLE_FLAGS<Public | Bike | Police>,
  435. _VEHICLE_FLAGS<Industrial | Truck >,
  436. _VEHICLE_FLAGS<Unique | Truck >,
  437. _VEHICLE_FLAGS<Saloon | Car >,
  438. _VEHICLE_FLAGS<Saloon | Car >,
  439. _VEHICLE_FLAGS<Public | Truck | FBI >,
  440. _VEHICLE_FLAGS<Saloon | Car >,
  441. _VEHICLE_FLAGS<Unique >,
  442. _VEHICLE_FLAGS<Industrial >,
  443. _VEHICLE_FLAGS<Unique >,
  444. _VEHICLE_FLAGS<Convertible | Car >,
  445. _VEHICLE_FLAGS<Lowrider | Car >,
  446. _VEHICLE_FLAGS<Lowrider | Car >,
  447. _VEHICLE_FLAGS<Lowrider | Car >,
  448. _VEHICLE_FLAGS<Unique | Train >,
  449. _VEHICLE_FLAGS<Unique | Train >,
  450. _VEHICLE_FLAGS<Unique | Boat | Car | OnWater>,
  451. _VEHICLE_FLAGS<Saloon | Car >,
  452. _VEHICLE_FLAGS<Sport | Car >,
  453. _VEHICLE_FLAGS<Saloon | Car >,
  454. _VEHICLE_FLAGS<Industrial | Car >,
  455. _VEHICLE_FLAGS<Public | Truck | Weaponised | Fire>,
  456. _VEHICLE_FLAGS<Unique | Car >,
  457. _VEHICLE_FLAGS<Saloon | Car >,
  458. _VEHICLE_FLAGS<Saloon | Car >,
  459. _VEHICLE_FLAGS<Helicopter | Helicopter>,
  460. _VEHICLE_FLAGS<Saloon | Car >,
  461. _VEHICLE_FLAGS<Saloon | Car >,
  462. _VEHICLE_FLAGS<Saloon | Car >,
  463. _VEHICLE_FLAGS<Industrial | Van >,
  464. _VEHICLE_FLAGS<Airplane | Plane >,
  465. _VEHICLE_FLAGS<Industrial | Car >,
  466. _VEHICLE_FLAGS<Convertible | Car >,
  467. _VEHICLE_FLAGS<OffRoad | Car >,
  468. _VEHICLE_FLAGS<OffRoad | Car >,
  469. _VEHICLE_FLAGS<Sport | Car >,
  470. _VEHICLE_FLAGS<Sport | Car >,
  471. _VEHICLE_FLAGS<Saloon | Car >,
  472. _VEHICLE_FLAGS<Station | Car >,
  473. _VEHICLE_FLAGS<Saloon | Car >,
  474. _VEHICLE_FLAGS<Helicopter | Helicopter>,
  475. _VEHICLE_FLAGS<RC | Weaponised | Tank>,
  476. _VEHICLE_FLAGS<Sport | Car >,
  477. _VEHICLE_FLAGS<Lowrider | Car >,
  478. _VEHICLE_FLAGS<Lowrider | Car >,
  479. _VEHICLE_FLAGS<OffRoad | Car >,
  480. _VEHICLE_FLAGS<Trailer | Train >,
  481. _VEHICLE_FLAGS<Trailer | Train >,
  482. _VEHICLE_FLAGS<Unique | Car >,
  483. _VEHICLE_FLAGS<Unique | Car >,
  484. _VEHICLE_FLAGS<OffRoad >,
  485. _VEHICLE_FLAGS<Unique >,
  486. _VEHICLE_FLAGS<Lowrider | Car >,
  487. _VEHICLE_FLAGS<Lowrider | Car >,
  488. _VEHICLE_FLAGS<Airplane | Plane >,
  489. _VEHICLE_FLAGS<Industrial | Truck >,
  490. _VEHICLE_FLAGS<OffRoad | Car >,
  491. _VEHICLE_FLAGS<Saloon | Car >,
  492. _VEHICLE_FLAGS<Bike | Bike >,
  493. _VEHICLE_FLAGS<Industrial | Van >,
  494. _VEHICLE_FLAGS<Unique >,
  495. _VEHICLE_FLAGS<Trailer | Truck >,
  496. _VEHICLE_FLAGS<Saloon | Car >,
  497. _VEHICLE_FLAGS<Bike | Bike >,
  498. _VEHICLE_FLAGS<Sport | Car >,
  499. _VEHICLE_FLAGS<Unique | Van >,
  500. _VEHICLE_FLAGS<Sport | Car >,
  501. _VEHICLE_FLAGS<Trailer | Train >,
  502. _VEHICLE_FLAGS<Trailer | Train >,
  503. _VEHICLE_FLAGS<Airplane | Plane >,
  504. _VEHICLE_FLAGS<Airplane | Plane >,
  505. _VEHICLE_FLAGS<RC | Flowerpot >,
  506. _VEHICLE_FLAGS<Boat | Boat >,
  507. _VEHICLE_FLAGS<Public | Car | Police | LS>,
  508. _VEHICLE_FLAGS<Public | Car | Police | SF>,
  509. _VEHICLE_FLAGS<Public | Car | Police | LV>,
  510. _VEHICLE_FLAGS<Public | Car | Police>,
  511. _VEHICLE_FLAGS<Industrial | Car >,
  512. _VEHICLE_FLAGS<Public | Truck | Weaponised | Police | SWAT>,
  513. _VEHICLE_FLAGS<Sport | Car >,
  514. _VEHICLE_FLAGS<Sport | Car >,
  515. _VEHICLE_FLAGS<Saloon | Car >,
  516. _VEHICLE_FLAGS<Industrial | Car >,
  517. _VEHICLE_FLAGS<Trailer >,
  518. _VEHICLE_FLAGS<Trailer >,
  519. _VEHICLE_FLAGS<Trailer >,
  520. _VEHICLE_FLAGS<Industrial | Van >,
  521. _VEHICLE_FLAGS<Trailer >,
  522. _VEHICLE_FLAGS<Trailer >,
  523. e_VEHICLE_FLAGS_NONE
  524. },
  525. YSI_gVehicleNames[VIM:VIM_MODEL_COUNT][32 char] =
  526. {
  527. !"",
  528. !"Landstalker",
  529. !"Bravura",
  530. !"Buffalo",
  531. !"Linerunner",
  532. !"Perenniel",
  533. !"Sentinel",
  534. !"Dumper",
  535. !"Firetruck",
  536. !"Trashmaster",
  537. !"Stretch",
  538. !"Manana",
  539. !"Infernus",
  540. !"Voodoo",
  541. !"Pony",
  542. !"Mule",
  543. !"Cheetah",
  544. !"Ambulance",
  545. !"Leviathan",
  546. !"Moonbeam",
  547. !"Esperanto",
  548. !"Taxi",
  549. !"Washington",
  550. !"Bobcat",
  551. !"Mr Whoopee",
  552. !"BF Injection",
  553. !"Hunter",
  554. !"Premier",
  555. !"Enforcer",
  556. !"Securicar",
  557. !"Banshee",
  558. !"Predator",
  559. !"Bus",
  560. !"Rhino",
  561. !"Barracks",
  562. !"Hotknife",
  563. !"Article Trailer",
  564. !"Previon",
  565. !"Coach",
  566. !"Cabbie",
  567. !"Stallion",
  568. !"Rumpo",
  569. !"RC Bandit",
  570. !"Romero",
  571. !"Packer",
  572. !"Monster",
  573. !"Admiral",
  574. !"Squalo",
  575. !"Seasparrow",
  576. !"Pizzaboy",
  577. !"Tram",
  578. !"Article Trailer 2",
  579. !"Turismo",
  580. !"Speeder",
  581. !"Reefer",
  582. !"Tropic",
  583. !"Flatbed",
  584. !"Yankee",
  585. !"Caddy",
  586. !"Solair",
  587. !"Topfun Van (Berkley's RC)",
  588. !"Skimmer",
  589. !"PCJ-600",
  590. !"Faggio",
  591. !"Freeway",
  592. !"RC Baron",
  593. !"RC Raider",
  594. !"Glendale",
  595. !"Oceanic",
  596. !"Sanchez",
  597. !"Sparrow",
  598. !"Patriot",
  599. !"Quad",
  600. !"Coastguard",
  601. !"Dinghy",
  602. !"Hermes",
  603. !"Sabre",
  604. !"Rustler",
  605. !"ZR-350",
  606. !"Walton",
  607. !"Regina",
  608. !"Comet",
  609. !"BMX",
  610. !"Burrito",
  611. !"Camper",
  612. !"Marquis",
  613. !"Baggage",
  614. !"Dozer",
  615. !"Maverick",
  616. !"SAN News Maverick",
  617. !"Rancher",
  618. !"FBI Rancher",
  619. !"Virgo",
  620. !"Greenwood",
  621. !"Jetmax",
  622. !"Hotring Racer",
  623. !"Sandking",
  624. !"Blista Compact",
  625. !"Police Maverick",
  626. !"Boxville",
  627. !"Benson",
  628. !"Mesa",
  629. !"RC Goblin",
  630. !"Hotring Racer \"A\"",
  631. !"Hotring Racer \"B\"",
  632. !"Bloodring Banger",
  633. !"Rancher",
  634. !"Super GT",
  635. !"Elegant",
  636. !"Journey",
  637. !"Bike",
  638. !"Mountain Bike",
  639. !"Beagle",
  640. !"Cropduster",
  641. !"Stuntplane",
  642. !"Tanker",
  643. !"Roadtrain",
  644. !"Nebula",
  645. !"Majestic",
  646. !"Buccaneer",
  647. !"Shamal",
  648. !"Hydra",
  649. !"FCR-900",
  650. !"NRG-500",
  651. !"HPV1000",
  652. !"Cement Truck",
  653. !"Towtruck",
  654. !"Fortune",
  655. !"Cadrona",
  656. !"FBI Truck",
  657. !"Willard",
  658. !"Forklift",
  659. !"Tractor",
  660. !"Combine Harvester",
  661. !"Feltzer",
  662. !"Remington",
  663. !"Slamvan",
  664. !"Blade",
  665. !"Freight (Train)",
  666. !"Brownstreak (Train)",
  667. !"Vortex",
  668. !"Vincent",
  669. !"Bullet",
  670. !"Clover",
  671. !"Sadler",
  672. !"Firetruck LA",
  673. !"Hustler",
  674. !"Intruder",
  675. !"Primo",
  676. !"Cargobob",
  677. !"Tampa",
  678. !"Sunrise",
  679. !"Merit",
  680. !"Utility Van",
  681. !"Nevada",
  682. !"Yosemite",
  683. !"Windsor",
  684. !"Monster \"A\"",
  685. !"Monster \"B\"",
  686. !"Uranus",
  687. !"Jester",
  688. !"Sultan",
  689. !"Stratum",
  690. !"Elegy",
  691. !"Raindance",
  692. !"RC Tiger",
  693. !"Flash",
  694. !"Tahoma",
  695. !"Savanna",
  696. !"Bandito",
  697. !"Freight Flat Trailer (Train)",
  698. !"Streak Trailer (Train)",
  699. !"Kart",
  700. !"Mower",
  701. !"Dune",
  702. !"Sweeper",
  703. !"Broadway",
  704. !"Tornado",
  705. !"AT400",
  706. !"DFT-30",
  707. !"Huntley",
  708. !"Stafford",
  709. !"BF-400",
  710. !"Newsvan",
  711. !"Tug",
  712. !"Petrol Trailer",
  713. !"Emperor",
  714. !"Wayfarer",
  715. !"Euros",
  716. !"Hotdog",
  717. !"Club",
  718. !"Freight Box Trailer (Train)",
  719. !"Article Trailer 3",
  720. !"Andromada",
  721. !"Dodo",
  722. !"RC Cam",
  723. !"Launch",
  724. !"Police Car (LSPD)",
  725. !"Police Car (SFPD)",
  726. !"Police Car (LVPD)",
  727. !"Police Ranger",
  728. !"Picador",
  729. !"S.W.A.T.",
  730. !"Alpha",
  731. !"Phoenix",
  732. !"Glendale Shit",
  733. !"Sadler Shit",
  734. !"Baggage Trailer \"A\"",
  735. !"Baggage Trailer \"B\"",
  736. !"Tug Stairs Trailer",
  737. !"Boxville",
  738. !"Farm Trailer",
  739. !"Utility Trailer",
  740. !""
  741. },
  742. YSI_gVehicleTopSpeed[VIM:VIM_MODEL_COUNT] =
  743. {
  744. 0,
  745. 157,
  746. 147,
  747. 186,
  748. 110,
  749. 133,
  750. 164,
  751. 110,
  752. 148,
  753. 100,
  754. 158,
  755. 129,
  756. 221,
  757. 168,
  758. 110,
  759. 105,
  760. 192,
  761. 154,
  762. 270,
  763. 115,
  764. 149,
  765. 145,
  766. 154,
  767. 140,
  768. 99,
  769. 135,
  770. 270,
  771. 173,
  772. 165,
  773. 157,
  774. 201,
  775. 190,
  776. 130,
  777. 94,
  778. 110,
  779. 167,
  780. 0,
  781. 149,
  782. 158,
  783. 142,
  784. 168,
  785. 136,
  786. 145,
  787. 139,
  788. 126,
  789. 110,
  790. 164,
  791. 270,
  792. 270,
  793. 111,
  794. 0,
  795. 0,
  796. 193,
  797. 270,
  798. 60,
  799. 135,
  800. 157,
  801. 106,
  802. 95,
  803. 157,
  804. 136,
  805. 270,
  806. 160,
  807. 111,
  808. 142,
  809. 145,
  810. 145,
  811. 147,
  812. 140,
  813. 144,
  814. 270,
  815. 157,
  816. 110,
  817. 190,
  818. 190,
  819. 149,
  820. 173,
  821. 270,
  822. 186,
  823. 117,
  824. 140,
  825. 184,
  826. 73,
  827. 156,
  828. 122,
  829. 190,
  830. 99,
  831. 64,
  832. 270,
  833. 270,
  834. 139,
  835. 157,
  836. 149,
  837. 140,
  838. 270,
  839. 214,
  840. 176,
  841. 162,
  842. 270,
  843. 108,
  844. 123,
  845. 140,
  846. 145,
  847. 216,
  848. 216,
  849. 173,
  850. 140,
  851. 179,
  852. 166,
  853. 108,
  854. 79,
  855. 101,
  856. 270,
  857. 270,
  858. 270,
  859. 120,
  860. 142,
  861. 157,
  862. 157,
  863. 164,
  864. 270,
  865. 270,
  866. 160,
  867. 176,
  868. 151,
  869. 130,
  870. 160,
  871. 158,
  872. 149,
  873. 176,
  874. 149,
  875. 60,
  876. 70,
  877. 110,
  878. 167,
  879. 168,
  880. 158,
  881. 173,
  882. 0,
  883. 0,
  884. 270,
  885. 149,
  886. 203,
  887. 164,
  888. 151,
  889. 150,
  890. 147,
  891. 149,
  892. 142,
  893. 270,
  894. 153,
  895. 145,
  896. 157,
  897. 121,
  898. 270,
  899. 144,
  900. 158,
  901. 113,
  902. 113,
  903. 156,
  904. 178,
  905. 169,
  906. 154,
  907. 178,
  908. 270,
  909. 145,
  910. 165,
  911. 160,
  912. 173,
  913. 146,
  914. 0,
  915. 0,
  916. 93,
  917. 60,
  918. 110,
  919. 60,
  920. 158,
  921. 158,
  922. 270,
  923. 130,
  924. 158,
  925. 153,
  926. 151,
  927. 136,
  928. 85,
  929. 0,
  930. 153,
  931. 142,
  932. 165,
  933. 108,
  934. 162,
  935. 0,
  936. 0,
  937. 270,
  938. 270,
  939. 130,
  940. 190,
  941. 175,
  942. 175,
  943. 175,
  944. 158,
  945. 151,
  946. 110,
  947. 169,
  948. 171,
  949. 148,
  950. 152,
  951. 0,
  952. 0,
  953. 0,
  954. 108,
  955. 0,
  956. 0,
  957. 0
  958. };
  959. /*-------------------------------------------------------------------------*//**
  960. * <param name="vehicleid">The vehicleid to get speed.</param>
  961. * <returns>
  962. * Current vehicle speed.
  963. * </returns>
  964. * <remarks>
  965. * This function have returns in KM/H.
  966. * </remarks>
  967. *//*------------------------------------------------------------------------**/
  968. stock Vehicle_Speed(vehicleid)
  969. {
  970. static
  971. Float:Vx,
  972. Float:Vy,
  973. Float:Vz
  974. ;
  975. GetVehicleVelocity(vehicleid, Vx, Vy, Vz);
  976. return floatround((floatsqroot((Vx * Vx) + (Vy * Vy) + (Vz * Vz)) * 136.666667));
  977. }
  978. #undef _VEHICLE_FLAGS
  979. #undef e_VEHICLE_FLAGS_NONE
  980. #undef e_VEHICLE_FLAGS_END