Ir para conteúdo

Featured Replies

Postado

Base: TFS 0.4.3

 

 

Qual erro está surgindo/O que você procura?

Quest Annihilator, quando os players puxam a alavanca da posição da ESQUERDA para a DIREITA que são teleportados, após sair da quest quando outros players ou os mesmos tentam entrar na quest de novo da erro no distro " (luaGetThingFromPos) Tile not found ".

Isso acontece quando a alavanca está para a direita e sobraram demons lá dentro, quando puxam de volta que os demons restantes somem, aí trava, dá os bugs no distro, e a alavanca volta pra ESQUERDA e eles puxam de novo e entram na quest e isso se repete, sempre dando erro no distro quando tem que voltar a alavanca pra puxar de novo e serem teleportados.
Alguém pode ajudar a consertar isso ?

 

Você tem o código disponível? Se tiver publique-o aqui:

function onUse(cid, item, fromPosition, itemEx, toPosition)
  local room = {     -- room with demons
        fromX = 489,
        fromY = 749,
        fromZ = 10,

        toX = 503,
        toY = 760,
        toZ = 10
        }

        local monster_pos = {
        [1] = {pos = {489, 754, 10}, monster = "Demon"},
        [2] = {pos = {489, 756, 10}, monster = "Demon"},
        [3] = {pos = {491, 752, 10}, monster = "Demon"},
        [4] = {pos = {492, 752, 10}, monster = "Demon"},
        [5] = {pos = {493, 752, 10}, monster = "Demon"},
        [6] = {pos = {494, 752, 10}, monster = "Demon"}
        }

        local players_pos = {
        {x = 479, y =755, z = 9, stackpos = 253},
        {x = 480, y =755, z = 9, stackpos = 253},
        {x = 481, y =755, z = 9, stackpos = 253},
        {x = 482, y =755, z = 9, stackpos = 253}
        }

        local new_player_pos = {
        {x = 492, y = 755, z = 10},
        {x = 493, y = 755, z = 10},
        {x = 494, y = 755, z = 10},
        {x = 495, y = 755, z = 10}
        }

        local playersOnly = "yes"
        local questLevel = 150

        local all_ready, monsters, player, level = 0, 0, {}, 0
        if item.itemid == 10029 then
                for i = 1, #players_pos do
                        table.insert(player, 0)
                end
                for i = 1, #players_pos do
                        player[i] = getThingfromPos(players_pos[i])
                        if player[i].itemid > 0 then
                                if string.lower(playersOnly) == "yes" then
                                        if isPlayer(player[i].uid) == TRUE then
                                                all_ready = all_ready+1
                                        else
                                                monsters = monsters+1
                                        end
                                else
                                        all_ready = all_ready+1
                                end
                        end
                end
                if all_ready == #players_pos then
                        for i = 1, #players_pos do
                                player[i] = getThingfromPos(players_pos[i])
                                if isPlayer(player[i].uid) == TRUE then
                                        if getPlayerLevel(player[i].uid) >= questLevel then
                                                level = level+1
                                        end
                                else
                                        level = level+1
                                end
                        end
                        if level == #players_pos then
                                if string.lower(playersOnly) == "yes" and monsters == 0 or string.lower(playersOnly) == "no" then
                                        for _, area in pairs(monster_pos) do
                                                        doSummonCreature(area.monster,{x=area.pos[1],y=area.pos[2],z=area.pos[3]})
                                        end
                                        for i = 1, #players_pos do
                                                doSendMagicEffect(players_pos[i], CONST_ME_POFF)
                                                doTeleportThing(player[i].uid, new_player_pos[i], FALSE)
                                                doSendMagicEffect(new_player_pos[i], CONST_ME_ENERGYAREA)
                                                doTransformItem(item.uid,10030)
                                        end
                                else
                                        doPlayerSendTextMessage(cid,22,"Only players can do this quest.")
                                end
                        else
                                doPlayerSendTextMessage(cid,22,"All Players have to be level "..questLevel.." to do this quest.")
                        end
                else
                        doPlayerSendTextMessage(cid,22,"You need "..table.getn(players_pos).." players to do this quest.")
                end
        elseif item.itemid == 10030 then
                local player_room = 0
                for x = room.fromX, room.toX do
                        for y = room.fromY, room.toY do
                                for z = room.fromZ, room.toZ do
                                        local pos = {x=x, y=y, z=z,stackpos = 253}
                                        local thing = getThingfromPos(pos)
                                        if thing.itemid > 0 then
                                                if isPlayer(thing.uid) == TRUE then
                                                        player_room = player_room+1
                                                end
                                        end
                                end
                        end
                end
                if player_room >= 1 then
                        doPlayerSendTextMessage(cid,22,"There is already a team in the quest room.")          
                elseif player_room == 0 then
                        for x = room.fromX, room.toX do
                                for y = room.fromY, room.toY do
                                        for z = room.fromZ, room.toZ do
                                                local pos = {x=x, y=y, z=z,stackpos = 253}
                                                local thing = getThingfromPos(pos)
                                                if thing.itemid > 0 then
                                                        doRemoveCreature(thing.uid)
                                                end
                                        end
                                end
                        end
                        doTransformItem(item.uid,10029)
                end
        end
        return TRUE
end 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.

TileBug.png

Up

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo