Postado Junho 25, 2018 7 anos 7 minutos atrás, Maste disse: Testando o seu apareceu isso: Lua Script Error: [Action Interface] data/actions/scripts/morador.lua:onUse data/actions/scripts/morador.lua:4: attempt to index global 'town' (a nil value) stack traceback: [C]: in function '__index' data/actions/scripts/morador.lua:4: in function <data/actions/scripts/morador.lua:1> Essa procedimento de tabela seria para não criar vários arquivos 'iguais'? Esse local config pode ser colocar em qualquer lugar do script? O config seria uma tabela local antes da função. Caso você queira usar a tabela, vai ter que alterar um pouquinho o código. Mas é muito melhor mesmo. Sobre o erro, é só trocar town por Town. Acabei me confundindo olhando as funções no Luascripts. xD function onUse(player, item) local townId = 4 local townName = Town(townId):getName() if player:getTown() == townId then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Você já é morador desta cidade.") return false else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Parabéns! Você agora é morador de " .. townName .. ".") player:setTown(townId) player:sendMagicEffect(CONST_ME_YELLOW_RINGS) end return true end @Maste Havia outro erro sim, acabei de corrigir. Pode testar agora. Editado Junho 25, 2018 7 anos por Skydrowz (veja o histórico de edições) Master yourself, master the enemy.
Postado Junho 25, 2018 7 anos Autor 5 minutos atrás, Skydrowz disse: O config seria uma tabela local antes da função. Caso você queira usar a tabela, vai ter que alterar um pouquinho o código. Mas é muito melhor mesmo. Sobre o erro, é só trocar town por Town. Acabei me confundindo olhando as funções no Luascripts. xD function onUse(player, item) local townId = 4 local townName = Town:getName(townId) if player:getTown() == townId then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Você já é morador desta cidade.") return false else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Parabéns! Você agora é morador de " .. townName .. ".") player:setTown(townId) player:sendMagicEffect(CONST_ME_YELLOW_RINGS) end return true end Entendi! Vou ver o que posso fazer. Obrigado! Apareceu isso: [Warning - Event::checkScript] Can not load script: scripts/morador.lua data/actions/scripts/morador.lua:14: '=' expected near 'return'
Postado Junho 25, 2018 7 anos 3 minutos atrás, Maste disse: Entendi! Vou ver o que posso fazer. Obrigado! Apareceu isso: [Warning - Event::checkScript] Can not load script: scripts/morador.lua data/actions/scripts/morador.lua:14: '=' expected near 'return' Havia atualizado o código. Dá uma olhada de novo lá. Mudei em: local townName = Town(townId):getName() Acho que você pegou o código antes da edição ? Master yourself, master the enemy.
Postado Junho 25, 2018 7 anos Autor 5 minutos atrás, Skydrowz disse: Havia atualizado o código. Dá uma olhada de novo lá. Mudei em: local townName = Town(townId):getName() Acho que você pegou o código antes da edição ? Desculpe pelo transtorno, mas o error continua: [Warning - Event::checkScript] Can not load script: scripts/morador.lua data/actions/scripts/morador.lua:14: '=' expected near 'return'
Postado Junho 25, 2018 7 anos Solução function onUse(player, item) local townId = 4 local townName = Town(townId):getName() if player:getTown():getId() == townId then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Você já é morador desta cidade.") return false else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Parabéns! Você agora é morador de " .. townName .. ".") player:setTown(townId) player:getPosition():sendMagicEffect(CONST_ME_YELLOW_RINGS) end return true end Agora vai. Desculpa, é que não tô testando. Tô fazendo de cabeça. xD São só erros de função mesmo. Sempre esqueço algumas... Editado Junho 25, 2018 7 anos por Skydrowz (veja o histórico de edições) Master yourself, master the enemy.
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.