SA-MP Forums Archive
[Ajuda] Alguйm me ajuda fazer isso - 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] Alguйm me ajuda fazer isso (/showthread.php?tid=643718)



Alguйm me ajuda fazer isso - Revolts - 26.10.2017

Alguйm pode me ajudar a trocar a seleзгo de objetos Funiture de dialog para ShowModelSelectionMenu

O code funciona assim, й selecionado uma categoria, dessa categoria, й direcionada para outra, e depois entra essa parte, onde se compra os objetos.
Sу que ta pra comprar em dialog, alguйm pode me ajudar a colocar em ShowModelSelectionMenu?
O code abaixo й a parte exata onde os dialogs redirecionam para compra.

Код:
Dialog:FurniturePurchase2(playerid, response, listitem, inputtext[])
{
	if(!response) return Dialog_Show(playerid, FurniturePurchase, DIALOG_STYLE_LIST, "Selecione uma categoria de mуveis", GetHouseCategoryList(), "Selecionar", "Cancelar");

	gstr[0] = EOS;
	strcat(gstr, "Nome da mobнlia\tCusto\n");
	for(new x = 0; x < MAX_FURNITURE; x++)
	{
		if(FurniData[x][fSubCategory] == listitem && FurniData[x][fCategory] == GetPVarInt(playerid, "FurnCat") && FurniData[x][fModel] != 0)
		{
			format(sgstr, sizeof(sgstr), "%s\t$%s\n", FurniData[x][fuName], format_cash(FurniData[x][fPrice]));
			strcat(gstr, sgstr);
		}
	}
	Dialog_Show(playerid, FurniturePurchase3, DIALOG_STYLE_TABLIST_HEADERS, "Comprar mуveis", gstr, "Selecionar", "Cancelar");
	return true;
}



Re: Alguйm me ajuda fazer isso - RodrigoMSR - 26.10.2017

PHP код:
new ModelList[MAX_FURNITURE], count 0;
for(new 
0MAX_FURNITUREx++)
{
    if(
FurniData[x][fSubCategory] == listitem && FurniData[x][fCategory] == GetPVarInt(playerid"FurnCat") && FurniData[x][fModel] != 0)
    {
        
ModelList[count] = FurniData[x][fModel];
        
count++;
    }
}

ShowModelSelectionMenuEx(playeridModelListcount"Furniture"MS_FURNITURE0.00.00.01.0); 



Re: Alguйm me ajuda fazer isso - Revolts - 26.10.2017

Quote:
Originally Posted by RodrigoMSR
Посмотреть сообщение
PHP код:
new ModelList[MAX_FURNITURE], count 0;
for(new 
0MAX_FURNITUREx++)
{
    if(
FurniData[x][fSubCategory] == listitem && FurniData[x][fCategory] == GetPVarInt(playerid"FurnCat") && FurniData[x][fModel] != 0)
    {
        
ModelList[count] = FurniData[x][fModel];
        
count++;
    }
}
ShowModelSelectionMenuEx(playeridModelListcount"Furniture"MS_FURNITURE0.00.00.01.0); 
Nгo apresentou erro na hora de compilar, porem nгo abre o SelectionMenu nгo faz nada


Re: Alguйm me ajuda fazer isso - RodrigoMSR - 26.10.2017

Faзa um debug com printf na condiзгo para verificar se estб sendo adicionado modelos em ModelList.


Re: Alguйm me ajuda fazer isso - Revolts - 26.10.2017

Quote:
Originally Posted by RodrigoMSR
Посмотреть сообщение
Faзa um debug com printf na condiзгo para verificar se estб sendo adicionado modelos em ModelList.
Acho que nгo tem como fazer isso, porque os objetos de furniture, sгo salvo e dividido por categoria direto da base de dados, e entгo a forma de compra й por dialog.

Entгo, acabei de tentar usar essa include https://sampforum.blast.hk/showthread.php?tid=570213
Funcionou, sу que eu acho que coloquei algo errado porque ao invйs de aparecer os objetos, estгo aparecendo skins.

Код:
Dialog:FurniturePurchase2(playerid, response, listitem, inputtext[])
{
	if(!response) return Dialog_Show(playerid, FurniturePurchase, DIALOG_STYLE_LIST, "Selecione uma categoria de mуveis", GetHouseCategoryList(), "Selecionar", "Cancelar");

	gstr[0] = EOS;
	strcat(gstr, "Nome da mobнlia\tCusto\n");
	for(new x = 0; x < MAX_FURNITURE; x++)
	{
		if(FurniData[x][fSubCategory] == listitem && FurniData[x][fCategory] == GetPVarInt(playerid, "FurnCat") && FurniData[x][fModel] != 0)
		{
			format(sgstr, sizeof(sgstr), "%s\t$%s\n", FurniData[x][fuName], format_cash(FurniData[x][fPrice]));
			strcat(gstr, sgstr);
		}
	}
	ShowPlayerDialog(playerid, 0, DIALOG_STYLE_PREVIEW_MODEL, "Comprar moveis", gstr, "Selecionar", "Cancelar");
	return true;
}
Coloquei algo errado na linha ShowPlayerDialog sу n sei oq




Re: Alguйm me ajuda fazer isso - ZaHHak - 26.10.2017

O erro estб na sua array que estб armazenando o ID dos objetos que estб sendo mostrado
usei a include que consegui um resultado de boa, vou deixar meu cуdigo caso possa ajudб-lo
Код:
CMD:objetos(playerid)
{
	new string2[250];
	for(new p; p < 6; p++)
	{
		if(UsandoObj[playerid][p])
		{
			format(string2,sizeof string2,"%s%i\t%s\n",string2,PlayerInfo[playerid][pObj][p],NomeObjetos(PlayerInfo[playerid][pObj][p]));
		}
	}
	ShowPlayerDialog(playerid, DPRENDAS, DIALOG_STYLE_PREVIEW_MODEL, "Seus Acessуrios", string2, "Escolher", "Fechar");
	return 1;
}