Aller au contenu

Question

Posté(e)

Version de Minecraft : 1.16.5
Version de Skript : 2.6

Addons utilisés: SkQuery, WildSkript

Type du skript : Admin chat

Description du script :

Salut l'équipe !

Je viens vers vous, car je souhaite faire un admin tchat avec une variable définie.

Je n'arrive pas à faire un loop correct pour vérifier que le joueur ait bien la variable activée

J'ai cherché sur internet et je trouve souvent ça :


 

Citation

loop-player has not permission "test.test"


Et moi je veux juste vérifier si mon joueur parmi tous les joueurs a cette variable :
 

set {staffchat.%uuid of player%} to true


Et ensuite dans le on chat envoyer UNIQUEMENT le message du joueur ayant la variable set à TOUS LES JOUEURS ayant cette même variable set.

si quelqu'un peut m'aider je vous remercie par avance...
En effet les loops ne sont pas trop mon fort.

8 réponses à cette question

Messages recommandés

  • 0
Posté(e)
Il y a 21 heures, Mr_Kofte a dit :

Version de Minecraft : 1.16.5
Version de Skript : 2.6

Addons utilisés: SkQuery, WildSkript

Type du skript : Admin chat

Description du script :

Salut l'équipe !

Je viens vers vous, car je souhaite faire un admin tchat avec une variable définie.

Je n'arrive pas à faire un loop correct pour vérifier que le joueur ait bien la variable activée

J'ai cherché sur internet et je trouve souvent ça :


 


Et moi je veux juste vérifier si mon joueur parmi tous les joueurs a cette variable :
 


set {staffchat.%uuid of player%} to true


Et ensuite dans le on chat envoyer UNIQUEMENT le message du joueur ayant la variable set à TOUS LES JOUEURS ayant cette même variable set.

si quelqu'un peut m'aider je vous remercie par avance...
En effet les loops ne sont pas trop mon fort.

salut,

si tu veux vérifier que la variable du joueur soit set sur "true" ou "false" tu dois le faire pour chaque joueur c'est à dire que dans la boucle tu dois remplacer le %uuid of player% par %uuid of loop-player%
 

(si tu veux un exemple ça doit te donner ça :

loop all players:

  if {staffchat.%uuid of loop-player%} = true:

    <la suite de ton code>

  • 0
Posté(e)

Salut je te remercie,

Et comment envoyer donc dans le tchat un message écrit uniquement par les joueurs ayant cette permission et que les autres n'ayant pas la permission ne puisse pas voir le message ?

  • 0
Posté(e)
Il y a 23 heures, Mr_Kofte a dit :

Salut je te remercie,

Et comment envoyer donc dans le tchat un message écrit uniquement par les joueurs ayant cette permission et que les autres n'ayant pas la permission ne puisse pas voir le message ?

c'est la boucle loop-player.

Dans la boucle tu écris le code permettant d'envoyer le message à un joueur à condition qu'il a la permission requise :

loop all players:

  if loop-player has permission "test.test":

    send "message de test" to loop-player

  • 0
Posté(e)

Justement c'est là que ça coince je veux que la permission soit ça :

 {staffchat.%uuid of loop-player%}

 

et donc ne pas utiliser has permission

  • 0
Posté(e) (modifié)
Le 04/04/2023 à 21:55, Mr_Kofte a dit :

Justement c'est là que ça coince je veux que la permission soit ça :

 {staffchat.%uuid of loop-player%}

 

et donc ne pas utiliser has permission

c'est simple, dans ton loop tu met la ligne suivante:

if {staffchat.%uuid of loop-player%} = true:

  send "%message%" to loop-player

 

bien évidemment tu dois être dans un évènement on chat.

Modifié par mimi59660
  • 0
Posté(e) (modifié)

Salut, merci cela fonctionne ;

En revanche, j'aimerai comprendre comment faire :

Pour que les autres mecs ayant des permissions autres puisse aussi parler sur le tchat général :


 

loop all players:
		if {staffchat.%uuid of loop-player%} is set:
			cancel event
			send "Admin: %message%" to loop-player
		else:
			if {adminrank.%uuid of player%} is "Gestion Loup":
				if {aduty.%player%} is true:
					set the chat format to "&c[&6&l&o%{adminrank.%uuid of player%}%&c] &e&o%player% &7: %message%"
				else:
					set the chat format to "&c[&9&l&oHéros&c] &9&o%player% &7: %message%"


En gros je veux que juste les mecs qui ont le staff de true = envoie un message uniquement aux mecs qui ont la variable sur true

ET que les gens classiques n'ayant pas la variable sur true puisse quand même parler... Voici en tout mon chat :


 

on chat:
	replace all "&" in message with "§"
		
	if {tempmute.%uuid of player%} is true:
		set {_tempmute} to {time.tempmute.%uuid of player%}
		remove difference between now and {start.tempmute.%uuid of player%} from {_tempmute}
		if difference between now and {start.tempmute.%uuid of player%} is less than {time.tempmute.%uuid of player%}:
			cancel event
			send "&6[Mute] &fVous êtes réduit au silence pendant &c%{_tempmute}%" to player
			#wait {_tempmute}
			
		else:
			send "&6[Mute] &fVous pouvez de nouveau parler %player% !"		
			delete {tempmute.%uuid of player%}
			delete {time.tempmute.%uuid of player%}
			delete {now.tempmute.%uuid of player%}
			stop
			
	if {tempjail.%uuid of player%} is true:
		#set {_test} to difference between now and {start.tempjail.%uuid of player%}
		set {_mute} to {time.tempjail.%uuid of player%}
		remove difference between now and {start.tempjail.%uuid of player%} from {_mute}
		if difference between now and {start.tempjail.%uuid of player%} is less than {time.tempjail.%uuid of player%}:
			cancel event
			replace "second" with "seconde" in {_mute}
			replace "hour" with "heure(s)" in {_mute}
			replace "day" with "jours" in {_mute}
			send "&6[Mute] &fVous êtes réduit au silence pendant &c%{_mute}%" to player
		else:
			send "&6[Mute] &fVous pouvez de nouveau parler %player% !"		
			delete {tempjail.%uuid of player%}
			delete {time.tempjail.%uuid of player%}
			delete {now.tempjail.%uuid of player%}
			stop

	
			
	if {adminrank.%uuid of player%} is "Garde_loup":
		if {aduty.%player%} is true:
			set the chat format to "&c[&3&l&o%{adminrank.%uuid of player%}%&c] &b&o%player% &7: %message%"
		else:
			set the chat format to "&c[&9&l&oHéros&c] &9&o%player% &7: %message%"
	if {adminrank.%uuid of player%} is "Développeur":
		if {aduty.%player%} is true:
			set the chat format to "&c[&b&l&o%{adminrank.%uuid of player%}%&c] &b&o%player% &7: %message%"
		else:
			set the chat format to "&c[&9&l&oDév&c] &9&o%player% &7: %message%"		
				
	if {adminrank.%uuid of player%} is "Héros":
		if {gduty.%player%} is true:
			set the chat format to "&c[&9&l&oHéros&c] &9&o%player% &7: %message%"
		else: 	
			set the chat format to "(Aventurier) %player% : %message%"
			
	loop all players:
		if {staffchat.%uuid of loop-player%} is set:
			cancel event
			send "Admin: %message%" to loop-player
		else:
			if {adminrank.%uuid of player%} is "Gestion Loup":
				if {aduty.%player%} is true:
					set the chat format to "&c[&6&l&o%{adminrank.%uuid of player%}%&c] &e&o%player% &7: %message%"
				else:
					set the chat format to "&c[&9&l&oHéros&c] &9&o%player% &7: %message%"


Je n'arrête pas d'essayer différente forme et je ne comprends pas la mécanique...

Modifié par Mr_Kofte
  • 0
Posté(e)

Ok j'ai trouvé la solution que je vous partage ici :

 

if {adminrank.%uuid of player%} is "Gestion Loup" or "Garde_loup" or "Héros" or "Développeur":
		loop all players:
			
			if {staffchat.%uuid of loop-player%} is true:
				if message contains "!":
					cancel event
					send "&c[Admin]: %message%" to loop-player
					
			else if {staffchat.%uuid of loop-player%} is not set:
				if message contains "!":
					stop


RESOLU

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.