RO
dúvida

Slot

Por rohfagundes, 07 de mar. de 2013 em Resolvidos

6
1.1k
rohfagundesR
07 de março de 2013 às 18:01

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?

SkyLighS
07 de março de 2013 às 18:21

so mudar nessa function . poem o nome do slot que vai usar .

 

getInventoryItem(SLOT_RIGHT)

rohfagundesR
07 de março de 2013 às 19:07

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

murilo103M
07 de março de 2013 às 19:30

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.

SkyLighS
07 de março de 2013 às 19:49

duvida sanada

reported

rohfagundesR
08 de março de 2013 às 08:23

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