Ir para conteúdo
  • Cadastre-se

(Resolvido)Parte de Dodge System


Ir para solução Resolvido por Bruno Minervino,

Posts Recomendados

Oi pessoal, blz?

Alguem poderia me ajudar a converter a parte do creaturescripts do dodge system para tfs 1.1?

 

Ai está:

local lvldodge = 48902
local percent = 0.5


function onStatsChange(cid, attacker, type, combat, value)
    if type == STATSCHANGE_HEALTHLOSS and isCreature(attacker) then
        if (getPlayerStorageValue(cid, lvldodge)*3) >= math.random (0,1000) then
            value = math.ceil(value*(percent))
            doTargetCombatHealth(attacker, cid, combat, -value, -value, 255)
            doSendAnimatedText(getCreaturePos(cid), "DODGE", 6)
            return false
        end
    end
    return true
end

Dou rep+ para quem puder ajudar, obrigado!

Link para o post
Compartilhar em outros sites

Tenta ai:

local lvldodge = 48902
local percent = 0.5

function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin)
    if isCreature(attacker) then
        if (creature:getStorage(lvldodge) * 3) >= math.random (0, 1000) then
            primaryDamage = math.ceil(value * percent)
            doTargetCombatHealth(attacker, cid, combat, -primaryDamage, -primaryDamage, 255)
            creature:say("DODGE", TALKTYPE_MONSTER_SAY)
            return false
        end
    end
    return true
end
Link para o post
Compartilhar em outros sites

@fireelement,

Eu já tinha chegado até essa parte,o problema está nessa linha:

doTargetCombatHealth(attacker, cid, combat, -primaryDamage, -primaryDamage, 255)

Ele não da erro mas buga o client

Editado por fantomdruid (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução

Olha fantomdruid, acho que funcionou:

local lvldodge = 48902
local percent = 0.5

function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin)
	if not isPlayer(creature) then return false end
    if isInArray({ORIGIN_SPELL, ORIGIN_MELEE, ORIGIN_RANGED}, origin) and isCreature(attacker) then
        if (creature:getStorage(lvldodge) * 3) >= math.random (0, 1000) then
            primaryDamage = primaryDamage - math.ceil(primaryDamage * percent)
			secondaryDamage = secondaryDamage - math.ceil(secondaryDamage * percent)
            creature:say("DODGE!", TALKTYPE_MONSTER_SAY)
			creature:getPosition():sendMagicEffect(CONST_ME_BLOCKHIT)
            return primaryDamage, primaryType, secondaryDamage, secondaryType
        end
    end
    return primaryDamage, primaryType, secondaryDamage, secondaryType
end

Atenciosamente,

Bruno Minervino

Link para o post
Compartilhar em outros sites

 

Olha fantomdruid, acho que funcionou:

local lvldodge = 48902
local percent = 0.5

function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin)
	if not isPlayer(creature) then return false end
    if isInArray({ORIGIN_SPELL, ORIGIN_MELEE, ORIGIN_RANGED}, origin) and isCreature(attacker) then
        if (creature:getStorage(lvldodge) * 3) >= math.random (0, 1000) then
            primaryDamage = primaryDamage - math.ceil(primaryDamage * percent)
			secondaryDamage = secondaryDamage - math.ceil(secondaryDamage * percent)
            creature:say("DODGE!", TALKTYPE_MONSTER_SAY)
			creature:getPosition():sendMagicEffect(CONST_ME_BLOCKHIT)
            return primaryDamage, primaryType, secondaryDamage, secondaryType
        end
    end
    return primaryDamage, primaryType, secondaryDamage, secondaryType
end

Vlw cara!!!!!! Funcionou perfeitamente *____*

Link para o post
Compartilhar em outros sites
  • 1 year later...

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo