Bonjour,
Actuellement, notre équipe travaille sur le développement d’un serveur Minecraft, mais nous avons été confrontés à un énième problème, cette fois-ci nous ne trouvons pas la solution. Je fais donc appel à la communauté Minecraftienne, du moins à ce forum, afin que certains prennent le temps de répondre ou de le lire. Et je vous en remercie. Mais bon, trêve de bla-bla-bla. Tout d’abord, ce problème réside, à mon avis, plus du côté des développements.
Notre serveur bénéficie d’un plugin de sortilège que nous avons développé. Le joueur saisit l'objet permettant de lancer les sortilèges, sélectionne celui qu’il veut, et clique droit pour lancer le sort sur sa cible, pouvant être un zombie par exemple. Notre plugin va donc faire subir au zombie ce que devait faire le sort, par exemple le tuer dans ce cas présent.
Cependant, nous utilisons un autre plugin pour gérer les quêtes nommé BetonQuest. BetonQuest permet donc la création des quêtes via du script YAML. Une quête pourrait être de tuer 1 zombie. Le joueur va donc, dans notre cas, prendre son sort pour tuer le zombie. Celui-ci va mourir comme prévu, mais pour BetonQuest, le joueur n’a pas tué de zombie. La raison en est simple : le plugin de sortilège a tué le zombie par le serveur, parce que le joueur l’a demandé en touchant une cible avec son sort. Pour Minecraft, cela reviendrait à ce que le zombie soit tué par le serveur ou la console. Pour que BetonQuest détecte donc que le joueur a tué un zombie, il faut qu’il le fasse par lui-même avec une épée, des poings, une flèche, etc.
La question est donc la suivante : comment régler ce problème ? Faut-il faire comprendre à BetonQuest que c’est le joueur qui a donné l’ordre de tuer et donc qu'il est le tueur, ou bien faut-il modifier directement le plugin de sortilège pour faire passer les dégâts comme si le joueur les infligeait à sa cible ? Cela pourrait-il être réalisé en utilisant une API ou d'autres moyens ?
Merci de votre compréhension. En espérant que vous nous apporterez une réponse explicite sur la manière de procéder, si possible.
Actuellement, notre équipe travaille sur le développement d’un serveur Minecraft, mais nous avons été confrontés à un énième problème, cette fois-ci nous ne trouvons pas la solution. Je fais donc appel à la communauté Minecraftienne, du moins à ce forum, afin que certains prennent le temps de répondre ou de le lire. Et je vous en remercie. Mais bon, trêve de bla-bla-bla. Tout d’abord, ce problème réside, à mon avis, plus du côté des développements.
Notre serveur bénéficie d’un plugin de sortilège que nous avons développé. Le joueur saisit l'objet permettant de lancer les sortilèges, sélectionne celui qu’il veut, et clique droit pour lancer le sort sur sa cible, pouvant être un zombie par exemple. Notre plugin va donc faire subir au zombie ce que devait faire le sort, par exemple le tuer dans ce cas présent.
Cependant, nous utilisons un autre plugin pour gérer les quêtes nommé BetonQuest. BetonQuest permet donc la création des quêtes via du script YAML. Une quête pourrait être de tuer 1 zombie. Le joueur va donc, dans notre cas, prendre son sort pour tuer le zombie. Celui-ci va mourir comme prévu, mais pour BetonQuest, le joueur n’a pas tué de zombie. La raison en est simple : le plugin de sortilège a tué le zombie par le serveur, parce que le joueur l’a demandé en touchant une cible avec son sort. Pour Minecraft, cela reviendrait à ce que le zombie soit tué par le serveur ou la console. Pour que BetonQuest détecte donc que le joueur a tué un zombie, il faut qu’il le fasse par lui-même avec une épée, des poings, une flèche, etc.
La question est donc la suivante : comment régler ce problème ? Faut-il faire comprendre à BetonQuest que c’est le joueur qui a donné l’ordre de tuer et donc qu'il est le tueur, ou bien faut-il modifier directement le plugin de sortilège pour faire passer les dégâts comme si le joueur les infligeait à sa cible ? Cela pourrait-il être réalisé en utilisant une API ou d'autres moyens ?
Merci de votre compréhension. En espérant que vous nous apporterez une réponse explicite sur la manière de procéder, si possible.