Aller au contenu

Question

Posté(e) (modifié)

Version de Minecraft : 1.16.5
Version de Skript : 2.6.3

 

Bonjour, j'ai créer des grades avec skript, il définit une variable "{admin_%player%}" à true ou false.

D'ici là pas de problème. 

command /admin:
    trigger:
        if {admin_%player%} is true:
			send "Tu es un admin !" to player
        else:
            send "Tu n'es pas un admin !" to player
        

Or, je me sert de la variable "{admin_%player%}" pour savoir si la personne à la permission de faire une commande (comme le cas au dessus par exemple). J'aimerais savoir si il y a un moyen de faire en sorte que quand avec la console je fasse "admin" elle m'affiche "Tu es un admin !" et non le contraire.

 

Est-ce qu'il existe une condition pour savoir si la commande est exécuter depuis la console (ou commande block) ?

 

Merci.

Modifié par TSCoaster

3 réponses à cette question

Messages recommandés

  • 0
Posté(e)
Il y a 4 heures, TSCoaster a dit :

Version de Minecraft : 1.16.5
Version de Skript : 2.6.3

 

Bonjour, j'ai créer des grades avec skript, il définit une variable "{admin_%player%}" à true ou false.

D'ici là pas de problème. 


command /admin:
    trigger:
        if {admin_%player%} is true:
			send "Tu es un admin !" to player
        else:
            send "Tu n'es pas un admin !" to player
        

Or, je me sert de la variable "{admin_%player%}" pour savoir si la personne à la permission de faire une commande (comme le cas au dessus par exemple). J'aimerais savoir si il y a un moyen de faire en sorte que quand avec la console je fasse "admin" elle m'affiche "Tu es un admin !" et non le contraire.

 

Est-ce qu'il existe une condition pour savoir si la commande est exécuter depuis la console (ou commande block) ?

 

Merci.

Bonjour,

Il est impossible pour la console de reconnaitre le joueur qui tape la commande depuis celle-ci car le user de minecraft et celle de la console CMD / de ton hébergeur sont 2 choses différentes. cependant il est possible de reconnaitre le joueur uniquement si on lui indique le pseudo exacte du joueur comme ceci:

 

command /admin [<offline player>]:
	executable by: console and player
	trigger:
		if executor is player:
			if {admin_%player%} is true:
				send "Tu es un admin !"
			else:
				send "Tu n'es pas un admin !" to player
		else if executor is console:
			if arg-1 is a offline player:
				if {admin_%arg-1%} is true:
					send "&c&lLe joueur %arg-1% est admin"
				else:
					send "&c&lLe joueur %arg-1% n'est pas admin"
					

Le problème étant que tu peux mettre n'importe quel argument. Même si le joueur n'existe pas, il te diras si il est admin ou non donc attention a ne pas se trompé sur le pseudo. Si tu veux éviter tout problème tu pourrais stocker le pseudo de chaque joueur dans une variable à chaque première connections pour vérifier si le joueur existe et si le joueur à déjà été connecté sur le serveur.

Comme ce ci:

on first join:
	wait a tick
	add player to {NewConnection::*}

command /admin [<offline player>]:
	executable by: console and player
	trigger:
		if executor is player:
			if {admin_%player%} is true:
				send "Tu es un admin !"
			else:
				send "Tu n'es pas un admin !" to player
		else if executor is console:
			if "%{NewConnection::*}%" contain "%arg-1%":
				if {admin_%arg-1%} is true:
					send "&a&lLe joueur %arg-1% est admin"
				else:
					send "&6&lLe joueur %arg-1% n'est pas admin"
			else:
				send "&cCe joueur ne s'est jamais connecté sur le serveur !"

 

  • 0
Posté(e) (modifié)

salut je pense y a moyen si tu utilise un plugin/skript de permission mais la commande serait executable par le joueur sinon oui  zarco a la soluce

 

command /admin:
    permission: admin.sk
    permission message: Tu n'es pas un admin.
    trigger:
        send "Tu es un admin !"
Modifié par creepther
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.