L'expérience de Minecraft



  • Bonjour,

    J'ai hésité entre ce forum ci et celui du recrutement pour poster ce topic un peu particulier. Mon choix s'est posé sur l'aide étant donné qu'il s'agit plus (pour l'instant) d'une simple question, qui pourra éventuellement donner lieu à un recrutement.

    Je vais faire court !

    Je suis administrateur d'un projet de serveur Minecraft MMORPG nommé Lyricraft, et nous avons un GROS problème lié à la gestion de l'expérience des joueurs.

    Notre objectif est de modifier l'expérience nécessaire pour monter de niveau. Nous utilisons pour cela un plugin nommé "XPBarLib". Ce plugin fonctionne bien seulement si l'on fait spawner des orbes sur le joueur, la commande /xp ne fonctionne pas et prend en compte les vraies valeurs de Minecraft.
    Nous avons donc développé un plugin permettant, à la fin de quête, de donner au joueur une bouteille d'expérience contenant un certain nombre d'xp. Au clic droit, cette bouteille disparait, l'xp spawn sur le joueur, qui reçoit son expérience.

    Jusque là, tout va bien, aucun conflit avec les niveaux de minecraft tant qu'on utilise pas la commande /xp.

    Seulement voilà : dans certains cas de figure, il y a conflit.

    Supposons que le joueur doit gagner 10 d'expérience pour passer niveau 1, et 50 pour passer niveau 2. Si nous créons une bouteille donnant 10 d'expérience, le joueur up niveau 1, impeccable. Mais si nous lui donnons 20 d'xp, le joueur n'arrive pas niveau 1 à 20%, il arrive presque niveau 3…

    En gros, si l'on donne au joueur plus d'expérience que nécessaire pour monter de niveau, le surplus d'expérience ne prend pas en compte les valeurs de notre plugin, mais celles de Minecraft. Ce qui met complètement à plat tout notre système d'xp...

    Ma question est la suivante : est-il possible de modifier notre plugin d'xp en y intégrant par exemple une condition du type SI le joueur va monter de niveau avec l'xp qu'on va lui donner, ALORS faire spawner assez d'xp pour le faire up PUIS faire spawner le reste d'xp (ce qui devrait bien prendre en compte les valeurs de notre plugin) ?

    Ou faut-il préférer un mod modifiant les valeurs d'expérience de Minecraft ? Sachant que malgré de grandes recherches je n'ai rien trouvé à ce sujet, est-ce possible ?

    Un grand merci à ceux qui auront le courage de nous apporter leur aide, nous en avons vraiment besoin ! Nous sommes prêts à financer un développeur capable de nous sortir de ce pétrin, cela nous ôterait une grosse épine du pied.

    Si vous avez des pistes ou des idées de réponse, n'hésitez pas à répondre. Si vous pensez être capable de régler notre problème, vous pouvez venir discuter avec nous (skype en MP).

    Cordialement,

    L'équipe de Lyricraft



  • Salut, je pense que vous devriez soit créé un plugin qui lui meme gère son propre système de niveau etc.. Ou sinon vous faites un mod, avec un GUI overlay pour afficher votre barre d'xp custom, 2 extended proprieties (une pour le niveau et une autre pour le nombre d'xp), et vous faites des commandes qui ajoutent enlèvent, et définissent des niveaux et d'autre qui ajoutent, enlèvent et définissent l'xp.. Et apres si en fonction du niveaux il y a des bonus, vous utilisez un évent (je l'ai plus en tête) qui tout les ticks si le joueur a tel niveau ça fait tels effets.. En espérant vous avoir aidez, si vous vouliez que le fasses désoler mais je ne peux pas je suis prit avec mon mod et un mod que l'on m'a demandé. Demandez sur le forum ou si je trouves le temps je vous le dirais. Et je passerai sûrement sur votre serveur pour voir, si il est ouvert ^^



  • Oui, tout dépend de ce que vous voulez faire. Voulez vous absolument garder un système d'expérience modifié de Minecraft ?
    Quand vous parlez de plugin, vous parlez de Bukkit (ou équivalent) ou de Forge ?



  • Salut, merci de vos réponses 😄 !

    Je vais essayer d'y répondre… ^^.

    Voulez vous absolument garder un système d'expérience modifié de Minecraft ?

    Oui, surs et certains. Les valeurs d'expérience de Minecraft sont inutilisables dans un MMORPG, c'est limite s'il faut pas la même xp pour passer de 100 à 101 que de 40 à 41…

    Quand vous parlez de plugin, vous parlez de Bukkit (ou équivalent) ou de Forge ?

    Nous sommes sur Cauldron, donc que ça soit un mod ou un plugin, pas de soucis !

    je pense que vous devriez soit créé un plugin qui lui meme gère son propre système de niveau etc. Ou sinon vous faites un mod, avec un GUI overlay pour afficher votre barre d'xp custom, 2 extended proprieties (une pour le niveau et une autre pour le nombre d'xp), et vous faites des commandes qui ajoutent enlèvent, et définissent des niveaux et d'autre qui ajoutent, enlèvent et définissent l'xp.. Et apres si en fonction du niveaux il y a des bonus, vous utilisez un évent (je l'ai plus en tête) qui tout les ticks si le joueur a tel niveau ça fait tels effets

    Sur notre serveur, l'expérience est gagnée à la fin d'une quête ou en achevant un monstre. Pour les quêtes, nous pouvons offrir en récompense au joueur une bouteille d'expérience (via le GUI de custom NPC spécialement fait pour ça) qui lui délivre l'xp que nous voulons après un clic droit, puis disparaît. Pour les PNJ monstres, (Aucun VRAI monstre sur le serveur), c'est plus simple. L'xp que nous choisissons via le mod est donnée au joueur sous la forme d'orbes, donc tout fonctionne correctement. Nous pourrions aussi faire looter aux monstres des bouteilles d'xp dans le cas où nous ferions un plugin d'xp custom, mais cela permettrait le "vol d'xp"…

    Du coup je vois trois solutions :

    -> La première, et la meilleure je pense, serait de modifier directement dans le jeu les valeurs d'expérience, mais je ne sais pas si c'est possible.
    -> La deuxième serait comme tu le propose sosoh, de créer un plugin d'expérience custom. Ca serait plus lourd étant donné qu'il faudrait exécuter des commandes de partout à la mort de chaque PNJ, à la fin de chaque quête, autoriser le vol d'xp etc, mais ça pourrait fonctionner... Mais je ne sais pas si c'est possible de l'afficher à la place de la barre d'expérience de Minecraft ?
    -> Réussir à faire fonctionner notre plugin qui après tout, n'a qu'un seul bug.. ^^. Si nous parvenons à le régler, tout est ok !

    Je vais réfléchir à un plugin custom, voir ce qu'on pourrait mettre en place...

    Du coup je vais poster une demande de recrutement sur le forum, pour une de ces trois solutions, au choix !

    Merci de votre aide, si quelqu'un passe par là avec d'autres idées ou une solution surtout hésitez pas !


  • Administrateurs

    Remarque inutile de me demander quelque chose en mp, je lis tous les messages du forum. En fait quand on m'envoie un mp me disant "tu peux aller voir ce problème" j'ai juste envie de ne pas répondre … C'est vraiment désagréable d'avoir des mp comme ça...

    Bref, si le problème vient du plugin, autant reporter le problème au développeur du plugin pour qu'ils puissent le régler non ? Et si tu veux modifier toi le plugin pour régler le problème, il serait mieux de demander un coup de main sur Bukkit.fr. Ici on développe des mods, peu d'entre nous touchons aux plugins.

    Après comme tu utilises Cauldron tu peux également créer un mod qui modifie l'xp de mc (normalement c'est faisable, il me semble qu'il y a un event pour (en effet PlayerPickupXpEvent)).



  • Remarque inutile de me demander quelque chose en mp, je lis tous les messages du forum. En fait quand on m'envoie un mp me disant "tu peux aller voir ce problème" j'ai juste envie de ne pas répondre … C'est vraiment désagréable d'avoir des mp comme ça...

    Bref, si le problème vient du plugin, autant reporter le problème au développeur du plugin pour qu'ils puissent le régler non ? Et si tu veux modifier toi le plugin pour régler le problème, il serait mieux de demander un coup de main sur Bukkit.fr. Ici on développe des mods, peu d'entre nous touchons aux plugins.

    Désolé pour le MP.

    Je ne suis pas sur que le problème vienne du plugin, et le "réparer" n'est pas la solution optimale. C'est pourquoi je poste sur ce forum !

    Après comme tu utilises Cauldron tu peux également créer un mod qui modifie l'xp de mc (normalement c'est faisable, il me semble qu'il y a un event pour (en effet PlayerPickupXpEvent)).

    C'est exactement ça que je cherche à faire 😄 !

    Je ne suis pas développeur, et celui de notre équipe fait essentiellement des plugins… Je vais poster une demande de recrutement sur ce forum pour un mod comme celui-là. Merci !