#define PLAYER_CONCE 2 #define VIP_CONCE 4 #define ADM_CONCE 5 CMD:carmenu(playerid) { for(new carro = 0; carro < MAX_CONCES; carro++) { format(string, sizeof(string), PASTA_CONCE, carro); if(DOF2_FileExists(string)) { if(strcmp(DOF2_GetString(string, "Dono"), PlayerName(playerid), false) == 0) { ShowPlayerDialog(playerid, D_MENUCARRO, DIALOG_STYLE_LIST, "Menu do Carro", "{FFFFFF}Localizar Veнculo\nEstacionar\nChaves\nCor 1\nCor 2\nRespawnar\nVender\nTunar\nDestunar", "Ok", "Fechar"); return 1; } } } SendClientMessage(playerid, COR_ERRO, "Vocк nгo tem um carro prуprio."); return 1; }
"VeiculosConce/conce%d.ini"
#define PLAYER_CONCE 2 #define VIP_CONCE 4 #define ADM_CONCE 5 CMD:carmenu(playerid) { new bool:tem_carro; for(new carro = 0; carro < MAX_CONCES; carro++) { format(string, sizeof(string), PASTA_CONCE, carro); if(DOF2_FileExists(string)) { if(strcmp(DOF2_GetString(string, "Dono"), PlayerName(playerid), false) == 0) { tem_carro = true; break; } } } if(tem_carro) ShowPlayerDialog(playerid, D_MENUCARRO, DIALOG_STYLE_LIST, "Menu do Carro", "{FFFFFF}Localizar Veнculo\nEstacionar\nChaves\nCor 1\nCor 2\nRespawnar\nVender\nTunar\nDestunar", "Ok", "Fechar"); else SendClientMessage(playerid, COR_ERRO, "Vocк nгo tem um carro prуprio."); return 1; }
Na verdade o loop para na primeira volta, ou seja, caso o primeiro arquivo nгo conste o nome do jogador ele nгo retorna nada.
A forma funcional que vejo seria desta forma: Код:
#define PLAYER_CONCE 2 #define VIP_CONCE 4 #define ADM_CONCE 5 CMD:carmenu(playerid) { for(new carro = 0; carro < MAX_CONCES; carro++) { format(string, sizeof(string), PASTA_CONCE, carro); if(DOF2_FileExists(string)) { if(strcmp(DOF2_GetString(string, "Dono"), PlayerName(playerid), false) == 0) { ShowPlayerDialog(playerid, D_MENUCARRO, DIALOG_STYLE_LIST, "Menu do Carro", "{FFFFFF}Localizar Veнculo\nEstacionar\nChaves\nCor 1\nCor 2\nRespawnar\nVender\nTunar\nDestunar", "Ok", "Fechar"); return true; } } } SendClientMessage(playerid, COR_ERRO, "Vocк nгo tem um carro prуprio."); return 1; } Para selecionar mais de um veнculo serб necessбrio mexer na estrutura desse cуdigo, pois atй o momento ele nem funcional estб, pois abre um diбlogo sem funзгo alguma. |
#define PLAYER_CONCE 2
#define VIP_CONCE 4
#define ADM_CONCE 5
CMD:carmenu(playerid)
{
for(new carro = 0; carro < MAX_CONCES; carro++)
{
format(string, sizeof(string), PASTA_CONCE, carro);
if(DOF2_FileExists(string))
{
if(strcmp(DOF2_GetString(string, "Dono"), PlayerName(playerid), false) == 0)
{
return ShowPlayerDialog(playerid, D_MENUCARRO, DIALOG_STYLE_LIST, "Menu do Carro", "{FFFFFF}Localizar Veнculo\nEstacionar\nChaves\nCor 1\nCor 2\nRespawnar\nVender\nTunar\nDestunar", "Ok", "Fechar");
}
}
}
SendClientMessage(playerid, COR_ERRO, "Vocк nгo tem um carro prуprio."); //tem
//nгo tem
return 1;
}
#define PLAYER_CONCE 2 #define VIP_CONCE 4 #define ADM_CONCE 5 new meus_veiculos[MAX_PLAYERS][3]; // Pode ter atй 3 veнculos CMD:carmenu(playerid) { new contar, str[100]; for(new carro = 0; carro < MAX_CONCES; carro++) { format(string, sizeof(string), PASTA_CONCE, carro); if(DOF2_FileExists(string)) { if(strcmp(DOF2_GetString(string, "Dono"), PlayerName(playerid), false) == 0) { meus_veiculos[playerid][contar] = carro; contar ++; } } } switch(contar) { case 1: format(str, sizeof str, , "{FFFFFF}Veнculo ID %d", meus_veiculos[playerid][0]); case 2: format(str, sizeof str, "Menu do Carro", "{FFFFFF}Veнculo ID %d\nVeнculo ID %d", meus_veiculos[playerid][0], meus_veiculos[playerid][1]); case 3: format(str, sizeof str, "Menu do Carro", "{FFFFFF}Veнculo ID %d\nVeнculo ID %d\nVeнculo ID %d", meus_veiculos[playerid][0], meus_veiculos[playerid][1], meus_veiculos[playerid][2]); default: SendClientMessage(playerid, COR_ERRO, "Vocк nгo tem um carro prуprio."); } if(contar) ShowPlayerDialog(playerid, D_MENUCARRO, DIALOG_STYLE_LIST, "Menu do Carro", str, "Ok", "Fechar"); return 1; }
Код:
#define PLAYER_CONCE 2 #define VIP_CONCE 4 #define ADM_CONCE 5 new meus_veiculos[MAX_PLAYERS][3]; // Pode ter atй 3 veнculos CMD:carmenu(playerid) { new contar, str[100]; for(new carro = 0; carro < MAX_CONCES; carro++) { format(string, sizeof(string), PASTA_CONCE, carro); if(DOF2_FileExists(string)) { if(strcmp(DOF2_GetString(string, "Dono"), PlayerName(playerid), false) == 0) { meus_veiculos[playerid][contar] = carro; contar ++; } } } switch(contar) { case 1: format(str, sizeof str, , "{FFFFFF}Veнculo ID %d", meus_veiculos[playerid][0]); case 2: format(str, sizeof str, "Menu do Carro", "{FFFFFF}Veнculo ID %d\nVeнculo ID %d", meus_veiculos[playerid][0], meus_veiculos[playerid][1]); case 3: format(str, sizeof str, "Menu do Carro", "{FFFFFF}Veнculo ID %d\nVeнculo ID %d\nVeнculo ID %d", meus_veiculos[playerid][0], meus_veiculos[playerid][1], meus_veiculos[playerid][2]); default: SendClientMessage(playerid, COR_ERRO, "Vocк nгo tem um carro prуprio."); } if(contar) ShowPlayerDialog(playerid, D_MENUCARRO, DIALOG_STYLE_LIST, "Menu do Carro", str, "Ok", "Fechar"); return 1; } |