[Ajuda] Comando variavel 3 valores
#1

Alguem me ajuda a fazer um comando que identifique uma variavel com 3 valores? Como eu faзo?

Queria tipo isso
pawn Код:
new Conce[][][] = {
    {462}, {"Faggio"}, {1000},

};
pawn Код:
CMD:conce(playerid, params[]) {
        new nomedocarro;
        new string[80];
        if(sscanf(params,"s", nomedocarro)) {
            SendClientMessage(playerid, -1, "Use: /conce [car name]");
            SendClientMessage(playerid, -1, "Car List: Faggio = 1.000$");
            return 1;
        }
       
        if(nomedocarro == Conce??) {
            // cria o carro
        }
    }
pra eu fazer um /comprarcarro bem pequeno e n gastar varias linhas do meu gm, alguem sabe como eu faзo assim?

edit
Esse codigo й sу uma base de como eu quero fazer um comando, mas queria saber como
Seria bom colocar tudo em uma sу variavel, pq se nгo eu teria que criar varios dialogs pra respostas, q com esse comando eu resolveria rapido
O grande problema й como salvar tudo numa sу variavel e fazer essas comparaзхes q eu coloquei
Reply
#2

@Topic errado
Reply
#3

Esse seu comando esta todo errado amigo.

Se vocк parar pra pensar, vera que nгo tem necessidade de criar uma variбvel para isso.
Aconselho usar os mйtodos de salvamento para criar um sistema de carro.
Reply
#4

O seu comando estб totalmente errado, vou apontar os erros para que vocк possa aperfeiзoa-lo.
1- A verificaзгo no sscanf nгo irб funcionar.
2- A forma como vocк planeja indexar os valores em uma ъnica variбvel, nгo darб certo. Sem falar que nгo й necessбrio isso.
3- Vocк estб manipulando strings de maneira errada.

Agora vou falar como corrigir os erros.

1- Leia estes tutoriais sobre o uso de zcmd+sscanf
https://sampforum.blast.hk/showthread.php?tid=300397
https://sampforum.blast.hk/showthread.php?tid=277842

2- Vocк terб que ter uma array contendo todos os veнculos do SAMP, o resto se encontra na etapa 3.

3- Use strcmp ou strfind para comparar a string junto com um loop
Reply
#5

editei ai pessoal, me expressei mal
Reply
#6

Quote:
Originally Posted by oliverarrow
Посмотреть сообщение
editei ai pessoal, me expressei mal
Continua errado.
Reply
#7

Quote:
Originally Posted by oliverarrow
Посмотреть сообщение
editei ai pessoal, me expressei mal
Continua errado. (2)

Leia minha resposta, o que vocк quer fazer estб escrita nela.
Reply
#8

Quote:
Originally Posted by Artista
Посмотреть сообщение
Continua errado. (2)

Leia minha resposta, o que vocк quer fazer estб escrita nela.
Nгo sei como comparar a array ali no if, pra se o cara digitar /comando Faggio
Reply
#9

Nгo entendi bem oque voce quer fazer, mas se й obter o nome/id do carro da array й necessбrio usar uma enum + array.
Reply
#10

Primeiro vocк irб precisar disso:
pawn Код:
new VehicleNames[212][] = {
    "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","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","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","ZR3 50","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","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","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"
};
Isto й uma array que contйm o nome de todos os veнculos do servidor.

Agora tudo fica mais simples, basta entгo usar um loop para pesquisar se o que foi digitado estб dentro dessa array.
Contudo, vocк usarб strfind ou strcmp para fazer a sua pesquisa.

Abaixo uma base com linhas explicadas.
pawn Код:
CMD:conce(playerid,params[])
{
    if(isnull(params)) return SendClientMessage(playerid,-1,"Use: /conce [car name]");
    //Variбvel que irб armazenar o ID do veнculo
    new ID;

    //Iniciamos uma repetiзгo
    for(new i = 0; i < 211; i++)
    {
        //Faremos uma pesquisa com o que foi digitado depois do /conce, isto й, params
        if(strfind(VehicleNames[i], params, true) != -1)
        {
            //Caso a pesquisa seja bem sucedida, armazenaremos a contagem do loop + 400 na var ID.
            //400 Porque o id dos veнculos comeзam de 400 a 611, ou seja, se o loop parar no comeзo
            //o id a ser trabalhado serб 400 e nгo 0.
            ID = i + 400;
           
            //Paramos o loop
            break;
        }
    }
    //Se a pesquisa com strfind nгo obter кxito, o valor de ID serб 0.
    if(!ID) return SendClientMessage(playerid,-1,"Veнculo nгo encontrado");
   
    //Pronto, agora temos certeza que a var ID abriga o id do veнculo digitado.
    //...


    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)