Ir para conteúdo

[Encerrado] Quest storage


narutomaniacos

Posts Recomendados

Olá, estou tentando fazer uma quest anihi um pouco mais trabalhada e encontrei esse tutorial do @zipter98

http://www.xtibia.com/forum/topic/233085-quest-simples/ 

Funciona quase tudo corretamente, menos a parte em que os players são teleportados caso alguém morra. tentei colocar o script abaixo no "playerdeath.lua" porém não funcionou

Spoiler

if getPlayerStorageValue(cid, 8605) > -1 then
            for _, pid in pairs(getPlayersOnline()) do
                if getPlayerStorageValue(pid, 8605) > -1 then
                    doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid)))
                    doPlayerSendTextMessage(pid, 27, "Someone died and you lost the quest. Better luck on the next time!")
                    setPlayerStorageValue(pid, 8605, -1)
                end
            end
            doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
            return false
        end

 

Link para o comentário
Compartilhar em outros sites

Na pasta do seu servidor vai em data/creaturescripts/login.lua e adicione em baixo de if( lastLogin > 0 ) then

if getCreatureStorage(cid, 8605) == 1 then
   doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid) ) )
   doCreatureSetStorage(cid, 8605, -1)
end

e no final do mesmo arquivo antes do ultimo return true adicione:

registerCreatureEvent(cid, "deathrecord")

na mesma pasta data/creaturescript crie um arquivo chamado  deathrecord.lua e adicione:

function onDeath(cid)
 if isPlayer(cid) then
   return doCreatureSetStorage(cid, 8605, 1)
 end
return true
end

E por fim em data/creaturescript/creaturescript.xml adicione a seguinte tag: 

<event type="death" name="deathrecord" event="script" value="deathrecord.lua"/>

 

Link para o comentário
Compartilhar em outros sites

Seguinte, Obrigado pela boa vontade, REP++!!!! Seu script não funcionou como esperado porém me deu uma ideia de como fazer(Coisa que eu não tinha)

Adaptei seu script e consegui fazer funcionar; Segue o script abaixo

deathrecord.lua

function onDeath(cid)
 if isPlayer(cid) then
   if getPlayerStorageValue(cid, 8605) > -1 then
            for _, pid in pairs(getPlayersOnline()) do
                if getPlayerStorageValue(pid, 8605) > -1 then
                    doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid)))
                    doPlayerSendTextMessage(pid, 27, "Someone died and you lost the quest. Better luck on the next time!")
                    setPlayerStorageValue(pid, 8605, -1)
                end
            end
            doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
            return false
        end
end
end

 

Link para o comentário
Compartilhar em outros sites

  • 3 months later...
Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...