Scores Alternatifs

Ce document détaille le système de scores alternatifs du plugin Horizons.

📝 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

1

➕ 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.

2

🗑️ 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.

3

📋 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)
4

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

Pour les joueurs

🖼️ 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:

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:

Expression pour les équipes

Syntaxe: alt score %string% of team %string%

Description: Récupère ou modifie le score alternatif d'une équipe.

Exemples:

⚠️ Restrictions

Voir les 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_players et hz_alternative_scores_teams (si storage MySQL)

Le type de stockage est configuré dans config.yml :

🔄 Commande alternative

Cette commande est également accessible via /horizons score alt ou /hz score alt avec la même syntaxe.

📌 Notes importantes

Voir les 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

Mis à jour