SA-MP Forums Archive
[Ajuda] Selecionar mais de um veнculo! - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Selecionar mais de um veнculo! (/showthread.php?tid=652032)



Selecionar mais de um veнculo! - Felipe1241421 - 01.04.2018

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б!



Re: Selecionar mais de um veнculo! - Felipe1241421 - 02.04.2018

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



Re: Selecionar mais de um veнculo! - F1N4L - 02.04.2018

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.


Re: Selecionar mais de um veнculo! - XandyMello - 02.04.2018

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;




Re: Selecionar mais de um veнculo! - GunnerCoder - 02.04.2018

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


Re: Selecionar mais de um veнculo! - F1N4L - 03.04.2018

Код:
#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...


Re: Selecionar mais de um veнculo! - GunnerCoder - 03.04.2018

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


Re: Selecionar mais de um veнculo! - Felipe1241421 - 03.04.2018

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