Advertisement
Guest User

Car Spawner

a guest
Jun 1st, 2014
1,504
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 5.56 KB | None | 0 0
  1. /*
  2. Filterscript([FS]Car Spawner)by [SU]Spartan
  3. I give you every right to copy this and re-publish this filterscript.
  4. */
  5. #include <a_samp>
  6. #define FILTERSCRIPT
  7. #if defined FILTERSCRIPT
  8. #define red 0xFF0000AA
  9. #define green 0x33FF33AA
  10.  
  11. public OnPlayerSpawn(playerid)
  12. {
  13.     #if !defined SpawnMsgs
  14.     SendClientMessage( playerid, 0x00FF00AA, "Type /car [Car Model] to spawn a car" );
  15.     #endif
  16.     return 1;
  17. }
  18.  
  19. new aVehicleNames[212][] =
  20. {
  21.     {"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"}, {"Perrenial"},{"Sentinel"},
  22.     {"Dumper"},{"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},
  23.     {"Pony"},{"Mule"},{"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"},
  24.     {"Taxi"},{"Washington"},{"Bobcat"},{"Mr Whoopee"},{"BF Injection"},{"Hunter"},{"Premier"},
  25.     {"Enforcer"},{"Securicar"},{"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},
  26.     {"Hotknife"},{"Trailer 1"},{"Previon"},{"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},
  27.     {"Romero"},{"Packer"},{"Monster"},{"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},
  28.     {"Tram"},
  29.     {"Trailer 2"},
  30.     {"Turismo"},
  31.     {"Speeder"},
  32.     {"Reefer"},
  33.     {"Tropic"},
  34.     {"Flatbed"},
  35.     {"Yankee"},
  36.     {"Caddy"},
  37.     {"Solair"},
  38.     {"Berkley's RC Van"},
  39.     {"Skimmer"},
  40.     {"PCJ-600"},
  41.     {"Faggio"},
  42.     {"Freeway"},
  43.     {"RC Baron"},
  44.     {"RC Raider"},
  45.     {"Glendale"},
  46.     {"Oceanic"},
  47.     {"Sanchez"},
  48.     {"Sparrow"},
  49.     {"Patriot"},
  50.     {"Quad"},
  51.     {"Coastguard"},
  52.     {"Dinghy"},
  53.     {"Hermes"},
  54.     {"Sabre"},
  55.     {"Rustler"},
  56.     {"ZR-350"},
  57.     {"Walton"},
  58.     {"Regina"},
  59.     {"Comet"},
  60.     {"BMX"},
  61.     {"Burrito"},
  62.     {"Camper"},
  63.     {"Marquis"},
  64.     {"Baggage"},
  65.     {"Dozer"},
  66.     {"Maverick"},
  67.     {"News Chopper"},
  68.     {"Rancher"},
  69.     {"FBI Rancher"},
  70.     {"Virgo"},
  71.     {"Greenwood"},
  72.     {"Jetmax"},
  73.     {"Hotring"},
  74.     {"Sandking"},
  75.     {"Blista Compact"},
  76.     {"Police Maverick"},
  77.     {"Boxville"},
  78.     {"Benson"},
  79.     {"Mesa"},
  80.     {"RC Goblin"},
  81.     {"Hotring Racer A"},
  82.     {"Hotring Racer B"},
  83.     {"Bloodring Banger"},
  84.     {"Rancher"},
  85.     {"Super GT"},
  86.     {"Elegant"},
  87.     {"Journey"},
  88.     {"Bike"},
  89.     {"Mountain Bike"},
  90.     {"Beagle"},
  91.     {"Cropdust"},
  92.     {"Stunt"},
  93.     {"Tanker"},
  94.     {"Roadtrain"},
  95.     {"Nebula"},
  96.     {"Majestic"},
  97.     {"Buccaneer"},
  98.     {"Shamal"},
  99.     {"Hydra"},
  100.     {"FCR-900"},
  101.     {"NRG-500"},
  102.     {"HPV1000"},
  103.     {"Cement Truck"},
  104.     {"Tow Truck"},
  105.     {"Fortune"},
  106.     {"Cadrona"},
  107.     {"FBI Truck"},
  108.     {"Willard"},
  109.     {"Forklift"},
  110.     {"Tractor"},
  111.     {"Combine"},
  112.     {"Feltzer"},
  113.     {"Remington"},
  114.     {"Slamvan"},
  115.     {"Blade"},
  116.     {"Freight"},
  117.     {"Streak"},
  118.     {"Vortex"},
  119.     {"Vincent"},
  120.     {"Bullet"},
  121.     {"Clover"},
  122.     {"Sadler"},
  123.     {"Firetruck LA"},
  124.     {"Hustler"},
  125.     {"Intruder"},
  126.     {"Primo"},
  127.     {"Cargobob"},
  128.     {"Tampa"},
  129.     {"Sunrise"},
  130.     {"Merit"},
  131.     {"Utility"},
  132.     {"Nevada"},
  133.     {"Yosemite"},
  134.     {"Windsor"},
  135.     {"Monster A"},
  136.     {"Monster B"},
  137.     {"Uranus"},
  138.     {"Jester"},
  139.     {"Sultan"},
  140.     {"Stratum"},
  141.     {"Elegy"},
  142.     {"Raindance"},
  143.     {"RC Tiger"},
  144.     {"Flash"},
  145.     {"Tahoma"},
  146.     {"Savanna"},
  147.     {"Bandito"},
  148.     {"Freight Flat"},
  149.     {"Streak Carriage"},
  150.     {"Kart"},
  151.     {"Mower"},
  152.     {"Duneride"},
  153.     {"Sweeper"},
  154.     {"Broadway"},
  155.     {"Tornado"},
  156.     {"AT-400"},
  157.     {"DFT-30"},
  158.     {"Huntley"},
  159.     {"Stafford"},
  160.     {"BF-400"},
  161.     {"Newsvan"},
  162.     {"Tug"},
  163.     {"Trailer 3"},
  164.     {"Emperor"},
  165.     {"Wayfarer"},
  166.     {"Euros"},
  167.     {"Hotdog"},
  168.     {"Club"},
  169.     {"Freight Carriage"},
  170.     {"Trailer 3"},
  171.     {"Andromada"},
  172.     {"Dodo"},
  173.     {"RC Cam"},
  174.     {"Launch"},
  175.     {"Police Car (LSPD)"},
  176.     {"Police Car (SFPD)"},
  177.     {"Police Car (LVPD)"},
  178.     {"Police Ranger"},
  179.     {"Picador"},
  180.     {"S.W.A.T. Van"},
  181.     {"Alpha"},
  182.     {"Phoenix"},
  183.     {"Glendale"},
  184.     {"Sadler"},
  185.     {"Luggage Trailer A"},
  186.     {"Luggage Trailer B"},
  187.     {"Stair Trailer"},
  188.     {"Boxville"},
  189.     {"Farm Plow"},
  190.     {"Utility Trailer"}};
  191.  
  192. #endif
  193.  
  194. public OnPlayerCommandText(playerid, cmdtext[])
  195. {
  196.     new cmd[200], idx;
  197.     cmd = strtok(cmdtext, idx);
  198.  
  199.     if(strcmp(cmd, "/car", true, 10) == 0)
  200.     {
  201.  
  202.         new String[200];
  203.         new tmp[256];
  204.         new Float:x, Float:y, Float:z;
  205.  
  206.         tmp = strtok(cmdtext, idx);
  207.         if(!strlen(tmp)) return SendClientMessage(playerid, red, "Incorrect format!Type /car [car model]");
  208.  
  209.         new vehicle = GetVehicleModelIDFromName(tmp);
  210.  
  211.         if(vehicle < 400 || vehicle > 611) return SendClientMessage(playerid, red, "This vehicle doesnt exists!");
  212.  
  213.         new Float:a;
  214.         GetPlayerFacingAngle(playerid, a);
  215.         GetPlayerPos(playerid, x, y, z);
  216.  
  217.         if(IsPlayerInAnyVehicle(playerid) == 1)
  218.         {
  219.             GetXYInFrontOfPlayer(playerid, x, y, 8);
  220.         }
  221.         else
  222.         {
  223.             GetXYInFrontOfPlayer(playerid, x, y, 5);
  224.         }
  225.  
  226.         new PlayersVehicle = CreateVehicle(vehicle, x, y, z, a+90, -1, -1, -1);
  227.         LinkVehicleToInterior(PlayersVehicle, GetPlayerInterior(playerid));
  228.  
  229.         format(String, sizeof(String), "You have spawned a %s", aVehicleNames[vehicle - 400]);
  230.         SendClientMessage(playerid, green, String);
  231.         return 1;
  232.     }
  233.     return 0;
  234. }
  235.  
  236. strtok(const string[], &index)
  237. {
  238.     new length = strlen(string);
  239.     while ((index < length) && (string[index] <= ' '))
  240.     {
  241.         index++;
  242.     }
  243.  
  244.     new offset = index;
  245.     new result[20];
  246.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  247.     {
  248.         result[index - offset] = string[index];
  249.         index++;
  250.     }
  251.     result[index - offset] = EOS;
  252.     return result;
  253. }
  254.  
  255. GetVehicleModelIDFromName(vname[])
  256. {
  257.     for(new i = 0; i < 211; i++)
  258.     {
  259.         if(strfind(aVehicleNames[i], vname, true) != -1)
  260.         return i + 400;
  261.     }
  262.     return -1;
  263. }
  264.  
  265. stock GetXYInFrontOfPlayer(playerid, &Float:x2, &Float:y2, Float:distance)
  266. {
  267.     new Float:a;
  268.  
  269.     GetPlayerPos(playerid, x2, y2, a);
  270.     GetPlayerFacingAngle(playerid, a);
  271.  
  272.     if(GetPlayerVehicleID(playerid))
  273.     {
  274.         GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
  275.     }
  276.  
  277.     x2 += (distance * floatsin(-a, degrees));
  278.     y2 += (distance * floatcos(-a, degrees));
  279. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement