Ir para conteúdo

Featured Replies

Postado

Ele vai nascer apenas uma vez em apenas uma posição?

Serão vários bosses, certo? Eu pensei em sumonar um boss aleatório dos que você listar no script. Quer que eu faça assim ou que nasça apenas um boss fixo?

 

Fiz um esboço aqui, não sei se está funcionando, não consegui testar.

 

globalevents/scripts

nome_arquivo.lua

function onThink(cid, interval, lastExecution)
	local bosses = {
	[1] = {name = "Dragon", pos = {x=1050, y=1054, z=7}, city = "Thais", chance = 35, effect = 12},
	[2] = {name = "Demon", pos = {x=1080, y=1034, z=7}, city = "Carlin", chance = 15, effect = 28},
	-- [um numero maior que o de cima] = nome do boss, posição que ele vai nascer, cidade que ele vai nascer (para o broadcast), porcentagem de chance de nascer.
	}
	
	local config = {
	storage = 65121,
	check = 65122,
	timeToRespawn = 4, -- tempo em horas para nascer outro boss, caso tenha nascido um.
	}
	
	if getGlobalStorageValue (config.storage) < os.time () then
		setGlobalStorageValue (config.check, getGlobalStorageValue (config.check) + 1)
		
		local boss = math.random (#bosses)
		local percent = math.random (1, bosses[boss].chance)
		
		if percent <= bosses[boss].chance then
			setGlobalStorageValue (config.check, 0)
			setGlobalStorageValue (config.storage, config.timeToRespawn * 60 * 60 + os.time ())
			doSummonCreature(bosses[boss].name, bosses[boss].pos)
			doSendMagicEffect (bosses[boss].pos, bosses[boss].effect)
			doBroadcastMessage("Um boss acaba de aparecer em "..bosses[boss].city.."!")
		end
	elseif getGlobalStorageValue (config.check) == 4 and getGlobalStorageValue (config.storage) < os.time() then
		local boss = math.random (#bosses)
		setGlobalStorageValue (config.check, 0)
		setGlobalStorageValue (config.storage, config.timeToRespawn * 60 * 60 + os.time ())
		doSummonCreature(bosses[boss].name, bosses[boss].pos)
		doBroadcastMessage("Um boss acaba de aparecer em "..bosses[boss].city.."!")
	end
return true
end

 

XML:

<globalevent name="bossSpawnRandomTime" interval="3600" event="script" value="nome_arquivo.lua"/>

 

Lembrando, o interval está em segundos.

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

  • Respostas 12
  • Visualizações 730
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Bodak Reborn
    Bodak Reborn

    @Striker Macabrus function onThink(cid, interval, lastExecution) local config = { storage = 65121, check = 65122, timeToRespawn = 4, -- tempo em horas para nascer outro boss, caso tenha nascid

Postado
  • Solução

@Striker Macabrus

function onThink(cid, interval, lastExecution)
	local config = {
	storage = 65121,
	check = 65122,
	timeToRespawn = 4, -- tempo em horas para nascer outro boss, caso tenha nascido um.
	city = "Thais", -- cidade para o broadcast.
	chance = 35 -- porcentagem de chance de nascer.
	}
	
	local monster = {
	[1] = {name = "Dragon", pos = {x=1050, y=1054, z=7}, effect = 19, tempoSpawn = 60}, 
	[2] = {name = "Demon", pos = {x = 1630, y = 1520, z = 7}, effect = 40, tempoSpawn = 5},
	[3] = {name = "Hero", pos = {x = 1356, y = 1325, z = 7}, effect = 27, tempoSpawn = 5},
	-- [um número maior que o anterior] = nome do monstro, posição que ele vai nascer, efeito ao nascer, tempo em segundos para nascer.
	}
	
	local percent = math.random (1, config.chance)
	
	if getGlobalStorageValue (config.storage) < os.time () then
		setGlobalStorageValue (config.check, getGlobalStorageValue (config.check) + 1)
		
		if percent <= config.chance then
			for i = 1, #monster do
				addEvent (doSummonCreature, monster[i].tempoSpawn * 1000, monster[i].name, monster[i].pos)
				addEvent (doSendMagicEffect, monster[i].tempoSpawn * 1000, monster[i].pos, monster[i].effect)
			end
			
			setGlobalStorageValue (config.storage, config.timeToRespawn * 60 * 60 + os.time ())
			setGlobalStorageValue (config.check, 0)
			doBroadcastMessage("Um boss acaba de aparecer em "..config.city.."!")
		end
	elseif getGlobalStorageValue (config.check) == 4 and getGlobalStorageValue (config.storage) < os.time() then
		for i = 1, #monster do
			addEvent (doSummonCreature, monster[i].tempoSpawn * 1000, monster[i].name, monster[i].pos)
			addEvent (doSendMagicEffect, monster[i].tempoSpawn * 1000, monster[i].pos, monster[i].effect)
		end
			
		setGlobalStorageValue (config.check, 0)
		setGlobalStorageValue (config.storage, config.timeToRespawn * 60 * 60 + os.time ())
		doBroadcastMessage("Um boss acaba de aparecer em "..config.city.."!")
	end
return true
end

 

@brendoonh

function onThink(cid, interval, lastExecution)
	local config = {
	storage = 65121,
	check = 65122,
	timeToRespawn = 4, -- tempo em horas para nascer outro boss, caso tenha nascido um.
	name = "Dragon", -- nome do boss.
	pos = {x=1050, y=1054, z=7}, -- posição que ele vai nascer.
	city = "Thais", -- cidade para o broadcast.
	chance = 35, -- porcentagem de chance de nascer.
	effect = 27 -- efeito ao nascer.
	}
	
	local percent = math.random (1, config.chance)
	
	if getGlobalStorageValue (config.storage) < os.time () then
		setGlobalStorageValue (config.check, getGlobalStorageValue (config.check) + 1)
		
		if percent <= config.chance then
			setGlobalStorageValue (config.storage, config.timeToRespawn * 60 * 60 + os.time ())
			setGlobalStorageValue (config.check, 0)
			doSummonCreature(config.name, config.pos)
			doSendMagicEffect (config.pos, config.effect)
			doBroadcastMessage("Um boss acaba de aparecer em "..config.city.."!")
		end
	elseif getGlobalStorageValue (config.check) == 4 and getGlobalStorageValue (config.storage) < os.time() then
		setGlobalStorageValue (config.check, 0)
		setGlobalStorageValue (config.storage, config.timeToRespawn * 60 * 60 + os.time ())
		doSummonCreature(config.name, config.pos)
		doBroadcastMessage("Um boss acaba de aparecer em "..config.city.."!")
	end
return true
end

 

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

Postado

Talesigorvr tipo eu quero a mesma script so que tipo cada boss aparecer criaturas diferentes tipo vamos supor tem 4 waves e elas tenhao uma duração de 10 minutos cada uma algo assim do genero me dando uma script assim eu edito ela certinho e Talesigorvr vlw dnv man sempre me ajudando :D

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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo