Aller au contenu

1563483034-skchatmanager.png

 

Qu'est-ce que skChatManager ?

skChatManager est un skript qui vise à vous donner toutes les clefs en main afin d'administrer le chat de votre serveur Minecraft. Ce skript regroupe la majorité des commandes fréquemment utilisées en matière de gestion de chat, comme la possibilité de verrouiller/nettoyer le tchat par exemple. Mais l'utilité du skript est loin de se restreindre à ça, puisque celui-ci vous offre aussi l'opportunité de formater votre tchat comme vous le souhaitez, avec qui plus est un support des préfixes/suffixes ainsi que des placeholders (voir section appropriée) ce qui vous laisse une parfaite liberté. skChatManager propose également un système de mute, de message privé, et de log. Vous retrouverez ci-dessous toute la liste des fonctionnalités ! Notez que le skript est disponible en version française ET anglaise, et que tout est configurable dans la partie haute du skript. Aucune connaissance spécifique en Skript n'est nécessaire pour faire fonctionner le skript.

 

Liste des commandes et fonctionnalités (Ver 1.0)

Note : tout est intégralement configurable dans la partie "options" du skript

 

  • /skchatmanager => permet d'afficher le menu d'aide, qui répertorie les principales commandes utiles pour gérer le tchat. (skcm.use)
  • /skchatmanager clear => permet de vider le tchat. (skcm.use)
  • /skchatmanager lock => permet de verrouiller/déverouiller le tchat. (skcm.use)
  • /skchatmanager logupdate => permet de recharger le fichier YML qui enregistre toutes les discussions dans le tchat. (skcm.use+)
  • /skchatmanager logclear => permet de vider les logs. (skcm.use+)
  • /mute <joueur> <temps en minutes> <raison> : permet de réduire au silence un joueur pendant un temps donné pour une raison X. (mute.use)
  • /unmute <joueur> : permet de redonner la parole à un joueur après avoir fait l'objet d'un /mute. (mute.use)
  • /chat msg : permet d'activer/désactiver les messages privés pour le joueur qui effectue la commande. (chat.options)
  • /mp ou /tell ou /whisp ou /pm ou /w : envoyer un message privé à un joueur.
  • /slowmode : permet d'instaurer un slowmode pour réduire le débit du tchat.

Autres fonctionnalités :

  • Possiblité d'écrire en couleur dans le tchat (skcm.coloredchat)
  • Possiblité de formater le tchat comme désiré : voir entrée "chat-format" dans la section options. Vous pouvez rester avec le tchat de Minecraft Vanilla en remplacant le preset de chat-format par "vanilla". Attention, dans ce cas de figure skChatManager ne supporte plus l'affichage des préfixes/suffixes, placeholders, écriture en couleur, etc... Normalement, skCM a été faconné de sorte à ce que rien ne justifie le fait de rester au tchat de Vanilla. Si vous êtes propriétaire d'un serveur faction et que vous souhaitez afficher une variable comportant le nom des factions, c'est tout à fait possible grâce aux placeholders (voir plus bas).
  • Possiblité de séparer les chats par monde : voir entrée "per-world-chat" dans la section options. Vous pouvez décider d'afficher les messages pour les joueurs qui jouent dans le même monde uniquement, ou pour l'ensemble du serveur.
  • Système de logs : par défaut, toutes les discussions sur le tchat ou en message privé sont enregistrées dans un fichier YML (plugins/skChatManager/chat-log.yml). Les sanctions de type mute sont également enregistrées dans un fichier dans le même répertoire (seul le dernier mute du joueur apparaît).

Une fonctionnalité que vous auriez aimé retrouver n'apparaît pas ? N'hésitez pas à me l'indiquer sur le topic associé au skript ! (pas dans les reviews SVP).

 

Permissions :

Les permissions associées aux commandes et aux fonctionnalités sont indiquées entre parenthèses dans la section ci-dessus. Voici cependant la liste complète des permissions associées au skript. Notez que ces permissions sont évidemment compatibles avec n'importe quel plugin/skript qui gère les permissions.

- skcm.use : accès aux commandes de base de gestion de tchat (à l'exception de tout ce qui touche aux logs)

- skcm.use+ : degré de permission supérieur qui permet d'exécuter les commandes en rapport avec les logs

- mute.use : permet de mute / unmute 

- mp.use : permet d'envoyer des messages privés

- chat.options : permet de gérer les options personnelles du tchat pour le joueur, pour le moment cela consiste à pouvoir désactiver les messages privés si voulu.

- skcm.coloredchat : détermine si les codes couleurs de Minecraft peuvent être utilisés dans le tchat. Dans le cas où cette permission n'est pas active, l'utilisation d'un code couleur sera ignorée (par exemple, "&7bonjour" se transformera simplement en "bonjour" sans couleur ou avec la couleur indiquée dans votre chat-format).

 

Version de Minecraft & dépendances :

 

skChatManager a été réalisé de sorte à ce qu'il y ait le moins de dépendances, car plus il y en a plus le skript devient dépendant des mises à jour proposées par les développeurs des dépendances en question. Pour utiliser le skript sans aucune erreur, vous devez disposer de :

- Skript dev. 2.3.7

- Skript-yaml v.1.3.2

- Vault (la version dépend de celle de votre serveur, notez que la dernière version de Vault fonctionne pour la 1.14.X même si ce n'est pas expressément indiqué).

- Un plugin/skript gérant les permissions et préfixes/suffixes etc... SkChatManager a été testé fonctionnel avec GroupManager (j'attends vos retours pour les utilisateurs de PEX)

Si vous souhaitez pouvoir utiliser les placeholders dans le chat-format de SKCM, vous devrez ajouter :

- Ersatz

- PlaceHolderAPI (latest release)

 

Important notez que toutes ces dépendances sont censées supporter, du moins dans leur dernière version, la majeure partie des versions de Minecraft. Celles que j'ai indiquée sont celles avec lesquelles j'ai construit et testé le skript. D'après mes tests, le skript est fonctionnel pour les versions 1.12.X et 1.14.X et cela devrait être également le cas pour la 1.13.X et autres versions antérieures à la 1.12. Si vous utilisez une version plus récente d'une des dépendances et que vous constatez des erreurs, pensez à rétrograder de version.

 

Configuration  :

 

skChatManager a la particularité de pouvoir être configuré dans la section "options" placée en haut du Skript. Voici les différentes entrées et les valeurs que celles-ci peuvent prendre :

- chat-format : %coloured player's prefix% %player% &8➤ &7%message% 

Exemple par défaut, vous pouvez éditer le chat-format comme vous le souhaitez. En indiquant "vanilla" à la place, vous aurez recours au tchat de Vanilla.

mp-sender-format &7[&6You &a=> &6%arg 1%&7] &e%arg 2%

mp-receiver-format &7[&6%player% &a=> &6You&7] &e%arg 2%

Même chose, sauf que vous choisissez ici comment seront affichés les messages privés.

- per-world-chat true|false

Si true, les messages ne seront lisibles que par les joueurs présents dans le même monde. Si false, tous les joueurs du serveur verront le message s'afficher.

- log-auto-update interval X

Détermine à quelle fréquence skChatManager va sauvegarder les logs du chat. Valeur en minutes.

value-type seconds|minutes|hours

Détermine le type de valeur numérique renseignée pour le slowmode. Par exemple, /slowmode 5 instaurera un slowmode de 5 secondes, 5 minutes ou 5 heures selon le value-type. Le value-type conseillé par défaut est "seconds".

- langage french|english

Détermine la langue du Skript. Notez que les erreurs de configuration ne sont affichés qu'en anglais, même chose pour les messages au chargement du skript.

- Toute la section message :

Vous pouvez éditer quasiment tous les messages du Skript en fonction de la langue. Le préfixe EN- se rapporte à la langue anglaise, tandis que FR- se rapporte à la langue française.

 

Utiliser les placeholders dans le chat-format de SKCM  :

 

Vous êtes propriétaire d'un serveur basé sur le système de villes ou de factions et vous souhaitez pouvoir afficher leur nom dans le chat lorsqu'un joueur parle, seulement il s'agit d'un plugin et non d'un skript ? Si votre plugin supporte les placeholders, il est très facile de le faire. Pour l'exemple, nous allons utiliser le plugin Factions Blue qui propose déjà toute une liste de placeholders utilisable avec PlaceHolderAPI.

Voilà ce que Factions Blue propose :

PlaceholderAPI
%factionsblue_faction_name% = Faction Name
%factionsblue_faction_power% = Faction Power
%factionsblue_faction_maxpower% = Faction Max Power
%factionsblue_faction_maxclaims% = Faction Max Claims
%factionsblue_faction_status% = Faction Status(stable/vulnerable)
%factionsblue_faction_role% = Member role (if none: N/A)

En ayant téléchargé Ersatz et PlaceHolderAPI, vous pouvez procéder ainsi en Skript :

set {_faction} to placeholder "%%factionsblue_faction_name%%"
broadcast {_faction}

Pour l'implémenter correctement dans le chat-format, je vous conseille d'éditer la section "On Chat" du skript comme ceci :

on chat:
	if {chat-locked} = 1:
		cancel event
		if "{@langage}" = "english":
			send "{@EN-locked-attempt}" to player
			stop
		if "{@langage}" = "french":
			send "{@FR-locked-attempt}" to player
			stop
	if {mute.%uuid of player%} is true:
		if difference between now and {mute.date.%uuid of player%} is less than "%{mute.time.%uuid of player%}% minutes" parsed as timespan:
			cancel event
			set {_difference.%uuid of player%} to difference between {mute.date.%uuid of player%} and now
			if "{@langage}" = "english":
				send "{@prefix} {@EN-muted-message-timeleft}" to player
				stop

			if "{@langage}" = "french":
				send "{@prefix} {@FR-muted-message-timeleft}" to player
				stop
		else:
			set {mute.%uuid of player%} to false
			clear {mute.time.%uuid of player%} 
			clear {mute.date.%uuid of player%}

	if {slowmode} > 0:
		if difference between {slowmode.%uuid of player%} and now is less than "%{slowmode}% {@value-type}" parsed as timespan:
			cancel event
			if "{@langage}" = "english":
				send "{@prefix} {@EN-slowmode-activated}" to player
				stop

			if "{@langage}" = "french":
				send "{@prefix} {@FR-slowmode-activated}" to player
				stop

		set {slowmode.%uuid of player%} to now
	
	
	if "{@chat-format}" != "vanilla":
		cancel event
		set {_faction} to placeholder "%%factionsblue_faction_name%%" => LIGNE A AJOUTER

		if "{@per-world-chat}" = "true":
			set {_world} to player's world
			loop all players in world {_world}:
				if player has permission "skcm.coloredchat":
					set message to coloured message
				else:
					set message to uncoloured message
				send "{@chat-format}" to loop-player

		if "{@per-world-chat}" = "false":
			if player has permission "skcm.coloredchat":
				set message to coloured message
			else:
				set message to uncoloured message
			broadcast "{@chat-format}"

	set yaml value "%player's world%.(%{chat-id}%)[%now%]" from "chat-log" to "%player% : %message%"
	add 1 to {chat-id}

Une fois cela fait, il vous suffira d'implémenter la variable dans le chat-format dans la partie configuration comme ci-dessous :

chat-format: &3[&b%{_faction}%&3] %coloured player's prefix% %player% &8➤ &7%message% 

Ce qui donnera ainsi :

1563526706-capture.png

Et voilà ! Vous pouvez faire la même chose avec n'importe quel plugin !

 

Le mot de la fin :

 

Je vous remercie d'avoir téléchargé skChatManager et espère que vous en serez satisfait. N'oubliez pas de laisser une note, cela aide beaucoup le skript ! Notez que si le skript est disponible en version anglaise ET française c'est tout simplement car je compte également mettre en ligne le skript sur Spigot. Mais n'ayez crainte, Skript-MC sera toujours le premier servi :')

Pour toutes les suggestions et remarques, le topic associé est là. 

Je prévois de futures améliorations pour le Skript, comme la mise en place de channels spécifiques, mais c'est pour plus tard ! A vous de me dire ce que vous voudriez voir apparaître dans le futur.

Et, pour les plus généreux d'entre vous, vous pouvez me filer une petite pièce si le coeur vous en dit ! Cela récompense le travail fourni et le temps passé pour réaliser ce genre de présentation ! Merci infiniment :') ça se passe ICI !

 

 

 

 

 

 

 

 

 




Retour utilisateur

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.