Ir para conteúdo

Featured Replies

Postado

.Qual servidor ou website você utiliza como base? uso base do dborox, tfs 0.4

 

Qual o motivo deste tópico? estou necessitando do script para terminar uma quest, preciso de um movements que verifique se existe players em x posição, se tiverem players la, então o player não poderar subir no tile, agredeço!

 

obs: ja tentei procurar algum script parecido, mas não consegui achar.

 

 

Editado por hiquezerah (veja o histórico de edições)

  • Respostas 5
  • Visualizações 1.5k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @hiquezerah  from = canto superior esquerdo. to = canto inferior esquerdo. OBS: O script não pode checar o tile em que o player irá pisar. Fica esperto!  

Postado

@hiquezerah 

from = canto superior esquerdo.

to = canto inferior esquerdo.

OBS: O script não pode checar o tile em que o player irá pisar. Fica esperto!

Spoiler

function onStepIn(cid, item, fromPosition, toPosition, lastPosition)

local from, to = {x = 1263, y = 1249, z = 7}, {x = 1273, y = 1251, z = 7}
  
	for x = from.x, to.x do
		for y = from.y, to.y do
			local n_pos = {x = x, y = y, z = from.z, stackpos = 255}
			local check = getThingFromPos(n_pos).uid

			if isPlayer(check) and getTopCreature(n_pos).uid >= 1 then
				doSendMagicEffect(getCreaturePosition(cid), 2)
				doTeleportThing(cid, lastPosition)
				return true
			end
		end
	end

	doSendMagicEffect(getCreaturePosition(cid), 12)
	return true
end

 

 

Editado por JoviM (veja o histórico de edições)

Postado
  • Autor

@JoviM não entendi muito bem, eu coloquei no tile para verificar se existia players dentro da quest, porém quando vou até o "sqm" de checar o servidor cai. Quando você mencionou "O script não pode checar o tile em que o player irá pisar. Fica esperto!" o que quis dizer com isso? e como eu poderia fazer, se poder ajuda eu agredeço! 

9 horas atrás, JoviM disse:

@hiquezerah 

from = canto superior esquerdo.

to = canto inferior esquerdo.

OBS: O script não pode checar o tile em que o player irá pisar. Fica esperto!

  Ocultar conteúdo


function onStepIn(cid, item, fromPosition, toPosition, lastPosition)

local from, to = {x = 1263, y = 1249, z = 7}, {x = 1273, y = 1251, z = 7}
  
	for x = from.x, to.x do
		for y = from.y, to.y do
			local n_pos = {x = x, y = y, z = from.z, stackpos = 255}
			local check = getThingFromPos(n_pos).uid

			if isPlayer(check) and getTopCreature(n_pos).uid >= 1 then
				doSendMagicEffect(getCreaturePosition(cid), 2)
				doTeleportThing(cid, lastPosition)
				return true
			end
		end
	end

	doSendMagicEffect(getCreaturePosition(cid), 12)
	return true
end

 

 

 

 

Editado por hiquezerah (veja o histórico de edições)

Postado

@hiquezerah Testa agora, acredito que o crash foi solucionado. O problema do tile que eu havia citado.. passa uma posição dentro da área, após o tile, para o player ser teleportado que soluciona.

 

Edit: Um membro apontou alguns erros no código.. código melhor estruturado!

 

Spoiler

function onStepIn(cid, item, position, fromPosition)

local from, to = {x = 1263, y = 1249, z = 7}, {x = 1273, y = 1251, z = 7}
local newPos = {x = 1263, y = 1250, z = 7}

	for x = from.x, to.x do
		for y = from.y, to.y do
			local creature = getTopCreature({x = x, y = y, z = from.z})

			if isPlayer(creature.uid) and creature.uid ~= 0 then
				doSendMagicEffect(getCreaturePosition(cid), 2)
				doTeleportThing(cid, fromPosition)
				return true
			end
		end
	end

	doTeleportThing(cid, newPos)
	return true
end

 

 newPos = posição para qual o player será teleportado.

 

Editado por JoviM (veja o histórico de edições)

Postado
  • Autor
Em 28/06/2019 em 08:54, JoviM disse:

@hiquezerah Testa agora, acredito que o crash foi solucionado. O problema do tile que eu havia citado.. passa uma posição dentro da área, após o tile, para o player ser teleportado que soluciona.

 

Edit: Um membro apontou alguns erros no código.. código melhor estruturado!

 

  Ocultar conteúdo


function onStepIn(cid, item, position, fromPosition)

local from, to = {x = 1263, y = 1249, z = 7}, {x = 1273, y = 1251, z = 7}
local newPos = {x = 1263, y = 1250, z = 7}

	for x = from.x, to.x do
		for y = from.y, to.y do
			local creature = getTopCreature({x = x, y = y, z = from.z})

			if isPlayer(creature.uid) and creature.uid ~= 0 then
				doSendMagicEffect(getCreaturePosition(cid), 2)
				doTeleportThing(cid, fromPosition)
				return true
			end
		end
	end

	doTeleportThing(cid, newPos)
	return true
end

 

 newPos = posição para qual o player será teleportado.

 

 

@JoviM exato, o crash no servidor parou, porém o script não está checando a area determinada se existe players lá, não tem nenhum player dentro da quest e eu não consigo subir no sqm, preciso que o script verifique se existe ao menos 1 player dentro da quest, se houver ele não poderá subir no sqm, se não tiver nenhum player na area determinada, ele poderá!

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo