Aller au contenu

5 captures d’écran

À propos de ce fichier

 

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 !

 


Quoi de neuf dans la version 1.1 ?   Voir le journal des modifications

Publiée

37103859_Nouveaut.thumb.png.d199fd876c84a527523f41d61b7745e9.png

Cette update apporte beaucoup de nouvelles fonctionnalitées, c'est pourquoi elle est en retard par rapport à la sortie de la 1.16.

• Ajout du support pour la 1.16 

[+] Ajout des mobs de la 1.16: Strider, Hoglin, Piglin et ZombifiedPiglin

• Autres ajouts majeurs

[+] Le joueur regarde désormais dans la bonne direction lorsqu'il enlève son déguisement/il réapparait dans le champs de vision d'un joueur

[+] L'item tenu par le joueur est réaffiché quand il se déguise en mob supporté (ex Zombie), quand il enlève son déguisement & quand il réapparait

[+] Ajout d'un réaffichage experimental du Stuff complet en 1.12 et avant (pas que la main donc). Cf page du Skript

• Ajouts mineurs, bugfix & optimisation

[~] Les mobs sont désormais classé alphabétiquement dans la liste

[~] Optimisation du script en général

[+] Ajout d'une alerte si le serveur n'a pas ProtocolLib ou ThatPacketAddon

[~] Certain messages d'erreurs important sont envoyés aux ops lors du load du script désormais

[+] Les fonctions ont été updates (normallement j'ai rien oublié, mais pas sur)

[+] Ajout d'une fonction MobToId pour la 1.16, et UpdateHand pour la 1.16 également

[+] Ajout d'un return pour les fonctions si le mob renseigné a été supprimé dans une version (comme les Pigmen en 1.16), ça return -6 si le mob n'existe plus

[+] Ajout des options pour désactiver le réaffichage de l'item dans la main, l'update du yaw & l'update du stuff exp (toutes true par défaut)

 [-] Les return inutiles de certaines fonctions ont été enlevés


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.