Ir para conteúdo

Featured Replies

Postado

Galera estou com um problema, eu estou com uma script que ela da x porcento de dano ao pisar em cima do piso, gostaria de saber como faço esse dano ficar aleatorio

Por exemplo

Gostaria que eu conseguisse colocar os dano nas pessoas

Por exemplo:

Pisou e tirou 50% de vida, pisou e tirou 60%, pisou e tirou 20% 

No caso acho que seria o math.random mais infelizmente não consegui.

Aqui esta o script que estou usando

function onStepIn(cid, item, position, fromPosition)
local percent = 30
if not isPlayer(cid) then 
return true
end
local hp = (percent*getCreatureMaxHealth(cid)
doSendMagicEffect(getThingPos(cid),6)
doSendAnimatedText(getCreaturePosition(cid), "- "..hp, TEXTCOLOR_LIGHTBLUE)
doCreatureAddHealth(cid, -hp)
return true
end

 

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

Resolvido por Storm

Ir para solução
  • 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
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((math.random(percent.min, percent.max) * 0.01) * getCreatureMaxHealth(cid))

  doSendMagicEffect(getThingPos(cid), 6)
  doSendAnimatedText(getThingPos(cid), '- ' .. damage, TEXTCOLOR_LIGHTBLUE)
  doCreatureAddHealth(cid, - damage)

  return true
end

 

Postado
  • Autor
8 horas atrás, Lyu disse:

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((math.random(percent.min, percent.max) * 0.01) * getCreatureMaxHealth(cid))

  doSendMagicEffect(getThingPos(cid), 6)
  doSendAnimatedText(getThingPos(cid), '- ' .. damage, TEXTCOLOR_LIGHTBLUE)
  doCreatureAddHealth(cid, - damage)

  return true
end

 

 

Muito bom, mais eu queria que eu colocasse os dano, e não fosse entre 10% a 60%

por exemplo

Eu gostaria que ele tomasse apenas 10% ou 20% então ele tomaria só um desses dois dano e não um dano entre 10% a 20%
Teria como?
Mas mesmo assim ja dei rep+

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

Postado

@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 quantas quiser.
    -- A script basicamente sorteia um valor dessa tabela e retorna em DANO ao player
    [1] = 50000,
    [2] = 60000,
    [3] = 70000
    
}

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

 

Postado
  • Autor
6 minutos atrás, Sttorm disse:

@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 quantas quiser.
    -- A script basicamente sorteia um valor dessa tabela e retorna em DANO ao player
    [1] = 50000,
    [2] = 60000,
    [3] = 70000
    
}

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

 

 

Quase perfeito, mas a vida não esta em %, assim alguns seria prejudicado por ter menas vida.
Teria como por em porcento? 

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

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