[Ajuda] Selecionar mais de um veнculo!
#1

Estou tendo problemas ao player abrir o menu de veнculos!
Tipo, quando ele faz o comando e clica, aparece o dialog e tals, mas nгo aparece a opзгo de selecionar qual deles.


Код:
#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;
}
Se puderem ajudar, agradeзo desde jб!
Reply
#2

Код:
"VeiculosConce/conce%d.ini"
Reply
#3

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)
{
	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;
}
@edit

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

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
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;
}
@edit

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.
Nem seria necessбrio criar variбvel para isso

PHP код:
#define PLAYER_CONCE 2
#define VIP_CONCE 4
#define ADM_CONCE 5
CMD:carmenu(playerid)
{
    for(new 
carro 0carro MAX_CONCEScarro++)
    {
        
format(stringsizeof(string), PASTA_CONCEcarro);
        if(
DOF2_FileExists(string))
        {
            if(
strcmp(DOF2_GetString(string"Dono"), PlayerName(playerid), false) == 0)
            {
                return 
ShowPlayerDialog(playeridD_MENUCARRODIALOG_STYLE_LIST"Menu do Carro""{FFFFFF}Localizar Veнculo\nEstacionar\nChaves\nCor 1\nCor 2\nRespawnar\nVender\nTunar\nDestunar""Ok""Fechar");
            }
        }
    }
   
SendClientMessage(playeridCOR_ERRO"Vocк nгo tem um carro prуprio."); //tem
     //nгo tem
    
    
return 1;

Reply
#5

E se o jogador tiver mais que 1 veнculo prуprio?
Reply
#6

Код:
#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; 
}
Uma alternativa para selecionar mais de um veнculo...
Reply
#7

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Код:
#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; 
}
Uma alternativa para selecionar mais de um veнculo...
Cara, era sу isso? ;-; Ontem quebrei a cabeзa com outro programador e era apenas isso, a gente fez vбrios modos e todos saнram errado, obrigado salvou minha vida! +REP
Reply
#8

Obrigado a todos que ajudaram.
F1NAL principalmente +Rep mano, valeu mesmo.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)