-
Quem está por aqui 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
- 0
Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.
Pergunta
querotop 63
Dessa maneira consigo agrupar todos os itens até mesmo se fosse trajes na troca e ñ é bem assim q é pra funfar.
queria que só agrupasse os itens agrupáveis (ou que checasse uma lista dos itens agrupáveis igual o da fada) e que conseguisse enviar com a quantidade certas do efeito 61 para o inventário, tipo, o resto de Ori tem 3 unidades na troca, mas quando vai pra o inventário só vai 1 unidade com o efeito 61.
Ajudando aqui, ficará um código funcional para todos que precisarem usar. ;)
{
int ItemReq = 475;
int i = 0;
for (i = 0; i < pMob[conn].MaxCarry; i++)
{
if (pMob[conn].MOB.Carry.sIndex != ItemReq)
continue;
break;
}
int x = 0;
int invfree = 0;
for (x = 0; x < pMob[conn].MaxCarry; x++)
{
if (pMob[conn].MOB.Carry[x].sIndex == 0)
invfree++;
}
if (invfree <= 0)
{
SendClientMessage(conn, "Falta espaço no inventário.");
return;
}
if (i != pMob[conn].MaxCarry)
{
int amount = BASE_GetItemAmount(&pMob[conn].MOB.Carry);
if (amount > 1)
BASE_SetItemAmount(&pMob[conn].MOB.Carry, amount - 1);
else
BASE_ClearItem(&pMob[conn].MOB.Carry);
SendItem(conn, ITEM_PLACE_CARRY, i, &pMob[conn].MOB.Carry);
STRUCT_ITEM Item;
memset(&Item, 0, sizeof(STRUCT_ITEM));
int _rd = rand() % 100;
if (_rd < 20)
Item.sIndex = 419;
Item.stEffect[0].cEffect = 61; //amount
Item.stEffect[0].cValue = 3; //quantidade
}
else if (_rd < 40)
{
Item.sIndex = 420;
Item.stEffect[0].cEffect = 61; //amount
Item.stEffect[0].cValue = 2; //quantidade
}
else if (_rd < 60)
{
Item.sIndex = 4026;
}
else if (_rd < 80)
{
Item.sIndex = 697;
}
else //20%
{
Item.sIndex = 476;
}
SendItemagrupar(conn, Item.sIndex);
//PutItem(conn, &Item);
sprintf(temp, g_pMessageStringTable[_SN_Item_Arrived], g_pItemList[Item.sIndex].Name);
SendClientMessage(conn, temp);
break;
}
sprintf(temp, g_pMessageStringTable[_SN_BRINGITEM], g_pItemList[ItemReq].Name);
SendSay(npcIndex, temp);
} break;
Clique aqui e adquira suas medalhas
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados