Valentine 25 Postado Maio 11, 2012 Share Postado Maio 11, 2012 Explicação: O Player tem um Item na Bag, que ao ser usado salva como Respawn a posição em que ele se encontra, o Item desaparece. Agora, o Player tem outro Item diferente na Bag, este não pode ser usado. Quando o Player morrer, será imediatamente teleportado para a posição de Respawn. Caso o Player tenha salvado a posição, e não tenha o segundo Item (que faz renascer), será teleportado para uma posição fixa (o real Templo). O Script: Será dividido em duas partes, o CreatureScript, que vai verificar se o Player possui o Item, caso verdadeiro, ressucitará: local item_id = 999 local count = 1 local temple = {x=999, y=999, z=9} function onDeath(cid, corpse, deathList) if isPlayer(cid) then if getPlayerItemCount(cid,item_id) >= 1 then if doPlayerRemoveItem(cid,item_id,count) then doSendMagicEffect(getPlayerPosition(cid), 10) doPlayerSendTextMessage(cid, 23, "Reborn from the ashes.") end else doPlayerSetMasterPos(cid, temple) doTeleportThing(cid,c) doSendMagicEffect(getPlayerPosition(cid), 10) end end end E a Tag: <event type="death" name="Resurrection" event="script" value="resurrection.lua"> E a segunda parte, Action que salva a posição do Player atravéz de um Item: function onUse(cid, item, pos) newpos = getPlayerPosition(cid) if doPlayerRemoveItem(cid,8888,1) then doPlayerSetMasterPos(cid, newpos) end end E sua Tag: <action itemid="8888" event="script" value="savepos.lua"> Sugestão de nomes e IDs: Position Map - ID 5091 - (Treasure Map) Resurrection Heart - ID 2353 - (Burning Heart) Configurando o Script: local item_id = 999 ID do Item que será consumido para renascer. Como exemplo, o ID 2353. local count = 1 Quantidade do Item que será consumida. local temple = {x=999, y=999, z=9} Aqui deve ser dada a posição do Templo real. doPlayerSendTextMessage(cid, 23, "Reborn from the ashes.") Mensagem para caso o Player renascer. <event type="death" name="Resurrection" event="script" value="resurrection.lua"> A Tag pode ter o nome editado e o nome do Script também. if doPlayerRemoveItem(cid,8888,1) then O ID do Item que salva a posição atual do Player, aconselho a não utilizar o mesmo Item que vai ressucitar para evitar erros. Como exemplo, o ID 5091. <action itemid="8888" event="script" value="savepos.lua"> Editar na Tag o ID do Item, deve ser o mesmo utilizado na linha acima. O nome do Script também pode ser editado. Obrigado por lerem, o Script ainda não foi testado e está em uma versão "beta", pois ainda pode ser melhorado. Link para o comentário https://xtibia.com/forum/topic/185980-creaturescripts-resurrection/ Compartilhar em outros sites More sharing options...
MaXwEllDeN 89 Postado Maio 13, 2012 Share Postado Maio 13, 2012 Gostei cara (:, eu tinha feito um que o cara ficava "morto", transformado em um loot, e ficava imóvel quando morria, ai os monstros não atacavam o cara, e aparecia o Anjo da morte( um Grim reaper), ai ele falava pro cara se alguém não ressucitasse ele em x tempo ele morreria de vez, ai ficava o tempo em contagem regressiva na tela do Player . REP+ Link para o comentário https://xtibia.com/forum/topic/185980-creaturescripts-resurrection/#findComment-1259331 Compartilhar em outros sites More sharing options...
Valentine 25 Postado Maio 13, 2012 Autor Share Postado Maio 13, 2012 (editado) Também cheguei a pensar em NPC's, TalkActions. Preferi utilizar diretamente os Itens só pelo motivo de alguns monstros usarem a habilidade de se curar. Se o Player demorar muito pra renascer, pode dar Spawn de monstros, curarem, se moverem (após serem lurados)... Porém ainda acho o seu método mais bonito. É legal pensar em um Anjo da Morte vindo até você. Obrigado por comentar e pelo REP+. Editado Maio 13, 2012 por Valentine Link para o comentário https://xtibia.com/forum/topic/185980-creaturescripts-resurrection/#findComment-1259576 Compartilhar em outros sites More sharing options...
MaXwEllDeN 89 Postado Maio 13, 2012 Share Postado Maio 13, 2012 No caso, não daria o spawn dos monstros pois o player estaria "presente", dando block no spawn.. Link para o comentário https://xtibia.com/forum/topic/185980-creaturescripts-resurrection/#findComment-1259594 Compartilhar em outros sites More sharing options...
Gankigner 2 Postado Maio 31, 2012 Share Postado Maio 31, 2012 Tem como fazer pra ele renascer no mesmo lugar que ele morreu? Link para o comentário https://xtibia.com/forum/topic/185980-creaturescripts-resurrection/#findComment-1269421 Compartilhar em outros sites More sharing options...
Oneshot 732 Postado Junho 1, 2012 Share Postado Junho 1, 2012 Dá para fazer um Ressurrection literalmente com a função onPrepareDeath, se o jogador tiver um certo item, em vez de morrer, ganha uma segunda chance com 10% do HP por exemplo. Link para o comentário https://xtibia.com/forum/topic/185980-creaturescripts-resurrection/#findComment-1269753 Compartilhar em outros sites More sharing options...
Valentine 25 Postado Junho 1, 2012 Autor Share Postado Junho 1, 2012 Dá sim, ai fica meio dificil do cara se manter vivo novamente, pois ele já estará sendo atacado. Ai vai acabar morrendo pela segunda vez. Tem esse problema, ai tem que fazer um período em que ele não podera ser atacado. Link para o comentário https://xtibia.com/forum/topic/185980-creaturescripts-resurrection/#findComment-1269778 Compartilhar em outros sites More sharing options...
jonathasbizerril 0 Postado Julho 15, 2013 Share Postado Julho 15, 2013 (editado) Gostei muito, muito bem explicado ganhou meu rep mais o meu deu esse erro tem como ajeitar? [03/08/2013 18:37:29] [Error - Action Interface][03/08/2013 18:37:29] data/actions/scripts/novos/savepos.lua:onUse[03/08/2013 18:37:29] Description:[03/08/2013 18:37:29] (luaGetThingPosition) Thing not found Editado Agosto 3, 2013 por jonathasbizerril Link para o comentário https://xtibia.com/forum/topic/185980-creaturescripts-resurrection/#findComment-1539927 Compartilhar em outros sites More sharing options...
Posts Recomendados