03.03.2011, 16:38
Hello, first i can't find anywhere veh spawner that allows players have only 1 or 2 cars or what destroys cars what are not used ? I'ts better if i can use /vehs and it gives me list and if is bossible i can use /v name/id too
i founded one with /v name/id but i can't use gamemode commands if i use that :S
i founded one with /v name/id but i can't use gamemode commands if i use that :S
Код:
//////////////////////////////////////////////////////////////////////////////// //====== SA-MP IN-GAME CAR'S SPAWNER =======// //======== Created by: Fedee! ========// //======== Credits to GTAguillaume =========// //////////////////////////////////////////////////////////////////////////////// #include <a_samp> //////////////////////////////////////////////////////////////////////////////// #define GELTONA 0xFFFF00FF #define BALTA 0xFFFFFFFF #define COLOR_GREY 0xAFAFAFAA #define COLOR_ORANGE 0xFF9900AA //////////////////////////////////////////////////////////////////////////////// #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 //////////////////////////////////////////////////////////////////////////////// new SpawnedVehicles[MAX_PLAYERS]; new VehicleNames[212][] = { {"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},{"Dumper"}, {"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},{"Pony"},{"Mule"}, {"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"},{"Taxi"},{"Washington"}, {"Bobcat"},{"Mr Whoopee"},{"BF Injection"},{"Hunter"},{"Premier"},{"Enforcer"},{"Securicar"}, {"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},{"Hotknife"},{"Trailer 1"},{"Previon"}, {"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"}, {"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Trailer 2"},{"Turismo"}, {"Speeder"},{"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},{"Berkley's RC Van"}, {"Skimmer"},{"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"}, {"Sanchez"},{"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"}, {"Rustler"},{"ZR-350"},{"Walton"},{"Regina"},{"Comet"},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"}, {"Baggage"},{"Dozer"},{"Maverick"},{"News Chopper"},{"Rancher"},{"FBI Rancher"},{"Virgo"},{"Greenwood"}, {"Jetmax"},{"Hotring"},{"Sandking"},{"Blista Compact"},{"Police Maverick"},{"Boxville"},{"Benson"}, {"Mesa"},{"RC Goblin"},{"Hotring Racer A"},{"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"}, {"Super GT"},{"Elegant"},{"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt"}, {"Tanker"}, {"Roadtrain"},{"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"}, {"NRG-500"},{"HPV1000"},{"Cement Truck"},{"Tow Truck"},{"Fortune"},{"Cadrona"},{"FBI Truck"}, {"Willard"},{"Forklift"},{"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"}, {"Blade"},{"Freight"},{"Streak"},{"Vortex"},{"Vincent"},{"Bullet"},{"Clover"},{"Sadler"}, {"Firetruck LA"},{"Hustler"},{"Intruder"},{"Primo"},{"Cargobob"},{"Tampa"},{"Sunrise"},{"Merit"}, {"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},{"Monster A"},{"Monster B"},{"Uranus"},{"Jester"}, {"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},{"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"}, {"Bandito"},{"Freight Flat"},{"Streak Carriage"},{"Kart"},{"Mower"},{"Duneride"},{"Sweeper"}, {"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},{"Stafford"},{"BF-400"},{"Newsvan"}, {"Tug"},{"Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Hotdog"},{"Club"},{"Freight Carriage"}, {"Trailer 3"},{"Andromada"},{"Dodo"},{"RC Cam"},{"Launch"},{"Police Car (LSPD)"},{"Police Car (SFPD)"}, {"Police Car (LVPD)"},{"Police Ranger"},{"Picador"},{"S.W.A.T. Van"},{"Alpha"},{"Phoenix"},{"Glendale"}, {"Sadler"},{"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},{"Boxville"},{"Farm Plow"}, {"Utility Trailer"} }; //////////////////////////////////////////////////////////////////////////////// forward VehicleOccupied(vehicleid); //////////////////////////////////////////////////////////////////////////////// public OnPlayerCommandText(playerid, cmdtext[]) { //////////////////////////////////////////////////////////////////////////////// // -------------------------------------------------------------------------- // // DCMDS // // -------------------------------------------------------------------------- // //////////////////////////////////////////////////////////////////////////////// //Car spawn dcmd(v,1,cmdtext); return 1; } //////////////////////////////////////////////////////////////////////////////// // -------------------------------------------------------------------------- // // COMMANDS // // -------------------------------------------------------------------------- // //////////////////////////////////////////////////////////////////////////////// //Spawn car command dcmd_v(playerid, params[]) { new Index; new tmp[256]; tmp = strtok(params,Index); new tmp2[256]; tmp2 = strtok(params,Index); new tmp3[256]; tmp3 = strtok(params,Index); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_ORANGE, "Usage: /v [modelid/carname] [color1] [color2]"); new car; new string[128]; new colour1, colour2; if(!IsNumeric(tmp)) car = GetVehicleModelIDFromName(tmp); else car = strval(tmp); if(car < 400 || car > 611) return SendClientMessage(playerid, BALTA, "ERROR: Invalid modelid/carname!"); if(!strlen(tmp2)) colour1 = random(126); else colour1 = strval(tmp2); if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3); if(SpawnedVehicles[playerid] != 0) DestroyVehicle(SpawnedVehicles[playerid]); new Float:X,Float:Y,Float:Z; new Float:Angle,int1; new LVehicleID = GetPlayerVehicleID(playerid); GetPlayerPos(playerid, X,Y,Z); GetPlayerFacingAngle(playerid,Angle); int1 = GetPlayerInterior(playerid); SpawnedVehicles[playerid] = CreateVehicle(car, X+3,Y,Z, Angle, colour1, colour2, -1); LinkVehicleToInterior(LVehicleID,int1); PlayerPlaySound(playerid,1085,0,0,0); PutPlayerInVehicle(playerid,SpawnedVehicles[playerid],0); format(string, sizeof(string), "", VehicleNames[car-400], car, colour1, colour2); return GameTextForPlayer(playerid,string,7500,1); } //////////////////////////////////////////////////////////////////////////////// public OnPlayerDisconnect(playerid) { DestroyVehicle(SpawnedVehicles[playerid]); SpawnedVehicles[playerid] = 0; return 0; } //////////////////////////////////////////////////////////////////////////////// GetVehicleModelIDFromName(vname[]) { for(new i = 0; i < 211; i++) { if ( strfind(VehicleNames[i], vname, true) != -1 ) return i + 400; } return -1; } //////////////////////////////////////////////////////////////////////////////// stock IsNumeric(string[]) { for (new i = 0, j = strlen(string); i < j; i++) { if (string[i] > '9' || string[i] < '0') return 0; } return 1; } //////////////////////////////////////////////////////////////////////////////// stock strtok(const str[], &index) { new length = strlen(str); while ((index < length) && (str[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (str[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = str[index]; index++; } result[index - offset] = EOS; return result; } //////////////////////////////////////////////////////////////////////////////// public VehicleOccupied(vehicleid) { for(new i=0;i<MAX_PLAYERS;i++) { if(IsPlayerInVehicle(i,vehicleid)) return 1; } return 0; } ////////////////////////////////////////////////////////////////////////////////