PathLink: 砂塵の彼方 > 徒然日記 > エントリタグ::CWシナリオ@サンプル&リソース

エントリー

タグ「CWシナリオ@サンプル&リソース」の検索結果は以下のとおりです。

[CardWirth] 「データバージョン4&Wsn.2混在不可例」 1.00

少し前に公開した「複数PCの名前を一度に表示するサンプル」から、データバージョン4とWsn.2の混在が不可能な例外に関する部分を切り離して、別のサンプルシナリオとして公開しました。とりあえずやったことを晒してみましたが、自分で見ても、何がしたかったのか良く分からない感じになってましたので。

分離した残りの部分は、後日、「CW1.30&1.50新機能代替サンプル(忘れられた実験室)」の一部を追加し、少し手を加えて、『名呼びサンプル詰め合わせ』に衣替えしてアップする予定です。

データバージョン4&Wsn.2混在不可例 ver.1.00
DLはこちら

[CardWirth] 「複数PCの名前を一度に表示するサンプル」 1.01

混在可能なWsn.2新機能の例を入れ忘れてました。
1つ前の記事に書いた、メッセージのセンタリングです。Wsn.2専用メニュー「混在テスト」内にあります。


複数PCの名前を一度に表示するサンプル→ver.1.01
DLはこちら

[CardWirth] 「複数PCの名前を一度に表示するサンプル」 1.00

2~3日ほど前。
だらだらとTwitterの画面を眺めていた自分の目の前を、複数PCの名前を1つのメッセージに云々……というツイートが流れていきました。
ぼんやりしていたので、詳細も、どんな流れだったかも思い出せません。半分寝ぼけた頭で、そう言えば昔は出来なくて困っていた人がいたなと、考えました。

今はNextで指定番号のPC名をメッセージに表示する特殊文字 $??Player1~6$ があるし、ステップの「特殊文字を展開」機能と合わせて使えば簡単です。
PyでもWsn.2で $??Player1~6$ によるPC名の表示ができるようになったし、ステップの特殊文字展開もあるので、Nextと同じやり方で全く問題ありません。
たぶん、以前は無理だったが簡単になったとかいう話だったんだろうな……。

と、そこで思い出したのが、HANDさんの「バージョン混在サンプル」です。
ひょっとして、NextやWsn.2対応エンジン(Py2(など))では一度に複数人の名前を呼ばせつつ、それ以外では良い感じに誤魔化した代替セリフを入れる、みたいなことができるのじゃなかろうか。

そう思ってやってみた結果、今回考えた方法では無理でした。
Next仕様との混在は可能でしたが、Wsn.2仕様を混在させた部分は上手く動きません。

【結論】

  • Nextだけ複数PCの名前を呼ぶCW1.50・Next・Py三種対応シナリオを作ることは可能。
  • Pyでもやりたければ、今のところ専用シナリオ(WSN形式)一択?

以上です。
最初にどのエンジンでも動く複数PCの名前を一度に表示するサンプルを目指して作り始めたので、そのままの名前で出してますが、今の内容では、Wsn.2で他の仕様との混在が上手くいかない例のサンプルと言った方が正確かもしれません。Next仕様との混在例としてならご利用頂けます。

※※※
上手く動かないというのは、どういうことかというと:

テスト用として作成したサンプルでは、Wsn.2対応エンジンではPackageフォルダ内にあるXML形式のパッケージが読み込まれますが、パッケージ内のセリフに含まれる文字列 $??Player1~6$ は、特殊文字として扱われません。そのため、セリフコンテントに「$??Player1$」と書いてあれば、PCの名前ではなく、そのまま「$??Player1$」と出力されます。

これは、バージョン2以降のPyエンジンが $??Player1~6$ を特殊文字として扱うかを判断する際、シナリオのサマリに書き込まれているシナリオデータバージョンを見ているためです。
XML形式のパッケージにもデータバージョンの情報は入っていますが、シナリオの土台がデータバージョン4のためサマリからシナリオのデータバージョンが読み取れず、Wsn.2シナリオと解釈されません。

ざっと見た感じでは、他にも、独自のシステム称号(@効果対象 など)周りがシナリオ側のデータバージョンチェック対象になっているようでした。クラシック形式やWsn.0、Wsn.1でも入力できてしまう部分に対しての、安全策なんでしょうかね。
一方で、Wsn.2対応ツールでXML形式で編集中でないと使えないものに関してはチェックが無いようです。簡単なところでメッセージのセンタリングを試してみたのですが、他の仕様と共存させても問題なく動きました。
(※混在ができない例外サンプルも作っています。良かったらどうぞ。)

うーん。意外な落とし穴が。
ともあれ、やってみた結果を晒します。


複数PCの名前を一度に表示するサンプル ver.1.00
DLはこちら

[CardWirth] CW用「エンジン識別サンプル」 1.06

前バージョン以降の私家版エンジンの更新に対応しました。
このサンプルは、これでだいたい完成です(今後大きな変化があれば別ですが)。


[現時点で識別可能なエンジン]
正規版
・CW1.20/1.28/1.29/1.30/1.50
私家版
・CardWirthNext1.60
・CardWirthPy(Reboot)0.12.1/0.12.2/0.12.3/1/1.1


エンジン識別サンプル→ver.1.06
・CardWirthPy0.12.3、1、1.1の識別に対応
DLはこちら

[CardWirth] 【重要】サンプルシナリオ中のカードデータ・素材について

サンプルシナリオに含まれるカードデータの利用に関して、拍手コメントでお問い合わせ頂きました。大事なことなので、エントリの方で返信させて頂きます。

お問い合わせは、サンプルシナリオに含まれる技能やアイテムなどのカードをリソースとして利用可能かということでしたが:

────────
当サイトのサンプルやリソースは、イベントの組み方説明を目的としたものです。
配布パッケージに含まれるカードデータや画像・音声・楽曲などの利用はご遠慮ください。
(※readme.txtなど他の付属テキストで利用を許可している場合は除きます。)

なお、サンプルシナリオ、リソースシナリオとは、シナリオに付属するreadme.txtの「形式」の項に「サンプルシナリオ」または「リソースシナリオ」と記載されているシナリオを指します。
────────

切り貼り用として準備したイベントデータ(例えばCW1.30/1.50新機能代替サンプルなら「2_素材庫」フォルダ内のエリアやパッケージのイベントビュー内容や環境変数)を、あなたのシナリオにコピー&ペーストして頂くのは全く問題ありません。

ただ、カードや素材には自作ではないものも含まれるため、インポートや素材の抜き出しも可とすると、何かの手違いで自作以外のものが使われてしまう可能性が生じます。あなたが大丈夫でも、次の、またその次の誰かがということを考えると、最初から使えない設定にしておいた方がより安全と考えました。
また、使い方に「あなたのシナリオにコピーして下さい」などと書いていないものは、そもそも動作見本専用に作成していて、他での利用を想定していません。

そのようなわけで、すみません。考えましたが、この結論になりました。
後日、サイトに掲載している規約文書やシナリオ付属のテキストにも反映させます。


(5/30追記)
「配布物の取扱いについて」を更新しました。

[CardWirth] CW用「エンジン識別サンプル」 1.05 不具合修正

CardWirthPy v.0.12.2(Reboot) 正式版の識別に対応しました。

これまでPyの識別に使っていたCW1.50との仕様の違いが0.12.2正式版で無くなったため、当サンプルの過去バージョンでは正確な識別ができなくなっています。お手数ですが、本日公開の最新版(v.1.05)を新たにダウンロードして頂きますようお願い申し上げます。

Py0.12.2正式版でCW1.50に合わせられた点については、1つ前の準備メモに書いています。
興味がある方は、そちらも併せてご覧ください。


[現時点で識別可能なエンジン]
正規版
・CW1.20/1.28/1.29/1.30/1.50
私家版
・CardWirthNext1.60
・CardWirthPy(Reboot)0.12.1/0.12.2


エンジン識別サンプル→ver.1.05
・CardWirthPy0.12.2正式版の識別に対応
DLはこちら

※※※
その他、修正過程で新たに分かった事などを、メモ箱の関連記事に反映させました。
私家版エンジンの識別方法 / CW1.50の対象消去バグについて

[CardWirth] CW用「エンジン識別サンプル」更新のためのメモ

CardWirthPy バージョン0.12.2の正式版が公開されていたので、拙作「エンジン識別サンプル」が正しく動くかどうか確認しました。サンプルは各エンジン各バージョンの正式版が識別できる事を目指していますので、これで問題なければそのまま公開を続けられます。

しかし、識別の結果は「CW1.50」でした。
同行NPCの称号が、クーポン分岐で検出できなくなったようです。これは困った──

と思ったら、ChangeLog.txtに「称号判定分岐でCardWirthPyのバージョンを判別できるようにした」の一文が。課題一覧にそんな話が出ていましたが、正式版で実装されていました。CW1.29の「@MP3」と同じく、エンジンバージョンを示す@称号を実際の所持状況と関係なく検出できるとのことです。

ということは:

  • Py0.12.1は、これまで通りクーポン分岐による同行NPCの称号検出で見分ける。
  • Py0.12.2以降は、称号「@CardWirthPy Version.0.12.2」が検出できるかどうかで見分ける。仮想クーポンが実装されたバージョンを指定しておけば、その後全てのPyをPyと識別可能。
    バージョンについては、各バージョン毎に設定される「@CardWirthPy Version~ Only」で見分ける。

とすればPy0.12.2正式版対応は完了、のはずです。
これから修正に取りかかります。

※※※
CW1.50と識別されるようになった原因は何なのか、ChangeLog.txtで探しましたが、影響していそうな項目は見当たりませんでした。

クーポン分岐に関連する変更には「クーポン選択分岐やカード所持分岐で対象がいなかった場合の挙動をCardWirthに合わせた」がありますが、直前の0.12.2 RC3までは同行NPCの所持称号で選択して、効果コンテントによる各種状態の変更や称号やカードの付与ができていましたので、「対象がいなかった場合」にはあたりません。

他に可能性があるかもしれないのは「フィールド全体で対象を選択した時、選択中のメンバが優先選択される」ですが、これは前段階で別の手段によって同行NPCが選択できている前提の話になり、クーポン分岐から開始する実験で必ず指定称号を持っているNPCが選択されるのとは、違う現象のようです。

ともかく、0.12.2 RC3→0.12.2正式版の更新で、同行NPCが持っている称号をターゲットにクーポン分岐を行っても、必ず失敗するようになりました。そこは間違いありません。

※※※
CWPy0.12.2正式版における変更点の1つに、「CardWirth 1.50では同行キャストに対象消去の効果が無いため、それに合わせた」がありました。これは、Nextの見分けに使っている、対象消去後のNPCをランダム選択で選択可能なバグと関連する部分です。
どのように修正されたのか、実際を見てみたところ、以下のような結果になりました。

CW1.50では対象消去した同行NPCを(が):
・キャンプで閲覧できる→Py0.12.2も同じ
・キャスト存在分岐で検出できる→Py0.12.2も同じ
・ランダム選択で選択できる→Py0.12.2も同じ
・戦闘では動かない→Py0.12.2では戦闘中も動いている

CW1.50で戦闘中の行動が封じられているところ以外は、同じ動きになっていました。
対象消去後のNPCの動きついてメモ箱に書いた部分も、サンプルと同時に修正予定です。


【!】同行NPCを消したければ「キャスト離脱」で!
サンプルとは関係ありませんが、大事なことなので書いておきます。

対象消去後のNPCの扱いについては、現在存在するエンジンの最新版全て(CW1.50、CWNext1.60、CWPy0.12.2)に明らかにバグと思われる動きが存在します。
また、対象消去後の挙動が、CW1.50と各私家版で異なっています。
(→詳細

ストーリー的に対象消去が正しい(例:パーティーに取り憑いた幽霊が聖なる力で祓われるなど)場合でも、キャスト離脱で離脱させた方が無難です。

[CardWirth] CW用「エンジン識別サンプル」 1.04 不具合修正

前バージョンまで、Pyが互換モードで動作中は、正しく識別ができませんでした。

  • CW1.28を時限称号への対応で見分ける場合、確認した全てのバージョンがPy0.12.2 (Reboot)と識別されていた。
  • CW1.28を状態異常判定バグの有無で見分ける場合、確認した全てのバージョンがCW1.20と識別されていた。

これは何故かというと、「互換モード=互換指定したバージョンと全てにおいて同じ動きをする」のではないからです。前回更新時は、その詳細について詳しくは調べていませんでした。

今回、サンプル内で識別に用いている仕様の差やバグについて、1つずつ互換モードでの動きを確認しました。
以下は、その結果です。

【互換モード時、指定したエンジンの動きが再現されたもの】

  • CW1.20の状態判定分岐バグ(中毒が麻痺/石化の判定に引っかかる類のあれ)


【互換モードでも通常モード時と同じ動きだったもの】

  • 時限称号の時間経過による消滅
  • 仮想システムクーポン「@MP3」の検出
  • CW1.30以降の状態判定分岐の拡張分(少なくとも混乱と沈黙は互換設定によらず検出可能)
  • CW1.20の、睡眠者に絶対成功(成功値修正+5)で攻撃した場合、対象が目覚めないバグが修正済み


【そもそもCW1.50とは挙動が異なっているもの】

  • 対象消去した同行NPCをランダム選択で選択できない(※CW1.50に合わせて、できるように修正されるようです)
  • フィールド全体対象のクーポン分岐で同行NPCの称号を検出可能


互換モードで何が変わるのか細かく調べれば、どのエンジンに互換の設定で動いているのか判別可能かもしれませんが、今のところやるかどうか未定です。
互換モードの使い道を考えてみると、

プレイヤーが最新エンジンでは不具合が出るシナリオを遊ぶ際に利用
→シナリオに何かしなくても、適切に互換設定すれば多分動く。

シナリオ作者が過去の仕様やバグを利用したシナリオを作る際に利用
→こちらも互換設定が適切なら恐らく問題なく、Pyであることが判別できれば十分。
→正規版やNextに対しては、対応していない時メッセージを表示するなどの対応が可能。

なので、互換の設定まで見分けなくて良いようにも思います。


[現時点で識別可能なエンジン]
正規版
・CW1.20/1.28/1.29/1.30/1.50
私家版
・CardWirthNext1.60
・CardWirthPy(Reboot)0.12.1/0.12.2


エンジン識別サンプル→ver.1.04
・CardWirthPyが互換モードで動作中も正しく識別できるよう修正
DLはこちら

※※※
修正過程で新たに分かった事を、メモ箱の関連記事に反映させました。

[CardWirth] CW用「エンジン識別サンプル」 1.03 Py(Reboot)のバージョン識別に対応

前回更新時(一昨日)の日記の最後に書いたことを、シナリオに反映させました。


(1)CardWirthPyのバージョン0.12.1 (Reboot)がダウンロード可能なのを発見
→Pyのバージョン識別を追加しました。

サンプルのバージョン1.02はエンジンバージョンの違いを考慮していませんでしたが、これを0.12.1 (Reboot)は「Py0.12.1 (Reboot)」、0.12.2β1 (Reboot)と0.12.2 RC3 (Reboot)は「Py0.12.2 (Reboot)」と判定されるようにしました。

※Nextは現在1.60のみなのでバージョン識別はなしですが、今後新しいバージョンが出たら対応予定です。


(2)CardWirthPyのが互換モードで動作中、識別結果がどうなるかを調べ、使い方説明書に追加しました。

互換モードであろうとPyと判定された方が良いのか、互換指定されたエンジンと判定された方が良いのかで迷い、今回は情報の追加だけです。


[現時点で識別可能なエンジン]
正規版
・CW1.20/1.28/1.29/1.30/1.50
私家版
・CardWirthNext1.60
・CardWirthPy(Reboot)0.12.1/0.12.2


エンジン識別サンプル→ver.1.03
・CardWirthPyのバージョン見分けに対応
DLはこちら

※※※
サンプルシナリオ更新の過程で調べた事は、メモ箱の関連記事に反映させました。

[CardWirth] CW用「エンジン識別サンプル」 1.02 微調整

きっかけは、Pyの細かい更新内容を見ようと付属のChangeLog.txtを開いたことでした。ファイル先頭に、「2014/11/01 ver.0.12.2β1 (Reboot)」の一行が。
実は、それまでReadMe.txtを見て、バージョンは0.12.1だと思っていました。当サンプルの前バージョンまで付属テキストにPyの対応バージョンは「0.12.1」だと書いていたのは、「0.12.2」が正しかったわけです。

さらに、念のため配布元を確認したところ、今月初めに更新されていたことが分かりました。
現在最も新しいのは、ver.0.12.2 RC3 (Reboot)のようです。こちらもサンプルで識別を行ってみて、「Py」と判定されることを確認しました。

【Pyについて】
0.12.2 RC3も0.12.2β1と同じに識別できるか確認し、確認できたので、識別結果を保存するステップの値を「Py 0.12.1」としていたものを「Py」と変更しました。

【Nextについて】
Nextの方も、ランダム選択の修正が何時行われたのか、付属テキストの更新履歴を見てみましたが、そこまで詳しくは書いてありませんでした。他にそれらしい項目が無いので、Ver.1.6.0.8の「その他細かいもの多数」の中に含まれているのかもしれません。
もしランダム選択の修正が1.6.0.1より後なら、Nextの初期版は正しく識別できない事になります。


開発段階の版の違いまで考えると、大変な事になりそうです。
それぞれ正式版(正式版が出ていない時は開発段階の最も新しいバージョン)を識別できれば良しということにしておきますか、、、。

[現時点で識別可能なエンジン]
正規版
・CW1.20/1.28/1.29/1.30/1.50
私家版
・CardWirthNext(v.1.6.0.14)
・CardWirthPy(v.0.12.2)


エンジン識別サンプル→ver.1.02
・CardWirthPyの新バージョンに対応して調整
DLはこちら

※※※
そして、更新が終わってから0.12.1がまだダウンロードできることと、互換モードなる機能の存在に気付く──……。このサンプル、まだまだやる事が残っているようで。

ページ移動

  • ページ
  • 1
  • 2

ユーティリティ

2018年12月

- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

エントリー検索

エントリー検索フォーム
キーワード


翳の回廊(絵置き場)の一部を
TINAMIのスペースに置かせて頂いています。

pixivでも何かやっている……かも。

新着コメント

Re:Re: CWBBS[26]-14
2015/06/23 from simoom
Re:Re: CWBBS[26]-14
2015/06/22 from ああ
Re:Re: CWBBS[26]-14
2015/06/22 from simoom
Re:Re: CWBBS[26]-14
2015/06/21 from 権限がありません
Re:Re: CWBBS[26]-14
2015/06/21 from あ

過去ログ

Feed