[Ajuda] OnPlayerModelSelectionEx Vehicle
#1

Estou tentando remover meu sistema de comprar carros por dialog por OnPlayerModelSelectionEx pra que o jogador possa ver visualmente o carro que ele estб escolhendo...

Em dialog:
PHP код:
enum EConcessionaria {
    
modelo,
    
carname[32],
    
preco
}
new 
Concesssionaria[][EConcessionaria] = {
    {
566"Tahoma"30000},
    {
507"Elegant"310000},
    {
516"Nebula"312500},
    {
426"Premier"325000},
    {
468"Sanchez"350000},
    {
500"Mesa"40000},
    {
400"Landstalk"50000},
    {
579"Huntley"50000},
    {
434"Hotknife"80000},
    {
424"BF Injection"80000},
    {
555"Windsor"100000},
    {
603"Phoenix"150000},
    {
567"Savanna"1750000},
    {
602"Alpha"200000},
    {
587"Euros"200000},
    {
506"Super GT"200000},
    {
477"ZR-350"250000},
    {
562"Elegy"20000},
    {
415"Cheetah"25000},
    {
402"Buffalo"25000},
    {
429"Banshee"30000},
    {
480"Comet"35000},
    {
495"Sandking"35000},
    {
444"Monster"35000},
    {
451"Turismo"50000},
    {
560"Sultan"60000},
    {
541"Bullet"60000},
    {
411"Infernus"80000}
};
CMD:buycar(playerid) {
    new 
index = -1astr[100], final[3500];
    while(++
index sizeof Concesssionaria) {
        
format(strsizeof(str), "Vehicle: %s (%d$)\n"Concesssionaria[index][carname], Concesssionaria[index][preco]);
        
strcat(final, str);
        
Car_Listed[playerid][a] = index;
        
a++;
    }
    
ShowPlayerDialog(playerid14DIALOG_STYLE_LIST"Vehicles", final, "Comprar""");
    return 
1;

Achei a include para usar o OnPlayerModelSelectionEx, que й muito bonito e da pra ver o carro que estб escolhendo, mas eu acho que estou fazendo alguma coisa de errado, alguйm saberia como me ajudar?

PHP код:
CMD:buyveh(playerid) {
    new 
index = -1;
    new 
plane[96]; // 96 total de veiculos da conce
    
while(++index sizeof Concesssionaria) {
        
plane[index] = Concesssionaria[index][modelo];
    }
    
ShowModelSelectionMenuEx(playeridplaneindex"Buy Vehicle"DIALOGID_BUYVEH16.00.0, -55.0);
    return 
1;

PHP код:
public OnPlayerModelSelectionEx(playeridresponseextraidmodelid)
{
    if(
extraid == DIALOGID_BUYVEH)
    {
        if(
response)
        {
            new 
index modelid;
            if(
GetPlayerMoneyEx(playerid) < Concesssionaria[index][preco]) return SendClientMessage(playeridCOLOR_RED"Vocк nгo tem dinheiro suficiente.");
            
GivePlayerMoneyEx(playerid, -Concesssionaria[index][preco] );
            new 
SERVER_VEHICLES 1;
            new 
carid = -1;
            while(
carid == -&& MAX_VEHICLES) {
                if(
VehicleInfo[x][vDonoID] == 0) { carid x; }
                
x++;
            }
            if(
carid == -1) return SendClientMessage(playeridCOLOR_RED"O servidor atingiu o limite maximo de veiculos ocupados, tente novamente mais depois!");
            
VehicleInfo[carid][vParkX] = 549.4260;
            
VehicleInfo[carid][vParkY] = -1271.7909;
            
VehicleInfo[carid][vParkZ] = 17.3374;
            
VehicleInfo[carid][vParkR] = 332.4741;
            
VehicleInfo[carid][vID] = CreateVehicle(VehicleInfo[carid][vModel], VehicleInfo[carid][vParkX], VehicleInfo[carid][vParkY], VehicleInfo[carid][vParkZ], VehicleInfo[carid][vParkR], 000);
            
PutPlayerInVehicle(playeridcarid0);
            
SendClientMessage(playerid0xFF0000FF"You've buyed your vehicle!");
        }
        else 
SendClientMessage(playerid0xFF0000FF"You've canceled your vehicle selection.");
    }
    return 
1;

Erros que estгo dando:
1- Sу estб mostrando os 20 primeiros (next/prev pages) nгo estгo funcionando
2- Cancelar estб funcionando, estб retornando
else SendClientMessage(playerid, 0xFF0000FF, "You've canceled your vehicle selection.");

Mas quando eu escolho um carro nada acontece

O que eu deveria fazer?
Reply
#2

bump
Reply
#3

Estude esta include. Recomendo!

https://sampforum.blast.hk/showthread.php?tid=570213
Reply
#4

Provavelmente vocк estб usando a include mSelection, certo?
Se sim, tem se seguinte define no comeзo da include: #define mS_CUSTOM_MAX_ITEMS 40
Logo para resolver, й sу aumentar esse valor, ao invйs de 40, coloca 100, por exemplo.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)