したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

Elonaのテキスト改造版を作ってみた

210異形の森の名も無き使者:2013/01/16(水) 22:38:06 ID:XzqgVtLk
>>207
ご回答ありがとうございます。
始めに顛末からなのですが、今までいろいろと試していたADDT用のelonaフォルダを
放棄して、新しく親elonaフォルダ(オバホを主に使用)をコピーして試してみたらDialogを1分くらい連続で
試行しても落ちることはありませんでした、今まで更新のたびに(他の方が作られた緊急mod版含めて)
使いまわしていたものなので、そういった面で問題があったのかもしれません…失礼いたしました。

ただ一応念のために作成・使用していたテキストファイルと状況を。
http://www.elonaup.x0.com/src/up10707.txt

これを夜、ポート・カプール、PCの信仰がジュア、適用NPCの信仰が無のエイス、
友好度は魂の友、の状態で試していました。

211異形の森の名も無き使者:2013/01/16(水) 22:50:37 ID:XzqgVtLk
>>210
あ、いえ!エラーがどの条件の時に起きているのかわかりました。

上のテキストのDialog部分の、

%$impression Soul_Mate
{player}…今日も来てくれたのね。{c}君にずっと会いたかった。%kimini{ev},,,,,{c}ああ、いい商品を頼む%shouhin{ev},,,,,

が発言されると落ちるみたいです。親データじゃ友好度が「Love」のキャラに使っていたから
そもそも条件外になっていたことにより落ちなかったみたいです。
これは新しいバージョン前の時は正しく選択肢が機能していたことを確認しています。

212異形の森の名も無き使者:2013/01/16(水) 23:06:09 ID:ccd/mpfY
>>211
ああ、ごめんなさい。原因がわかりました
選択肢システムの移植の際にミスをしてしまっていたようです
修正しておきましたので、omake_ADDTをこちらに変えてお使いください
お手数おかけして申し訳ありませんでした
http://www.elonaup.x0.com/src/up10720.zip

213異形の森の名も無き使者:2013/01/16(水) 23:32:49 ID:XzqgVtLk
>>212
無事impressionも選択肢会話も動いていることを確認いたしました。
手早く対応していただきましてありがとうございます!
いろいろな部分がかなり固まってきた感じですねー、これからも応援しておりますので
開発頑張ってください!

214異形の森の名も無き使者:2013/01/30(水) 14:38:43 ID:yhlI55IA
最後のレスからもう2週間ですね…
暇あればADDTと睨めっこしてます。あまり良い作品は仕上がりませんがw
やっぱりグローバルキーは捗りますね。最近はこれで擬似botを作りまくってます…これが楽しいんです
イベントアクションや条件の追加等も楽しみにしてますので、ゆっくりでも頑張ってください
素敵なヴァリアントをいつもありがとうございます!

215異形の森の名も無き使者:2013/01/30(水) 20:47:38 ID:s6sXD9ss
>>214
できればどんな感じのテキストになるのかあげたりしてもらえないかな?
どんな風にやってるのかなあって。

216異形の森の名も無き使者:2013/01/31(木) 14:51:02 ID:QW2m8yME
>>214
更新滞っててごめんなさい
インフルエンザにかかってしまったためあと2,3日は動けません
申し訳ないです、これからまた寝てきます

217異形の森の名も無き使者:2013/01/31(木) 16:17:10 ID:GxxysYnA
>>215
いいですとも! …とはいえ碌な作品は無かったので、作り方を晒します
下手な文章ですみません
http://www.elonaup.x0.com/src/up10819.txt

>>216
作者さん! インフルですか!? お大事にしてください!

218異形の森の名も無き使者:2013/01/31(木) 18:00:19 ID:lV3NNyiM
>>216
こちらは気にされず、体調を大事にされてください。
とりあえず作者さんの生存レスがあるだけでもこちらとしては安心できますし。

>>217
おおー!なるほど、こういう風に記述するんだ!
すっごく理解が進みました。これなら複数人の掛け合いとかもらくちんなわけだ。

ありがとうございました。もしよろしければテキストまとめWikiの方に参考ファイルとして
掲載させてもらってもよろしいですか?

219異形の森の名も無き使者:2013/01/31(木) 22:07:18 ID:GxxysYnA
>>218
ADDTは万能変数こそが真骨頂ですよね。つい書きすぎてしまいます
応用すればじゃんけんとか育成要素とか、ミニゲームも簡単に作れるので本当に便利なものです
ただ取っ付きにくい欠点もあるので……これで楽しめるようになれば冥利に尽きます!
掲載はオッケーですが、これ、たぶん修正しないと読みづらいかと思うのですよ
出来れば分かりやすくまとめたページを作ってくださいませんか…? そうすれば伝わりやすいと思います
私自身はまだ未熟ですので…ごめんなさい

220異形の森の名も無き使者:2013/01/31(木) 23:36:04 ID:lV3NNyiM
>>220
ありがとうございます。カスタムテキストページのテンプレ下の参考ファイル
欄及びADDTページに掲載させていただくことになろうかと思います。

確かにこちらのファイルでなおある程度内情を把握している人でないと
わかりにくいとこもあるかもですねー…。ページに記述の仕方をまとめる
のも賛成であり、そんな感じで解説があったらなあと思っていたのですが、
私も今>>218さんのでちょっとまともに把握が進んだ程度の身分だからなあ…。

とりあえず遅くともこの週末程度にまとめるための雛形ページ(あるいは項目)みたいなものは
作ってみようかと思います。そこでもしよろしければチェックなり加筆なりをしていただけたら…。

221異形の森の名も無き使者:2013/01/31(木) 23:55:25 ID:lV3NNyiM
ん?なにこれアンカー超めちゃくちゃだし。
両方>>219です、すいません。

222異形の森の名も無き使者:2013/02/01(金) 03:11:06 ID:caqkEWj6
ぐぅ…。実は今まで>>201でアップしていただいていたテキストの変数部分が
上手く動作しないので困っていたのですが、やっと動作確認しました。それ
なのですが、原文で下のようにあるのを、

%$comparison 恋愛イベント進行度 == -1,impression 100 -,!married[rank 6]
けほっ、けほっ{c}どうしました?%doushimashita{ev},,,,,

れどめ通りこちらのように書き換えたものです。

%$strcomparison 恋愛イベント進行度 equal "-1",impression 100 -,!married[rank 6]
けほっ、けほっ{c}どうしました?%doushimashita{ev},,,,,

他のものについても同様です。ようやくElonaで恋愛イベントが体験できた…。

223異形の森の名も無き使者:2013/02/01(金) 19:31:12 ID:caqkEWj6
うみゅー、昨日から色々やってたけど、global指定によるキーへの変数代入命令が
上手く機能してないんじゃないかと思い始めた…。globalの位置とか""の有無とか半角スペース
の位置とか色々変えてみてもキーの変数が初期の「-1」から動いてる気配がなくて。
かといってglobalなしならちゃんと変数が変動してるし、「-1」から「3」になったなら
それをちゃんと「%$strcomparison〜"3"」の条件が反応して台詞が出るし…。

224異形の森の名も無き使者:2013/02/01(金) 20:18:31 ID:Dd0r/IYA
>>222
すみません、おそらく処理上のミスです
次回のアップデートで修正しておきます

>>223
>>217の方でしょうか?
グローバルキーはやや使い方が特殊で、書き込む際は
substitution global ロミアス_擬似bot "1"
のようになり、変数を参照するときは先頭にglobal:をつけて
%$strcomparison global:ロミアス_擬似bot equal "1"
のようにしなければいけません
globalの位置は変えてみたということなので、おそらくglobal:を付けていないことが原因だとはおもうのですが
もしこれでもできない場合はバグですのでご連絡ください

225異形の森の名も無き使者:2013/02/01(金) 22:07:07 ID:caqkEWj6
>>224
いえ、>>218の方です。

むぅ…ちょっとわからなくなってきました。使っているものの文章をここにそのまま
レスしますのでちょっと確認していただけるとありがたいです。

○ロミアス側
%txtDialog,JP
「本当に始めてしまったのか?(ニヤリ」@substitution global ロミアス "-1"
%txtCalm,JP
%$strcomparison global:ロミアス equal "-1"
「始めてしまったのか?(ニヤリ」@substitution global ロミアス "1"
%$strcomparison global:ロミアス equal "1"
「…おかしな冒険者も居るものだな」
「何事も試してみるものだ。何度でもやり直せばいい(ニヤリ」
「斜に構えるものがまともであった試しが無いぞ」
「我々は、争い事を好まない」
「生まれながらにして、人生は決まっているのか?」
「自分を重んじる程の余裕は無いさ。これはエレアの宿命だ」
カチャカチャと弓を手入れする音が聞こえる。
ロミアスはにやりと笑った。
%$strcomparison global:ロミアス equal "2"
「…本当に食べてしまったのか?(ニヤリ」@substitution global ロミアス "1"
%$strcomparison global:ロミアス equal "3"
「…まさか食べてしまうのか?」@substitution global ロミアス "1"
%$strcomparison global:ロミアス equal "4"
「おいおい、冗談だろう?」@substitution global ロミアス "1"
%$strcomparison global:ロミアス equal "5"
「我等の意見を知って、君は少しでも変わるのか?」@substitution global ロミアス "1"
%$strcomparison global:ロミアス equal "6"
「我々は非戦闘部族だ。ゆえに君らと戦争する気も愚かさも無い」@substitution global ロミアス "1"
%$strcomparison global:ロミアス equal "7"
「最悪の場合、諦めることも必要ということだ」@substitution global ロミアス "1"
%$strcomparison global:ロミアス equal "8"
「…そうだな。これも私の悪いクセだ、分かっている」@substitution global ロミアス "1"
%$strcomparison global:ロミアス equal "9"
「時既に時間切れという名台詞を知らないのか?(ニヤリ」@substitution global ロミアス "1"
%$strcomparison global:ロミアス equal "10"
「やはり文明が変わらなければ、世界も変わらないのか」@substitution global ロミアス "1"
%$strcomparison global:ロミアス equal "妹"
「君とは縁がありそうだな…」@substitution global ロミアス "1"
%$strcomparison global:ロミアス equal "おはよう"
「おはよう。清々しい朝だな(ニヤリ」@substitution global ロミアス "1"
%$strcomparison global:ロミアス equal "おやすみ"
「ああ、おやすみ。安心して眠るといい。私は君を取って食おうとは思ってないからな」@substitution global ロミアス "1"
%$strcomparison global:ロミアス equal "ありがとう"
「どうした、急に。変なものにでも影響されたのか?(ニヤリ」@substitution global ロミアス "1"
%END

○対側
%txtCalm,JP
「これはッ……人肉か!?」@substitution global ロミアス "2"
「死ねっ!」@substitution global ロミアス "3"
%txtDialog,JP
「これはッ……人肉か!?」@substitution global ロミアス "2"
「死ねっ!」@substitution global ロミアス "3"

まず
「始めてしまったのか?(ニヤリ」@substitution global ロミアス "1"
これがなかなか機能してるのが確認できず…。

226異形の森の名も無き使者:2013/02/01(金) 22:09:05 ID:bMlJe6WU
>>220
快く承諾してくださり、ありがとうございます!
私は賢くないので役に立ちそうにありません。でも応援してます
ただあのテキストは記述に間違いを見つけたので、鵜呑みにしないでください
明日にはしっかりとしたものをあげたいと思います。本当にごめんなさい

>>223
すみません! 私がいわゆる>>217の者です!
あのテキストを使ってしまったのですね…すみません。ロクに動作確認してなかったテキストを…
今日になってようやく動作確認しました。私って本当にバカですね。間違いまみれでした
明日には責任をもってちゃんと動作するテキストを再うpしたいと思います。ご迷惑をおかけしました

>>224
そういうことだったのですか! 今日一日の疑問がたった今解決しました!
参照にはglobal:が必須なのですね。スッキリしました

ただこれも上手く動作してないように思えます……やっぱりバグでしょうか

227異形の森の名も無き使者:2013/02/01(金) 22:12:03 ID:bMlJe6WU
やばっ……色々と食い違った。ごめんなさい

228異形の森の名も無き使者:2013/02/02(土) 19:35:28 ID:5tPYVUjE
何度もすみません…一昨日のファイルの修正が終わりましたので再うpします
本当に迷惑をおかけしました
http://www.elonaup.x0.com/src/up10826.txt

あとついでですが、今日作ったロミアスの完成版も置いときます
http://www.elonaup.x0.com/src/up10827.txt
とても地味になりました…が、ADDTの変数確認には丁度よかったです
ADDTの作者さんもwikiの人も応援してます

229異形の森の名も無き使者:2013/02/02(土) 21:49:06 ID:gGg0Qqf2
>>228
ありがとうございます。やっぱりなかなか難しいですねー。

上のロミアス、機能しているのを確認しました。色々とパターンが分かれて
台詞が発言されていいですね。

ただやっぱり下のものは上手く機能してないですね…私の書き換えた方も合わせ、
たぶん間違えた記述はしていないと思うところではあります…。

とりあえずロミアスの方もWikiの方にしかるべきときに掲載させていただいても?

あとそういった変数とKeyの取り扱いに関するページを作成させていただきました。
かなり噛み砕いてしまっているページですが…。

230異形の森の名も無き使者:2013/02/02(土) 23:10:03 ID:5tPYVUjE
>>229
お疲れさまです! さっそくwikiのページを拝見しました!
やっぱり文章量が多いですね…これは読書スキルが無いとキツイですww
でも「やってやんよ!」と意気込んでいる人には分かりやすいページでした。これで作家が増えたら嬉しいですね!
読解スキルに執筆スキル…なるほどハードながら創作意欲の高まるヴァリアントです。再び燃えてきました

ロミアス'sは自由に掲載してオッケーです。どうぞ私の初作品を
やっぱりグローバルキーは内部エラーで無効になるみたいですね。修正を気長に待ちましょう
書くだけなら問題無さそうなので、擬似bot運用の日も近いです
記述は何十回も見直したので今度こそ間違えてません。一昨日のは完成を急ぎすぎた自分への報いだと思ってます

231異形の森の名も無き使者:2013/02/03(日) 01:44:07 ID:7Xk6T.lI
>>230
確認と掲載のご了承ありがとうございます。
そうですねぇ…。できるだけ不慣れな人に不明瞭なとこがないようにと思ってたら
あんな感じになってしまいました。とりあえずれどめや本ページの解説と合わせてみれば、
前もってADDTの書き方を把握している、変数利用の熱意のある方ならまあなんとか
わかるかなあって。あれから削るとそれはそれで結局察してもらわないといけない箇所が…。

そういった形ですので、作者様、ご体調、ご都合の良い時で大丈夫ですので、グローバルキー
周りのご確認と合わせ、解説ページを査読いただだければと思います。

232異形の森の名も無き使者:2013/02/03(日) 20:44:15 ID:elBj1gTE
まだ体調がすぐれないのでキー部分のバグ修正しか行なっていませんが上げておきます
修正内容は次のとおりです

・一回も代入処理が行われたことがないキーをcomparisonでうまく扱えないバグの修正
・グローバルキー周りの不具合の修正

あまりテストできていないのですがこれでcomparisonでもキーが扱えるようになったと思います
ですが内部処理的にはcomparisonはいろいろなものを扱えるようにしてある反面少し処理が重いので
イコール以外の数値の比較などを行ったりしない場合はstrcomparisonのほうがよりよいかもしれません

グローバルキーのテストには>>228様のテキストを使わせて頂きました
親機と子機を同一のテキストに組み込んでグローバルキーの内容を調査しながらテストを行いました
私の環境では今回の修正で正しく動作しましたのでご確認ください

http://www.elonaup.x0.com/src/up10837.zip



>>228
応援ありがとうございます!
これはいいロミアスです、グローバルキーの方に関しても記述は問題ありません
ただ少しグローバルキーの方に誤字誤植を見つけたのでご報告です

「おいおい、冗談だろう?」@substitution ロミアス_擬似bot global "0"
 → 「おいおい、冗談だろう?」@substitution global ロミアス_擬似bot "0"

%$strcomparison globl:ロミアス_擬似bot equal "6"
 → %$strcomparison global:ロミアス_擬似bot equal "6"



>>231
グローバルキー周りは今回のアップデートでおそらく修正されたと思います
もしバグがあればお手数をおかけしますがこのスレにご報告をお願いします
解説ページは2,3回ほど見直しましたが特に問題はありません。ページ作成、ありがとうございます

233異形の森の名も無き使者:2013/02/03(日) 21:28:56 ID:7Xk6T.lI
>>232
なんだか急かしてしまったようですいません…。

新しくなった方でグローバルキーが正常に動作していることを確認いたしました。
また解説ページを確認していただたようで、安心しました。
どちらについても、どうもありがとうございます!
たぶんグローバルキーについても同じように解説ページを作ると思いますので
よろしくお願いいたします。

体調の方、お大事に。今後も応援しております。

234異形の森の名も無き使者:2013/02/03(日) 23:09:13 ID:B6ohjEEY
>>232
更新来てたー。お疲れ様です!
擬似botの運用が確認できました。これで作業が捗りまくりですよ

誤字誤植…なんて恐ろしい響きか…! また微修正版をうpします
http://www.elonaup.x0.com/src/up10838.txt
たったこれだけでも致命的な不具合。シュールな世界ですね

これからも応援してます。私は技術を磨きながら待ってますので、ゆっくり頑張ってください
でも無理は禁物ですよ!!

235異形の森の名も無き使者:2013/02/04(月) 03:10:32 ID:nrnCL2Zs
>>234
テキストの修正ありがとうございます。
あと、Wikiにグローバルキーの解説を作りまして>>234さんのテキスト作品のとりあえずbotの方を
サンプルとしてアップ&利用させていただきました。よろしければご確認ください。

なおその際に作者名はスレ名+レス番とさせていただきましたが、お好みの作者名に
変えていただいても大丈夫です。もしWiki編集方法が、ということでしたら、伝えていただければ
変えます。もちろん作者名なしでも大丈夫です。

いやー、でも、何作るか考えてますけど、色々と仕組みが作れて楽しそうです。

236異形の森の名も無き使者:2013/02/05(火) 22:35:37 ID:D63e.9uw
失礼いたします。テキストスレのほうのリクエスト品ではあるのですが、
ADDTの素敵な機能への感謝も込めてこちらにもアップさせていただきます。

http://www.elonaup.x0.com/src/up10854.txt

グローバルキーは使っていないのですが、通常のキーや条件文を使って
物語風にイベントを体験できるようにしたものです。キーがあるとものすごく
様々な状況に対応できたので作っていても驚きました。

実際のところ素晴らしいヴァリアントの機能であると感じています。
これからも開発をがんばってください。

また、色々とバランスというか普通のキャラに適用するにあたっての
問題が多くありそうですが、イベントアクションが使えるとより面白い
ことになりそうです。ぜひ実装をお願いしたく思います。

237異形の森の名も無き使者:2013/02/06(水) 00:51:19 ID:EqGYB2aI
ごめんなさい…ミスが一部ありました。修正版です。

http://www.elonaup.x0.com/src/up10859.txt

238異形の森の名も無き使者:2013/02/10(日) 04:20:02 ID:.nDHS2tA
すいません、ゲームデータを直接参照するタイプの条件の付け方についてなのですが、

%txtKilled,JP
$comparison tcdata27 == 127[rank 5]
「まだら蜘蛛か…。」

のように特定のキャラを倒した時の台詞、としようとしたのですが、特定キャラ以外でも
この台詞が出てしまっていました。

あと、PCのアリーナランクが1位、ペットのアリーナランクが3位の
状態で以下の条件文を試したのですが、
$comparison gdata120 < gdata121[rank 5]
A
$comparison gdata120 > gdata121[rank 5]
B
$comparison gdata120 <= gdata121[rank 5]
C
$comparison gdata120 >= gdata121[rank 5]
D
$comparison gdata120 == gdata121[rank 5]
E

ABがでず、CDEが発言される感じでした。
想定ではAとB、CとDがどちらか一方(ランク上の順列か、数値としての順列の処理かわからなかったので)
のみ発言され、Eは発言されないはずでした。

そもそも私の記述の仕方が間違ってるかもしれないのですが、ご確認よろしくお願いいたします。

239異形の森の名も無き使者:2013/02/10(日) 17:52:36 ID:rDwZSFOw
いつもお疲れ様です
某ヴァリアントの中の人です

今回は変数の初期化関係で相談なんですが
実は今後こちらにADDTの書式を移植させてもらう際に
グローバル変数の扱いやinitialization命令の仕様を制限するべきか悩んでいます

これは今の仕様では不特定多数がアップできるムーンゲートなどで
プレイヤーが気づかないうちにグローバル変数を書き換えたり全消去したりする
罠ルームを簡単に作れてしまうことを懸念してのものです

具体的にはこちらで↓の変更を入れようと考えてますが
たださすがにバランスと関係ない部分で移植元の機能を大きく制限してしまうのは何なので
(場合によってはテキスト改造まとめwikiなどで汎用的な共通変数を定義して相互反応させるような流れも制限してしまう可能性も)
何か問題があればアドバイスをもらえると助かります

  ・globalのStrでの扱いは(gdata(20) == 35 & cdata(150, tc) == 20)(ショウルームに初期配置されたNPC)の場合は
   参照のみで追加変更できないようにする
  (結果としてこのルームにn回目に訪れた時に発生するイベントなどは作れなくなる)
  ・delete global、initialization global命令は↑の条件では使用できないようにする
  (キャラ変数のinitialiation命令による削除はそのキャラの変数だけなので問題ないはず?)
  ・グローバル変数の削除はコンソール命令でプレイヤー操作で行うようにする

あとは細かい変更ですが fmode == "addtvarglobal" 時のarrayfileの処理で
global_var_number_tを初期化する処理が無いようなので
F2リロードを繰り返した時のグローバル変数ファイル肥大化を防ぐため
こちらの実装では if ( fread == 1 ) { の下に global_var_number_t = 0 の行を追加しました
問題があれば指摘してください

240異形の森の名も無き使者:2013/02/10(日) 18:51:39 ID:rDwZSFOw
んーすみませんよく考えてみるとこの辺の穴を塞ぐと
連作ショウルームでフラグを引き継ぐような作り方もできなくなってしまいますね
思ってたより厄介な問題のようなので代案があればもらえると助かります

241異形の森の名も無き使者:2013/02/11(月) 04:23:38 ID:Wbhy8ALo
>>236,237
素晴らしい作品、ありがとうございます!
Elonaプレイ時に導入しようと思います !

また、そう言っていただけるとキー機能を作った甲斐があります
迷子の子猫まっしぐら様のこれからの一層のご活躍に期待しています

そしてイベントアクションですが、近々テスト的に一部機能の移植を行なってみようと思います
貴重なご意見、ありがとうございました

>>238
何らかのバグで左辺と右辺の値が同値に認識されてしまっているようですね
申し訳ありません、そして、ご報告ありがとうございます
次回アップデートにて修正させて頂きます

>>239,240
グローバルキーのセキュリティ的な面は考えていなかったです
私が今思いつく代案としては3つあります、ですが眠い頭で考え出したものなので上げた以外の問題があるかもしれません

1.ショウルームのキャラのグローバルキーに対する権限を参照と"追加"のみに制限する
おそらく最もシンプルで実現が簡単な方法です
連作ショウルームでもフラグを一応引き継ぐことができます
ですが変更はできないのでテキストを記述する側に労力を強いることになったり
複雑なキー渡しは行うことができなかったりという欠点もあります

2.ショウルームではある行動をとった時のみグローバルキーに干渉できるようにする
こちらも割りとシンプルな方法で
あるキーを何回か押した場合にのみ干渉可能になるといった方法です
デメリットとして、ユーザー側からのアクションを起こさない限り干渉されないのですが
トロイの木馬的な罠ルームの場合はユーザー側が騙されてアクションを起こしてしまうという可能性も懸念されます

3.グローバルキーにパスワードを付けられるようにする
とりあえず今の私が思いつく最善策です
具体的な方法としては、代入する際にパスワードを付けられるようにし
代入されるキーが未生成の場合はそのキーにパスワードをセットしてから代入
パスワードがセットされているキーに代入や削除をするときはパスワードが正しいときのみ行えるように
パスワードの保管はセーブデータに解読困難な手法で暗号化したパスワードを保存することにより行う

デメリットとしてはパスワードが設定されていないキーは保護できないという点と
どんなに強固な暗号方式でもショウルームを解析されたりするとパスワードが傍受できてしまうという点です

罠ルーム問題に関しては別バージョンでの互換性の維持のため
特に代案が思いつかない限りはADDT側では3を実装する予定でいます
ですが、どのように移植するかは自由と考えていますのでそちらにお任せします

その他に関しては特に問題は無いように思います
初期化は忘れてしまいがちなので報告、ありがたいです
ヴァリアント製作者としてお互いに頑張っていきたいですね


そろそろ眠気がきついので寝ます、おやすみなさい

242異形の森の名も無き使者:2013/02/11(月) 17:08:02 ID:ZN3o07Ag
>>241
お疲れのところアドバイスありがとうございます
なるほどパスワードのような本格的なセキュリティ対策までは考えてませんでしたが
機能と安全を両立させようと思うならそちらの方が現実的ですね

ただ一般的なパスワード形式を採用した場合の難点は
elonaでは口調ファイルの公開がプレーンテキストでパスワードも平文のまま公開することになることですね
セーブデータの方を暗号化してもパスワードが平文ではだだ漏れですし
圧縮で難読化されたショウルームのCNPCも展開ツールが一部で公開されてるので解読は簡単です

口調ファイルならユーザー側でパスワードを書き換えてくださいという方向もありますが
今度は複数の口調ファイルで公開グローバルキーを共有して連携するのがやりづらくなります

そこでこちらでパスワードの代わりになるものとしてショウルームの作成者名を
グローバルキーの名前領域として使う方法を考えてみましたがどうでしょうか



global:Keyによる変数記法の他にshowroom:Keyのようなものを設けて
ショウルーム内のNPCはglobalは読み取り専用でしか扱えないようにし
showroomは現在いるショウルームの作成者を連結したキー名に自動変換されるようにします

例えば現在「魔のやさしさアリポン」さん作のショウルームにいるとすると

 global:進行フラグA → キー名「進行フラグA」を参照(ショウルーム内では読み取り専用)
 showroom:進行フラグA → キー名「魔のやさしさアリポン#進行フラグA」を参照(書き込み可能)
 (ショウルーム外ではshowroomはglobalと同じ動作をする)

という形で処理され同じ作者のルーム内で相互に変数を使い回せます

ノヴィスさんのように対象年齢で異名を使い分けてる作者さんもいますが
↑の例なら「global:魔のやさしさアリポン#進行フラグA」で他の作者のショウルーム変数も
参照は可能なので通常不自由することは無いと思います

厳重なセキュリティの管理を考えるとショウルームデータを書き換えて
作成者を偽装することも可能ですがそれは傍目から見てもあからさまに罠ルームですし
被害範囲も偽装した作成者のショウルーム変数に限られるのでリスクは大きくないのではないかと

既存コードでは作成者名はショウルームファイルを扱う処理で
何か所かある↓のやり方で取得しているようです

  file = "xxx.eum"
  bload folder + file, headtemp, 1024
  notesel headtemp
  noteget s, 0   // ルーム名
  noteget s(1), 1 // ←に作成者の名前と異名が入るはず

243異形の森の名も無き使者:2013/02/12(火) 00:18:50 ID:JpCyvJlc
お話の途中ですいません、報告すべきことを忘れていたので書かせていただきます。

omake段階では選択肢会話の時に分岐先を「bye」とすると、会話がそこで終わったのですが、
こちらでは非ユニークの場合に終了しないで会話が続いてしまうようです。もし
可能であればbyeを分岐先にした場合はDialog画面が閉じると嬉しいです。

あと、どういう条件かわからないのですが、変数を用いる口調テキストをキャラに干渉から
設定した前後にF1セーブするとたまに内部エラーが出て(メモ帳によるエラー文が出るタイプでない方)
落ちることがあるようです。

ご連絡が前後してしまいましてすいません。

244異形の森の名も無き使者:2013/02/17(日) 15:59:11 ID:KcOxE.HY
恐らくお疲れのところすみません
{}置換文の変換処理なんですがコードⅠの↓の箇所でglobal:xxxに対応するキーが無かった場合
sがglobal:を削られたままの状態でそのまま通常変数のxxxキーにヒットしてしまうのではと思いますが
これはglobalと通常両方で同名キーを探すのが正しい仕様ということでいいでしょうか?

if ( instr(s,0,"global:") == 0 ) {
  s = strmid(s,7,65535)
  repeat global_var_number_t
    if ( global_key_t(cnt) == s ) {
      s = global_value_t(cnt)
      strconvert_found_flag_t = 1
      break
    }
  loop
  if ( strconvert_found_flag_t == 1 ) {
    strconvert_found_flag_t = 0
    break
  }
}
for cnt_t,0,var_number_t,1
  if ( key_t(cnt_t) == s ) {
    s = value_t(cnt_t)
    break
  }
next

245異形の森の名も無き使者:2013/03/09(土) 23:21:40 ID:ed4XUvmo
このまま下になるのも困るのであげ。

ということでついでにリクエストなのですが、DATA系でinvなどのアイテム
の参照ですとか、キャラの品質ごとの指定があるとより嬉しいかもです。

246異形の森の名も無き使者:2013/06/19(水) 02:49:13 ID:j2N0PFeM
オバホの最終更新が終わったら、オバホにも来てくれるかな?

247異形の森の名も無き使者:2013/06/22(土) 10:03:35 ID:guVmQPWE
俺も密かに期待してます

248異形の森の名も無き使者:2013/06/27(木) 05:41:30 ID:cqdvn7mI
オバホ作者さんはテキスト強化も考えてはいるそうだよ
ADTTを適用するのか独自の規格をいれるのかはわかんないけど

249異形の森の名も無き使者:2013/08/05(月) 15:16:38 ID:vRReunUc
長い間放置してしまい本当に申し訳ございませんでした…
Elonaに復帰したため更新を再開したいと思います


ですが、長い間離れていたため自分でも骨格部分以外のアルゴリズムを忘れていて今すぐにはコードが書けません
ですので次回のリリースは8月下旬頃になります、ご了承ください


さて、改造情報とReadmeを久々に見直して思ったのですが複雑すぎてこれでは導入が困難です
そこで、ADDTをいくつかの機能に分け分割での導入を可能にしたいと思います
具体的には下記のように分割します


・ADDT基礎(ADDT Level1 v1)

comparison系統でない条件群、AND、OR、NOT、優先度、コメントアウトがこれに当たります
実装の面ではひとつの関数を導入することで実装できるようにします

・ADDT応用Ⅰ(ADDT Level2 v1)

ローカルキー、グローバルキー、comparison系統の条件群がこれに当たります
Level 1に加え、キー読み書き用のファイル操作も含まれるようになります

・ADDT応用Ⅱ(ADDT Level3 v1)

Ⅰに選択肢システムを加えたものです
コーディングが厄介なためⅠとは別に置かれています

・ADDT拡張A(ADDT Modα v1)

その他、別途コーディングが必要なものです
現在ポートレイト変更がこれに相当します

・ADDT拡張B(ADDT Modβ v1)

ゲームバランスを崩す可能性のある条件群がここに入ります
現状comparison条件のData系がここに入ります


ADDT基礎のみの場合関数のコピペとテキスト処理に少し処理を加えるだけでいいようにする予定です

また、これに伴いいくつかの処理の関数化を行います、ご了承下さい
処理の実装そのものに関してはそれほど変更はありません

250異形の森の名も無き使者:2013/08/05(月) 15:18:08 ID:vRReunUc
また、分割に伴いADDTの仕組みについて整理しておこうかと思います
ADDTの大まかな仕組みを知りたい方はご覧ください
前レスの基礎機能部分についての記述が主です

――――――――――――――――――――――――――――――――――――

ADDTの基礎機能を関数として考える場合、引数と戻り値は次のようになります

  引数   : %txt〜〜,JPの該当する発言ブロック
  戻り値 : 引数から条件文と条件に合わなかった部分を除外したもの


骨格は次のように実装されています

  1.テキストの上の行から順番に処理を開始、変数Xの値の意は"有効、優先度0"
  2.
    Ⅰ.条件文に当たった場合、条件の判断結果によって変数Xの有効無効、優先度を変更します
    Ⅱ.通常文に当たった場合、変数Xの有効無効により除外するかを判定します
       変数Xの値の意が有効で、これまで有効だった内最も優先度が高かったものより優先度が高ければ
       今までのテキストを破棄します
  3.最終行まで処理が終了したら結果を戻します

――――――――――――――――――――――――――――――――――――

これに最も簡単なコメントアウト機能を追加してみることを考えます
コメントアウト機能を実装する場合は以下のようになります

  条件文、通常分を判断する前の行にコメントアウトかを判断する行を追加
  つまり、処理中の行の最初の文字が"//"だったとき次の行へ判断を移す

――――――――――――――――――――――――――――――――――――

次にADDTの要ともいえる条件判断部分についてです

条件文はいくつかの条件によって成り立ち、その条件は区切り文字によって区切られることで記述されます
まず、条件文から一つ一つ条件を取り出すところから考えます


ADDTの区切り文字には "/" "," "|" の3つがあります
この3つにはそれぞれ演算順序があり縦棒>コンマ>スラッシュです


最も演算順序の低いスラッシュに関して処理をすることを考えます
スラッシュで区切った場合、条件は、単条件のみを含むもの、ほかの区切り文字を含むものに分けられます

処理の都合上、単条件とほかの区切り文字を含むものは同じものとして扱ったほうが便利です
なので、それぞれをそのまま","の区切り処理に渡します


コンマに渡されるのは単条件、コンマまたは縦棒を含む複条件です
これをそれぞれ区切ると単条件、縦棒を含む条件に分けられます
これをそれぞれ縦棒の区切り処理に渡します


そして、縦棒の区切り処理になると全て単条件に分けられます
これを単条件を判断する関数に渡し、結果を得ます
その結果をコンマの区切り処理に返します、複数結果の場合縦棒はOR条件なのでOR演算を行います


コンマの区切り処理に結果が返された結果、得られるのは単条件の結果か複数条件の結果です
単条件の結果の場合そのままスラッシュの条件に結果渡します
結果が複数の時はコンマはAND条件なのでAND演算を行い、結果をスラッシュに渡します


スラッシュ処理もコンマ処理と同様に受け取ります
単条件だった場合上記の変数Xに有効であればその結果*優先度を代入します、無効なら-1を代入します
複数条件だった場合スラッシュはOR条件なのでOR演算を行いその結果*優先度を代入します、無効なら-1を代入します


これでAND、ORの条件分けも実装出来ました
次は区切られた単条件の判断です

――――――――――――――――――――――――――――――――――――

単条件判断もまた関数として考える場合引数、戻り値は次のようになります

  引数   : 単条件文字列
  戻り値 : 条件が正しければ1、無効なら-1

単条件文字列はキーワードごとに半角スペースで区切られているのでそこからキーワードを取り出します
第一キーワードは何を判断するかが書いてあり、それによってIF判定を行います
該当するものがなければ-1を返します

該当するものが合った場合、その条件が満たされるかを判断します
詳しい条件は第二キーワード以降に書いてあり、gdataやcdataなどと比較して値を返します
このとき、NOT条件が有効であれば-1を掛けます

――――――――――――――――――――――――――――――――――――

これでADDTの骨格は完成です
これにキー機能などの機能を追加していくことで、ADDTになります
AND、OR演算は本当に厄介なので解説画像を用意するかもしれません

――――――――――――――――――――――――――――――――――――

251異形の森の名も無き使者:2013/08/05(月) 20:27:22 ID:AKeGBk0o
ADDTおにいちゃんおかえり!
プログラミングさっぱりな麻呂には
分割するってあたりまでしか理解できないけど期待するぅ

252異形の森の名も無き使者:2013/08/06(火) 04:00:59 ID:zp.mj282
色々と解りやすくなりそうだね。難しそうだと思ってたけど触ってみようかな
陰ながら応援してますよ

253異形の森の名も無き使者:2013/08/07(水) 08:52:12 ID:9Ono/QOM
うおぉぉぉおかえりぅ!
お兄ちゃんのおかげでElonaで夢が広がりまくりぅ

255異形の森の名も無き使者:2013/10/29(火) 16:59:53 ID:hiHiYgtg
お兄ちゃん!

256異形の森の名も無き使者:2013/11/01(金) 08:23:33 ID:kCNZmYJw
ADDTが既に最新版までうpロダから流れてる件…ぐぎぎ
再うpかアップデート求む! ADDTのお兄ちゃん!

257異形の森の名も無き使者:2013/12/06(金) 15:30:35 ID:1MRPLvVE
最近Elonaを始めて、とても興味深いスレに会えたと思ったけど…
もう使えないのかな、残念

258異形の森の名も無き使者:2013/12/11(水) 01:09:58 ID:Tvj7FxDo
くやしぃくて、くやしぃくて、
elonaに慣れてきて
valiantとか差し替えとか試してきてテキスト改造ウィキの作品眺めてて、
これは!と思ったADDTをDLしてみようと思ったらどこにもDLできるURLが無くなってて
もっと早くに気付けなかったことがくやしぃくて、
でもこのADDTプレイしたい気持ちは収まらなくて、
こうして恥さらしてて、でもやりたくて……
ななし は 狂喜して叫んだ!ADDT!

259異形の森の名も無き使者:2013/12/20(金) 01:46:46 ID:7SMfa.yU
俺がいっぱいいる!

260異形の森の名も無き使者:2013/12/28(土) 00:21:45 ID:fnXnypg.
Elona ver1.16 xmas URW
Elona1.16 BCF
がADDTを取り込んでいて

Elona omake_MMA
Elona omake_TrashThrow
がADDTを一部?取り込んでいるよ

261異形の森の名も無き使者:2013/12/28(土) 12:22:58 ID:kLfLb5xg
MMA wiki見たけど、確かに出来るんだね……ちゃんとれあどめ読んでおけばよかったよ…
条件式が難しそうだけど頑張って覚えよう…!

262異形の森の名も無き使者:2013/12/28(土) 20:00:36 ID:cqxzLEv.
wikiの媚売り少女(omake ADDT)やりたいけどMMAじゃ作動しない……

どうすれば……

263異形の森の名も無き使者:2013/12/29(日) 02:28:19 ID:v7hiAraY
多分だけど、omake_ADDT(このスレのもの?)とMMA_ADDT(MMAに付いてる機能)は、
使っている条件式が違うからかな?
MMAでADDT機能を使うなら、MMA_ADDTの条件式を使わなければならないと思う。…多分。

264ADDT製作者:2014/02/03(月) 00:34:05 ID:L8AVyIz6
更新サボってごめんなさい
創作欲が戻ってきたので頑張って更新します、本当にごめんなさい

ですがサボり中にPCがウィルスで吹っ飛んでしまい初期化をしたためADDTのデータがありません
申し訳ないですがどなたかADDTのデータをお持ちの方がいらしたらうpして頂けないでしょうか?

本人かどうか怪しいと思われると思いますのでTwitter(@ElonaA_DDT_lpha)の更新をもって本人証明とします

265ADDT製作者:2014/02/03(月) 01:09:47 ID:L8AVyIz6
それとTwitterのアカウントを別に持っているのですが2つの使い分けが面倒なので
現在使っているアカウント(@iymbb8gj)に役割を統合させてください

プライベートアカウントを兼ねているので普段は話し方が砕けていますがご勘弁の程を

>>262
MMA様はADDT書式には対応しておりませんのでそのままでは使用不可能です
ADDT変数の使用は可能なようですので条件文を書き換えれば使用できると思います
注意すべき点として

ADDTは条件が満たされている時、発言の優先度指定がない限り
「普段話されている内容」+「条件が満たされた時の内容」を話しますが

MMA様は条件が満たされている時、「条件が満たされた時の内容」
のみを話すのだったと思いますのでその差にご注意ください
「条件が満たされた時の内容」に「普段話されている内容」をたすことで同様の挙動となるはずです

また、MMA様ではADDT変数の扱いも少々違うものだったと思いますのでご留意ください

(ところどころ微妙なのは界隈に戻ってきたばかりでMMA様のれあどめをまだ読み込めていないためです)

266異形の森の名も無き使者:2014/02/03(月) 10:37:42 ID:NEQlfus6
フハハハハハ!!おかえり
自分は残念ながら持っていないのですが、ADDTのお兄ちゃんが
早く作業再開出来るようオパ様に祈ってきます!

267ADDT製作者:2014/02/03(月) 23:23:34 ID:BuBo3jJ.
流石にやはり持ってる人は居ないですかね……

とりあえず明日まで待ってみて無いようでしたら最適化も兼ねて再度プログラム組みます
もちろん再開発中もADDTの所持募集は継続しますよー

268異形の森の名も無き使者:2014/02/04(火) 07:46:56 ID:TGchMgmU
>>267
http://jbbs.shitaraba.net/bbs/read.cgi/game/45610/1354806342/
こっちにうる張ってくれた人がいるみたい

269異形の森の名も無き使者:2014/02/04(火) 17:10:40 ID:Y6GWZ/6w
>>268
確認しました、ありがとうございます
更新日時を見たところ12/09版みたいなので順次現行最新版の機能を追加していきますね

270ADDT製作者:2014/02/10(月) 23:21:53 ID:GNHeikYM
生存報告です
現在の状況は以下のとおりで思ったより好調に進んでいます

・高速化と導入ヴァリアント様の増加を目指して、ADDTをDLL化しました
 Cで記述されていてコードはオープンソースにする予定です
・構文解析の実装が完了しました
・race,class,(str)comparisonを除く条件の実装が完了しました

この調子で行けばおそらく来週、再来週あたりにはADDTを公開できると思いますのでご期待ください

271ADDT製作者:2014/02/11(火) 00:26:41 ID:cZv3gwlw
開発中のADDTを上げました
テスト版なので有用性がほぼない上バグが残っている可能性が非常に高いですが
それでも試してみたいという方のみお試しください、本格的な使用はおすすめしません

ttp://www1.axfc.net/u/3168173.zip

以下のものが同梱されています
・実装状況,Todo表
・ADDT導入法 (ヴァリアント作者様向けです)
・ADDT使用法 (一般の利用者様向けです)
・Elona ADDT.exe
・ADDT.dll
・ADDTのDLLのプロジェクト (VS2013で制作されています)

272異形の森の名も無き使者:2014/02/11(火) 22:06:02 ID:WBWcQjaY
ありがたや、ありがたや……
恥を忍んで書き込んだかいもあったというもの。
さっそくデバッグ(?)させて頂きます!

273異形の森の名も無き使者:2014/02/11(火) 22:51:35 ID:/R0YRw6.
ダウンロードさせて頂きました!
安定版(?)を楽しみにしています!

さて、どんなテキストを作ろうか…

274ADDT製作者:2014/02/12(水) 03:34:00 ID:Yy/YIuIc
眠れないのでADDTのTipsでも


ADDTはテキスト処理という重めの処理を行っている関係で少々特殊な条件判断をしています
例えば以下の様な条件式の場合

$impression Love,married

ADDTでは左の条件から判断を行っていますのでまず"impression Love"が判断されます
この時、"impression Love"の条件が満たされていないのならば
"married"の判断結果に関わらず条件式は満たされません

ですのでand条件においてはどこか1つで条件が満たされないと判断された場合
処理速度の向上のためそれ以降の条件は判断しないように実装されています
これはor条件についても同様でどこか1つで条件が満たされた場合それ以降の条件は判断されません


以上の点を利用してテキストを最適化することができます
例えば"フィールドマップにいて""エーテル風が吹いている時"という条件を書くとします
これは以下のように表現できます

$where North_Tyris,weather Etherwind
$weather Etherwind,where North_Tyris

この場合明らかに"エーテル風が吹いている時"という方が確率の低い条件です
ですので後者の方がより望ましい条件式だと言えます
orに関しては逆で確率の高い条件を左側に置くべきでしょう

但しcomparison系統は少々特殊です
comparisonは汎用性が高い条件ですがその分処理の重さは他の条件郡の比ではありません
そのためcomparisonは確率の高低にかかわらずできるだけ条件判断させないように右側においたほうが良いでしょう


ちなみにこのような条件判断の方法を"短絡評価"といいます
プログラミングの基礎知識なのですが意外とプログラミングの入門書には載ってなかったり

275ADDT製作者:2014/02/16(日) 01:10:20 ID:qolOiAQg
生存報告です
前回から今までは変数システムとcomparisonを作るための下地を作っていました
だいぶ下地は完成したので今日からそれらに取り掛かれる予定です


さて、おおよそDLLの完成が見えてきました
完成したらどうしましょうか、やはりアイテム系の条件式が欲しいでしょうか

DLLの良いところはなんといっても更新の手軽さに尽きます
例えば上のような条件式を追加した時でもDLLを新しいものに差し替えるだけでADDTを更新できます
つまり簡単な条件式の追加のような更新であれば対応してくださっているヴァリアント製作者様の更新を待たずに
ユーザー自身がADDTを更新できるということで、これは大きなメリットではないでしょうか

もちろんこれはヴァリアント制作者様でも同じことが言えます
ヴァリアント製作者様が"ADDTは更新に対応するのが大変そうだ"といった趣旨のことを仰っているのを
目にしたことがあるのでDLL化による更新の簡素化で導入ヴァリアント様が増える効果も期待しています


ちなみにですが、実はADDTは他ヴァリアント様に組み込まれることを目的に作られたヴァリアントです
>>1でアップされているElonaのベースバージョンがヴァリアントベースによく使われる1.22開発版なのはそういう訳です
また、ADDTという名前がアルファベット4字で重複文字があるのはFFHP様にあやかったものだったりもします

276ADDT製作者:2014/02/16(日) 01:21:04 ID:qolOiAQg
今週中にでもADDT DLL初版が完成しそうなので何か質問等あれば受け付けます

・"/"と"|"の使い分けがよくわからないので教えてほしい
・変数で〜〜を表現したいけど実現可能か、実現可能だとしたらどうやるのか
・DLLのソースコードの〜〜はどういうことをしているのか
・製作者のelonaプレイスタイルはどんな感じか

等なんでも構いません

277異形の森の名も無き使者:2014/02/21(金) 00:51:04 ID:DQyMO2Y2
久々に覗いてみたらADDTのお兄ちゃんが生還してた! おかえり!
過去に擬似botとかロミアスとか作った人です。ご無沙汰ですね

少し亀レスな気もしますが、
旧ADDTの最新最終版(2013年2月3日版)なら私が持ってます
代行で再うpしました。今からでも遅くなければご活用くださいm(__)m
http://www1.axfc.net/u/3176293.rar


それでは、新しいADDTの開発頑張ってください! 応援してます!

278ADDT製作者:2014/02/22(土) 02:34:38 ID:FcOFs6BU
>>277
お久しぶりです、更新滞ってしまっていてごめんなさい
2/3日版非常に助かりました! ありがとうございます
応援もとても励みになります


さて、生存報告です
最終デバッグを除いたすべてのADDTのプログラミング工程が終了しました
ですので今日中に最終デバッグを終えて初版を公開できると思いますのでご期待ください

279ADDT製作者:2014/02/22(土) 23:50:01 ID:7D6x5Je2
ADDT DLL版初版が完成しました、機能としては2013/02/03版とほぼ変わりませんが処理がかなり高速化されています
http://www1.axfc.net/u/3177774.zip?key=elonaaddt

初版で開発者の予想しないバグが残っている可能性が高いのでバックアップを取った上で使用してください
もしバグが発生した場合はご報告いただけたら幸いです

280ADDT製作者:2014/02/22(土) 23:51:34 ID:7D6x5Je2
せっかく完成したのでage

281異形の森の名も無き使者:2014/02/23(日) 01:36:31 ID:y4D6LA.A
>>279
お疲れ様です! 早速使ってみました!

……のですが、早速エラー吐いたのでご報告させていただきますorz


HspError 38 WinError 126 Ver 1220 Mode 0
efId 451 efP 800 Area 5/1
ci 1#0 ti 0#466 cc 0#0 tc 1#165 rc 1#165
3. turn_end:pc ct:0
2. main_init:Begin ct:245
1. main_init:End ct:0
0. pc_turn_init ct:0



最初、ペットに話しかけただけで落ちたので何事かと思いました
それから色々と試してみたところ
どうやら口調を設定したCNPCに話しかけると必ず落ちるみたいです。

実験結果
・elona開発版(1.22)より新規セーブデータで移行したもの
・どんなテキストを設定しても落ちる(ADDTタグの有無を問わない)
・デフォルトの場合は落ちない
・ペットでも町の住人でも口調を変えれば同様に落ちる

ヴァリアント開発方面には疎いので「これ!」という原因を示すことは出来ませんが
どうやらテキストの読み込みに失敗しているみたいです(結論)

修正、よろしくお願いいたしますm(_ _)m

282ADDT製作者:2014/02/23(日) 12:42:38 ID:P9LrxaBQ
>>281
いろいろ試してみましたが同様の状態は平常状態では再現できませんでした…
"ADDT.dll"がない場合は同様の状態が再現されましたので"ADDT.dll"がelonaフォルダ内にあるかどうか確認してみてください
"ADDT.dll"がある状態でもエラーになる場合お手数おかけしますが再度ご報告いただけるとありがたいです

"ADDT.dll"がない場合の試行結果↓

HspError 38 WinError 126 Ver 1220 Mode 0
efId 0 efP 0 Area 5/1
ci -1#523 ti 0#466 cc 114#343 tc 0#0 rc 88#77
3. main_init:Begin ct:245
2. main_init:End ct:0
1. pc_turn_init ct:0
0. turn_end:pc ct:0
* error in function:screen_draw:5


上記をコピペしてバグ報告フォーラムに報告して頂けると助かります。
http://elona.squares.net/forum/viewforum.php?f=7

283ADDT製作者:2014/02/23(日) 13:05:41 ID:P9LrxaBQ
試行の最中に上とは別のエラーを発見したのでアップデート
ADDT応用ではコードを改変する必要があります
なお、ついでにElona ADDT.exeのアイコンデータをElona公式のものと同一にしてあります

・興味度が0等の理由で選択肢が表示できなかった場合に会話を継続しようとするとエラー落ちする問題を修正

http://www1.axfc.net/u/3178160.zip?key=elonaaddt

284ADDT製作者:2014/02/23(日) 16:28:15 ID:P9LrxaBQ
訂正です

応用改造.txtの
■「fmode = "cdatan2"」で検索して見つかる場所の下に以下のようにコードを適用(2箇所)
の部分のコードは正しくは下記です、申し訳ありません

------------------------------------------------------------------------------------------------------
file = folder + "cdatan_" + mid + ".s2"
fmode = "cdatan2"
arrayfile
// ADDT Additional Code Start
file = folder + "addtvar_" + mid + ".s2"
fmode = "addtvar2"
arrayfile
// ADDT Additional Code End
------------------------------------------------------------------------------------------------------

285異形の森の名も無き使者:2014/02/23(日) 19:09:03 ID:y4D6LA.A
>>282
成程、そういうことだったんですね!
ひとまず解決しました。ありがとうございます

いつもヴァリアントはreadmeを読んでから起動アプリケーションだけ入れるので
変な癖が付いてました。dllも一緒に入れる必要があったんですね
失礼しました…。そしてご丁寧に有難うございます

ですが、今度は"MSVCR120.dll"がインストールされていないとエラーを吐くようです
こちらはVisual C++ 2013のランタイムをフリーで落とすことで解決しましたが
出来れば説明書であらかじめ明記しておくか、可能であれば同梱することが望ましいと思います


…って何だか偉そうなことばかり書いてますね私。すみませんm(_ _)m
ともあれ無事に動作するところまでこぎつけました
これからの更新を心待ちにしております!(あとomake対応版もリリースしてくださると嬉しいです!)

286ADDT製作者:2014/02/23(日) 21:05:12 ID:P9LrxaBQ
>>285
動いたようでよかったです!

そしてランタイムの件ですが、ごめんなさいミスです
DLLを生成する際のプロパティ設定でランタイムを必要としない設定とするのを忘れていました
新しいバージョン(下記)ではおそらくランタイムなしでも使えます

ADDT DLL 3版
http://www1.axfc.net/u/3178515.zip
なお、omake様とorehack様に対応したバージョンを同梱してあります

287異形の森の名も無き使者:2014/02/27(木) 01:44:38 ID:R/I/0FqU
*ブラボー*

288異形の森の名も無き使者:2014/02/28(金) 04:26:40 ID:LpXn78sQ
済みません。最新のomake_ADDTを使用させていただいているのですが、
テキストのダイアログに条件にあっていない文章や$impression Love,married
等が出てきてしまいます。過去のomake_ADDTでは普通にテキスト使用できているのですが
もしかして最新のADDTでは条件書式変更になっていますか?

289ADDT製作者:2014/02/28(金) 17:01:49 ID:eT6P3yyY
>>288
ごめんなさい、ものすごいミスをしていました
"%$"で条件を使用しようとした場合に正しく条件と認識されない問題があったようです
修正したのでDLLを更新すればおそらく使えると思いますが、もし使用できない場合は再度ご報告いただければ幸いです

また、omake_ADDT特有のバグも修正したのでomake_ADDTユーザー様は
お手数をお掛けしますが実行ファイルの差し替えもお願いします


■更新内容
・"%$"が条件宣言子として働かなかった問題を修正 ( ADDT DLL )
・CNPCでない特殊なキャラ(ユニークや神の化身)で選択肢システムが使えない問題を修正 ( Elona omake ADDT )

□更新方法
  ADDT.dllを新しいもの(下記URL先)に差し替えてください
  omake_ADDTを使用されている方についてはElona omake ADDT.exeも同様に差し替えてください
  それ以外である場合、実行ファイルを同梱していますが新規の方のためですので更新は必要ありません

■URL
  ADDT DLL 4版
  http://www1.axfc.net/u/3182492.zip


"%$"機能は過去に確かに実装したのですが、どうやらバージョン管理を間違って実装前に戻ってしまったようです
いいバージョン管理ツールがあればいいんですが、GitHubはよくわからない…

290ADDT製作者:2014/02/28(金) 17:32:49 ID:eT6P3yyY
ADDT Tips 2 - 文字列とは?

ADDTのキー部分のreadmeなどで当たり前のように出てくる文字列とは何を表しているのでしょうか
文字列はコンピュータ用語で、データの種類の一種です

コンピュータのデータには文字というものがあります
「文字」のデータが表せるものは基本的に'A'や'9'や'#'などの一文字に限ります
(なお、コンピュータにおいて文字は基本的に ' で囲んで表します)

では"I'll be back."などの文章を表したい場合はどうでしょうか
もちろん、'I'll be back.'というような「文字」はありません、そこで文字列の登場です
文字列は、「文字」を並べてつなげたデータのことです

I (アイ)、' (クォーテーション)、l (エル)…という風に「文字」をつなげていけば"I'll be back."という文字列ができて
"I'll be back."が表現できるようになる、というわけです
なお、文字列は文章に限らず"Terminator"などの2文字以上の単語などを表現する場合にも使います


ちなみに、ADDTで文字列を擬似的に整数で扱うとはどういうことかというと

例えば"123"という文字列があったとします、これはただ
'1'という「文字」と'2'という「文字」と'3'という「文字」をつなげたものに過ぎないので
足し算はもちろんのこと四則演算は全く出来ません(文字に足し算などはないので)

これを123という「整数」として解釈するということが「文字列を擬似的に整数で扱う」ということです

ちなみに"Terminator"や"2014年"など、文字列に整数でない文字が混じっている場合は
どういう数に解釈されるかわからないのでそのような文字列を値に持つキーは
四則演算系のテキスト命令を避け、変数判断はstrcomparisonを使ったほうがいいです
(comparisonは一旦整数に直されてから計算されるので)

291ADDT製作者:2014/02/28(金) 22:08:22 ID:CK410RK.
ごめんなさい言うのを忘れていました
ヴァリアントを配布される際にはADDT.dllを同梱しても構いません
(ユーザーに手間をかけさせるのはあまりよくないかなと思うので)

自作騙りしなければ基本的にADDTは転載•再配布等おkです

292異形の森の名も無き使者:2014/02/28(金) 23:18:08 ID:h7/NyWGs
Elona_URWを作らさせてもらっているものです
同梱の許可ありがとうございます
Elona_URWにADDT.dllを同梱させていただきました

293異形の森の名も無き使者:2014/03/01(土) 03:56:46 ID:2eRY4LvE
早期の修正ありがとうございます。早速ADDT使用させていただきました。
今度はダイアログが口調設定してもデフォルトのテキストしか話さず
%$where Homeの台詞を設定しているのに、%txtCalm,JPの台詞が出てきます。

294ADDT製作者:2014/03/03(月) 01:31:58 ID:C7EnTnAY
>>292
いえいえ、こちらこそいつもありがとうございます
DLL化で以降の更新ができるだけし易いようにしたつもりですが
まだまだ不安定ですので早く安定版を出せるよう努力します

>>293
ご報告有り難うございます
今現在泊まりで出かけているので更新は恐らく今日夜になります、ごめんなさい
もしよろしければ、エラー状況を詳しく教えていただければ迅速な更新ができます

・どんなテキストでも起きるのかどうか (特定のもののみの場合テキストもできれば上げていただけると幸いです)
・DLL 3版以前でも同様に問題は起こるかどうか
・会話キャラ等にADDTキーは設定されているかどうか等

295ADDT製作者:2014/03/04(火) 17:33:02 ID:t.mdgH/M
ごめんなさい、昨日の夜更新と言いましたが私の環境では問題が再現できずまだ修正できていません
どなたか同じような症状が出る方がいましたらできるだけ詳しくご報告いただけると幸いです
私の側でもできるだけ早い更新を心がけます

296異形の森の名も無き使者:2014/03/04(火) 19:34:14 ID:RbiXClU.
本当迷惑おかけしてます。
ADDTキーはADDTグローバルキーの事ですか?
それならば使用していません。
本当済みません。どうやら私のテキストの方に問題があったみたいです。
普通のつめこんでないADDTテキストなら普通に最新のomakeADDTで使用できました
ちなみに問題のあったテキストは過去の2013/0203のomakeバージョンで正常に作動しています。
最新の三版以前の物ではomakeバージョンがないので調べられませんでした。
テキストを上げたいのですが今まで上げた事がないのであげ方がわかりません。
済みませんテキストをあげたいのですが今まで上げた事がないので方法がわかりません。

297ADDT製作者:2014/03/04(火) 20:25:58 ID:t.mdgH/M
>>296
動作したようでよかったです!
ADDTキーはローカルキーとグローバルキーの総称のつもりで書きましたが
この場合についてはおおよそ同じ意味を持つと思いますので大丈夫です

また動作した以上ADDTのバグを治すというよりADDTをより間違いを許容する機構にするという意味合いの方が強くなるので
これから先は本当によろしければでいいのですが、もしお手伝いいただけるなら下記を行っていただければ幸いです

1.%txtCalm,JPと%txtDialog,JP以外のところを削る
2.会話テキスト(条件文ではない通常の会話文のところ)を削る
3.ここのスレッドに書き込む

気になったことをどんどん言っていただける方がより発展させやすいので
勘違いなどはお気になさらず書き込んでいただければ

298異形の森の名も無き使者:2014/03/05(水) 03:18:35 ID:n4xsWF2A
上記の1、2を試した所やはりデフォルトの台詞だけ話すようになっています。
テキストのダイアログに好感度で話がかわる様に%$impression〜関係を色々設定したが原因かも
%$impression Amiable等設定していない時は、デフォルトではない文章がちゃんと出てきました。
後色々試した所ひょっとして%$impression XX - も上手く作動していないかもです。
%$impression XX - をテキストに入れてるときはデフォルトの文章になりませんでしたが、
%$impression 100 -に設定してる会話も出てきませんでした。
%txtCalm,JPについては私が勘違いをしていました。設定してる条件下に居る時の文章が出ないみたいです
%$where Palmiaに居る時にパルミアで出る文章がでなくて通常の文章だけが出る状態です

299 ◆ADDT/WlMUI:2014/03/09(日) 15:46:16 ID:/gNneLOU
>>298
ごめんなさい、バグを修正しました
4版で治ったと思っていたものはたまたま動いていただけのようです

また、わざわざ騙る人もいないとは思いますが騙り防止の為トリップを付けました
以降このスレでのレスはこのトリップを付けた状態でする予定です

■更新内容
・"%$"が条件宣言子として働かない問題を修正
・新しい記法を追加 (後述)
・true条件、false条件を追加 (ほぼデバッグ用ですので解説はしません)

□更新方法
  ADDT.dllを新しいもの(下記URL先)に差し替えてください
  実行ファイルを同梱していますが新規の方のためですので実行ファイルの更新は必要ありません

■URL
  ADDT DLL 5版
  http://www1.axfc.net/u/3190101.zip?key=elonaaddt

300 ◆ADDT/WlMUI:2014/03/09(日) 16:23:54 ID:/gNneLOU
新しい記法として入れ子構造を導入しました
入れ子構造では条件の中に更に条件を記述することができます
入れ子の階層はタブによって指定し、それ以外の文字では正常に作動しません

上位の階層の条件文が満たされなかった場合、下位の条件文は強制的に満たされないものと判断されます
分かりづらいかと思いますので例を用意しました、平常文には該当箇所を発話するための条件が記載されています
(したらばではタブを表現できないので全角空白4個に置き換えてありますが実際はタブでの記述が必要です)

%txtDialog,JP
いつでも
$impression - 99
好感度が99以下のとき
    $weather Sun
    好感度が99以下 かつ 天気が晴れのとき
    $weather Rain
    好感度が99以下 かつ 天気が雨のとき
$impression 100 - 199
好感度が100〜199のとき
    $where Palmia
    好感度が100〜199 かつ パルミアにいるとき
    $where Vernis
    好感度が100〜199 かつ ヴェルニースにいるとき
$impression 200 -
好感度が200以上のとき
    $married
    好感度が200以上 かつ 結婚しているとき
        $where Home,when Midnight
        好感度が200以上 かつ 結婚していて かつ 家にいて かつ 深夜のとき
    $!married
    好感度が200以上 かつ 結婚していないとき

これは以下のように展開されます
(&はand演算子として扱いますが、例としてであり実際に&記号を記述して使用することはできません)

%txtDialog,JP
いつでも
$impression - 99
好感度が99以下のとき
$impression - 99&weather Sun
好感度が99以下 かつ 天気が晴れのとき
$impression - 99&weather Rain
好感度が99以下 かつ 天気が雨のとき
$impression 100 - 199
好感度が100〜199のとき
$impression 100 - 199&where Palmia
好感度が100〜199 かつ パルミアにいるとき
$impression 100 - 199&where Vernis
好感度が100〜199 かつ ヴェルニースにいるとき
$impression 200 -
好感度が200以上のとき
$impression 200 -&married
好感度が200以上 かつ 結婚しているとき
$impression 200 -&married&where Home,when Midnight
好感度が200以上 かつ 結婚していて かつ 家にいて かつ 深夜のとき
$!married
好感度が200以上 かつ 結婚していないとき

入れ子構造に優先度を指定した場合、上の展開文に沿って平常文の優先度を決定します
ですので以下の様な間違いにご注意ください

$impression 100 - 199[rank 10]
好感度が100〜199のとき ← 優先度10
    $where Palmia
    好感度が100〜199 かつ パルミアにいるとき ← 優先度0、絶対に発話されない
    $where Vernis
    好感度が100〜199 かつ ヴェルニースにいるとき ← 優先度0、絶対に発話されない

正しく指定する場合は以下のようになります
下位の条件文を指定するときには優先度を必ず上位のもの以上に設定してください

$impression 100 - 199[rank 10]
好感度が100〜199のとき ← 優先度10
    $where Palmia[rank 10]
    好感度が100〜199 かつ パルミアにいるとき ← 優先度10
    $where Vernis[rank 10]
    好感度が100〜199 かつ ヴェルニースにいるとき ← 優先度10

301 ◆ADDT/WlMUI:2014/03/09(日) 16:30:17 ID:/gNneLOU
なお、上でわかりづらい方は下記画像のような感じだと捉えておいてください

http://www.elonaup.x0.com/src/up12846.jpg
("condition"は"条件"を意味する英単語です)

302 ◆ADDT/WlMUI:2014/03/09(日) 17:19:27 ID:/gNneLOU
>>300の展開部を修正

×
$!married
好感度が200以上 かつ 結婚していないとき


$impression 200 -&!married
好感度が200以上 かつ 結婚していないとき

303異形の森の名も無き使者:2014/05/31(土) 04:47:18 ID:NXX3OZDA
ooには対応しないのかな

304異形の森の名も無き使者:2014/07/19(土) 06:41:17 ID:vYTCiWBg
omakeでADDTが使えると聞いて手を出しました。何コレRPが捗って楽し過ぎる…。

あと、バグ報告も。omake_ADDTでプレイしたところ、@~~.bmpでの会話中のポートレート変更ができませんでした。
バニラの方のADDTでは機能しました。

305異形の森の名も無き使者:2015/04/12(日) 09:32:57 ID:xpHygPR6
グローバルキーが条件に反映されないバグがあるようです
ローカルキーは問題なく動きました

作者さんまだここ見てるかな…?
>>304のバグと合わせて修正だけでもいいから更新してほしい

306異形の森の名も無き使者:2015/11/15(日) 22:36:23 ID:FHyGA8R6
やっべどこsageてんだ俺
すまんこ

307レイヴン:2016/12/11(日) 15:31:03 ID:.weQqds.
鉄血のくじらさんへ
この度、妖精さん用テキストを、妖精女性汎用に改造いたしましたのでご報告させて頂きます。
ご興味がありましたら、eronaテキスト改造まとめwikiのテキスト投稿にてご確認ください。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板