fc2ブログ

ティラノリブレッター開発版公開しました

ティラノリブレッター(仮)α版





■概要

このアプリケーションは、
ティラノスクリプトのシナリオファイル(.ks)から
「ラベル」「話者名」「本文テキスト」その他一部の要素だけを抜き出して、

それを台本風に表示する、台本風のHTMLファイルとして出力する他、
本文だけをコピーする、本文の文字数をカウントする、
といった機能を持つアプリケーションです。

用途としては、声優さんに発注するときの台本作成、
またシナリオ部分を抜き出しての校正/推敲サポートなどを想定しています。





■できないこと


〇ゲームのプレビューを行うことはできません。


〇シナリオファイルを編集することはできません。


〇また、マクロやサブルーチンの呼び出しタグすらすべて無視しますので、
 マクロやサブルーチンであっちこっちからシナリオをひっぱってくるタイプの
 アドベンチャーゲームには不向きかもしれません。





■ダウンロード

バージョン:<開発版>1.0.0
DropBox
windows 64 bit
windows 32 bit

windowsの32ビット版と62ビット版のみ用意しています。
リンク:自分のパソコンが32ビット版か64ビット版かを確認したい

一次報告的な感じで公開した開発版ということもあり、
未実装な部分が多々あります。
申し訳ありませんが、ご了承願います・・・・(´・ω・`)・・・・。
バグとか要望とかありましたら、教えてくだされば大変うれしいです。





■今は未実装だが、今後できないと使い物にならんと思われる機能


〇一人のセリフにしぼった台本を自動で全キャラ分エクスポートする機能


〇シナリオを任意の順番で並べ替える+それを保存する機能


〇マクロの仮置換機能

たとえば、
[macro name="主人公名"]
[emb exp="f.PLAYER_NAME"]
[endmacro]
というようなマクロを組み、
本文中に[主人公名]というタグを入れている場合。
[主人公名]というタグを指定の文字列で置換する機能はあったほうがよいと思われます。


〇独自の話者名変更マクロへの対応

たとえば、
[macro name="話者"]
[eval exp="$('.chara_name_area').text(mp.name)"]
[endmacro]
というようなマクロを組み、
「#」を使わずに話者名変更処理を行っている場合。
「話者名変更マクロ名」「話者名が格納されているパラメータ名」
を指定してもらうことで対応できるかなと思います。





■使い方

zipファイルを適当な場所に解凍(展開)します。
出てきたフォルダの中にある「ティラノリブレッター.exe」を実行すると、
アプリケーションが起動します。

画面が表示されたら、
画面左上の「開く」から単一のindex.htmlまたはシナリオファイル(*.ks)を選択します(※1)。
パソコンの処理能力やシナリオの長さにもよりますが、
10分で読めるシナリオくらいなら1秒未満(※2)で台本化処理が完了するかと思います。

※1 画面内に所定のファイルをドラッグアンドドロップすることでも開けます。
※2 とくに長いシナリオでもなく1秒以上かかる場合、バグっている可能性が高いです。





■発端になったツイートなど


〇台本化に関して

荻原(わたし)‏ @tempura17654
ティラノトランスレーター、わたしは英語スキルがうんちなので基本的には無縁なツールであるものの、テキスト部分だけ抽出してcsv出力ができるということで、テキスト部分だけを校正ツールにかけて誤字チェックしたいというときには使えるかもしれない。

gtx@tyrano_wiki他情報c#‏ @otomegtx
トランスレーターで名前がある部分のみを絞ってcatsystemみたいに台本作成できたらいいなとは思います

荻原‏ @tempura17654
台本は便利そうですねぇ。CatSystemについて存じませんでしたのでググりましたが、声優さんに発注するときに便利ということですか。

gtx@tyrano_wiki他情報c#‏ @otomegtx
そうですね 現状、気軽に発注しづらいのが殆どなので、もし出来たら商業利用も多くなりそうな気がします。(ただ台本のテンプレートを知らないと難しい…


〇アプリ作りに関して

荻原‏ @tempura17654
こういうときにC#言語とか使えれば、サッと使えるGUIアプリを開発できたりするのでしょうなぁ。

TigRig‏ @Tig_nico
デスクトップアプリをHTML+JS+...で作成できるツール(NW.jsやElectronなど)を使ってみるというのはいかがでしょうか。特にNW.jsはティラノでも利用されているので扱いやすいかと思います。既知の情報でしたらすみません。


きっかけをくださったお二方、
またすべてのもとになったティラノスクリプトの開発者であるシケモクMK様、
ありがとうございます。

ちなみにTigRigさんは次のQiita記事を書かれています。
リンク:Electronの環境構築(for Windows)
リンク:ティラノスクリプトのbuttonタグのホバー画像仕様は、吉里吉里と違ってメモリを消費する

またNW.jsの環境構築に関しては、okamoaiさんという方が書かれました
リンク:Windows の Node.js 開発環境構築 最小手順
こちらの記事が参考になりました。




■NW.jsについて追記

このアプリはNW.jsを使って作られたアプリで、HTML+JS+CSSで動いてます。

(自分のコードを見せるのはかなり恥ずかしいので迷ったんですが、
できるだけ多くのjsファイルやcssファイルを見られる形で配置しました。
jsファイルやcssファイルをいじるとアプリに反映されるのが確認できると思います。)

この3つさえ知っていればアプリが作れる、というのに、わたしはだいぶ感動しました。
めっちゃ気軽にアプリが作れるので、興味がある方はぜひ調べてみてください。
スポンサーサイト



続きを読む

【プラグイン】ロールボタン自動隠蔽

ロールボタンを自動で出したり隠したりするプラグインです。
基本的な使い方としては、フォルダを配置して、プラグインを読みこんで、
ふつうにロールボタンを追加したあとに[role_button_auto_hide]タグを使えば一発です。

ただセーブデータをロードしたときにリセットされちゃうので、
make.ksにも[role_button_auto_hide]タグを記述します。

その他の説明は同梱してある説明書をご覧ください。

ダウンロード

role_button_auto_hide.zipをダウンロード

履歴

2018/01/31 18:29 アップデート。
2017/06/04 17:15 配布開始。

続きを読む

「雪が降るプラグイン」について取り急ぎ

keito works で公開されている「雪が降るプラグイン」について、取り急ぎ。
セーブ/ロードで雪降り状況が保存/復元されない問題があるようなので、
解決策を検討しました。

検討した結果としてはおそらく、「snowfall.ks」と「make.ks」のふたつに
記述を加えることで解決できるのではないかなと思います
下にそれをメモとして残しておきます。

「ティラノスクリプトスタンダードパッケージ v.4.54c」に
「雪が降るプラグイン v.1.6.1」を統合して
下記の変更を行うと、セーブ時の雪降り状況をロード時に再現できることを確認しました。

また、この加筆によって [snowfall] タグに [kanim] タグ用のパラメータも渡せるようになります。
ここで渡した [kanim] 用のパラメータは降る雪に即座にアニメーションとして適用され、
ロード時に復元されるようデータが保存されます。




scenario/snowfall/snowfall.ks

	
	;
	; 雪が降る プラグイン v1.6.1
	; keito http://keito-works.com/
	;
	; <導入すると、以下の機能が追加されます>
	;   画面内に、雪が降ります。
	;   (画像指定で、色々な物を降らせることも可能です)
	;
	;
	; <使い方>
	;   最初に、snowfall.ksを読み込んでください。
	;   [call storage="snowfall/snowfall.ks"]
	;
	;   開始
	;   [snowfall]
	;   開始(画像指定)
	;   [snowfall image="flake.png" minSize="5" maxSize="12"]
	;
	;   終了
	;   [snowfall_clear]
	;
	;   ※iPhoneの場合は、flakeCountを10以下にして下さい。(ただし、Android端末の場合は、3以下でも厳しいと思われます)
	;   [snowfall flakeCount="8"]
	;
	; <パラメータ一覧>
	;   image     : 降らせる画像を指定します。(画像は、data\imageフォルダに格納して下さい)
	;   flakeCount: 数 を指定します。(デフォルト:30)
	;   flakeColor: 色 を指定します。(デフォルト:'#ffffff')
	;   minSize   : 最小サイズ を指定します。(デフォルト:3)
	;   maxSize   : 最大サイズ を指定します。(デフォルト:5)
	;   minSpeed  : 最小スピード を指定します。(デフォルト:2)
	;   maxSpeed  : 最大スピード を指定します。(デフォルト:4)
	;
	;
	; <注意点>
	;   ティラノスクリプトVer2.72 で動作確認
	;
	; <使用ライブラリ>
	;   Jason Brown (Snowfall jquery plugin version 1.6)
	;   https://github.com/loktar00/JQuery-Snowfall
	;   Licensed under the Apache License, Version 2.0.
	;
	[loadjs storage="snowfall/snowfall.jquery.js"]
	[macro name="snowfall"]
	[iscript]
	$('#tyrano_base').snowfall('clear');
	if (mp.image != null) {
	    mp.image =  './data/image/' + mp.image;
	}
	if (mp.flakeCount == null) {
	    mp.flakeCount = 30;
	}
	if (mp.flakeColor == null) {
	    mp.flakeColor = '#ffffff';
	}
	if (mp.minSize == null) {
	    mp.minSize = 3;
	}
	if (mp.maxSize == null) {
	    mp.maxSize = 5;
	}
	if (mp.minSpeed == null) {
	    mp.minSpeed = 2;
	}
	if (mp.maxSpeed == null) {
	    mp.maxSpeed = 4;
	}

	$('#tyrano_base').snowfall({
	    image      : mp.image,
	    flakeCount : mp.flakeCount,
	    flakeColor : mp.flakeColor,
	    flakeIndex : 1000,
	    minSize    : mp.minSize,
	    maxSize    : mp.maxSize,
	    minSpeed   : mp.minSpeed,
	    maxSpeed   : mp.maxSpeed,
	    round      : true,
	    shadow     : false
	});
	//nameの登録
	mp.name='snowfall-flakes';
	//mpの保存
	TYRANO.kag.stat['snowfall']=$.extend({},mp);
	[endscript]
	;kanim(keyframeが指定されていれば)
	[kanim * cond="mp.keyframe!=undefined"]
	[endmacro]

	[macro name="snowfall_clear"]
	[iscript]
	$('#tyrano_base').snowfall('clear');
	//保存してあったmpを削除
	var i,j='snowfall',a=TYRANO.kag.stat,b=a[j];for(i in b) delete b[i];
	delete a[j];
	[endscript]
	[endmacro]

[return]




scenario/make.ks

	
	;このファイルは削除しないでください!
	;
	;make.ks はデータをロードした時に呼ばれる特別なKSファイルです。
	;Fixレイヤーの初期化など、ロード時点で再構築したい処理をこちらに記述してください。
	;
	[iscript]
		//snowfallの削除
		$('#tyrano_base').snowfall('clear');
		//mpの復元
		var mp = TYRANO.kag.stat.snowfall;
		if ( mp ) {
			//snowfallの復元(mpになんか入ってれば)
			$('#tyrano_base').snowfall({
			    image      : mp.image,
			    flakeCount : mp.flakeCount,
			    flakeColor : mp.flakeColor,
			    flakeIndex : 1000,
			    minSize    : mp.minSize,
			    maxSize    : mp.maxSize,
			    minSpeed   : mp.minSpeed,
			    maxSpeed   : mp.maxSpeed,
			    round      : true,
			    shadow     : false
			});
		};
		tf.mp = mp;
	[endscript]
	[kanim cond="tf.mp!=undefined&&tf.mp.keyframe!=undefined" name=&tf.mp.name layer=&tf.mp.layer keyframe=&tf.mp.keyframe time=&tf.mp.time easing=&tf.mp.easing count=&tf.mp.count delay=&tf.mp.delay direction=&tf.mp.direction mode=&tf.mp.mode]
	;make.ks はロード時にcallとして呼ばれるため、return必須です。
	[return]




使用例(下記はfirst.ks)

	
	;一番最初に呼び出されるファイル

	[title name="ティラノスクリプト解説"]

	[stop_keyconfig]

	;ティラノスクリプトが標準で用意している便利なライブラリ群
	;コンフィグ、CG、回想モードを使う場合は必須
	@call storage="tyrano.ks"

	;ゲームで必ず必要な初期化処理はこのファイルに記述するのがオススメ
	@call storage="snowfall/snowfall.ks"
	[keyframe name="rotate"]
	[frame p="0%" rotate="0deg"]
	[frame p="100%" rotate="360deg"]
	[endkeyframe]
	[snowfall image="flake.png" keyframe="rotate" minSize="10" maxSize="50" count="infinite" time="1500" easing="linear"]
	
	;メッセージボックスは非表示
	@layopt layer="message" visible=false

	;最初は右下のメニューボタンを非表示にする
	[hidemenubutton]

	;タイトル画面へ移動
	@jump storage="title.ks"

	[s]

プロフィール

著者:荻原(@tempura17654)
画像は『King Exit』(©紅唯まと)より、グイーネという登場人物。

全記事表示リンク

全記事表示リンク

検索フォーム

ブロとも申請フォーム

QRコード

QR