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

最新の投稿 / ↑前のページ / ↓次のページ

No.303 度々申し訳ありませんが。。。。。m(_ _)m - キャンディー
/
 

いつも突拍子もない質問で大変恐縮なのですが、もう1点ご支援いただきたい事がありまして再度投稿させていただきました。
キママメーカーさんの所で配布されている銀行システムについてなのですがキママさんの掲示板の方にも投稿したのですがお忙しいみたいでお返事がいただけないものでどうかご支援よろしくお願いします。
銀行施設の改造になるのですが赤字(サラ金)店舗に対してなのですが自動で銀行より援助し、貯金があればそちらから、なければ借金にて自動で援助するようにしたいのですがどうしたら良いのか分からないのですが改造方法及び改造箇所等を教えていただけると幸いです。何かとお忙しいかと思いますがどうかよろしくお願いしますm(_ _)m

2008/11/25(Tue) 22:13
No.304 Re: 度々申し訳ありませんが。。。。。m(_ _)m - GEN
 

inc-periodで、赤字かどうかの判定をして、援助するか、イベントで援助するかのどちらかになると思います。資金援助については、追加ルーチンの「資金援助の改良」も参考になるかと思います。銀行関係の変数もユーザー変数で「$DT->{user}->{bankmoney}」などというように入っているようなので、例えば赤字のとき、資金が10万になるよう援助するなら、
・もし赤字のとき→
 (資金(マイナス) + 預金額 > 10万) 預金額 = 預金額 - (10万 - 資金)、資金=10万
 (上記以外のとき) 預金額 = 0、資金=資金+預金額、借金=10万-資金、資金=10万

みたいな感じでしょうか。違っていたらすいません。とりあえず、決算処理の銀行処理の近くに入れてはいかがでしょうか。

2008/11/25(Tue) 23:00
No.305 Re: 度々申し訳ありませんが。。。。。m(_ _)m - GEN
 

預金額 = 0、資金=資金+預金額

資金=資金+預金額、預金額 = 0
でした。お気づきかと思いますが。

銀行の処理を確認したところ、単純に預金を増減させるだけではなく、例えば預金全額引き出しのときは、「$DT->{user}->{bankinterest}=0;」の処理がされていたりするので、bank-s.cgiをよく確認して作成されると良いと思います。

2008/11/25(Tue) 23:04
No.306 Re: 度々申し訳ありませんが。。。。。m(_ _)m - XKY-Group
 

現物スクリプトを見ていないのでなんともいえないのですが、

預金引き出しの処理においては、
「預金額」「資金」の他に「利息処理」があると思います。
ここに設置されている「げんちゃん街」においては、「決算7回毎に利息5%」という設定があり、
例えば途中決算4回の時に全引き出しを行えば、その途中4回というのがリセットされるのではないかと考えられます。

なお、銀行からの援助を行うのであれば、赤字から脱却できないと当然意味がありませんし、
上限を廃せば今度は利息でまた赤字になり、雪だるま式に利息が増えていくことになってしまいます。
従って、もし行うのであれば、
「上限なし」「利率が低い」援助を行う必要があるでしょう。
・この貸し金は、$DT->{user}->{lowbank}などといったユーザーハッシュを新たに設けて処理するのが最も簡単かと。
・この貸し金は、銀行で借りることが出来ず、援助のみで借りることにするのがバランス的に良いでしょう。

2008/11/27(Thu) 07:12
No.307 Re: 度々申し訳ありませんが。。。。。m(_ _)m - GEN
 

XKY-Groupさん、いろいろとアドバイスありがとうございます。

資金援助は、単純なようでなかなか難しいと思います。例えば、プレイを放置していて赤字になっている場合もありますし。最終アクセスから何日経っているかは取得可能です。援助の出所も銀行のほか街資金・ギルド・独自に設けた基金、どこからともなく等、いろいろと考えられると思います。また、なぜ赤字になったのか、維持費は適切か、ゲームバランスはどうか、なども考える必要があると思います。

2008/11/27(Thu) 23:43
No.308 みなさまありがとうございますm(_ _)m - キャンディー
 

管理人様、XKY-Groupさん色々と貴重なご意見ありがとうございます。σ(^_^)としては簡単に考えていたのですが結構問題がありそうですね(;^-^;)
とりあえず管理人様の資金援助の改良のソースを参考にさせていただき設定を変更して代用しようかと考えています。
ちなみに、イベントにより資金援助を行う際に預金の変数を利用して擬似的に処理を行う事は可能でしょうか?

2008/11/28(Fri) 20:43
No.310 Re: 度々申し訳ありませんが。。。。。m(_ _)m - XKY-Group
 

「擬似的援助」の意味がよくわかりませんが、
「預金を強制的に引き出す」ということであれば、以下のような流れが考えられます。
なお、当方は現物ソースを持っていないため、具体的なスクリプトを書くことは出来ません。
キャンディーさん自身でスクリプトに変換してください。

・資金+=預金
#まず、預金を全額引き出して赤字が解消できるか調べます。

・(資金>0の場合)
預金=資金
資金=0
#それで赤字が解消できるようなら、資金を全額預金します。

・(資金<=0の場合)
利息処理の途中経過をリセット
#赤字が解消出来なければ、全額を引きだしたままということで、利息処理の途中経過をリセットしておきましょう。

勿論、他のやり方もあるでしょうが、どういう方法を採るかは、それもやはりキャンディーさん自身でお願いします。

2008/11/28(Fri) 21:17
No.316 Re: 度々申し訳ありませんが。。。。。m(_ _)m - キャンディー
 

お返事遅くなってしまいすみませんm(_ _)m
ご返答の方ありがとうございます。
大変参考になります。処理の流れはなんとなく分かったのですがそれをソースに書き出すとなるとちょっとσ(^_^)には無理なようです(;^-^;)
時間をかけてチャレンジはしてみようかと思いますがかなり時間がかかるかと・・・・・・
毎回大変勉強になるコメントをしていただきありがとうございます。また何かありましたらご投稿させていただきますのでその際はよろしくお願いしますm(_ _)m

2008/12/04(Thu) 21:02
No.286 度々すみませんm(_ _)m - キャンディー
/
 

度々すみませんが再度別件で教えていただきたい事がありましたので投稿させていただきました。
先日σ(^_^)のサイトの商人で改造を行ったのですが特にエラーらしいのはでないのですが決算時におかしな現象が起こってしまい原因が分からず行き詰まってしまいました(;^-^;)
元に戻したりもしたのですが完全には戻っていないらしく今となってはどこをいじったか分からないものでどうしようもなくなってしまいました。
おかしな現象ですが決算時に同じ処理が十数回連続して行われます。
例えば反乱系で言いますと・・・・・・
『11/22 07:54 [情報]街資金が底をつき,街の護衛軍に給料を支払えないようです。
11/22 07:54 [情報]街の護衛軍が少ないため,治安が悪化しています。
11/22 07:54 [情報]街資金が底をつき,街の護衛軍に給料を支払えないようです。
11/22 07:54 [情報]街の護衛軍が少ないため,治安が悪化しています。
11/22 07:54 [情報]街資金が底をつき,街の護衛軍に給料を支払えないようです。
11/22 07:54 [情報]街の護衛軍が少ないため,治安が悪化しています。
11/22 07:54 [情報]街資金が底をつき,街の護衛軍に給料を支払えないようです。
11/22 07:54 [情報]街の護衛軍が少ないため,治安が悪化しています。
11/22 07:54 [情報]街資金が底をつき,街の護衛軍に給料を支払えないようです。
11/22 07:54 [情報]街の護衛軍が少ないため,治安が悪化しています。
11/22 07:54 [情報]街資金が底をつき,街の護衛軍に給料を支払えないようです。
11/22 07:54 [情報]街の護衛軍が少ないため,治安が悪化しています。
11/22 07:54 [情報]街資金が底をつき,街の護衛軍に給料を支払えないようです。
11/22 07:54 [情報]街の護衛軍が少ないため,治安が悪化しています。
11/22 07:54 [情報]街資金が底をつき,街の護衛軍に給料を支払えないようです。
11/22 07:54 [情報]街の護衛軍が少ないため,治安が悪化しています。
11/22 07:54 [情報]街資金が底をつき,街の護衛軍に給料を支払えないようです。
11/22 07:54 [情報]街の護衛軍が少ないため,治安が悪化しています。
11/22 07:54 [情報]街資金が底をつき,街の護衛軍に給料を支払えないようです。』
のように同じ処理を同時刻に行ってしまいます。
σ(^_^)も出来る限りやってみたのですが何が悪いのか分からず管理人様にすがる事になってしまい申し訳けありませんが何が原因かおわかりになりましたら教えていただけないでしょうか?
修正方法など教えてくださると大変助かりますのでよろしくお願いします。

2008/11/22(Sat) 22:00
No.287 Re: 度々すみませんm(_ _)m - GEN
 

処理の連続される回数が、参加しているプレイヤーの人数と一致しているのであれば、 inc-period内の「foreach my $DT (@DT) {」から始まる各プレイヤーの決算処理の閉じカッコがずれていて、軍資金関係にかかっていることが考えられます。カッコの位置を、元のファイルと比べてみてはいかがでしょうか。

2008/11/23(Sun) 00:54
No.288 Re: 度々すみませんm(_ _)m - XKY-Group
 

本題の回答は出来ないですが(現物を持っていないので)、一応アドバイスです。

カスタマイズした場所にはコメント(#…)を入れることをお勧めします。改造前と比較がしやすいからです。
後は、foreachやif等で{}がたくさん現れる場合は、それが出るたびにTabを一つずつ増やすと、間違いが発見しやすくなります。

情報の繰り返し、ログの内容から推定して、foreachとifがたくさん使われていると思うので、
このように整理してみれば間違いは割と簡単に見つかると思います。

#関係ないことですが、今回の投稿キーは8888でした。

2008/11/23(Sun) 18:25
No.289 Re: 度々すみませんm(_ _)m - キャンディー
 

管理人様
早速のご返答ありがとうございます。
修正した所無事正常に動作しました。
本当にありがとうございますm(_ _)m

XKY-Groupさんへ
助言の方ありがとうございますm(_ _)m
いつもは改造した場合、修正箇所が分かるように修正前の箇所をコメント化して残したり追加箇所を分かるようにしていたのですが今回はしなかったんです(;^-^;)
その為に今回のようにバグとりに四苦八苦してしまいました。
改造した時になかなか整理できていないので今後はXKY-Groupさんのコメントをご参考にさせていただこうと思います。
ありがとうございます。

2008/11/23(Sun) 22:01
No.263 公開ルーチンの移植について - XKY-Group
/
 

公開ルーチンの移植は(プログラム的には)出来ますが(著作権的に)可能でしょうか?

具体的には管理人様が製作された商人用に公開された改造ルーチンを、
当方が公開しようとするSOLD(の改造品)に適用させようと考えています。

2008/10/04(Sat) 17:06
No.264 Re: 公開ルーチンの移植について - GEN
 

著作権的にも可能です。

私のサイトではその辺の表示がきちんとなされていないのですが、
商人物語やSOLDOUTは、GNU General Public Licenseという形で
公開されており、改造プログラムもこれに従って配布しています。
なので、改造プログラムは商人物語に限らず、自由に使えます。

ですが、プログラム的なサポートまではできないです。

2008/10/04(Sat) 19:16
No.265 Re: 公開ルーチンの移植について - XKY-Group
 

ご回答ありがとうございます。

これが(著作権的に)SOLDでも使えるのなら、早速適用させようと思います。
そこで問題が発生するようなら自己解決か…或いは諦めます

2008/10/05(Sun) 12:29
No.253 こんばんは。 - キャンディー
/
 

管理人様こんばんは。いつも色々とご参考にさせていただいております。今回ちょっと管理人様のお力をお貸しいただきたいと思い書き込みさせていただきました。ギルドコマンドで店舗よりギルドへ資金援助が出来るのですが逆にギルド資金を店舗へ援助をするにはどうしたら良いのでしょうか?
多分ですがいじるファイルはinc-guild-cmd.cgiだと思います。
改造箇所は
sub GuildFundF
{
$stock=($DT->{money} - 100000);
$disp.="<BIG>●ギルド寄付</BIG>: 資金の余裕がありません",return if ($stock < 100000);
$disp.=<<STR;
<form action="action.cgi" $METHOD>
<INPUT TYPE=HIDDEN NAME=key VALUE="gd-s">
$USERPASSFORM
<INPUT TYPE=HIDDEN NAME=mode VALUE="fund">
<BIG>●ギルド寄付</BIG>: $term[0]
<SELECT NAME=cnt1>
<OPTION VALUE="0" SELECTED>
STR
$msg{1000}=1000;
$msg{10000}=10000;
$msg{100000}=100000;
$msg{1000000}=1000000;
$msg{$stock}="$stock(最大額)";
my $oldcnt=0;
foreach my $cnt (sort { $a <=> $b } (1000,10000,100000,1000000,$stock))
{
last if $stock<$cnt || $cnt==$oldcnt;
$disp.="<OPTION VALUE=\"$cnt\">$msg{$cnt}";
$oldcnt=$cnt;
}
$disp.=<<STR;
</SELECT>
$term[1]、もしくは $term[0]
<INPUT TYPE=TEXT SIZE=7 NAME=cnt2>$term[1]
<INPUT TYPE=SUBMIT VALUE="寄付する">
</FORM>
STR
}

をいじれば良いと思うのですがいまいち分かりません(;^-^;)
対象変数を入れ替えたりすれば良いかと思いますが具体的にどう改造したら良いか教えていただけると大変助かります。
何かとお忙しいかと思いますがよろしくお願いします。

2008/09/28(Sun) 19:43
No.254 Re: こんばんは。 - GEN
 

この部分は、単なる表示というか、データの入力部分にすぎず、
実際の処理部分は別にあります。
どこを見るといいますと、
<INPUT TYPE=HIDDEN NAME=key VALUE="gd-s">
<INPUT TYPE=HIDDEN NAME=mode VALUE="fund">

この2行から、「gd-s.cgi」の「fund」という処理に飛んでいることがわかります(商人物語の記述に限ったことですが)。

実際の記述は以下のようになっていました。
sub fund
{
$count=CheckCount($Q{cnt1},$Q{cnt2},0,$DT->{money});

OutError('寄付金額を指定してください') if !$count;
OutError('最低でも'.GetMoneyString(100000).'は自店に残しましょう') if ($DT->{money} - $count) < 100000;

$ret="ギルド「".$GUILD{$DT->{guild}}->[$GUILDIDX_name]."」に".GetMoneyString($count)."寄付";
EditGuildMoney($DT->{guild} ,$count);
$DT->{money}-=$count;
$DT->{paytoday}+=$count;
PushLog(0,0,$DT->{shopname}."がギルド「".$GUILD{$DT->{guild}}->[$GUILDIDX_name]."」に".GetMoneyString($count)."寄付しました。");
}

ギルド員に援助ということで、新たに以下のような処理を追加する必要があると思います。
@ギルド員のみを選択できるリストを表示する
Aギルド員のIDから変数を取り出す

具体的には、以下のように改造するとできます。たぶん。
■「inc-guild-cmd.cgi」GuildFundFの下に追加
sub GuildFundF2
{
$disp.=<<STR;
<form action="action.cgi" $METHOD>
<INPUT TYPE=HIDDEN NAME=key VALUE="gd-s">
$USERPASSFORM
<INPUT TYPE=HIDDEN NAME=mode VALUE="fund2">
<BIG>●資金援助</BIG>:ギルド員
<SELECT NAME=tg>
STR

foreach(@DT){
next if ($_->{guild} ne $DT->{guild});
$disp.="<OPTION VALUE=\"".$_->{id}."\">$_->{shopname}";
}

$disp.=<<STR;
</SELECT>
に対し、 $term[0]
<INPUT TYPE=TEXT SIZE=7 NAME=cnt>$term[1]
<INPUT TYPE=SUBMIT VALUE="寄付する">
</FORM>
STR
}

■「inc-guild-cmd.cgi」の最初に「GuildFundF2」の呼び出し追加

GuildFundF();
$disp.='<hr width=500 noshade size=1>';

GuildFundF2();
$disp.='<hr width=500 noshade size=1>';

Break();
my $checkok;

■「gd-s.cgi」のfundの下にfund2として以下を追加

sub fund2
{
$i=$id2idx{$Q{tg}};
$DTS=$DT[$i];

$ret=$DTS->{shopname}."に".GetMoneyString($Q{cnt})."の資金援助を行ないました";

EditGuildMoney($DT->{guild} ,-$Q{cnt});

$DTS->{money}+=$count;

PushLog(0,0,"ギルド「".$GUILD{$DT->{guild}}->[$GUILDIDX_name]."」が".$DTS->

{shopname}."に".GetMoneyString($Q{cnt})."の資金援助を行ないました。");
}

以上でできるはずです。
ただし、ギルド資金より多い援助額を入力された場合のエラーなどは入れていません。

2008/09/28(Sun) 22:43
No.259 ありがとうございますm(_ _)m - キャンディー
 

早速のご返答ありがとうございます。
初歩的な事かと思いますがご支援くださいましてありがとうございます。まだ試していませんが週末の時間が出来た時に試してみたいと思います。ギルド資金以上の援助をした場合のエラーですがあまり自信がありませんが頑張ってみます。
もしうまく行かない場合再度ご支援をお願いするかもしれませんがその時はよろしくお願いします。

2008/10/01(Wed) 21:50
No.220 凍結 - ゆー
/
 

ゆーです。げんさまお世話になってます。
当分INが出来ない為全街凍結をお願いできませんか。
お願いします。

2008/05/25(Sun) 18:56
No.221 Re: 凍結 - げんちゃん
 

こちらこそお世話になっております〜。
ゲーム街の店舗を凍結しました。
解除するときは、またお知らせください。

2008/05/25(Sun) 19:23
No.249 Re: 凍結 - ゆー
 

こんにちは。
凍結してもらっているのですが、あと2年INできそうにないので、
このまま閉店したいと思います。
凍結を解除おねがいします。
ご迷惑をおかけしました。m(_ _)m

2008/09/15(Mon) 09:48
No.250 Re: 凍結 - GEN
 

満員になることはないので、
凍結のままでもよかったのですが、
凍結を解除しておきますね。

長い間遊んでいただきありがとうございました。

2008/09/18(Thu) 00:59
No.251 Re: 凍結 - ゆー
 

こちらこそありがとうございました。
また遊びたいです。
管理がんばってください。

2008/09/21(Sun) 17:57

最新の投稿 / ↑前のページ / ↓次のページ

Page: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | | 13 |

No. 暗証キー

- YY-BOARD / 改造:げんちゃんゲームランド-