Aller au contenu

Avis sur le tutoriel  

37 membres ont voté

  1. 1. Je préférais utiliser pour mes guis avant le tutoriel:

  2. 2. Je préfère utiliser pour mes guis après le tutoriel:



Messages recommandés

Posté(e) (modifié)

Bonjour,

Dans ce tutoriel nous allons voir comment faire des guis avec Skript, et non SkQuery ou encore Tuske. Non, non, ce n'est pas une blague, car depuis la dev34 de skript (approximativement hein) il est désormais possible de créer des guis avec skript, des vrais guis.

Pour rappel, les syntaxes suivent les règles suivantes:

  • %...% => Les éléments entre pourcentage représentent les types (données provenant du jeu) que vous devez utiliser. Parfois, vous avez le choix entre plusieurs types (ex : %entity/location%)
  • (choix 1|choix 2|choix 3) => Les parenthèses " ( ) " indiquent que vous êtes obligé d'utiliser un des termes présents. La barre verticale " | " signifie " ou ". On peut donc traduire les éléments entre parenthèses comme : " choix 1 ou choix 2 ou choix 3 ".
  • [...] => Les éléments entre crochets sont optionnels. Cela signifie que vous n'êtes pas obligé d'utiliser les termes qu'ils contiennent.

Pour ouvrir un gui, il faudra combiner plusieurs syntaxes. Voici la liste les syntaxes pour l'ouverture du gui:

(open|show) (((crafting [table]|workbench)|chest|anvil) (view|window|inventory|)|%-inventory%) (to|for) %players%

%-inventory% --> [a [new]] chest inventory (named|with name) %string% [with %-number% row[s]]
			 --> [a [new]] chest inventory with %number% row[s] [(named|with name) %-string%]
 

Pour mettre des items dans le gui, il vous suffit d'utiliser les syntaxes suivantes:

set slot %integer% of open inventory of player to %itemtype/inventorytype%

%itemtype/inventorytype% --> %itemtype/inventorytype% (named|with name) %string%
						 --> %inventory%'[s] slot[s] %numbers%
 

Exemple d'utilisation optimiser d'un gui après l'ouverture de celui-ci:

on inventory open:
	if name of event-inventory is "Test":
		set slot 0 of open inventory of player to stone

Comment rendre votre item "to be unsteable" ou "to do nothing" ou en français, faire en sorte que votre item ne bouge pas au clique ?

on inventory click:
	if name of event-inventory is "Nom du gui":
		if index of event-slot = 0:
			cancel event

Pour que ce soit tout votre gui qui ne bouge pas :

on inventory click:
	if name of event-inventory is "Nom du gui":
		cancel event

Vous voulez agir différemment selon le clique utilisé (exemple: clique gauche, clique droit etc...) ? Pas de soucis:

on inventory click:
	if name of event-inventory is "Nom du gui":
		if index of event-slot = 0:
			if click type is left mouse button: #Liste des différents cliques possibles ici : https://skripthub.net/docs/?id=2137	
				cancel event

 

Pour les lores, c'est possible uniquement avec les dernières version de skript (2.3) (donc les serveurs en 1.8 ne sont pas compatible avec cette fonctionnalité):

set {_lore::*} to "Ma première phrase de lore", "Ma seconde" and "Ma troisième"
set {_item} to stone
set lore of {_item} to {_lore::*}
set slot 0 of open inventory of player to {_item}

Vous pouvez bien entendu raccourcir tout ça:

set slot 0 of open inventory of player to stone with lore "Ma première phrase de lore", "Ma seconde" and "Ma troisième"

Exemple d'un gui

command /test:
    trigger:
        open chest inventory with 6 row with name "Test" to player
 
on inventory open:
    if name of event-inventory is "Test":
        set slot 0 of open inventory of player to stone
 
on inventory click:
    if name of event-inventory is "Test":
        if index of event-slot = 0:
            cancel event
            send "Vous avez cliqué sur le slot 0 !"
 
Modifié par AlexLew
Posté(e)

Désolé mais je continuerai encore à utiliser TuSKe. Je préfère, quand je crée un gui, toi déclarer, les clicks les actions etc etc directement dans mon code, c'est plus propre. J'ai bof envie avoir un évent en plus avec une condition par item...

Mais bon tuto quand même parce tu m'as appris qqchose ?

Posté(e)
Il y a 10 heures, AlexLew a dit :

Bonjour,

Dans ce tutoriel nous allons voir comment faire des guis avec Skript, et non SkQuery ou encore Tuske. Non, non, ce n'est pas une blague, car depuis la dev34 de skript (approximativement hein) il est désormais possible de créer des guis avec skript, des vrais guis.

Pour rappel, les syntaxes suivent les règles suivantes:

  • %...% => Les éléments entre pourcentage représentent les types (données provenant du jeu) que vous devez utiliser. Parfois, vous avez le choix entre plusieurs types (ex : %entity/location%)
  • (choix 1|choix 2|choix 3) => Les parenthèses " ( ) " indiquent que vous êtes obligé d'utiliser un des termes présents. La barre verticale " | " signifie " ou ". On peut donc traduire les éléments entre parenthèses comme : " choix 1 ou choix 2 ou choix 3 ".
  • [...] => Les éléments entre crochets sont optionnels. Cela signifie que vous n'êtes pas obligé d'utiliser les termes qu'ils contiennent.

Pour ouvrir un gui, il faudra combiner plusieurs syntaxes. Voici la liste les syntaxes pour l'ouverture du gui:


(open|show) (((crafting [table]|workbench)|chest|anvil) (view|window|inventory|)|%-inventory%) (to|for) %players%

%-inventory% --> [a [new]] chest inventory (named|with name) %string% [with %-number% row[s]]
			 --> [a [new]] chest inventory with %number% row[s] [(named|with name) %-string%]
 

Pour mettre des items dans le gui, il vous suffit d'utiliser les syntaxes suivantes:


set slot %integer% of open inventory of player to %itemtype/inventorytype%

%itemtype/inventorytype% --> %itemtype/inventorytype% (named|with name) %string%
						 --> %inventory%'[s] slot[s] %numbers%
 

Exemple d'utilisation optimiser d'un gui après l'ouverture de celui-ci:


on inventory open:
	if name of event-inventory is "Test":
		set slot 0 of open inventory of player to stone

Comment rendre votre item "to be unsteable" ou "to do nothing" ou en français, faire en sorte que votre item ne bouge pas au clique ?


on inventory click:
	if name of event-inventory is "Nom du gui":
		if index of event-slot = 0:
			cancel event

Pour que ce soit tout votre gui qui ne bouge pas :


on inventory click:
	if name of event-inventory is "Nom du gui":
		cancel event

Vous voulez agir différemment selon le clique utilisé (exemple: clique gauche, clique droit etc...) ? Pas de soucis:


on inventory click:
	if name of event-inventory is "Nom du gui":
		if index of event-slot = 0:
			if click type is left mouse button: #Liste des différents cliques possibles ici : https://skripthub.net/docs/?id=2137	
				cancel event

Exemple d'un gui


command /test:
    trigger:
        open chest inventory with 6 row with name "Test" to player
 
on inventory open:
    if name of event-inventory is "Test":
        set slot 0 of open inventory of player to stone
 
on inventory click:
    if name of event-inventory is "Test":
        if index of event-slot = 0:
            cancel event
            send "Vous avez cliqué sur le slot 0 !"
 

Alors, avez-vous une raison de continuer à vous bagarrez pour utiliser Tuske ou SkQuery pour vos guis ?

On est obligé de faire :

 

on inventory click:
	if name of event-inventory is "Nom du gui":
		if index of event-slot = 0:
			cancel event

Avec la version complexe de tuske ? ça m'étonne sérieusement, c'est contre productif...

Posté(e)
il y a 27 minutes, uiytt a dit :

On est obligé de faire :

 


on inventory click:
	if name of event-inventory is "Nom du gui":
		if index of event-slot = 0:
			cancel event

Avec la version complexe de tuske ? ça m'étonne sérieusement, c'est contre productif...

C'est actuellement la seules méthode que j'ai trouvé. Après j'ai donné des exemples, à toi d'adapter les exemples et de trouver une meilleure méthode si tu le peux ?

  • 2 semaines après...
Posté(e)

@_Zecknoz_et @Itexe pourquoi utilisez vous skquery ?? TuSKe est vraiment beaucoup mieux pour ce genre de truc... Ça a été démontré, skquery est beaucoup + lent, beaucoup + bugué et beaucoup - pratique pour les guis. Je vous laisse chercher sur le forum il y a beaucoup de tuto qui explique comment utiliser TuSKe , et il y a aussi une ressource qui permet de transformer les guis skquery en tuske

Posté(e)
à l’instant, noftaly a dit :

@_Zecknoz_et @Itexe pourquoi utilisez vous skquery ?? TuSKe est vraiment beaucoup mieux pour ce genre de truc... Ça a été démontré, skquery est beaucoup + lent, beaucoup + bugué et beaucoup - pratique pour les guis. Je vous laisse chercher sur le forum il y a beaucoup de tuto qui explique comment utiliser TuSKe , et il y a aussi une ressource qui permet de transformer les guis skquery en tuske

Hi moi je m'en sert car j'ai appris avec skquery tout simplement après tu sais quand tu a l'habitude c'est un peux long mais je reconnais que skquery < a tuske ?

Puis faudrais que je cherche un tuto et tout et tout a lala peut-être un jour ? 

Posté(e)

Moi aussi j'ai appris avec skquery ^^ mais en 1jour j'ai réussi à comprendre comment TuSKe fonctionne et après une petite 10aine de gui je connaissais bien  TuSKe et je pouvais faire ce que je voulais ^^

Sinon je te conseil le tuto de @Syst3ms

Posté(e)
il y a 37 minutes, Itexe a dit :

Hi moi je m'en sert car j'ai appris avec skquery tout simplement après tu sais quand tu a l'habitude c'est un peux long mais je reconnais que skquery < a tuske ?

Puis faudrais que je cherche un tuto et tout et tout a lala peut-être un jour ? 

même par habitude tu le fais pas, skquery est truffé de bug pour les joueurs et les dev !

Posté(e)
il y a 20 minutes, uiytt a dit :

même par habitude tu le fais pas, skquery est truffé de bug pour les joueurs et les dev !

Pour le moment les GUI que j'ai crée ne bug absolument pas de plus l'avantage de tsuke est je trouve pour moi la compression du code c'est tout je ne vois pas d'autre avantage

Posté(e)

Réduction de bugs, pas besoin de mettre "wait 2 ticks", on peut cliquer sur les slots de notre inventaire, il y a plus de possibilités (click droit/gauche/molette, les mêmes avec shift, drop etc), on peut mettre plusieurs lignes de code dans un format slot, plus besoin d'appeler une fonction créée juste pour ca

Posté(e)
Il y a 6 heures, Itexe a dit :

Pour le moment les GUI que j'ai crée ne bug absolument pas de plus l'avantage de tsuke est je trouve pour moi la compression du code c'est tout je ne vois pas d'autre avantage

La liste est longue

problème skquery

    - les loop avec une valeur qui change bug

    - si tu re set un slot contenant déjà un item, et que tu clique dessus, les action de l'ancien item et du nouveaux s'éxécuteront

    - bug graphique quand on spam clique

    - quand on clique sur les slots équivalent dans l'inventaire l'action s’effectue aussi 

amélioration de tuske

    - code plus court

    - code exécutable pouvant être is juste après au lieu de passer par une fonction ce qui n'est pas opti

    - détection du type de clique

    - les loops marchent sans problème 

 

 

Même si tu t'en fout de ce que tuske propose, faut quand même passer dessus car les bugs de skquery sont très chiant...

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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.