Eu tentei mudar para sword , mais só funciono no meu GOD . e tipo , nenhum outros GODS nem players funcionaram .
- Fórum
- OTServ
- Recursos
- Linguagens de Programação
- Fist Fighting/Attackspeed
info
Grupo: Visconde
Registrado: 21/09/10
Posts: 319
Reputação: +27
Char no Tibia: lest sarif

Leve seu computador, dedicado, servidor e etcétera, para se benzer.
Abraços.
info
Grupo: Visconde
Registrado: 21/09/10
Posts: 319
Reputação: +27
Char no Tibia: lest sarif

kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk....
Xorei véi . mais ai, ele da uns warnings . é normal?
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk....
Xorei véi . mais ai, ele da uns warnings . é normal?
Cara, na boa, está totalmente funcional sem nenhum bug. É uma modificação ridícula que não acarreta nenhuma mudança drástica no servidor.
Se não está funcionando aí, o problema é aí, não com meu código.
Abraços.
info
Grupo: Visconde
Registrado: 21/09/10
Posts: 319
Reputação: +27
Char no Tibia: lest sarif

Oh , mais tipo . ele da uns warnings antes de compilar. isso é normal?

Editado Janeiro 10 por tonynamoral
Completamente infuncional o codigo no 0.3.6pl1 tfs 8.54.
Completamente infuncional o codigo no 0.3.6pl1 tfs 8.54.
Desculpe minha grosseria, mas infelizmente só aí no seu servidor problemático. Testei aqui.
Grande abraço.
Editado Janeiro 11 por Oneshot
Sempre da warning e umas coisinhas, mas conssegui resolver mudando parte do codigo.
Sempre da warning e umas coisinhas, mas conssegui resolver mudando parte do codigo.
Certo, depois poste a sua resolução aqui.
Abraços.
Editado Janeiro 12 por Oneshot
info
Grupo: Infante
Registrado: 27/07/09
Posts: 1.5k
Reputação: +405
Char no Tibia: Gean Riot

cara você podia parar de ser antipático neh cara, parece que ta mal comido na moralzinha mesmo, relaxa ae.
testei esse code aqui e funcionou perfeitamente btw.
info
Grupo: Campones
Registrado: 13/12/12
Posts: 48
Reputação: +4
Char no Tibia: nao jogo mais

Nome: Fist Fighting/Attackspeed
Tipo: C++
Autor: Oneshot
Já vi alguns pedidos no fórum sobre a skill Fist Fighting, onde quanto mais você treinasse ela, mais rápido você atacaria no jogo, e parece que isto é um feature do Tibia. Como é uma modificação muito fácil nas sources, resolvi passar aí para a galera.
Por padrão, o intervalo entre ataques do Tibia é 2000ms, ou seja, um ataque físico a cada dois segundos. Eu fiz uma pequena modificação nas sources onde o Fist Fighting seria inversamente proporcional ao tal intervalo, ou seja, quanto maior o valor da skill, menor seria o intervalo.
Fiz de um modo que um jogador com Fist Fighting de nível 200, então, teria uma redução de 75% no intervalo de ataque, ou seja, um ataque a cada meio segundo ou dois ataques por segundo
Leve em consideração que ele pega como base o attackspeed da vocação ou da arma usada, ou seja, se seu servidor já tem o tal chamado "fast attack", de nada adianta adicionar esse código C++.
Abra seu player.cpp, procure por isso:
Player::getAttackSpeed()
Substitua toda a função, dependendo da versão de seu servidor:
0.3.6
uint32_t Player::getAttackSpeed() { Item* weapon = getWeapon(); if(weapon && weapon->getAttackSpeed() != 0) return std::ceil(weapon->getAttackSpeed() * (1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375))); return std::ceil(vocation->getAttackSpeed() * (1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375))); }
0.4
uint32_t Player::getAttackSpeed() const { return std::ceil(((weapon && weapon->getAttackSpeed() != 0) ? weapon->getAttackSpeed() * (1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375)) : (vocation->getAttackSpeed() / std::max((size_t)1, getWeapons().size()) * (1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375))))); }
Isso adiciona uma utilidade para a skill Fist Fighting que em muitos dos servidores é algo deixado de lado e inútil.
Abraços.
Desculpe está revivendo o tópico, enfim para deixar que um player com fist 90 ganhe 50% de attack com faço? meixo aqui
(1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375)))));
Funcionou aqui nas últimas revs também (rev5914), rep+ (:
@rogeriok
Mude o 0.00375 para 0.0055
Editado Janeiro 17 por Oneshot









info
Grupo: Marquês
Registrado: 05/07/09
Posts: 1.3k
Reputação: +732
Nome: Fist Fighting/Attackspeed
Tipo: C++
Autor: Oneshot
Já vi alguns pedidos no fórum sobre a skill Fist Fighting, onde quanto mais você treinasse ela, mais rápido você atacaria no jogo, e parece que isto é um feature do Tibia. Como é uma modificação muito fácil nas sources, resolvi passar aí para a galera.
Por padrão, o intervalo entre ataques do Tibia é 2000ms, ou seja, um ataque físico a cada dois segundos. Eu fiz uma pequena modificação nas sources onde o Fist Fighting seria inversamente proporcional ao tal intervalo, ou seja, quanto maior o valor da skill, menor seria o intervalo.
Fiz de um modo que um jogador com Fist Fighting de nível 200, então, teria uma redução de 75% no intervalo de ataque, ou seja, um ataque a cada meio segundo ou dois ataques por segundo
Leve em consideração que ele pega como base o attackspeed da vocação ou da arma usada, ou seja, se seu servidor já tem o tal chamado "fast attack", de nada adianta adicionar esse código C++.
Abra seu player.cpp, procure por isso:
Substitua toda a função, dependendo da versão de seu servidor:
0.3.6
uint32_t Player::getAttackSpeed() { Item* weapon = getWeapon(); if(weapon && weapon->getAttackSpeed() != 0) return std::ceil(weapon->getAttackSpeed() * (1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375))); return std::ceil(vocation->getAttackSpeed() * (1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375))); }0.4
uint32_t Player::getAttackSpeed() const { return std::ceil(((weapon && weapon->getAttackSpeed() != 0) ? weapon->getAttackSpeed() * (1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375)) : (vocation->getAttackSpeed() / std::max((size_t)1, getWeapons().size()) * (1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375))))); }Isso adiciona uma utilidade para a skill Fist Fighting que em muitos dos servidores é algo deixado de lado e inútil.
Abraços.
Editado Janeiro 10 por Oneshot