Ir para conteúdo
  • Cadastre-se

(Resolvido)Exhausted em uma lever


Ir para solução Resolvido por Storm,

Posts Recomendados

estou usando tfs 0.4 

Citar

 

 

Você tem o código disponível? Se tiver publique-o aqui: 

 local t = {
	lvl = 8,
	Time = 10, -- em minutos
	entrada =
	{
		{x = 15, y = 53, z = 13}, -- pos players
		{x = 16, y = 53, z = 13},
	},
	saida =
	{
		{x = 18, y = 60, z = 13}, -- pos para onde eles irão
		{x = 21, y = 60, z = 13},
	},
	monstros =
	{
		{{x = 122, y = 10, z = 9}, "Rabbit"}, -- defina pos dos montros e nomes
		{{x = 123, y = 10, z = 9}, "Deer"},
		{{x = 124, y = 10, z = 9}, "Parrot"},
		{{x = 125, y = 10, z = 9}, "Cat"},
		{{x = 122, y = 13, z = 9}, "Dog"},
		{{x = 124, y = 14, z = 9}, "Bear"},
		{{x = 124, y = 15, z = 9}, "Spider"}
	} 
}
function VarAnihiPlayer(cid)
	if not isCreature(cid) then return LUA_ERROR end
	if isInRange(getPlayerPosition(cid), t.saida[1], t.saida[#t.saida]) then
		doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
	end
end
function getPlayersInArea(fromPos, toPos)
	local players = {}
	for _, pid in ipairs(getPlayersOnline()) do
		if isInRange(getPlayerPosition(pid), fromPos, toPos) then
			table.insert(players, pid)
		end
	end
	return players
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
	local check = {}
	if #getPlayersInArea(t.saida[1], t.saida[#t.saida]) > 0 then
		doPlayerSendCancel(cid, 'please, wait') return true
	end
	for _, k in ipairs(t.entrada) do
		local x = getTopCreature(k).uid
		if(x == 0 or not isPlayer(x) or getPlayerLevel(x) < t.lvl) then
			doPlayerSendCancel(cid, 'É necessário ter 2 players para o duelo e ser level'..t.lvl..' ou mais.') return true
		end
		table.insert(check, x)
	end
	for _, summon in pairs(t.monstros) do
		local creature = getTopCreature(summon[1]).uid
		if(creature > 0 and not isPlayer(creature)) then
			doRemoveCreature(creature)
		end
		doCleanTile(summon[1])
		doCreateMonster(summon[2], summon[1])
	end
	for i, tid in ipairs(check) do
		doSendMagicEffect(t.entrada[i], CONST_ME_POFF)
		doTeleportThing(tid, t.saida[i], false)
		addEvent(VarAnihiPlayer, t.Time*60*1000, tid)
		doSendMagicEffect(t.saida[i], CONST_ME_ENERGYAREA)
	end
	doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
	return true
end

Olá, boa quarentena a todos, tudo bem? Eu preciso de um suporte a respeito deste script... Estou usando ele em meu ot para teleportar os players para uma sala do famoso ''frodo'' onde os players adoram brincar de push, então coloquei este script para apenas entrar 2 players de uma vez e assim duelar sem interferência de terceiros. Até ai tudo ok. O problema está dando quando os dois players saem do sqm que foram teleportados (em vermelho) e andam 1 sqm, isso faz com que libere a alavanca para outros players entrar na mesma hora sem precisar aguardar eles sair. O meu pedido em resumo seria para que o script checasse a sala toda para saber se há players nela ou não... Porque o script já está reconhecendo os 2 sqm's de destino e não deixa usar a alavanca enquanto tiver player neles (tile em vermelho), porém ele ignora o restante. Acho que consegui explicar bem detalhado rsrs. Alguém consegue me ajudar? (a versão é 8.60)

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

lever bug.png

                                                                                                               destinyshield.gif.9f031b59b026058f32a1c50da92ebe2a.gif  mídias sociais  destinyshield.gif.02fca81ab0615e050b2bcefd8a73a2e8.gif

                                                                                                                            talk to me              

                                                                                                                               vídeos           

                                                                                             

                                                                                                            LOGONORMAL.png.815b40b04ec583be88d8a1e2626fe430.png

                                                                                                           

                               

Link para o post
Compartilhar em outros sites

@Storm e como faço isso? eu sou extremamente leigo em questão de scripts. Eu entendi o que você quis dizer porque eu uso um script assim nos trainers do meu ot, porém eu não sei o que escrever e onde colocar. E para caso alguém futuramente tenha dúvidas no script, tem monstros sendo sumonados nele porque é uma adaptação da anihi e eu não consegui remover os monstros rsrsrs Mas isso não vem ao caso haha

                                                                                                               destinyshield.gif.9f031b59b026058f32a1c50da92ebe2a.gif  mídias sociais  destinyshield.gif.02fca81ab0615e050b2bcefd8a73a2e8.gif

                                                                                                                            talk to me              

                                                                                                                               vídeos           

                                                                                             

                                                                                                            LOGONORMAL.png.815b40b04ec583be88d8a1e2626fe430.png

                                                                                                           

                               

Link para o post
Compartilhar em outros sites
  • Solução

@Rogex Joyz 

 

Spoiler

 local t = {
	lvl = 8,
	Time = 10, -- em minutos
	entrada =
	{
		{x = 15, y = 53, z = 13}, -- pos players
		{x = 16, y = 53, z = 13},
	},
	saida =
	{
		{x = 18, y = 60, z = 13}, -- pos para onde eles irão
		{x = 21, y = 60, z = 13},
	},
	area = 
	{								-- fromPos e toPos
		{x = 18, y = 60, z = 13},	
		{x = 21, y = 60, z = 13},
	},
	monstros =
	{
		{{x = 122, y = 10, z = 9}, "Rabbit"}, -- defina pos dos montros e nomes
		{{x = 123, y = 10, z = 9}, "Deer"},
		{{x = 124, y = 10, z = 9}, "Parrot"},
		{{x = 125, y = 10, z = 9}, "Cat"},
		{{x = 122, y = 13, z = 9}, "Dog"},
		{{x = 124, y = 14, z = 9}, "Bear"},
		{{x = 124, y = 15, z = 9}, "Spider"}
	} 
}
function VarAnihiPlayer(cid)
	if not isCreature(cid) then return LUA_ERROR end
	if isInRange(getPlayerPosition(cid), t.saida[1], t.saida[#t.saida]) then
		doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
	end
end
function getPlayersInArea(fromPos, toPos)
	local players = {}
	for _, pid in ipairs(getPlayersOnline()) do
		if isInRange(getPlayerPosition(pid), fromPos, toPos) then
			table.insert(players, pid)
		end
	end
	return players
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
	local check = {}
	if #getPlayersInArea(t.area[1], t.area[2]) > 0 then
		doPlayerSendCancel(cid, 'please, wait') return true
	end
	for _, k in ipairs(t.entrada) do
		local x = getTopCreature(k).uid
		if(x == 0 or not isPlayer(x) or getPlayerLevel(x) < t.lvl) then
			doPlayerSendCancel(cid, 'É necessário ter 2 players para o duelo e ser level'..t.lvl..' ou mais.') return true
		end
		table.insert(check, x)
	end
	for _, summon in pairs(t.monstros) do
		local creature = getTopCreature(summon[1]).uid
		if(creature > 0 and not isPlayer(creature)) then
			doRemoveCreature(creature)
		end
		doCleanTile(summon[1])
		doCreateMonster(summon[2], summon[1])
	end
	for i, tid in ipairs(check) do
		doSendMagicEffect(t.entrada[i], CONST_ME_POFF)
		doTeleportThing(tid, t.saida[i], false)
		addEvent(VarAnihiPlayer, t.Time*60*1000, tid)
		doSendMagicEffect(t.saida[i], CONST_ME_ENERGYAREA)
	end
	doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
	return true
end

 


Configure as posições que eu mostrei na imagem acima, nessa parte aqui:

	area = 
	{								-- fromPos e toPos
		{x = 18, y = 60, z = 13},	
		{x = 21, y = 60, z = 13},
	},


 

Link para o post
Compartilhar em outros sites

@Storm deu certo ? Muito obrigado pela ajuda!! Passei a tarde toda quebrando a cabeça nisso. Vou tentar te reputar, até agora não achei esse botão no fórum. Muito obrigado mesmo. 

                                                                                                               destinyshield.gif.9f031b59b026058f32a1c50da92ebe2a.gif  mídias sociais  destinyshield.gif.02fca81ab0615e050b2bcefd8a73a2e8.gif

                                                                                                                            talk to me              

                                                                                                                               vídeos           

                                                                                             

                                                                                                            LOGONORMAL.png.815b40b04ec583be88d8a1e2626fe430.png

                                                                                                           

                               

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo