Aller au contenu

Messages recommandés

Posté(e) (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:

2018-08-23_13_43_48.thumb.png.e1dacd2bf189b4c611dd2556a804b24b.png

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.

2018-08-23_13_43_55.thumb.png.59ed997ac5ee793427924f7961fd66c5.png

J'espère que vous pourrez m'aider pour faire ce skript.

 

Merci d'avance !

 

 

Modifié par TheFighter51
Posté(e) (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é par Wildteams
Posté(e)

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 

Posté(e)
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... 

Posté(e)
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 

Posté(e)

Cela fonctionne mais c'est vrai que ça fais lag le serveur.

Alors j'ai essayer avec le every second et sa met:

erreur.png.63999e6e0886315c96d7860941302e85.png

alors je met:

"Every second in "SkyBlock":

et sa me met cette erreur:

957812450_erreur2.png.dda7c5f79a3906a84de56ee4153e4ea9.png

Avez vous une solution ?

Posté(e)

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

 

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • 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.