Ir para conteúdo
  • 0

Modificar esse script


Duuhzinhow

Pergunta

Galera, eu estou aqui com um script que criei.. mas queria que alguem modifique-o para mim :

 

function onCastSpell(cid, var)

local playerpos = getPlayerPosition(cid)
local pos = getPlayerPosition(getCreatureTarget(cid))
local effectmort = 254 --- Id do efeito que vai ser na target
local effect = 134 ---Id do efeito da morte
local health = getCreatureHealth(getCreatureTarget(cid))
if getCreatureTarget(cid) < 1 then
return 0
end
local position = {x=pos.x, y=pos.y-1, z=pos.z}
doSendMagicEffect(playerpos, effectmort)
doSendMagicEffect(position, effect)
doCreatureAddHealth(getCreatureTarget(cid), -health+5000)
doCreatureAddHealth(cid, -getCreatureHealth(cid)+5000)
return true
end

O que ele faz? Ao usalo no target, a sua life e a life do target irao cair para a life configurada no script...
O que eu quero que faça? Que a life configurada no script, seja uma porcentagem (%) E nao um numero exato.
Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

ae mano, testa

 

 

 

function onCastSpell(cid, var)

local playerpos = getPlayerPosition(cid)
local pos = getPlayerPosition(getCreatureTarget(cid))
local effectmort = 254 --- Id do efeito que vai ser na target
local effect = 134 ---Id do efeito da morte
local health = 50 -- % de health que vai tirar
local healthPercent = getCreatureMaxHealth(cid) * (health / 100) -- nao meche
if getCreatureTarget(cid) < 1 then
return 0
end
local position = {x=pos.x, y=pos.y-1, z=pos.z}
doSendMagicEffect(playerpos, effectmort)
doSendMagicEffect(position, effect)
doCreatureAddHealth(getCreatureTarget(cid), -healthPercent)
doCreatureAddHealth(cid, -healthPercent)
return true
end
Editado por craigmabbit
Link para o comentário
Compartilhar em outros sites

  • 0

Talvez algo assim

 

 

local effect = {
    [cid] = 134, ---Id do efeito da morte
    [target]= 254, --- Id do efeito que vai ser na target
}

function onCastSpell(cid, var)
    local target = getCreatureTarget(cid)    
        
    if isPlayer(target) then
        local player_pos, target_pos = getPlayerPosition(cid), getPlayerPosition(target)
    
        doSendMagicEffect(player_pos, effect.cid)
        doSendMagicEffect({x=target_pos.x, y=target_pos.y - 1, z=target_pos.z}, effect.target)
        
        doCreatureAddHealth(cid, -getCreatureHealth(cid) + 5000)
        doCreatureAddHealth(target, -getCreatureHealth(target) + 5000)
        return true
    end
    doPlayerSendCancel(cid, "It is impossible.")
    return false    
end
Link para o comentário
Compartilhar em outros sites

  • 0

 

ae mano, testa

 

 

 

function onCastSpell(cid, var)

local playerpos = getPlayerPosition(cid)
local pos = getPlayerPosition(getCreatureTarget(cid))
local effectmort = 254 --- Id do efeito que vai ser na target
local effect = 134 ---Id do efeito da morte
local health = 50 -- % de health que vai tirar
local healthPercent = getCreatureMaxHealth(cid) * (health / 100) -- nao meche
if getCreatureTarget(cid) < 1 then
return 0
end
local position = {x=pos.x, y=pos.y-1, z=pos.z}
doSendMagicEffect(playerpos, effectmort)
doSendMagicEffect(position, effect)
doCreatureAddHealth(getCreatureTarget(cid), -healthPercent)
doCreatureAddHealth(cid, -healthPercent)
return true
end

 

Amigo quase deu certo, pelo q entendi aqui, esse que voce passou, esta tirando a porcentagem da life, de quem utilizou a spell, e dano essa life removida no target, porém nao é isso. Eu quero que o target e o caster fikem apenas com 30% da life após a spell

Link para o comentário
Compartilhar em outros sites

  • 0


function onCastSpell(cid, var)

local playerpos = getPlayerPosition(cid)

local pos = getPlayerPosition(getCreatureTarget(cid))

local effectmort = 254 --- Id do efeito que vai ser na target

local effect = 134 ---Id do efeito da morte

 

 

local healthCid, healthTarget = getCreatureMaxHealth(cid), getCreatureMaxHealth(getCreatureTarget(cid))

local removeCid, removeTarget = healthCid * 30 / 100, healthTarget * 30 / 100

 

 

if getCreatureTarget(cid) < 1 then

return 0

end

 

 

local position = {x=pos.x, y=pos.y-1, z=pos.z}

doSendMagicEffect(playerpos, effectmort)

doSendMagicEffect(position, effect)

doCreatureAddHealth(getCreatureTarget(cid), -removeTarget)

doCreatureAddHealth(cid, -removeCid)

 

 

return true

end

 

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

  • 0

Você quer que os players fiquem com 30% da vida máxima após o uso da spell, certo? Mas e se eles estiverem com menos de 30% da vida quando utilizarem a spell? Ou você quer que fiquem com 30% da vida atual?

 

Se for 30% da vida atual, a conta é

doCreatureAddHealth(getCreatureTarget(cid), - getCreatureHealth(getCreatureTarget(cid))*0.7)
doCreatureAddHealth(cid, - getCreatureHealth(cid)*0.7)

Faz muito tempo que eu não programo esse tipo de coisa, mas testa ai.

Link para o comentário
Compartilhar em outros sites

  • 0

Você quer que os players fiquem com 30% da vida máxima após o uso da spell, certo? Mas e se eles estiverem com menos de 30% da vida quando utilizarem a spell? Ou você quer que fiquem com 30% da vida atual?

 

Se for 30% da vida atual, a conta é

doCreatureAddHealth(getCreatureTarget(cid), - getCreatureHealth(getCreatureTarget(cid))*0.7)
doCreatureAddHealth(cid, - getCreatureHealth(cid)*0.7)

Faz muito tempo que eu não programo esse tipo de coisa, mas testa ai.

 

Creio que de qualquer forma vai remover um porcentagem , se o player tiver menos ele morre.

 

Tópico Movido para Pedidos e dúvidas resolvidos.

Link para o comentário
Compartilhar em outros sites

  • 0

 

Você quer que os players fiquem com 30% da vida máxima após o uso da spell, certo? Mas e se eles estiverem com menos de 30% da vida quando utilizarem a spell? Ou você quer que fiquem com 30% da vida atual?

 

Se for 30% da vida atual, a conta é

doCreatureAddHealth(getCreatureTarget(cid), - getCreatureHealth(getCreatureTarget(cid))*0.7)
doCreatureAddHealth(cid, - getCreatureHealth(cid)*0.7)

Faz muito tempo que eu não programo esse tipo de coisa, mas testa ai.

 

Creio que de qualquer forma vai remover um porcentagem , se o player tiver menos ele morre.

 

Tópico Movido para Pedidos e dúvidas resolvidos.

 

 

Sim... é que ele falou "Eu quero que o target e o caster fikem apenas com 30% da life após a spell", por isso que eu perguntei se era 30% da vida atual.

 

Mas se ele confirmou que é como você fez, tudo bem.

Link para o comentário
Compartilhar em outros sites

  • 0

 

 

Você quer que os players fiquem com 30% da vida máxima após o uso da spell, certo? Mas e se eles estiverem com menos de 30% da vida quando utilizarem a spell? Ou você quer que fiquem com 30% da vida atual?

 

Se for 30% da vida atual, a conta é

doCreatureAddHealth(getCreatureTarget(cid), - getCreatureHealth(getCreatureTarget(cid))*0.7)
doCreatureAddHealth(cid, - getCreatureHealth(cid)*0.7)

Faz muito tempo que eu não programo esse tipo de coisa, mas testa ai.

 

Creio que de qualquer forma vai remover um porcentagem , se o player tiver menos ele morre.

 

Tópico Movido para Pedidos e dúvidas resolvidos.

 

 

Sim... é que ele falou "Eu quero que o target e o caster fikem apenas com 30% da life após a spell", por isso que eu perguntei se era 30% da vida atual.

 

Mas se ele confirmou que é como você fez, tudo bem.

 

 

Verdade 'rsrs , percebi isso agora.

Mas como você falou se ele confirmou , tudo bem

creio que ele falou errado.

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

  • 0

Lordfire , não faz merda cara , ele pediu pra remover a life em porcentagem oque você fez ai foi por os effect em tabela sendo que não precisa disso

 

Cara, ele tentou ajudar, então pra que desrespeitar? Mesmo que ele tenha errado, foi um acidente, certo?

 

Por favor, evite esse tipo de atitude por aqui.

Link para o comentário
Compartilhar em outros sites

  • 0

 

 

 

Você quer que os players fiquem com 30% da vida máxima após o uso da spell, certo? Mas e se eles estiverem com menos de 30% da vida quando utilizarem a spell? Ou você quer que fiquem com 30% da vida atual?

 

Se for 30% da vida atual, a conta é

doCreatureAddHealth(getCreatureTarget(cid), - getCreatureHealth(getCreatureTarget(cid))*0.7)
doCreatureAddHealth(cid, - getCreatureHealth(cid)*0.7)

Faz muito tempo que eu não programo esse tipo de coisa, mas testa ai.

 

Creio que de qualquer forma vai remover um porcentagem , se o player tiver menos ele morre.

 

Tópico Movido para Pedidos e dúvidas resolvidos.

 

 

Sim... é que ele falou "Eu quero que o target e o caster fikem apenas com 30% da life após a spell", por isso que eu perguntei se era 30% da vida atual.

 

Mas se ele confirmou que é como você fez, tudo bem.

 

 

Verdade 'rsrs , percebi isso agora.

Mas como você falou se ele confirmou , tudo bem

creio que ele falou errado.

 

Na verdade eu nao falei errado.. rsrs, eu queria dakele jeito, mas da forma que voce me mandou ficou ótimo tambem! happy.png

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...