Gaimo Posted July 13, 2020 Share Posted July 13, 2020 players = {} function startWork (source) print(getPlayerName(source)) -- Retorna o nick ou seja o source existe if not players[source] then players[source]["rubble"] = 0 players[source]["rubbleRemoved"] = false players[source]["atWork"] = false end end Quando eu tento players[source]["rubble"] = 0, Não era pra adicionar na tablela o source? tipo assim: players{ source = {"rubble" = 0}, } Erro no debugscript: attempt to index field "?" (a nil value) Link to comment
Other Languages Moderators androksi Posted July 13, 2020 Other Languages Moderators Share Posted July 13, 2020 (edited) Isso ocorre pois você precisa criar uma tabela para a tabela que indexa o jogador também. Dessa forma: local players = {} function startWork (source) print(getPlayerName(source)) -- Retorna o nick ou seja o source existe if not players[source] then players[source] = {} players[source]["rubble"] = 0 players[source]["rubbleRemoved"] = false players[source]["atWork"] = false end end Offtopic: percebo que você costuma não utilizar variáveis locais, o que deixa a desejar em questão de otimização (não é tanta diferença, mas boas práticas de programação devem estar em todos os códigos ). No topo do seu código, defina todas as tabelas e variáveis como local. Ao decorrer do código, você poderá usar sem o local, pois uma vez definida dessa forma, sempre será local. Isso vale também para funções, laços de repetições e afins, sempre considere usar local para definir uma variável ou tabela dentro do escopo seja de função ou laço de repetição. Edited July 13, 2020 by andreisrww 1 1 Link to comment
Gaimo Posted July 13, 2020 Author Share Posted July 13, 2020 Outra dúvida relacionada a tabelas, se eu quiser criar algo assim: markers["nome"] = createMarker..... Como eu crio direto na tabela? Assim? Markers={ ["nome"] = CreateMarker... , ["outroNome"] = 77, } Link to comment
Other Languages Moderators androksi Posted July 13, 2020 Other Languages Moderators Share Posted July 13, 2020 Sim, você pode fazer isso, sem problema algum. Editei a minha outra resposta, leia por favor, apenas um conselho sobre o seu código. 1 Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now