Aller au contenu

Question

Posté(e)

Version de Minecraft : 1.16.5
Version de Skript : 2.6

Addons utilisés: SqQuery, Skelett

Type du skript : Récupérer le nom du joueur 

Description du script :

Salut à tous !
Je viens vers vous car j'aimerai récupérer le nom d'un argument (en l'occurrence le nom du joueur) dans un évenement "On inventory click". Je réaliste actuellement une commande de mute par le biais d'un menu GUI en utilisant simplement la syntaxe que propose skript (je suis un vieux de la vieille) et j'aimerai récupérer mon arg 1 (= nom du joueur cible) dans l'event on player inventory click)

 

command /mute [<player>]:
	trigger:
		if {adminrank.%uuid of player%} is not "Gestion Loup" or "Garde_loup" or "Développeur":
			send "&cCommande réservée aux membres du staff !"
			stop
		if arg 1 is set:
			open chest with 1 row named "SANCTION MUTE" to player
			wait 1 tick
			set {_currentSlot} to 0
			while {_currentSlot} < 9:
				set slot {_currentSlot} of open inventory of player to black stained glass pane 
				increase {_currentSlot} by 1
			set {_item} to arg 1's skull
			set line 1 of {_item}'s lore to "&b&l❖ &fVie du joueur: &e%arg-1's health%"
			set line 2 of {_item}'s lore to "&b&l❖ &fNiveau de faim: &e%arg-1's food level%"
			set line 3 of {_item}'s lore to "&b&l❖ &fRang du joueur: &e%{adminrank.%uuid of arg 1%}%"
			set slot 4 of open inventory of player to {_item} named "%arg 1%"
			
			set {_item} to green wool
			set line 1 of {_item}'s lore to "&eMute %arg 1% pour une durée de &n&c30 minutes."
			set slot 1 of open inventory of player to {_item} named "&b✦ &cSanction 1 &b✦"
			set {_item} to orange wool
			set line 1 of {_item}'s lore to "&eMute %arg 1% pour une durée de &n&c45 minutes."
			set slot 2 of open inventory of player to {_item} named "&b✦ &cSanction 2 &b✦"
			
			set {_item} to red wool
			set line 1 of {_item}'s lore to "&eMute %arg 1% pour une durée de &n&c1 heure."
			set slot 6 of open inventory of player to {_item} named "&b✦ &cSanction 3 &b✦"
			set {_item} to black wool
			set line 1 of {_item}'s lore to "&eMute %arg 1% pour une durée de &n&c24 heures."
			set slot 7 of open inventory of player to {_item} named "&b✦ &cSanction 4 &b✦"


La commande s'exécute parfaitement, en revanche, je ne sais pas comment définir l'arg 1 qui ci-dessus est <player> cible dans mon inventory click :
 

on inventory click:
	if name of event-inventory is "SANCTION MUTE":
		cancel event
		if index of event-slot is 1:
			close player's inventory
			


Après le close j'aimerai que ça set une variable du joueur ciblez et récupérer dans le gui du style 

set {mute.%uuid of JOUEUR CIBLE DANS LE MENU GUI} to true

je sais pas si c'es très clair...


 

9 réponses à cette question

Messages recommandés

  • 0
Posté(e)
Le 22/03/2023 à 00:52, Mr_Kofte a dit :

Version de Minecraft : 1.16.5
Version de Skript : 2.6

Addons utilisés: SqQuery, Skelett

Type du skript : Récupérer le nom du joueur 

Description du script :

Salut à tous !
Je viens vers vous car j'aimerai récupérer le nom d'un argument (en l'occurrence le nom du joueur) dans un évenement "On inventory click". Je réaliste actuellement une commande de mute par le biais d'un menu GUI en utilisant simplement la syntaxe que propose skript (je suis un vieux de la vieille) et j'aimerai récupérer mon arg 1 (= nom du joueur cible) dans l'event on player inventory click)

 


command /mute [<player>]:
	trigger:
		if {adminrank.%uuid of player%} is not "Gestion Loup" or "Garde_loup" or "Développeur":
			send "&cCommande réservée aux membres du staff !"
			stop
		if arg 1 is set:
			open chest with 1 row named "SANCTION MUTE" to player
			wait 1 tick
			set {_currentSlot} to 0
			while {_currentSlot} < 9:
				set slot {_currentSlot} of open inventory of player to black stained glass pane 
				increase {_currentSlot} by 1
			set {_item} to arg 1's skull
			set line 1 of {_item}'s lore to "&b&l❖ &fVie du joueur: &e%arg-1's health%"
			set line 2 of {_item}'s lore to "&b&l❖ &fNiveau de faim: &e%arg-1's food level%"
			set line 3 of {_item}'s lore to "&b&l❖ &fRang du joueur: &e%{adminrank.%uuid of arg 1%}%"
			set slot 4 of open inventory of player to {_item} named "%arg 1%"
			
			set {_item} to green wool
			set line 1 of {_item}'s lore to "&eMute %arg 1% pour une durée de &n&c30 minutes."
			set slot 1 of open inventory of player to {_item} named "&b✦ &cSanction 1 &b✦"
			set {_item} to orange wool
			set line 1 of {_item}'s lore to "&eMute %arg 1% pour une durée de &n&c45 minutes."
			set slot 2 of open inventory of player to {_item} named "&b✦ &cSanction 2 &b✦"
			
			set {_item} to red wool
			set line 1 of {_item}'s lore to "&eMute %arg 1% pour une durée de &n&c1 heure."
			set slot 6 of open inventory of player to {_item} named "&b✦ &cSanction 3 &b✦"
			set {_item} to black wool
			set line 1 of {_item}'s lore to "&eMute %arg 1% pour une durée de &n&c24 heures."
			set slot 7 of open inventory of player to {_item} named "&b✦ &cSanction 4 &b✦"


La commande s'exécute parfaitement, en revanche, je ne sais pas comment définir l'arg 1 qui ci-dessus est <player> cible dans mon inventory click :
 


on inventory click:
	if name of event-inventory is "SANCTION MUTE":
		cancel event
		if index of event-slot is 1:
			close player's inventory
			


Après le close j'aimerai que ça set une variable du joueur ciblez et récupérer dans le gui du style 

set {mute.%uuid of JOUEUR CIBLE DANS LE MENU GUI} to true

je sais pas si c'es très clair...


 

bonsoir,

 

Si j'ai bien compris, le principe de ce skript est de mute un joueur et pour cela tu souhaites le faire via un menu ?

As-tu essayé en remplaçant "index of event-slot is 1" par le nom de l'item cliqué ? ou par le type d'item cliqué ? du style

if name of event-item is "test" :

  close player's inventory

 

  • 0
Posté(e) (modifié)

Non non !

En fait la commande fonctionne ce n'est pas le problème.

La commande /mute ouvre un gui jusque la pas de" problème aussi.

Ensuite je vais dans l'événement ON INVENTORY CLICK

Et c'est la que j'y arrive pas. Dans l'évent je souhaite récupérer le nom du joueur de la commande /mute et le mettre dans on inventory click

 

Genre voilà je définie ça dans le menu GUI  
Donc la logiquement je récupère le pseudo du joueur dans la variable _sender :
 

set {_sender} to name of arg 1


Et dans l'event on inventory click je souhaite savoir qui est le joueur définie :
 

send "Le joueur défini est: %{_sender}% "


Et ça me marque dans minecraft : "Le joueur défini est <none>"

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

Bonjour,

As-tu essayé de déclarer ta variable comme ceci :

set {_sender} to arg 1's name

Ca fonctionne chez moi

Bonne journée

 

EDIT:

Je pense avoir compris le problème. Comme tu set une variable temporaire elle s'efface avant l'inventory click.

personnellement je ferais comme ça :

set {sender} to arg 1's name

Ensuite dans l'inventory click:

send "Le joueur défini est: %{sender}% "
clear {sender}

Normalement ça devrait le faire 🙂

Modifié par Zeedix
  • 0
Posté(e)
Il y a 2 heures, Zeedix a dit :

Bonjour,

As-tu essayé de déclarer ta variable comme ceci :


set {_sender} to arg 1's name

Ca fonctionne chez moi

Bonne journée

 

EDIT:

Je pense avoir compris le problème. Comme tu set une variable temporaire elle s'efface avant l'inventory click.

personnellement je ferais comme ça :


set {sender} to arg 1's name

Ensuite dans l'inventory click:


send "Le joueur défini est: %{sender}% "
clear {sender}

Normalement ça devrait le faire 🙂

Salut, merci pour le coup de pouce cela fonctionne !

Dernière petite question pour en revenir au skript de base, comment puis-je récupérer le {sender} donc le nom du joueur afin de le mute dans une variable type :

 

set {muteok.%{mute.sender}%}

 

  • 0
Posté(e)

Oui ça ne marche pas il faut que tu mettes une valeur après la variable par exemple :

 

command /test [<player>]:
    trigger:
        if arg 1 is set:
            set {sender} to arg 1's name
            set {muteok.%{sender}%} to true

 

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.