TheFighter51 Posté(e) le 23 août 2018 Posté(e) le 23 août 2018 (modifié) Version de Minecraft : 1.8.8 Version de skript: 2.2-Fixes-V8b Type du skript : Anti retour SafeZone Description du script: Bonjour, Je souhaiterais un skript permettant un joueur en combat, qu'il ne puisse pas quitter une zone précise, par exemple sur mon serveur j'ai une mine pvp, je voudrais que les joueurs ne puissent pas retourner dans la zone protégée, j'ai fais une région WorldGuard qui se nomme "Mine" donc quand des joueurs s'affrontent, ils ne peuvent pas quitter cette région. J'ai déjà commencer un skript: on region leave: if "%region at player%" contains "mine": if {combat.%player%} is true: cancel event send "&cVous ne pouvez pas quitter la zone en combat." Mais le problème c'est que le cancel event fait bug le joueur, comme si il était freeze, alors je voudrais que le joueur soit téléporter à l'intérieur de la mine. Par exemple si le joueur regarde dans la direction de la mine: Qu'il soit téléporter dans sur le block entouré Mais que si le joueur regarde dans la direction extérieur de la mine sa le téléporte sur le bloc dérrière lui. J'espère que vous pourrez m'aider pour faire ce skript. Merci d'avance ! Modifié le 23 août 2018 par TheFighter51
Wildteams Posté(e) le 26 août 2018 Posté(e) le 26 août 2018 (modifié) Bonsoir, Je ne vois pas trop comment faire pour que si le joueur regarde a l’intérieur de la zone en sortant sa le tp vers le bloc devant, ou si il regarde vers extérieure sa le tp dans la zone, Mais il y a sinon un moyen, tu pourrait faire en sorte que si il y a du combat dans la zone, la zone soit bloquer avec des vitres rouges par exemple Modifié le 26 août 2018 par Wildteams
Wineker Posté(e) le 29 août 2018 Posté(e) le 29 août 2018 si tu veux téléporter le joueur à son dernier emplacement avant de quitter la zone, tu peux mettre un: on any move: if "%region at player%" contains "mine": set {loc.%player%} to location of player on region leave: if "%region at player%" contains "mine": if {combat.%player%} is true: send "&cVous ne pouvez pas quitter la zone en combat." teleport player to {loc.%player%} Où alors sans avoir besoin de scripts tu entoures l'arènes de minecraft:barrier les bloques invisibles
uiytt Posté(e) le 29 août 2018 Posté(e) le 29 août 2018 il y a 1 minute, Wineker a dit : si tu veux téléporter le joueur à son dernier emplacement avant de quitter la zone, tu peux mettre un: on any move: if "%region at player%" contains "mine": set {loc.%player%} to location of player on region leave: if "%region at player%" contains "mine": if {combat.%player%} is true: send "&cVous ne pouvez pas quitter la zone en combat." teleport player to {loc.%player%} Où alors sans avoir besoin de scripts tu entoures l'arènes de minecraft:barrier les bloques invisibles ça peut marcher mais rip ton serveur car le on any move c'est violent comme truc...
Wineker Posté(e) le 29 août 2018 Posté(e) le 29 août 2018 il y a 6 minutes, uiytt a dit : ça peut marcher mais rip ton serveur car le on any move c'est violent comme truc... alors avec every second ?
uiytt Posté(e) le 29 août 2018 Posté(e) le 29 août 2018 il y a 7 minutes, Wineker a dit : alors avec every second ? C'est déjà plus opti après ouai j'ai pas d'idée sur une manière vraiment opti de le faire
TheFighter51 Posté(e) le 30 août 2018 Auteur Posté(e) le 30 août 2018 Cela fonctionne mais c'est vrai que ça fais lag le serveur. Alors j'ai essayer avec le every second et sa met: alors je met: "Every second in "SkyBlock": et sa me met cette erreur: Avez vous une solution ?
Wineker Posté(e) le 30 août 2018 Posté(e) le 30 août 2018 C'est parce que pour un event périodique tu ne peux pas cibler qu'un jouer, enfin si mais pour faire ça il fait d'abord tous les loop every second: loop-all players: if "%region at loop-player%" contains "mine": set {loc.%loop-player%} to location of loop-player
Messages recommandés