[Ajuda] Complementar Comando
#1

Entгo galera , tenho um comando no meu servidor para criar carros .

pawn Код:
CMD:v(playerid, params[])
{
    new Modelo;   new Cor[2];   new Car;
    new Float:x, Float:y, Float:z;
    if(sscanf(params, "ia<i>[2]", Modelo, Cor)) return SendClientMessage(playerid, -1, "/V [ID] [Cor 1] [Cor 2]");
    GetPlayerPos(playerid, x, y, z);
    Car = CreateVehicle(Modelo, x,y,z,0, Cor[0], Cor[1], false);
    PutPlayerInVehicle(playerid, Car, 0);
    return true;
}

E tenho essas Variбveis aqui , que consegui ai , com os nomes dos veiculos .

pawn Код:
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"}
};
Quero saber, como eu junto isso no comando , para que o player possa digitar o nome do carro ( ou parte do nome )
Tipo , em vкs de digitar Sу o ID do carro , ele possa digitar o nome tambйm .


/v Sultan 1 0

entende ?


Й isso , como eu posso juntar isso no meu comando ?
Reply
#2

PHP код:
GetVehicleModelIDFromName(vname[])
{
    for(new 
0211i++)
    {
        if ( 
strfind(VehicleNames[i], vnametrue) != -)
            return 
400;
    }
    return -
1;

Reply
#3

Eu ponho isso dentro do comando ?
Reply
#4

Ta assim :

pawn Код:
CMD:v(playerid, params[])
{
    new Modelo; new Cor[2]; new Car;
    new Float:x, Float:y, Float:z;
    if(sscanf(params, "ia<i>[2]", Modelo, Cor)) return SendClientMessage(playerid, -1, "/V [ID] [Cor 1] [Cor 2]");
    GetPlayerPos(playerid, x, y, z);
   
    Car = CreateVehicle(Modelo, x,y,z,0, Cor[0], Cor[1], false);
    PutPlayerInVehicle(playerid, Car, 0);
    return true;
}

forward GetVehicleModelIDFromName(vname[]);
public GetVehicleModelIDFromName(vname[])
{
        for(new i = 0; i < 211; i++)
        {
                if ( strfind(VehicleNames[i], vname, true) != -1 )
                        return i + 400;
        }
        return -1;
}
No topo do Gm :

pawn Код:
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"}
};
e agora ?
Reply
#5

pawn Код:
CMD:v(playerid, params[])
{
    new String[60];
    new Float:x, Float:y, Float:z;
    new veiculo;
    if(sscanf(params, "s", veiculo)) return SendClientMessage(playerid, -1, "* Uso й /v [ nome veнculo ]");

    new vehicle = GetVehicleModelIDFromName(veiculo);

    if(vehicle < 400 || vehicle > 611) return SendClientMessage(playerid, -1, "* O nome nгo foi encontrado.");

    new Float:a;
    GetPlayerFacingAngle(playerid, a);
    GetPlayerPos(playerid, x, y, z);

    if(IsPlayerInAnyVehicle(playerid) == 1)
    {
        GetXYInFrontOfPlayer(playerid, x, y, 8);
    }
    else
    {
        GetXYInFrontOfPlayer(playerid, x, y, 5);
    }

    new veh = CreateVehicle(vehicle, x, y, z, a+90, -1, -1, -1);
    LinkVehicleToInterior(veh, GetPlayerInterior(playerid));

    format(String, sizeof(String), "* Vocк criou o veнculo %s", VehicleNames[vehicle - 400]);
    SendClientMessage(playerid, -1, String);
    return 1;
}


GetVehicleModelIDFromName(vname[])
{
    for(new i = 0; i < 211; i++)
    {
        if(strfind(VehicleNames[i], vname, true) != -1)
        return i + 400;
    }
    return -1;
}

stock GetXYInFrontOfPlayer(playerid, &Float:x2, &Float:y2, Float:distance)
{
    new Float:a;

    GetPlayerPos(playerid, x2, y2, a);
    GetPlayerFacingAngle(playerid, a);

    if(GetPlayerVehicleID(playerid))
    {
        GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
    }

    x2 += (distance * floatsin(-a, degrees));
    y2 += (distance * floatcos(-a, degrees));
}
Rбciocinio amigo.
Reply
#6

Mano, sei que й pedir de mais , mais tem como fazer com o meu comando ?
Esse ai nгo tem as cores , e o meu Jб ta Pronto .

Sу me diz o que eu devo colocar dentro do meu comando.


Edit :

Tentei fazer assim mais deu erro .


pawn Код:
error 035: argument type mismatch (argument 1)
Linha :

pawn Код:
new vehicle = GetVehicleModelIDFromName(vehicle);
Comando :

pawn Код:
CMD:v(playerid, params[])
{
    new Modelo; new Cor[2]; new Car;
    new Float:x, Float:y, Float:z;
    if(sscanf(params, "ia<i>[2]", Modelo, Cor)) return SendClientMessage(playerid, -1, "/V [ID] [Cor 1] [Cor 2]");
    GetPlayerPos(playerid, x, y, z);
   
    new vehicle = GetVehicleModelIDFromName(vehicle);
    if(vehicle < 400 || vehicle > 611) return SendClientMessage(playerid, -1, "* O nome nгo foi encontrado.");

    Car = CreateVehicle(Modelo, x,y,z,0, Cor[0], Cor[1], false);
    PutPlayerInVehicle(playerid, Car, 0);
    return true;
}
Reply
#7

Quote:
Originally Posted by Duun
Посмотреть сообщение
Mano, sei que й pedir de mais , mais tem como fazer com o meu comando ?
Esse ai nгo tem as cores , e o meu Jб ta Pronto .

Sу me diz o que eu devo colocar dentro do meu comando.
ta de zuera, cara se vocк nгo sabe editar uma simples sendclientmessage como pretende fazer um servidor ?
Nгo entendi, que cor ?
Reply
#8

pawn Код:
CMD:v(playerid, params[])
{
    new String[ 60 ],
        Float:Pos[ 4 ],
        veiculo[ 10 ],
        cor[2]
    ;

    if(sscanf(params, "s[ 10 ],dd", veiculo, cor[0], cor[1])) return SendClientMessage(playerid, -1, "* Uso й /v [ nome veнculo ], COr 1, Cor 2");

    new vehicle = GetVehicleModelIDFromName(veiculo);

    if(vehicle < 400 || vehicle > 611) return SendClientMessage(playerid, -1, "* O nome nгo foi encontrado.");

    GetPlayerFacingAngle(playerid, Pos[ 3 ]);
    GetPlayerPos(playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ]);

    if(IsPlayerInAnyVehicle(playerid) == 1)
    {
        GetXYInFrontOfPlayer(playerid, Pos[ 0 ], Pos[ 1 ], 8);
    }
    else
    {
        GetXYInFrontOfPlayer(playerid, Pos[ 0 ], Pos[ 1 ], 5);
    }

    new veh = CreateVehicle(vehicle, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], Pos[ 3 ]+90, cor[0], cor[1], -1);
    LinkVehicleToInterior(veh, GetPlayerInterior(playerid));

    format(String, sizeof(String), "* Vocк criou o veнculo %s", VehicleNames[vehicle - 400]);
    SendClientMessage(playerid, -1, String);
    return 1;
}
By Murilo
Reply
#9

pawn Код:
CMD:v(playerid, params[])
{
    new veiculo; new Cor[2]; new Car;
    new Float:x, Float:y, Float:z;
    if(sscanf(params, "ia<i>[2]", veiculo, Cor)) return SendClientMessage(playerid, -1, "/V [ID] [Cor 1] [Cor 2]");
    GetPlayerPos(playerid, x, y, z);
   
    new vehicle = GetVehicleModelIDFromName(veiculo);

    if(vehicle < 400 || vehicle > 611) return SendClientMessage(playerid, -1, "O nome nгo foi encontrado.");

    Car = CreateVehicle(veiculo, x,y,z,0, Cor[0], Cor[1], false);
    PutPlayerInVehicle(playerid, Car, 0);
    return true;
}
pawn Код:
error 035: argument type mismatch (argument 1)
pawn Код:
new vehicle = GetVehicleModelIDFromName(veiculo);
Santa Paciкncia .
Reply
#10

Quote:
Originally Posted by Sky_.
Посмотреть сообщение
pawn Код:
CMD:v(playerid, params[])
{
    new String[ 60 ],
        Float:Pos[ 4 ],
        veiculo[ 10 ],
        cor[2]
    ;

    if(sscanf(params, "s[ 10 ],dd", veiculo, cor[0], cor[1])) return SendClientMessage(playerid, -1, "* Uso й /v [ nome veнculo ], COr 1, Cor 2");

    new vehicle = GetVehicleModelIDFromName(veiculo);

    if(vehicle < 400 || vehicle > 611) return SendClientMessage(playerid, -1, "* O nome nгo foi encontrado.");

    GetPlayerFacingAngle(playerid, Pos[ 3 ]);
    GetPlayerPos(playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ]);

    if(IsPlayerInAnyVehicle(playerid) == 1)
    {
        GetXYInFrontOfPlayer(playerid, Pos[ 0 ], Pos[ 1 ], 8);
    }
    else
    {
        GetXYInFrontOfPlayer(playerid, Pos[ 0 ], Pos[ 1 ], 5);
    }

    new veh = CreateVehicle(vehicle, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], Pos[ 3 ]+90, cor[0], cor[1], -1);
    LinkVehicleToInterior(veh, GetPlayerInterior(playerid));

    format(String, sizeof(String), "* Vocк criou o veнculo %s", VehicleNames[vehicle - 400]);
    SendClientMessage(playerid, -1, String);
    return 1;
}
By Murilo

tem algum problema de visгo
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)