Ir para conteúdo

Featured Replies

Postado

Pessoal vou relatar o que aconteceu pra quem sabe vocês consigam me ajudar. Estava atualizando meu mapa no RME, em geral minhas cidades ficam no floor 7 e os respaws que eu estava criando eram no floor 8, rodei o servidor com essas modificações e começaram a acontecer dois problemas:

 

- Quando os players morriam nesses novos teleports eles eram redirecionados para a posição posx=0 , posy= 0, posz =0 e consequentemente eles não conseguiam logar mais.

 

- Ao tentar executar o comando /t pra teleportar para a cidade recebo o seguinte erro

 

[6:22:00.094] [Error - TalkAction Interface]
[6:22:00.094] data/talkactions/scripts/teleporttown.lua:onSay
[6:22:00.094] Description:
[6:22:00.094] data/talkactions/scripts/teleporttown.lua:38: attempt to concatenate field '?' (a nil value)
[6:22:00.094] stack traceback:
[6:22:00.094]   data/talkactions/scripts/teleporttown.lua:38: in function <data/talkactions/scripts/teleporttown.lua:1>

 

Segue abaixo o teleporttown.lua

 

function onSay(cid, words, param, channel)
	local master = false
	if(words == '/t') then
		master = true
	elseif(param == '') then
		local str = ""
		for i, town in ipairs(getTownList()) do
			str = str .. town.name .. "\n"
		end

		doShowTextDialog(cid, 2160, str)
		return true
	end

	local tid, t = cid, string.explode(param, ",")
	if(t[(master and 1 or 2)]) then
		tid = getPlayerByNameWildcard(t[(master and 1 or 2)])
		if(not tid or (isPlayerGhost(tid) and getPlayerAccess(tid) > getPlayerAccess(cid))) then
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. t[(master and 1 or 2)] .. " not found.")
			return true
		end
	end

	local tmp = getPlayerTown(cid)
	if(not master) then
		tmp = t[1]
		if(not tonumber(tmp)) then
			tmp = getTownId(tmp)
			if(not tmp) then
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Town " .. t[1] .. " does not exists.")
				return true
			end
		end
	end

	local pos = getTownTemplePosition(tmp)
	if(type(pos) ~= 'table' or isInArray({pos.x, pos.y}, 0)) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Town " .. t[1] .. " does not exists or has invalid temple position.")
		return true
	end

	pos = getClosestFreeTile(tid, pos)
	if(type(pos) ~= 'table' or isInArray({pos.x, pos.y}, 0)) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Destination not reachable.")
		return true
	end

	tmp = getCreaturePosition(tid)
	if(doTeleportThing(tid, pos) and not isPlayerGhost(tid)) then
		doSendMagicEffect(tmp, CONST_ME_POFF)
		doSendMagicEffect(pos, CONST_ME_TELEPORT)
	end

	return true
end

Se for algo que tenha que limpar na database, gostaria de um jeito que não perdesse os jogadores , items deles e etc.

 

Obrigado.

Postado

A 'town' deles deve estar '0' (zero) no banco de dados.

 

Para corrigir, abra seu navegador (FireFox, Chrome, Internet Explorer) e, no lugar do 'link' insira

'localhost/phpMyAdmin'

Depois vá na tabela 'players' e, na parte superior, em 'sql' coloque este comando e execute:

UPDATE players SET town_id = 1, posx = 837, posy = 817, posz = 3 WHERE town_id = 0

No lugar das 'pos' acima você coloca as posições x, y e z do templo da sua cidade. Penso que isto irá resolver.

 

 

 

5YkRF3w.gif

 

 

 

 

 

 

CzysZUR.gifytaam6k.png

 

 

  • 4 years later...

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.6k

Informação Importante

Confirmação de Termo