Ir para conteúdo
  • 0

Evento Invasão com horário e No-Pvp


nickissonlobo

Pergunta

11 respostass a esta questão

Posts Recomendados

  • 0
local configInv = {
	["19:00"] = {nome = "The Demon Invasion", pos = {x=32369, y=32167, z=7}, monster = {"50 Demon", "200 Dragon"}},
}



local timenopvp = 30 -- em minutos
	

function onThink(interval, lastExecution)
	local day = tonumber(os.date():sub(1,2))
	local hours = tostring(os.date("%X")):sub(1, 5)
	if configInv[hours] then
		if getGlobalStorageValue(95474) == day then return true end
		doBroadcastMessage(hours .. " - " .. tb.nome .. " iníciou.")
		for _,x in pairs(tb.monster) do
			for s = 1, tonumber(x:match("%d+")) do
				doSummonCreature(x:match("%s(.+)"), tb.pos)
			end
		end
		setWorldType(WORLD_TYPE_NO_PVP)
		addEvent(setWorldType, 1000 * 60 * timenopvp, WORLD_TYPE_PVP)
		setGlobalStorageValue(95474, day)
		
	end
	return true
end

bom as configuração ta no inicio o tempo de no-pvp em minutos e a tabela para vc escolhe a posição do evento e qntos montros vai aparecer e o nome da invasão, lembra de seprar cada monstro por virgula tipo:

{"50 Dragon", "20 Demon", "10 Amazon"}

e sempre entre aspas

Link para o comentário
Compartilhar em outros sites

  • 0

- cria um arquivo inv.lua e cola o script:

local configInv = {
	["19:00"] = {nome = "The Demon Invasion", pos = {x=32369, y=32167, z=7}, monster = {"50 Demon", "200 Dragon"}},
}


local timenopvp = 30 -- em minutos


function onThink(interval, lastExecution)
	local hours = tostring(os.date("%X")):sub(1, 5)
	local tb = configInv[hours]
	if tb then
		function startInvasion()
			doBroadcastMessage(tb.nome .. " iníciou.")
			for _,x in pairs(tb.monster) do
				for s = 1, tonumber(x:match("%d+")) do
					doSummonCreature(x:match("%s(.+)"), tb.pos)
				end
			end
			setWorldType(WORLD_TYPE_NO_PVP)
			addEvent(setWorldType, 1000 * 60 * timenopvp, WORLD_TYPE_PVP)
		end
		doBroadcastMessage(tb.nome .. " ira iníciar em 5 minutos.")
		addEvent(startInvasion, 1000 * 60 * 5)
	end
	return true
end

tag no xml:

<globalevent name="Invasao" interval="60" event="script" value="inv.lua"/>
Link para o comentário
Compartilhar em outros sites

  • 0

bom script, mais eu queria saber, tem como fazer pra o broadcast avisar a cada 1 minuto?, tipo

"Daily Invasion ira iníciar em 5 minutos."

"Daily Invasion ira iníciar em 4 minutos."

"Daily Invasion ira iníciar em 3 minutos."

"Daily Invasion ira iníciar em 2 minutos."

"Daily Invasion ira iníciar em 1 minutos."

"Daily Invasion comecou"

queria saber tambem se tem como escolher aleatoriamente os lugares do spawn, pra nao ficar tudo junto

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

×
×
  • Criar Novo...