Page 1 sur 1

Instruction Return X, conditions et opérateurs

Posté : 13 janv. 2016, 14:20
par thorel31
En quoi consiste la fonction Return X (1, 2, 3, 4...etc.) ?

Re: Return X

Posté : 13 janv. 2016, 17:50
par Edghar
Cela met fin à la fonction dans laquelle ce Return est présent. La valeur qui l'accompagne est le résultat fourni par cette fonction.

Plus d'info : http://www.creationkit.com/Statement_Re ... _Statement

Re: Return X

Posté : 14 janv. 2016, 13:23
par thorel31
Merci, mais j'ai un peu de mal avec l'anglais (niveau scolaire jusqu’en terminale, ça fait donc longtemps... ; bon niveau à l’époque mais plus maintenant).

Bon enfin avec ce que tu m'as dit, je vais voir si je comprends mieux un de mes scripts... ^^

Re: Return X

Posté : 14 janv. 2016, 13:46
par thorel31
Si j'ai bien saisi, je vais donner cette exemple :

if <machinChose = 3
if condition machinTruc (=faux)
return 3
endif
endif

if <machinChose = 2
if condition machinTruc (=vrai)
return 2
endif
endif

if <machinChose = 1
if condition machinTruc (=vrai ou faux, peu importe à ce stade)
return 1
endif
endif

Donc là ça voudrait dire que la valeur résultat = 2
La commande "return" n’arrête pas la fonction et continue à "descendre" tant que la condition n'est pas remplie, et la fonction s'arrête quand la condition est remplie, "return" met fin alors à la fonction en attribuant la valeur de résultat de la fonction (autrement dit, return renvoie la valeur 2 pour la fonction concernée), c'est bien ça ???

Re: Return X

Posté : 14 janv. 2016, 16:10
par Kesta
Il y a des balise

Code : Tout sélectionner

[code]
[/code] pour poster des snippets comme ça.

La syntaxe de tes if est fausse. Si tu veux faire des "inférieur ou égal", c'est :

Code : Tout sélectionner

if machinChose <= 2
  ;blabla
endif
Et pour ton exemple, tu peux faire un peu plus propre :

Code : Tout sélectionner

if (machinChose <= 2 && machinTruc)
  ;blabla
endif
(en admettant que "condition machinTruc" soit just un booleen)


Pour ce qui est de la valeur retournée ("résultat"), ça dépend des valeurs de machinChose et machinTruc dans ton exemple. Si machinChose vaut quelque chose en dessous de 2 et que machinTruc est true, effectivement la fonction renverra 2.

La fonction ne s'arrête pas quand la condition est remplie, mais quand elle rencontre le mot clé return. Ce qui en pratique dans ton exemple revient au même, mais juste que ce soit clair. (le dernier bloc ne sera pas lu/éxécuté du tout).

Re: Return X

Posté : 14 janv. 2016, 20:41
par thorel31
Script complet :
► Afficher le texte
Voici mon script. Tu as confirmé ce que je pensais.
Je veux bien un complément d'informations si t'y vois un intérêt quelconque ou un défaut...

La partie qui m'intéresse notamment c'est la partie "Heal" / Restoration.

Partie heal qui m'intéresse :

► Afficher le texte
Ah et une autre petite question :
A quoi correspondent ces signes ?
Un des 2 premiers c'est probablement un "Différent" mais je sais pas lequel :
  • * !=
    * /=
    * || (J'imagine un "OU" mais j'en suis pas sûr.)
Je connais ces signes ">=" , "<=" , "==" , "&&", mais pas les autres (ci-dessus).

Re: Return X

Posté : 14 janv. 2016, 21:16
par Edghar
Pour les signes, ce sont des opérateurs.

Plus d'info : https://www.creationkit.com/index.php?t ... _Reference
Traduction Google (toute moche) : https://translate.google.fr/translate?s ... t=&act=url

Re: Return X

Posté : 14 janv. 2016, 21:21
par thorel31
Ah ok merci ! :)

Le signe "/=", c'est une affectation ou assignation d'une valeur, c'est ça ?

Re: Return X

Posté : 15 janv. 2016, 00:08
par Edghar
Yep. Jamais testé, mais je pense que cela affecte en divisant, tout comme += affecte en ajoutant.

Code : Tout sélectionner

int MonNombre
MonNombre = 4
MonNombre /= 2
Au final, MonNombre est égal à 2 .
Si je commence avec une valeur de 7 au lieu de 4, le résultat serait 3.

Dans tous les cas, le plus simple serait de faire l'essai. ;)

Re: Return X

Posté : 16 janv. 2016, 15:57
par thorel31
OK merci. J'apprends peu à peu mais c'est pas évident quand on n'a pas reçu une formation de programmation informatique. J'ai été autodidacte en d'autres domaines (y compris en informatique en général) mais pas en langage pour script (d'ailleurs, j'ai lu quelque part que le langage Papyrus utilisé pour les scripts est unique et a été créé par Bethesda).

Et c'est encore moins facile lorsque la plupart des wiki et tutos sont anglais. Et c'est pas ma formation scolaire d'anglais jusqu'en terminale qui peut beaucoup m'aider aujourd'hui...lol