Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Ola amigos! Bem... eu tou com um grave problema no meu Arena Svargrond Quest!

 

Obs.: Não vou sacanear quem me ajudar! Eu logarei todos os dias pra reputa-lo até alcançar os 15 dias!

 

 - O problema é que eu até consigo comprar a permissão pelo NPC Halvar e passo pela porta, mas quando entro no teleport de Action ID: 42300 o personagem apenas fica em cima do teleport e aparece a seguinte mensagem de erro no distro:

 

20623d1368311278-global-9-60-arena-quest

 

 Obs.: Se eu sumonar uma das criaturas da primeira room da arena eu consigo fazer toda a quest, pegar o prêmio e o goblet!

 

 - Ou seja, o problema está apenas no teleport de Action ID: 42300 (Teleport responsável para iniciar a arena).

 

- E como o erro aponta para o arquivo arenaroom.lua lá vai ele:

 

function onStepIn(cid, item, position, fromPosition)
    if InitArenaScript == 0 then
        InitArenaScript = 1
        -- make arena rooms free
        for i = 0,9 do
            setGlobalStorageValue(42300+i, 0)
            setGlobalStorageValue(42400+i, 0)
        end
        checkArenaRooms({})
    end
    local arena_room = item.actionid
    local player_arena = getPlayerStorageValue(cid, 42355)
    if getPlayerStorageValue(cid, arena_room+getPlayerStorageValue(cid, 42355)*10-1) == 1 or arena_room+getPlayerStorageValue(cid, 42355)*10-1 == 42299 then
        if getGlobalStorageValue(cid, arena_room) == 0 then
            local monster_uid = type(getStorage(arena_room+100)) == 'string' and 0 or getStorage(arena_room+100)
            if monster_uid > 0 then
                if isCreature(monster_uid) == TRUE then
                    doRemoveCreature(monster_uid)
                end
            end
            local spawn_pos = getThingPos(arena_room)
            local monster = doCreateMonster(arena_monsters[arena_room+getPlayerStorageValue(cid, 42355)*10], {x=spawn_pos.x-1,y=spawn_pos.y-1,z=spawn_pos.z})
            setGlobalStorageValue(arena_room+100, monster)
            doTeleportThing(cid, spawn_pos, TRUE)
            setGlobalStorageValue(arena_room, cid)
            setGlobalStorageValue(arena_room-1, 0)
            setPlayerStorageValue(cid, 42350, os.time()+arena_room_max_time)
        else
            doTeleportThing(cid, fromPosition, TRUE)
            doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE,getCreatureName(getGlobalStorageValue(cid, arena_room))..' is now in next room. Wait a moment and try again.')
        end
    else
        doTeleportThing(cid, fromPosition, TRUE)
        doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE,'First kill monster!')
    end
    if arena_room == 42300 then
        setPlayerStorageValue(cid, 42351, 0)
        setPlayerStorageValue(cid, 42352, 1)
    end
    return TRUE
end

function checkArenaRooms(param)
    addEvent(checkArenaRooms, 1000, {})
    for i = 42300, 42309 do
        local player = getGlobalStorageValue(i)
        if isPlayer(player) == TRUE then
            local player_storage = getPlayerStorageValue(player, 42350)
            if player_storage <= os.time() then
                doTeleportThing(player, arenaKickPosition, TRUE)
                setPlayerStorageValue(player, 42350, 0)
                setGlobalStorageValue(i, 0)
                doPlayerSendTextMessage(player,MESSAGE_STATUS_CONSOLE_ORANGE,'You have been kicked from arena! You have only ' .. arena_room_max_time .. ' seconds for one room.')
            elseif player_storage - 10 <= os.time() then
                doPlayerSendTextMessage(player,MESSAGE_EVENT_DEFAULT,'You have ' .. player_storage - os.time() .. ' seconds to go to the next room!')
            end
        else
            setGlobalStorageValue(i, 0)
        end
    end
end

 

|

|

'--> Distro: TFS 0.3.7.0. [9.60].

 

 

 - Eu já chequei e os 3 teleports para iniciar a arena estão com o Action ID: 42300! O que pode ser então?

Editado por 10victory10 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Dwarfer
      MARAVILHOOOOOOSOS, como vocês estão? Espero que estejam bem. ?
      Esses dias fuçando as profundezas sombrias do meu computador encontrei essa quest, a Barbarian Test Quest, do tibia global e agora compartilho-a com vocês. Para quem não conhece, é aquela quest que dá alguns acessos na cidade de Svargrond do tibia global.
      Mais informações, visite o link: https://www.tibiawiki.com.br/wiki/Barbarian_Test_Quest
      As falas do NPC estão 99% iguais ao do tibia global, salvo algumas pequenas modificações/adaptações feitas por mim dando o meu toque, é claro ?. (todos gostam do meu toque) Obviamente, a quest se aplica melhor para servidores de tibia clássico, mas deixei os id's dos itens facilmente editáveis para você adaptar para o seu servidor, seja ele de qual tipo for, para TFS 0.4 ou OTX 2.x.
       
      Configuração:
       
      1) Em data/lib, crie um arquivo chamado Barbarian Test Quest.lua e cole isto dentro:
       
       
      2) Em data/npc/scripts, crie um arquivo chamado Sven.lua e cole isto dentro:
       
       
      O arquivo.xml do NPC Sven, em data/npc é o seguinte:
      <?xml version="1.0" encoding="UTF-8"?> <npc name="Sven" script="Sven.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="143" head="76" body="100" legs="132" feet="97" addons="3" mount="0"/> </npc> 3) Em data/actions/scripts, aconselho criar uma pasta chamada barbarian_test para colocar os arquivos referentes à quest. Dentro dessa pasta, um por um, coloque os arquivos com os nomes abaixo:
       
      bucketmead.lua
       
      meadhorn.lua
       
      mammothpushing.lua
       
      Em data/actions.xml adicione as tags abaixo: (caso altere os ids dos itens para adaptar ao seu servidor, lembre de alterá-los nas tags também)
      <action actionid="8952" script="barbarian_test/bucketmead.lua" /> <action itemid="7140;7141" script="barbarian_test/meadhorn.lua" /> <action itemid="7176" script="barbarian_test/mammothpushing.lua" /> Coloque o actionid 8952 (ou o valor que desejar, lembrando de modificar na tag no actions.xml) no balde de rum localizado próximo ao NPC.
       

       
      Lembre de colocar um NPC adicional ao lado do NPC Sven que venda "rum" para que o jogador possa ficar bêbado e realizar a última missão (missão do mammoth).
          
       
      OBS: Ao finalizar a quest, o jogador receberá a storage 87345 igual a 1. Essa informação pode ser útil para dar acesso a determinadas áreas somente após terminar a quest, por exemplo.
       
      É isso. Espero que seja útil ao servidores que desejam ter um pouquinho mais de RPG. GRANDE ABRAÇO! ?
       
      Esse script faz parte de um conjunto de quests do tibia global que pretendo ir fazendo aos poucos a depender do feedback do pessoal.
      Veja também:
       
    • Por maiconmnt
      Ola amigos do tibiaking, é o seguinte...
      estou precisando de ajuda para fazer algo aqui em um projeto que estou desenvolvendo.
      Comecei a aprender lua esses dias e sei bem o basicão, mas pelo pouco que vi até agora já consegui adaptar vários scripts e fazer algumas coisas bem bacanas em meu server.
       
      porém tem algo que não estou conseguindo de jeito nenhum, e nem estou encontrando um tutorial 100% funcional.
       
      é simplesmente uma área em que tera um bosse e nessa área só pderá ir um player por vez. é uma especie de uma miniquest que tou preparando que para ganhar os itens o player precisa duelar x 1 com esse monstro e caso ele derrote o monstro ele ganha um item e é teleportado para o templo, ou ele vai para uma outra sala que tera o bau para pegar o item. 
       
      esses detalhes não importam, pois eu consigo fazer algo nessa parte, meu problema maior é somente na questão de fazer com que nessa arena, ou nessa pequena área só possa ir um player por vez, seja através de uma alavanca, de um teleport ou de um npc tanto faz.
       
      até tentei utilizar o script do evento fivequest do nosso amigo gabisa00, mas não obtive sucesso.  http://www.tibiaking.com/forum/topic/39375-evento-five-fase-quest/
       
      Também encontrei um outro script que adiciona uma storage ao player quando ele puxa a alavanca e retira essa storage quando ele pisa no tp para sair da arena. assim libera a sala para outro player poder entrar.  vou postar aqui para voces verem, pois foi o mais perto que consegui chegar, depois relato o problema que ta ocorrendo nele. 
       
       
      ESSE É QUANDO PUCHA A ALAVANCA EM ACTIONS
       
       
       
      ESSE ENTRA NO TP PARA SAIR DA ARENA EM MOVEMENTS
       
       
      Até que esse script tá cumprindo com boa parte do propósito, o problema é que se o player morrer na luta com o monstro não será possível que outro player entre, pois constará que há algum player dentro do local ainda já que ele não limpou a storage ao passar pelo tp de saida.
       
      Outro problema também é caso o ot caia ou coisa do tipo, pois também dará conflito com o player que saiu da arena sem ter passado pelo tp que muda a storage.
       
       
      pensei em adicionar algo nesse script que faça a mesma coisa que o tp de saida faz.
      ou seja, algo que muda a storage do player quando ele morrer para determinado monstro.
      algo assim:
       é lógico que isso é apenas um exemplo para que vocês possam compreender melhor e ver se é possível traduzir isso para a linguagem e me ajudar com esse script.
       
      Depois so faltaria encontrar uma solução para quando o server cair ou coisa do tiipo.
       
       
      Bom é isso ai, espero ter sido o mais esclarecedor possível e que alguma boa alma possa me ajudar, pois essa será a pricnipal quest do meu ot. desenvolvi várias missões e outras quests que terminarão nessa, portanto espero poder resolver tal problema com a ajuda da galera aqui.
       
      E é lógico além de levar meu rep +, pode ter certeza de que terá me feito muito feliz
       
      abração a todos
      fiquem com Deus.
    • Por victorat
      Então, primeiramente venho agradecer todos aqui, que até hoje eu nunca precisei pedir nada no TK, pois encontrei tudo o que precisava!
      Mas.. estou com um problema, não consigo criar uma sala "arena" onde existem monstros que o player só poderá passar para outra sala após matar todos os monstros da mesma, ou seja, existem 7 salas e ele poderá usar o teleport após todos monstros da sala serem mortos, tipo em svargrond, se alguém puder me ajudar.. estarei grato!
      obs: "já tenho as 7 salas, ficam todas uma perto da outra"
      TFS 0.4 - 8.60
    • Por yuriowns
      Salve galera, estou procurando aquela cave de Sea Serpent North de Svargrond que tem que falar com o npc Captain Haba para ter acesso. Valeu!!!
    • Por mikesaqua
      Boa Tarde, minha quest arena svargrong esta quase completa, quase tudo!
       
      Meu unico problema é com arena_kill.lua porque  fasso a quest normal pela primeira vez e quando vai ser feita na segunda vez o pilar não e removido porque o teleport permanece na sala, queria saber se tem como adicionar uma linha no meu script para apos eu matar o bicho e pisar no teleport ele ser deletado para não ocasionar o que esta acontecendo do pilar nao ser removido e gerar o novo teleport porque o antigo permace acima.
      coloquei 2 fotos pra ajudar mais!
       
      na primeira vez foi de boas!
      na segunda o pilar nasce por baixo do teleport e mesmo matando o monstro o pilar nao e removido porcausa do teleport que fico agarrado ali, minha pergunta é tem como colocar um comando para deletar o teleport assim que pisar nele porque ai não seria apenas o primeiro que faria a quest e sim todos!
       
      abaixo o arquivo lua do arena_kill.lua
       
      function onKill(cid, target)
       
          local pit = getCreatureStorage(cid, STORAGE_PIT)
          local arena = getCreatureStorage(cid, STORAGE_ARENA)
          if isPlayer(target) then return true end
          if pit < 1 or pit > 10 then return true end
          if arena < 1 then return true end
       
          if isInArray(ARENA[arena].creatures, getCreatureName(target):lower()) then
              local pillar = getTopItem(PITS[pit].pillar)
              local tp = getTopItem(PITS[pit].tp)
                local pos = PITS[pit].pillar
              local effectpos = { 
              {x=pos.x-1,y=pos.y,z=pos.z},
              {x=pos.x+1,y=pos.y,z=pos.z},
              {x=pos.x+1,y=pos.y-1,z=pos.z},
              {x=pos.x+1,y=pos.y+1,z=pos.z},
              {x=pos.x,y=pos.y,z=pos.z}}  
              if pillar.itemid == ITEM_STONEPILLAR then
              for i = 1, table.maxn(effectpos) do 
                  doSendMagicEffect(effectpos,12) 
                  end 
                  doRemoveItem(pillar.uid)        --- Tentei adicionar aqui outra linha pra remover o ITEM_TELEPORT só q não funciono!
                  local tpaid = doCreateItem(ITEM_TELEPORT, 1, PITS[pit].tp)
                          doSetItemActionId(tpaid,25200)
              else
                  print("[Svargrond Arena::CreatureEvent] Cannot remove stone pillar on position X: " .. PITS[pit].pillar.x .. ", Y: " .. PITS[pit].pillar.y .. ", Z: " .. PITS[pit].pillar.z .. ".")
              end
              doCreatureSetStorage(cid, STORAGE_PIT, pit + 1)
              doCreatureSay(cid, "Victory! Head through the new teleporter into the next room.", TALKTYPE_MONSTER)
          end
          return true
      end
       
       
       
       


×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo