Bonjour tout le monde !
Si tu lis ce tutoriel, c'est que soit tu es curieux et tu ne sais pas ce qu'est les "level access" ou/et les "soft return" avec SkQuery, soit tu n'as trouvé aucun tutoriel en français.
/!\ Vous devez très bien maitriser les fonctions avec SkQuery pour bien comprendre ce tutoriel. /!\
Enfin bref, nous allons donc commencer !
Qu'est-ce qu'un "level access"avec SkQuery ?
Un "level access" avec SkQuery est comme une porte verrouiller. Il va bloquer certains accès et en déverrouiller d'autres. Je m'explique.
Voici une fonction type basique :
function test() :: text:
set {_test} to "Hey!"
return {_test}
Dans cette fonction, nous retournons simplement le mot "Hey!".
Pour appeler cette fonction, nous utilisons d'habitude juste le nom de celle-ci. Donc en l'occurrence ici ce sera test.
Ca donnerait test() pour appeler cette fonction et elle nous renverrai le mot Hey!
Alors à quoi sert le "level access" me diriez-vous ? Je sais que vous vous impatientez mais calmez vous, on y est enfin !
Le access va dans un premier temps pouvoir remplacer le nom de la fonction et ainsi son appelle. Je m'explique. Voici ce que ça donnerais avec un access :
access "test"
Ca aura exactement le même effet qu'un appel normal, enfin pas tout à fait.
Le "Higher level access" :
Maintenant, nous allons voir ce fameux système de porte verrouiller et déverrouiller. Donc pour faire simple, le "higher level access" vous permet de récupéré des variables temporaires (exemple ; {_test}) à partir de commandes, événements ou autre fonctions dans d'autres fonctions. En clair vous aller récupéré la variable temporaire d'un événement, commande ou fonction et pouvoir la réutiliser dans une autre fonction. Il s'agit donc d'une chaîne. C'est très pratique mais peu connu :'(
Une fonction avec un "higher level access" ressemble à ça :
function test():
$ access
set {_test} to "Hey!"
return
Le "Soft Return" :
Le "Soft Return" est bien plus simple de compréhension. On peut même dire que c'est enfantin.
Un "Soft Return" permet de retourner une valeur sans stopper la fonction. Je m'explique : dans les fonctions, un "return X" ou "return" renvoi la valeur en question mais stop aussi la fonction. C'est comme un simple "stop". Sauf que le "Soft return" va renvoyer la valeur comme un "return" classique MAIS la fonction va continuer, elle ne s’arrêtera pas.
Exemple :
command /test:
trigger:
access "soft" #Nous devons réutiliser l'access pour les soft return
access "hard"
function "soft":
soft return #Ne correspond pas à un stop
broadcast "Ce message va être executé!"
function "hard":
return #Correspond à un stop
broadcast "Ce message ne sera jamais envoyé :'("
J'espère que ces quelques explications vous auront éclaircie ou même plus.
PS : Une autre documentation sur les "Transients Objects" devrait sortir un autre jour ;)
Documentation officiel : [Contenu masqué]