Ir para conteúdo

Featured Replies

Postado

@Gnius Tenta assim então

local danos = {10, 20, 30} -- em %

function onStepIn(cid, item, position, fromPosition)
    if not isPlayer(cid) then 
        return true
    end
    
    local dmg = danos[math.random(1, #danos)]
    local damage = math.ceil((dmg * 0.01) * getCreatureMaxHealth(cid))
    
    doSendMagicEffect(getThingPos(cid), 6)
    doSendAnimatedText(getThingPos(cid), '- ' .. damage, TEXTCOLOR_LIGHTBLUE)
    doCreatureAddHealth(cid, - damage)
    return true
end

 

  • Respostas 9
  • Visualizações 1.4k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @Gnius  local danos = { {10, 3}, {20, 6}, {30, 5}} -- {Porcentagem, effect} function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end

  • local percent = {min = 10, max = 60} -- entre 10% a 60% de dano. function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end local damage = math.ceil((m

  • @Gnius Não deu pra entender muito bem, então fiz desse jeito aqui local danos = { -- Configure aqui -- Deverá ser sempre uma sequencia com virgula na penultima, podendo ser adicionada qua

Postado
  • Autor

 

22 minutos atrás, Sttorm disse:

@Gnius Tenta assim então


local danos = {10, 20, 30} -- em %

function onStepIn(cid, item, position, fromPosition)
    if not isPlayer(cid) then 
        return true
    end
    
    local dmg = danos[math.random(1, #danos)]
    local damage = math.ceil((dmg * 0.01) * getCreatureMaxHealth(cid))
    
    doSendMagicEffect(getThingPos(cid), 6)
    doSendAnimatedText(getThingPos(cid), '- ' .. damage, TEXTCOLOR_LIGHTBLUE)
    doCreatureAddHealth(cid, - damage)
    return true
end

 

 

Agora sim esta perfeito, obrigado <3
Mais sem querer ser chato, teria como por pra aparecer x efeito a cada % usado?
Por exemplo:

Ele tirou 20% ira aparecer x effect

Ele tirou 10% ira aparecer x effect

Cada effect para cada porcento

Editado por Gnius (veja o histórico de edições)

Postado

Tenta assim bródi

 

Instruções em vermelho:

-- {Fator de Porcentagem, efeito} conforme o cód sugerido pelo Sttorm, bem otimizado por ele :D
local danos = { {0.1, 3}, {0.2, 6}, {0.3, 5}} 

function onStepIn(cid, item, position, fromPosition)
    if not isPlayer(cid) then 
        return true
    end
    
    local dmg = danos[math.random(1, #danos)]
    local damage = dmg[1] * getCreatureMaxHealth(cid) -- Calculo otimizado com apenas 1 multiplicação, otimizado por mim :D
    
    doSendMagicEffect(getThingPos(cid), dmg[2])
    doSendAnimatedText(getThingPos(cid), '- ' .. damage, TEXTCOLOR_LIGHTBLUE)
    doCreatureAddHealth(cid, - damage)
    return true
end

 

Editado por dirso
otimização do cálculo de dano e fator % (veja o histórico de edições)

Postado
  • Solução

@Gnius 

local danos = { {10, 3}, {20, 6}, {30, 5}} -- {Porcentagem, effect} 

function onStepIn(cid, item, position, fromPosition)
    if not isPlayer(cid) then 
        return true
    end
    
    local dmg = danos[math.random(1, #danos)]
    local damage = math.ceil((tonumber(dmg[1])* 0.01) * getCreatureMaxHealth(cid))
    
    doSendMagicEffect(getThingPos(cid), dmg[2])
    doSendAnimatedText(getThingPos(cid), '- ' .. damage, TEXTCOLOR_LIGHTBLUE)
    doCreatureAddHealth(cid, - damage)
    return true
end

 

Postado
  • Autor
1 hora atrás, Sttorm disse:

@Gnius 


local danos = { {10, 3}, {20, 6}, {30, 5}} -- {Porcentagem, effect} 

function onStepIn(cid, item, position, fromPosition)
    if not isPlayer(cid) then 
        return true
    end
    
    local dmg = danos[math.random(1, #danos)]
    local damage = math.ceil((tonumber(dmg[1])* 0.01) * getCreatureMaxHealth(cid))
    
    doSendMagicEffect(getThingPos(cid), dmg[2])
    doSendAnimatedText(getThingPos(cid), '- ' .. damage, TEXTCOLOR_LIGHTBLUE)
    doCreatureAddHealth(cid, - damage)
    return true
end

 

 

Funcionou perfeitamente, obrigado <3

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo