JA

[critical Hit] 100% Code 7.9 And 7.92

Por Jackson Zani, 25 de fev. de 2007 em Linguagens de Programação

32
7.7k
25 de fevereiro de 2007 às 14:33

Comments please :)

bom!

Para quem não sabe oque é critical, é um code para você dar hits maior que o normal ( somente quando você da critical ), a chance você poderá mudar no config.lua, quanto maior o seu skills, menor será seu damage de critical :).

 

Funcionou 100% em todas as versões 7.9+ do evolution ( não testei em outra versão ainda )

 

em weapons.cpp procure por:

		int32_t maxDamage = Weapons::getMaxWeaponDamage(attackSkill, attackValue);

 

em baixo adicione:

#ifdef __CRITICAL_HIT__
if(random_range(0,100) < g_config.getNumber(ConfigManager::CRITICAL_HIT)){
if(attackSkill > 60){
maxDamage *= 2;
}
else if(attackSkill > 30){
maxDamage *= 3;
}
else {
maxDamage *= 4;
}
 g_game.addAnimatedText(player->getPosition(), 906, "Critical!");
}
#endif

 

procure por:

int32_t maxDamage = Weapons::getMaxWeaponDamage(attackSkill, attackValue);

 

em baixo adicione:

#ifdef __CRITICAL_HIT__
if(random_range(0,100) < g_config.getNumber(ConfigManager::CRITICAL_HIT)){
if(attackSkill > 60){
maxDamage *= 2;
}
else if(attackSkill > 30){
maxDamage *= 3;
}
else {
maxDamage *= 4;
}
 g_game.addAnimatedText(player->getPosition(), 906, "Critical!");
}
#endif

 

procure por:

	int32_t maxDamage = Weapons::getMaxWeaponDamage(attackSkill, ammuAttackValue);

 

em baixo adicione:

#ifdef __CRITICAL_HIT__
if(random_range(0,100) < g_config.getNumber(ConfigManager::CRITICAL_HIT)){
if(attackSkill > 60){
maxDamage *= 2;
}
else if(attackSkill > 30){
maxDamage *= 3;
}
else {
maxDamage *= 4;
}
 g_game.addAnimatedText(player->getPosition(), 906, "Critical!");
}
#endif

Em CONFIGMANAGER.CPP adicione

 

#ifdef __CRITICAL_HIT__
m_confInteger[CRITICAL_HIT] = getGlobalNumber(L, "criticalhit", 10);
#endif

 

Em CONFIGMANAGER.H adicione

 

#ifdef __CRITICAL_HIT__
CRITICAL_HIT,
#endif

 

No config.lua Adicione

-- chance to make a critical hit (10 = 10%)
criticalhit = 10

 

 

Em parâmetros, nas opções do projeto, adicione em Compilador C++: -D__CRITICAL_HIT__

 

Pronto, agora dê rebuild all

Esse comando faiz os paladins e os knights darem critico o damage eh você que ajusta

 

Créditos: Jackson Zani, Lews

Editado Fevereiro 27 por Jackson Zani

erpenE
25 de fevereiro de 2007 às 14:41

Legal mas vc disse que quanto maior os skils menor o dano..nao seria ao contrario??pq se for assim um kina 10/10 que de critikal vai ser mtu maior o dano do que um 90/90..

 

ai fika sux :S

25 de fevereiro de 2007 às 14:45

tipo eu falei certo erpen, eu acho mais justo

porque tipo quando chega a um certo skills tipo maior que 60 o cara lvl alto vai ter damage *2, mesmo asim ele vai ter o hit muito alto.. abraços!

erpenE
25 de fevereiro de 2007 às 14:50

Ata agora eu entendi.Tpw.Se os skils forem maior que 60 multiplika o dano maximo da arma com skills por 2x,se for maior que 30 e menor que 60 vai multiplika por 3x

e se for menor que 30 multiplika por 4x..

Ai vale apena porque um skills 100/100 pod tira 200+ com certas armas.mas um skils 10/10 tira no max 40..

 

intao 40x4=160

........200x2=400

Ai td bem kra..agora sim eu percebi^^Mtu bom esse sistema parabens

25 de fevereiro de 2007 às 14:51

hehehe isso mesmo erpen,

demorei pra fazer esse code mais consegui! hahaha

brigadão ai

abraços!

suborasS
25 de fevereiro de 2007 às 17:00

@Jack~

 

Tpw cara esse code eh mt rox.. mas tpw eu fiz td certinho aki e naum funfou.. =/

 

PS: Nao tem q add nada no item.xml nao ?

 

//Suboras

25 de fevereiro de 2007 às 17:05

ops tinha errado de tópico sorry,

suboras não precisa nada de itens nao hehehe

só não pode esquecer de escrever no paraments :}

Editado Fevereiro 25 por Jackson Zani

NostradamusN
25 de fevereiro de 2007 às 17:15

Porque não usa cases em vez desses tantos de ifs? Seu código aparentaria melhor.

Além disso, seria melhor por mais valores, porque o random_range é "pesado" e se você não define muitos valores, ele pesa mais.

suborasS
25 de fevereiro de 2007 às 17:17

Opa vlw.. ;)

Aguardo aki inton... xD

 

e no beds.xml é asim

ex:

<bed sleeper="Nobody" sleepstart="0" x="1076" y="1021" z="5"/>

<bed sleeper="Nobody" sleepstart="0" x="1077" y="1022" z="5"/>

 

Hum, no seu bed.xml, ta assim:

<?xml version="1.0"?>

<beds>

<bed id="1754" sleepstart="0" x="454" y="510" z="6" sleeper=""/>

</beds>

 

Inton teria de ser assim????

<?xml version="1.0"?>

<beds>

<bed id="1754" bed sleeper="Nobody" sleepstart="0" x="454" y="510" z="6"/>

</beds>

 

 

PS: Sei q o topic da bed eh ñ tem nada aki, mais ja aproveitando... x~]

 

//Suboras

25 de fevereiro de 2007 às 17:33

não dexa como está na pasta normal suboras

e tu posto no topico errado mais nao da nada hehehe, Não mexe na pasta não liga pra oque eu falei :)

 

@nostradamus:

 

eu gosto dele asim, não aparenta errors :D

mas sua ídeia é muito boa hehehe :)

 

vlw :)

 

abraços!

NostradamusN
25 de fevereiro de 2007 às 19:19

@Jackson Zani

Como RicarDog disse um dia: "Existe o código bom e o que apenas funciona, temos saber sempre como fazer para lidá-los"

E com mais valores, deixaria o servidor menos pesado.

25 de fevereiro de 2007 às 19:23

ótima dica o.O

obrigado nostradamus :]

 

abraços

Conde do Monte CristoC
26 de fevereiro de 2007 às 16:38

Wow! ótimo code em Jack! meus parabens! adorei!

27 de fevereiro de 2007 às 14:21

Brigado novamente conde!

Você sabe aprecisar codes bons!

Hehehe esse concerteza é um ótimo code,

 

Abraços!

JvchequerJ
28 de fevereiro de 2007 às 17:17

Jackson Zani Alertado Verbalmente.

 

Atenciosamente, JV