Aller au contenu

5 Screenshots

 

Fonctionnalite.thumb.png.d6f83a2a7bc61fb11b9d1bff0923e106.png

DisguiseMe est un skript qui permet de se déguiser ou se transformer en un mob de votre choix, qu'il soit passif ou agressif, de la 1.8 à la 1.16 !

Ce script permet de se déguiser mais également d'enlever son déguisement sans nécessiter une déconnexion/reconnexion.

Enfin, le déguisement reste même après une déconnexion !

Ma présentation de la 1.0 du Skript

Commandes.thumb.png.027f09cc384d957f286c3716a9dbcd30.png

Les commandes disponibles sont:
 

/disguise help : Affiche l'aide (permission: self.disguise)
/disguise list : Affiche la liste des mobs disponibles (permission: self.disguise)
/disguise <Mob> : Se déguiser en un mob particulier (permission: self.disguise) (exemple: /disguise Enderman)
/disguise <Mob> <Joueur> : Déguiser un joueur en un mob particulier (permission: other.disguise)
/undisguise : Enlever son déguisement, réafficher le joueur normal (permission: self.undisguise)
/undisguise <Joueur> : Enlever le déguisement d'un joueur, réafficher le joueur normal (permssion: other.undisguise)

Options.thumb.png.68761522decc839e9f72e60e2a4f2a4d.png

• Il est possible de désactiver le nom du joueur au dessus du déguisement via l'option "Name".

• Il est possible de personnaliser le nom attribué à chacune des entités. Par défaut, ces noms sont leurs noms vanilla 1.15 (sans les _):

Exemple, CaveSpider à la place de cave_spider

Si vous souhaitez modifier les noms des entités, vous pouvez simplement modifier les options.

Exemple, si vous souhaitez modifier le nom de "Horse à cheval" il suffit de modifier la ligne suivante

Horse: Horse

en

Horse: Cheval

Maintenant, la commande /disguise Horse ne sera plus reconnu, il faudra faire /disguise Cheval pour se déguiser en cheval

• Vous pouvez également désactiver le reload de skin en 1.15, et changer le cooldown du déguisement pour les versions antérieures à la 1.11 (comprise)

[Mettre un temps trop faible peut faire crash les joueurs proche du déguisé lorsqu'il se reconnecte, modifiez uniquement si vous savez ce que vous faites]

• Il est possible de désactiver le reload de la tête, de la main et du stuff

Addons.thumb.png.41fc3e3b742f590c3adc1fa10d8825b3.png

En plus d'une version de Skript récente, 2 Addons de Skript et 1 plugin seront nécessaires :

• ThatPacketAddon (pour utiliser les packets)

• Skript-mirror (2.0) (pour pouvoir récupérer l'entity Id d'un joueur, son pitch & son yaw, et les packets) [Lien direct]

• ProtocolLib (Api qui permet d'utiliser les packets)

Fonctionnement.thumb.png.e05cf10d17caae45b9863df57339ed79.png

C'est en fait assez simple, afin de déguiser une entité il suffit juste de simuler l'apparition du mob choisi avec l'entity ID du joueur (il ne faut absolument

pas envoyer ce packet au joueur, sinon il ne peut plus bouger). Enfin, il suffit juste de réenvoyer ce packet lorsque le joueur devient visible

pour un autre, c'est à dire lorsque qu'un packet play_server_named_entity_spawn est envoyé et le jeu va penser que ce joueur est un mob.

L'item tenu par le joueur est un packet envoyé contenant les infos de cet item et un packet est également envoyé pour remettre la tête en place & raffraichir le skin.

Bugs.thumb.png.15c850dabd4eb97fa8f9ec4a4a7f880d.png

Liste des bugs qui ne seront probablement jamais réglés car c'est pas important, ou car c'est impossible à fix.

• L'hitbox du joueur déguisé change pour les contacts directs (les coups d'épées par exemple) mais pas pour les contacts indirects (Flèches, boules de neiges..)

Impossible à fix car cela résulte du clientside (qui gère les contacts physiques) vs serverside (qui gère les attaques indirects)

• Le plugin CItizens2 ne semble pas compatible (du moins pas la dernière version): Les NPC n'apparaissent plus. Infixable, car analyser

un packet nécessaire au fonctionnement du script empêche leur apparition (même si celui ci n'est pas cancel/modifié)

• Certains mobs ont une façon d'utiliser le pitch & le yaw de façon étrange, comme les Guardians, ou l'enderdragon qui s'affiche à l'envers.

J'ai un fix, mais ça ferait trop lag de l'implémenter pour pas grand chose 😕

• Le Shulker ne se déplace pas, reste statique (dans minecraft vanilla, le shulker est un mob statique qui ne peut pas bouger, c'est donc logique)

• En 1.9 & 1.10, faire clique droit sur un joueur déguisé en villageois fait crash celui qui clique, et en 1.8 le joueur cliqué devient invisible

• La chauve souris apparaiît dans sa position de repos. C'est possible de modifer sa Metadata, mais ça ajouterait beaucoup de lignes pour pas grand chose

Un système permettant de changer la metadata d'un déguisement sera peut-être fait un jour, mais ça demande beaucoup de temps 😕

Fonctions.thumb.png.7bccd9451be7e00e4be9c29d8c42d738.png

Il est possible d'intégrer directement des fonctions à un code pour éviter l'utilisation de "make console execute command" etc.

Ces fonctions permettent notamment de Déguiser un joueur pour tout le monde ou seulement certains joueurs (Disguise), d'enlever le déguisement

d'un joueur (Undisguise, UndisguiseOffline et UndisguiseOnline) et de savoir si un joueur est déguisé (IsDisguise, IsDisguiseOnline et 

IsDisguiseOffline). Si possible, utiliser les versions "Online" des fonctions, car Skript galère avec les Offline players.

Pour savoir comment les utiliser, vous pouvez cliquer ici (Exemples & Explications, désolé si le site est moche mais c'est pas une priorité) ou regarder

directement dans le code 

futurs.thumb.png.63124665ff9fd5566b6fc7f62319d5e5.png

Je manque cruellement de temps en ce moment, ces fonctionnalités ne verront probablement pas le jour avant un très long moment (si elles le voient un jour)

• Réafficher le stuff complet du joueur (simple en 1.15 ou moins, nécessite juste du temps que je n'ai pas)

• Pour la 1.16, trouver une meilleure méthode pour réafficher l'objet tenu & le skin (le packet a changé, et ThatPacketAddon n'a pas les field

nécessaire, du coup je suis obligé d'update le slot d'une façon douteuse), et trouver un moyen de réafficher le stuff

• Un système pour changer les metadata, pour avoir des moutons de couleur ou une chauve souris qui n'est pas en position de repos

Remerciements.thumb.png.559e9296be21f93145d23567be477db3.png

Je tiens à remercier particulièrement @Rush2Fer pour son aide précieuse afin de pouvoir afficher le nom du joueur au dessus de son déguisement

pour la 1.13/1.14/1.15 (aide Skript-Mirror pour créer une partie de packet, ThatPacketAddon n'étant pas à jour)

Merci également à @carlodrift qui m'a aidé à trouver des bugs et à tester le skript avec d'autres paramètres que les miens (PaperSpigot 1.15.2)

154592329_QBugs.thumb.png.38bbf5461ac07efc6680cf22775a8d6e.png

Si vous trouvez les bugs, que vous avez des questions ou des erreurs avec le skript, n'hésitez pas à m'envoyer un message sur le forum,

sur Twitter (@Phe0XDev) ou encore sur Discord (Phe0X#5907), j'essaierai de repondre dans le weekend, mais pas dans les reviews

Ce projet est mis en pause par manque de temps ! Les updates seront rare (pendant les vacances) et se focaliseront principalement sur l'ajout des nouveaux mobs !

Le lien github si vous souhaitez contribuer

N'hésitez pas à laisser une notation si le skript vous plaît, vous pouvez aussi me faire un don pour me payer un McDo !

PS: Désolé pour les éventuelles fautes d'orthographe !

 




Retour utilisateur

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.