#
Scores Alternatifs
#
📝 Introduction
Le système de scores alternatifs permet de créer et gérer des types de scores personnalisés en plus du score global. Chaque type de score peut être utilisé pour compter des points spécifiques (kills, captures, etc.) et peut être lié au score global pour une synchronisation automatique.
#
🔑 Permission
horizons.score
#
📋 Gestion des types de scores
#
➕ create
Syntaxe: /score alt create <scoreType> [displayName] [--link]
Description: Crée un nouveau type de score alternatif.
Paramètres:
<scoreType>: Nom du type de score (lettres, chiffres et underscores uniquement)[displayName]: Nom d'affichage optionnel (peut contenir des espaces)[--link]: Option pour lier automatiquement ce score au score global
Exemples:
/score alt create kills: Crée un type "kills" avec le nom d'affichage "kills"/score alt create kills "Kills": Crée un type "kills" avec le nom d'affichage "Kills"/score alt create kills "Kills" --link: Crée un type "kills" lié au score global
Note: Si un score alternatif est lié au score global, toute modification de ce score alternatif mettra automatiquement à jour le score global.
#
🗑️ delete
Syntaxe: /score alt delete <scoreType>
Description: Supprime un type de score alternatif et tous les scores associés.
Exemples:
/score alt delete kills
⚠️ Attention: Cette action supprime définitivement tous les scores de ce type pour tous les joueurs et équipes.
#
📋 list
Syntaxe: /score alt list
Description: Affiche tous les types de scores alternatifs enregistrés avec leur nom d'affichage et leur statut de lien.
Exemple de sortie:
Alternative Score Types:
- kills (Kills) (Linked to global)
- captures (Captures)
- deaths (Deaths)
#
🔗 link
Syntaxe: /score alt link <scoreType> [--add|--remove]
Description: Lie ou délie un type de score alternatif au score global.
Paramètres:
<scoreType>: Le type de score à lier/délier[--add]: Force l'ajout du lien[--remove]: Force la suppression du lien- Sans argument : Toggle le lien (ajoute si absent, retire si présent)
Exemples:
/score alt link kills: Toggle le lien pour "kills"/score alt link kills --add: Force l'ajout du lien/score alt link kills --remove: Force la suppression du lien
Note: Quand un score est lié, tous les scores existants sont synchronisés avec le score global lors du linking.
#
📋 Gestion des scores
#
✏️ set
Syntaxe: /score alt <player/team> set <nom> <scoreType> <points>
Description: Définit le score alternatif d'une équipe ou d'un joueur à une valeur spécifique.
Exemples:
/score alt team set Rouge kills 100/score alt player set John kills 50
#
➕ add
Syntaxe: /score alt <player/team> add <nom> <scoreType> <points>
Description: Ajoute des points au score alternatif actuel d'une équipe ou d'un joueur.
Exemples:
/score alt team add Bleu kills 25/score alt player add Alice kills 15
Note: Si le score est lié au score global, les points sont également ajoutés au score global.
#
➖ remove
Syntaxe: /score alt <player/team> remove <nom> <scoreType> <points>
Description: Retire des points au score alternatif actuel d'une équipe ou d'un joueur.
Exemples:
/score alt team remove Vert kills 10/score alt player remove Bob kills 5
Note: Si le score est lié au score global, les points sont également retirés du score global.
#
📈 get
Syntaxe: /score alt <player/team> get <nom> <scoreType>
Description: Affiche le score alternatif actuel d'une équipe ou d'un joueur.
Exemples:
/score alt team get Jaune kills/score alt player get Emma kills
#
🎮 Utilisation
#
Pour les équipes
/score alt team set Rouge kills 100 # Définit le score de kills de l'équipe Rouge à 100
/score alt team add Bleu kills 50 # Ajoute 50 kills à l'équipe Bleu
/score alt team remove Vert kills 25 # Retire 25 kills de l'équipe Vert
/score alt team get Jaune kills # Affiche le score de kills de l'équipe Jaune
#
Pour les joueurs
/score alt player set John kills 75 # Définit le score de kills de John à 75
/score alt player add Alice kills 30 # Ajoute 30 kills à Alice
/score alt player remove Bob kills 10 # Retire 10 kills de Bob
/score alt player get Emma kills # Affiche le score de kills d'Emma
#
🖼️ Interface Graphique
#
Commande GUI
Syntaxe: /score gui [player/team] [name]
Description: Ouvre une interface graphique pour visualiser les scores.
Exemples:
/score gui: Ouvre la GUI pour le joueur actuel/score gui player: Ouvre la liste des joueurs ayant des scores/score gui team: Ouvre la liste des équipes ayant des scores/score gui player John: Ouvre la GUI détaillée pour le joueur John/score gui team Rouge: Ouvre la GUI détaillée pour l'équipe Rouge
Fonctionnalités:
- Vue liste : Affiche tous les joueurs/équipes ayant des scores avec leurs têtes/icônes
- Vue détail : Affiche le score global et tous les scores alternatifs d'un joueur/équipe
- Navigation : Permet de switcher entre vue joueur et vue équipe
- Pagination : Automatique si trop de joueurs/équipes
#
🔗 Lien avec le score global
#
Fonctionnement
Quand un score alternatif est lié au score global :
- Toute modification (set/add/remove) du score alternatif met automatiquement à jour le score global
- Lors du linking, tous les scores existants sont synchronisés avec le score global
- La différence entre l'ancien et le nouveau score est appliquée au score global
Exemple:
Score global actuel : 100
Score alternatif "kills" : 50 (lié au score global)
Si on ajoute 10 au score alternatif :
- Score alternatif "kills" : 60
- Score global : 110 (100 + 10)
#
Synchronisation initiale
Lors du linking d'un score alternatif qui a déjà des points :
- Tous les scores existants des joueurs sont ajoutés à leur score global
- Tous les scores existants des équipes sont ajoutés à leur score global
#
📝 Placeholders
#
Placeholders locaux (pour sidebar, etc.)
Format: {alt_<scoreType>_player} et {alt_<scoreType>_team}
Exemples:
{alt_kills_player}: Score alternatif "kills" du joueur{alt_kills_team}: Score alternatif "kills" de l'équipe du joueur
#
Placeholders PlaceholderAPI
Format: %horizons_player_alt_score_<scoreType>%
Description: Score alternatif d'un joueur spécifique.
Exemples:
%horizons_player_alt_score_kills%: Score "kills" du joueur
Format: %horizons_team_alt_score_<scoreType>%
Description: Score alternatif de l'équipe du joueur.
Exemples:
%horizons_team_alt_score_kills%: Score "kills" de l'équipe du joueur
Format: %horizons_<teamName>_alt_score_<scoreType>%
Description: Score alternatif d'une équipe spécifique.
Exemples:
%horizons_Rouge_alt_score_kills%: Score "kills" de l'équipe "Rouge"
#
🔧 Skript
#
Expression pour les joueurs
Syntaxe: alt score %string% of %player% ou %player%'s alt score %string%
Description: Récupère ou modifie le score alternatif d'un joueur.
Exemples:
set {kills} to alt score "kills" of player
set alt score "kills" of player to 100
add 10 to alt score "kills" of player
remove 5 from alt score "kills" of player
#
Expression pour les équipes
Syntaxe: alt score %string% of team %string%
Description: Récupère ou modifie le score alternatif d'une équipe.
Exemples:
set {team_kills} to alt score "kills" of team "Rouge"
set alt score "kills" of team "Rouge" to 100
add 10 to alt score "kills" of team "Rouge"
remove 5 from alt score "kills" of team "Rouge"
#
⚠️ Restrictions
- Les points doivent être des nombres entiers non négatifs
- Le nom du type de score (
scoreType) ne peut contenir que des lettres, chiffres et underscores - L'équipe doit exister pour pouvoir modifier son score
- Le joueur doit s'être connecté au moins une fois pour pouvoir modifier son score
- Le type de score doit être créé avant de pouvoir l'utiliser
#
💾 Stockage
Les scores alternatifs sont stockés dans :
- YAML : Fichier
data/alternative-scores.yml(si storage YAML) - MySQL : Tables
hz_alternative_scores_playersethz_alternative_scores_teams(si storage MySQL)
Le type de stockage est configuré dans config.yml :
alternative_scores:
storage:
type: "YAML" # ou "MYSQL"
#
🔄 Commande alternative
Cette commande est également accessible via /horizons score alt ou /hz score alt avec la même syntaxe.
#
📌 Notes importantes
- Les scores alternatifs sont indépendants du score global sauf s'ils sont explicitement liés
- Le linking synchronise automatiquement les modifications mais ne fusionne pas les scores existants avant le linking
- La suppression d'un type de score est irréversible et supprime tous les scores associés