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

汎用関数・ライブラリ総合スレ

1あなたの名前を入力してください:2017/06/29(木) 23:05:15 ID:YnTR6v9M
このスレッドは、フリーの調教ゲーム作成ツールeramakerおよびeramaker2、およびeramakerエミュレーターのEmueraに用いる
汎用コードの開発、配布のためのスレッドです。

スレッドの利用の際、以下の点にご注意ください。
・スレにオリジナルのコードを書き込んだ場合は、ライセンスを明示しない限りCC0で提供されたものとします。
参考……CC0 ttps://creativecommons.org/publicdomain/zero/1.0/deed.ja
>この作品は、たとえ営利目的であっても、許可を得ずに複製、改変・翻案、配布、上演・演奏することが出来ます
・ファイル配布時にはライセンスを明記すること。ライセンスなしだとあらゆる利用が不許可になります。


関連サイト

漠々ト、獏
ttp://cbaku.com/

Emuera公式ページ
ttp://sourceforge.jp/projects/emuera/wiki/FrontPage

eraシリーズを語るスレ まとめWiki V3
ttp://w.livedoor.jp/eraseries/

2あなたの名前を入力してください:2017/07/02(日) 14:21:06 ID:JJVsHAwc
試しに自分の作った関数をうpして見ることにしました。
このスレがもっと積極的に利用されるといいな。

汎用ランダム抽選関数RANDCHOOSE_ver2.0
ttp://era.moe.hm/cgi/era/upload.php?id=0003099

【改変:可】
【再配布:可】
【商用利用:可】
【使用報告:不要】

この関数はCC0ライセンスに準拠し、作者は著作権を放棄します。

3あなたの名前を入力してください:2017/07/02(日) 15:15:36 ID:JJVsHAwc
こういう機能が欲しいとか、他にもっと便利な設計があるとか、
色々と感想や情報交換をしてくださると助かります。

4あなたの名前を入力してください:2017/07/02(日) 16:11:28 ID:YCnVq8FA
ageてみるのと、各スレに周知するのも大事だと思う。
とはいえマルチポストまがいの宣伝文書きまくるのもアレだしなぁw

5あなたの名前を入力してください:2017/07/02(日) 16:21:01 ID:y3nW5D1.
これ使ったらこういうのができますよーとかも書いてあったらありがたい

6あなたの名前を入力してください:2017/07/02(日) 16:38:35 ID:JJVsHAwc
しまったreadmeは用意したけどスレに用途を書いてなかった

>>2の用途について】
N個の候補からランダムに1つを選ぶ関数です。
候補の追加と削除が簡単にできるのがチャームポイント。

好きな数値を好きなタイミングで抽選候補としてリストに追加し、
そのリストからランダムで候補をひとつ選択しその結果を返します。
リストを編集する関数とランダム抽選を実行する関数が別々に分離しているため
リストへの候補の追加・削除が簡単にできる仕組みになっています。
かんたんそうさ!

ただし、それぞれの候補の抽選確率は平等なので
確率を変えたい場合は候補の数を偏らせる必要があります。
例:アタリを1個追加してハズレを9個追加すればアタリの確率は10%、
ハズレを99個にすればアタリの確率は1%といった具合

7あなたの名前を入力してください:2017/07/02(日) 16:45:20 ID:JJVsHAwc
実際に>>2をどのように使えば良いのかイメージがわかない人は
「RANDCHOOSE」でeraGVT別人改造版をgrepしてみると良いでしょう
(ダイレクトマーケティング)

8あなたの名前を入力してください:2017/07/04(火) 22:08:27 ID:QmHEwHDQ
適当に自作関数をば放流CC0でどうぞ
ttp://era.moe.hm/cgi/era/upload.php?id=0003101

簡易説明
・一次元配列まるごと表示関数:@ARRAY_PRINT
 一次元配列の0〜Xの要素の内容をPRINTする主にデバッグ用の関数
・配列抽選F関数:@ARRAY_HIT
 一次元配列の0〜Xの要素の内容を相対確率として捉えて0〜Xのいずれかを返す抽選関数
 柔軟にお手軽に確率を変えた抽選が実行できる
・配列RAND化関数:@ARRAY_RAND
 一次元配列の0〜Xの要素にそれぞれRAND数値を代入する
・汎用算術F関数:@MATH
 100√2などの数値を手軽に得られるようにした
 小数点以下切り捨てのEmueraで√2などによる補正をかけたい場合に有用(精度を上げられる)
 MATHって名前で偉そうにしてますがごく単純な処理しか行えません
・その他、上記関数の動作サンプル用関数群

9あなたの名前を入力してください:2017/07/04(火) 22:11:11 ID:QmHEwHDQ
@ARRAY_HITを使用すると
これが
SELECTCASE RAND:10
CASE 0 TO 4
CASE 5 TO 7
CASEELSE
ENDSELECT
;・各CASEがどの程度発生しやすいのかイメージしづらい
;・発生確率の調整が面倒(数値範囲を直接いじる必要がある)
;・CASEを増設するとまた面倒

こうなる
;相対発生確率の代入
LOCAL = 5, 3, 2
SELECTCASE ARRAY_HIT(LOCAL, 3)
CASE 0
CASE 1
CASE 2
ENDSELECT
;・一次元配列変数が必須
;・相対的な発生確率が明示されている
;・発生確率の調整が容易、CASE増設も簡単

10あなたの名前を入力してください:2017/07/06(木) 07:15:22 ID:t46l/FLk
5割、3割、2割の割合で表示確率に差のある口上が出せるってことで良いですか?

11あなたの名前を入力してください:2017/07/06(木) 07:39:47 ID:9qSHtzhE
・・・個人的には配列とCASEの数字の対応を手動で確認しないといけないのが好みじゃないけど、そこを確認できるようにコード組むと状態をコードがもつことになるから筋がいい設計じゃなくなるなぁ
一応作るだけ作るか

12あなたの名前を入力してください:2017/07/06(木) 10:13:29 ID:9qSHtzhE
http://era.moe.hm/cgi/era/upload.php?id=0003102
@SAMPLE_ANOTHER_ARRAY_HIT()
#DIM HIT_LIST, 10
#DIM HIT
PRINTFORML HIT_LIST = 1, 2, 3, 4, -1
PRINTFORML
;リストの終端を0以下の数字で表現する -1を代入するのは念のため
HIT_LIST = 1, 2, 3, 4, -1
HIT = ANOTHER_ARRAY_HIT(HIT_LIST)
SELECTCASE HIT
;分岐の使用例
;分岐するたびにリストで指定した数字であることを確認できる 順番を抜かしたり入れ替えたらそこでエラーが起きる(要テスト)
;HIT_LIST:ANOTHER_ARRAY_HIT_CHECK(LOCAL) = LOCAL
CASE ANOTHER_ARRAY_HIT_CHECK(1)
PRINTL 1です
CASE ANOTHER_ARRAY_HIT_CHECK(2)
PRINTL 2です
CASE ANOTHER_ARRAY_HIT_CHECK(3)
PRINTL 3です
CASE ANOTHER_ARRAY_HIT_CHECK(4)
PRINTL 4です
;注意:終盤に確率低い分岐入れると多分テスト大変 手動で分岐の数字入れて試すのも数えるの面倒
CASEELSE
;きちんとリストと分岐の対応を取っていればここは呼ばれないはず
THROW 分岐が足りていない
ENDSELECT
PRINTFORML HIT={HIT}
[SKIPSTART]
サンプルを踏まえたうえで利点欠点
## 利点
+ リストと分岐の対応を取らないとエラー

## 欠点
+ リストと分岐の対応を取らないとエラー
+ 静的変数を使っている
+ ネストできない あるいは複数同時に使用できない 元のサンプルのように複数のRANDを取りそれに応じて分岐することはできない
+ リストサイズいっぱいに数字が入ってると実はエラーを起こす
[SKIPEND]

13あなたの名前を入力してください:2017/07/06(木) 12:28:12 ID:JdHB6FIw
>>10
9で書いた例ならそれであってます

>>12
負数(というか-1)でリスト端を指定というのは使えそう
分岐の設定ミスをエラーとして顕在化できるようにって感じだと思うんだけど

んー、自分としては
;一般イベント発生抽選
VARSET HIT_LIST
FOR LOCAL:0, 1, LAST_COMMON + 1
 SIF !INT_COMMON_EVENT(CHARA, "発生条件", LOCAL:0)
  CONTINUE
 HIT_LIST:(LOCAL:0) = INT_COMMON_EVENT(CHARA, "発生率", LOCAL:0)
NEXT
RETURNF ARRAY_HIT(HIT_LIST, LAST_COMMON + 1)
こういうことをするつもりなのであんまりピンときません
そこまでチェックいるのかなぁって感覚です

14あなたの名前を入力してください:2017/07/06(木) 20:14:58 ID:9qSHtzhE
>>13
まあ、出された例に気に食わないから(内部実装が筋が悪いけど)作っただけなので、実際の運用ならそんな感じだろうし使い道ないだろうとは自分でも思います
でも、配列の中身と実際の分岐の対応が目に見えないのが気持ち悪かった

15あなたの名前を入力してください:2017/07/06(木) 21:06:34 ID:JdHB6FIw
とにかく実装乙

16自動探索の人 ◆hDnGQesiDI:2017/07/06(木) 23:01:34 ID:qEzcbQic
[その他] 汎用関数_カラーバー表示関数
http://era.moe.hm/cgi/era/upload.php?id=0003103
[その他] 汎用関数_カラー指定文字列描画関数
http://era.moe.hm/cgi/era/upload.php?id=0003104
[その他] 汎用関数_INPUT補助
http://era.moe.hm/cgi/era/upload.php?id=0003105

応援に。こういうの活気付くといいですね。
以下、簡単な説明。
・汎用関数_カラーバー表示関数
HPなどの表示に使える割合ゲージ、RGBスライダー、HSBスライダーを描画する関数群です。
割合ゲージは使える場面は多いと思います。カラースライダー2種はあまり使う場面は多くないんじゃないかな。
プレイヤーが任意の色を入力する時に視覚的な補助が必要だったら……くらい。

・汎用関数_カラー指定文字列描画関数
頻繁にフォントカラーを変更する人向け。関数ひとつでカラフルな文字列が描画できます。

・汎用関数_INPUT補助
ボタン入力の表示と入力内容のチェックを行う関数と、文字列入力の補助関数。
ついでに話題が盛り上がってたランダム抽選機能も追加してみました。

3つともサンプルを用意したので、詳しくはそちらで確認してみて下さい。

17あなたの名前を入力してください:2017/07/07(金) 05:15:32 ID:qewQ/Jxo
こりゃまた需要が濃そうなものを…乙です

18あなたの名前を入力してください:2017/07/07(金) 21:17:37 ID:5F7G4L4s
STRFORMでFORループの変数を拾えない?
変な挙動するせいで原因究明と回避方法の模索に手間取っちまった。

数値入力画面を作る関数詰め合わせ
http://era.moe.hm/cgi/era/upload.php?id=0003106

中身は三種類です。簡易な説明は>>19
@INPUT_NUMBER
@INPUT_TIME
@INPUT_ITEMBUY

CC0で配布します。中にも書いてあるよ。

19あなたの名前を入力してください:2017/07/07(金) 21:20:06 ID:5F7G4L4s
;数値入力補助関数@INPUT_NUMBER
;
;―――――――――
;114514
;―――――――――
;[7] [8] [9] [CLEAR]
;[4] [5] [6]
;[1] [2] [3]
;[0] [00] [ENTER]
;
;このような数字入力用の画面を構築する関数です。
;作ったはいいものの、正直2,3桁の入力にテンキー型は向いてないと思います()


;数値入力補助関数@INPUT_TIME
;
;△ △ △ △
;――――――
; 0 7 : 3 0
;――――――
;▼ ▼ ▼ ▼
;
;[ENTER]
;
;このような時間入力用の画面を構築する関数です。
;
;【重要】初期値、返り値は分合わせ、つまり時*60+分になります。
;07:30の場合、RESULT = 450になります。
;
;直接入力することも可能です。
;その場合730で07:30になります。


;アイテム購入補助関数@INPUT_ITEMBUY(A_アイテム番号 = -1)
;
;アイスティー
;
;所有数: 1 所持金:114514金
; △ △
;購入数: 1 9 購入額: 1919金
; ▼ ▼
;
;[ENTER]
;[キャンセル]
;
;このような複数購入可能なアイテムの購入画面を構築する関数です。
;最大数はデフォルト99個ですが変更可能です。

20あなたの名前を入力してください:2017/07/07(金) 21:23:02 ID:5F7G4L4s
スレだとズレるなあ。
実処理ではズレない。はず。たぶん。直したと思う……。

21あなたの名前を入力してください:2017/07/08(土) 11:12:58 ID:1zL3umeE
スレだとタブやスペースの連続が消えてコードを貼るのに向いてないから
pastebinみたいな所使った方がいいって話がスレ建てスレであった

22あなたの名前を入力してください:2017/07/08(土) 13:55:47 ID:6xVlwSaY
pastbinは軽く解説を見た限り、Syntax Highlightingはどれが一番erabasicに向いてるのかわかりませんでした……。
あと本人しか知りえないだろうけど、アドレス貼り付けるだけで俺が作ったと言えるのか分からない。
>>19は出力サンプルだし、どっちもどうでもいいんだけどね。

23あなたの名前を入力してください:2017/07/08(土) 17:14:07 ID:gg5h6CiQ
著作権を放棄するとしても著作権表示を入れるのがよいかな。
あるいは電子署名のfingerprintを入れるか。

24あなたの名前を入力してください:2017/07/15(土) 16:24:52 ID:IUhgz7QQ
こんなの作りました!!
是非使ってください!(CC0)

;ARG=0 3回でフィニッシュ
;ARG=1 軽く2回
@SPERM_FLASH(ARG)
#DIM L_ARR, 10, 100
#DIM L_LEN, 10
ARG = LIMIT(ARG, 0, 1)
L_ARR:0:0 = 100, 60, 20, 100, 80, 60, 40, 20, 0, 0, 0, 100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 0
L_LEN:0 = 22
L_ARR:1:0 = 100, 50, 100, 80, 60, 40, 20, 0
L_LEN:1 = 8
GETBGCOLOR
LOCAL:1 = RESULT
FOR LOCAL:2, 0, L_LEN:ARG
LOCAL = L_ARR:ARG:(LOCAL:2)
LOCAL = MAX(0, MIN(255, LOCAL * 255 / 100))
SETBGCOLOR LOCAL, LOCAL, LOCAL
TWAIT 200, 1
NEXT
SETBGCOLOR LOCAL:1

25自動探索の人 ◆hDnGQesiDI:2017/08/01(火) 22:52:16 ID:xgPSoezk
[その他]汎用関数_身体サイズ生成
http://era.moe.hm/cgi/era/upload.php?id=0003125

身長やその他いくつかの要素から3サイズなどを生成するための関数群です。
流用しやすいようにキャラデータの領域を直接指定する部分は極力少なくしています。

サンプルを用意したので、詳しくはそちらで確認してみて下さい。

26あなたの名前を入力してください:2017/08/03(木) 12:50:27 ID:THgpoiqs
おつです
面倒な計算のライブラリができるなんて素晴らしいです
ライセンスは CC0 なんですね
ソースが置いてあるフォルダのテキストを見て分かりました

将来、バリアント作成時にはぜひ使いたいなと思ってます

27自動探索の人 ◆hDnGQesiDI:2017/08/06(日) 07:30:46 ID:u0jCWgpg
乙ありです。
そういってもらえると、上げたかいがあります。
ライセンスの場所については、Sampleの方に本体が入っているので、勘違いする人が出ないように念のために。まあ、いないとは思いますけど。

28あなたの名前を入力してください:2017/08/09(水) 18:56:29 ID:f8f9NGvA
こんな複雑な計算式で理想の体が算出されるとはカノンまじゴールデン
>>16もありがとうございます
なんかもう開いて見てるだけで美しいってなってます

29自動探索の人 ◆hDnGQesiDI:2017/08/11(金) 20:46:43 ID:gXzd4x8g
>>28
ありがとうございます。感想うれしいです。
ゴールデンさんの計算式自体はすごく単純なんですけどね。
計算がめんどくさくなってるのは、理想体型からブレさせるのと、おっぱいの重さ計算してるせい。
おのれおっぱい

30自動探索の人改めばふぉ ◆hDnGQesiDI:2017/08/19(土) 00:47:30 ID:fyZKKcEM
[その他]汎用関数_タグ指定文字列描画関数
http://era.moe.hm/cgi/era/upload.php?id=0003134
以前に公開したカラー指定文字列描画関数を改造してボタンやフォント指定も行えるようにしたものです

[その他]汎用関数_Window描画関数
http://era.moe.hm/cgi/era/upload.php?id=0003135
複数のウィンドウをまとめて描画できるようにする関数群です。上記のタグ指定文字列描画関数を使用しています。
同じ行位置の左右にウィンドウでそれぞれ別の内容を表示したい。なんて時に便利です。
ウィンドウを重ねて表示することも可能で、RPGのコマンド風の表示なんかも行えます

31自動探索の人改めばふぉ ◆hDnGQesiDI:2017/08/19(土) 01:09:46 ID:fyZKKcEM
>>30続き
いつもの如くサンプルを同梱してあるので、詳しくはそちらで確認してみて下さい。

32あなたの名前を入力してください:2017/08/20(日) 05:38:11 ID:r1wrUq8c
>>30
うぽつです

Window描画関数…だと…しゅごい
画面のレイアウトに困ることが多いので助かります

33あなたの名前を入力してください:2017/08/20(日) 17:56:05 ID:oVLp65yU
>>30
ウィンドウすげー!

34あなたの名前を入力してください:2017/08/21(月) 12:09:33 ID:wclAV05A
>>30
なにこれすげえ
こんなことできるのか…

35ばふぉ ◆hDnGQesiDI:2017/08/21(月) 21:45:02 ID:KTVbrI1o
ありがとうございます!
でもちょっと問題があったので修正しました

[その他]汎用関数_タグ指定文字列描画関数_ver1.1(機能追加)
http://era.moe.hm/cgi/era/upload.php?id=0003144
[その他]汎用関数_Window描画関数_ver1.1(機能追加)
http://era.moe.hm/cgi/era/upload.php?id=0003145

SHOP画面で使用しようとしたら文字列ボタンだとボタンが反応しないという現実が。
ということで、数値ボタンでの表示も出来るように修正しました。

ついでに同時に生成できるウィンドウ数を20個に増やしました。

36あなたの名前を入力してください:2017/08/27(日) 21:13:44 ID:f/gr.fiw
良いスレですね

>>35を見て、そういえば自分もそんな感じのやつ作ったなと思い出したのでUPします。
低機能でウインドウ化なんてとてもできませんが、書式が短いのでタイピングは楽です。

[その他]PRINTEX 色とスタイル指定可能なPRINT関数
http://era.moe.hm/cgi/era/upload.php?id=0003149

サンプル画像
http://i.imgur.com/kNl7myY.png

>>35があればこれ要らなくない?というのは全くその通りですが、
複数のアプローチがあっても良いかなと思うので上げてみました。

37あなたの名前を入力してください:2017/09/13(水) 22:11:55 ID:5LYVIWZM
新バリアントスレで盛り上がってるのに微妙に乗り遅れたので・・・・
多数のバリアントで使用する前提の汎用口上(事実上パッチ)を書いてみた

http://era.moe.hm/cgi/era/upload.php?id=0003163

基本コンセプトは↓の3つ。
・素質に応じて複数の口上を呼び分ける
・キャラ別口上と同じフォーマットで書ける
・バリアントごとの差違は関数で使い分ける

多数のバリアントを使用する前提と言いつつ、今開発してるバリアント(eraRL)以外での動作検証はしてないが

38あなたの名前を入力してください:2017/10/11(水) 08:06:24 ID:F/tfGFJ2
バグがあったので更新です。

汎用ランダム抽選関数RANDCHOOSE_ver2.1
ttp://era.moe.hm/cgi/era/upload.php?id=0003193
【用途】
複数の数値を「候補」として自由に指定して、それらの候補の中からランダム抽選を行う関数です。
特定の条件を満たしたキャラクターだけを候補に加えて抽選する、
といった用途を想定しています。


あと、用途が狭いけどせっかく作ったので晒し。

汎用指定桁抽出関数FIGURE_SPLIT
ttp://era.moe.hm/cgi/era/upload.php?id=0003194
【用途】
変数の指定した桁の値を返す汎用関数
桁数を参照することでひとつの変数に180個のフラグを持たせたりできる
必要に応じて通常のビット演算と使い分けてください

39あなたの名前を入力してください:2017/10/16(月) 00:23:40 ID:Z1I2IfaE
おつです〜。

>>FIGURE_SPLIT
大したことではないですが、REPEAT〜RENDはCOUNTを汚すんで使わないほうがよさげです。
例えば、REPEAT〜REND中にFIGURE_SPLIT使うとたぶん望む結果が得られないはず。

40あなたの名前を入力してください:2017/10/17(火) 02:01:59 ID:2odMCXo6
>>39
おうふ、初歩的なミスを…
ご指摘ありがとうございます、修正して差し替えました〜

汎用指定桁抽出関数FIGURE_SPLIT
ttp://era.moe.hm/cgi/era/upload.php?id=0003199

41あなたの名前を入力してください:2017/10/28(土) 13:00:51 ID:OI78Jgng
とりあえず作ってみたので上げます。汎用関数というかアプリがメインですが……

era2talk v0.00
http://era.moe.hm/cgi/era/upload.php?id=0003220&downf=org
eraのテキストを読み上げソフトに読ませます。

;-------------------------------------------------
;口上表示・保存関数@PRINTFORMW2T
;口上をグローバル変数として保存し、また表示もする

;-------------------------------------------------
;口上保存関数@SAVE2T
;保存はするが表示はしない
;表示と発音で表記を変えるとき(「膣内」で「なか」みたいな)に使う

42あなたの名前を入力してください:2017/10/28(土) 22:42:18 ID:HzWt731Q
>>30のウィンドウ関数のヘルパー関数作ってみた

; 使い方
;CALL WINDOW_CREATE, 0, 0, 0, 20, 5, 1
;CALL WINDOW_BEGIN, 0
;CALL WINDOW_PRINTSL, @"【システム】"
;CALL WINDOW_PRINTSL, @"@B:20@[20] セーブ@/B@"
;CALL WINDOW_PRINTSL, @"@B:21@[21] ロード@/B@"
;CALL WINDOW_PRINTSL, @"@B:22@[22] コンフィグ@/B@"
;CALL WINDOW_FINISH

@WINDOW_BEGIN(L_ID)
#DIM L_ID
CALLF WINDOW_UTIL_CURRENT_ID, 1, L_ID
CALLF WINDOW_UTIL_CURRENT_LINE, 1, 0
CALL WINDOW_CLEARTEXT, L_ID

@WINDOW_PRINTSL(L_STR)
#DIMS L_STR
CALL WINDOW_SETTEXT, WINDOW_UTIL_CURRENT_ID(), WINDOW_UTIL_CURRENT_LINE(), L_STR
CALLF WINDOW_UTIL_CURRENT_LINE(1, WINDOW_UTIL_CURRENT_LINE() + 1)

@WINDOW_FINISH()
;見栄え兼拡張用

; 内部用 ERHを使わないインスタントグローバル変数 5行が最小か
@WINDOW_UTIL_CURRENT_LINE(ARG, ARG:1)
#FUNCTION
#DIM L_CONTENT
L_CONTENT = ARG ? ARG:1 # L_CONTENT
RETURNF L_CONTENT

@WINDOW_UTIL_CURRENT_ID(ARG, ARG:1)
#FUNCTION
#DIM L_CONTENT
L_CONTENT = ARG ? ARG:1 # L_CONTENT
RETURNF L_CONTENT

43あなたの名前を入力してください:2017/11/05(日) 22:02:08 ID:3Uc4E06k
>>41
とりあえず、SofTalkで試してみました。
今のところ強制終了などは発生していませんが、同じ台詞を2回言うことがありました。
こちらの環境はWindows7 64bitで、.NET Frameworkは4.7のようです。

ところで、この「global.savを外部プロセスで監視する」という手法を使えばEmueraのEXEファイルは無改造で、
・効果音を鳴らす
・BGMを鳴らす
・Emueraとは別のウィンドウでAAを表示する
・Emueraとは別のウィンドウで一枚絵を表示する
なども可能になるんですよね。
作る人や使う人がいるかどうかは別ですが。

44あなたの名前を入力してください:2017/11/06(月) 19:59:44 ID:wwdhGxnk
>>43
動作確認ありがとうございます。
同じ内容を再生してしまう不具合は、右クリックなどで高速でglobal.savを書き換えると起こるようですが、
とりあえずera2talkでは短期間に口上を再生しないように一応は対策してある……はずでした

もしよろしければ、確実に2回読んでしまう不具合が状況再現できるならば、詳細に報告をお願いします。

45あなたの名前を入力してください:2017/11/06(月) 22:29:12 ID:rgld1its
>>44
確実に2回再生させる方法はわかりません、というよりも今日少し触った範囲内では全然2回再生にならない……

>>43 に書いた内容に追加で別件を。
設定が保存される場所はera2talk.exeと同じフォルダではなく、C:\Users\(ユーザー名)\AppData\Local\era2talk\ 以下のサブフォルダの user.config のようです。
かつ、era2talk.exeの場所を変更すると、別のサブフォルダの user.config に記録されるようです。

使い勝手としては、いくつか考えられますが
・対応させるバリアントごとに別の場所にera2talk.exeを置いて、設定はera2talk.exeと同じフォルダに記録する
・era2talk.exeを起動するときのコマンドラインオプションで、セーブフォルダの場所などを指定する
・今は過去の履歴も含めてファイルパスを3つまで保持するようだけど、もっと多数保持できるようにする
などのほうが良いかもしれません。

また、ERA2TALK_FUNC.ERB以外でSAVEGLOBALが使用された場合のことを考えると
・グローバル変数にはセリフだけではなく1回ごとに変化するIDのような物も記録して、IDが変化した場合だけera2talk.exeからセリフ再生指示を出す(GLOBALS:0 の先頭に1文字追加して、それをIDとして扱っても良い?)
または
・適当なタイミングで、GLOBALS:0 を空っぽにする
のような手法も検討したほうが良いかもしれません。
・前回と全く同じセリフの場合はera2talk.exeからセリフ再生指示を出さない
でも対処はできそうですが、制限事項になってしまいますね。

46あなたの名前を入力してください:2017/11/06(月) 23:00:01 ID:9yLu6D1w
ポーリングしてるとしたらI/O待ちでって状況は想定し得る…かな?
その意味でシーケンス案は妥当だと思う

そこまで想定するなら素直に組み込んじゃえ!と思わなくはないけど、セーブデータ経由の無改造IPCという発想は面白いw

47あなたの名前を入力してください:2017/11/07(火) 09:09:12 ID:3ge56lrg
>>43
理屈の上ではオナホやローターと連動させることも可能だね
具体的にはこのあたり
ttp://www.waffle1999.com/onahole/cyclonex10usb.html
ttp://www.waffle1999.com/onahole/rinkaiten.html

後は頑張ればarduinoあたりで作れるかも


新着レスの表示


名前: E-mail(省略可)

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

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

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

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