Chat global

Chat
Loading the chat ...
[ajuda] Como faço p...
 
Notifications
Clear all

[ajuda] Como faço para travar um item premium para não entrar no mix/age

8 Posts
4 Usuários
0 Reactions
85 Visualizações
(@roolk)
Posts: 31
Mentor Respeitado
Topic starter
 

gostaria de saber como fazer para travar um item premium (de dia) para não conseguir colocar no aging/mix 
tentei fazer manualmente mas na hora de compilar dá erro.

if (cShop.OpenFlag || SkillMasterFlag || cCraftItem.OpenFlag || cAging.OpenFlag || SmeltingItem.OpenFlag || ManufactureItem.m_OpenFlag || cMixtureReset.OpenFlag)
{
	if (pItem->sItemInfo.CODE == (sinOE1 | sin03)) return FALSE;
	if (pItem->sItemInfo.CODE == (sinOE1 | sin02)) return FALSE;
	if (pItem->sItemInfo.CODE == (sinOE1 | sin01)) return FALSE;
}

alguém poderia me ajudar ?
Utilizo como base a source elemental


 
Postado : 01/09/2025 6:06 pm
(@Anônimo 53)
Posts: 27
 

Eu nao lembro com toda certeza mas verifica na funçao CheckAgingItem.


 
Postado : 01/09/2025 6:51 pm
(@roolk)
Posts: 31
Mentor Respeitado
Topic starter
 

o meu problema maior é no mix não é nem no aging, pois ao colocar o item lá, o tempo é recalculado.


 
Postado : 08/09/2025 1:59 pm
Iron
 Iron
(@iron)
Posts: 20
Mentor Respeitado
 

@roolk qual source você está utilizando ?

 


 
Postado : 08/09/2025 2:14 pm
(@roolk)
Posts: 31
Mentor Respeitado
Topic starter
 

Source elemental

 


 
Postado : 08/09/2025 2:55 pm
Iron
 Iron
(@iron)
Posts: 20
Mentor Respeitado
 

@roolk não me lembro bem, acredito que seja no SinTrade.cpp, da uma olhada no cCRAFTITEM::isMixableItem(sITEM* pItem)


 
Postado : 08/09/2025 10:15 pm
(@roolk)
Posts: 31
Mentor Respeitado
Topic starter
 

@iron coloquei o codigo do item na linha do mixableitem mas mesmo assim, os itens de tempo continuam entrando no mix, um dos códigos que eu quero bloquear é o sinOR2 | sin50, porém não obtive sucesso.

bool cCRAFTITEM::isMixableItem(sITEM* pItem)
{
	static DWORD MixItemCode[20] = { sinWA1,sinWC1,sinWH1,sinWM1,sinWP1,sinWS1,sinWS2,sinWT1,sinDA1,sinDS1,sinOM1,sinDA2,sinDG1,sinDB1,sinOA2, sinOA1, sinOR1, sinOR1, sinDA3, sinDA4 };

	if ((pItem->sItemInfo.CODE & sinITEM_MASK2) != sinOS1 && (pItem->sItemInfo.CODE & sinITEM_MASK2) != sinSE1)
	{
		bool isMixable = false;
		for (int i = 0; i < sizeof(MixItemCode) / sizeof(DWORD); i++)
		{
			if ((pItem->CODE & sinITEM_MASK2) == MixItemCode[i])
			{
				isMixable = true;
				break;
			}
		}

		if (pItem->sItemInfo.CODE == (sinOR2 | sin50))
		{
			return false;
		}

		if pItem->sItemInfo.CODE == (sinOR2 | sin50)) ||
			isMixable = false;

		if (!isMixable)
			return false;

		if (pItem->sItemInfo.CODE == (sinDA1 | sin51) ||
			pItem->sItemInfo.CODE == (sinOR2 | sin50))
             return false;

		if (pItem->sItemInfo.UniqueItem || pItem->sItemInfo.ItemKindCode == ITEM_KIND_CRAFT || pItem->sItemInfo.ItemKindCode == ITEM_KIND_AGING ||
			pItem->sItemInfo.ItemKindCode == ITEM_KIND_QUEST ||
			pItem->sItemInfo.SpecialItemFlag[0] == CHECK_GIVE_ITEM ||
					pItem->sItemInfo.CODE == (sinOR2 | sin50) ||

 

tentei fazer por if, por ismixable = false e por pitem->siteminfo, mas, nenhum obtive um resultado positivo. 
(quando eu clico com o botão direito diz que o item não pode ser mixado, mas quando carrego com o botão esquerdo, ele entra no mix normalmente)


Este post foi modificado 1 mês atrás por Roolk
 
Postado : 10/09/2025 5:22 pm
Curioso123
(@curioso123)
Posts: 45
Conselheiro
 

Opa conseguiu resolver ? estou precisando tbm


~ Aprender nunca é demais...

 
Postado : 13/09/2025 4:06 pm
Compartilhar:

Anúncio