Modificar esse script

Duuhzinhow
em Scripts

Duuhzinhow

Projeto ViteraOt
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 14/01/14Posts: 276Gênero: MasculinoChar no Tibia: Sonda retro

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.

Wiihtop

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 31/12/10Posts: 136

vou tentar aqui testo e ja te mando..

craigmabbit

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 05/10/12Posts: 245

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

Lordfire

TFS Maintainer
avatar
Lenda
Lenda

INFOS

Grupo: LendaRegistrado: 04/10/06Posts: 2605Gênero: MasculinoChar no Tibia: Knight Orion

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

craigmabbit

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 05/10/12Posts: 245

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

Duuhzinhow

Projeto ViteraOt
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 14/01/14Posts: 276Gênero: MasculinoChar no Tibia: Sonda retro

 

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

DuuhCarvalho

:)
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 19/01/12Posts: 988Gênero: MasculinoChar no Tibia: Xerife Woody


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

 

Demonbholder

avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 13/10/08Posts: 1551Char no Tibia: Demonbholder

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.

Oie :D

DuuhCarvalho

:)
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 19/01/12Posts: 988Gênero: MasculinoChar no Tibia: Xerife Woody

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.

Demonbholder

avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 13/10/08Posts: 1551Char no Tibia: Demonbholder

 

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.

Oie :D

DuuhCarvalho

:)
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 19/01/12Posts: 988Gênero: MasculinoChar no Tibia: Xerife Woody

 

 

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.

Omega

o/
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 17/06/07Posts: 1165Gênero: MasculinoChar no Tibia: Nenhum

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.

Duuhzinhow

Projeto ViteraOt
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 14/01/14Posts: 276Gênero: MasculinoChar no Tibia: Sonda retro

 

 

 

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