Ir para conteúdo

Featured Replies

Postado

Então galera, botei os códigos tudo certinho e copilei. porem ao usar 2 staff os danos não são somados, fica saindo cada uma o seu dano.

Alguém pra da uma solução pf 

Queria que ao usasse as duas, os danos das duas fossem somados.

Tfs 0.4

 

 

Citar

Vá em player.ccp e procure por:

 


ret = RET_CANONLYUSEONEWEAPON;
 

 

 

Você ira encontrar dois "ret = RET_CANONLYUSEONEWEAPON;", substitua por:

 


ret = RET_NOERROR;
 

 

 

 

 

Após, localize weapons.h e procure por:

 


const Weapon* getWeapon(const Item* item) const;
 

 

 

Embaixo você coloca:

 


            static int32_t getAttackLeft;
    static int32_t getAttackRigth;
    static int32_t getLeftExtraAttack;
    static int32_t getRigthExtraAttack;
 

 

 

 

 

Depois, localize weapons.ccp e procure por:

 


int32_t WeaponMelee::getWeaponDamage(const Player* player, const Creature* target, const Item* item, bool maxDamage /*= false*/) const
{
int32_t attackSkill = player->getWeaponSkill(item);
int32_t attackValue = std::max((int32_t)0, (int32_t(item->getAttack() + item->getExtraAttack()) - elementDamage));
float attackFactor = player->getAttackFactor();
 

 

 

Substitua por:

 


int32_t WeaponMelee::getWeaponDamage(const Player* player, const Creature* target, const Item* item, bool maxDamage /*= false*/) const
{

   int32_t getAttackLeft;
   int32_t getAttackRigth;
   int32_t getLeftExtraAttack;
int32_t getRigthExtraAttack;

   getAttackLeft = 0;
   getAttackRigth = 0;
   getLeftExtraAttack = 0;
getRigthExtraAttack = 0;

   if (getAttackLeft == 0)
   { 
       if (player->getInventoryItem(SLOT_LEFT) != NULL)
       {
       getAttackLeft = player->getInventoryItem(SLOT_LEFT)->getAttack();
       getLeftExtraAttack = player->getInventoryItem(SLOT_LEFT)->getExtraAttack();
       }
       else if (player->getInventoryItem(SLOT_LEFT) == NULL)
       {
       getAttackLeft = 0;
       getLeftExtraAttack = 0;  
       }
   }  

   if (getAttackRigth == 0)
   { 
       if (player->getInventoryItem(SLOT_RIGHT) != NULL)
       {
       getAttackRigth = player->getInventoryItem(SLOT_RIGHT)->getAttack();
       getRigthExtraAttack = player->getInventoryItem(SLOT_RIGHT)->getExtraAttack();
       }
       else if (player->getInventoryItem(SLOT_RIGHT) == NULL)
       {
       getAttackRigth = 0;
       getRigthExtraAttack = 0;  
       }
   }                                                 


   int32_t attackValue = std::max((int32_t)0, (int32_t)((getAttackLeft + getLeftExtraAttack + getAttackRigth + getRigthExtraAttack) - elementDamage));                                               

   int32_t attackSkill = player->getWeaponSkill(item);
   float attackFactor = player->getAttackFactor();
Citar

 

 

Postado

O padrão de dual wielding é exatamente esse. Por exemplo:
Se com 1 arma o player da 1 dano a cada 4 segundos, usando 2 armas dará 1 dano a cada 2 segundos, sendo cada dano respectivo à uma arma.
Para somar o dano das duas armas em um único hit você teria que modificar o código da source e toda a mecânica do dual wield.

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Postado
  • Autor
23 horas atrás, luangop disse:

O padrão de dual wielding é exatamente esse. Por exemplo:
Se com 1 arma o player da 1 dano a cada 4 segundos, usando 2 armas dará 1 dano a cada 2 segundos, sendo cada dano respectivo à uma arma.
Para somar o dano das duas armas em um único hit você teria que modificar o código da source e toda a mecânica do dual wield.

Tendi

Sera q alguem manja de fazer um script pra que nao possa usar 2 armas mesmo com id ( forçando o player usar 2 armas diferente )

Se alguem puder ajudar, fico muito grato !!!!

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo