Aller au contenu
← Toute la documentation

/// PIMPMYRUST PLUGIN

Player Events Messages

Guide des réglages de Player Events Messages pour cette version. Vérifiez la fiche du plugin avant de l'utiliser sur votre serveur.

Préparer votre fichier

  1. Vérifiez la version installée

    Ce guide décrit Player Events Messages 0.1.2. Le configurateur doit utiliser cette même version.

  2. Récupérez les réglages

    Cliquez sur Importer, puis Depuis mon serveur. Choisissez les fichiers et confirmez leur chargement. Sélectionner un serveur ne remplace pas le document ouvert. Vous pouvez aussi importer des fichiers de cet appareil ou une configuration depuis Mes projets.

  3. Modifiez et envoyez

    Ajustez les réglages, corrigez les erreurs, puis utilisez Envoyer pour transmettre les fichiers au serveur choisi. Un conflit bloque l’envoi jusqu’à votre décision. Vous pouvez toujours exporter seulement les fichiers dont vous avez besoin.

Les envois au serveur disposent de sauvegardes privées. Enregistrer conserve votre travail dans Mes projets ; cette action n’envoie rien au serveur. Un téléchargement permet aussi de reprendre sans connexion.

Réglages de cette version

Général 5
Délai entre deux annonces · secondes
Nombre · obligatoire

Délai global par joueur entre deux annonces, en secondes. En LTS, la première annonce peut aussi attendre ce délai après le démarrage du serveur. Le délai par événement reste applicable.

Chemin JSON(By player) Message Cooldown for any types (seconds)

Minimum : 0 · Maximum : 31536000

Délai par événement · secondes
Nombre · obligatoire

Attente par joueur avant une nouvelle annonce du même événement : mort, élimination, connexion ou déconnexion.

Chemin JSON(By player) Message Cooldown for each types (seconds)

Minimum : 0 · Maximum : 31536000

Commandes d’ouverture
Liste · obligatoire

Commandes chat ouvrant le panneau de sélection des annonces, sans le / initial.

Chemin JSONCommands for show UI
Annonces
Valeur JSON · obligatoire

Catalogue des annonces. Chaque identifiant correspond à une clé du fichier de langue PlayerEventChatMessages.json.

Chemin JSONMessages (go to lang directory for values)
Plugins Extensions (optional)
Valeur JSON

Réglages supplémentaires conservés pour les intégrations de plugins. Laissez ce groupe vide sans intégration qui les utilise.

Chemin JSONPlugins Extensions (optional)
Monnaie 4
Plugin de monnaie
Choix · obligatoire

Fournisseur utilisé pour payer les annonces. Custom appelle les fonctions du plugin indiquées ci-dessous.

Chemin JSONMoney → Money Plugin Type ('Economics' | 'ServerRewards' | 'Custom')

Valeurs possibles : Economics, ServerRewards, Custom

Plugin personnalisé
Texte

Nom du plugin de monnaie chargé sur le serveur. Utilisé uniquement avec le fournisseur Custom.

Chemin JSONMoney → (Custom) Plugin Name
Fonction de consultation du solde
Texte

Fonction du plugin Custom qui renvoie un solde entier à partir du SteamID du joueur. Cette LTS ne lit pas les soldes décimaux.

Chemin JSONMoney → (Custom) Plugin Hook => int/double/float Hook(string id)
Fonction de débit
Texte

Fonction du plugin Custom qui débite le prix pour le SteamID reçu et renvoie si le paiement a réussi. Elle doit aussi accepter un montant nul pour les annonces gratuites.

Chemin JSONMoney → (Custom) Plugin Hook => bool Hook(string id, int val)
Categories 4
Category Height
Nombre

Hauteur d’un bouton de catégorie dans le panneau, en pixels.

Chemin JSONUI → Categories → Category Height
Category Width
Nombre

Largeur d’un bouton de catégorie dans le panneau, en pixels.

Chemin JSONUI → Categories → Category Width
Category Font Size
Nombre entier

Taille du nom des catégories : mort, élimination, connexion et déconnexion.

Chemin JSONUI → Categories → Category Font Size
Is Vertical
Activé / désactivé

Dispose les catégories en colonne. Conservez cette option en LTS : le placement horizontal peut dépasser le panneau par défaut.

Chemin JSONUI → Categories → Is Vertical
Icons 3
Money Icon Url
Texte

Adresse directe de l’image indiquant le prix ou le solde.

Chemin JSONUI → Icons → Money Icon Url
New Icon Url
Texte

Adresse directe de l’icône affichée pour une annonce nouvelle pour le joueur.

Chemin JSONUI → Icons → New Icon Url
Vip Icon Url
Texte

Adresse directe de l’icône signalant les annonces réservées aux VIP.

Chemin JSONUI → Icons → Vip Icon Url
Messages 7
Message Item Height
Nombre

Hauteur de chaque carte d’annonce dans le catalogue, en pixels.

Chemin JSONUI → Messages → Message Item Height
Max Message Per Line
Nombre

Nombre de cartes d’annonce affichées sur une même ligne. Augmenter ce nombre réduit leur largeur.

Chemin JSONUI → Messages → Max Message Per Line
Message Margin Height
Nombre

Espacement vertical entre les lignes de cartes d’annonce, en pixels.

Chemin JSONUI → Messages → Message Margin Height
Message Margin Width
Nombre

Espacement horizontal entre les cartes d’annonce, en pixels.

Chemin JSONUI → Messages → Message Margin Width
Message Font Size
Nombre entier

Taille du texte traduit affiché dans les cartes d’annonce.

Chemin JSONUI → Messages → Message Font Size
Icon Ratio (VIP, New, Money)
Nombre

Multiplicateur de taille des icônes VIP, nouvelle annonce et prix. Le plugin utilise des tailles de base fixes de 15 et 10 pixels.

Chemin JSONUI → Messages → Icon Ratio (VIP, New, Money)
Price font size
Nombre entier

Taille du prix affiché sur les cartes d’annonce payantes.

Chemin JSONUI → Messages → Price font size
Money Top 2
Money Icon Ratio
Nombre

Part de la hauteur du bandeau de solde occupée par son icône.

Chemin JSONUI → Money Top → Money Icon Ratio
Money Text Size
Nombre entier

Taille du texte affichant le solde du joueur.

Chemin JSONUI → Money Top → Money Text Size
Title 2
Title Font Size
Nombre entier

Taille du titre du panneau. Vérifiez que les traductions longues restent dans son cadre.

Chemin JSONUI → Title → Title Font Size
Title Font
Texte

Nom de la police Rust utilisée pour le titre du panneau, par exemple robotocondensed-bold.ttf.

Chemin JSONUI → Title → Title Font
Categories Rect 8
X Size Min
Nombre

Décalage horizontal du bord gauche, en pixels depuis le point d’ancrage.

Chemin JSONUI → Rects → Categories Rect → X Size Min
Y Size Min
Nombre

Décalage vertical du bord inférieur, en pixels depuis le point d’ancrage.

Chemin JSONUI → Rects → Categories Rect → Y Size Min
X Size Max
Nombre

Décalage horizontal du bord droit, en pixels depuis le point d’ancrage.

Chemin JSONUI → Rects → Categories Rect → X Size Max
Y Size Max
Nombre

Décalage vertical du bord supérieur, en pixels depuis le point d’ancrage.

Chemin JSONUI → Rects → Categories Rect → Y Size Max
Position X
Nombre

Ancrage horizontal dans le parent : 0 à gauche, 0,5 au centre, 1 à droite. Les décalages des bords s’y ajoutent.

Chemin JSONUI → Rects → Categories Rect → Position X
Position Y
Nombre

Ancrage vertical dans le parent : 0 en bas, 0,5 au centre, 1 en haut. Les décalages des bords s’y ajoutent.

Chemin JSONUI → Rects → Categories Rect → Position Y
Width
Nombre

Largeur calculée par le plugin : X Size Max moins X Size Min. Modifiez les bords pour changer la largeur.

Chemin JSONUI → Rects → Categories Rect → Width
Height
Nombre

Hauteur calculée par le plugin : Y Size Max moins Y Size Min. Modifiez les bords pour changer la hauteur.

Chemin JSONUI → Rects → Categories Rect → Height
Close Rect 8
X Size Min
Nombre

Décalage horizontal du bord gauche, en pixels depuis le point d’ancrage.

Chemin JSONUI → Rects → Close Rect → X Size Min
Y Size Min
Nombre

Décalage vertical du bord inférieur, en pixels depuis le point d’ancrage.

Chemin JSONUI → Rects → Close Rect → Y Size Min
X Size Max
Nombre

Décalage horizontal du bord droit, en pixels depuis le point d’ancrage.

Chemin JSONUI → Rects → Close Rect → X Size Max
Y Size Max
Nombre

Décalage vertical du bord supérieur, en pixels depuis le point d’ancrage.

Chemin JSONUI → Rects → Close Rect → Y Size Max
Position X
Nombre

Ancrage horizontal dans le parent : 0 à gauche, 0,5 au centre, 1 à droite. Les décalages des bords s’y ajoutent.

Chemin JSONUI → Rects → Close Rect → Position X
Position Y
Nombre

Ancrage vertical dans le parent : 0 en bas, 0,5 au centre, 1 en haut. Les décalages des bords s’y ajoutent.

Chemin JSONUI → Rects → Close Rect → Position Y
Width
Nombre

Largeur calculée par le plugin : X Size Max moins X Size Min. Modifiez les bords pour changer la largeur.

Chemin JSONUI → Rects → Close Rect → Width
Height
Nombre

Hauteur calculée par le plugin : Y Size Max moins Y Size Min. Modifiez les bords pour changer la hauteur.

Chemin JSONUI → Rects → Close Rect → Height
Content Rect 8
X Size Min
Nombre

Décalage horizontal du bord gauche, en pixels depuis le point d’ancrage.

Chemin JSONUI → Rects → Content Rect → X Size Min
Y Size Min
Nombre

Décalage vertical du bord inférieur, en pixels depuis le point d’ancrage.

Chemin JSONUI → Rects → Content Rect → Y Size Min
X Size Max
Nombre

Décalage horizontal du bord droit, en pixels depuis le point d’ancrage.

Chemin JSONUI → Rects → Content Rect → X Size Max
Y Size Max
Nombre

Décalage vertical du bord supérieur, en pixels depuis le point d’ancrage.

Chemin JSONUI → Rects → Content Rect → Y Size Max
Position X
Nombre

Ancrage horizontal dans le parent : 0 à gauche, 0,5 au centre, 1 à droite. Les décalages des bords s’y ajoutent.

Chemin JSONUI → Rects → Content Rect → Position X
Position Y
Nombre

Ancrage vertical dans le parent : 0 en bas, 0,5 au centre, 1 en haut. Les décalages des bords s’y ajoutent.

Chemin JSONUI → Rects → Content Rect → Position Y
Width
Nombre

Largeur calculée par le plugin : X Size Max moins X Size Min. Modifiez les bords pour changer la largeur.

Chemin JSONUI → Rects → Content Rect → Width
Height
Nombre

Hauteur calculée par le plugin : Y Size Max moins Y Size Min. Modifiez les bords pour changer la hauteur.

Chemin JSONUI → Rects → Content Rect → Height
Top Rect 8
X Size Min
Nombre

Décalage horizontal du bord gauche, en pixels depuis le point d’ancrage.

Chemin JSONUI → Rects → Top Rect → X Size Min
Y Size Min
Nombre

Décalage vertical du bord inférieur, en pixels depuis le point d’ancrage.

Chemin JSONUI → Rects → Top Rect → Y Size Min
X Size Max
Nombre

Décalage horizontal du bord droit, en pixels depuis le point d’ancrage.

Chemin JSONUI → Rects → Top Rect → X Size Max
Y Size Max
Nombre

Décalage vertical du bord supérieur, en pixels depuis le point d’ancrage.

Chemin JSONUI → Rects → Top Rect → Y Size Max
Position X
Nombre

Ancrage horizontal dans le parent : 0 à gauche, 0,5 au centre, 1 à droite. Les décalages des bords s’y ajoutent.

Chemin JSONUI → Rects → Top Rect → Position X
Position Y
Nombre

Ancrage vertical dans le parent : 0 en bas, 0,5 au centre, 1 en haut. Les décalages des bords s’y ajoutent.

Chemin JSONUI → Rects → Top Rect → Position Y
Width
Nombre

Largeur calculée par le plugin : X Size Max moins X Size Min. Modifiez les bords pour changer la largeur.

Chemin JSONUI → Rects → Top Rect → Width
Height
Nombre

Hauteur calculée par le plugin : Y Size Max moins Y Size Min. Modifiez les bords pour changer la hauteur.

Chemin JSONUI → Rects → Top Rect → Height
Window Rect 8
X Size Min
Nombre

Décalage horizontal du bord gauche, en pixels depuis le point d’ancrage.

Chemin JSONUI → Rects → Window Rect → X Size Min
Y Size Min
Nombre

Décalage vertical du bord inférieur, en pixels depuis le point d’ancrage.

Chemin JSONUI → Rects → Window Rect → Y Size Min
X Size Max
Nombre

Décalage horizontal du bord droit, en pixels depuis le point d’ancrage.

Chemin JSONUI → Rects → Window Rect → X Size Max
Y Size Max
Nombre

Décalage vertical du bord supérieur, en pixels depuis le point d’ancrage.

Chemin JSONUI → Rects → Window Rect → Y Size Max
Position X
Nombre

Ancrage horizontal dans le parent : 0 à gauche, 0,5 au centre, 1 à droite. Les décalages des bords s’y ajoutent.

Chemin JSONUI → Rects → Window Rect → Position X
Position Y
Nombre

Ancrage vertical dans le parent : 0 en bas, 0,5 au centre, 1 en haut. Les décalages des bords s’y ajoutent.

Chemin JSONUI → Rects → Window Rect → Position Y
Width
Nombre

Largeur calculée par le plugin : X Size Max moins X Size Min. Modifiez les bords pour changer la largeur.

Chemin JSONUI → Rects → Window Rect → Width
Height
Nombre

Hauteur calculée par le plugin : Y Size Max moins Y Size Min. Modifiez les bords pour changer la hauteur.

Chemin JSONUI → Rects → Window Rect → Height
Colors 7
Surface
Texte

Couleur des surfaces des cartes. Format RGBA Rust de 0 à 1 ; la dernière valeur règle l’opacité.

Chemin JSONUI → Theme → Colors → Surface
Background
Texte

Couleur du fond du panneau. Format RGBA Rust de 0 à 1 ; la dernière valeur règle l’opacité.

Chemin JSONUI → Theme → Colors → Background
TextPrimary
Texte

Couleur du texte principal. Format RGBA Rust de 0 à 1 ; la dernière valeur règle l’opacité.

Chemin JSONUI → Theme → Colors → TextPrimary
TextOnSelected
Texte

Couleur du texte de l’annonce sélectionnée. Format RGBA Rust de 0 à 1 ; la dernière valeur règle l’opacité.

Chemin JSONUI → Theme → Colors → TextOnSelected
Primary
Texte

Ancienne couleur conservée dans le fichier ; le rendu LTS 0.1.2 ne l’utilise pas.

Chemin JSONUI → Theme → Colors → Primary
Selected
Texte

Couleur du contrôle sélectionné. Format RGBA Rust de 0 à 1 ; la dernière valeur règle l’opacité.

Chemin JSONUI → Theme → Colors → Selected
CloseButton
Texte

Couleur du bouton de fermeture. Format RGBA Rust de 0 à 1 ; la dernière valeur règle l’opacité.

Chemin JSONUI → Theme → Colors → CloseButton

Instructions du plugin

PLAYER EVENTS MESSAGES — STABLE 0.1.2

Ce guide concerne uniquement la version Codefling 0.1.2 et son interface native. PimpMyCUI, les packs 0.2.0, le mode aléatoire, les conditions de cause/arme/distance, pem.grant et pem.receipt ne font pas partie de cette version.

INSTALLATION ET FICHIERS Installer PlayerEventChatMessages.cs dans oxide/plugins. Configuration : oxide/config/PlayerEventChatMessages.json. Langues : oxide/lang/fr/PlayerEventChatMessages.json et, si vous l'écrivez, oxide/lang/en/PlayerEventChatMessages.json. Données joueur : oxide/data/PlayerEventChatMessages/user_<steamid64>.json. Sauvegarder ces fichiers avant remplacement ; ne jamais remplacer les données joueur par un exemple de configuration ou par des données plus anciennes.

Le Default() du code 0.1.2 initialise un catalogue vide. La reconstruction generated-default.json le représente ; ce n'est pas un fichier observé en jeu. Le ZIP fourni contient séparément supplied.json, avec 43 messages configurés, et lang/fr.json, leurs textes français. L'anglais fourni est vide. Utiliser config et langue ensemble, ou remplir explicitement les quatre catégories avant d'ouvrir le panneau : son ancien rendu suppose une catégorie présente. Les fichiers fournis ne sont pas fusionnés automatiquement avec votre config.

PERMISSIONS ET OUVERTURE PlayerEventChatMessages.Default : permission vérifiée par les hooks d'annonces. PlayerEventChatMessages.VIP : accès aux messages réservés VIP. PlayerEventChatMessages.UnlimitedCooldown : contourner les délais. Aucune permission PlayerEventChatMessages.Admin n'est enregistrée en 0.1.2. Exemple console : oxide.grant group default PlayerEventChatMessages.Default. Les alias d'ouverture par défaut sont /pevent et /pevent_show, configurables dans Commands for show UI. Ils ouvrent la catégorie élimination (PlayerKill) ; ils ne proposent pas l'argument de catégorie du candidat 0.2.0. La commande d'ouverture historique ne contrôle pas uniformément la permission Default ; ce guide ne lui attribue pas les protections du candidat.

CHOIX ET ACHATS Les quatre catégories sont PlayerDead, PlayerKill, PlayerConnect, PlayerDisconnect. Le joueur choisit un message fixe par catégorie. Cliquer à nouveau le même choix le désélectionne ; il n'existe pas de réglages annonces ON/OFF et aléatoire séparés. Une annonce sans choix n'est pas émise. Obtention.Price (clé JSON Price (0 => free)) définit le prix. Exclusive and Free For VIP réserve un message aux VIP et l'accorde sans achat. Le prix zéro ne garantit pas une attribution automatique aux joueurs ordinaires : l'initialisation de leurs messages est vide dans cette source historique.

Money choisit Economics (par défaut), ServerRewards ou Custom ; pas de Money.Enabled. Le panneau natif consulte le solde à l'ouverture, même si les prix sont zéro : le fournisseur configuré doit donc être présent et testé. Economics utilise Balance/Withdraw ; ServerRewards utilise CheckPoints/TakePoints. Custom déclare un nom de plugin, un hook solde(string id) et un hook retrait (string id, int val). L'initialisation de ce mode doit être vérifiée sur le serveur ; ce guide ne promet pas que tous les retours numériques sont pris en charge. Le global est configuré à 1800 secondes par joueur, le délai par catégorie à 5. Ces délais historiques ne sont ni les nouveaux défauts 15/30 ni des délais persistés du candidat. Données modifiées sauvegardées au server save / unload.

COMMANDES D'ADMINISTRATION HISTORIQUES /peventmessage_add <message-id> : accorder au joueur administrateur qui la tape. /peventmessage_enable <message-id> : choisir/désélectionner pour ce même joueur. Ces commandes vérifient IsAdmin ; elles n'acceptent pas une cible steamid. Les commandes console peventmessage_showcat/clickmessage/buymessage/clicknew sont des callbacks du panneau, pas une API administrative distante recommandée. Aucun octroi distant API_GrantMessage ni journal de reçus durable en 0.1.2.

TEXTES ET IDENTIFIANTS La clé du catalogue est l'ID de langue : conserver les IDs déjà achetés/sélectionnés. Supplied : 1–12 mort, 13–22 élimination, 23–33 connexion, 34–43 déconnexion. Ajouter un nouvel ID nécessite son entrée de configuration et ses textes de langue. <owner_name> : toutes catégories ; <victim_name>/<kill_type> : élimination ; <death_type> : mort. Le code appelle actuellement mort avec Global et kill avec Distance : ce ne sont pas des circonstances réellement détectées. <killer_name>, <weapon_name>, <weapon> et <distance> ne sont pas substitués ici. L'ancien Lang() utilise string.Format : doubler les accolades littérales {{ et }}. Les textes français fournis et leurs rich text sont conservés, pas réécrits. Une traduction anglaise doit être rédigée/importée explicitement : aucun pack EN n'est livré par la stable. Ne pas utiliser les références UI 0.2.0 comme baseline.

APPARENCE ET CUSTOMWINDOW UI règle le panneau natif : rects, titre, catégories, icônes, messages, thème. Width/Height des rects sont calculés depuis X/Y Size Min/Max dans le code : modifier les dimensions Min/Max, pas seulement les copies Width/Height du JSON. CustomWindow existe dans cette version historique, option désactivée par défaut. Son activation exige le plugin et les WindowName/PageName/TabName configurés ; ne pas activer une intégration absente en supposant un rendu de secours. Le retrait de CustomWindow concerne le candidat 0.2.0, pas le ZIP stable inchangé.

UTILISATION DU HUB Importer votre config/langues, modifier, puis choisir les fichiers à exporter. L'exemple fourni remplace les fichiers annoncés après confirmation du brouillon. Conserver les autres fichiers serveur, notamment les achats/données joueur. Le Hub ne simule pas le rendu natif 0.1.2 : l'aperçu PimpMyCUI concerne 0.2.0. Formulaires consultables sans compte ; sorties JSON/ZIP/JSON avancé soumises à la politique d'achat Codefling du Hub. Aucun checkout ni déploiement serveur ajouté.

Installer les fichiers

Avec un serveur connecté, cliquez sur Envoyer dans le configurateur. Le résultat indique si les fichiers ont été envoyés et si le plugin a été rechargé. Sans RCON, rechargez le plugin depuis votre panneau serveur après l’envoi.

Sans serveur connecté : Conservez une copie des fichiers actuels. Placez chaque fichier exporté dans le dossier indiqué avant l’export, ou reprenez les chemins du ZIP. Ne placez pas les données ou les traductions dans le dossier config.

Suivez les instructions du plugin ci-dessus pour ses dépendances et son rechargement. L’export ne connecte pas le site à votre serveur.

Guide de configuration et d’envoi →