Eluune Posté(e) le 23 novembre 2016 Posté(e) le 23 novembre 2016 Nom du Skript : Téléporteur Version minecraft : 1.8 Comment le Skript doit fonctionner ? Le joueur passant dans une zone prédéfinie de téléportation reçoit Blindness ainsi qu'un Title lui indiquant qu'il va être téléporté dans 3 secondes dans la prochaine zone. Il faut donc initialiser deux points pour créer chaque zone de téléportation ainsi qu'un troisième point permettant d'être téléporté. Jusque là rien de très compliqué. Mais j'aimerai que ce Skript soit paramétrable depuis le jeu. Exemple : Je tape la command "/teleporteur villagetoforet". Et quand j'effectue un premier clique droit avec un stick spécial renommé [Outil de teleportation], ça stock dans une variable {stick.villagetoforet.1} la première position de la zone de tp. Un deuxième clique définie la deuxième position de la zone de tp et un troisième définie l'endroit où le joueur est téléporté. De cette façon, il sera possible de réaliser autant de zone de tp que nécessaire sans avoir à passer par une initialisation dans le code. Je vous remercie d'avance, si vous avez besoin de plus d'informations n'hésitez pas !
noftaly Posté(e) le 23 novembre 2016 Posté(e) le 23 novembre 2016 je pense que je peux faire ca. Mais j'ai 1 question : - Ca te dérange si j'utilise WoldGuard pour la zone ? parceque faire une zone, en skript, soit je ne sais pas faire, soit c'est impossible. voila ;) Je te fais une première version avec WoldGuard. Edit : je ne pense pas savoir faire avec World Guard non-plus, désolé, mais ce sera un point qui TP a un autre point. Si tu veux vraiment que ce soit une zone, demande a quelqu'un d'autre ou dis moi, et je ferai en sorte que les 9 premiers points (pour faire un carré de 3x3) soit les points de téléportation
Eluune Posté(e) le 23 novembre 2016 Auteur Posté(e) le 23 novembre 2016 Alors, je viens de faire mon propre skript finalement. Je vous le met pour ceux qui pourraient s'en inspirer ! command /creamode [<string>]: permission: creamode.admin trigger: # Vous retire du creamode et vous rend votre ancien stuff if {creamode.active.%player%} is true: set {creamode.active.%player%} to false message "&3[Creamode] &6: &cDesactivation" to player clear the player's inventory wait 3 ticks open the player's inventory for the player loop {chest::%player%::*}: add loop-value to slot loop-index parsed as integer of current inventory of player wait 1 tick close player's inventory stop # Si creamode non actif + aucun argument if arg-1 is not set: message "&c[Erreur] : Vous devez definir un nom de variable pour utiliser cette fonction." to player stop # Vous passer en Creamode (sauvegarde votre stuff avant de le clear et de vous donner les items du creamode) if arg-1 is set: set {creamode.variable} to "%arg-1%" add "%arg-1%" to {list::*} set {creamode.active.%player%} to true message "&3[Creamode] &6: &2Activation" to player open the player's inventory for the player loop 36 times: set {chest::%player%::%loop-number - 1%} to slot "%loop-number - 1%" parsed as an integer of current inventory of player wait 1 tick close the player's inventory clear the player's inventory add stick named "[Point &c1&r]" with lore "Clique droit : definie Point 1 de la zone" to player add feather named "[Point &c2&r]" with lore "Clique droit : definie Point 2 de la zone" to player add blaze rod named "[Point &ctp&r]" with lore "Clique droit : definie le point de tp" to player on rightclick holding a stick: if {creamode.active.%player%} is true: set {loc1.x.%{creamode.variable}%} to x-coordinate of targeted block set {loc1.z.%{creamode.variable}%} to z-coordinate of targeted block message "Point 1 Set en %{loc1.%{creamode.variable}%}%." to player on rightclick holding a feather: if {creamode.active.%player%} is true: set {loc2.x.%{creamode.variable}%} to x-coordinate of targeted block set {loc2.z.%{creamode.variable}%} to z-coordinate of targeted block message "Point 2 Set en %{loc2.%{creamode.variable}%}%." to player on rightclick holding a blaze rod: if {creamode.active.%player%} is true: set {tp.%{creamode.variable}%} to event-location message "Point de Tp Set en %{tp.%{creamode.variable}%}%." to player # Rajouter autant d'itérations en 'IF' que vous avez de téléporteurs nécessaire every 1 second: loop all players: set {_x.%loop-player%} to x-coordinate of loop-player set {_z.%loop-player%} to z-coordinate of loop-player if {_x.%loop-player%} is between {loc2.x.villagetoforet} and {loc1.x.villagetoforet}: if {_z.%loop-player%} is between {loc2.z.villagetoforet} and {loc1.z.villagetoforet}: make console execute command "/effect %loop-player% minecraft:blindness 3 3" send loop-player title "" with subtitle "&cTeleportation &6- &3Foret" for 1 seconds wait 3 seconds teleport loop-player to {tp.villagetoforet} # Vous retire le creamode a la connection / a la mort on respawn: wait 3 seconds if {creamode.active.%player%} is true: make player execute command "/creamode" on join: wait 3 seconds if {creamode.active.%player%} is true: make player execute command "/creamode" N'ayant pas réussi à totalement passer par le jeu pour réaliser mes téléporteurs, je me suis rabattu sur cette solution. Si vous avez besoin d'ajouter de nouveaux téléporteurs, il vous suffit de rajouter le même code que celui présent dans le every 1 second en modifiant les coordonnées des variables. En espérant que ça serve à d'autres :) Je met le poste en résolu
Messages recommandés