18.02.2018, 16:26
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:
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?
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?
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 = -1, a, str[100], final[3500];
while(++index < sizeof Concesssionaria) {
format(str, sizeof(str), "Vehicle: %s (%d$)\n", Concesssionaria[index][carname], Concesssionaria[index][preco]);
strcat(final, str);
Car_Listed[playerid][a] = index;
a++;
}
ShowPlayerDialog(playerid, 14, DIALOG_STYLE_LIST, "Vehicles", final, "Comprar", "");
return 1;
}
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(playerid, plane, index, "Buy Vehicle", DIALOGID_BUYVEH, 16.0, 0.0, -55.0);
return 1;
}
PHP код:
public OnPlayerModelSelectionEx(playerid, response, extraid, modelid)
{
if(extraid == DIALOGID_BUYVEH)
{
if(response)
{
new index = modelid;
if(GetPlayerMoneyEx(playerid) < Concesssionaria[index][preco]) return SendClientMessage(playerid, COLOR_RED, "Vocк nгo tem dinheiro suficiente.");
GivePlayerMoneyEx(playerid, -Concesssionaria[index][preco] );
new x = SERVER_VEHICLES + 1;
new carid = -1;
while(carid == -1 && x < MAX_VEHICLES) {
if(VehicleInfo[x][vDonoID] == 0) { carid = x; }
x++;
}
if(carid == -1) return SendClientMessage(playerid, COLOR_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], 0, 0, 0);
PutPlayerInVehicle(playerid, carid, 0);
SendClientMessage(playerid, 0xFF0000FF, "You've buyed your vehicle!");
}
else SendClientMessage(playerid, 0xFF0000FF, "You've canceled your vehicle selection.");
}
return 1;
}
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?