Ir para conteúdo
  • Cadastre-se

(Resolvido)Pedido Script


Ir para solução Resolvido por Bodak Reborn,

Posts Recomendados

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)

Não dou suporte via PM, crie um tópico caso tenha dúvidas.

Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.

Link para o post
Compartilhar em outros sites
  • Respostas 12
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

@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},

Talesigorvr alem de aparecer boss pode colocar para tipo aparecer alguns monstros e depois de um tempo o boss?

Link para o post
Compartilhar em outros sites

Vai ser um boss fixo mesmo.

Ele vai nascer no alto de uma cidade no caso um local fixo...

Vou aguardar a modificação, para testar!!!

Link para o post
Compartilhar em outros sites
  • 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)

Não dou suporte via PM, crie um tópico caso tenha dúvidas.

Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.

Link para o post
Compartilhar em outros sites

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

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.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Estatísticas dos Fóruns

    96844
    Tópicos
    519608
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo