MO
moveevent

Piso Sagrado

Por Moonshadow, 27 de ago. de 2012 em Actions e Talkactions

script
14
2.7k
MoonshadowM
27 de agosto de 2012 às 02:45

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 Agosto 27 por Moonshadow

VodkartV
27 de agosto de 2012 às 09:29

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?

jhon992J
27 de agosto de 2012 às 09:45

Script é seu? Parabéns. Tu é novo aqui mais não em scripting neh, conseguiu bem usar orientada a objeto com addEvent e talz, curti hem.

Rep+, e continua contribuindo com o nosso fórum.

MoonshadowM
27 de agosto de 2012 às 14:18

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 Agosto 27 por Moonshadow

VodkartV
27 de agosto de 2012 às 19:17

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

peter2012P
02 de setembro de 2012 às 21:47

<!-- 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...

2 semanas depois...
peter2012P
11 de setembro de 2012 às 22:01

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 Setembro 11 por peter2012

3 meses depois...
markim1986M
24 de dezembro de 2012 às 13:55

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 ?

DinoAdminD
24 de dezembro de 2012 às 14:07

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.

markim1986M
24 de dezembro de 2012 às 14:15

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!

DinoAdminD
24 de dezembro de 2012 às 14:18

 

Ciente!

Comentarios desse tipo é considerado Flood

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

milbradtM
24 de dezembro de 2012 às 18:51

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!

1 mês depois...
20cm2
05 de janeiro de 2013 às 02:36

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.

2 semanas depois...
didogunnerD
18 de janeiro de 2013 às 16:57

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...

 

;)