Postado Novembro 2, 2012 12 anos Fala galera.. Tô com um problema nos irmãos da Inquisition, no caso, os bosses Golgordan e Latrivan.. Os mesmo residem em uma mesma sala da Inquisition.. O script que tô usando funciona da seguinte maneira: ao matar o boss latrivan e o golgordan, ou vice-versa, um teleport é criado para o player prosseguir na quest.. Mas ele tá apresentando dois probleminhas.. Se eu matar o Latrivan e depois o Golgordan, ou vice-versa, o teleport é criado, mas se eu matar 2 vezes o Latrivan ou 2 vezes o Golgordan, o teleport é criado do mesmo jeito, esse é o primeiro erro. O segundo erro é que: se eu matar o Latrivan e deixar o Golgordan vivo, ou matar o Golgordan e deixar o latrivan vivo e em seguida fechar o servidor e abrir em seguida, é só matar um deles que o teleport é criado. Tenho certeza que o problema é nas storages. Alguém pode me ajudar? Valendo REP+! Script: function onDeath(cid, killer) local tp = {x = 601, y = 759, z = 13} -- Posição do Teleport local tpgo = {x = 504, y = 827, z = 13} -- Posição em que o teleport levará local tempo = 180 -- Tempo em que o Teleport ficará aberto em segundos local tpid = 1387 -- ID do teleport local stor = 18291 local message = "You now have 3 minutes to exit this room through the teleporter. It will bring you to the next room only during his time or the teleporter will disappear." if getGlobalStorageValue(stor) == -1 then setGlobalStorageValue(stor, getGlobalStorageValue(stor)+1) elseif getGlobalStorageValue(stor) == 0 then doCreatureSay(cid, message, TALKTYPE_ORANGE_1) doCreateTeleport(tpid, tpgo, tp) setGlobalStorageValue(stor, -1) addEvent(removeTp, tempo*1000, tp, tpid) end return true end function removeTp(tp, tpid) local t = getTileItemById(tp, tpid) if t.uid >= 1 then doRemoveItem(t.uid, 1) doSendMagicEffect(tp, CONST_ME_POFF) end end Editado Novembro 3, 2012 12 anos por AnneMotta (veja o histórico de edições)
Postado Novembro 3, 2012 12 anos Eu fiz esse, ele pode acontecer alguns bugs... é que eu estou com preguiça de scriptar direito. haha. Então, a pessoa vai matar os dois monstros ali, mas se ela matar um e deslogar, volta e matar o mesmo, o teleport vai se abrir... Da pra resolver isso fazendo um evento onLogin, se você quiser me avise. Ah, e retire todos os jeitos de os players sairem do boss (se tiver), pra funcionar 100%. \data\creaturescripts\scripts\killBoss local monster = {"Latrivan", "Golgordan"} local pos, toPos = {x = 1024, y = 1025, z = 7}, {x = 1017, y = 1025, z = 7} local storage = 5670 local time = 10 function onDeath(cid, corpse, killer) for i = 1, #monster do if isMonster(cid) then if string.lower(getCreatureName(cid)) == string.lower(monster[i]) then doSetStorage(storage, getStorage(storage) + 1) cTeleport(cid) addEvent(rTeleport, time * 1000, cid) end end end return TRUE end function cTeleport(cid) if (getStorage(storage) >= 1) then doCreatureSay(cid, "Você tem "..time.. " segundos para passar pelo teleport, antes que ele seja removido.", TALKTYPE_ORANGE_1) return doCreateTeleport(1387, toPos, pos) end end function rTeleport(cid) local t = getTileItemById(pos, 1387) if (t.uid > 0) then doSendMagicEffect(pos, CONST_ME_MAGIC_RED) doSetStorage(storage, -1) return doRemoveItem(t.uid) end end \data\creaturescripts\creaturescripts.xml <event type="death" name="killBoss" event="script" value="killBoss.lua"/> E nos monstros, você tem que adicionar a tag: <script> <event name="killBoss"/> </script>
Postado Novembro 3, 2012 12 anos Autor @Kimoszin Não deu certo o script, veio com alguns errinhos.. Cara, tive uma ideia melhor.. Existe algum script que tipo, quando um monstro morrer, outro nasce? Daí seria assim, quando o Golgordan morresse, o Latrivan nasceria e quando o Latrivan morresse, o teleport seria criado.. Mas tipo, só preciso do primeiro script, no caso, quando o Golgordan moresse, o Latrivan nasceria, porque o outro, eu tenho. Grato!
Postado Novembro 3, 2012 12 anos Qual o erro? Depois eu faço esse script... estou com preguiça agora.
Postado Novembro 3, 2012 12 anos Autor Tipo, mudei o pedido cara, ficaria melhor dessa nova forma.. Tem como criar esse script para mim? Grato!
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.