Repository navigation
OverrideHelper
Cette méthode permet de remplacer dynamiquement une méthode définie dans une classe du jeu par une autre méthode, définie dans une classe de remplacement.
En utilisant cette méthode, vous acceptez les règles suivantes : Conditions D'utilisation.
Pour garantir une initialisation correcte, la méthode OverrideMethod doit être appelée lors du lancement de votre plugin.
Il est conseillé de créer une méthode InitOv() contenant tous vos appels de méthode, puis de l'appeler dans OnPluginInit() de votre plugin.
namespace OverrideExample
{
public class OverrideExample : ModKit.ModKit
{
public OverrideExample(IGameAPI api) : base(api)
{
PluginInformations = new PluginInformations(AssemblyHelper.GetName(), "1.0.0", "MOD");
}
public override void OnPluginInit()
{
base.OnPluginInit();
InitOv(); // Initialisation des remplacements
}
public void InitOv()
{
// Ajouter les appels à OverrideMethod ici
}
}
}Pour identifier la méthode cible à remplacer, utilisez l’Explorateur d’objets de Visual Studio (raccourci : Ctrl + Alt + J) et recherchez la méthode souhaitée.
Pour identifier les paramètres de la méthode cible à remplacer, faites un double clique sur cette méthode et faites défiler les méthodes pour trouver la méthode cible (Attention, le code du jeu est offusquée)
Dans cet exemple, nous souhaitons remplacer la méthode PayDay de la classe SEconomy.
Dans l’explorateur d’objets, vous devez repérer le nom de la classe initiale, le nom de la méthode initiale et ses paramètres pour les reporter dans votre méthode de remplacement (sinon quoi cela ne fonctionnera pas) :
-
Nom de la classe :
SEconomy -
Nom de la méthode :
PayDay -
Paramètres de la méthode initiale :
Player player
Créez une nouvelle classe contenant la méthode qui remplacera la méthode d'origine.
Pour que tout fonctionne parfaitement, veuillez remettre exactement les mêmes paramètres. (Méthode originale : Player | Méthode de remplacement : Player)
Appelez maintenant OverrideMethod dans la méthode initialement crée InitOv() en remplissant les paramètres demandés.
| Paramètre | Description | Exemple |
|---|---|---|
declaringClass |
Classe contenant la méthode originale | typeof(SEconomy) |
overridingClass |
Classe contenant la méthode de remplacement | typeof(Overriding) |
originalMethodName |
Nom de la méthode originale | "PayDay" |
overrideMethodName |
Nom de la méthode de remplacement | "OV_PayDay" |
using Life;
using Life.Network;
using Life.Network.Systems;
using ModKit.Helper;
using ModKit.Interfaces;
using ModKit.Helper.OverrideHelper;
using Life.CharacterSystem;
namespace OverrideExample
{
public class OverrideExample : ModKit.ModKit
{
public OverrideExample(IGameAPI api) : base(api)
{
PluginInformations = new PluginInformations(AssemblyHelper.GetName(), "1.0.0", "MOD");
}
public override void OnPluginInit()
{
base.OnPluginInit();
InitOv();
}
public void InitOv()
{
OverrideHelper.OverrideMethod(
typeof(SEconomy), // Classe d'origine
typeof(Overriding), // Classe de remplacement
"PayDay", // Nom de la méthode originale
"OV_PayDay" // Nom de la méthode de remplacement
);
}
public class Overriding
{
private void OV_PayDay(Player player)
{
// Code personnalisé
// Exemple : Envoi d’un message à un joueur
}
}
}
}La Team Nova régie les règles lié à ’utilisation de la méthode OverrideMethod. En effet, elle est tolérée uniquement dans un cadre de développement de plugins. Toute utilisation nuisant à l’expérience des joueurs sur Nova-Life est strictement interdite.
En utilisant cette méthode, vous acceptez les conditions suivantes :
-
Responsabilité
- Vous assumez l’entière responsabilité des conséquences liées à l'utilisation de cette méthode.
- L’équipe de développement de
ModKitne pourra être tenue responsable en cas d’utilisation abusive ou malveillante.
-
Sanctions
- Conformément aux règles de Nova-Life, toute modification portant atteinte à l’expérience des joueurs sera considérée comme une violation grave, passible d’un bannissement à vie du jeu.
(c.f screen en bas de la page)
- Getting Started
- Ajouter une compétence métier
- Ajouter une interaction
- Ajouter une proximité
- Ajouter une proximité d'activité
- Ajouter une action admin
- Ajouter un plugin
- Retourner vers AAMenu
- Introduction
- Ajouter une activité personnalisé
- Associer une société à une activité personnalisées
- Connaitre l'activité d'un joueur
- Introduction
- PatternData
- Classe de base
- Fonctions à compléter ou créer
- Enregistrer votre type de point en base de donées
- Intégrer votre type de point à AAMenu
- Introduction
- Peupler la base de donées
- Créer un vêtement personnalisés
- Equiper un vêtement
- Afficher les vêtements selon leurs type
- Attribuer/Retirer un vêtement à un joueur
- Recipe & Ingredient
- Récupérer les recettes
- Récupérer les recettes selon la catégorie
- Ajouter une recette
- Comment l'utiliser



