商人物語の改造のご相談 - ktk 2022/03/02(Wed) 02:06 No.651
 ├ Re: 商人物語の改造のご相談 - ktk 2022/03/03(Thu) 15:13 No.652
 ├ Re: 商人物語の改造のご相談 - GEN 2022/03/05(Sat) 18:46 No.653
 ├ Re: 商人物語の改造のご相談 - ktk 2022/03/06(Sun) 11:14 No.654
 ├ Re: 商人物語の改造のご相談 - ktk 2022/04/21(Thu) 17:08 No.656
 └ Re: 商人物語の改造のご相談 - GEN 2022/05/03(Tue) 00:29 No.658

No.651 商人物語の改造のご相談 - ktk
 

こんにちは。
まだ現役で稼働している鯖があってうれしいです。

先日商人物語を設置しいろいろと試行錯誤をしながら改造を進めております。

禁書において【放火】というコマンドを追加したいのですが
相手の倉庫にあるアイテムを消去して空っぽにする処理が思いつかず苦戦しております。
お力添えいただけないでしょうか…

2022/03/02(Wed) 02:06
No.652 Re: 商人物語の改造のご相談 - ktk
 

for構文にて自力解決できました。
ありがとうございました。

2022/03/03(Thu) 15:13
No.653 Re: 商人物語の改造のご相談 - GEN
 

わかりました〜。解決されてよかったです。
開発元や商人物語のサイトも放置されていたり閉鎖されている所が多いですね。

2022/03/05(Sat) 18:46
No.654 Re: 商人物語の改造のご相談 - ktk
 

perlのバージョンアップに合わせてdefineでエラーを吐くようになったまま放置されていたりと、ちょっと寂しいものがありますね。

今後もご迷惑でなければ改造相談させていただければと思います。

2022/03/06(Sun) 11:14
No.656 Re: 商人物語の改造のご相談 - ktk
 

またご相談させていただきます。
inc-funcにて個人データの変数を追加し、
inc-turnでターン毎の売り上げ計算に合わせてステータスが変わるようにする変更を加えたところ、最初は問題なく動いておりましたが、何らかのトリガー(イベント発動判定の処理?)で知らないうちにエラーが出ておりました。

「../program/inc-turn.cgi」の 356行目付近に原因があるようです。
Undefined subroutine &event::stock_le called at ../program/inc-turn.cgi line 356.

特段イベント関連はいじっておらず、原因に心あたりがありません…
もし同じようなご経験があればアドバイスいただけるとありがたいです。

2022/04/21(Thu) 17:08
No.658 Re: 商人物語の改造のご相談 - GEN
 

返信が遅くなってすいません。
既に解決しているかもしれませんが、私の改造ではinc-funcやinc-turnはあまり改造していないので、原因がよくわかりません。

そのサブルーチンが他のファイルで定義されているのなら、上のほうで
RequireFile('xxx.cgi');
みたいにしたほうがいいかもしれません。
また、ログに書き込む処理は
Lock();
RenewLog();
DataWrite();
DataCommitOrAbort();
UnLock();
みたいにした気がします。

代替案としては、決算毎にアイテムの総売り上げを合計して、ステータスを変更することは
できます。inc-item-data.cgiの改造で済みます。


sub UpdateResetBefore #決算直前の処理(関数名固定) 

#ユーザー変数に、本日(決算期ごと)の売り上げ×価格を足す処理はたぶん以下

foreach my $DT (@DT){

$DT->{user}->{param} = $DT->{user}->{param} + $DT->{itemtoday}{アイテム番号} * $ITEM[アイテム番号]->{price}
}

よろしくお願いします。

2022/05/03(Tue) 00:29
Eメール
お名前
題 名  ※投稿キーは必須です!
本文
URL
アイコン   [イメージ参照]
暗証キー (英数字で8文字以内)
投稿キー (投稿時 投稿キー を入力してください)
文字色
No. 暗証キー