Ir para conteúdo

Featured Replies

Postado
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 por Skydrowz (veja o histórico de edições)

Master yourself, master the enemy.

  • Respostas 22
  • Visualizações 1.7k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • aguenta ai que jaja te mando, vou testar no meu server  

  • function onUse(cid, item, frompos, item2, topos) local townid = 4 ---- id da town if isPlayer(cid) == TRUE then doPlayerSendTextMessage(cid,22,"Agora voce e morador da cidade " .. getTownName(townId)

  • 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á é morado

Postado
  • 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! =D

 

Apareceu isso: 

 

[Warning - Event::checkScript] Can not load script: scripts/morador.lua
data/actions/scripts/morador.lua:14: '=' expected near 'return'

Postado
3 minutos atrás, Maste disse:

 

Entendi! Vou ver o que posso fazer. Obrigado! =D

 

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
  • 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
  • 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 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.

Visitante
Responder

Quem Está Navegando 0

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

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo