[Ajuda] Pegar Nome do Veнculo com ID ( Enum )
#1

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?
Reply
#2

Nгo entendi jovem..

Mande o link da include, nгo achei aqui.
Reply
#3

Й 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?
Reply
#4

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.
Reply
#5

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
Reply
#6

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

tag mismatch

Erro que deu :X
Reply
#8

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


Forum Jump:


Users browsing this thread: 1 Guest(s)