見出し画像

ビルダーでキャラ名編集できなくて困った話/ティラノビルダー備忘録

※自分用の備忘録のため内容が初歩的な場合があります※

ティラノビルダーって「キャラクター管理」でキャラ名と立ち絵を登録するじゃないですか。でも

あとからキャラ名って編集できないですよね!?

削除ボタンしかないよね!?

今回、既に20人くらい登録してあるキャラクターの全員の表示名を変えたくて、でもビルダー上では名前が変えられない(削除して登録し直すしかない)から地味に困っていました。

そこでツイッターでアドバイスを頂いたり参考記事を見つけたりしたので試行錯誤した様子を備忘録として残したいと思います~




変更失敗の巻


まずはキャラクター名を定義しているシナリオファイルを探してみた……!
するとfirst.ksで読み込まれるファイルの中にchara_define.ksなるものが

いた!!!!!!!!!!!!!!!!

もうこれ書き換えたらオッケ~じゃん と思っていました。
しかしこれ、first.ksと同じく「エディタで編集しても(プレビューでfirst.ksが読み込まれるタイミングで)最初の状態にリセットされる」やつでした……!

たぶんキャラ登録で生成されるフォルダとかが絡んでそう……
そこで「builder.config. json」を弄ってみては?というアドバイスをもらい、

おおおこんなところにも!!!!!

こちらの名前を変えて再起動してみたのですが……

結果は「キャラクター管理と表示される名前は変わったけど、キャラクター登場コンポーネントが反応しなくなった」でした悲

やっぱりビルダーで動かす以上色々絡んでるんですね!


jname(初耳)を変える


しかしありがたくもさらにアドバイスを頂きまして、スクリプトを打って「jname」とやらを変えてみることに!

その方法、聞き覚えがあるな……!?と思ったら

これだーーーー!!!!!!!
こちらは途中で表示名を変えるやり方の分かりやすい解説でした。
コード自体は公式動作デモにあったのですが、スクリプトの動作デモを隅から隅まで読破するのはかなり大変なので本当に助かります……!!

; [iscript]~[endscript] 直接JavaScriptを操作して、
; マスコット(tyrano)の名前を「???」から「ティラ乃」に変更します。
[iscript]
TYRANO.kag.stat.charas['tyrano'].jname = 'ティラ乃'
[endscript]

ティラノスクリプト公式動作デモ


つまり「name」はキャラクターを識別するIDみたいなやつで、
今回chara_define.ksを開いてこれなんぞや?と思っていた「jname」はゲームで表示される名前だったんですね……!
chara_define.ksを開いた時はどちらも同じになっていた(ビルダーでキャラ登録すると自動的にどちらも同じになる)のでやっと分かった……!!

(だからキャラのセリフ打つ時には頭に半角の#をつけるしnameは普通アルファベットなんだとか。むしろnameが日本語でも動くのすごいね……)

今回はただ表示名を変えたいだけなのでjnameを変えるぞ~~!!

[iscript]
TYRANO.kag.stat.charas['佐富'].jname = '佐富(サトミ)'
[endscript]

これでnameは佐富でjnameは佐富(サトミ)に!!
セリフ打つ時は#佐富なんだけどゲームでは佐富(サトミ)って出るはず!!


どこに置くか


今回は通しでずっと表示名を変えておきたいので、ゲーム起動時に読み込まれる場所へ置くことにしました。

といえばfirst.ksですがビルダーだと編集してもリセットされる代物なので、その中でコール(呼び出し)されるファイルのどれかにします。
でもchara_define.ksでname='佐富' jname='佐富'と定義されますので……

それより後に読み込まれるものは…

plugin.ksかplugin_third.ksだ!!
けどplugin_third.ksもリセットされるファイルだったのでplugin.ksだーーーー!!!!

こうなりました

普通にめんどくさかった(((
そしてこの並べ方が果たして最適なのかはわからない、、
しかし

できた~~~~~~~~~

first.ksで読み込まれるのでプレビューだけでなく「ここからプレビュー」を使っても表示する名前が変わってくれました~~~~!!!!!!!

本当に助けてくださったフォロワーさんありがとうございました!!

※使用ソフト:ティラノビルダーv204b



ところで


これ、もしストーリー進行中にティラノスクリプトコンポーネントを使ってjname変更するスクリプトを打った場合、タイトル画面に戻ったりゲーム起動したりするとまたfirst.ksが読み込まれるのでchara_define.ksが読み込まれてリセットされてしまったりする……?

と思って試してみたのですが
セーブデータにはjnameの変更が保存されるようで、無事反映されたままでした!すごい~~~~~!!

崇めよ

jnameが「ゼロ子様」に変わってからセーブ、タイトルに戻ると表示は「ゼロ子」に戻りましたが、ロードしたらちゃんと様付けが復活!!
無礼を働かずに済みました(?)
これで怪しいアイツもコイツも軽率に「???」にできますね!!