Anarchick Posté(e) le 14 août 2018 Posté(e) le 14 août 2018 (modifié) Une question qui reviens parfois est : est-ce que je peux faire quelque chose comme "if player is alive && player is sneaking:" , la réponse était jusqu'à présent "NON", tu ne peux pas. A présent cela est possible et sera peut être plus tard intégré directement à SkriptLang ( je vous invite a consulter mon sujet pour en savoir plus : https://github.com/SkriptLang/Skript/issues/1468 ). Pour le moment j'ai une solution qui nécessite l'addon skQuerry-Lime function AND(conditions: booleans) :: boolean: if {_conditions::*} contains false: return false return true function OR(conditions: booleans) :: boolean: if {_conditions::*} contains true: return true return false Et il s'utilise de cette façon : if AND(check [player is alive], check [player is sneaking], check [3+1 = 4]) is true: Normalement les plus malins d'entre vous auront compris le potentiel de ce code, si ce n'est pas encore le cas je vais vous expliquer plus en détail le fonctionnement du code : Un %boolean% est une valeur soit vrai ou soit fausse, https://skripthub.net/docs/?id=2135 Dans le langage Skript, toutes les conditions renvoient un boolean exemple : if 3 + 1 = 4: broadcast "la condition est VRAI" else: broadcast "la condition est FAUSSE" Cependant, Skript ne permet pas de faire ceci : set {_test} to 3 + 1 = 4 #Ne fonctionne pas Mais il existe une méthode avec l'addon skQuerry-Lime : set {_test} to check [3 + 1 = 4] #{_test} sera égal à TRUE , l'équivalent en français de VRAI Maintenant pour ce qui est des fonction AND() et OR() , bien que le code soit très petit, il est extrêmement pratique car c'est ce que l'on appel "une fonction logique", voici un lien Wikipédia pour savoir ce que cela signifie https://fr.wikipedia.org/wiki/Fonction_logique Pour faire simple , une fonction AND ( autrement dis ET en français), renvoie la valeur TRUE uniquement si toutes les conditions sont VRAI, autrement dis il suffit qu'une seule condition soit fausse pour que AND() renvoie FALSE. La fonction OR ( OU en français ) vérifie qu'au minimum 1 condition soit VRAI. Donc il peut y avoir 10 FALSE et 1 TRUE pour que la fonction renvoie TRUE ! Il existe d'autres fonctions logique mais ces deux là sont les plus importantes, je vous invite aussi à trouver d'autres usages a "check [%condition%]" ! Modifié le 7 juin 2020 par Anarchick 1
noftaly Posté(e) le 14 août 2018 Posté(e) le 14 août 2018 Merci beaucoup, ça me sera très utile !! Jusque là j'utilisais le même effet que toi mais avec des lambdas if check [1 + 1 = 2]->[1 + 2 = 3]->[1 + 4 = 5] 1
uiytt Posté(e) le 17 août 2018 Posté(e) le 17 août 2018 Le 14/08/2018 à 14:47, Anarchick a dit : Une question qui reviens parfois est : est-ce que je peux faire quelque chose comme "if player is alive && player is sneaking:" , la réponse était jusqu'à présent "NON", tu ne peux pas. A présent cela est possible et sera peut être plus tard intégré directement à SkriptLang ( je vous invite a consulter mon sujet pour en savoir plus : https://github.com/SkriptLang/Skript/issues/1468 ). Pour le moment j'ai une solution qui nécessite l'addon sQuerry-Lime function AND(conditions: booleans) :: boolean: if {_conditions::*} contains false: return false return true function OR(conditions: booleans) :: boolean: if {_conditions::*} contains true: return true return false Et il s'utilise de cette façon : if AND(check [player is alive], check [player is sneaking], check [3+1 = 4]) is true: Normalement les plus malins d'entre vous auront compris le potentiel de ce code, si ce n'est pas encore le cas je vais vous expliquer plus en détail le fonctionnement du code : Un %boolean% est une valeur soit vrai ou soit fausse, https://skripthub.net/docs/?id=2135 Dans le languague Skript, toutes les conditions renvoient un boolean exemple : if 3 + 1 = 4: broadcast "la condition est VRAI" else: broadcast "la condition est FAUSSE" Cependant, Skript ne permet pas de faire ceci : set {_test} to 3 + 1 = 4 #Ne fonctionne pas Mais il existe une méthode avec l'addon sQuerry-Lime : set {_test} to check [3 + 1 = 4] #{_test} sera égal à TRUE , l'équivalent en français de VRAI Maintenant pour ce qui est des fonction AND() et OR() , bien que le code soit très petit, il est extrêmement pratique car c'est ce que l'on appel "une fonction logique", voici un lien Wikipédia pour savoir ce que cela signifie https://fr.wikipedia.org/wiki/Fonction_logique Pour faire simple , une fonction AND ( autrement dis ET en français), renvoie la valeur TRUE uniquement si toutes les conditions sont VRAI, autrement dis il s'uffit qu'une seule condition soit fausse pour que AND() renvoie FALSE. La fonction OR ( égal OU en français ) vérifie qu'au minimum 1 condition soit VRAI. Donc il peut y avoir 10 FALSE et 1 TRUE pour que la fonction renvoie TRUE ! Il existe d'autres fonctions logique mais ces deux là sont les plus importantes, je vous invite aussi à trouver d'autres usages a "check [%condition%]" ! Et comme indiqué sur mon post du Github, ceci serait très intéressant a intégrer dans le vanilla. MERCI INDEFINIMENt POUR ça ? 1
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant