Jump to content

[Problema]Server_loop_timer


Dragonslayer
 Share

Recommended Posts

Buenas, pues mi problema es que los server_loop_timer no me funcionan o no se hacerlos aquí un ejemplo y no me funcionan ninguno.

quest eventosgmautos begin
	state start begin
		when login with pc.is_gm() begin
			set_state(information)
		end
	end
	state information begin
		when letter begin
			send_letter("EVENTOS - GM")
		end
		when button or info begin
		say_title("EVENTOS - GM")
			say_reward("Que quieres hacer?")
			local eventos = select ("Cajas Luz Luna","Auto Rates(8 horas)","Eventos(8 horas)","Salir")
			if eventos == 1 then
		local cajasluna = select ("Activarlo", "Desactivarlo", "Salir")
		if cajasluna == 1 then
		game.set_event_flag("Luzluna_drop", 1)
		notice_all("El evento de Tesoros Luz de Luna a comenzado")
		notice_all("Puedes conseguir cajas matando cualquier tipo de mounstros")
		end
		if cajasluna == 2 then
		game.set_event_flag("Luzluna_drop", 0)
		notice_all("El evento de Tesoros Luz de Luna a terminado")
		notice_all("esperamos que les haya gustado")
		end
		if cajasluna == 3 then
		end
		end
			if eventos == 2 then
			local rates = select("Activar Rates","Desactivar Rates","Salir")
				if rates == 1 then
				say_title("Guardián:")
				say("¿Quieres activar los rates?")
				local rates1 = select("Si", "No")
				if rates1 == 1 then
					say("Los Rates han sido activados.")
					server_loop_timer("autorates", 8*60*60)
					__give_empire_priv(0, 1, 125, 1*60*60)
					__give_empire_priv(0, 2, 125, 1*60*60)
					__give_empire_priv(0, 4, 75, 1*60*60)
					notice_all("Bonus activados: 75% exp,125%drop,125%yang, para todos los reinos")
				end
				if rates1 == 2 then
				end
				end
				if rates == 2 then
					say_title("Guardián:")
					say("Los Rates han sido desactivados.")
					clear_server_timer("autorates")
					end
				if rates == 3 then
				end
			end
			if eventos == 3 then
			local eventos1 = select ("Activar","Desactivar","Salir")
			if eventos1 == 1 then
			game.set_event_flag("eventos8", 1)
			notice_all("El evento de jefes,dorado y dorado2 a comenzado.")
			notice_all("Puedes entrar a traves del teletransportador magico")
			server_loop_timer("autoeventos", 8*60*60)
			server_timer("dautoeventos", 60*60*1)
			end
			if eventos1 == 2 then
				say_title("Eventos:")
				say("Los eventos han sido desactivados.")
				clear_server_timer("autoeventos")
					game.set_event_flag("eventos8", 0)
					if (pc.get_map_index() == 250 or pc.get_map_index() == 252 or pc.get_map_index() == 254) and pc.get_empire() == 1 then
					pc.warp(469300,964200)
					end
					if (pc.get_map_index() == 250 or pc.get_map_index() == 252 or pc.get_map_index() == 254) and pc.get_empire() == 2 then
					pc.warp(55700,157900)
					end
					if (pc.get_map_index() == 250 or pc.get_map_index() == 252 or pc.get_map_index() == 254) and pc.get_empire() == 3 then
					pc.warp(969600,278400)
					end
			end
			if eventos1 == 3 then
			end
			end
			if eventos == 4 then
			end
		end
				when autorates.server_timer begin
					__give_empire_priv(0, 1, 125, 1*60*60)
					__give_empire_priv(0, 2, 125, 1*60*60)
					__give_empire_priv(0, 4, 75, 1*60*60)
					notice_all("Bonus activados: 75% exp,125%drop,125%yang, para todos los reinos.")
					notice_all("El siguiente comenzara en 8 horas.")
				end
				when autoeventos.server_timer begin
					game.set_event_flag("eventos8", 1)
					server_timer("dautoeventos", 60*60*1)
					notice_all("El evento de jefes,dorado y dorado2 ha comenzado")
					notice_all("Puedes entrar a traves del teletransportador magico")
				end
				when dautoeventos.server_timer begin
					game.set_event_flag("eventos8", 0)
					notice_all("El evento de jefes,dorado y dorado2 ha terminado los siguientes comenzaran en 7 horas.")
					if (pc.get_map_index() == 250 or pc.get_map_index() == 252 or pc.get_map_index() == 254) and pc.get_empire() == 1 then
					pc.warp(469300,964200)
					end
					if (pc.get_map_index() == 250 or pc.get_map_index() == 252 or pc.get_map_index() == 254) and pc.get_empire() == 2 then
					pc.warp(55700,157900)
					end
					if (pc.get_map_index() == 250 or pc.get_map_index() == 252 or pc.get_map_index() == 254) and pc.get_empire() == 3 then
					pc.warp(969600,278400)
					end
				end
		end
end
Link to comment
Share on other sites

No puedes usar server_timer(s) y utilizar funciones que afecten un solo jugador.

 

 

 

Por ejemplo, el de los rates, afecta a un jugador por el comando notice_all, debería usar command(n)?

 

O es porque el bonus de exp afecta a la gente?, si ese es el caso puedo utilizar un game.set_event_flag?

Link to comment
Share on other sites

Por ejemplo, el de los rates, afecta a un jugador por el comando notice_all, debería usar command(n)?

 

O es porque el bonus de exp afecta a la gente?, si ese es el caso puedo utilizar un game.set_event_flag?

notice_all no afecta a un solo jugador.

Link to comment
Share on other sites

Por ejemplo, el de los rates, afecta a un jugador por el comando notice_all, debería usar command(n)?

 

O es porque el bonus de exp afecta a la gente?, si ese es el caso puedo utilizar un game.set_event_flag?

El command afecta un solo jugador, tanto que el command es como si escribieses el codigo en el chat del pj.

Link to comment
Share on other sites

Deberías fijarte bien en el código que tienes escrito donde los timers. Y mi consejo es que cuando vayas a probar timers, que uses poco tiempo (como 10 segundos), porque es posible que el tiempo en el cual el timer se ejecuta no haya terminado.

 

Por cierto, si tu servidor se cae a la hora de ejecutar un server_timer, es porque algo esta mal en las funciones que le has puesto.

Link to comment
Share on other sites

Deberías fijarte bien en el código que tienes escrito donde los timers. Y mi consejo es que cuando vayas a probar timers, que uses poco tiempo (como 10 segundos), porque es posible que el tiempo en el cual el timer se ejecuta no haya terminado.

 

Por cierto, si tu servidor se cae a la hora de ejecutar un server_timer, es porque algo esta mal en las funciones que le has puesto.

Bueno gracias, por lo menos me has aclarado esa duda, y si hago las pruebas con timers de 60 segundos. ^^

 

Gracias

 

 

Edit: Resuelto el problema era que lo tenía con pergamino, por npc funciona.

Link to comment
Share on other sites

  • Dilong locked this topic
Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...