Ir para conteúdo

Onpreparedeath


luishgazarolla

Posts Recomendados

Ola Bom Dia !

 

Estou tentando arrrumar ja faz uma semana mas nada de conseguir.

 

Tenho um script de arena PVP em meu OT mas ele esta dando um erro, pois quando o player morre na arena ele é teleportado para o templo com zero de vida(HP) meu OT é TFS 0.3.6 eu testei em 0.3.5 e funcionou, mas eu queria que desce certo em 0.306 pois estou querendo colocar em protocolo 8.54.

 

Logo abaixo o script q estou usando.

 

local arena = {

frompos = {x=12, y=17, z=7}, -- Top Left Corner

topos = {x=22, y=27, z=7}, -- Bottom Right Corner

exit = {x=12, y=27, z=7} -- Exit

}

 

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)

if isPlayer(cid) == TRUE then

if isInArea(getPlayerPosition(cid), arena.frompos, arena.topos) then

if doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid), TRUE) == TRUE then

if doTeleportThing(cid, arena.exit) == TRUE then

doSendMagicEffect(arena.exit, 10)

return FALSE

end

end

end

end

return TRUE

end

 

se alguem souber responder ficarei muito grato

 

Desde ja obrigado.

Link para o comentário
Compartilhar em outros sites

local arena = {
frompos = {x=12, y=17, z=7}, -- Top Left Corner
topos = {x=22, y=27, z=7}, -- Bottom Right Corner
exit = {x=12, y=27, z=7} -- Exit
} 

function isInArea(position, from, to)
local x= position.x
local y= position.y
local z= position.z

if x >= from.x and x <= to.x then
if y >= from.y and y <= to.y then
if z >= from.z and z <= to.z then
return TRUE
end
end
end
return FALSE
end

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
if isPlayer(cid) then
if isInArea(getPlayerPosition(cid), arena.frompos, arena.topos) then
if doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid)) then
if doTeleportThing(cid, arena.exit) then
doSendMagicEffect(arena.exit, 10)
return FALSE
end
end
end
end
return TRUE
end 

Link para o comentário
Compartilhar em outros sites

local arena = {
frompos = {x=12, y=17, z=7}, -- Top Left Corner
topos = {x=22, y=27, z=7}, -- Bottom Right Corner
exit = {x=12, y=27, z=7} -- Exit
}

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
if isPlayer(cid) == TRUE then
if isInArea(getPlayerPosition(cid), arena.frompos, arena.topos) then
doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
doTeleportThing(cid, arena.exit)
doSendMagicEffect(arena.exit, 10)
return FALSE
end
end
return TRUE
end

 

testa assim =D

Link para o comentário
Compartilhar em outros sites

Bom vou tentar explicar um pouco melhor para que vcs entendam.

 

Estou fazendo uma pvp arena no meu ot, pra falar a verdade só falta ela pq o ot ja ta pronto.

Só que esse script que eu estou usando funciona em TFS 0.3.5 mas em TFS 0.3.6 parece que a function

onPreparedeath esta bugada, sendo assim que quando o player morre na arena e ele é teleportado

para o ponto exit sua vida fica zerada e fica dando o efeito de teleporting (doSendMagicEffect(arena.exit, 10)

eu gostaria de saber se tem como usar outra funtion sem ser essa onPreparedath, eu li alguns topicos

e me parece que con a function onStatsChange da para fazer algo do tipo mas n sei nem por onde começar

 

abaixo uma SS do player depois q morre na arena.

 

imagemop.jpg

 

novamente obrigado pela ajuda.

 

ajuda eu ai galerinha.

 

Por favor.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...