AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



Le deal à ne pas rater :
SSD interne Crucial BX500 2,5″ SATA – 500 Go à 29,99€
29.99 €
Voir le deal

Partagez
 

 Tutoriel pour le script gets dans VX

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
MirainoHikari
Ex-Admin-Script
Ex-Admin-Script
MirainoHikari


Masculin Age : 42
Inscrit le : 26/05/2008
Messages : 2360

Tutoriel pour le script gets dans VX Empty
MessageSujet: Tutoriel pour le script gets dans VX   Tutoriel pour le script gets dans VX Icon_minitimeMer 23 Déc 2009 - 14:50

Récemment, j'ai posté un script qui permet d'avoir des variables string. Je vais vous faire un petit tutoriel pour vous apprendre à utiliser ces scripts intelligemment dans un event. Puisqu'il s'agit principalement de script en event, permettez-moi de ne pas mettre de capture d'écran. Je vais simplement vous dictez ce que vous devez faire dans une situation ou une autre.

Auteur du tutoriel : MirainoHikari

Scripts nécessaires : Les scripts gets et debug.

Bon. Évidemment, c'est une tutoriel pour savoir utiliser ce script, c'est donc normal qu'il soit installer dans votre projet. Suivez bien les instructions d'installation, c'est capital. Ce script ne s'insère pas exactement comme les autres.

Bon vous êtes prêt, c'est parti.

Pour le debug, une fois le script installé, on a plus à s'en soucier. Vous appuyez sur F9 en mode Debug et voilà, le script fait son oeuvre... Ce qui est le plus intéressant maintenant, c'est de programmer ce truc dans le jeu pour l'utiliser. D'accord, ça vous oblige à mettre un minimum de script dans vos events, mais ça vaut la peine.

Bon d'accord. Disons que vous voulez que le joueur donne un nom initial à votre héro, mais que vous voulez qu'il le tappe plutôt que d'utiliser l'interface de VX. Une possibilité est d'utiliser le gets. Comment faire? C'est simple. Vous faites votre event normalement comme si vous utilisiez la saisie de nom de VX, toutefois, lorsque vous arrivez pour saisir le nom, au lieu d'utiliser le "Name Input Processing", vous inscrivez cette ligne en script
Code:
$game_actors[1].name = gets
Cette ligne appèlera la saisie au clavier et affectera le nom à l'acteur désigné par le chiffre entre crochet. Donc 1 remplace le 1er acteur de la BD, 2 remplace le 2e, 3 le 3e, etc. Je crois que vous avez compris le principe. Une barre blanche apparaîtra (comme pour le debug) en bas de l'écran invitant le joueur à écrire au clavier. Lorsque la touche ENTER sera appuyé, le nom du joueur sera ce que celui-ci a écrit au clavier. Le reste se fera normalement. Sachez que si le joueur inscrit des symboles qui ne sont pas supporter par votre police d'affichage, des rectangles vide apparaîtront à la place de ces symboles.

Bon, ça ce n'était qu'un réchauffement. Maintenant, les variables de contrôle. (Fonctionne également avec les variables locales si vous avez le script installé dans votre projet) Lorsque vous voulez donner une valeur texte à une variable, en fait ce n'est pas vraiment plus compliqué que pour modifier le nom.
Code:
$game_variables[1] = gets
Comme vous voyez, ce n'est pas plus compliquer que l'exemple précédents. Le nombre entre crochet est le numéro de la variable de contrôle à changer. 1 change la variable 1, 2 la variable 2, etc. En fait, vous faites votre event normalement et vous mettez cette ligne lorsque vous devez faire une saisie texte. Oui bon ok, d'accord, mais si on veut capturer un chiffre... Bah soit vous utilisez le vieux "Input Numbers" de VX, soit vous contrôler sur le ENTER. Comment faire? C'est également assez simple... Mais sachez que vous devrez faire la gestion de "mauvaise entrée" par la suite. Pour qu'une entrée soit considéré nombre entier, vous pouvez mettre ce code à la place du précédent.
Code:
$game_variables[1] = (gets).to_i
Ce code fait en sorte que la valeur est modifié pour être un entier. Cependant, dès qu'un caractère qui n'est pas un chiffre est rencontré, la valeur retourné sont les chiffres qui précédaient cette valeur erronnée. Donc écrire "14.2" ou "14md" ou "14 23" donne 14 et "maison" ou "s14" donnera 0.

Une autre possibilité pour les utilisateur plus avancé. Ce serait de mettre
Code:
tmp =gets
$game_variables[1] = ((tmp.to_i).to_s != tmp.to_s) ? tmp.to_s : tmp.to_i
Cette façon d'écrire le script fait en sorte que la variable 1 est un nombre entier si seulement des chiffres ont été tappé, ou du texte dans tous les autres cas. OK, mais si on voulait seulement un chiffre et que le joueur tappe n'importe quoi? Bah vous faites une condition. et l'obliger à tapper quelque chose d'intelligent pour continuer. Comme condition, vous vous assurez que c'est un entier de cette façon
Code:
$game_variables[1].integer?
Cette commande renvoie VRAI si c'est un nombre entier et FAUX dans les autres cas. Vous n'avez donc qu'à faire une boucle qui dira au personnage qu'il n'a pas saisi correctement un nombre puis le faire recommencer. Ne tentez pas ça si vous n'êtes pas à l'aise avec les boucles dans les events, vous risqueriez de vous faire du mal.

Bon tout ça, c'est bien beau, mais maintenant, si on veut comparer nos string (exemple mot de passe). Bah, déjà, pour les entier, pas la peine d'en parler, ça fonctionne comme avant. Vous utilisez les event normalement pour les entiers. (Assurez vous que vous travailler bien en entier et non avec des string qui représente des entiers. Relisez les 2 paragraphes précédents pour savoir comment s'assurer qu'on a un entier.) Pour les string parcontre, là c'est autre chose, mais ce n'est pas plus compliqué en soit. Supposons que vous voulez vérifier si la variable 1 vaut "test", vous écrivez comme condition de branchement (avec la fonction script de l'événement branchement normal)
Code:
$game_variables[1] == "test"
Et voilà, c'est tout. Simple n'est-ce pas?

Vous pouvez donc maintenant créer des événements qui capture du texte et qui vérifie ce qui est écrit. Bon je sais, j'avais dit pas de screen, mais bon, en voici un qui rassemble un peu de tout pour vous montrer les possibilités. (Je n'ai mis que des cas simples)
Tutoriel pour le script gets dans VX Gets10
Revenir en haut Aller en bas
http://mirainohikari.deviantart.com
 

Tutoriel pour le script gets dans VX

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» Tutoriel pour Script
» Tutoriel sur le script sbs pour rmvx ace
» Demende de tutoriel pour un script....
» Script pour nom dans dialogue
» Script pour un commentaire dans le bestiaire .

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Apprentissage :: Programmation: Events & RGSS :: Cours-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Cookies | Forum gratuit