Questionnaires de permis
AmnesiaPermis sépare les questions, la session et les panneaux de réponse. Le permis B calcule le score et affiche le résultat ; l’attribution du permis reste signalée par un TODO dans la version fournie.
C# / Systèmes métier
Des règles métier au cœur d’un serveur de jeu de rôle.
Plugins C#/.NET et systèmes métier pour serveur RP : banque, permissions et administration.
01 / Le contexte
Proposer des interactions en jeu et traduire des règles de fonctionnement en plugins C# : examens, commandes, livraison et interfaces d’administration.
02 / Les usages
Analyse statique d’une sélection des sources fournies. Aucun serveur de jeu n’a été lancé. Le statut global « Terminé » est conservé selon le CV ; le module de permis analysé comporte une attribution encore à compléter, limite confirmée par Romain Beka.
AmnesiaPermis sépare les questions, la session et les panneaux de réponse. Le permis B calcule le score et affiche le résultat ; l’attribution du permis reste signalée par un TODO dans la version fournie.
Innov_MCDO définit des commandes, des ingrédients et un suivi de livraison. Le traitement final vérifie le rôle de l’employé, l’état de paiement et les fonds du client avant le transfert des objets.
Le plugin F4 utilise un patch Harmony sur l’entrée clavier pour ouvrir ou fermer un panneau personnalisé et mémoriser le panneau associé au joueur.
MapConfig utilise une entité ModKit annotée pour SQLite et sérialise les objets du terrain en JSON. Ce modèle a été examiné ; la base du serveur n’a pas été consultée.
03 / L’interface
À ajouter : questionnaire du permis, panneau de commande et livraison en jeu. Aucune capture du serveur n’a été fournie ; aucun écran n’a été reconstitué.
04 / La technique
Panneaux UIPanel, réponses aux questions et entrées clavier.
Sessions de permis, gestion des commandes et menu F4 ; modules distincts.
Joueurs, inventaires, entreprises et panneaux du jeu. Interception ciblée avec Harmony pour F4.
Sauvegardes via l’API du jeu ; entité ModKit / SQLite et JSON observée pour MapConfig.
Vue d’ensemble des modules examinés, pas une chaîne unique ni une base commune à tous les plugins. Les dépendances au jeu sont nécessaires à une validation en exécution.
La session du permis conserve la liste des questions, l’index courant et le nombre de bonnes réponses. Le panneau affiche la question puis transmet le choix au traitement de la réponse. L’état de progression reste distinct de sa présentation.
CompleteDelivery relit les fonds du client au moment de livrer. Le débit précède le transfert d’objets, puis le code marque la commande comme payée et répartit le montant entre entreprise et livreur. Cette lecture ne garantit pas une transaction atomique.
05 / Mon rôle
Programmation des plugins, implémentation des règles métier et intégration des systèmes.
J’ai développé la majorité du code, avec une assistance IA occasionnelle.
06 / Recul technique
Aucun récit de difficulté résolue n’a été fourni. Les contrôles métier sont visibles dans le code, mais leur robustesse en jeu reste à tester. Deux points relevés : l’attribution du permis est incomplète ; CompleteDelivery consulte customer.isInGame après une recherche susceptible de renvoyer null. Les sources externes n’ont pas été corrigées.
Valider la version du plugin déployée, compléter l’attribution du permis, traiter le cas du client absent et enregistrer une démonstration sur un serveur de test autorisé.
07 / Aller plus loin