Guest User

MadMan

a guest
Sep 20th, 2009
247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.22 KB | None | 0 0
  1. //Vehicle spawner dialog created by Donny
  2. //Edited by {MadMan}
  3. //added vehicle destroy system and link vehicle to interior and /car /call commands
  4.  
  5.  
  6.  
  7. #include <a_samp>
  8. new PlayerVehicle[MAX_PLAYERS];
  9. public OnPlayerCommandText(playerid,cmdtext[])
  10. {
  11.  
  12. if(!strcmp(cmdtext,"/car",true))
  13. {
  14.  
  15. ShowPlayerDialog( playerid, 3434, DIALOG_STYLE_LIST, "Vehicle Types", "Airplanes\nHelicopters\nBikes\nConvertibles\nIndustrial\nLowriders\nOff Road\nPublic Service Vehicles\nSaloons\nSport Vehicles\nStation Wagons\nBoats\nTrailers\nUnique Vehicles\nRC Vehicles", "Select", "Cancel" );
  16.  
  17. return 1;
  18. }
  19.  
  20.  
  21. if(!strcmp(cmdtext,"/call",true))
  22. {
  23. if(PlayerVehicle[playerid]!=0)
  24. {
  25. new Float:x,Float:y,Float:z,Float:angle;
  26. GetPlayerPos(playerid,x,y,z);
  27. GetPlayerFacingAngle(playerid,angle);
  28. SetVehiclePos(PlayerVehicle[playerid],x+3,y+3,z);
  29. SetVehicleZAngle(PlayerVehicle[playerid],angle);
  30. LinkVehicleToInterior(PlayerVehicle[playerid],GetPlayerInterior(playerid));
  31. }else {
  32. SendClientMessage(playerid,0x49ED12FF,"( You need to spawn a car for this to work )");
  33. }
  34. return 1;
  35. }
  36. return 0;
  37. }
  38.  
  39.  
  40. public OnPlayerKeyStateChange( playerid, newkeys, oldkeys )
  41. {
  42. if ( newkeys == ( KEY_CROUCH + KEY_WALK ) ) ShowPlayerDialog( playerid, 3434, DIALOG_STYLE_LIST, "Vehicle Types", "Airplanes\nHelicopters\nBikes\nConvertibles\nIndustrial\nLowriders\nOff Road\nPublic Service Vehicles\nSaloons\nSport Vehicles\nStation Wagons\nBoats\nTrailers\nUnique Vehicles\nRC Vehicles", "Select", "Cancel" );
  43. return 1;
  44. }
  45.  
  46. public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[] )
  47. {
  48. switch ( dialogid )
  49. {
  50. case 3434 :
  51. {
  52. if ( response )
  53. {
  54. DestroyPlayerVehicle(playerid);
  55. switch ( listitem )
  56. {
  57. case 0 : ShowPlayerDialog( playerid, 3435, DIALOG_STYLE_LIST, "Airplanes", "Andromada\nAT-400\nBeagle\nCropduster\nDodo\nHydra\nNevada\nRustler\nShamal\nSkimmer\nStuntplane", "Select", "Cancel" );
  58. case 1 : ShowPlayerDialog( playerid, 3436, DIALOG_STYLE_LIST, "Helicopters", "Cargobob\nHunter\nLeviathan\nMaverick\nNews Maverick\nPolice Maverick\nRaindance\nSeasparrow\nHelicopters", "Select", "Cancel" );
  59. case 2 : ShowPlayerDialog( playerid, 3437, DIALOG_STYLE_LIST, "Bikes", "BF-400\nBike\nBMX\nFaggio\nFCR-900\nFreeway\nMountain Bike\nNRG-500\nPCJ-600\nPizzaboy\nQuad\nSanchez\nWayfarer", "Select", "Cancel" );
  60. case 3 : ShowPlayerDialog( playerid, 3438, DIALOG_STYLE_LIST, "Convertibles", "Comet\nFeltzer\nStallion\nWindsor", "Select", "Cancel" );
  61. case 4 : ShowPlayerDialog( playerid, 3439, DIALOG_STYLE_LIST, "Industrial", "Benson\nBobcat\nBurrito\nBoxville\nBoxburg\nCement Truck\nDFT-30\nFlatbed\nLinerunner\nMule\nNewsvan\nPacker\nPetrol Tanker\nPony\nRoadtrain\nRumpo\nSadler\nSadler Shit\nTopfun\nTractor\nTrashmaster\nUtility Van\nWalton\nYankee\nYosemite", "Select", "Cancel" );
  62. case 5 : ShowPlayerDialog( playerid, 3440, DIALOG_STYLE_LIST, "Lowriders", "Blade\nBroadway\nRemington\nSavanna\nSlamvan\nTahoma\nTornado\nVoodoo", "Select", "Cancel" );
  63. case 6 : ShowPlayerDialog( playerid, 3441, DIALOG_STYLE_LIST, "Off Road", "Bandito\nBF Injection\nDune\nHuntley\nLandstalker\nMesa\nMonster\nMonster A\nMonster B\nPatriot\nRancher A\nRancher B\nSandking", "Select", "Cancel" );
  64. case 7 : ShowPlayerDialog( playerid, 3442, DIALOG_STYLE_LIST, "Public Service Vehicles", "Ambulance\nBarracks\nBus\nCabbie\nCoach\nCop Bike (HPV-1000)\nEnforcer\nFBI Rancher\nFBI Truck\nFiretruck\nFiretruck LA\nPolice Car (LSPD)\nPolice Car (LVPD)\nPolice Car (SFPD)\nRanger\nRhino\nS.W.A.T\nTaxi", "Select", "Cancel" );
  65. case 8 : ShowPlayerDialog( playerid, 3443, DIALOG_STYLE_LIST, "Saloons", "Admiral\nBloodring Banger\nBravura\nBuccaneer\nCadrona\nClover\nElegant\nElegy\nEmperor\nEsperanto\nFortune\nGlendale Shit\nGlendale\nGreenwood\nHermes\nIntruder\nMajestic\nManana\nMerit\nNebula\nOceanic\nPicador\nPremier\nPrevion\nPrimo\nSentinel\nStafford\nSultan\nSunrise\nTampa\nVincent\nVirgo\nWillard\nWashington", "Select", "Cancel" );
  66. case 9 : ShowPlayerDialog( playerid, 3444, DIALOG_STYLE_LIST, "Sport Vehicles", "Alpha\nBanshee\nBlista Compact\nBuffalo\nBullet\nCheetah\nClub\nEuros\nFlash\nHotring Racer\nHotring Racer A\nHotring Racer B\nInfernus\nJester\nPhoenix\nSabre\nSuper GT\nTurismo\nUranus\nZR-350", "Select", "Cancel" );
  67. case 10 : ShowPlayerDialog( playerid, 3445, DIALOG_STYLE_LIST, "Station Wagons", "Moonbeam\nPerenniel\nRegina\nSolair\nStratum", "Select", "Cancel" );
  68. case 11 : ShowPlayerDialog( playerid, 3446, DIALOG_STYLE_LIST, "Boats", "Coastguard\nDinghy\nJetmax\nLaunch\nMarquis\nPredator\nReefer\nSpeeder\nSquallo\nTropic", "Select", "Cancel" );
  69. case 12 : ShowPlayerDialog( playerid, 3447, DIALOG_STYLE_LIST, "Trailers", "Article Trailer\nArticle Trailer 2\nArticle Trailer 3\nBaggage Trailer A\nBaggage Trailer B\nFarm Trailer\nFreight Flat Trailer (Train)\nFreight Box Trailer (Train)\nPetrol Trailer\nStreak Trailer (Train)\nStairs Trailer\nUtility Trailer", "Select", "Cancel" );
  70. case 13 : ShowPlayerDialog( playerid, 3448, DIALOG_STYLE_LIST, "Unique Vehicles", "Baggage\nBrownstreak (Train)\nCaddy\nCamper\nCamper A\nCombine Harvester\nDozer\nDumper\nForklift\nFreight (Train)\nHotknife\nHustler\nHotdog\nKart\nMower\nMr Whoopee\nRomero\nSecuricar\nStretch\nSweeper\nTram\nTowtruck\nTug\nVortex", "Select", "Cancel" );
  71. case 14 : ShowPlayerDialog( playerid, 3449, DIALOG_STYLE_LIST, "RC Vehicles", "RC Bandit\nRC Baron\nRC Raider\nRC Goblin\nRC Tiger\nRC Cam", "Select", "Cancel" );
  72. }
  73. }
  74. }
  75. case 3435 :
  76. {
  77. if ( response )
  78. {
  79. new
  80. Float:x,
  81. Float:y,
  82. Float:z,
  83. Float:angle,
  84. model_array[] = { 592, 577, 511, 512, 593, 520, 553, 476, 519, 460, 513 };
  85.  
  86. GetPlayerPos( playerid, x, y, z );
  87. GetPlayerFacingAngle( playerid, angle );
  88. PlayerVehicle[playerid]=CreateVehicle( model_array[ listitem ], ( x + ( 5 * floatsin( -angle, degrees ) ) ), ( y + ( 5 * floatcos( -angle, degrees ) ) ), z, ( angle + 90 ), -1, -1, cellmax );
  89. LinkVehicleToInterior(PlayerVehicle[playerid],GetPlayerInterior(playerid));
  90. return PlayerVehicle[playerid];
  91. }
  92. }
  93. case 3436 :
  94. {
  95. if ( response )
  96. {
  97. new
  98. Float:x,
  99. Float:y,
  100. Float:z,
  101. Float:angle,
  102. model_array[] = { 548, 425, 417, 487, 488, 497, 563, 447, 469 };
  103.  
  104. GetPlayerPos( playerid, x, y, z );
  105. GetPlayerFacingAngle( playerid, angle );
  106. PlayerVehicle[playerid]=CreateVehicle( model_array[ listitem ], ( x + ( 5 * floatsin( -angle, degrees ) ) ), ( y + ( 5 * floatcos( -angle, degrees ) ) ), z, ( angle + 90 ), -1, -1, cellmax );
  107. LinkVehicleToInterior(PlayerVehicle[playerid],GetPlayerInterior(playerid));
  108. return PlayerVehicle[playerid];
  109. }
  110. }
  111. case 3437 :
  112. {
  113. if ( response )
  114. {
  115. new
  116. Float:x,
  117. Float:y,
  118. Float:z,
  119. Float:angle,
  120. model_array[] = { 581, 509, 481, 462, 521, 463, 510, 522, 461, 448, 471, 468, 586 };
  121.  
  122. GetPlayerPos( playerid, x, y, z );
  123. GetPlayerFacingAngle( playerid, angle );
  124. PlayerVehicle[playerid]=CreateVehicle( model_array[ listitem ], ( x + ( 5 * floatsin( -angle, degrees ) ) ), ( y + ( 5 * floatcos( -angle, degrees ) ) ), z, ( angle + 90 ), -1, -1, cellmax );
  125. LinkVehicleToInterior(PlayerVehicle[playerid],GetPlayerInterior(playerid));
  126. return PlayerVehicle[playerid];
  127. }
  128. }
  129. case 3438 :
  130. {
  131. if ( response )
  132. {
  133. new
  134. Float:x,
  135. Float:y,
  136. Float:z,
  137. Float:angle,
  138. model_array[] = { 480, 533, 439, 555 };
  139.  
  140. GetPlayerPos( playerid, x, y, z );
  141. GetPlayerFacingAngle( playerid, angle );
  142. PlayerVehicle[playerid]=CreateVehicle( model_array[ listitem ], ( x + ( 5 * floatsin( -angle, degrees ) ) ), ( y + ( 5 * floatcos( -angle, degrees ) ) ), z, ( angle + 90 ), -1, -1, cellmax );
  143. LinkVehicleToInterior(PlayerVehicle[playerid],GetPlayerInterior(playerid));
  144. return PlayerVehicle[playerid];
  145. }
  146. }
  147. case 3439 :
  148. {
  149. if ( response )
  150. {
  151. new
  152. Float:x,
  153. Float:y,
  154. Float:z,
  155. Float:angle,
  156. model_array[] = { 499, 422, 482, 498, 609, 524, 578, 455, 403, 414, 582, 443, 514, 413, 515, 440, 543, 605, 459, 531, 408, 552, 478, 456, 554 };
  157.  
  158. GetPlayerPos( playerid, x, y, z );
  159. GetPlayerFacingAngle( playerid, angle );
  160. PlayerVehicle[playerid]=CreateVehicle( model_array[ listitem ], ( x + ( 5 * floatsin( -angle, degrees ) ) ), ( y + ( 5 * floatcos( -angle, degrees ) ) ), z, ( angle + 90 ), -1, -1, cellmax );
  161. LinkVehicleToInterior(PlayerVehicle[playerid],GetPlayerInterior(playerid));
  162. return PlayerVehicle[playerid];
  163. }
  164. }
  165. case 3440 :
  166. {
  167. if ( response )
  168. {
  169. new
  170. Float:x,
  171. Float:y,
  172. Float:z,
  173. Float:angle,
  174. model_array[] = { 536, 575, 534, 567, 535, 566, 576, 412 };
  175.  
  176. GetPlayerPos( playerid, x, y, z );
  177. GetPlayerFacingAngle( playerid, angle );
  178. PlayerVehicle[playerid]=CreateVehicle( model_array[ listitem ], ( x + ( 5 * floatsin( -angle, degrees ) ) ), ( y + ( 5 * floatcos( -angle, degrees ) ) ), z, ( angle + 90 ), -1, -1, cellmax );
  179. LinkVehicleToInterior(PlayerVehicle[playerid],GetPlayerInterior(playerid));
  180. return PlayerVehicle[playerid];
  181. }
  182. }
  183. case 3441 :
  184. {
  185. if ( response )
  186. {
  187. new
  188. Float:x,
  189. Float:y,
  190. Float:z,
  191. Float:angle,
  192. model_array[] = { 568, 424, 573, 579, 400, 500, 444, 556, 557, 470, 489, 505, 495 };
  193.  
  194. GetPlayerPos( playerid, x, y, z );
  195. GetPlayerFacingAngle( playerid, angle );
  196. PlayerVehicle[playerid]=CreateVehicle( model_array[ listitem ], ( x + ( 5 * floatsin( -angle, degrees ) ) ), ( y + ( 5 * floatcos( -angle, degrees ) ) ), z, ( angle + 90 ), -1, -1, cellmax );
  197. LinkVehicleToInterior(PlayerVehicle[playerid],GetPlayerInterior(playerid));
  198. return PlayerVehicle[playerid];
  199. }
  200. }
  201. case 3442 :
  202. {
  203. if ( response )
  204. {
  205. new
  206. Float:x,
  207. Float:y,
  208. Float:z,
  209. Float:angle,
  210. model_array[] = { 416, 433, 431, 438, 437, 523, 427, 490, 528, 407, 544, 596, 598, 597, 599, 432, 601, 420 };
  211.  
  212. GetPlayerPos( playerid, x, y, z );
  213. GetPlayerFacingAngle( playerid, angle );
  214. PlayerVehicle[playerid]=CreateVehicle( model_array[ listitem ], ( x + ( 5 * floatsin( -angle, degrees ) ) ), ( y + ( 5 * floatcos( -angle, degrees ) ) ), z, ( angle + 90 ), -1, -1, cellmax );
  215. LinkVehicleToInterior(PlayerVehicle[playerid],GetPlayerInterior(playerid));
  216. return PlayerVehicle[playerid];
  217. }
  218. }
  219. case 3443 :
  220. {
  221. if ( response )
  222. {
  223. new
  224. Float:x,
  225. Float:y,
  226. Float:z,
  227. Float:angle,
  228. model_array[] = { 445, 504, 401, 518, 527, 542, 507, 562, 585, 419, 526, 604, 466, 492, 474, 546, 517, 410, 551, 516, 467, 600, 426, 436, 547, 405, 580, 560, 550, 549, 540, 491, 529, 421 };
  229.  
  230. GetPlayerPos( playerid, x, y, z );
  231. GetPlayerFacingAngle( playerid, angle );
  232. PlayerVehicle[playerid]=CreateVehicle( model_array[ listitem ], ( x + ( 5 * floatsin( -angle, degrees ) ) ), ( y + ( 5 * floatcos( -angle, degrees ) ) ), z, ( angle + 90 ), -1, -1, cellmax );
  233. LinkVehicleToInterior(PlayerVehicle[playerid],GetPlayerInterior(playerid));
  234. return PlayerVehicle[playerid];
  235. }
  236. }
  237. case 3444 :
  238. {
  239. if ( response )
  240. {
  241. new
  242. Float:x,
  243. Float:y,
  244. Float:z,
  245. Float:angle,
  246. model_array[] = { 602, 429, 496, 402, 541, 415, 589, 587, 565, 494, 502, 503, 411, 559, 603, 475, 506, 451, 558, 477 };
  247.  
  248. GetPlayerPos( playerid, x, y, z );
  249. GetPlayerFacingAngle( playerid, angle );
  250. PlayerVehicle[playerid]=CreateVehicle( model_array[ listitem ], ( x + ( 5 * floatsin( -angle, degrees ) ) ), ( y + ( 5 * floatcos( -angle, degrees ) ) ), z, ( angle + 90 ), -1, -1, cellmax );
  251. LinkVehicleToInterior(PlayerVehicle[playerid],GetPlayerInterior(playerid));
  252. return PlayerVehicle[playerid];
  253. }
  254. }
  255. case 3445 :
  256. {
  257. if ( response )
  258. {
  259. new
  260. Float:x,
  261. Float:y,
  262. Float:z,
  263. Float:angle,
  264. model_array[] = { 418, 404, 479, 458, 561 };
  265.  
  266. GetPlayerPos( playerid, x, y, z );
  267. GetPlayerFacingAngle( playerid, angle );
  268. PlayerVehicle[playerid]=CreateVehicle( model_array[ listitem ], ( x + ( 5 * floatsin( -angle, degrees ) ) ), ( y + ( 5 * floatcos( -angle, degrees ) ) ), z, ( angle + 90 ), -1, -1, cellmax );
  269. LinkVehicleToInterior(PlayerVehicle[playerid],GetPlayerInterior(playerid));
  270. return PlayerVehicle[playerid];
  271. }
  272. }
  273. case 3446 :
  274. {
  275. if ( response )
  276. {
  277. new
  278. Float:x,
  279. Float:y,
  280. Float:z,
  281. Float:angle,
  282. model_array[] = { 472, 473, 493, 595, 484, 430, 453, 452, 446, 454 };
  283.  
  284. GetPlayerPos( playerid, x, y, z );
  285. GetPlayerFacingAngle( playerid, angle );
  286. PlayerVehicle[playerid]=CreateVehicle( model_array[ listitem ], ( x + ( 5 * floatsin( -angle, degrees ) ) ), ( y + ( 5 * floatcos( -angle, degrees ) ) ), z, ( angle + 90 ), -1, -1, cellmax );
  287. LinkVehicleToInterior(PlayerVehicle[playerid],GetPlayerInterior(playerid));
  288. return PlayerVehicle[playerid];
  289. }
  290. }
  291. case 3447 :
  292. {
  293. if ( response )
  294. {
  295. new
  296. Float:x,
  297. Float:y,
  298. Float:z,
  299. Float:angle,
  300. model_array[] = { 435, 450, 591, 606, 607, 610, 569, 590, 584, 570, 608, 611 };
  301.  
  302. GetPlayerPos( playerid, x, y, z );
  303. GetPlayerFacingAngle( playerid, angle );
  304. PlayerVehicle[playerid]=CreateVehicle( model_array[ listitem ], ( x + ( 5 * floatsin( -angle, degrees ) ) ), ( y + ( 5 * floatcos( -angle, degrees ) ) ), z, ( angle + 90 ), -1, -1, cellmax );
  305. LinkVehicleToInterior(PlayerVehicle[playerid],GetPlayerInterior(playerid));
  306. return PlayerVehicle[playerid];
  307. }
  308. }
  309. case 3448 :
  310. {
  311. if ( response )
  312. {
  313. new
  314. Float:x,
  315. Float:y,
  316. Float:z,
  317. Float:angle,
  318. model_array[] = { 485, 537, 457, 483, 508, 532, 486, 406, 530, 538, 434, 545, 588, 571, 572, 423, 442, 428, 409, 574, 449, 525, 583, 539 };
  319.  
  320. GetPlayerPos( playerid, x, y, z );
  321. GetPlayerFacingAngle( playerid, angle );
  322. PlayerVehicle[playerid]=CreateVehicle( model_array[ listitem ], ( x + ( 5 * floatsin( -angle, degrees ) ) ), ( y + ( 5 * floatcos( -angle, degrees ) ) ), z, ( angle + 90 ), -1, -1, cellmax );
  323. LinkVehicleToInterior(PlayerVehicle[playerid],GetPlayerInterior(playerid));
  324. return PlayerVehicle[playerid];
  325. }
  326. }
  327. case 3449 :
  328. {
  329. if ( response )
  330. {
  331. new
  332. Float:x,
  333. Float:y,
  334. Float:z,
  335. Float:angle,
  336. model_array[] = { 441, 464, 465, 501, 564, 594 };
  337.  
  338. GetPlayerPos( playerid, x, y, z );
  339. GetPlayerFacingAngle( playerid, angle );
  340. CreateVehicle( model_array[ listitem ], ( x + ( 5 * floatsin( -angle, degrees ) ) ), ( y + ( 5 * floatcos( -angle, degrees ) ) ), z, ( angle + 90 ), -1, -1, cellmax );
  341. LinkVehicleToInterior(PlayerVehicle[playerid],GetPlayerInterior(playerid));
  342. return PlayerVehicle[playerid];
  343. }
  344. }
  345. }
  346. return 1;
  347. }
  348.  
  349.  
  350.  
  351.  
  352.  
  353. forward DestroyPlayerVehicle(playerid);
  354. public DestroyPlayerVehicle(playerid)
  355. {
  356. if(!PlayerVehicle[playerid]) return 0;
  357. DestroyVehicle(PlayerVehicle[playerid]);
  358. PlayerVehicle[playerid]=0;
  359. return 1;
  360. }
  361.  
  362. public OnPlayerDisconnect(playerid,reason)
  363. {
  364. DestroyPlayerVehicle(playerid);
  365. return 1;
  366. }
  367.  
  368. public OnFilterScriptExit()
  369. {
  370. for(new i=0;i<MAX_PLAYERS;i++)
  371. if(IsPlayerConnected(i))
  372. DestroyPlayerVehicle(i);
  373.  
  374. return 1;
  375. }
  376.  
  377.  
Advertisement
Add Comment
Please, Sign In to add comment