Ir para conteúdo
  • Cadastre-se

(Resolvido)Pedido Script


Ir para solução Resolvido por Bodak Reborn,

Posts Recomendados

Olá Galera do TK..

Estou precisando de um script que tenha as seguintes funções.

1) Boss nasce aleatoriamente em um intervalo de 1 a 4 horas. (Ele pode nascer 1 hora após sua morte, 2, 3 ou 4 horas após sua morte)
2) Broadcast avisando que o boss nasceu na city tal.
 

Um script basico, só não usei outras script desse tipo que tem por ai, pq preciso desse tempo aleatorio no respaw, para não ficar aquela coisa exata que nasce de 1 em 1 hora etc..

 

Seria possivel alguem ajudar? rep++

Link para o post
Compartilhar em outros sites

E qual é a chance do boss nascer?

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
16 horas atrás, Talesigorvr disse:

E qual é a chance do boss nascer?

Ele tem que nascer 1x no intervalo de 1 a 4 horas. Pode ser uma porcentagem de 100% dentre este horario..


Por exemplo, ele nasceu ás 13:30, contou só 1 hora do intevalo de 3 horas (1 a 4 horas). Ai o script só volta a "funcionar" depois das 16:30, deu pra entender ??

Link para o post
Compartilhar em outros sites

Mas pra ele nascer nesse período de tempo, precisa de uma percentagem de chance e um tempo pro script ser executado.

Exemplo: a cada 1 hora ter 25 % de chance de nascer o boss, ai só depois de 4 horas o script executar de novo, caso o boss nascer antes disso...

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

Entendi, pode ser uma porcentagem de 35% no caso.
Ficaria do meu gosto, que bom que você conseguiu entender da forma q expliquei, é exatamente isto!

 

Link para o post
Compartilhar em outros sites

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

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

Isso se chama Golden Arena, diversos servidores já tem esse sistema ao baixar.

São vários arquivos, eu não tenho eles aqui... se eu não me engano, este servidor:

possui este sistema, baixa ele e procura por tudo com Golden Arena. (:

 

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

Perfeito, reputado!! Funcionou certinho, muito obrigado...

Será que teria como fazer uma invasao parecida? Crio outro topico ou posso fazer o pedido aqui mesmo?

Link para o post
Compartilhar em outros sites

Eu acho que tu pode fazer aqui, já que no título tu não especificou o script. ;P

 

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

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo