Ir para conteúdo

Tile Heal


SkyLigh

Posts Recomendados

Fala galera tudo bem? Estou com um script muito útil e espero que vocês curtam. O que ele faz?

 

É um piso que se você ficar em cima ele vai healando sua life e sua mana com valores editáveis a sua escolha.

 

Vá em data/moveevents/scripts/ e adicione um arquivo.lua chamado healplayer.lua e cole o seguinte código dentro :

function onStepIn(cid, item, position, lastPosition, fromPosition)
                local level = 100 -- Até que level pode healar
	function doHealPlayer(cid)
		local delay = 4 -- de quanto em quanto tempo irá adicionar (no caso, 1 segundo)
		local mana = 25 -- quanto de mana vai ser adicionado
		local vida = 25 -- quanto de health vai ser adicionado
		
		if getPlayerStorageValue(cid, 98910) == 1 then
			doCreatureAddHealth(cid, mana)
			doPlayerAddMana(cid,vida)
			addEvent(doHealPlayer, delay*1000, cid)
			doCreatureSay(cid, "Ai que delicia", TALKTYPE_ORANGE_1)
			doSendMagicEffect(getCreaturePosition(cid),13)
		end
		return TRUE
	end
	if getPlayerLevel(cid) >= level then
		doPlayerSendCancel(cid,"Você já é acima do level ".. level .."") 
	else
		setPlayerStorageValue(cid, 98910, 1)
		doHealPlayer(cid)
	end
	
	function onStepOut(cid, item, position, lastPosition, fromPosition)
		setPlayerStorageValue(cid, 98910, -2)
	end
end

Agora em moveevents.xml adicione as seguintes tags :

<movevent type="StepIn" uniqueid="25641" event="script" value="healplayer.lua"/>
<movevent type="StepOut" uniqueid="25641" event="script" value="healplayer.lua"/>

Apos isso é só colocar a uniqueid no piso pelo RME e pronto. :D

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

Parabéns mas tem uns problemas

 

* Se ele desloga na área, vai fica dando erro.

* Se um player ocupa o espaço que ele tava quando desloga e quando ele loga for movido para uma area que não teja o uniqueid ele vai fica se healando infinitamente sem precisa ta na area além de da erro quando ele desloga.

* Coloque a função do lado de fora da callback

* O "true" não precisa ser maiúsculo, isso é uma adaptação da TFS

* A melhor maneira de fazer esse script é por globalevent

 

se eu tiver errado em algo, malz.

Link para o comentário
Compartilhar em outros sites

Parabéns mas tem uns problemas

 

* Se ele desloga na área, vai fica dando erro.

* Se um player ocupa o espaço que ele tava quando desloga e quando ele loga for movido para uma area que não teja o uniqueid ele vai fica se healando infinitamente sem precisa ta na area além de da erro quando ele desloga.

* Coloque a função do lado de fora da callback

* O "true" não precisa ser maiúsculo, isso é uma adaptação da TFS

* A melhor maneira de fazer esse script é por globalevent

 

se eu tiver errado em algo, malz.

 

fiz um teste rápido aqui, desloguei na área não ocorreu nenhum bug, sobre o true eu já sabia disso mais acho mais estiloso em maiúsculo rs.

só que tem umas coisas que não entendi que foram as seguintes :

 

Coloque a função do lado de fora da callback

Se um player ocupa o espaço que ele tava quando desloga e quando ele loga for movido para uma area que não teja o uniqueid ele vai fica se healando infinitamente sem precisa ta na area além de da erro quando ele desloga.

 

vlw

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...