Jump to content

[Problema]Server_loop_timer


Dragonslayer

Mensajes recomendados

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
Enlace para comentar
Compartir en otros sitios

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?

Enlace para comentar
Compartir en otros sitios

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.

Enlace para comentar
Compartir en otros sitios

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.

Enlace para comentar
Compartir en otros sitios

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.

Enlace para comentar
Compartir en otros sitios

  • Dilong locked this tema
Guest
Este tema está cerrado a otras respuestas.
  • Recientemente navegando por este tema   0 miembros

    • No hay usuarios registrados visitando esta página.
×
×
  • Crear nuevo...