TkoolBridge
RPGツクール用製作支援ツール

tkoolbridge

ver2.05ダウンロード(421kb)


■概要
■TKcodeって?
■起動方法
■操作方法
■イベントコマンド生成テクニック
■一括置換テクニック
■『「◆文章」に変換』機能
■外部ファイルの値取得機能
■削除方法
■注意事項
■更新履歴
■使用コンポーネント


■概要
TkoolBridgeはRPGツクール2000のイベントエディタで作成したイベントコマンドを
テキストコード形式で相互変換するツールです。
また、コードの編集によりイベントコマンドを自動生成する機能も有しています。


■TKcodeって?
イベントコマンドの骨組みを表した、コマンドと日本語テキストの中間にあたるコードです。
()内の数字の羅列は各々のコマンドの設定項目に当たります。
基本的にtab順に並んでいますが、ファイル名のような文字列データは常に先頭に来ています。

一見ひどく難解そうですが、ツクールのエディタで雛形を作って変更を加える形で使用しますので、
このコードを覚える必要はありません。
各要素の意味を知りたい時は、調べたい行にカーソルを置いてF1キーを押すと
コードに対応するヘルプが表示されます。


■起動方法
適当なフォルダに展開してTkoolBridge.exeをダブルクリックしてください。


■操作方法
○イベントコマンドをテキストコードに変換
1. RPGツクール2000のイベントエディタを開く
2. 変換したい範囲の最初の行をワンクリック
3. 変換したい範囲の最後の行をSHIFTキーを押しながらワンクリック
4. 青色に反転した部分にカーソルを置いて右クリック→コピー
5. TkoolBridgeを起動
6. [イベントコマンド→TKcode]ボタンをクリック

・[コピー]を押すと下に表示されたテキストをクリップボードにコピーします。
・[削除]を押すと下に表示されたテキストを全部消します。

○テキストコードをイベントコマンドに変換
1.TkoolBridgeを起動
2.TKcode形式のテキストをメモ欄に貼り付け
3.[イベントコマンド生成]ボタンをクリック
4. RPGツクール2000のイベントエディタを開く
5.好きな場所に貼り付ける

・[×1]の数字を変えると、その回数分だけコマンドが生成されます。


■イベントコマンド生成テクニック

○TKcodeにはループ変数 i が使えます。
簡単に言えば数字のところに i を置いて生成×5にすると i が0〜4の順番で変化します。

[TKcode]

Variable(0, 1, 1, 0, 0, i, 0) 

[操作]
イベントコマンドの生成×5

[結果]
◆変数の操作:[1]代入, 0
◆変数の操作:[1]代入, 1
◆変数の操作:[1]代入, 2
◆変数の操作:[1]代入, 3
◆変数の操作:[1]代入, 4


○数字の部分には計算式を使うことができます。
使える演算子は、乗算* 除算/ 加算+ 減算- 剰余% それに括弧()です。
数字をファイル名に埋め込む時は#{i}を使います。

[TKcode]
Picture("hoge#{(i+1)*10}ban", i+1, 0, 160, 120, 0, 100, 0, 1, 100, 100, 100, 100, 0, 0)

[操作]
イベントコマンドの生成×5

[結果]
◆ピクチャーの表示:1, hoge10ban, (160,120)
◆ピクチャーの表示:2, hoge20ban, (160,120)
◆ピクチャーの表示:3, hoge30ban, (160,120)
◆ピクチャーの表示:4, hoge40ban, (160,120)
◆ピクチャーの表示:5, hoge50ban, (160,120)


○実戦編
変数の値によってピクチャーに0〜9の数字画像を表示させる場合を例にします。
1つのピクチャーなら10個の条件分岐ですが、
これをピクチャー番号1〜10に設定するとなると
100個の条件分岐とピクチャー設定が必要になります。

仮に変数101〜110に表示する数値、201〜210にピクチャーのx座標、
301〜310にピクチャーのy座標を設定してるとします。

まずはツクールのエディタで雛形となるコマンドを作成します。
◆条件分岐:変数[101]が0
 ◆ピクチャーの表示:1, kazu0, (V[201],[301])
 ◆
:分岐終了

これをTKcodeに変換します。
If(1, 101, 0, 0, 0, 0) 
      Picture("kazu0", 1, 1, 201, 301, 0, 100, 0, 1, 100, 100, 100, 100, 0, 0) 
EndIf

数値を変化させたい場所に式を挿入します。
If(1, 101+i/10, 0, i%10, 0, 0)
      Picture("kazu#{i%10}", 1+i/10, 1, 201+i/10, 301+i/10, 0, 100, 0, 1, 100, 100, 100, 100, 0, 0)
EndIf

イベントコマンドの生成×100!

あとはエディターに貼り付ければおしまいです。


■一括置換テクニック
一括置換ボタンを押すとメモ欄に記述されたTKcodeのうち
指定した番号のあるコマンドから[A→B]形式でAの数値をBの数値へ一括置換します。

[TKcode]
Variable(0, 21, 21, 0, 0, 21, 0)
Variable(1, 11, 21, 0, 1, 21, 0)
Variable(2, 21, 0, 0, 2, 21, 0)
Variable(2, 21, 0, 0, 3, 21, 21)
If(1, 21, 0, 21, 0, 0)
      MoveStoredPlace(20, 21, 22)
EndIf
◆変数の操作:[21]代入, 21
◆変数の操作:[11〜21]代入, 変数[21]の値
◆変数の操作:[V[21]]代入, 変数[V[21]]の値
◆変数の操作:[V[21]]代入, 乱数[21〜21]
◆条件分岐:変数[21]が21
 ◆記憶した場所へ移動:V[20](V[21],V[22])
 ◆
:分岐終了

[操作]
一括置換 変数番号 21 → 31

[結果]
Variable(0, 31, 31, 0, 0, 21, 0)
Variable(1, 11, 31, 0, 1, 31, 0)
Variable(2, 31, 0, 0, 2, 31, 0)
Variable(2, 31, 0, 0, 3, 21, 21)
If(1, 31, 0, 21, 0, 0)
      MoveStoredPlace(20, 31, 22)
EndIf
◆変数の操作:[31]代入, 21           ←変数番号でないものは変化なし
◆変数の操作:[11〜31]代入, 変数[31]の値
◆変数の操作:[V[31]]代入, 変数[V[31]]の値
◆変数の操作:[V[31]]代入, 乱数[21〜21]
◆条件分岐:変数[31]が21
 ◆記憶した場所へ移動:V[20](V[31],V[22])   ←番号が違うものは変化なし
 ◆
:分岐終了


○変換設定には変数が使用可能です。
半角小文字の英文字なら何でも変数として使えます。
ただし右と左で同じものを使わなければ正しく変換されません。
変数には現在の番号が代入されますので、
式を使うことで全部の値を相対的に変化させられます。

[TKcode]
Variable(0, 1, 1, 0, 1, 11, 0)
Variable(1, 11, 21, 0, 2, 31, 0)

◆変数の操作:[1]代入, 変数[11]の値
◆変数の操作:[1121]代入, 変数[V[31]]の値

[操作]
一括置換 変数番号 hoge → hoge + 100

[結果]
Variable(0, 101, 101, 0, 1, 111, 0)
Variable(1, 111, 121, 0, 2, 131, 0)

◆変数の操作:[101]代入, 変数[111]の値
◆変数の操作:[111121]代入, 変数[V[131]]の値


○変数には範囲を指定することができます。
範囲はa < b < c形式で指定します。
0 < hoge < 100なら1〜99番が指定されたコマンドを置換します。
なお、>や<=は使用できません。

[TKcode]
Variable(0, 1, 1, 0, 1, 11, 0)
Variable(1, 11, 21, 0, 2, 31, 0)

◆変数の操作:[1]代入, 変数[11]の値
◆変数の操作:[1121]代入, 変数[V[31]]の値

[操作]
一括置換 変数番号 20 < a → a + 100

[結果]
Variable(0, 1, 1, 0, 1, 11, 0)
Variable(1, 11, 121, 0, 2, 131, 0)

◆変数の操作:[1]代入, 変数[11]の値
◆変数の操作:[11121]代入, 変数[V[131]]の値


■『「◆文章」に変換』機能
テキストエリアの文字列を「◆文章」コマンドのTKcodeに変換します。

[TKcode(のエリア)]
あいうえお
かきくけこ
さしすせそ
たちつてと
なにぬねの

[操作]
編集(E) → 「◆文章」に変換(Z)
(または、CTRL + T)

[結果]
Text("あいうえお")
SubT("かきくけこ")
SubT("さしすせそ")
SubT("たちつてと")
Text("なにぬねの")

◆文章:あいうえお
:  :かきくけこ
:  :さしすせそ
:  :たちつてと
◆文章:なにぬねの


○改ページ記号の挿入
/(スラッシュ)単独の行は改ページとして処理されます。
なお / 単独の「◆文章」を表示させるには、 // とスラッシュを2つ重ねます。

[TKcode(のエリア)]
あいうえお
かきくけこ
/
さしすせそ
//
たちつてと

[操作]
編集(E) → 「◆文章」に変換(Z)
(または、CTRL + T)

[結果]
Text("あいうえお")
SubT("かきくけこ")
/
Text("さしすせそ")
SubT("/")
SubT("たちつてと")

◆文章:あいうえお
:  :かきくけこ
◆文章:さしすせそ
:  :/
:  :たちつてと


○変換コード(文章オプションの変更)
「◆文章オプションの変更」のTKCodeを作成するためのコードです。
/o1 のように記述し、/o0〜/o99 の数字指定で計100個の記憶領域を持ちます。
オプション設定については付属のTKcodeリファレンス.txt及びSample1.txtを
参照してください。

[TKcode(のエリア)]
/o1
/o1 t m a e
/o2 o1 b
/o2 -e

[操作]
編集(E) → 「◆文章」に変換(Z)
(または、CTRL + T)

[結果]
TextOption(0, 0, 0, 0)
TextOption(1, 1, 1, 1)
TextOption(1, 2, 1, 1)
TextOption(1, 2, 1, 0)

◆文章オプション変更:通常, 上, 固定, イベント移動禁止
◆文章オプション変更:透明, 中, 自動, イベント移動許可
◆文章オプション変更:透明, 下, 自動, イベント移動許可
◆文章オプション変更:透明, 下, 自動, イベント移動禁止


○変換コード(顔グラフィックの設定)
「◆顔グラフィックの設定」のTKCodeを作成するためのコードです。
/f1 のように記述し、/f0〜/f99 の数字指定で計100個の記憶領域を持ちます。
オプション設定については付属のTKcodeリファレンス.txt及びSample1.txtを
参照してください。

[TKcode(のエリア)]
/f1
/f1 "ファイル名" n2 r m
/f2 f1 n5
/f2 -m

[操作]
編集(E) → 「◆文章」に変換(Z)
(または、CTRL + T)

[結果]
Faice("", 0, 0, 0)
Faice("ファイル名", 2, 1, 1)
Faice("ファイル名", 5, 1, 1)
Faice("ファイル名", 5, 1, 0)

◆顔グラフィックの設定:消去
◆顔グラフィックの設定:ファイル名, 3, 右, 反転あり
◆顔グラフィックの設定:ファイル名, 6, 右, 反転あり
◆顔グラフィックの設定:ファイル名, 6, 右, 反転なし


○変換コード(ピクチャーの表示の設定)
「◆ピクチャーの表示」のTKCodeを作成するためのコードです。
/p1 のように記述し、/p0〜/p99 の数字指定で計100個の記憶領域を持ちます。
オプション設定については付属のTKcodeリファレンス.txt及びSample1.txtを
参照してください。

[TKcode(のエリア)]
/p1
/p1 "ファイル名" n5 x300 y-100 z200 o50 h t5 w
/p2 p1 n10 r10 g20 b30 s40 c e1 q5
/p2 -h
/p2 m
/p2 d

[操作]
編集(E) → 「◆文章」に変換(Z)
(または、CTRL + T)

[結果]
Picture("", 1, 0, 160, 120, 0, 100, 0, 0, 100, 100, 100, 100, 0, 0)
Picture("ファイル名", 5, 0, 300, -100, 0, 200, 50, 1, 100, 100, 100, 100, 0, 0)
Picture("ファイル名", 10, 0, 300, -100, 1, 200, 50, 1, 10, 20, 30, 40, 1, 5)
Picture("ファイル名", 10, 0, 300, -100, 1, 200, 50, 0, 10, 20, 30, 40, 1, 5)
PictureMove(10, 0, 300, -100, 1, 200, 50, 0, 10, 20, 30, 40, 1, 5, 5, 1)
PictureDel(10)

◆ピクチャーの表示:1, , (160,120) (拡大率100%, 透明色なし, 透明度0%, R100,G100,B100,S100, 画面位置固定)
◆ピクチャーの表示:5, ファイル名, (300,-100) (拡大率200%, 透明色あり, 透明度50%, R100,G100,B100,S100, 画面位置固定)
◆ピクチャーの表示:10, ファイル名, (300,-100) (拡大率200%, 透明色あり, 透明度50%, R10,G20,B30,S40, 回転描画速度5, マップスクロールに連動)
◆ピクチャーの表示:10, ファイル名, (300,-100) (拡大率200%, 透明色なし, 透明度50%, R10,G20,B30,S40, 回転描画速度5, マップスクロールに連動)
◆ピクチャーの移動:10, (300,-100), 0.5秒(W) (拡大率200%, 透明度50%, R10,G20,B30,S40, 回転描画速度5)
◆ピクチャーの消去:10



■『外部ファイルの値取得』機能
外部ファイルから取得した値をTKCodeの設定値に反映する機能です。
txt形式とcsv形式に対応しています。

○txtファイルの読み込み
ファイルの宣言
/txt1 "ファイル名" のように記述し、/txt0〜/txt99 の数字指定で計100個の記憶領域を持ちます。
ファイル名の拡張子(.txt)はあってもなくても構いません。

値の取得
使用したい項目値の場所で「txt1[(行数)]」のように指定することで、
この部分がファイルの指定行の値に変換されます。

「Sample2.txt」の内容
  この文章は、Sample2.txtを
  読み込んだものです。


[TKcode]
/txt1 "Sample2"
Text("#{txt1[0]}")
SubT("#{txt1[1]}")

[操作]
イベントコマンドの生成

[結果] ◆文章:この文章は、Sample2.txtを
:  :読み込んだものです。


○csvファイルの読み込み
ファイルの宣言
/csv1 "ファイル名" のように記述し、/csv0〜/csv99 の数字指定で計100個の記憶領域を持ちます。
ファイル名の拡張子(.csv)はあってもなくても構いません。

値の取得
使用したい項目値の場所で「csv1[(行数),(列数)]」のように指定することで、
この部分がファイルの指定行の値に変換されます。

「Sample3.csv」の内容(一部抜粋)
  "ID","名前","値段","説明","持ち手","戦闘アニメ","攻撃力", 〜〜
  "0017","クラブ"," 40","シンプルな木製の棍棒。","片手","0002:打撃B"," +5", 〜〜
  "0018","ロングソード"," 70","ごく一般的な量産型の長剣。","片手","0005:剣A"," +9", 〜〜
  "0019","ロングスピア"," 110","ごく一般的な量産型の槍。","両手","0009:槍A"," +12", 〜〜
  〜〜〜
  〜〜〜


[TKcode]
/csv1 "Sample3"
If(1, 1, 0, csv1[i+1,0]}, 0, 0)
Text("【#{csv1[i+1,1]}】")
SubT("#{csv1[i+1,3]}")
SubT("#{csv1[0,2]}:#{csv1[i+1,2]}G #{csv1[0,6]}:#{csv1[i+1,6]}")
Exit
EndIf

[操作]
イベントコマンドの生成 ×3

[結果]
◆条件分岐:変数[0001]が17
 ◆文章:【クラブ】
 :  :シンプルな木製の棍棒。
 :  :値段:40G 攻撃力:+5
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:変数[0001]が18
 ◆文章:【ロングソード】
 :  :ごく一般的な量産型の長剣。
 :  :値段:70G 攻撃力:+9
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:変数[0001]が19
 ◆文章:【ロングスピア】
 :  :ごく一般的な量産型の槍。
 :  :値段:110G 攻撃力:+12
 ◆イベント処理の中断
 ◆
:分岐終了


■削除方法
フォルダごとゴミ箱に放り込んでください。レジストリは使用していません。


■注意事項
・「RPGツクール」シリーズは(株)エンターブレインの登録商標です。
・TkoolBridgeはすっぴぃによる個人製作のツールであり、ツクールの販売元とは一切関係ありません。
・TkoolBridgeはフリーウェアです。使用の際に作者への連絡は必要ありません。
・TkoolBridgeの利用は各自の自己責任で行ってください。
 使用の際に起こった如何なるトラブルについても作者は責任を負わないものとします。
・2003での使用については基本的にサポート対象外です。


■更新履歴
2009/11/29 ver2.05
・TKCodeに-253755392未満の数値が入っていると、変換に失敗するバグを修正。

2009/11/23 ver2.04
・文字列引数内で#{}の括弧を閉じていないと変換の際に無限ループするバグを修正。
・文字列引数内で##{}と記述することで#{}を文字列として扱えるように修正。
・変換コード内のファイル名からスペースが除去されるバグを修正。
・TKCodeを含む変換コードで「◆文章」に変換を使用した際の挙動を修正。

2009/9/24 ver2.03
・外部のTXTファイル、CSVファイルから値を取得する機能を追加。
・[ファイル]メニューに[新規][開く][上書き保存][別名で保存]を追加。
・テキストファイルをドラッグ&ドロップで開ける機能を追加。
・[「◆文章」に変換]機能を強化。
・[全削除]のショートカットキーをShift+Delに変更。

2009/6/21 ver2.02
・数値変換のロジックを全面改正。
・「キャラクターの動作指定」の変換ミスを修正。
・「一括置換」に「[普通の置換]」を追加。
・『「◆文章」に変換』機能を追加。

2007/11/23 ver2.01
・文字列引数(""で囲まれた部分)が127バイトを超えると変換に失敗する不具合を修正。
・TKcodeリファレンスを一部修正。

2007/9/14 ver2.00
・TKcodeリファレンス完成
・ヘルプ表示機能を追加(コード上にカーソルを置いてF1キー)
・エラーレポート表示機能の追加
・分岐関連で階層や改行の変換ミスを修正
・一部コードの綴り修正(buttle→battle)

■使用コンポーネント
TRegExpr v. 0.952 Copyright 1999-2001 by Andrey V. Sorokin
・TAFEdit きりい

戻る

更新日時:2009/11/29 17:00
管理人:すっぴぃ ◆ADGYPSYxII