覚書

会話インクルード新案・続き

というわけで、先日書いた会話インクルード新案の続き。 前回未完成だったメッセージの表示部分を作成。 やはり構文解析に重点を置いただけあって、こちらは簡単に完成。処理時間の比較がめんどくさいな…。 とりあえず次はインクルードとしての完成を目指し…

会話インクルード新案

先日垂れ流していた「あらかじめ構文解析し、その後に解析したデータに従って表示」という妄想を形にしてみました。 なんだかすっごく重いです。 ああ、この間に処理しているんだなぁ、と思えるほど処理時間を体感できてしまうという、なんともお粗末なもの…

SWT/JFace ファイルの読み書き

色々とネットを放浪してみた結果、なんとかそれっぽいのはできました。 ちょうどいいサンプルが無かったもので、対象ファイル名を取得するところまではほとんどコピペなんですが、実際の読み書き部分は自分で作るはめに。 いや、それも面白くてよかったので…

Arrayコマンドのバグ?

詳しくは検証してないんでアレですが、とりあえず覚書としてここに書き残す。 Arrayコマンドの書式はこんなんですが、 Array variable string separatorvariableに指定する変数を事前にLocalコマンドで宣言していてもローカル変数にならないみたい。 ヘルプ…

Localコマンド

で、今回のバグを修正する過程でまた一つSRCの仕様について気づきました。 まず具体例を挙げときます。 Local test = "null" Local test = "ぬるぽ" talk $(test) end以上のようなコマンドを実行すると、トークウィンドウには"null"と表示されました。 Lo…

少なくとも僕にとってはかなり助かる。

もう誰かが書いてあることかもしれませんが、僕にとっては目新しいものなんで、覚書としてここに書きとめておきます。 本題ですが、ちょっとSRCのヘルプを読んでいたのです。書式の確認のために。 そして目に留まったのがコレ。 「シナリオの作成→イベン…

ItemID関数

アイテムステータス表示インクルの作り直しにあたって、以前に教わったItemID関数を導入しました。 しかしこれ、ヘルプに載ってないからいつ仕様変更になってもおかしくないんだよなぁ…。 とりあえず、インクルの作成過程で判明したアイテムIDの現在の仕様…

円形、扇形ホットポイント作成サブルーチン

というわけで、前々からなんとなく作りたくなってちまちまと作っていた、円形のホットポイントを作成するサブルーチンが一応形になったので晒してみる。 実際には円形だけでなく、扇形やドーナツ型も作れます。 いや、需要があるかどうかはわかりませんが、…

半透明フィルター

メモ代わりにここに書き込み。ちょっとしたサブルーチンです。 擬似的かつ強制的に半透明のフィルターを被せるサブルーチン。 文字通り、指定した範囲の半分に着色し、半分は着色無しで結果的な透明化。 シンプルな会話インクルードを作ろうかと企てておりま…

クイックソート

というわけで、昨日宣言しておいたクイックソートを、無理矢理ですが実装してみました。 結果、かなりの力技で組み上げたので、常用するには向かないです。特に、ローカル変数にできないtempとかtempとかtempとか。 C言語みたいにポインタが使えれば、まだマ…

バブルソート

というわけで、本日二回目の更新のお題目は「バブルソート」。 さっと40分ほどで作ってみました。なのでバグがあるかもしれないです。 え? Sortコマンドがある? 気にすんなです。 また、SRC上で無理矢理ソートしているので、かなりの力技になってます。…

文字列→数値

これってSRCの関数にあったような気がするんだけど、ヘルプから見つけられなかったので自力で編み出してみた。 まずはサンプル。 str = "02" Incr str 0こんなことをするとあら不思議。変数strの中身が数値で扱われております。 文字列に戻したいときはFo…

Dir関数

フォルダの絶対パスを引数で渡して、そのフォルダの中身をDir関数で検索。そのフォルダの中にフォルダがあれば、またそのフォルダの絶対パスを引数に渡して… を再帰的に繰り返すことでフォルダ内をサーチしようとしたところ… できませんでした。 呼び出し先…

StartBGMコマンド

StartBGMコマンドについて、ヘルプには以下のように書いてあります。 MIDIファイルfileの再生を開始します。file は戦闘用BGMと同じMidiフォルダ内に置かれている必要があります。 しかし、絶対パス、または相対パスを使うことで、Midiフォルダ以外のMidi…

Sortコマンド

※SRC本家HPのバグ報告掲示板に報告済み 前日にあれこれと騒いでいた現象は、Sortコマンドのバグによるものでした。 とりあえず以下にサンプル。 Array["Love to Peace"] = "Love to Peace" Array["Love and Peace"] = "Love and Peace" Array["Love or …

SRCにおける変数

前に僕が書いたコレについて、Unnamedさんからトラックバックが! …なるほど、僕の考察よりよほど説得力がある! 改めて自分の力不足を感じました。今度SRCのソース覗いて、変数の構造を可能な限り調べてみようかな。 ※以下の考察が思いっきり見当違いで…

異なる型の変数の比較演算

文字列型変数と数値型変数を比較すると、特定の状況下で1を返すみたい。とりあえず以下にサンプル。 選択1 = テスト If 選択1 = 0 Then talk おや? end EndifSRCはプログラミング初心者でも簡単にシナリオを作れるように、C言語などと違って(僕は今…

変数名について、大文字小文字の区別

Localコマンドを使用して、ローカル変数とした変数については、大文字と小文字が区別されるぽぃ。 Local Test = "テスト1" Local test = "テスト2" Talk Test:$(Test);test:$(test) Endとすると、見事に区別されて、"テスト1"と"テスト2"の両方が表示…

SetStatusコマンド

そして、シナリオ執筆中に気付いたこと。 あるユニットに対して、SetStatusコマンドでステータスを付加していた場合。そのユニットのメインパイロットをGetOffコマンドで降ろし、Rideコマンドで新たなパイロットを乗っけても、最初にSetStatusコマンドで付加…

そして作成中に気付いたこと

どうやら、あるユニットに対して、ChangeModeで思考モードを指定していた場合でも、そのユニットに対してChangePartyコマンドを使用すると、指定してあった思考モードがキャンセルされる模様。 まあ中立からNPCに陣営を変えるなんてそうそう無いかもしれ…