Skip to content

SkinHelper

Aarnow edited this page Mar 9, 2024 · 8 revisions

Introduction

SkinHelper est une classe utilitaire introduisant une façon différente de gérer les vêtements des joueurs.
Dans la base de données de ModKit, vous y trouverez une table ${\color{LimeGreen}\normalsize{\textsf{Cloth}}}$ dans laquelle nous allons stocker:

  • les vêtements achetable en jeu
  • les vêtements non-achetable (exemple: tenue de pompier)
  • les vêtements personnalisés (physique et virtuel)

L'autre particularité c'est que vous pouvez personnaliser et enregistrer n'importe quel tshirt ou pantalon (H/F).
D'autres fonctionnalités sont à votre disposition pour vos plugins respectifs.

Peupler la base de données

Si vous réalisez un plugin nécessitant la présence des différents vêtements natif au jeu dans la table ${\color{LimeGreen}\normalsize{\textsf{Cloth}}}$, vous devriez créer une commande exécutant la fonction ${\color{NavyBlue}\normalsize{\textsf{PopulateDb}}}$
Les gérants du serveur n'auront qu'à lancer une seule fois cette commande pour peupler la base de données.
Si votre plugin dépend du module externe AAMenu, celui-ci s'occupe de peupler la base de données automatiquement.

 new SChatCommand("/mkclothmyplugin", new string[] { "/mkcmyplugin" }, "Permet d'ajouter les vêtements de base dans la table \"Cloth\" en base de données.", "/mkcmyplugin", (player, arg) =>
 {
     if (player.IsAdmin) SkinHelper.PopulateDb();
     else player.Notify("Stop!", "Vous n'avez pas l'autorisation d'exécuter cette commande.", NotificationManager.Type.Error);
 }).Register();

Créer un vêtement personnalisés

Pour ajouter un nouveau vêtement vous pouvez utiliser la fonction ${\color{NavyBlue}\normalsize{\textsf{CreateCloth}}}$.
Voici les paramètres de cette fonction.

  • ${\color{Goldenrod}\normalsize{\textsf{modelId}}}$ : L'identifiant du vêtement existant dans la base de données à partir duquel créer une variante. Il peut également représenter l'identifiant d'un article personnalisable (t-shirt/pantalon stockable dans l'inventaire).
  • ${\color{Goldenrod}\normalsize{\textsf{clothDataUrl}}}$ : L'URL redirigeant vers le flocage du vêtement.
  • ${\color{Goldenrod}\normalsize{\textsf{clothName}}}$ : Le nom du vêtement.
  • ${\color{Goldenrod}\normalsize{\textsf{price}}}$ : Le prix du vêtement (optionnel, par défaut à 0).
  • ${\color{Goldenrod}\normalsize{\textsf{usedClothDataUrl }}}$ : L'URL du vêtement vers le flocage du vêtement endommagé (optionnel).
//admettons que l'ID du Marcel = 10
//Nous voulons créer une variante du Marcel qui serait Noir et au prix de 10.99€
SkinHelper.CreateCloth(10, url_image_pixel_noir, "Marcel noir", 10.99, url_image_pixel_noir_avec_tache_de_cafe);

Bien sûr, ajouter un flocage à des vêtements qui ne sont pas des t-shirts ou des pantalons sera sans effets.

Equiper un vêtement

Pour qu'un joueur puisse s'équiper d'un vêtement présent dans la table ${\color{LimeGreen}\normalsize{\textsf{Cloth}}}$ de notre base de données, vous pouvez utiliser la fonction ${\color{NavyBlue}\normalsize{\textsf{EquipCloth(Player player, int clothId)}}}$.
Cette fonction ne fonctionne que pour les vêtements considérés comme "virtuel" (qui ne se stockent pas dans l'inventaire).

SkinHelper.EquipCloth(player, clothId);

Afficher les vêtements selon leurs type

récupérer les vêtements facilement selon s'il s'agit d'un t-shirt ou d'un pantalon

Attribuer/Retirer un vêtement à un joueur

Les joueurs peuvent posséder des vêtements sur votre serveur.
Nous n'allons plus tenir compte de la table native au jeu et allons uniquement passer par la table PlayerCloth de notre base de données.

📒 Wiki

🧱 AAMenu

🔗 ORM

⚡️ EventHelper

🚚 JobHelper

🌀 PointHelper

🎭 SkinHelper

📂 PanelHelper

✒️ TextFormattingHelper

💜 DiscordHelper

🌱 NetworkAreaHelper

🧰 CraftHelper

🚕 VehicleHelper

📡 ProximityHelper

⚙️ OverrideHelper

🧾 JsonHelper

📦 Utilitaires

Clone this wiki locally