[Encerrado] Quest storage

narutomaniacos
em Tópicos Sem Resposta

narutomaniacos

Maniaco
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 18/12/12Posts: 158Gênero: MasculinoChar no Tibia: Lestat

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

 

Ajudei? REP+

Gengo

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 10/03/13Posts: 177Gênero: MasculinoChar no Tibia: stor akia

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"/>

 

narutomaniacos

Maniaco
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 18/12/12Posts: 158Gênero: MasculinoChar no Tibia: Lestat

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

 

Ajudei? REP+

Stigal

don't ever stop...
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 28/11/10Posts: 3402Gênero: Masculino
A questão neste tópico de suporte foi encerrada por falta de resposta. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta

VI6MDIG.png

 

"O fracasso é a oportunidade de se começar de novo inteligentemente"

Minhas Redes Sociais: Youtube | Página & Grupo | Steam  | Discord Xtibia | Skype: @mrooger

 

OTpanel