SN
pedido

Script De Força

Por Snowsz, 06 de jan. de 2013 em Scripts

script
20
2.7k
SnowszS
06 de janeiro de 2013 às 19:50

Bom eu queria pedir um script desse modo, o player tem o first skill né ?, então, eu quero por para ser impossivel upar o first skill, mas a cada 1 de first skill que o player consseguir ele ficara com +20 de hit, tipo, para aumentar o first skill eu quero um item, quando der use ele ganha +1 de first skill!

OneshotO
08 de janeiro de 2013 às 13:10

Isso só é possível através das sources de um servidor, editando as fórmulas de dano.

SnowszS
08 de janeiro de 2013 às 13:49

não esgistiria um modo como, tipow,o player da um hit, se estiver com a storage, ele da um hit ja do sistema, tipo do script ?

SmiXS
08 de janeiro de 2013 às 13:51

O one, e aquela formula de trocar o skill do player:

doPlayerAddSkill(cid, skill, amount, round)

Não funciona?

@Snowsz

Tem um modo de fazer isso, mais o jogador será deslogado, pode ser deste jeito?

SnowszS
08 de janeiro de 2013 às 13:54

Smix como assim ? deslogado '-'

como funcionaria esse modo ?

 

 

 

@EDIT

queria fazer uma pequena alteraçãozinha, queria que a cada skill first, ele ganhace +5 de hp, e +5 de mana, mas claro sempre adicionando esse dano que eu pedi '-'

Editado Janeiro 8 por Snowsz

SlicerS
08 de janeiro de 2013 às 14:04

doPlayerAddSkill(cid, 0, 1)

isso faz aumentar 1 de fist...

SnowszS
08 de janeiro de 2013 às 14:08

Obrigado, slicer vlw ^^, agora so aguardo alguem poder fazer esse script para mim :(, eu sou scripter iniciante, '-', com ajuda de amigos melhorei um pouco, mas ainda não o suficiente para um script desse nivel.

OneshotO
08 de janeiro de 2013 às 14:39

Eu até pensei no creaturescript onStatsChange, mas é totalmente inviável, pois você precisaria registrar em todos os monstros do servidor.

 

Ou seja, só editando as fórmulas de dano.

 

Abraços.

SnowszS
08 de janeiro de 2013 às 14:53

nesse caso eu tenho as sources 0.3.6 TFS '-'

 

 

 

@EDIT

 

so falta achalas no pc kkkk!

Editado Janeiro 8 por Snowsz

OneshotO
08 de janeiro de 2013 às 16:41

Cara, é bastante simples.

 

Só procurar pelas funções que geram o dano da arma e adicionar um bônus pelo nível de Fist Fighting do jogador, por exemplo:

 

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();

double maxValue = Weapons::getMaxWeaponDamage(player->getLevel(), attackSkill, attackValue, attackFactor);
if(random_range(1, 100) <= g_config.getNumber(ConfigManager::CRITICAL_HIT_CHANCE))
{
	maxValue = std::pow(maxValue, g_config.getDouble(ConfigManager::CRITICAL_HIT_MUL));
	player->sendCritical();
}

Vocation* vocation = player->getVocation();
if(vocation && vocation->getMultiplier(MULTIPLIER_MELEE) != 1.0)
	maxValue *= vocation->getMultiplier(MULTIPLIER_MELEE);

int32_t ret = (int32_t)std::floor(maxValue);
if(maxDamage)
	return -ret;

return -random_range(0, ret, DISTRO_NORMAL);
}

 

Essa função acima é responsável por definir o dano aleatório das armas corpo-a-corpo, basta então adicionar um cálculo extra no retorno da função:

 

return -(ret + player->getSkill(SKILL_FIST, SKILL_LEVEL) * 20);

 

return -(random_range(0, ret, DISTRO_NORMAL) + player->getSkill(SKILL_FIST, SKILL_LEVEL) * 20;

 

No caso acima, adicionaria 20 (vinte) a mais de dano por nível da skill Fist Fighting na função de dano corpo-a-corpo.

Editado Janeiro 9 por Oneshot

SnowszS
09 de janeiro de 2013 às 14:10

Como eu instalo ? '-'

 

@UP

Como eu instalo esse cod??

OneshotO
09 de janeiro de 2013 às 14:23

Você tem que editar o weapon.cpp com um IDE de sua preferência, como o Dev-Cpp ou Code::Blocks.

SnowszS
10 de janeiro de 2013 às 22:52

Eu tenho dev-cpp, mas poderia me dizer oque subistituir e pelo oque ?!

 

@UP

 

 

POR FAVOR! me ajudem!

eduardosm14E
10 de janeiro de 2013 às 23:18

snows, isso vc modifica nas src, do seu tfs, se vc n tiver exixte vários src 0.3.6 e 0.4 aqui no fórum....basta procurar e fazer o q o Oneshot falo..abre a src com o dev e procura weapons.cpp, dps de edita, aperta ctrl+f9 se ajudei rep ++

SnowszS
10 de janeiro de 2013 às 23:22

-.- n entendi nada, so quero saber como instalar iss oq vc falo ja sei '-!