[PR]テレビ番組表
今夜の番組チェック


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

tkoolbridge

ver2.01ダウンロード(398kb)


■概要
■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]]の値


■ウラワザっぽいこと
今までは使うことが不可能だったスイッチの5001番を使うことができます。

Switch(0, 5001, 5001, 0)
If(0, 5001, 0, 0, 0, 0)
EndIf

◆スイッチの操作:[5001]をONにする
◆条件分岐:スイッチ[5001]がON
 ◆
:分岐終了

エディタでは[?]と表示されますが、ちゃんと機能します。

他にも何か面白い発見がありましたらご一報ください〜♪


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


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


■更新履歴
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 きりい

戻る

更新日時:2007/9/14 18:00
管理人:すっぴぃ ◆ADGYPSYxII