so mudar nessa function . poem o nome do slot que vai usar .
getInventoryItem(SLOT_RIGHT)
info
Grupo: Lorde
Registrado: 22/07/12
Posts: 2.2k
Reputação: +453
Char no Tibia: Kissy

so mudar nessa function . poem o nome do slot que vai usar .
getInventoryItem(SLOT_RIGHT)
info
Grupo: Visconde
Registrado: 10/02/11
Posts: 377
Reputação: +78

cara eu sei
o q eu to querendo é colocar pra poder usar nas duas maos
só q só funciona em uma
quero saber se alguem sabe o pq
edit:
demorei mas consegui resolver podem fechar
info
Grupo: Cavaleiro
Registrado: 19/09/07
Posts: 196
Reputação: +42
Char no Tibia: Programadorfp

cara eu sei
o q eu to querendo é colocar pra poder usar nas duas maos
só q só funciona em uma
quero saber se alguem sabe o pq
edit:
demorei mas consegui resolver podem fechar
Seja ético meu colega, outras pessoas poderão ter a mesma dúvida que a sua, poste sua solução
.
Obrigado.
info
Grupo: Lorde
Registrado: 22/07/12
Posts: 2.2k
Reputação: +453
Char no Tibia: Kissy

duvida sanada
reported
info
Grupo: Visconde
Registrado: 10/02/11
Posts: 377
Reputação: +78

realmente eu posso postar
o problema é q logo esse topic vai sair daqui
e o povo n vai achar
mas vo colocar aqui em baixo como arrumar \/
Procurando por essa parte no Player.cpp
Item* Player::getWeapon(bool ignoreAmmo /*= false*/)
{
Item* item;
for(uint32_t slot = SLOT_RIGHT; slot <= SLOT_LEFT; slot++)
{
item = getEquippedItem((slots_t)slot);
if(!item)
continue;
switch(item->getWeaponType())
{
case WEAPON_SWORD:
case WEAPON_AXE:
case WEAPON_CLUB:
case WEAPON_WAND:
case WEAPON_FIST:
{
const Weapon* weapon = g_weapons->getWeapon(item);
if(weapon)
return item;
break;
}
case WEAPON_DIST:
{
if(!ignoreAmmo && item->getAmmoType() != AMMO_NONE)
{
Item* ammoItem = getInventoryItem(SLOT_AMMO);
if(ammoItem && ammoItem->getAmmoType() == item->getAmmoType())
{
const Weapon* weapon = g_weapons->getWeapon(ammoItem);
if(weapon)
{
shootRange = item->getShootRange();
return ammoItem;
}
}
}
else
{
const Weapon* weapon = g_weapons->getWeapon(item);
if(weapon)
{
shootRange = item->getShootRange();
return item;
}
}
break;
}
default:
break;
}
}
return NULL;
}
substitua por esse
Item* Player::getWeapon(bool ignoreAmmo /*= false*/)
{
Item* item;
for(uint32_t slot = SLOT_RIGHT; slot <= SLOT_LEFT; slot++)
{
item = getEquippedItem((slots_t)slot);
if(!item)
continue;
switch(item->getWeaponType())
{
case WEAPON_SWORD:
case WEAPON_AXE:
case WEAPON_CLUB:
case WEAPON_WAND:
case WEAPON_FIST:
{
const Weapon* weapon = g_weapons->getWeapon(item);
if(weapon)
return item;
break;
}
case WEAPON_DIST:
{
if(!ignoreAmmo && item->getAmmoType() != AMMO_NONE)
{
Item* ammoItem = getInventoryItem(SLOT_RIGHT);
if(ammoItem && ammoItem->getAmmoType() == item->getAmmoType())
{
const Weapon* weapon = g_weapons->getWeapon(ammoItem);
if(weapon)
{
shootRange = item->getShootRange();
return ammoItem;
}
}
}
if(!ignoreAmmo && item->getAmmoType() != AMMO_NONE)
{
Item* ammoItem = getInventoryItem(SLOT_LEFT);
if(ammoItem && ammoItem->getAmmoType() == item->getAmmoType())
{
const Weapon* weapon = g_weapons->getWeapon(ammoItem);
if(weapon)
{
shootRange = item->getShootRange();
return ammoItem;
}
}
}
else
{
const Weapon* weapon = g_weapons->getWeapon(item);
if(weapon)
{
shootRange = item->getShootRange();
return item;
}
}
break;
}
default:
break;
}
}
return NULL;
}
assim vc vai conseguir usar as flechas em qualquer mao
mas n vai conseguir usa-las no slot de flechas
info
Grupo: Visconde
Registrado: 10/02/11
Posts: 377
Reputação: +78
seguinte eu to tentando colocar as arrows para ser usada na mao
porem eu n to conseguindo colocar para o slot(left e right) e n adianta colocar slot hand
q só vai funcionar em uma mao tb
ai nas source eu deixei assim
Item* ammoItem = getInventoryItem(SLOT_RIGHT), getInventoryItem(SLOT_LEFT);
porem só pega na right
alguem ai sabe como arrumar isso?