Advertisement
itsDearesT

dcmd_v

Sep 17th, 2014
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 5.21 KB | None | 0 0
  1. #include <a_samp>
  2. #define COLOR_ERROR 0xFF0000FF
  3. #define green 0x33FF33AA
  4. #pragma tabsize 0
  5. #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  6. ////////////////////////////////////////////////////////////////////////////////
  7. new SpawnedVehicles[MAX_PLAYERS];
  8. new VehicleNames[212][] = {
  9.     "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster","Stretch","Manana","Infernus",
  10.     "Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto","Taxi","Washington","Bobcat","Mr Whoopee","BF Injection",
  11.     "Hunter","Premier","Enforcer","Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie",
  12.     "Stallion","Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder",
  13.     "Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van","Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider",
  14.     "Glendale","Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR3 50","Walton","Regina",
  15.     "Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo","Greenwood",
  16.     "Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson","Mesa","RC Goblin","Hotring Racer A","Hotring Racer B",
  17.     "Bloodring Banger","Rancher","Super GT","Elegant","Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain",
  18.     "Nebula","Majestic","Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona","FBI Truck",
  19.     "Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight","Streak","Vortex","Vincent","Bullet","Clover",
  20.     "Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster A",
  21.     "Monster B","Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer",
  22.     "Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan","Tug","Trailer A","Emperor",
  23.     "Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C","Andromada","Dodo","RC Cam","Launch","Police Car (LSPD)","Police Car (SFPD)",
  24.     "Police Car (LVPD)","Police Ranger","Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer A","Luggage Trailer B",
  25.     "Stair Trailer","Boxville","Farm Plow","Utility Trailer"
  26. };
  27.  
  28.  
  29. forward VehicleOccupied(vehicleid);
  30.  
  31. public OnPlayerCommandText(playerid, cmdtext[])
  32. {
  33. dcmd(v,1,cmdtext);
  34. return 1;
  35. }
  36.  
  37. dcmd_v(playerid, params[])
  38. {
  39.     if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_ERROR,"Error: Ya estas en un vehiculo");
  40.     new Index;
  41.     new tmp[256];  tmp  = strtok(params,Index);
  42.     new tmp2[256]; tmp2 = strtok(params,Index);
  43.     new tmp3[256]; tmp3 = strtok(params,Index);
  44.     if(!strlen(tmp)) return
  45.     SendClientMessage(playerid, COLOR_ERROR, "Uso Correcto: /v [modelid/carname] [color1] [color2]");
  46.     new car;
  47.     new colour1, colour2;
  48.     if(!IsNumeric(tmp))
  49.     car = GetVehicleModelIDFromName(tmp);
  50.     else car = strval(tmp);
  51.     if(car < 400 || car > 611) return  SendClientMessage(playerid, COLOR_ERROR, "Error: Carro Invalido!");
  52.     if(!strlen(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
  53.     if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);
  54.     if(SpawnedVehicles[playerid] != 0) DestroyVehicle(SpawnedVehicles[playerid]);
  55.     new Float:X,Float:Y,Float:Z;
  56.     new Float:Angle,int1;
  57.     new LVehicleID = GetPlayerVehicleID(playerid);
  58.     GetPlayerPos(playerid, X,Y,Z);
  59.     GetPlayerFacingAngle(playerid,Angle);
  60.     int1 = GetPlayerInterior(playerid);
  61.     SpawnedVehicles[playerid] = CreateVehicle(car, X+3,Y,Z, Angle, colour1, colour2, -1);
  62.     LinkVehicleToInterior(LVehicleID,int1);
  63.     PlayerPlaySound(playerid,1085,0,0,0);
  64.     PutPlayerInVehicle(playerid,SpawnedVehicles[playerid],0);
  65.     new string[256];
  66.     format(string, sizeof(string), "Disfruta de tu nuevo %s", VehicleNames[car - 400]);
  67.     SendClientMessage(playerid,green, string);
  68.     return 1;
  69. }
  70. public OnPlayerDisconnect(playerid)
  71. {
  72.     DestroyVehicle(SpawnedVehicles[playerid]);
  73.     SpawnedVehicles[playerid] = 0;
  74.     return 0;
  75. }
  76.  
  77. GetVehicleModelIDFromName(vname[])
  78. {
  79. for(new i = 0; i < 211; i++)
  80. {
  81. if ( strfind(VehicleNames[i], vname, true) != -1 )
  82. return i + 400;
  83. }
  84. return -1;
  85. }
  86. stock IsNumeric(string[])
  87. {
  88. for (new i = 0, j = strlen(string);
  89. i < j; i++)
  90. {
  91. if (string[i] > '9' || string[i] < '0')
  92. return 0;
  93. }
  94. return 1;
  95. }
  96. stock strtok(const str[], &index)
  97. {
  98. new length = strlen(str);
  99. while ((index < length) && (str[index] <= ' '))
  100. {
  101. index++;
  102. }
  103.  
  104. new offset = index;
  105. new result[20];
  106. while ((index < length) && (str[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  107. {
  108. result[index - offset] = str[index];
  109. index++;
  110. }
  111. result[index - offset] = EOS;
  112. return result;
  113. }
  114. public VehicleOccupied(vehicleid)
  115. {
  116. for(new i=0;i<MAX_PLAYERS;i++)
  117. {
  118. if(IsPlayerInVehicle(i,vehicleid)) return 1;
  119. }
  120. return 0;
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement