y_vehicledata_entry.inc 28 KB

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