Ir para conteúdo

Morrer em tal posição


Fjinst

Posts Recomendados

Se o jogador morrer em uma posição x até uma posição y ser teleportado para uma area

 

É um script no qual o jogador está em um quadrado e se ele morrer nesse quadrado ele não morrerá, tomará só um TP para uma área.

 

Tentei fazer mas dava alguns errors.

 

Segue abaixo:

 

Citar

function onStatsChange(cid, attacker, type, combat, value)
for X = 1617, 1620 do-- posição x inicial e final da area
   for Y = 1490, 1491 do -- posição  y inicial e final sa area
      local get = getThingFromPos({x=X,y=Y,z=8,stackpos=255}) -- determine a posição z da area
      if get and get.uid > 0 and isPlayer (get.uid) then
if type == STATSCHANGE_HEALTHLOSS and value >= getCreatureHealth(cid) then
doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid))
doCreatureAddMana(cid, getCreatureMaxMana(cid) - getCreatureMana(cid))
doTeleportThing(cid,{x=1013, y=512, z=10})
end
      end
   end
end
    return true
end

 

Error:

[13:59:02.672] [Error - CreatureScript Interface]
[13:59:02.673] data/creaturescripts/scripts/morrer.lua:onStatsChange
[13:59:02.674] Description:
[13:59:02.675] (luaGetThingFromPos) Tile not found

Link para o comentário
Compartilhar em outros sites

local from, to = {x=1, y =1, z=1}, {x=1, y =1, z=1}local newpos = {x=1, y =1, z=1}function onStatsChange(cid, attacker, type, combat, value)    if isInRange(getPlayerPosition(cid), from, to) and type == STATSCHANGE_HEALTHLOSS and value >= getCreatureHealth(cid) then        doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid))        doTeleportThing(cid, newpos)        doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)        return false    end    return trueend

<event type="statschange" name="MorteTp" event="script" value="NOMEDOARQUIVO.lua"/>

 

No login.lua: registerCreatureEvent(cid, "MorteTp")

 

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...