SA-MP Forums Archive
[Ajuda] Pegar Nome do Veнculo com ID ( Enum ) - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Pegar Nome do Veнculo com ID ( Enum ) (/showthread.php?tid=530776)



Pegar Nome do Veнculo com ID ( Enum ) - DevilAgain - 09.08.2014

Eai galera, estou confuso em um problema. Й o seguinte;

Eu fiz uma array que armazena dados do veiculo, como preзo, gasolina etc..
Porйm quando o player compra o carro ( uso a inc vselect ) , nгo tenho como saber qual ele escolheu, anгoser usar 200 linhas de verificaзгo por id. Entгo eu fiz uma enum

PHP код:
enum aa{
    
aa5[40],
    
aa8,
    
aa4,
    
aa3,
    
aa2,
    
aa1
    
}
new 
Enum[2][aa] = {
    {
"Infernus"10015000120220},
    {
"Hydra"10015000120220}
}; 
Ate ai fmz, porйm eu preciso obter os dados de uma das linhas, mas eu preciso obter o nome do veiculo e comparar com o nome do carro ( aa5 na enum ) e ai pegar os dados da coluna que eu quero. Deu pra entender? Eu tentei assim

PHP код:
format(String,sizeof(String),"%d"Enum[GetVehicleName(vehicleid)][2]);
PlayerTextDrawSetString(playeridTextdraw1String); 
Como proceder?


Re: Pegar Nome do Veнculo com ID ( Enum ) - zSuYaNw - 09.08.2014

Nгo entendi jovem..

Mande o link da include, nгo achei aqui.


Re: Pegar Nome do Veнculo com ID ( Enum ) - DevilAgain - 09.08.2014

Й O seguinte, й mselection o nome dela, mas nгo vem ao caso.
Eu mesmo estou confuso com isso, como eu disse, eu perciso pegar o nome do veiculo, Ex: Infernus
Ai eu preciso procurar lб o nome "Infernus" na Enum e pegar o preзo que estб junto na enum

"Infernus", 999, 1000

Digamos que 1000 seja o preзo ai o cara comprou um infernus, eu preciso pega o nome do carro que o maluco comproru e ai procurar a linha e pegar a coluna, o meu problema й pegar o nome do carro e pegar a linha. Como procedo?


Re: Pegar Nome do Veнculo com ID ( Enum ) - zSuYaNw - 09.08.2014

Faзa um loop.

pawn Код:
main(){
    //printf("%s", Enum[ GetVehicleModel(GetPlayerVehicleID(playerid)) - 400][aa5]);
   
   
    for(new i; i != 2; ++i){
        if(!strcmp(Enum[i][aa5], "Infernus", true)){
            printf("Vocк comprou um infernus! ID: %i", i);
        }
    }
}


EDIT



pawn Код:
new VehicleNames[][] =
{
    "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel",
    "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
    "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
    "Esperanto", "Taxi", "Washington", "Bobcat", "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", "Police Maverick", "Boxville", "Benson", "Mesa", "RC Goblin",
    "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher", "Super GT",
    "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "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", "Monster", "Uranus", "Jester", "Sultan", "Stratium",
    "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
    "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper",
    "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400",
    "News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
    "Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car",
    "Police Car", "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha",
    "Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville",
    "Tiller", "Utility Trailer"
};



///
    static
        pvModel[60];


    format(pvModel, 60, "%s", VehicleNames[ GetVehicleModel(GetPlayerVehicleID(playerid)) - 400 ]);
    for(new i; i != 2; ++i){
        if(!strcmp(Enum[i][aa5], pvModel, true)){
            printf("Vocк comprou um infernus! ID: %i", i);
        }
    }


Pegando valor
pawn Код:
format(pvModel, 60, "%s", VehicleNames[ GetVehicleModel(GetPlayerVehicleID(playerid)) - 400 ]);
    for(new i; i != 2; ++i){
        if(!strcmp(Enum[i][Nome], pvModel, true)){
            printf("Vocк comprou um infernus! ID: %i Custa: %d reais!", i, Enum[i][Valor]);
        }
    }

Nгo testado.. mas segue a mesma lуgica.


Re: Pegar Nome do Veнculo com ID ( Enum ) - DevilAgain - 09.08.2014

Funcionou, espero muito que eu consigo te reputar pois vocк merece mesmo lek

outra duvida й como eu faзo um loop que mostre 18 textdraws? Elas vгo textdraw0 atй o textdraw18


Re: Pegar Nome do Veнculo com ID ( Enum ) - zSuYaNw - 09.08.2014

pawn Код:
for (new i = _:Textdraw0; i != 18; ++i) TextDrawShowForPlayer (playerid, i);



Re: Pegar Nome do Veнculo com ID ( Enum ) - DevilAgain - 09.08.2014

tag mismatch

Erro que deu :X


Re: Pegar Nome do Veнculo com ID ( Enum ) - zSuYaNw - 09.08.2014

pawn Код:
static
        Text: myTxt
    ;
   
   
    myTxt = TextDraw0;
   
    do{
        TexDrawShowForPlayer(playerid, myTxt);
         myTxt ++;
    }
    while( _:myTxt != 18);
Neste caso devemos usar do..while..