La thérapie du making - Rpg maker
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.


Forum dédié à l'apprentissage du making (art de créer des JV) sous Rpg Maker (spécialisé sous VX/VX Ace), les demandes de ressources graphiques pour les graphistes du forum, la standill compétition, l'entraide, et une multitude d'autres activités !
 
AccueilRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment :
Cartes Pokémon 151 : où trouver le ...
Voir le deal

 

 [Facultatif] Decryptage du script main

Aller en bas 
+2
Limit' the fox
XakuX
6 participants
AuteurMessage
XakuX
Professeur - Script
Professeur - Script
XakuX


Messages : 446
Age : 29
Avertissements :
[Facultatif] Decryptage du script main Left_bar_bleue89 / 10089 / 100[Facultatif] Decryptage du script main Right_bar_bleue


[Facultatif] Decryptage du script main Empty
MessageSujet: [Facultatif] Decryptage du script main   [Facultatif] Decryptage du script main EmptyDim 3 Avr - 12:50

Oula, 2 posts un jour, c’est bon, XakuX serait-il devenu un prof fou ?
VITE, TOUS AUX ABRIS, PLANQUEZ VOS CULS, ON SAIT PAS DE QUOI IL EST CAPABLE AVEC SON ENGIN !
Non, juste fou tout court, enfin comme d’hab’ quoi [Facultatif] Decryptage du script main 841796027
En fait, simplement, lorsque j’ai fais mon précédent tuto’, en pleine lancée, j’ai eu l’idée folle de détaillé le script main, qui, je pensais, allait me prendre 5 lignes, m’en a pris plusieurs dizaines [Facultatif] Decryptage du script main 841796027
Alors étant donné que ça ne rentre pas vraiment dans le cadre de notre cours, mais que je l’ai fais quand même, alors je le poste.
J’ai mis quelques paragraphes en gras car ils peuvent être utile, je les réexpliquerai sans doute, mais ce sera toujours ça de pris.

Code:
 #==============================================================================
# ** Main
#------------------------------------------------------------------------------
#  After defining each class, actual processing begins here.
#==============================================================================

unless Font.exist?("UmePlus Gothic")
  print "Le fichier Font 'UmePlus Gothic' n'a pas été trouvé"
  exit
end

begin
  Graphics.freeze
  $scene = Scene_Title.new
  $scene.main while $scene != nil
  Graphics.transition(30)
rescue Errno::ENOENT
  filename = $!.message.sub("No such file or directory - ", "")
  print("Le ficher #{filename} n'a pas été trouvé.")
end

Chose évidente et que j’ai oublié de préciser, parce qu’elle me semblait évidente, mais un # au début d’une ligne donne à toute la ligne l’attribut de commentaire : C'est-à-dire que celle-ci n‘est pas lu par le script, elle sert à donner des indications pour nous aider à comprendre le fonctionnement des scripts (et vous verrez, par la suite, combien ça peut-être utile ^^)
Un autre détail, vous verrez aussi par la suite que la plupart des lignes de script peuvent être traduis par des phrases, et donc, la connaissance approximative de certains termes anglais peut vous être aussi très utile, autant pour retenir que pour apprendre de nouvelle commande que j’aurais le malheur de ne pas vous indiquez (ou même pour le nom de variable, enfin, je m’avance un peu)

Ce détail donné, passons à la suite :
Unless Font.Exist?("UmePlus Gothic")
Bon, déjà, vous voyez que le Unless apparait en bleu, je en l’avais pas précisé par non plus, mais ce sera le cas pour toutes les fonctions, c'est-à-dire… des fonctions, des commandes qui ont des effets plus ou moins diverses (condition, méthode, opérateur logique, pour ceux à qui ces termes disent quelques choses). En l’occurrence, dans ce cas, notre Unless, c’est l’inverse d’une condition, je vais vous expliquer rapidement le fonctionnement d’une condition dans tout langage de programmation pour ceux qui ne le sauraient pas où ne le comprendraient pas bien.
Une condition, c’est un opérateur qu’on peut traduire par « Si », dans un langage de programmation, que ce soit en évent dans RM, dans les scripts ou en C++, les conditions fonctionnent toujours de la façon suivante :
Si 1
Alors
….
Fin
Qu’est-ce donc que ce « 1 » ? En fait, c’est le résultat vérifié d’une égalité, si vous voulez, une sorte d’interrupteur activé en évent dans RM (en script, on appelle ça une variable booléenne, mais si vous ne retenez pas le nom, ne vous inquiétez pas, ça vous fera seulement 2 points de moins pour votre exam’ [Facultatif] Decryptage du script main 841796027 ) vous allez comprendre, prenons un exemple simple :
Si X = 0
Dans ce cas là, que pourrais renvoyez X = 0 (Dans le cas où c’est une vérification de la valeur de X et non pas une équation, qu’on soit clair ^^) ? C’est vrai ou c’est faux, y a pas de variable (vous noterez le mot utilisé ^^) possible, et ce sera le cas pour toutes les conditions de la terre : Une condition est toujours suivi d’une opération/commande résultant d’un booléen. Donc, si X = 0 est vrai (donc que X est égale à 0) alors cette opération nous renverra le résultat 1, Sinon (si X est différent de 0) alors cette opération nous renverra le résultat 0, clair ?

Bon, on s’est un peu éloigné de notre sujet, je sens que ce cours va être long -.- Bon, donc je vais essayer de faire le plus cours possible en restant clair tout de même.
Donc notre Unless est l’inverse d’une condition (un « if » en Ruby, retenez-le, il est simple et clair, et je ne le repréciserai peut-être pas la prochaine fois) C'est-à-dire, une condition renvoie les commandes qui la suive lorsque l’opération booléenne qui la suit donne pour résultat 1 (donc que c’est vérifié, que X=0 dans notre exemple d’avant) l’Unless, c’est lorsque l’opération vaut 0 (donc que X différent de 0, abrévié X != 0 pour ceux qui ne le saurais pas)
Donc que l’opération booléenne n’est pas vérifiée !
Donc, ça veut dire que l’enchainement de commande qui suit le unless ne s’activera que si son opération est fausse, comprise ?


Et donc l’opération booléenne utilisé est :
Font.exist?("UmePlus Gothic")
Qu’est-ce donc que ce baratin ? Et bien, c’est assez simple : Font, c’est la police de caractère en anglais, elle fait parti de l’une des variables originels qui permettre d’aller chercher les polices de caractères dans l’ordinateur. Le .exist?, c’est elle aussi une méthode (def) originel qu’on peut appliquer aux class pour vérifier si elle existe, oui oui mes amis, c’est possible ça [Facultatif] Decryptage du script main 841796027. l’indication entre parenthèse, c’est ce qu’on appelle un « argument » de la class (on a encore largement le temps de voir comment ça fonctionne [Facultatif] Decryptage du script main 841796027 ) Donc en gros, l’argument ici, c’est le nom de la Police. Donc résumé :
Unless Font.exist?("UmePlus Gothic") => Si la police "UmePlus Gothic" n’existe pas
(la négation pour exprimer l’opposition à une condition)

Les quelques lignes qui suivent :
print "Le fichier Font 'UmePlus Gothic' n'a pas été trouvé"
exit
end

La première ligne j’espère ne pas avoir à la décrire [Facultatif] Decryptage du script main 841796027
La seconde ferme le jeu (on en verra une autre plus tard)
Le « end » finit l’Unless, ce qui suit le end ne fait plus partie de la « non-condition » ^^

Bon, 1 ligne en 5 paragraphe, 3 en 3 lignes, voyez donc à quel point la longueur des explications peut être homogène [Facultatif] Decryptage du script main 841796027

Bien, passons à la suite :

Code:
begin
  Graphics.freeze
  $scene = Scene_Title.new
  $scene.main while $scene != nil
  Graphics.transition(30)
rescue Errno::ENOENT
  filename = $!.message.sub("No such file or directory - ", "")
  print("Le ficher #{filename} n'a pas été trouvé.")
end

Bon, celle-là, on va pas trop la détailler, pour la simple et bonne raison que ne comprends pas tout à fait une chose, m’enfin !
Donc le begin au début, n’importe qu’elle débutant pourrait croire que c’est la commande qui déclenche le jeu, et d’ailleurs, même des pros le pense, c’est tellement plus simple comme ça !
Et bah non, cette commande sert à gérer les exceptions, c'est-à-dire que si dans les lignes de code qui suivent une erreur de script se déclenche, on peut récupérer l’erreur en mettant un rescue suivi du nom de l’erreur (je ne vous détaillerai pas le nom de toutes les erreurs, je doute que vous en ayez besoin un jour ^^) et à ce moment afficher un message où faire autre chose (en l’occurrence, là, ça affiche un message)
Seulement, ce que je ne comprends pas, c’est d’où viens l’erreur, l’erreur donné est un manque de fichier, et je ne vois pas trop d’où elle peut venir… de Graphics sans doute, bref !
Graphics.freeze
Permet de geler (encore de l’anglais vous noterez) tout ce qui se réfère à la class Graphics (encore une class originels, vous inquiétez pas, y a que le script main qui en a autant ^^)
$scene = Scene_Title.new
$scene.main while $scene != nil
J’espère ne pas avoir a détaillé la première ligne et le début de la seconde ? sinon référez vous au dernier cours bande de macaque roux !
Le while $scene != nil est une boucle, comme elle est implémenté là, c’est très rare, et c’est juste pour éviter les bugs… En fait c’est très stupide ce qu’ils font, m’enfin, je passe ce détail !
Graphics.transition(30)
Il dégèle l’écran de tout à l’heure en affichant les éléments en fondu noir sur 30 frames, mais de toute façon, le script main n’affiche rien, c’est seulement la fonction dans le script Scene_Title qui déterminera le temps d’apparition des images
Les 4 dernières, je les ai déjà expliqué rapidement avec le begin, simplement un détail, dans la commande print, on a #{filename} qui correspond à l’affiche de la variable filename dans le print, et les commandes qu’on applique à filename… personnellement je ne les comprends pas trop, mais sérieusement, vous n’en aurez pas non plus besoin pour le moment ^^

Nous en avons fini avec notre script main, bon, le détaillé vous aura appris 2-3 choses et remis un peu à jour sur ce qu’on avait déjà vu.

Sur ce, bonne chance pour votre futur exam’ [Facultatif] Decryptage du script main 841796027 !
Revenir en haut Aller en bas
Limit' the fox
Modérateur général
Modérateur général
avatar


Messages : 1227
Age : 26
Avertissements :
[Facultatif] Decryptage du script main Left_bar_bleue100 / 100100 / 100[Facultatif] Decryptage du script main Right_bar_bleue


[Facultatif] Decryptage du script main Empty
MessageSujet: Re: [Facultatif] Decryptage du script main   [Facultatif] Decryptage du script main EmptyDim 3 Avr - 12:59

Xak' est devenu fou !!!! cassez vous donnez lui votre meilleur ami en offrande !!!


ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh!!!!!!!!

un peu de serieux ... pig

tres bon tuto ! tu nous detaille main ,c'est tres bien mais ensuite tu nous detaille quoi ?pourquoi pas le plus simple ... interpreter 1 par exemple [Facultatif] Decryptage du script main 841796027

a+
Revenir en haut Aller en bas
Zangther
Première classe lézard
Première classe lézard
Zangther


Messages : 99
Avertissements :
[Facultatif] Decryptage du script main Left_bar_bleue100 / 100100 / 100[Facultatif] Decryptage du script main Right_bar_bleue


[Facultatif] Decryptage du script main Empty
MessageSujet: Re: [Facultatif] Decryptage du script main   [Facultatif] Decryptage du script main EmptyJeu 23 Juin - 22:10

Limit' the fox a écrit:
tres bon tuto ! tu nous detaille main ,c'est tres bien mais ensuite tu nous detaille quoi ?pourquoi pas le plus simple ... interpreter 1 par exemple [Facultatif] Decryptage du script main 841796027

Faut pas se foutre du monde non plus.
Ce tuto est nul.

La mise en forme est à chier.
Tout est mélangé sans raison ( pourquoi aborder comme ça les conditions dans une "analyse" ? )

Certaines phrases ne veulent rien dire, certains points sont éclipses par qu'il ne sait pas de quoi il parle...

Non mais sérieux, quand on ne s'y connait pas : on ne fait pas de cours hein.


À bon entendeur...
Revenir en haut Aller en bas
Limit' the fox
Modérateur général
Modérateur général
avatar


Messages : 1227
Age : 26
Avertissements :
[Facultatif] Decryptage du script main Left_bar_bleue100 / 100100 / 100[Facultatif] Decryptage du script main Right_bar_bleue


[Facultatif] Decryptage du script main Empty
MessageSujet: Re: [Facultatif] Decryptage du script main   [Facultatif] Decryptage du script main EmptyVen 24 Juin - 4:48

traduction : C'est a chier

serieusement , ce que tu dis , XakuX le sait déjà , il a promis de faire plus attention la prochaine fois Wink
Revenir en haut Aller en bas
Thérapie
Fondateur †
Fondateur 	†
Thérapie


Messages : 2276
Age : 28
Avertissements :
[Facultatif] Decryptage du script main Left_bar_bleue100 / 100100 / 100[Facultatif] Decryptage du script main Right_bar_bleue


[Facultatif] Decryptage du script main Empty
MessageSujet: Re: [Facultatif] Decryptage du script main   [Facultatif] Decryptage du script main EmptyVen 24 Juin - 7:50

Zang' ce que j'aime chez toi c'est ton étroite ressemblance à ce que serait un mélange de nuki et xak' ton tact et ton habilité à dire les choses x) Stu veux fait un tuto Smile
Bref oui on en a déjà parlé x)
Revenir en haut Aller en bas
https://therapie-leforum.1fr1.net
XakuX
Professeur - Script
Professeur - Script
XakuX


Messages : 446
Age : 29
Avertissements :
[Facultatif] Decryptage du script main Left_bar_bleue89 / 10089 / 100[Facultatif] Decryptage du script main Right_bar_bleue


[Facultatif] Decryptage du script main Empty
MessageSujet: Re: [Facultatif] Decryptage du script main   [Facultatif] Decryptage du script main EmptyVen 24 Juin - 8:27

En attendant ce que fait nuki me semble bien pire pour qui n'a jamais vu un script de sa vie Smile
Bon et puis, je crois qu'on le sait depuis longtemps, je fais de la merde et puis c'est tout, si ça peut vous faire plaisir Gros sourire
Revenir en haut Aller en bas
nuki
Momie puante
Momie puante
nuki


Messages : 19
Avertissements :
[Facultatif] Decryptage du script main Left_bar_bleue100 / 100100 / 100[Facultatif] Decryptage du script main Right_bar_bleue


[Facultatif] Decryptage du script main Empty
MessageSujet: Re: [Facultatif] Decryptage du script main   [Facultatif] Decryptage du script main EmptyVen 24 Juin - 10:12

XakuX a écrit:
En attendant ce que fait nuki me semble bien pire pour qui n'a jamais vu un script de sa vie Smile
Bon et puis, je crois qu'on le sait depuis longtemps, je fais de la merde et puis c'est tout, si ça peut vous faire plaisir Gros sourire
Oui mais mon tuto n'est pas destiné aux non-scripteurs.
Revenir en haut Aller en bas
Magicalichigo
Aspirant admiré
Aspirant admiré
Magicalichigo


Messages : 470
Age : 29
Avertissements :
[Facultatif] Decryptage du script main Left_bar_bleue100 / 100100 / 100[Facultatif] Decryptage du script main Right_bar_bleue


[Facultatif] Decryptage du script main Empty
MessageSujet: Re: [Facultatif] Decryptage du script main   [Facultatif] Decryptage du script main EmptyVen 24 Juin - 10:48

Ce que j'aime chez Zangther c'est son tact légendaire Rire

@théra' -> On copie pas mes répliques è_é Non de non Razz
Revenir en haut Aller en bas
http://magic-mangas.nouslesfans.com
Contenu sponsorisé





[Facultatif] Decryptage du script main Empty
MessageSujet: Re: [Facultatif] Decryptage du script main   [Facultatif] Decryptage du script main Empty

Revenir en haut Aller en bas
 
[Facultatif] Decryptage du script main
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Demande de script simple de métier
» RPG maker VX ace: Tutoriel complet hors script
» Message d'erreur avec le script Requiem ABS Vlad !?!

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
La thérapie du making - Rpg maker :: Espace forum :: Cours :: Script-
Sauter vers: