インクルリズム @ Wiki内検索 / 「イベントラベル呼び戻し」で検索した結果

検索 :
  • イベントラベル呼び戻し
    イベントラベル呼び戻し サブルーチンにイベントラベルの名前を渡すことによって、その処理の 一部をサブルーチンの利用者側から変化させることが出来ます。 サンプル スタート Call RangeCallback 5 quot;Output quot; Wait Click Exit // 単に引数を表示する Output PaintString Args(1) Return // 1~Args(1)の範囲の数値を引数にしてArgs(2)を呼び出す RangeCallback Local n = Args(1) Local func = Args(2) Local i For i = 1 to n Call quot;$(func) quot; i Next Return このように表示されます。 1 2 3 4 5
  • トリビアテクニック
    ...イベントラベル全般 イベントラベル呼び戻し ユニットコマンドイベント 変形イベント イベントコマンド関連ForEachコマンド GoToコマンド Optionコマンド Requireコマンド 無限ループ Localコマンドとスコープ 関数関連ヘルプに載っていない関数 ファイルのインクルード 対象ユニットIDの省略 ダミーデータ ファイル検索 ファイルからデータを読み取る 戦闘中の行動で成長するユニット 撃墜数ランキング
  • イベントラベル全般
    イベントラベル全般 イベントラベルの引数はイベントの種類によって様々だが、大抵の引数に「全」を指定することが出来る。(全てのイベントラベルについて試したわけではない…) 例:"使用 全 全 " このように記述すればユニットが何か行動を起こすたびに、それらの発生を全て拾ってくれます。 イベントラベルの指定に限界を感じたら、とりあえず「全」を指定してみるといいかも。
  • GoToコマンド
    GoToコマンド シナリオ中でGoToコマンドを実行すると、指定したラベルへと移動することができます。 コマンド名からしてその流れは一方通行のようですが、Returnコマンドで戻ってこれます。その後も何事も無かったかのように動作します。 もちろんExitで終了しても問題なし。 引数の無いCallコマンドとでも言うべきでしょうか。 しかしGoToコマンドはCallコマンドと違って、イベントラベルとして定義されているラベルへも飛ぶことが出来ます。 結局、GoToコマンドはイベントラベルへの移動特化、Callコマンドは通常ラベルへの移動特化として使い分けたほうが混乱も無くていいですね。 追記 Date 06/09/21 本来サブルーチンは「呼び出される→Returnコマンドが実行され、呼び出された場所へ戻る」というのが普通の動作だが、適当な...
  • ユニットコマンドイベント
    ユニットコマンドイベント ユニットコマンドイベントのコマンド名には変数を指定することが出来る。 以下のようなラベルを記述し、コマンドを実行すると、コマンド名が1,2,3,...と増えていくのがわかる。 サンプル ユニットコマンド "$(test)" "味方" Incr test Exit
  • Requireコマンド
    Requireコマンド Requireコマンドでイベントファイルをロードすると、ファイル中に書かれている各種ラベルが有効になる。 これは通常ラベル(サブルーチン)だけでなくイベントラベルも同様なので、これを活用することでGジェネのようなマルチシナリオを作成することが可能。 // サンプル1 [Requireテスト1.eve] *プロローグ Require "Requireテスト2.eve" Exit // サンプル2 [Requireテスト2.eve] プロローグ Talk テスト2のプロローグです end Exit スタート Talk テスト2のスタートです end Exit 以上のように記述するとプロローグ、スタートイベントがともに実行される。 Requireテスト1.eveを改造すれば複数ファイルから一つ選択し、それをプレイす...
  • 変形イベント
    変形イベント SRCのヘルプでは、変形イベントの書式は次のようになっている。 変形 unit name しかし、陣営などを指定しても変形イベントはフックできる。 例 味方の変形をすべてフックする 変形 "味方" "全" すべての変形をフックする 変形 "全" "全"
  • 移動可否チェックインクルード
    移動可否チェックインクルード ダウンロード DownLoad 更新履歴 2008/3/20:v06オプションによるZOCに対応していなかったのを修正 2008/3/14:v05さらにデバッグ@地形に関する処理 2008/3/13:v04マヌケなアルゴリズムを修正 2008/3/13:v03バグ修正(地形クラスが動的に変化するあたり) 2008/3/11一部バグ修正(デバッグ用関数、移動コスト計算関数) 2008/3/7とりあえず公開 解説 対象のユニットが移動できる範囲を算出するインクルードです。 とりあえずアップロード。Readmeはそのうち書きます。 使用方法 準備上のリンクからzipファイルをダウンロード、解凍してできた「移動チェック」フォルダをLibフォルダに移動する。 ファイルをインクルードLibフォルダ内のinclude.eve(なければ作成する)に「 Lib\...
  • 拡張母艦
    拡張母艦 ver1.7 Download 機能 基本機能 ユニットが拡張母艦能力を持つユニットに隣接したとき、その拡張母艦にユニットを格納できる。拡張母艦から出撃することができる。 拡張母艦にユニットが格納されているとき、HPやENなどが回復する。詳細はオプションの項目を参照。 デフォルトで拡張母艦能力、ユニット用特殊能力「母艦」を持つユニットは格納できない。ただし、オプションで格納可能にすることができる。 ユニット用特殊能力「格納不可」を持つユニットは格納できない。 母艦から出撃した直後のユニットをクリックすると「出撃キャンセル」コマンドが現れ、選択することで母艦に戻ることができる。 「出撃キャンセル」コマンドは出撃したユニットとは別のユニットをクリックしたり、ターンが経過すると無効となる。 ユニットIDが変わる操作 対応コマンドUpgrade代わりに...
  • フレーム作成
    フレームを作ろう by Lucied ステータス表示系インクルードでまず悩む点は、ステータスを表示するフレームを作ること。ウインドウ、と言ってもいいかもしれない。 SRC描画領域の中にフレームを作り、その中にステータス関連を色々と表示していくのがステータス表示系インクルの基本です。 基本なんですが、しかしこれが中々難しい。 僕も今使っている技法を確立するまではかなり悩みました (5,5)から(105,105)にかけてフレームを作ってみようと思います。 まず思いつく方法は、Lineコマンドを使って四角い枠を作ること。 せっかくなので、フレームには背景色も付けましょう。例えばこんな感じ。 Line 5 5 105 105 BF #000032 Line 5 5 105 105 B #7878ff しかしこれを実行してみても、 枠はなんとか見えてる状...
  • ファイルのインクルード
    ファイルのインクルード ファイルのインクルードに関する豆知識です。 まず、これを見てください。SRCヘルプからの引用です。 SRCヘルプより 「シナリオの作成→イベントデータ→ファイルの取り込み」 ファイルのインクルードを行うには次のように指定します。 書式 lt;ファイル名 gt; 例 lt;Event\画像処理.eve gt; SRCは上の行の場所に指定したファイルの中身がそのまま書かれているものとみなしてイベントの実行を行います。 つまり例を挙げてみると、以下のような2つのファイルがあったとします。 $ scenario.eve スタート lt;include.eve gt; Exit $ include.eve Talk quot;include.eve quot;がインクルードされました。 End これはつまり、ファイルに以下のように書...
  • 対象ユニットIDの省略
    対象ユニットIDの省略 各種イベントコマンドにおいて、「対象ユニット」が対象となるコマンドではユニットIDの省略が出来ますが、同様のことが関数においてもできます。 ※例 Item(対象ユニットID, 1) ↓ Item(1) IsAvailable(対象ユニットID, "分身") ↓ IsAvailable("分身") ただ、省略せずにきちんと記述したほうが、後で見直すときにわかりやすいです。 インクルードならなおさら。過剰な省略は、しばらく経ってから見直すときに訳が分からなくなります。
  • 変形先ユニットIDリストを作成する
    変形先ユニットIDリストを作成する 変形能力を持つユニットを作成したとき、変形先ユニットも同時に作成される。 このとき、当然変形先ユニットには異なるユニットIDが割り振られるが、イベントコマンドなどで直接それらのIDを取得できない。 あるユニットから変形先ユニットへの変形テーブルを構築するサブルーチンは次のように実装できる。 サブルーチン 詳細 あるユニットID「UnitID」を持つユニットの変形先の数を 変形テーブル[UnitID] = 変形先の数 という形式で格納し、そのうちのi番目の変形先ユニットのユニットID「TargetID」を 変形テーブル[UnitID, i] = TargetID という形式で格納する。 コード 変形テーブル構築 Local _UnitID = Args(1) Local _PilotID = ...
  • ボタン作成
    ボタンを作ろう ここでは「ボタン」の作り方を解説していこうと思います。 ユニットステータス表示画面の右上にあるよう「終了」のようなものです。 前回のフレームを作ろう フレーム作成?を参考に、最終的には一つの通常ラベルとなるように作っていきます。 まずボタンの形を決めましょう。 ここでは、座標(5,5)に幅100ピクセル、高さ30ピクセルのボタンを作成することにします。 外観はフレームを作ろう フレーム作成?で作成したフレーム描画用サブルーチンを流用し、以下のようなコマンドでサクッと作ります。 makeFrame 5 5 105 35 すると以下のようになります。 次に「終了」という文字列を先程作成したフレームの中に書き込んでみましょう。 文字列はPaintStringコマンドと使って書き込みますが、どうせならフレームのちょ...
  • ZOC影響範囲を求める
    ZOC影響範囲を求める ダウンロード DownLoad 更新履歴 2008/3/20オプションによるZOCの指定に対応 解説 ZOCの影響下にある座標を求めるサブルーチンです。 上のファイルをインクルードし、サブルーチン"mvcheck_checkZOC"を実行すると、"mvcheck_ZOC_area[x, y] = ZOCレベル"という配列変数を作成します。 デバッグ用サブルーチン"mvcheck_debug_printZOC"を呼び出すと、ZOCを持つユニットを中心に各座標のZOC影響レベルをマップ上にプリントします。 ZOCに関するメモ Option "ZOC" オプションによってZOCを指定した場合、すべてのユニットに「ZOCLv1=ZOC 1」相当の能力が付加されている。 ...
  • ホットポイント活用術
    ホットポイント活用術 まず、ホットポイントは以下のようなコマンドです。 HotPoint name X Y width height [caption] このコマンドによって指定した範囲にマウスでクリック可能なエリアを作成します。 そしてクリックしたホットポイントの「name」がシステム変数「選択」に代入されます。 これだけ見ると「name」には一つのデータしか指定できないと思ってしまいますが、SRCには「リスト処理関数」というものがあります。 このリストを活用することで、一つのホットポイントにも様々なデータを持たせることができ、またそのデータの参照も簡単に行えます。 リストの形式ですが、SRCヘルプには以下のように書いてあります。 SRCヘルプ:目次 シナリオの作成 関数 リスト処理関数より引用 複数の要素が空白と括弧で区切られた文字列をリストと呼び...
  • ヘルプに載っていない関数
    ヘルプに載っていない関数 ヘルプに載っていないけど使える関数を紹介。 使う場合は仕様変更で消える可能性もあることを念頭に置いて下さい。 ItemID関数もですが、これは詳しく書かれているのでそちらへ。 SRC Ver.2.2.33 にて動作を確認。 Asc関数 書式:Asc(文字) 指定された文字列内の1文字目のANSIコードまたはシフトJISコードを返す。 使い道はChr関数で使う番号を調べるくらい。 Chr関数 書式:Chr(番号) 指定されたANSIコードまたはシフトJISコードに対応する文字列を返す。 Chr(13) Chr(10) で改行文字になります。 これを使えばConfirm等で自由に改行することが可能です。 LCase関数 書式:LCase(文字列) アルファベットの大文字を小文字に変換する。 Tr...
  • パイロットリストを作成する
    パイロットリストを作成する 指定のソートキーによってソートされたパイロットのリストを作成するサブルーチンです。 複数のキーによる複合ソートが可能で、「回避 + 運動性」の場合は「(回避 運動性)」(SRCリスト形式)と引数に指定します。 MakePilotList // ソートキーのデータを取得する Local _pilot _lnum i _templist _skey ForEach _pilot In パイロット一覧(レベル) // 味方以外はスキップ If (Party(_pilot) != "味方") Then Skip EndIf _templist[_pilot] = 0 // 初期化 _lnum = LLength(Args(1)) For i = 1 t...
  • ForEachコマンド
    ForEachコマンド 書式3について ForEach variable In パイロット一覧(mode) commands Next この書式でForEachコマンドを実行した場合、 敵味方、ユニットに搭乗しているか否かを問わず、存在している全てのパイロットが参照される グループIDが指定されている場合、"$(グループID) $(生成番号)"生成番号:同じグループIDを持つパイロットの中で、何番目に生成されたか。一番初めに生成されたパイロットについては" +番号"が付かない。(グループID名だけが割り振られる) グループIDが指定されなかったザコパイロットの場合、"$(パイロット名)_$(ID番号)"ID番号:全体を通してそのパイロットが生成された順番。 サンプル Create 味方 ガン○ム 2 アム□=レイ...
  • 経験値を手動で算出する
    経験値を手動で算出するサブルーチン ここに書くと見難くなるのでファイルをアップしました。 経験値算出サブルーチン GetExp SP名称がわからないと、SPがかかっているのか判定できないので、 SP効果の取得は強引に行っています。 ついでにレベル差の経験値修正が短く纏められたので纏めておきました。 ※未完成品。そのうち修正します。 以下はSRC内部での処理をそのままトレースしたものです。 以下のサブルーチンに「素質」や「遅成長」やSPなどの効果を絡める処理を加えれば完成です。 // 引数:PlayerUnitID EnemyUnitID 経験値算出 Local _Exp _LevelDiff // 素経験値を取得 _Exp = Info(Pilot(Args(2)), "経験値") + Info(Args(2), &...
  • ユニットの移動力を求める
    ユニットの移動力を求める 解説 「追加移動力」能力を考慮した、ユニットの移動力を求めるサブルーチンです。 引数は対象ユニットのID。 ソースコード // @param Args(1) UnitID // 移動力を求めるサブルーチン mvcheck_getMovePoint Local _UnitID = Args(1) Local _uArea = Area(_UnitID) // Unitが今いるエリア Local _mpoint i _level _area   _mpoint = Info("ユニット", _UnitID, "移動力")   // "追加移動力"能力を持っていたら If (Info("ユニット&quo...
  • ユニットリストを作成する
    ユニットリストを作成する 特定のキーによってソートされたユニットリストを作成するサブルーチンです。 複数のキーによる複合ソートが可能で、「回避 + 運動性」の場合は「(回避 運動性)」と引数に指定します。 // 指定されたパラメータでソートしたユニットのリストを作成する // Args(1) ソートキー MakeUnitList // ソートキーのデータを取得する Local _UnitID _templist i _lnum ForEach quot;味方 quot; (出撃 待機 格納) _UnitID = 対象ユニットID // 対象ユニットIDを変数に記録 _templist[_UnitID] = 0 // ソート用の一時変数に格納 _lnum = LLength(Args(1)) For i ...
  • 会話インクルードのアルゴリズムA-2
    タグを処理するアルゴリズム アルゴリズムのスケルトン 会話インクルードのアルゴリズムA-1?からの続きです。 タグを処理するアルゴリズムの一つを紹介。 Talkコマンドにおいてタグはフォントの変更にのみ使われるので、タグの開始地点が見つかったら(" "が見つかったら)、そこを基点に一気にタグのデータを取得し、解析してフォントを変更します。 メッセージウィンドウ内で使われる標準フォントも変更できるように、標準フォントを変数に記録しておきます。 こうすることでシナリオ作者が標準フォントを自由に簡単に設定できるようにします。 TalkInclude // タグデータの開始地点を示す Local _TagStart // タグデータを記録する Local _TagData Do While (ptr lt;= MessLen) Swi...
  • ステータス表示系テクニック
    ステータス表示系テクニック ステータス表示系インクルを作るときのテクニック by Lucied フレームを作ろう フレーム作成? ボタンを作ろう ボタン作成? ホットポイント豆知識 ホットポイント活用術?
  • 汎用サブルーチン
    汎用サブルーチン 出来合いのサブルーチンがあります。 ユニット移動関連ZOC影響範囲を求める ユニットの移動力を求める ユニット間の角度を求める 経験値を手動で算出する 擬似スクロールバーを作成する データリストアップユニットリストを作成する パイロットリストを作成する 変形先ユニットIDリストを作成する 特殊状態「被カウンター」 コメント欄 名前 コメント
  • 汎用テクニック
    汎用テクニック インクルード製作時に役立ちそうなテクニックを記載していきます。 ステータス表示系テクニック ステータス表示系インクルを作るときに役立ちそうなテクニック。 会話インクルード関連テクニック 会話インクルードを作るときに役立ちそうなテクニック。 アイテム関連テクニック アイテムの扱いに役立ちそうなテクニック。 トリビア トリビアテクニック? 知らなくても良さげなどうでもいい知識群。 コメント欄 名前 コメント
  • インクルード
    インクルード分類一覧 ステータス表示系 ○○ステータス表示インクルードといった、あるデータのステータスを表示するインクルードをまとめたページです。 会話インクル系 会話インクルードのページです。 特殊システム系 ある作品の特徴的なシステムを再現したものなど、SRCの戦闘に関与するインクルードのページです。 シナリオ作成支援系 シナリオの作成を簡単にするインクルードのページです。 独自戦闘アニメ系 オリジナル戦闘アニメのページです。 その他 どこに分類したらいいかわからないインクルードのページです。 コメント欄 名前 ...
  • Lucied式会話インクルード
    Lucied式会話インクルード DownLoad 概要 一般的な会話インクルードです。 実装機能 SRCのTalkコマンドで使えるタグがそのまま使用できます。 上記のタグに加えて、「 family=フォント名 /family 」という独自タグを実装。フォントも変更できちゃいます。 上段中段下段+左右の表示位置切り替えが可能。 メッセージ表示速度をコマンド単位で変更可能。 マップコマンドでメッセージ表示速度を変更可能。(こちらが最優先されます。) 2つのウインドウで同時にメッセージ表示可能。 表示名を自由に変更できる。
  • 会話インクルードの傾向と対策
    会話インクルードの傾向と対策 傾向 会話インクルードがTalkコマンドの代わりである以上、最低限Talkコマンドと同等程度の機能は必要となってきます。 Talkコマンドの機能としては";(セミコロン)"による改行や、" (コロン)"による分割表示などがありますが、とりわけタグによるフォントの適時変更などが代表的なものではないでしょうか。 このタグの実装はなかなかに手間です。 そのタグによるフォント変更を実装するに当たって、メッセージを前から順に一文字ずつ表示していき、タグが現れたらそこでフォントを随時変更、という方法が思いつきます。 公式リンクに登録されている会話インクルードをいくつか拝見させてもらったところ、全ての会話インクルードにおいてこの手法が採られていました。 しかしこの手法は同時に、巷で最も忌避されて...
  • LTalk2::Font
    LTalk2 Font フォントをインクルードで制御する。 // フォントを初期化する LTalk2_Font_init LTalk2_Font["Size"] = 10 LTalk2_Font["Family"] = "ゴシック" LTalk2_Font["Weight"] = "00"// 左から順にBoldフラグ, Italicフラグ。Regularが"00" LTalk2_Font["Color"] = "#000000" Return   // getter LTalk2_Font_getSize Return LTalk2_Font["Size"] LTalk2_Font_...
  • LTalk2::SplitMessage
    LTalk2 SplitMessage 文字列を、指定した幅の中に納まるように分割するサブルーチン。 タグによる動的なフォント変更もサポートする    Now printing...  
  • Createコマンドの位置調整を省力化
    Createコマンドの位置調整を省力化 DownLoad 概要 シナリオ作成者向けのインクルです 製作中のシナリオにインクルードする事で 次の機能を持つマップコマンドが実装されます 出撃中のユニットをつまんで任意の座標へ移動させる そのユニットを Create する構文をテキストに出力する その構文をコピペすれば敵ユニットの出現位置の微調整を ドラッグ&ドロップで手早く感覚的に行えます。サンプル付き 名前 コメント
  • ユニット間の角度を求める
    ユニット間の角度を求めるサブルーチン ある2つのユニット間の角度を求めます。 第一引数に指定されたユニットを原点とし、そのユニットの右側が0度、反時計回りに角度が増加していきます。 # 書式:getDegree(UnitID, UnitID) # Args(1)を原点にArgs(2)に対する角度を求める。 # 右を0°とし、反時計回りに増加する。(0~360) getDegree Local wx1 wy1 wx2 wy2 # 対象ユニットの座標をピクセルで取得 wx1 = WX(Args(1)) wy1 = WY(Args(1)) # 相手ユニットの座標をピクセルで取得 wx2 = WX(Args(2)) wy2 = WY(Args(2)) # タンジェントを求める Local tanj = (wx1 - wx2) / (wy2 - wy1) # ラジアンに直す...
  • LTalk2::LTalk2開発プロジェクト
    LTalk2開発プロジェクト 前書 どうせあまり更新はないし、管理者権限でここを利用。 途中で飽きてほっぽりだすかも。 目的 必要な表現ができ、なおかつストレスなく使える会話インクルードの作成。 想定機能 1.Talkコマンド互換のタグ 独立したフォント管理 2.自動改行 文字列を指定幅で分割 3.同時会話 4.会話メッセージのデータは別ファイルに保存する // 例 スタート ChangeMap Map\~.map   // 一連のメッセージの1つ目を表示 LTalk2 "Talk\Scenario01\talk_1.txt"   // 会話の合間に爆発を表示 Explode L   // 一連のメッセージの2つ目を表示 LTalk2 "Talk\Scenario01\talk_2.txt" Ex...
  • 撃墜数ランキング
    撃墜数ランキング 撃墜数ランキング作成のサンプルを置いておきます。 ここから色々と弄くって自分好みのものに仕上げるといいでしょう。 // 撃墜数の記録に使う変数のグローバル宣言 // シナリオ内で1回宣言すれば、それ以降は必要ないです // 別に必要でなければ削りましょう *プロローグ // ヘッダは「Destruction Number Ranking Include」の略 Global DNRI_撃墜数 Exit // 敵を破壊したら、破壊したパイロットの撃墜数をインクリメントする *破壊 敵 *破壊 中立 // 破壊したユニットのID Local _UnitID = 相手ユニットID // 味方が破壊したのでなければ終了 If Party(_UnitID) != quot;味方 quot; Exit // 念のためにパイロットIDをインデックスに指定 //...
  • 会話インクルードのアルゴリズムA-1
    アルゴリズムのスケルトン 会話インクルードの一般的なアルゴリズムを紹介したいと思います。 あくまでメッセージ表示のアルゴリズムに焦点を当てて解説していくので、パイロット画像やインターフェース画像の表示については詳しくは触れません。 ※以下、「メッセージを一文字ずつ表示する」という動作を「メッセージ流れ表示」と勝手に呼称します // サブルーチン名は自由に変更してください // 引数には以下のようなものが指定されていると仮定して // 処理をトレースしていきます // Args(1) パイロット名 // Args(2) メッセージ TalkInclude // メッセージを変数に格納しておく // わかりやすい名前の変数に入れておいたほうがわかりやすいです Local mess = Args(2) // 表示メッセージの文字数を取得 // これをキー...
  • @wiki全体から「イベントラベル呼び戻し」で調べる

更新順にページ一覧表示 | 作成順にページ一覧表示 | ページ名順にページ一覧表示 | wiki内検索

目安箱バナー