Ir para conteúdo
  • 0

Erro script de tp


leandrozera

Pergunta

ola galera to com um problema quando todas salas de treiners estão lotadas aparece seguinte erro

[21/5/2015 15:18:20] [Error - MoveEvents Interface]
[21/5/2015 15:18:20] data/movements/scripts/trainingroom.lua:onStepIn
[21/5/2015 15:18:20] Description:
[21/5/2015 15:18:20] (luaGetThingPosition) Thing not found 

gostaria tb de por so para players level 50 entrar no tp

function onStepIn(cid, item, position, fromPosition)
for i = 2700, 3900 do
local pos = getThingPos(i)
if not isPlayer(getTopCreature(pos).uid) then
doTeleportThing(cid, pos)
doCreatureSay(cid, 'Using a tool to cast spells or to keep your character online is ok.', TALKTYPE_ORANGE_1, false, cid)
doSendMagicEffect(position, CONST_ME_TELEPORT)
doSendMagicEffect(pos, CONST_ME_TELEPORT)
return true
end
doTeleportThing(cid, fromPosition, true)
doCreatureSay(cid, 'All training slots are taken', TALKTYPE_ORANGE_1, false, cid)
doSendMagicEffect(fromPosition, CONST_ME_TELEPORT)
end
return true
end

up

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

@@leandrozera,

Tente assim:

local level = 50 -- level para passar

function onStepIn(cid, item, position, fromPosition)
	for i = 2700, 3900 do
		local pos = getThingfromPos(i)
		if not isPlayer(getTopCreature(pos).uid) and getPlayerLevel(cid) >= level then
			doTeleportThing(cid, pos)
			doCreatureSay(cid, 'Using a tool to cast spells or to keep your character online is ok.', TALKTYPE_ORANGE_1, false, cid)
			doSendMagicEffect(position, CONST_ME_TELEPORT)
			doSendMagicEffect(pos, CONST_ME_TELEPORT)
			return true
		end
		if getPlayerLevel(cid) < level then
			doCreatureSay(cid, 'You need level ' .. level .. ' to access this area.', TALKTYPE_ORANGE_1, false, cid)
		else
			doCreatureSay(cid, 'All training slots are taken.', TALKTYPE_ORANGE_1, false, cid)
		end
		doTeleportThing(cid, fromPosition, true)
		doSendMagicEffect(fromPosition, CONST_ME_TELEPORT)
	end
	return true
end
Link para o comentário
Compartilhar em outros sites

  • 0

Tenta assim:

local level = 50 -- level para passar

function onStepIn(cid, item, position, fromPosition)
	if not isPlayer(cid) or (isPlayer(cid) and getPlayerLevel(cid) < level) then
		doTeleportThing(cid, fromPosition)
		doSendMagicEffect(fromPosition, CONST_ME_TELEPORT)
		return false
	end
	return true
end
Link para o comentário
Compartilhar em outros sites

  • 0

 

Tenta assim:

local level = 50 -- level para passar

function onStepIn(cid, item, position, fromPosition)
	if not isPlayer(cid) or (isPlayer(cid) and getPlayerLevel(cid) < level) then
		doTeleportThing(cid, fromPosition)
		doSendMagicEffect(fromPosition, CONST_ME_TELEPORT)
		return false
	end
	return true
end

tem que ter a função

for i = 2700, 3900 do
local pos = getThingPos(i)
if not isPlayer(getTopCreature(pos).uid) then

se n o script n funfa, a função desse escript e checar x getThingPos(i) para ver se tem algum player em algum title com as uid de 2700 até 3900 e teletransportá-lo caso tenha ele pula para próximo getThingPos(i) que eu tive que adicionar em cada title uid do 2700 até 3900.

Editado por leandrozera
Link para o comentário
Compartilhar em outros sites

  • 0

^ qual a versão do seu tfs ? acredito que em 0.4 sem umas tabela com as posições é impossível, pois não conheço nenhuma função que verifique diretamente o "uid" ou "aid" de um tile, no tfs 1.x + já é possível fazer isso.

Link para o comentário
Compartilhar em outros sites

  • 0

^ Então creio que sem uma tabela com todas as posições dos tiles que tu quer, acho que é inviável conseguir do método que tu falou, apenas que tenha alguma função ou método de fazer isso que eu desconheça, que é bem difícil.

Link para o comentário
Compartilhar em outros sites

  • 0

Resolvido!

lol descobri erro aqui, eu estava pondo uid ate 3600 sendo que eu tinha criado os uid ate 3200 ai o script continuou lendo as demais sorry

Editado por leandrozera
Link para o comentário
Compartilhar em outros sites

  • 0

Tópico movido para a seção de dúvidas e pedidos resolvidos.

só um detalhe agora ta aparecendo 2 mensagem quando player e level menor que 50 e quando as salas tão cheias

 

8IbudFr.pngUNNjD80.png

Link para o comentário
Compartilhar em outros sites

  • 0

só um detalhe agora ta aparecendo 2 mensagem quando player e level menor que 50 e quando as salas tão cheias

 

8IbudFr.pngUNNjD80.png

Você está usando o script que eu coloquei?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...