[ajuda] add veiculo por nome
#1

tipo eu uso o comando /v [id] [cor] no GM que eu uso, eu queria saber se dava pra em vez de digitar o ID do carro digitar o nome dele, tipo, /v infernus 1 1 ou /v sultan 2 2. olha o cod ai


Код:
if(strcmp(cmd,"/veiculo",true) ==0 || strcmp(cmd,"/v",true)==0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	        if (PlayerInfo[playerid][pAdmin] < 5)
			{
			    SendClientMessage(playerid, COLOR_GRAD1, "   Autorizaзгo insuficiente !");
			    return 1;
			}
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GREEN, "[Info]{B4B5B7} USO: /veiculo [carid] [color1] [color2]");
				return 1;
			}
			new car;
			car = strval(tmp);
			if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, "   Id's de carros tem que ser entre 400 e 611 !"); return 1; }
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GREEN, "[Info]{B4B5B7} USO: /veiculo [carid] [color1] [color2]");
				return 1;
			}
			new color1;
			color1 = strval(tmp);
			if(color1 < -1 || color1 > 300) { SendClientMessage(playerid, COLOR_GREY, "   Id's de cores tem que ser entre 0 e 300 !"); return 1; }
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GREEN, "[Info]{B4B5B7} USO: /veiculo [carid] [color1] [color2]");
				return 1;
			}
			new color2;
			color2 = strval(tmp);
			if(color2 < -1 || color2 > 300) { SendClientMessage(playerid, COLOR_GREY, "   Id's de cores tem que ser entre 0 e 300 !"); return 1; }
			new Float:X,Float:Y,Float:Z;
			GetPlayerPos(playerid, X,Y,Z);
			new carid = CreateVehicle(car, X+3,Y,Z, 0.0, color1, color2,60000);
			LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
			CreatedCars[CreatedCar] = carid;
			CreatedCar ++;
			format(string, sizeof(string), "[Info]{B4B5B7} Veнculo [ID] %d, criado.", carid);
			SendClientMessage(playerid, COLOR_WHITE, string);
		}
		return 1;
	}
vlw desde ja
Reply
#2

Fiz pra vocк , isto deve resolver o seu problema :



pawn Код:
if(strcmp(cmd,"/veiculo",true) ==0 || strcmp(cmd,"/v",true)==0)
    {
        new VeiculosNomesC[][] =
        {
            "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster",
            "Stretch","Manana","Infernus","Voodoo","Pony","Mule","Cheetah","Ambulancia","Leviathan","Moonbeam","Esperanto",
            "Taxi","Washington","Bobcat","Mr Whoopee","BF Injection","Hunter","Premier","Enforcer","Securicar","Banshee",
            "Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie","Stallion","Rumpo",
            "RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer",
            "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","Maverick Policial","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","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",
            "Trailer","Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford",
            "BF-400","Newsvan","Tug","Trailer A","Emperor","Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C",
            "Andromada","Dodo","RC Cam","Launch","Viatura (LSPD)","Viatura (SFPD)","Viatura (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"
        };
        if(PlayerInfo[playerid][pAdmin] < 5)
        {
            SendClientMessage(playerid, COLOR_GRAD1, "   Autorizaзгo insuficiente !");
            return 1;
        }
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, COLOR_GREEN, "[Info]{B4B5B7} USO: /veiculo [nome] [color1] [color2]");
            return 1;
        }
        new carnome[25], bool:have;
        format(carnome, sizeof(carnome), tmp);
        for(new x = 0; x < 212; x++)
        {
            if(!strcmp(carnome,VeiculosNomesC[x],true))
            {
                have = true;
            }
        }
        if(!have) return SendClientMessage(playerid, COLOR_GREY, "   Nome de veнculo invбlido !");
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, COLOR_GREEN, "[Info]{B4B5B7} USO: /veiculo [nome] [color1] [color2]");
            return 1;
        }
        new color1;
        color1 = strval(tmp);
        if(color1 < -1 || color1 > 300) { SendClientMessage(playerid, COLOR_GREY, "   Id's de cores tem que ser entre 0 e 300 !"); return 1; }
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, COLOR_GREEN, "[Info]{B4B5B7} USO: /veiculo [nome] [color1] [color2]");
            return 1;
        }
        new color2;
        color2 = strval(tmp);
        if(color2 < -1 || color2 > 300) { SendClientMessage(playerid, COLOR_GREY, "   Id's de cores tem que ser entre 0 e 300 !"); return 1; }
        new Float:X,Float:Y,Float:Z;
        new carval;
        for(new y = 0; y < 212; y++)
        {
            if(!strcmp(carnome,VeiculosNomesC[y],true)) carval = (y+400);
        }
        GetPlayerPos(playerid, X,Y,Z);
        new carid = CreateVehicle(carval, X+3,Y,Z, 0.0, color1, color2,60000);
        LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
        CreatedCars[CreatedCar] = carid;
        CreatedCar ++;
        format(string, sizeof(string), "[Info]{B4B5B7} Veнculo [ID] %d, criado.", carid);
        SendClientMessage(playerid, COLOR_WHITE, string);
        return 1;
    }


@EDIT


Quote:
Originally Posted by dudu.r.oliveira
Посмотреть сообщение
.-.

ele compila certin mais na hora de digita o cmd ele aparece, server: unknown command
Desculpe, confundi um loop em todos os veнculos com um loop em todos os elementos da variбvel array VeiculosNomesC (que sгo relativos б veнculos ).


Jб arrumei o comando .



Espero ter ajudado .
Reply
#3

vlw, funcionou, cliquei na estrelinha *--*
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)