예제 #1
0
void Functions::AmountMinus(st_Item *item)
{
	int32_t amount = BASE_GetItemAmount(item);

	if (amount > 0)
	{
		BASE_SetItemAmount(item, amount - 1);
	}
	else
	{
		BASE_ClearItem(item);
	}
}
예제 #2
0
파일: GetFunc.cpp 프로젝트: CAIOVA7X/W2PP
int GetMatchCombineEhre(STRUCT_ITEM *Item)
{
	int rate = 0;

	for(int i = 0; i < MAX_COMBINE; i++)
	{
		if(Item[i].sIndex == 747)
			return 0;
	}

	if (Item[0].sIndex < 0 || Item[0].sIndex >= MAX_ITEMLIST)
		return 0;

	if (Item[1].sIndex < 0 || Item[1].sIndex >= MAX_ITEMLIST)
		return 0;

	if (Item[2].sIndex < 0 || Item[2].sIndex >= MAX_ITEMLIST)
		return 0;

	if (Item[3].sIndex < 0 || Item[3].sIndex >= MAX_ITEMLIST)
		return 0;

	if (Item[4].sIndex < 0 || Item[4].sIndex >= MAX_ITEMLIST)
		return 0;

	if (Item[5].sIndex < 0 || Item[5].sIndex >= MAX_ITEMLIST)
		return 0;

	if (Item[6].sIndex < 0 || Item[6].sIndex >= MAX_ITEMLIST)
		return 0;

	if (Item[7].sIndex < 0 || Item[7].sIndex >= MAX_ITEMLIST)
		return 0;
	
	if (Item[0].sIndex == 697 && Item[1].sIndex == 697 && BASE_GetItemSanc(&Item[2]) >= 9 && Item[2].sIndex != 3338)
		rate = 1;//Pacote Oriharucon

	else if (Item[0].sIndex >= 5110 && Item[0].sIndex <= 5133 && Item[1].sIndex >= 5110 && Item[1].sIndex <= 5133 && Item[2].sIndex == 413 && BASE_GetItemAmount(&Item[2]) >= 10)
		rate = 2;//Pedra Misteriosa

	else if (Item[0].sIndex >= 661 && Item[0].sIndex <= 663 && Item[1].sIndex >= 661 && Item[1].sIndex <= 663 && Item[2].sIndex == 633 && BASE_GetItemSanc(&Item[2]) >= 9)
		rate = 3;//Pedra espiritual

	else if (Item[0].sIndex >= 661 && Item[0].sIndex <= 663 && Item[1].sIndex >= 661 && Item[1].sIndex <= 663 && Item[2].sIndex == 3464 && BASE_GetItemSanc(&Item[2]) >= 9)
		rate = 4;//Pedra Amunrá

	else if (Item[0].sIndex == 697 && Item[1].sIndex == 697 && Item[2].sIndex == 3338 && BASE_GetItemSanc(&Item[2]) <= 8)
		rate = 5;//Refinação abençoada Purificada

	else if (Item[0].sIndex >= 2360 && Item[0].sIndex <= 2389 && Item[1].sIndex >= 4190 && Item[1].sIndex <= 4199)
		rate = 6;//Traje montaria

	else if (Item[0].sIndex >= 2360 && Item[0].sIndex <= 2389 && Item[1].sIndex == 4899)
		rate = 7;//Restaurar Traje montaria

	else if (Item[0].sIndex >= 2441 && Item[0].sIndex <= 2444 && Item[1].sIndex >= 2441 && Item[1].sIndex <= 2444 && Item[2].sIndex >= 2441 && Item[2].sIndex <= 2444)
		rate = 8;//Soul

	return rate;
}
예제 #3
0
파일: GetFunc.cpp 프로젝트: CAIOVA7X/W2PP
int GetMatchCombineOdin(STRUCT_ITEM *Item)
{
	for(int i = 0; i < MAX_COMBINE; i++)
	{
		if(Item[i].sIndex == 747)
			return 0;
	}

	if (Item[0].sIndex < 0 || Item[0].sIndex >= MAX_ITEMLIST)
		return 0;

	if (Item[1].sIndex < 0 || Item[1].sIndex >= MAX_ITEMLIST)
		return 0;

	if (Item[2].sIndex < 0 || Item[2].sIndex >= MAX_ITEMLIST)
		return 0;

	if (Item[3].sIndex < 0 || Item[3].sIndex >= MAX_ITEMLIST)
		return 0;

	if (Item[4].sIndex < 0 || Item[4].sIndex >= MAX_ITEMLIST)
		return 0;

	if (Item[5].sIndex < 0 || Item[5].sIndex >= MAX_ITEMLIST)
		return 0;

	if (Item[6].sIndex < 0 || Item[6].sIndex >= MAX_ITEMLIST)
		return 0;

	if (Item[7].sIndex < 0 || Item[7].sIndex >= MAX_ITEMLIST)
		return 0;
	
	if (Item[0].sIndex == g_pItemList[Item[1].sIndex].Extra && BASE_GetItemSanc(&Item[0]) >= 9 && BASE_GetItemSanc(&Item[1]) == REF_15
		&& (Item[2].sIndex == 542 || Item[2].sIndex == 772) && Item[3].sIndex == 5334 && Item[4].sIndex == 5335 && Item[5].sIndex == 5336 && Item[6].sIndex == 5337)
		return 1;//Item celestial

	else if ((Item[0].sIndex == 413 && BASE_GetItemAmount(&Item[0]) >= 10 && Item[1].sIndex == 413 && BASE_GetItemAmount(&Item[1]) >= 10 || Item[0].sIndex == 4043 && Item[1].sIndex == 4043)
		&& BASE_GetItemSanc(&Item[2]) > REF_10 && BASE_GetItemSanc(&Item[2]) <= REF_15 && (Item[3].sIndex >= 5334 && Item[3].sIndex <= 5337 || Item[3].sIndex == 3338) && (Item[4].sIndex >= 5334 && Item[4].sIndex <= 5337 || Item[4].sIndex == 3338)
		&& (Item[5].sIndex >= 5334 && Item[5].sIndex <= 5337 || Item[5].sIndex == 3338) && (Item[6].sIndex >= 5334 && Item[6].sIndex <= 5337 || Item[6].sIndex == 3338) && (g_pItemList[Item[2].sIndex].nPos == 2 || g_pItemList[Item[2].sIndex].nPos == 4 || g_pItemList[Item[2].sIndex].nPos == 8 || g_pItemList[Item[2].sIndex].nPos == 16 || g_pItemList[Item[2].sIndex].nPos == 32 || g_pItemList[Item[2].sIndex].nPos == 64 || g_pItemList[Item[2].sIndex].nPos == 192 || g_pItemList[Item[2].sIndex].nPos == 128))
		return 2;//Ref+12+

	else if (Item[0].sIndex == 413 && Item[1].sIndex == 413 && Item[2].sIndex == 413 && Item[3].sIndex == 413 && Item[4].sIndex == 413 && Item[5].sIndex == 413 && Item[6].sIndex == 413)
		return 3;//Pista de runas

	else if (Item[0].sIndex == 4127 && Item[1].sIndex == 4127 && Item[2].sIndex == 5135 && Item[3].sIndex == 5113 && Item[4].sIndex == 5129 && Item[5].sIndex == 5112 && Item[6].sIndex == 5110)
		return 4;//Level40 Celestial

	else if (Item[0].sIndex == 5125 && Item[1].sIndex == 5115 && Item[2].sIndex == 5111 && Item[3].sIndex == 5112 && Item[4].sIndex == 5120 && Item[5].sIndex == 5128 && Item[6].sIndex == 5119)
		return 5;//Pedra da fúria

	else if (Item[0].sIndex == 5126 && Item[1].sIndex == 5127 && Item[2].sIndex == 5121 && Item[3].sIndex == 5114 && Item[4].sIndex == 5125 && Item[5].sIndex == 5111 && Item[6].sIndex == 5118)
		return 6;//Secreta da Agua

	else if (Item[0].sIndex == 5131 && Item[1].sIndex == 5113 && Item[2].sIndex == 5115 && Item[3].sIndex == 5116 && Item[4].sIndex == 5125 && Item[5].sIndex == 5112 && Item[6].sIndex == 5114)
		return 7;//Secreta da Terra

	else if (Item[0].sIndex == 5110 && Item[1].sIndex == 5124 && Item[2].sIndex == 5117 && Item[3].sIndex == 5129 && Item[4].sIndex == 5114 && Item[5].sIndex == 5125 && Item[6].sIndex == 5128)
		return 8;//Secreta do Sol

	else if (Item[0].sIndex == 5122 && Item[1].sIndex == 5119 && Item[2].sIndex == 5132 && Item[3].sIndex == 5120 && Item[4].sIndex == 5130 && Item[5].sIndex == 5133 && Item[6].sIndex == 5123)
		return 9;//Secreta do Vento

	else if (Item[0].sIndex == 421 && Item[1].sIndex == 422 && Item[2].sIndex == 423 && Item[3].sIndex == 424 && Item[4].sIndex == 425 && Item[5].sIndex == 426 && Item[6].sIndex == 427)
		return 10;//Semente de cristal
	
	else if (Item[0].sIndex == 4127 && Item[1].sIndex == 4127 && Item[2].sIndex == 5135 && Item[3].sIndex == 413 && Item[4].sIndex == 413 && Item[5].sIndex == 413 && Item[6].sIndex == 413)
		return 11;//Capa

	return 0;
}