Nova Infâme Milicien
Nombre de messages : 185 Age : 34 Projet(s) en cours : Rédemptions Niveau Rpg Maker : + : Mapping, Évent, Combat. - : Script, Rapidité. Jeux Préférés : FFTA, FFLW, FF 1 à 12 sauf 7, Jeux DS. Date d'inscription : 30/12/2007
| Sujet: Le nom de votre héros sur VX Jeu 03 Avr 2008, 00:43 | |
| Salut à vous tous. Vous l'avez peut-être remarqué sur VX, mais il existe un petit problème facilement résolvable quant au choix du nom du héros. Je vais vous concoter un petit tuto pratique et efficace... Auteur: NovaEffets: - plus de choix de lettres lors de la saisie du nom
- correction d'un manque de la part des réalisateurs de VX ou Nino (notre bien-aimé traducteur) quant à la totalité des lettres de base.
Let's go.... I_ Piqûre de rappelTout d'abord, je vais vous rappeler la façon de procéder pour saisir le nom du héros SOUS VX (je rappelle que XP nécessite un script pour cela). - Passez la map en mode évènement (F6).
- Dans le coin de la map, ou bien à n'importe quel endroit, insérez un évènement.
- Dans "commande de l'évènement", double-cliquez et rendez-vous à l'onglet 3.
- Choisissez le héros à renommer, puis cliquez sur OK.
- Ne sortez pas encore de l'évènement:
- Mettez PROCESSUS PARALLELE dans les conditions de déclanchement, si vous voulez que le joueur renomme directement le héros, et AUTOMATIQUE, si vous voulez que le joueur entre le nom après un dialogue, ou un évent.
Au final, on obtient ceci... Bravo nous avons réalisé 50% du boulot. Pour les 50% restants, rendez-vous dans les scripts... II_ La modification du scriptSi vous avez testé la fonction de la saisie du nom, et que vous avez l'oeil, vous remarquerez que ni le H, ni le X n'existent. Cela est assez embêtant, surtout pour ceux qui s'appellent AntHony... La première opération va donc résoudre ce problème des deux lettres manquantes, la deuxième quant à elle va vous montre comment insérer d'autres caractères.... - Ouvrez l'éditeur de script (F11)
- Vous voyez les classes accompagnées d'une flèche pointée vers le bas? eh bien rendez-vous dans la rubrique "fenêtre".
- Le 20ème script de cette rubrique se nomme en théorie "Name_input". Allez-y.
- Là, vous appercevez des chiffres et des lettres (pas sur france 2) en violet. Ce sont les lettres et chiffres sélectionnable lors de la saisie du nom.
- Remplacez tout le script par celui-ci...
#Window_NameInput #Amélioré par Nova #Rajout des lettres H et X, espace et autres caractères #Exclusivité RPGFusion (https://rpgfusionv2.1fr1.net/index.htm) #============================================================================== # ■ Window_NameInput #------------------------------------------------------------------------------ # 名前入力画面で、文字を選択するウィンドウです。 #==============================================================================
class Window_NameInput < Window_Base #-------------------------------------------------------------------------- # ● 文字表 #-------------------------------------------------------------------------- HIRAGANA = [ 'a','b','c','d','e', 'A','B','C','D','E', 'f','g','h','i','j', 'F','G','H','I','J', 'k','l','m','n','o', 'K','L','M','N','O', 'p','q','r','s','t', 'P','Q','R','S','T', 'u','v','w','x','y', 'U','V','W','X','Y', 'z',' ',' ',' ',' ', 'Z',' ',' ',' ',' ', '1','2','3','4','5', 'à','ä','é','è','ê', '6','7','8','9','0', 'ë','ô','û','_','.', '!','?',',',';',':', '@','%','€','','OK'] TABLE = [HIRAGANA] #-------------------------------------------------------------------------- # ● オブジェクト初期化 # mode : 初期入力モード (0 = ひらがな、1 = カタカナ) #-------------------------------------------------------------------------- def initialize(mode = 0) super(88, 148, 368, 248) @mode = mode @index = 0 refresh update_cursor end #-------------------------------------------------------------------------- # ● 文字の取得 #-------------------------------------------------------------------------- def character if @index < 88 return TABLE[@mode][@index] else return "" end end #-------------------------------------------------------------------------- # ● カーソル位置 モード切り替え判定 (かな/カナ) #-------------------------------------------------------------------------- def is_mode_change return (@index == 88) end #-------------------------------------------------------------------------- # ● カーソル位置 決定判定 #-------------------------------------------------------------------------- def is_decision return (@index == 89) end #-------------------------------------------------------------------------- # ● 項目を描画する矩形の取得 # index : 項目番号 #-------------------------------------------------------------------------- def item_rect(index) rect = Rect.new(0, 0, 0, 0) rect.x = index % 10 * 32 + index % 10 / 5 * 16 rect.y = index / 10 * WLH rect.width = 32 rect.height = WLH return rect end #-------------------------------------------------------------------------- # ● リフレッシュ #-------------------------------------------------------------------------- def refresh self.contents.clear for i in 0..89 rect = item_rect(i) rect.x += 2 rect.width -= 4 self.contents.draw_text(rect, TABLE[@mode][i], 1) end end #-------------------------------------------------------------------------- # ● カーソルの更新 #-------------------------------------------------------------------------- def update_cursor self.cursor_rect = item_rect(@index) end #-------------------------------------------------------------------------- # ● カーソルを下に移動 # wrap : ラップアラウンド許可 #-------------------------------------------------------------------------- def cursor_down(wrap) if @index < 80 @index += 10 elsif wrap @index -= 80 end end #-------------------------------------------------------------------------- # ● カーソルを上に移動 # wrap : ラップアラウンド許可 #-------------------------------------------------------------------------- def cursor_up(wrap) if @index >= 10 @index -= 10 elsif wrap @index += 80 end end #-------------------------------------------------------------------------- # ● カーソルを右に移動 # wrap : ラップアラウンド許可 #-------------------------------------------------------------------------- def cursor_right(wrap) if @index % 10 < 9 @index += 1 elsif wrap @index -= 9 end end #-------------------------------------------------------------------------- # ● カーソルを左に移動 # wrap : ラップアラウンド許可 #-------------------------------------------------------------------------- def cursor_left(wrap) if @index % 10 > 0 @index -= 1 elsif wrap @index += 9 end end #-------------------------------------------------------------------------- # ● カーソルを決定へ移動 #-------------------------------------------------------------------------- def cursor_to_decision @index = 89 end #-------------------------------------------------------------------------- # ● 次のページへ移動 #-------------------------------------------------------------------------- def cursor_pagedown @mode = (@mode + 1) % TABLE.size refresh end #-------------------------------------------------------------------------- # ● 前のページへ移動 #-------------------------------------------------------------------------- def cursor_pageup @mode = (@mode + TABLE.size - 1) % TABLE.size refresh end #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- def update super last_mode = @mode last_index = @index if Input.repeat?(Input::DOWN) cursor_down(Input.trigger?(Input::DOWN)) end if Input.repeat?(Input::UP) cursor_up(Input.trigger?(Input::UP)) end if Input.repeat?(Input::RIGHT) cursor_right(Input.trigger?(Input::RIGHT)) end if Input.repeat?(Input::LEFT) cursor_left(Input.trigger?(Input::LEFT)) end if Input.trigger?(Input::A) cursor_to_decision end if Input.trigger?(Input::R) cursor_pagedown end if Input.trigger?(Input::L) cursor_pageup end if Input.trigger?(Input::C) and is_mode_change cursor_pagedown end if @index != last_index or @mode != last_mode Sound.play_cursor end update_cursor end end
- Une fois ceci fait, cliquez sur OK.
- Et voilà! Maintenant de nouveau caratères sont disponibles!
Testons tout cela.... - Testez le jeu en appuyant sur F12.
- Rendez-vous sur la map où le héros doit changer de nom. Si vous avez suivi correctement mon tuto, dès que vous entrez sur la carte, une fenêtre apparaît, exactement celle-ci...
Et voilà le travail! Alors mon dernier petit conseil est celui de mettre 7 lettres, voire 8, pour la taille maximale du nom, car 16 (ce que j'ai fait sur le dernier screen) est très laid. J'espère que ce tuto vous sera utile; normalement tout est fonctionnel, mais si les symptômes persistent, consultez votre membre préféré! | |
|