Ir para conteúdo

[TFS 1.x] Critical System


Bruno

Posts Recomendados

Não...

Eu quis dizer que com a mesma lib você consegue usar o sistema Dodge também!

Ela serve para ambos.

Sim.. mais e a parte que os MOnstro não hita nada dos players?

Link para o comentário
Compartilhar em outros sites

Sim.. mais e a parte que os MOnstro não hita nada dos players?

Man, isso não é do script...

Vou fazer um video demonstrando o funcionamento do mesmo.

Link para o comentário
Compartilhar em outros sites

Man, isso não é do script...

Vou fazer um video demonstrando o funcionamento do mesmo.

Testei agora, tenho ctz que essa lib faz com que os player não tome dano de monstros nenhum... a lib ou qualquer outra parte do script ta dando zika..

Editado por curruwilliam
Link para o comentário
Compartilhar em outros sites

  • 1 month later...

aqui funcionou normalmente, sem nenhum tipo de erro, só não to conseguindo mudar o efeito. Eu troco por

  creature:getPosition():sendMagicEffect(CONST_ME_HOLYDAMAGE)

e não vai, help?

Link para o comentário
Compartilhar em outros sites

aqui funcionou normalmente, sem nenhum tipo de erro, só não to conseguindo mudar o efeito. Eu troco por

  creature:getPosition():sendMagicEffect(CONST_ME_HOLYDAMAGE)

e não vai, help?

 

creature:getPosition():sendMagicEffect(CONST_ME_HOLYAREA)
Lista de efeitos:

https://github.com/otland/forgottenserver/blob/master/src/const.h#L25-L111

Link para o comentário
Compartilhar em outros sites

troquei lá, porém continua do mesmo jeito ;s

25107.jpg

 

function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin)
	if not isPlayer(attacker) then return false end
	if (attacker:getCriticalLevel() * 3) >= math.random (0, 1000) then
        if isInArray({ORIGIN_MELEE, ORIGIN_RANGED, ORIGIN_SPELL}, origin) and primaryType ~= COMBAT_HEALING then
            primaryDamage = primaryDamage + math.ceil(primaryDamage * CRITICAL.PERCENT)
            attacker:say("CRITICAL!", TALKTYPE_MONSTER_SAY)
            creature:getPosition():sendMagicEffect(CONST_ME_HOLYAREA)
        end
    end
    return primaryDamage, primaryType, secondaryDamage, secondaryType
end
Link para o comentário
Compartilhar em outros sites

function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin)
	if not isPlayer(attacker) then return false end
	if (attacker:getCriticalLevel() * 3) >= math.random (0, 1000) then
        if isInArray({ORIGIN_MELEE, ORIGIN_RANGED, ORIGIN_SPELL}, origin) and primaryType ~= COMBAT_HEALING then
            primaryDamage = primaryDamage + math.ceil(primaryDamage * CRITICAL.PERCENT)
            attacker:say("CRITICAL!", TALKTYPE_MONSTER_SAY)
            creature:getPosition():sendMagicEffect(CONST_ME_HOLYAREA)
        end
    end
    return primaryDamage, primaryType, secondaryDamage, secondaryType
end

 

continua do mesmo jeito que o anterior, não sai o efeito do holy, tentei refazer todo procedimento, tá correto a instalação, não dá erro, porém não funciona :S

Link para o comentário
Compartilhar em outros sites

continua do mesmo jeito que o anterior, não sai o efeito do holy, tentei refazer todo procedimento, tá correto a instalação, não dá erro, porém não funciona :S

Estranho cara, este é o único lugar onde o efeito é configurado.

Link para o comentário
Compartilhar em outros sites

obrigado pela ajuda, deixa pra lá, retirei já. Tava com um bug, o player não tomava nenhum HIT pra monstros, nenhum mesmo.

 

Olha man, eu tive esse bug no começo e já tinha corrigido o erro...

De qualquer forma disponha!

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
  • 5 months later...

Testei em um TFS1.2 mas parece que não funciona, não aparece a mensagem e tudo mais.

Ou será que só não aparece a mensagem mesmo mas da o hit critico, você consegue me ajudar nisso?

 

Grato desde já!

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

aqui tambem da o mesmo problema o sistema de dodge ta funcionando normal porem quando coloco o de critico o player para de tomar dano eu tentei tirar sistema de dodge e continuo mesmo problema o problema so para quando eu tiro o sistema de critico do creaturescript minha tfs é a 1.2 tambem.

 

@

eu alterei essa parte: if not isPlayer(attacker) then return false end

 

function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin)
if not isPlayer(attacker) then return false end
if (attacker:getCriticalLevel() * 3) >= math.random (0, 1000) then
if isInArray({ORIGIN_MELEE, ORIGIN_RANGED, ORIGIN_SPELL}, origin) and primaryType ~= COMBAT_HEALING then
primaryDamage = primaryDamage + math.ceil(primaryDamage * CRITICAL.PERCENT)
attacker:say("CRITICAL!", TALKTYPE_MONSTER_SAY)
creature:getPosition():sendMagicEffect(CONST_ME_EXPLOSIONHIT)
end
end
return primaryDamage, primaryType, secondaryDamage, secondaryType
end

 

para essa: if isPlayer(attacker) then

ficando assim

 

function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin)

if isPlayer(attacker) then
if (attacker:getCriticalLevel() * 3) >= math.random (0, 1000) then
if isInArray({ORIGIN_MELEE, ORIGIN_RANGED, ORIGIN_SPELL}, origin) and primaryType ~= COMBAT_HEALING then
primaryDamage = primaryDamage + math.ceil(primaryDamage * CRITICAL.PERCENT)
attacker:say("CRITICAL!", TALKTYPE_MONSTER_SAY)
creature:getPosition():sendMagicEffect(CONST_ME_EXPLOSIONHIT)
end
end
end
return primaryDamage, primaryType, secondaryDamage, secondaryType
end

porem o critico funciona somente em player.
Editado por Radamanthy
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...