Guest User

Donny

a guest
Oct 10th, 2009
2,429
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 10.95 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. //#define IGNORE_WARP_INTO_VEHICLE
  4. //#define IGNORE_VIRTUAL_WORLDS
  5. //#define IGNORE_SPAWN_MESSAGES
  6. //#define IGNORE_VEHICLE_ACTIVATION
  7. //#define IGNORE_VEHICLE_DELETION
  8.  
  9. #define DEFAULT_RESPAWN_TIME        600 /* ten minutes */
  10.  
  11. #if !defined IGNORE_VEHICLE_DELETION
  12.     new
  13.         bool:gDialogCreated[ MAX_VEHICLES ] = { false, ... };
  14. #endif
  15.  
  16. CreatePlayerVehicle( playerid, modelid )
  17. {
  18.     new
  19.         vehicle,
  20.         Float:x,
  21.         Float:y,
  22.         Float:z,
  23.         Float:angle;
  24.  
  25.     if ( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )
  26.     {
  27.         vehicle = GetPlayerVehicleID( playerid );
  28.         GetVehiclePos( vehicle, x, y, z );
  29.         GetVehicleZAngle( vehicle, angle );
  30.         DestroyVehicle( vehicle );
  31.     }
  32.     else
  33.     {
  34.         GetPlayerPos( playerid, x, y, z );
  35.         GetPlayerFacingAngle( playerid, angle );
  36.     }
  37.     vehicle = CreateVehicle( modelid, x, y, ( z + 1 ), angle, -1, -1, DEFAULT_RESPAWN_TIME );
  38.     LinkVehicleToInterior( vehicle, GetPlayerInterior( playerid ) );
  39.     #if !defined IGNORE_VIRTUAL_WORLDS
  40.         SetVehicleVirtualWorld( vehicle, GetPlayerVirtualWorld( playerid ) );
  41.     #endif
  42.     #if !defined IGNORE_WARP_INTO_VEHICLE
  43.         PutPlayerInVehicle( playerid, vehicle, 0 );
  44.     #endif
  45.     #if !defined IGNORE_VEHICLE_DELETION
  46.         gDialogCreated[ vehicle ] = true;
  47.     #endif
  48.     return 1;
  49. }
  50.  
  51. ShowPlayerDefaultDialog( playerid )
  52. {
  53.     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" );
  54.     return 1;
  55. }
  56.  
  57. public OnFilterScriptInit()
  58. {
  59.     printf( "   * vDialog version 0.2a loaded *     " );
  60.     return 1;
  61. }
  62.  
  63. public OnFilterScriptExit()
  64. {
  65.     printf( "   * vDialog version 0.2a unloaded *       " );
  66.     return 1;
  67. }
  68.  
  69. public OnPlayerSpawn( playerid )
  70. {
  71.     #if !defined IGNORE_SPAWN_MESSAGES
  72.         SendClientMessage( playerid, 0xFFFFFFFF, "[vDialog]: Use the command '/vdialog' to activate the vehicle dialog" );
  73.     #endif
  74.  
  75.     return 1;
  76. }
  77.  
  78. public OnPlayerCommandText( playerid, cmdtext[] )
  79. {
  80.     if ( strcmp( cmdtext, "/vdialog", true, 8 ) == 0 )
  81.     {
  82.         if ( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )
  83.         {
  84.             #if !defined IGNORE_VEHICLE_ACTIVATION
  85.                 ShowPlayerDefaultDialog( playerid );
  86.                 return 1;
  87.             #endif
  88.         }
  89.  
  90.         if ( GetPlayerState( playerid ) != PLAYER_STATE_PASSENGER ) ShowPlayerDefaultDialog( playerid );
  91.         return 1;
  92.     }
  93.     return 0;
  94. }
  95.  
  96. public OnVehicleSpawn( vehicleid )
  97. {
  98.     #if !defined IGNORE_VEHICLE_DELETION
  99.         if ( gDialogCreated[ vehicleid ] )
  100.         {
  101.             DestroyVehicle( vehicleid );
  102.             gDialogCreated[ vehicleid ] = false;
  103.         }
  104.     #endif
  105.     return 1;
  106. }
  107.  
  108. public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[] )
  109. {
  110.     if ( response )
  111.     {
  112.         switch ( dialogid )
  113.         {
  114.             case 3434 :
  115.             {
  116.                 switch ( listitem )
  117.                 {
  118.                     case 0 : ShowPlayerDialog( playerid, 3435, DIALOG_STYLE_LIST, "Airplanes", "Andromada\nAT-400\nBeagle\nCropduster\nDodo\nHydra\nNevada\nRustler\nShamal\nSkimmer\nStuntplane\nBack", "Select", "Cancel" );
  119.                     case 1 : ShowPlayerDialog( playerid, 3436, DIALOG_STYLE_LIST, "Helicopters", "Cargobob\nHunter\nLeviathan\nMaverick\nNews Maverick\nPolice Maverick\nRaindance\nSeasparrow\nSparrow\nBack", "Select", "Cancel" );
  120.                     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\nBack", "Select", "Cancel" );
  121.                     case 3 : ShowPlayerDialog( playerid, 3438, DIALOG_STYLE_LIST, "Convertibles", "Comet\nFeltzer\nStallion\nWindsor\nBack", "Select", "Cancel" );
  122.                     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\nBack", "Select", "Cancel" );
  123.                     case 5 : ShowPlayerDialog( playerid, 3440, DIALOG_STYLE_LIST, "Lowriders", "Blade\nBroadway\nRemington\nSavanna\nSlamvan\nTahoma\nTornado\nVoodoo\nBack", "Select", "Cancel" );
  124.                     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\nBack", "Select", "Cancel" );
  125.                     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\nBack", "Select", "Cancel" );
  126.                     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\nBack", "Select", "Cancel" );
  127.                     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\nBack", "Select", "Cancel" );
  128.                     case 10 : ShowPlayerDialog( playerid, 3445, DIALOG_STYLE_LIST, "Station Wagons", "Moonbeam\nPerenniel\nRegina\nSolair\nStratum\nBack", "Select", "Cancel" );
  129.                     case 11 : ShowPlayerDialog( playerid, 3446, DIALOG_STYLE_LIST, "Boats", "Coastguard\nDinghy\nJetmax\nLaunch\nMarquis\nPredator\nReefer\nSpeeder\nSquallo\nTropic\nBack", "Select", "Cancel" );
  130.                     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\nBack", "Select", "Cancel" );
  131.                     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\nBack", "Select", "Cancel" );
  132.                     case 14 : ShowPlayerDialog( playerid, 3449, DIALOG_STYLE_LIST, "RC Vehicles", "RC Bandit\nRC Baron\nRC Raider\nRC Goblin\nRC Tiger\nRC Cam\nBack", "Select", "Cancel" );
  133.                 }
  134.             }
  135.             case 3435 :
  136.             {
  137.                 if ( listitem > 10 ) return ShowPlayerDefaultDialog( playerid );
  138.            
  139.                 new
  140.                     model_array[] = { 592, 577, 511, 512, 593, 520, 553, 476, 519, 460, 513 };
  141.                    
  142.                 return CreatePlayerVehicle( playerid, model_array[ listitem ] );
  143.             }
  144.             case 3436 :
  145.             {
  146.                 if ( listitem > 8 ) return ShowPlayerDefaultDialog( playerid );
  147.  
  148.                 new
  149.                     model_array[] = { 548, 425, 417, 487, 488, 497, 563, 447, 469 };
  150.  
  151.                 return CreatePlayerVehicle( playerid, model_array[ listitem ] );
  152.             }
  153.             case 3437 :
  154.             {
  155.                 if ( listitem > 12 ) return ShowPlayerDefaultDialog( playerid );
  156.  
  157.                 new
  158.                     model_array[] = { 581, 509, 481, 462, 521, 463, 510, 522, 461, 448, 471, 468, 586 };
  159.  
  160.                 return CreatePlayerVehicle( playerid, model_array[ listitem ] );
  161.             }
  162.             case 3438 :
  163.             {
  164.                 if ( listitem > 3 ) return ShowPlayerDefaultDialog( playerid );
  165.            
  166.                 new
  167.                     model_array[] = { 480, 533, 439, 555 };
  168.  
  169.                 return CreatePlayerVehicle( playerid, model_array[ listitem ] );
  170.             }
  171.             case 3439 :
  172.             {
  173.                 if ( listitem > 24 ) return ShowPlayerDefaultDialog( playerid );
  174.  
  175.                 new
  176.                     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 };
  177.  
  178.                 return CreatePlayerVehicle( playerid, model_array[ listitem ] );
  179.             }
  180.             case 3440 :
  181.             {
  182.                 if ( listitem > 7 ) return ShowPlayerDefaultDialog( playerid );
  183.  
  184.                 new
  185.                     model_array[] = { 536, 575, 534, 567, 535, 566, 576, 412 };
  186.  
  187.                 return CreatePlayerVehicle( playerid, model_array[ listitem ] );
  188.             }
  189.             case 3441 :
  190.             {
  191.                 if ( listitem > 12 ) return ShowPlayerDefaultDialog( playerid );
  192.                
  193.                 new
  194.                     model_array[] = { 568, 424, 573, 579, 400, 500, 444, 556, 557, 470, 489, 505, 495 };
  195.  
  196.                 return CreatePlayerVehicle( playerid, model_array[ listitem ] );
  197.             }
  198.             case 3442 :
  199.             {
  200.                 if ( listitem > 17 ) return ShowPlayerDefaultDialog( playerid );
  201.  
  202.                 new
  203.                     model_array[] = { 416, 433, 431, 438, 437, 523, 427, 490, 528, 407, 544, 596, 598, 597, 599, 432, 601, 420 };
  204.  
  205.                 return CreatePlayerVehicle( playerid, model_array[ listitem ] );
  206.             }
  207.             case 3443 :
  208.             {
  209.                 if ( listitem > 33 ) return ShowPlayerDefaultDialog( playerid );
  210.            
  211.                 new
  212.                     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 };
  213.  
  214.                 return CreatePlayerVehicle( playerid, model_array[ listitem ] );
  215.             }
  216.             case 3444 :
  217.             {
  218.                 if ( listitem > 19 ) return ShowPlayerDefaultDialog( playerid );
  219.                
  220.                 new
  221.                     model_array[] = { 602, 429, 496, 402, 541, 415, 589, 587, 565, 494, 502, 503, 411, 559, 603, 475, 506, 451, 558, 477 };
  222.  
  223.                 return CreatePlayerVehicle( playerid, model_array[ listitem ] );
  224.             }
  225.             case 3445 :
  226.             {
  227.                 if ( listitem > 4 ) return ShowPlayerDefaultDialog( playerid );
  228.  
  229.                 new
  230.                     model_array[] = { 418, 404, 479, 458, 561 };
  231.  
  232.                 return CreatePlayerVehicle( playerid, model_array[ listitem ] );
  233.             }
  234.             case 3446 :
  235.             {
  236.                 if ( listitem > 9 ) return ShowPlayerDefaultDialog( playerid );
  237.                
  238.                 new
  239.                     model_array[] = { 472, 473, 493, 595, 484, 430, 453, 452, 446, 454 };
  240.  
  241.                 return CreatePlayerVehicle( playerid, model_array[ listitem ] );
  242.             }
  243.             case 3447 :
  244.             {
  245.                 if ( listitem > 11 ) return ShowPlayerDefaultDialog( playerid );
  246.  
  247.                 new
  248.                     model_array[] = { 435, 450, 591, 606, 607, 610, 569, 590, 584, 570, 608, 611 };
  249.  
  250.                 return CreatePlayerVehicle( playerid, model_array[ listitem ] );
  251.             }
  252.             case 3448 :
  253.             {
  254.                 if ( listitem > 23 ) return ShowPlayerDefaultDialog( playerid );
  255.                
  256.                 new
  257.                     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 };
  258.  
  259.                 return CreatePlayerVehicle( playerid, model_array[ listitem ] );
  260.             }
  261.             case 3449 :
  262.             {
  263.                 if ( listitem > 5 ) return ShowPlayerDefaultDialog( playerid );
  264.            
  265.                 new
  266.                     model_array[] = { 441, 464, 465, 501, 564, 594 };
  267.  
  268.                 return CreatePlayerVehicle( playerid, model_array[ listitem ] );
  269.             }
  270.         }
  271.     }
  272.     return 0;
  273. }
Advertisement
Add Comment
Please, Sign In to add comment