Jump to content

Dúvida sobre tabelas


Recommended Posts

Posted (edited)

 

Boa tarde, eu quero que a tabela selecionada seja definida de acordo com a element data setada mas o código não está selecionando nenhuma tabela. Alguém poderia me explicar?

	local tabelaselecionada = getElementData(player, "tabelaselecionada")
	outputDebugString("Nome da tabela obtido: " .. tostring(tabelaselecionada))  -- Debug: ver o valor de nomeTabela

	if tabelaselecionada and type(tabelaselecionada) == "table" then
        for _, coord in ipairs(tabelaselecionada) do
            local cx, cy, cz = coord[1], coord[2], coord[3]
            local distancia = getDistanceBetweenPoints3D(x, y, z, cx, cy, cz)
            
            if distancia < menorDistancia then
                menorDistancia = distancia
                coordenadaMaisProxima = coord
            end
        end
    else
        outputDebugString("tabelaselecionada não é uma tabela ou não foi definida corretamente.")
    end

No primeiro outputDebugString ele está me informada a tabela desejada que foi colocada anteriormente por "setElementData(player, "tabelaselecionada", "teste1")", mas mesmo a tabela teste1 existindo ele não seleciona ela pelo getElementData mas se eu troco o "ipairs(tabelaselecionada)" por "ipairs(teste1)", o código funciona normalmente. Como eu devo arrumar para que a tabela selecionada seja a determinada no elementdata? 

Mensagem de erro:
 

INFO: Nome da tabela obtido: teste1
INFO: tabelaselecionada não é uma tabela ou não foi definida corretamente.


 

Edited by Couto
Posted (edited)
9 hours ago, Couto said:

 

Boa tarde, eu quero que a tabela selecionada seja definida de acordo com a element data setada mas o código não está selecionando nenhuma tabela. Alguém poderia me explicar?

	local tabelaselecionada = getElementData(player, "tabelaselecionada")
	outputDebugString("Nome da tabela obtido: " .. tostring(tabelaselecionada))  -- Debug: ver o valor de nomeTabela

	if tabelaselecionada and type(tabelaselecionada) == "table" then
        for _, coord in ipairs(tabelaselecionada) do
            local cx, cy, cz = coord[1], coord[2], coord[3]
            local distancia = getDistanceBetweenPoints3D(x, y, z, cx, cy, cz)
            
            if distancia < menorDistancia then
                menorDistancia = distancia
                coordenadaMaisProxima = coord
            end
        end
    else
        outputDebugString("tabelaselecionada não é uma tabela ou não foi definida corretamente.")
    end

No primeiro outputDebugString ele está me informada a tabela desejada que foi colocada anteriormente por "setElementData(player, "tabelaselecionada", "teste1")", mas mesmo a tabela teste1 existindo ele não seleciona ela pelo getElementData mas se eu troco o "ipairs(tabelaselecionada)" por "ipairs(teste1)", o código funciona normalmente. Como eu devo arrumar para que a tabela selecionada seja a determinada no elementdata? 

Mensagem de erro:
 

INFO: Nome da tabela obtido: teste1
INFO: tabelaselecionada não é uma tabela ou não foi definida corretamente.


 

Boa noite, tudo bem?
Como você onde está definindo essa element data?

Edited by Blaack
Posted (edited)
11 hours ago, Blaack said:

Boa noite, tudo bem?
Como você onde está definindo essa element data?

A element data ta sendo definida em uma outra função e essa função citada é chamada nela após a element data ser definida:

setElementData(player, "tabelaselecionada", "teste1")
gerartabela()

Mas o problema não ta sendo a elementdata, ela ta sendo setada corretamente. Coloquei um OutputChatBox antes para ter certeza disso.

Edited by Couto
  • Moderators
Posted

A sua elementData é uma string "teste1" e não uma tabela. Por isso não vai dar certo.

Tente setar uma tabela no setElementData.

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...