Jump to content
La fin ?! Elle est là ! ×
×
×
  • Create New...

[Système] Messages automatiques


Doberman
 Share

Recommended Posts

Centre de Téléchargement

Hidden Content

    Give reaction to this post to see the hidden content.
( 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
Share on other sites

  • 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
Share on other sites

La quête doit être activée manuellement par un GM et se désactive lors d'un reboot (quand on reboot les timer s'effacent mais pas les event_flag, d'où le fait que la quête reste en "activé")

Link to comment
Share on other sites

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
Share on other sites

  • 2 years later...
Le 19/10/2019 à 14:26, steve49370 a dit :

Savez vous comment l'activé IG ? 

Tu as juste a lire la quetes pour le savoir. 

La personne a écrit des commentaires dans le code de la quetes. 

Un commentaire est dédié a ceci.

Link to comment
Share on other sites

 Share



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.