Aller au contenu
  • 0

Loop all chunks


Question

Posté(e)

Version de Minecraft : 1.7.10
Version de Skript : 2.X.X

Addons utilisés: SkQuerry, SkRayfall

Type du skript : Skript permettant de vérifier tout les chunks dans un monde

Description du script :

Bonjour/Bonsoir , j'essaye en ce moment de faire un skript Faction , de faire en sorte que le chef de fac puisse claim des zones , qu'un joueur créer une fac etc... Mais j'ai un petit problème sur un truc : Je veux pourvoir faire en sorte que le leader d'une faction puisse dissoudre sa faction grâce à la command /f leave, quand il exécute cette commande , sa faction disparer et tout les chunks qu'il a claim avec sa faction vont redevenir en Wilderness. Hors , je en sais pas comment faire pour faire en sorte que tout les chunks qui ont le nom de sa faction se transforment en Wilderness. Je me suis dit qu'il fallait faire un genre de "Loop all chunks" qui détecterai tout les chunks du monde et qui supprimerai tout les chunks portant le nom de sa faction, mais cela ne fonctionne pas. Pourriez vous m'aider s'il vous plaît ???

 

		if arg 1 is "leave":
			loop all chunks:
				if {chunkclaim.%loop-chunk%} is "%{faction.%player%}%":
					set {chunkclaim.%loop-chunk%} to {_s}
			send "&cVous venez de quitter le pays %{faction.%player%}%" to player
			broadcast "&6// %player% &evient de disband le pays &6%{faction.%player%}%"
			clear {faction.%player%}
			clear {factionRang.%player%}

{_s} = les chunks Wilderness

Merci d'avance 

Cordiallement.

6 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Hey 👋

Dans ton cas précis, je te conseil, au moment du claim, d'ajouter le chunks dans une liste lié à la faction. Ensuite rien de plus simple, juste faire une boucle avec la liste et ainsi obtenir tout les chunks qui furent précédemment claims.

  • 0
Posté(e)
Il y a 10 heures, SkyCraft78 a dit :

Hey 👋

Dans ton cas précis, je te conseil, au moment du claim, d'ajouter le chunks dans une liste lié à la faction. Ensuite rien de plus simple, juste faire une boucle avec la liste et ainsi obtenir tout les chunks qui furent précédemment claims.

Je vois se que u veux dire , à vrai dire je n'ai jamais utilisé les listes 😅. Mais je me suis renseigné et je comprend l'utilité, je test ça dans la journée et je vous redit 😉

  • 0
Posté(e)
il y a 39 minutes, SkyCraft78 a dit :

Hey 👋

Oki pas de soucis, n'hésite pas à demander de l'aide concernant le système de liste, ce sera un plaisir de t'aider 😄

Re, bon ben du coup j'ai fais plusieurs tests avec les listes , mais pour être franc , j'ai un peu de mal à les utiliser 😅.

Voilà mon code à la base :

options:
	prefix : &7[&4SkClaims&7]&b
	chunkdejaclaim : Ce chunk est déja claim!
	chunkpasavous : Ce chunk n'est pas a vous!
	chunknonclaim : Ce chunk n'est pas claim
	peuxplusbuild: %arg-1% Ne peux plus Build ici! #%arg-1% pour afficher le joueur | Joueur ne peux plus build
	desormaisunclaim: Vous avez unclaim ce chunk!
	desormaisclaim: Vous avez claim ce chunk!
	au: true #Auto Update true = auto update| false = désactivé

command /claim:
	trigger:
		if {faction.%player%} is set:
			if {factionRang.%player%} is "Leader":
				if {chunkclaim.%chunk at location of player%} is set:
					send "{@prefix} {@chunkdejaclaim}"
					stop
				add name of player to {claimspersone.%chunk at location of player%::*}
				set {chunkclaim.%chunk at location of player%} to "%{faction.%player%}%"
				send "{@prefix} {@desormaisclaim}"



on join:
	set {_Wilderness.%player%} to false
	set {_s} to chunk at player
	while player is online:
		if chunk at player is not {_s}:
			if {chunkclaim.%chunk at location of player%} is not set:
				if {_Wilderness.%player%} is false:
					set {_Wilderness.%player%} to true
					send "§2~Wilderness"
			else:
				if {_Wilderness.%player%} is true:
					set {_Wilderness.%player%} to false
					send "§4~%{chunkclaim.%chunk at location of player%}%"
			
		set {_s} to chunk at player
		wait a tick



on place:
	if {chunkclaim.%chunk at block%} is set:
		if {chunkclaim.%chunk at block%} is {faction.%player%}:
			cancel event
		else:
			send "C'est bon"
on break:
	if {chunkclaim.%chunk at block%} is set:
		if {chunkclaim.%chunk at block%} is {faction.%player%}:
			cancel event
		else:
			send "C'est bon"

Et le second 

command /f [<text>] [<text>]:
	permission: *
	trigger:
		if arg 1 is "create":
			if arg 2 is "France":
				if {faction.%player%} is not set:
					set {faction.%player%} to "%arg 2%"
					set {factionRang.%player%} to "Leader"
					send "&6// &eVous venez de fonder le pays &6%{faction.%player%}%" to player
					broadcast "&6// %player% &evient de fonder le pays &6%{faction.%player%}%"
				else:
					send "&cVous possédez déjà un pays !" to player
				
			else:
				send "&cCe pays n'éxiste pas !" to player
				
		else:
			send "Usage : /f [<text>] [<text>]" to player
		
		if arg 1 is "leave":
			loop chunks:
				set {chunkclaim.%loop-chunk%} to {_s}
			send "&cVous venez de quitter le pays %{faction.%player%}%" to player
			broadcast "&6// %player% &evient de disband le pays &6%{faction.%player%}%"
			clear {faction.%player%}
			clear {factionRang.%player%}

				

			

	

Pourriez vous , à partir de cela , m'ajouter les listes svp ? Que je comprenne un peu comment les utiliser 😀

  • 0
Posté(e)
Le 16/01/2021 à 10:41, SkyCraft78 a dit :

Hey 👋

Oki pas de soucis, n'hésite pas à demander de l'aide concernant le système de liste, ce sera un plaisir de t'aider 😄

Hey pourrai tu m'aider stp ?

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.