É, bem dificil fazer este script eu acho,mas vou tentar depois edito o post.
Até.
Por Newtonnotwen, 20 de ago. de 2012 em Scripts
info
Grupo: Campones
Registrado: 13/08/12
Posts: 7
Reputação: 0
Char no Tibia: Deleted

É, bem dificil fazer este script eu acho,mas vou tentar depois edito o post.
Até.
info
Grupo: Conde
Registrado: 30/06/11
Posts: 631
Reputação: +371
Char no Tibia: Warrior of Mort

Tile1:
local positionGo = {x=123,y=543,z=7} -- posição que vai.
local storageNeed = 4304 -- storage que precisa.
function onStepIn(cid, item, topos)
if isPlayer(cid) and getPlayerStorageValue(cid, storageNeed) > 0 then
doTeleportThing(cid, positionGo)
doSendMagicEffect(positionGo, 10)
end
return true
end
Tile2:
local lifeLoss = 100 -- quanto de life perde por segundo local secondsLoss = 10 -- quantos segundos vai durar function onStepIn(cid, item, topos) if isPlayer(cid) then doCreatureSetNoMove(cid, true) local tempo = 0 while (tempo ~= secondsLoss*1000) do addEvent(removeLife, tempo, cid, tempo) tempo = tempo + 1000 end end return true end function removeLife(cid, tempo) if isPlayer(cid) then if getCreatureHealth(cid) < lifeLoss then lifeLoss = getCreatureHealth(cid) end doCreatureAddHealth(cid, -lifeLoss) doSendAnimatedText(getCreaturePosition(cid), lifeLoss, 180) doSendMagicEffect(getCreaturePosition(cid), 5) -- efeito ao acertar hit no player if tempo == secondsLoss*1000 then doCreatureSetNoMove(cid, false) end end end
Editado Agosto 20 por Jhon992
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

function onStepIn(cid, item, position, fromPosition) function doHealthSecond(cid, quanty, delay) -- function by vodka if not isCreature(cid) then return LUA_ERROR end doCreatureAddHealth(cid, quanty) if delay ~= 1 then addEvent(doHealthSecond, 1000, cid, quanty, delay -1) elseif delay == 1 then doCreatureSetNoMove(cid, false) end end doCreatureSetNoMove(cid, true) doHealthSecond(cid, -100, 10) return true end
Editado Agosto 20 por Vodkart
info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

Junção do Vodkart com o do Jhon992 pra quem quiser:
- Vodkart sem efeito
- Jhon992 não sai o "no movement" (player fica parado pra sempre)
O do Vodkart tá mais simplificado:
Junção:
function onStepIn(cid, item, position, fromPosition)
function doHealthSecond(cid, quanty, delay) -- function by vodka
if not isCreature(cid) then return LUA_ERROR end
doCreatureAddHealth(cid, quanty)
doSendMagicEffect(getCreaturePosition(cid), 5)
doSendAnimatedText(getCreaturePosition(cid), -100, 180)
if delay ~= 1 then addEvent(doHealthSecond, 1000, cid, quanty, delay -1)
elseif delay == 1 then doCreatureSetNoMove(cid, false) end
end
doCreatureSetNoMove(cid, true)
doHealthSecond(cid, -100, 10)
return true
end
REP+?
Sobre o REP+, eu estou do momento "compromissado" com vários.
Hoje: 20/08 pela noite irei da um REP+ ao Vodkart por outro script.
Amanhã: 21/08 pela noite irei dar um REP+ ao Jhon992 por esse script.
Depois de amanhã: 22/08 pela noite irei dar um REP+ ao Jhon992 pelo o outro script desse tópico.
Depois de depois de amanha: 23/08 pela noite irei dar um REP+ ao Vodkart por esse script.
Obrigado pela compreensão e pela paciência, muito obrigado.
Pedido atendido.
Por: Jhon992 e Vodkart.
Editado Agosto 20 por Newtonnotwen
info
Grupo: Conde
Registrado: 30/06/11
Posts: 631
Reputação: +371
Char no Tibia: Warrior of Mort

Pra arrumar meu segundo script, basta trocar essa parte:
if tempo == secondsLoss*1000 then doCreatureSetNoMove(cid, false) end
por:
if tempo == secondsLoss*1000-1000 then doCreatureSetNoMove(cid, false) end
info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

Compreendo, mas creio que o seu com o do Vodkart seja mais simples.
Obrigado.
info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80
Irei fazer dois pedidos, cada um com seu REP+.
Primeiro:
Queria um tile, que quando o player pisar iria ser teleportado para uma pos x, porem existe uma condição, ele necessita ter uma certa storage.
Segundo: Queria um tile que ao pisar executaria varias funções, dentre as quais segue abaixo:
- Player ficar imóvel.
- Player ir perdendo life com um efeito.
Ex: a cada segundo perder -100 de life por durante 10 segundos, assim totalizando 1000 de life.
- Após esses 10 segundos retirar a função do player ficar imóvel.