Jump to content
×
×
  • Create New...

[Système] Messages automatiques


Recommended Posts

Centre de Téléchargement

Télécharger ( Interne )

Cette quête va vous permettre d'envoyer des messages automatiques (de la même manière qu'un personnage GM utilise la commande /n) à tous vos joueurs toutes les 2 heures par exemple.

 

Pour ajouter/éditer/supprimer des messages, un fichier sera automatiquement créé dans vos files dans le répertoire suivant:

/usr/metin2/share/data

 

Une phrase par ligne dans ce fichier. Vous n'aurez pas à reboot votre serveur ou recompiler vos quêtes à chaque changement.

 

quest automatic_notices begin
state start begin
	function get_notices()
		local check = io.open("data/notices_list", "a")
		check:close()
		local table_get_notices = {}
		local f = io.open("data/notices_list", "r")
		for line in f:lines() do
			table.insert(table_get_notices, line)
		end
		f:close()
		return table_get_notices
	end
	when letter with pc.is_gm() begin
		send_letter("Messages automatiques (management)")
	end
	when button or info with pc.is_gm() begin

		local combien_de_minutes = 30 -- Messages automatiques toutes les combien de minutes ? Actuellement 30.

		local text =
		{
			[0] = "Messages automatiques actuellement désactivés.",
			[1] = "Messages automatiques actuellement activés.",
		}

		say_title("Messages automatiques (management)[ENTER]")
		say(text[game.get_event_flag("notices_loop")])
		say("Que voulez-vous faire ?[ENTER]")
		local choice = select("Activer les messages automatiques", "Les désactiver", locale.cancel)
		if choice == 3 then return end
		if choice == 2 then
			setskin(NOWINDOW)
			syschat("Les messages automatiques ont bien été désactivés.")
			game.set_event_flag("notices_loop", 0)
			clear_server_timer("notices_server_loop")
			return
		end
		if choice == 1 then
			setskin(NOWINDOW)
			syschat("Les messages automatiques ont bien été activés.")
			game.set_event_flag("notices_loop", 1)
			automatic_notices.get_notices()
			server_loop_timer("notices_server_loop", combien_de_minutes*60)
			return
		end
	end
	when notices_server_loop.server_timer with game.get_event_flag("notices_loop") !=0 begin
		local notices = automatic_notices.get_notices()
		notice_all(notices[number(1, table.getn(notices))])
	end
end
end
 

 

 

N'oubliez pas de modifier ceci par le nombre de minutes entre chaque message automatique:

local combien_de_minutes = 30

Link to comment
  • 6 months later...
  • Replies 5
  • Created
  • Last Reply

Top Posters In This Topic

Salut !

 

Dans un premier temps merci pour cette petite quête fort sympathique :)

 

Je n'ai pas envie de faire mon chieur, loin de là mais il semblerait qu'il y ait un problème car les messages automatiques ne se lance que très rarement, et se désactive tout le temps tout seul (apparaît activé dans la quête mais les messages ne se lance pas).

Link to comment

D'accord je comprends un peu mieux, mais ça n'explique pas que dans mon cas, même en relançant la quête manuellement après un reboot il arrive qu'elle ne se lance pas ^^

Avec un peu de persévérance ça fini tout de même par fonctionner. :)

Link to comment
  • 2 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.