Ir para conteúdo

Piso Sagrado


Moonshadow

Posts Recomendados

t6arL.png

 

Olá, sou novo aqui, não sei se estou postando certo ou se a formatação está boa.

Enfim, vamos ao script.

 

Nome: Piso Sagrado

Função: Heala o hp do player por completo quando está sobre o piso "X" em dois segundos.

 

- pisoSagrado.lua

 

function onStepIn(cid, item, pos)
if isPlayer(cid) == TRUE then
  heal = addEvent(doHeal, 1000, cid)
end
 return true
end
function onStepOut(cid, item, pos)
 stopEvent(doHeal)
 return true
end
function doHeal(cid)
local valorDoHeal = (getCreatureHealth(cid) - getCreatureMaxHealth(cid))
if valorDoHeal%2 > 0 then
valorDoHeal = ((getCreatureHealth(cid)+1) - getCreatureMaxHealth(cid))
else
valorDoHeal = valorDoHeal/2
end
if getCreatureHealth(cid) < getCreatureMaxHealth(cid) then
	  doCreatureAddHealth(cid, valorDoHeal)
	  doSendMagicEffect(getCreaturePosition(cid), 14)
	  doPlayerSendCancel(cid, "Healado!")
else
  doPlayerSendCancel(cid, "Sua vida já está completa.")
  doSendMagicEffect(getCreaturePosition(cid), 3)
end
 heala = addEvent(doHeal, 1000, cid)
end

 

 

- No movements.xml coloque:

 


<!-- Piso Sagrado -->
<movevent event="StepIn" itemid="ID DO PISO" script="pisoSagrado.lua"/>
<movevent event="StepOut" itemid="ID DO PISO" script="pisoSagrado.lua"/> 

 

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

Show de bola amigo!

Não ficou nada mal, obrigado por compartilhar o código no xtibia!

 

Estou vendo que vc é novo, já mexe com tibia há algum tempo?

Link para o comentário
Compartilhar em outros sites

Opa, valeu pelos comentários.

Sim, sou novo no fórum, já tenho uma base de programação e ando dando uma lida na documentação do lua, dae estou fazendo alguns scripts simples..Hoje fiz uma pequena alteração já nesse script. Talvez eu ainda poste um tutorial e um outro script simples.

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

Opa, valeu pelos comentários.

Sim, sou novo no fórum, já tenho uma base de programação e ando dando uma lida na documentação do lua, dae estou fazendo alguns scripts simples..Hoje fiz uma pequena alteração já nesse script. Talvez eu ainda poste um tutorial e um outro script simples.

Beleza então fera, aguardo novos conteúdo seus!

abraços

Link para o comentário
Compartilhar em outros sites

<!-- Piso Sagrado -->

<movevent event="StepIn" uniqueid="ALGUM UNIQUEID" script="pisoSagrado.lua"/>

<movevent event="StepOut" uniqueid="ALGUM UNIQUEID" script="pisoSagrado.lua"/>

É MELHOR COLOCAR POR UNIQUEIDS, PORQUE SE VOCE COLOCAR TAL PISO EM ALGUM LUGAR QUE TIVER MONSTRO É SO O CARA IR ALI E HEALAR, O UNIQUEID NAO CORRE ESSE PERIGO...

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

CORRIGINDO SEU SCRIPT ! MOTIVO: QUANDO VOCÊ PISA NO TILE VOCÊ NÃO PARA DE SER HEALADO, INTÃO CORRIGINDO O SCRIPT

 

 

function onStepIn(cid, item, pos)

if isPlayer(cid) == TRUE then

heal = addEvent(doHeal, 1000, cid)

end

return true

end

function onStepOut(cid, item, pos)

stopEvent(doHeal)

return true

end

function doHeal(cid)

local valorDoHeal = (getCreatureHealth(cid) - getCreatureMaxHealth(cid))

if valorDoHeal%2 > 0 then

valorDoHeal = ((getCreatureHealth(cid)+1) - getCreatureMaxHealth(cid))

else

valorDoHeal = valorDoHeal/2

end

if getCreatureHealth(cid) < getCreatureMaxHealth(cid) then

doCreatureAddHealth(cid, 1000)

doSendMagicEffect(getCreaturePosition(cid), 14)

doPlayerSendCancel(cid, "Healado!")

end

return TRUE

end

 

 

SÓ ISSO, E NÃO SE ESQUEÇAM DE COLOCAR

 

<!-- Piso Sagrado -->

<movevent event="StepIn" itemid="ID DO PISO" script="pisoSagrado.lua"/>

<movevent event="StepOut" itemid="ID DO PISO" script="pisoSagrado.lua"/>

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

  • 3 months later...

Pessoal o meu ta funcionando nao, olha so fiz tudo certinho, segue o que eu coloquei.

 

<!-- Piso Sagrado -->
<movevent event="StepIn" itemid="458" script="pisoSagrado.lua"/>
<movevent event="StepOut" itemid="458" script="pisoSagrado.lua"/>

 

function onStepIn(cid, item, pos)
    if isPlayer(cid) == TRUE then
	  heal = addEvent(doHeal, 1000, cid)
    end
 return true
end
function onStepOut(cid, item, pos)
 stopEvent(doHeal)
 return true
end
function doHeal(cid)
local valorDoHeal = (getCreatureHealth(cid) - getCreatureMaxHealth(cid))
if valorDoHeal%2 > 0 then
valorDoHeal = ((getCreatureHealth(cid)+1) - getCreatureMaxHealth(cid))
else
valorDoHeal = valorDoHeal/2
end
    if getCreatureHealth(cid) < getCreatureMaxHealth(cid) then
			  doCreatureAddHealth(cid, valorDoHeal)
			  doSendMagicEffect(getCreaturePosition(cid), 14)
			  doPlayerSendCancel(cid, "Healado!")
    else
	  doPlayerSendCancel(cid, "Sua vida já está completa.")
	  doSendMagicEffect(getCreaturePosition(cid), 3)
    end
 heala = addEvent(doHeal, 1000, cid)
end

 

 

Nao funcionou, nao da erro nenhum no console, segue imagem abaixo:

 

pisoc.png

 

 

Tbm testei com "UNIQUEID" coloquei 3333 no piso, e quando entra abre o server da esse erro.

[24/12/2012 13:50:10] > ERROR: Unable to load MoveEvents!

 

 

Alguem tem ideia do que estou fazendo errado ?

Link para o comentário
Compartilhar em outros sites

Pessoal o meu ta funcionando nao, olha so fiz tudo certinho, segue o que eu coloquei.

 

<!-- Piso Sagrado -->
<movevent event="StepIn" itemid="458" script="pisoSagrado.lua"/>
<movevent event="StepOut" itemid="458" script="pisoSagrado.lua"/>

 

function onStepIn(cid, item, pos)
	if isPlayer(cid) == TRUE then
	  heal = addEvent(doHeal, 1000, cid)
	end
 return true
end
function onStepOut(cid, item, pos)
 stopEvent(doHeal)
 return true
end
function doHeal(cid)
local valorDoHeal = (getCreatureHealth(cid) - getCreatureMaxHealth(cid))
if valorDoHeal%2 > 0 then
valorDoHeal = ((getCreatureHealth(cid)+1) - getCreatureMaxHealth(cid))
else
valorDoHeal = valorDoHeal/2
end
	if getCreatureHealth(cid) < getCreatureMaxHealth(cid) then
			  doCreatureAddHealth(cid, valorDoHeal)
			  doSendMagicEffect(getCreaturePosition(cid), 14)
			  doPlayerSendCancel(cid, "Healado!")
	else
	  doPlayerSendCancel(cid, "Sua vida já está completa.")
	  doSendMagicEffect(getCreaturePosition(cid), 3)
	end
 heala = addEvent(doHeal, 1000, cid)
end

 

 

Nao funcionou, nao da erro nenhum no console, segue imagem abaixo:

 

pisoc.png

 

 

Tbm testei com "UNIQUEID" coloquei 3333 no piso, e quando entra abre o server da esse erro.

[24/12/2012 13:50:10] > ERROR: Unable to load MoveEvents!

 

 

Alguem tem ideia do que estou fazendo errado ?

Ola amigo sei que é novo no forum mais por favor reviver topicos mortos a mais de 30 dias é contra as regras.

por favor leia as regras da proxima vez.

Link para o comentário
Compartilhar em outros sites

Pessoal o meu ta funcionando nao, olha so fiz tudo certinho, segue o que eu coloquei.

 

<!-- Piso Sagrado -->
<movevent event="StepIn" itemid="458" script="pisoSagrado.lua"/>
<movevent event="StepOut" itemid="458" script="pisoSagrado.lua"/>

 

function onStepIn(cid, item, pos)
	if isPlayer(cid) == TRUE then
	  heal = addEvent(doHeal, 1000, cid)
	end
 return true
end
function onStepOut(cid, item, pos)
 stopEvent(doHeal)
 return true
end
function doHeal(cid)
local valorDoHeal = (getCreatureHealth(cid) - getCreatureMaxHealth(cid))
if valorDoHeal%2 > 0 then
valorDoHeal = ((getCreatureHealth(cid)+1) - getCreatureMaxHealth(cid))
else
valorDoHeal = valorDoHeal/2
end
	if getCreatureHealth(cid) < getCreatureMaxHealth(cid) then
			  doCreatureAddHealth(cid, valorDoHeal)
			  doSendMagicEffect(getCreaturePosition(cid), 14)
			  doPlayerSendCancel(cid, "Healado!")
	else
	  doPlayerSendCancel(cid, "Sua vida já está completa.")
	  doSendMagicEffect(getCreaturePosition(cid), 3)
	end
 heala = addEvent(doHeal, 1000, cid)
end

 

 

Nao funcionou, nao da erro nenhum no console, segue imagem abaixo:

 

pisoc.png

 

 

Tbm testei com "UNIQUEID" coloquei 3333 no piso, e quando entra abre o server da esse erro.

[24/12/2012 13:50:10] > ERROR: Unable to load MoveEvents!

 

 

Alguem tem ideia do que estou fazendo errado ?

Ola amigo sei que é novo no forum mais por favor reviver topicos mortos a mais de 30 dias é contra as regras.

por favor leia as regras da proxima vez.

 

Ciente!

Link para o comentário
Compartilhar em outros sites

Ola amigo sei que é novo no forum mais por favor reviver topicos mortos a mais de 30 dias é contra as regras.

por favor leia as regras da proxima vez.

Pelo que eu sei das regras, se for para sanar uma duvida sobre o script postado é permitido reviver!

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Ciente!

Comentarios desse tipo é considerado Flood

por favor amigo nao fassa flood, leia as regras para nao se complicar.

 

Cuidado, XTibiano!

20cm, o último post deste tópico tem mais de 30 dias e uma nova postagem agora poderá ser considerada como flood! Consideramos flood comentários sem sentido só para fazer o tópico subir na posição! Fique ligado e ajude a manter um fórum limpo!

 

Então cara, não acho que isso seja flood, afinal, ele tava precisando de ajuda e que eu me lembre nas regras (nem tem mais regras na seção de a.t.m.) podia sim ressuscitar tópicos neste caso, então acho que você está errado.

Claro, sem querer desmerecer você e/ou seu cargo.

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Bom para ajudar o pessoal, o erro é pq na linha doPlayerSendCancel(cid, "Sua vida já está completa.") o texto "Sua vida já está completa." está com acentos... por isso o não funcionamento, para arrumar basta tirar os acentos deixando "Sua vida ja esta completa."

 

espero ter ajudado...

 

;)

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...