Ir para conteúdo

Featured Replies

  • Respostas 11
  • Visualizações 1.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • UP!

  • só agora que vi, erro meu   function HaveCreatureArena(area, remove, clean) for x = area[1].x - 1, area[2].x + 1 do for y = area[1].y - 1, area[2].y + 1 do local pos = {x=x, y=y, z=area

  • Aqui no TibiaKing mensagens como UP e BUMP são proibidas, utilize o botão subir este tópico. Esta é uma mensagem automática! Pedimos que leia as regras do fórum!  

Postado

@Brunds 

 

function HaveCreatureArena(area, remove, clean)
	for x = area[1].x - 1, area[2].x + 1 do
		for y = area[1].y - 1, area[2].y + 1 do
			for z = area[1].z, area[2].z do
				local pos = {x=x, y=y, z=z}
				local m = getTopCreature(pos).uid
				if remove ~= false and m ~= 0 and isMonster(m) then 
					doRemoveCreature(m) 
				end
				if clean ~= false then 
					doCleanTile(pos,false)
				end
			end
		end
	end
end

local areas = { -- colocas começo e final pos de todas as salas
	{{x=909,y=1019,z=7}, {x=1000,y=1019,z=7}},
	{{x=156,y=1019,z=7}, {x=200,y=1019,z=7}},
	{{x=200,y=1019,z=7}, {x=300,y=1019,z=9}}
}

local t = {
	lvl = 100,
	Time = 15, -- em minutos
	entrada =
	{
		{x = 1045, y = 1014, z = 6}, -- pos players
		{x = 1045, y = 1015, z = 6}
	},
	saida =
	{
		{x = 1110, y = 1122, z = 7}, -- pos para onde eles irão
		{x = 1110, y = 1123, z = 7}
	},
	monstros =
	{
		{{x = 1108, y = 1116, z = 7}, "Orc"}, -- defina pos dos montros e nomes
		{{x = 1108, y = 1117, z = 7}, "Orc"},
		{{x = 1108, y = 1118, z = 7}, "Orc"},
		{{x = 1108, y = 1119, z = 7}, "Orc"}
	}
}

function VarAnihiPlayer(cid, tab)
	if not isCreature(cid) then return LUA_ERROR end
	for _, var in ipairs(tab) do
		if isInRange(getPlayerPosition(cid), var[1], var[2]) then
			doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
		end
	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 = {}
	for _, var in ipairs(areas) do
		if #getPlayersInArea(var[1], var[2]) > 0 then
			doPlayerSendCancel(cid, 'Aguarde, tem jogadores fazendo a quest.') return true
		end
	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, 'Está faltando player ou alguém não possui level '..t.lvl..' ou mais.') return true
		end
		table.insert(check, x)
	end
	for _, clear in ipairs(areas) do
		HaveCreatureArena({clear[1],clear[2]}, true, true) -- limpar monstro de todas as salas
	end
	for _, summon in pairs(t.monstros) do
		doCreateMonster(summon[2], summon[1])
	end
	for i, tid in ipairs(check) do
		doSendMagicEffect(t.entrada, CONST_ME_POFF)
		doTeleportThing(tid, t.saida, false)
		addEvent(VarAnihiPlayer, t.Time*1000, tid, areas)
		doSendMagicEffect(t.saida, CONST_ME_ENERGYAREA)
	end
	doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
	return true
end

 

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

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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 520.3k

Informação Importante

Confirmação de Termo