Ir para conteúdo

[Moveevent] Tile Para Templo


Demonbholder

Posts Recomendados

Olá galera do XTibia, tava sem nada para fazer, então resolvi criar um movement bobo. É o seguinte, você fica em cima do tile, e enquanto você tiver em cima dele, sua vida irá ser curada em 10, a cada segundo que passar (configurável).

 

Pronto! Editado, e funcionando perfeitamente em um script só, segue o script:

 

function onStepIn(cid, item, position, lastPosition, fromPosition)

 

setPlayerStorageValue(cid, 90111, 1)

doHealPlayer(cid)

end

 

function doHealPlayer(cid)

local delay = 1 -- de quanto em quanto tempo irá adicionar (no caso, 1 segundo)

 

if getPlayerStorageValue(cid, 90111) == 1 then

doCreatureAddHealth(cid, 10)

addEvent(doHealPlayer, delay*1000, cid)

end

return TRUE

end

 

function onStepOut(cid, item, position, lastPosition, fromPosition)

 

setPlayerStorageValue(cid, 90111, -1)

end

 

Se quiserem que o jogador só possa usar 1 vez ao dia, use este:

 

function onStepIn(cid, item, position, lastPosition, fromPosition)

local tempo = 3600*24 -- no caso, um dia

 

if getPlayerStorageValue(cid, 90112) - os.time() < 1 then

setPlayerStorageValue(cid, 90111, 1)

doHealPlayer(cid)

setPlayerStorageValue(cid, 90112, (tempo + os.time()))

end

end

 

function doHealPlayer(cid)

local delay = 1 -- de quanto em quanto tempo irá adicionar (no caso, 1 segundo)

 

if getPlayerStorageValue(cid, 90111) == 1 then

doCreatureAddHealth(cid, 10)

addEvent(doHealPlayer, delay*1000, cid)

end

return TRUE

end

 

function onStepOut(cid, item, position, lastPosition, fromPosition)

 

setPlayerStorageValue(cid, 90111, -1)

end

 

Em movements.xml, as tags ficam assim:

 

<movevent type="StepIn" uniqueid="UNIQUEID" event="script" value="NOMEdoARQUIVO.lua"/>

<movevent type="StepOut" uniqueid="UNIQUEID" event="script" value="NOMEdoARQUIVO.lua"/>

 

Explicação Final (bônus):

Se desejar configurar a vida (em qualquer um dos dois scripts) a ser adicionada para que adicione uma porcentagem da vida máxima do jogador, faça o seguinte:

No lugar de:

doCreatureAddHealth(cid, 10) -- vida a ser adicionada

Use:

doCreatureAddHealth(cid, getCreatureMaxHealth(cid) * 1/10) -- vida a ser adicionada

 

Nesse caso, "1/10" é editavel, para edita-lo siga isso:

 

1/10 = 10%
2/10 = 20%
3/10 = 30%
4/10 = 40%
5/10 = 50%
6/10 = 60%
7/10 = 70%
8/10 = 80%
9/10 = 90%
1 = 100%

 

Acho que é isso, espero que gostem. Até.

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

Valeu cara, espero que mais pessoas usem e gostem. Script editado, pois eu estava testando e tava dando erro, mas agora já ta funcionando perfeitamente. Claro, depois de editar 30 vezes o tópico tinha que ta funcionando perfeitamente mesmo.

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

  • 3 weeks later...
  • 2 weeks later...
  • 3 weeks later...
  • 1 year later...
  • 10 months later...
×
×
  • Criar Novo...