Ir para conteúdo

maicao22

Membro
  • Registro em

  • Última visita

  1. maicao22 alterou sua foto pessoal
  2. Simplesmente perfeito meu amigo. Muito obrigado mesmo. Nao so pelo script em si, mas por ceder um pouco do seu tempo para me ajudar. Tudo de bom para voce brother!
  3. Blz amigo. Vou testar aqui e ja volto com o feedback. Testei e funcionou tudo legal. Faltando acertar apenas um detalhe. Quando voce clica na porta para passar mas nao conclui a passagem para que ela se fecha e ficando assim com o char bem no meio, o script entao nao consegue remover a porta. Isso ocorre porque a id de porta aberta e outra, entao ele nao acha nada no script com tal id. Tem como modificar para funcionar com ambos os ids da porta, tanto fechada quanto aberta? Se nao for pedir muito claro. E desde já agradeço pela ajuda e toma meu rep+.
  4. Ninguem consegue me ajudar?
  5. Boa noite. Tenho o script abaixo onde ao derrotar determinado boss uma parede é removida e no lugar dela nasce uma porta com id 9181. Essa porta fica ali por 60 segundos e depois disso some dando lugar a parede que estava novamente. Ate ai tudo certo. O que eu gostaria de saber é como fazer para que essa porta seja criada com uma actionid de level para poder passar por ela. Pois da forma que ela e criada não e possivel. Tentei algumas coisas com doSetItemActionId mas não obtive exito. Se alguem puder me ajudar agradeço. function onDeath(cid, corpse, killer) local M ={ ["Lord Apocalypse"] = {Pos = {x=1845,y=756,z=8},id= 1544 ,id2= 9181 ,time = 60}, } local x = M[getCreatureName(cid)] function criar() local porta = getTileItemById(x.Pos, x.id2) local parede = getTileItemById(x.Pos, x.id) doRemoveItem(porta.uid, 1) doCreateItem(x.id, 1, x.Pos) end if x then local parede = getTileItemById(x.Pos, x.id) local porta = getTileItemById(x.Pos, x.id2) if parede then doRemoveItem(parede.uid, 1) doCreateItem(x.id2, 1, x.Pos) doCreatureSay(cid, "Depressa! A porta ira sumir em "..x.time.." segundos.", TALKTYPE_ORANGE_1) addEvent(criar, x.time*1000) end end return TRUE end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  6. maicao22 reagiu a uma resposta no tópico: Ajuda com script da anihi modificado
  7. maicao22 reagiu a uma resposta no tópico: Ajuda com script da anihi modificado
  8. Muito obrigado meus amigos deu super certo aqui. Rep + para vocês. Sem querer aproveitar da boa vontade, seria pedir muito a implementação do tempo restante subindo na alavanca, igual do global? Para que os outros players que estão esperando para fazer a quest tenha uma noção de quanto tempo aguardar. Visto que se trata de uma quest um tanto demorada para onde vou usar esse script.
  9. Veja como está: local config = { from = {x = 22987, y = 19805, z = 7}, -- coordenada do canto superior esquerdo da área. to = {x = 23024, y = 19992, z = 7}, -- coordenada do canto inferior direito da área. } local t = { lvl = 100, Time = 2, -- em minutos entrada = { {x = 23052, y = 19991, z = 7}, -- pos players {x = 23051, y = 19991, z = 7}, {x = 23050, y = 19991, z = 7}, {x = 23049, y = 19991, z = 7} }, saida = { {x = 23017, y = 19985, z = 7}, -- pos para onde eles irão {x = 23019, y = 19985, z = 7}, {x = 23017, y = 19987, z = 7}, {x = 23019, y = 19987, z = 7} }, monstros = { {{x = 23004, y = 19832, z = 7}, "Juggernaut"}, -- defina pos dos montros e nomes {{x = 23004, y = 19834, z = 7}, "Ghazbaran"} } } function getPlayersInArea(fromPos, toPos) local players = {} for _, pid in ipairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), fromPos, toPos) then table.insert(players, pid) end end return players end function VarAnihiPlayer(cid) if not isCreature(cid) then return LUA_ERROR end if #getPlayersInArea(config.from, config.to) and getPlayerStorageValue(cid,18441) == 1 then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end end function onUse(cid, item, fromPosition, itemEx, toPosition) local check = {} if #getPlayersInArea(config.from, config.to) > 0 then doPlayerSendCancel(cid, 'Aguarde, tem jogadores fazendo a quest.') return true end for _, k in ipairs(t.entrada) do local x = getTopCreature(k).uid if(x == 0 or not isPlayer(x) or getPlayerLevel(x) < t.lvl) then doPlayerSendCancel(cid, 'Está faltando player ou alguém não possui level '..t.lvl..' ou mais.') return true end table.insert(check, x) end for _, summon in pairs(t.monstros) do local creature = getTopCreature(summon[1]).uid if(creature > 0 and not isPlayer(creature)) then doRemoveCreature(creature) end doCleanTile(summon[1]) doCreateMonster(summon[2], summon[1]) end for i, tid in ipairs(check) do setPlayerStorageValue(cid,18441,1) doSendMagicEffect(t.entrada[i], CONST_ME_POFF) doTeleportThing(tid, t.saida[i], false) addEvent(VarAnihiPlayer, t.Time*60*1000, tid) doSendMagicEffect(t.saida[i], CONST_ME_ENERGYAREA) end doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) return true end
  10. Certo, implementei aqui. Porem apenas para o player que puxou a alavanca está funcionando. Os demais são teleportados para a quest sem receber a determinada storage.
  11. entendi. estarei fazendo aqui e testando. Mas no caso, precisarei de um creaturescripts também para caso ele morra remover a storage, certo?
  12. Mas tipo, isso dai vai fazer com que nao teleporte quem ainda não conseguiu concluir a quest no tempo estipulado. pelo menos foi o que entendi.
  13. Não brother. Apenas uma forma de parar a contagem para quem terminou. Por exemplo: Os players puxam a alavanca e tem 30 minutos no máximo para concluir a quest, do contrário, caso acabe esse tempo todos são teleportador para o templo. O que já ocorre normalmente e está funcionando perfeitamente. No entanto, digamos que os players concluíram a quest em 20 minutos pegaram sua recompensa no bau e entraram no tp para ir pro templo. Então a vida continua e não importa onde ele esteja, os dez minutos restantes continuarão a correr e ele vai ser mandando para o templo mesmo já estando em uma outra quest ou em uma hunt ou fazendo qualquer outra coisa. Só preciso de uma forma para pausar, digamos assim, a contagem do tempo quando os players concluir a quest e passar pelo teleporte. O que acho que da para ser feito com storage. @Vodkart Você é o cara indicado para me ajudar nessa rsrsrs.
  14. Ola pessoal. Venho mais uma vez aqui no TibiaKing solicitar a ajuda dos amigos com o seguinte script. Seguinte, andei trabalhando em um script da anihi que tinha aqui e deixei ele quase 100% do jeito que queria. Com tempo para permanecer na sala e tals. Contudo, estou usando esse script da anihi como base para uma outra quest que envolve uma área maior. Até ai tudo bem, quando acaba o tempo dos jogadores que estavam a fazer a quest eles são teleportador para o templo normalmente. Mas ocorre que caso tais players tenham chegado até o final da quest e a feito em menos tempo do que o tempo necessário, (que no caso ai no script está definido para 2 minutos por conta de testes) ele pode estar em qualquer outro lugar do mapa depois que é mandado para o templo. Portanto estarei deixando o script aqui para quem puder me ajudar a modificá-lo para funcionar 100%. Até tentei usar outros como base aqui trabalhando com storages mas ainda não obtive sucesso. Se alguém pude me ajudar agradeço. Abraços! local config = { from = {x = 22987, y = 19805, z = 7}, -- coordenada do canto superior esquerdo da área. to = {x = 23024, y = 19992, z = 7}, -- coordenada do canto inferior direito da área. } local t = { lvl = 100, Time = 2, -- em minutos entrada = { {x = 23052, y = 19991, z = 7}, -- pos players {x = 23051, y = 19991, z = 7}, {x = 23050, y = 19991, z = 7}, {x = 23049, y = 19991, z = 7} }, saida = { {x = 23017, y = 19985, z = 7}, -- pos para onde eles irão {x = 23019, y = 19985, z = 7}, {x = 23017, y = 19987, z = 7}, {x = 23019, y = 19987, z = 7} }, monstros = { {{x = 23004, y = 19832, z = 7}, "Juggernaut"}, -- defina pos dos montros e nomes {{x = 23004, y = 19834, z = 7}, "Ghazbaran"} } } function getPlayersInArea(fromPos, toPos) local players = {} for _, pid in ipairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), fromPos, toPos) then table.insert(players, pid) end end return players end function VarAnihiPlayer(cid) if not isCreature(cid) then return LUA_ERROR end if #getPlayersInArea(config.from, config.to) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end end function onUse(cid, item, fromPosition, itemEx, toPosition) local check = {} if #getPlayersInArea(config.from, config.to) > 0 then doPlayerSendCancel(cid, 'Aguarde, tem jogadores fazendo a quest.') return true end for _, k in ipairs(t.entrada) do local x = getTopCreature(k).uid if(x == 0 or not isPlayer(x) or getPlayerLevel(x) < t.lvl) then doPlayerSendCancel(cid, 'Está faltando player ou alguém não possui level '..t.lvl..' ou mais.') return true end table.insert(check, x) end for _, summon in pairs(t.monstros) do local creature = getTopCreature(summon[1]).uid if(creature > 0 and not isPlayer(creature)) then doRemoveCreature(creature) end doCleanTile(summon[1]) doCreateMonster(summon[2], summon[1]) end for i, tid in ipairs(check) do doSendMagicEffect(t.entrada[i], CONST_ME_POFF) doTeleportThing(tid, t.saida[i], false) addEvent(VarAnihiPlayer, t.Time*60*1000, tid) doSendMagicEffect(t.saida[i], CONST_ME_ENERGYAREA) end doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) return true end
  15. Nao eu nao estava amigo. Foi bug do meu pc mesmo.
  16. Refiz todo o processo, reinstalei tudo, mas o erro persiste. Muito estranho, vou ver se nao e algo com meu pc ou sei la. Mas me diga uma coisa, não tenho que registrar no login.lua também não? Bom, vamos lá. Fiz alguns testes aqui e peguei o primeiro script que me passou do statschange e coloquei em outra datapack com a mesma distro que tava usando. Resultado, funcionou perfeitamente. Logo, na minha concepção acabo crendo que o lance de meu servidor não possuir a function não está ligado a distro, e sim algo possível de se resolver diretamente na datapack. Deu certo. Agora voltei para minha datapack e funcionou perfeitamente. Realmente deve ter sido alguma coisa de permissão ou firewal do windows. Muito obrigado pelo script Vodkart voce é fera man. Tmj meu amigo! Por mais pessoas como você no Tibiaking.
  17. Então meu amigo. Segue o print de erro que ta dando agora. Está dando aqueles erros como se o arquivo não existisse ou tivesse errado mas esta tudo certo aqui o nome do arquivo com as tags. Em relação ao statschange, eu nao sei se quer dizer alguma coisa, mas no meu server tem outros scritpts que usam essa função. Como do dodge e critical por exemplo. De todo modo, estou olhando aqui para esse erro e tentando ver se arrumo analisando outros scritps e procurando no google e fico aguardando humildemente uma provável solução caso você a tenha. Até aqui meu muito obrigado por está me ajudando.
  18. recebo o seguinte erro vodkart. >>> Loading creaturescripts... [Error - CreatureEvent::configureEvent] No valid type for creature event: sta´╗┐tschange.

Informação Importante

Confirmação de Termo