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

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

No.414 ゲーム街の解凍 - 死神
/
 

解凍をお願いします。

2009/12/02(Wed) 18:10
No.415 Re: ゲーム街の解凍 - GEN
 

解凍しました。

2009/12/02(Wed) 22:11
No.393 ワールドアトラスについて - 泉
/
 

はじめまして。いきなりすみません。
うちのサイトのワールドアトラスのプレイヤーさんから要望があったのですが、船団の帰還までの残り時間を表示するということはできるのでしょうか?
残り時間がわからないのでやりづらいという意見がありましたので、なんとかできないかと思いまして書き込ませていただきました。
ご教授いただけるとありがたいです。

2009/11/10(Tue) 14:08
No.394 Re: ワールドアトラスについて - GEN
 

はじめまして。書き込みありがとうございます。
どこに表示させるのがよいかわかりませんが、
とりあえず「まだ船団が帰ってくる気配はないようだ」のメッセージのあとに時間を表示することは可能です。

inc-item-data.cgiの探検、貿易、武装船団の
$ret.="もう少し気長に待ってみよう。</tr></table>";
の部分を
$ret.="あと".int(($subdata[0] - $main::NOW_TIME)/3600)."時間くらい待ってみよう。</tr></table>";
に変えると時間が表示されます。

倉庫で表示するには、stock.cgiを編集します。

$ITEM[$no]->{name}.="(出港中)" if -e(GetPath($SUBDATA_DIR,$DT->{id}."-exp".$no));
の部分を、
main::RequireFile('inc-sea.cgi');
my @subdata=main::ReadSeaSub("$DT->{id}-exp$no");

my $t = int(($subdata[0] - $main::NOW_TIME)/3600);
$t = 0 if ($main::NOW_TIME > $subdata[0]);

$ITEM[$no]->{name}.="(帰還まで".$t."時間)" if -e(GetPath($SUBDATA_DIR,$DT->{id}."-exp".$no));

とすると、(出港中)の代わりに(帰還まで10時間)などと出ます。既に着いているときは(帰還まで0時間)を表示します。

この辺だと思います。

2009/11/11(Wed) 21:49
No.395 Re: ワールドアトラスについて - 泉
 

お返事ありがとうございます。
テストしてみたところうまく作動いたしました^^

そこでもうひとつお願いがあるのですが、時間表示を人気度やごみの量のようなバーに変更することはできますでしょうか?
何度もすみません。ご検討いただければありがたいです><

2009/11/13(Fri) 12:53
No.396 Re: ワールドアトラスについて - GEN
 

うまくいってよかったですね。
時間表示のバー表示ですが、可能かとは思いますが、
どのようにバーにするのかがよくわかりません。
バーが100%に近づくほど決算に近づくという感じでしょうか。

ちなみに、バー表示は
GetRankMessage(数値)
でできます。
元のルーチンはcustom/plug/detail.cgi
に入っています。

GetRankMessageをコピーして、
バーの幅などをカスタマイズした
GetRankMessage3などを
ここに新たに作っておくと便利です。

2009/11/14(Sat) 01:22
No.398 Re: ワールドアトラスについて - 泉
 

わかりにくい説明で申し訳ありません・・・。
バー表示にしたいのは船団が返ってくるまでの時間のところです。
倉庫ではおそらく無理だと思いますので、inc-item-data.cgiの方だけでもできたらいいと思いまして・・・。つまりバーが100%で帰還ということになります。

何度も申し訳ありませんが、ご検討よろしくお願いいたします。

2009/11/16(Mon) 11:53
No.399 Re: ワールドアトラスについて - GEN
 

my $t = int((12-($subdata[0] - $main::NOW_TIME)/3600)/12*100);
$t = 0 if ($t < 0);
$t = 100 if ($main::NOW_TIME > $subdata[0]);

$ITEM[$no]->{name}.=" ".GetRankMessage($t*100)." " if -e(GetPath($SUBDATA_DIR,$DT->{id}."-exp".$no));

とすると、バー表示できます。残り時間を帰還に必要な時間で割っています。

ですが、厳密なものではありません。帰還に必要な時間は、12時間にランダムで最大2時間を加えた時間になります。ですが、この時間はどこにも記録されないので、とりあえず12時間で割っています。

このすると、帰還時間が14時間に設定された船団は、2時間の間バーが0%のままで、2時間後にようやく1%になります。ですが、一方で帰還時間が12時間に設定された船団は、2時間後には17%になります。

まぁこれでもよければ、上の仕組みで実装できます。ちなみに、ユーザー変数を使って正しい帰還時間を記録しておけば、正確な表示が可能になります。

2009/11/16(Mon) 23:15
No.400 Re: ワールドアトラスについて - 泉
 

お返事ありがとうございます。下記のように記述して見ましたが、エラーが出て分析できないようです。
私の記述が悪いと思いますので、申し訳ありませんが訂正お願いできないでしょうか。

$ret.="港に出てみたが,まだ船団が帰ってくる気配はないようだ。<br>";
my $t = int((12-($subdata[0] - $main::NOW_TIME)/3600)/12*100);
$t = 0 if ($t < 0);
$t = 100 if ($main::NOW_TIME > $subdata[0]);
$ITEM[$no]->{name}.=" ".GetRankMessage($t*100)." " if -e(GetPath($SUBDATA_DIR,$DT->{id}."-exp".$no));
$ret.="もう少し待ってみよう。</tr></table>";

また帰還時間の方ですが、14時間で割ってみたらどうなるのでしょうか。
14時間にすれば増える量こそ違いますが、1時間づつ均等に増えていくかと思いまして・・・。

2009/11/17(Tue) 13:21
No.401 Re: ワールドアトラスについて - GEN
 

説明不足で申し訳ありません。stock.cgiを変更しています。

$ITEM[$no]->{name}.="(出港中)" if -e(GetPath($SUBDATA_DIR,$DT->{id}."-exp".$no));
の部分を、

main::RequireFile('inc-sea.cgi');
my @subdata=main::ReadSeaSub("$DT->{id}-exp$no");

my $t = int((12-($subdata[0] - $main::NOW_TIME)/3600)/12*100);
$t = 0 if ($t < 0);
$t = 100 if ($main::NOW_TIME > $subdata[0]);

$ITEM[$no]->{name}.=" ".GetRankMessage($t*100)." " if -e(GetPath($SUBDATA_DIR,$DT->{id}."-exp".$no));

と変更します。

確かに、14で割っておけばいいと思います。12の数字を14にするだけでそうなると思います。

・・・、いまさらですが、「もう少し待ってみよう」のメッセージとともにバーを表示させたいということでしたか?現状では倉庫で表示されます。メッセージでも同じことができると思います。
・・・
と思いましたが、inc-item-cgi内でGetRankMessage($t*100)を使うとエラーが出てダメですね。

とりあえず、倉庫画面でバーを出すことは可能ですが、アイテム使用時は難しいかもしれません。

2009/11/17(Tue) 23:51
No.402 Re: ワールドアトラスについて - 泉
 

お返事ありがとうございます。
stock.cgiのほうはテストしてみたところ正常に稼動しました。
ひとまず14で行きたいと思います。

一応、「もう少し待ってみよう」の表示とともにバーを出すつもりだったのですが、倉庫で試してみたところ結構いい感じになったので、ひとまず倉庫表示で行きたいと思います。

お忙しいところ、わざわざ作成していただきありがとうございました。

2009/11/18(Wed) 13:58
No.413 Re: ワールドアトラスについて - マッコイ
 

はじめまして。
泉さんのゲームをプレイしたいので、サイトを教えてください。

2009/11/30(Mon) 11:24
No.405 荘園について - 胡蝶 飛鳥
/ URL /
 

お久しぶりです。前回は大変お世話になりました。この度は、またお力を借りたいと思い書き込ませていただきました。

荘園で熟成するまでの時間をバーで表示したいのです。
ちょうど泉さんが同じようなことを御質問なさっていたので、参考にしてみたのですがなかなかうまくいかずに困っています。
manor.cgiの39行目に $TDB."熟成時間" の追加と、64行目と65行目の間へのバー表示記述をしているのですがエラーばかりで表示できないのです。
お忙しいところ申し訳ありませんが、お力をお貸しいただけないでしょうか。

2009/11/26(Thu) 21:48
No.406 Re: 荘園について - GEN
 

以下のようにして、バーを追加しました。

$disp.=$TDB."種".$TDB."販売在庫".$TDB."販売価格".$TDB."自店保有".$TD.$TDB."熟成時間".$TDB."収穫物"・・・

$disp.=$TD."→";
$disp.=$TD.GetRankMessage(int((1-($DT->{_seed}->{"time$i"}-$NOW_TIME)/(86400+43200))*10000));
$disp.=$TD.GetTagImgManor($MYMANOR[3]).$MYMANOR[2];

これも、船団の帰還時間と同様な問題が発生しています。熟成にかかる時間は、inc-manor.cgiで設定されて、デフォルトでは「$ripetime=86400 + int(rand(43200));」です。即ち24時間+ランダムに12時間です。ですが、この時間は保存されないので、熟成までの割合を出すために、36時間で割っています。ソース内の「86400+43200」はそのことを示しています。いきなり合計でもよいのですが。

一般の人にとって不思議に思う現象が発生するかもしれません。仮に、種を1個買って、たまたま熟成時間が36時間に設定されると0%と表示され、次にもう一つ買って今度は24時間に設定されると、33%と出ます。毎回変わるので%が大きくなるように買う人が出るかもしれません。

$ripetime=86400 + int(rand(43200));

$ripetime=86400;
として、86400で割るとすっきりするかもしれません。

こんな感じでいかがでしょうか。

2009/11/27(Fri) 23:52
No.407 Re: 荘園について - 胡蝶 飛鳥
 

御回答ありがとうございます。早速試してみたところ種保有時の表示の方はうまくいきました。
ですが、種を保有していないときは何故か、=971809%と表示されてしまいます。※前文の“=”は1ピクセルほどのバーです。
これを0%もしくは表示しないように設定できないでしょうか。
注文ばかりで申し訳ありません。

2009/11/28(Sat) 00:36
No.408 Re: 荘園について - GEN
 

買っていないときのことを考えていませんでした。申し訳ありません。
該当箇所を以下のようにするといいと思います。

[0%で表示]
$disp.=$TD."→".$TD;
my $t = int((1-($DT->{_seed}->{"time$i"}-$NOW_TIME)/(86400+43200))*10000);
$t = 0 if(!$DT->{_seed}->{"time$i"});
$disp.=GetRankMessage($t);

[表示しない]
$disp.=$TD."→".$TD;
$disp.=GetRankMessage(int((1-($DT->{_seed}->{"time$i"}-$NOW_TIME)/(86400+43200))*10000)) if ($DT->{_seed}->{"time$i"});

・・・ちなみに、この手のバーが少し長いかなぁと思うのは自分だけでしょうか。もう少しコンパクトなバーに変更することができます。「custom/plug/detail.cgi」に、以下のようなGetRankMessage4を追加します。

sub GetRankMessage4
{
my($rank,$mode)=@_;
my $per=int($rank);
my $per2=int($rank/2);

return $per.(!$mode?"%":"") if $MOBILE;

my $bar="";
$bar ="<nobr>";
$bar.=qq|<img src="$IMAGE_URL/r.gif" width="|.( $per2).qq|" height="12">| if $per;
$bar.=qq|<img src="$IMAGE_URL/t.gif" width="|.(50-$per2).qq|" height="12">| if $per!=50 && !$mode;
$bar.=" ".$per;
$bar.="%" if !$mode;
$bar.="</nobr>";

return $bar;
}

GetRankMessageは、中身が10000で100%と出ますが、GetRankMessage4は変数が100のとき100%なので、これを使って、

my $t = int((1-($DT->{_seed}->{"time$i"}-$NOW_TIME)/(86400+43200))*100);
$t = 0 if(!$DT->{_seed}->{"time$i"});

$disp.=GetRankMessage4($t);

とすると半分の長さのバーになります。

追加ルーチンにも追加しておきたいと思います。

2009/11/28(Sat) 09:52
No.409 Re: 荘園について - 胡蝶 飛鳥
 

御対応ありがとうございます。テストしてみたところ正常に表示されるのを確認しました。
私も、バーをもう少し短くしたいと思っていましたので、早速コンパクトバージョンの方を導入させていただきました。
テストしてみたところ、通常の表示は問題ないのですが、50%の時のみバーの空き部分が切れてしまいます。
これは仕様なのでしょうか。一々突っ込みを入れてしまって本当に申し訳ありません;;

また、私のサイトでは、ほわいと様の追加プログラム“荘園複数設置”を入れているのですが、二つ目以降の荘園では、種の保有、未保有にかかわらず0%と表示されてしまいます。これはほわいと様の方に相談した方がよろしいでしょうか。

2009/11/28(Sat) 15:30
No.410 Re: 荘園について - GEN
 

GetRankMessage4にミスがあったため、うまく作動していないようでした。以下のように修正していただければ、50%時も大丈夫かと思います。お手数おかけします。

$bar.=qq|<img src="$IMAGE_URL/r.gif" width="|.( $per2).qq|" height="12">| if $per;
$bar.=qq|<img src="$IMAGE_URL/t.gif" width="|.(50-$per2).qq|" height="12">| if $per!=50 && !$mode;

$bar.=qq|<img src="$IMAGE_URL/r.gif" width="|.( $per2).qq|" height="12">| if $per2;
$bar.=qq|<img src="$IMAGE_URL/t.gif" width="|.(50-$per2).qq|" height="12">| if $per2!=50 && !$mode;
とする。(行末のperをper2にする)

複数荘園のソースを見ました。
$DT->{_seed}->{"time$i}という部分を、
$DT->{$_seed}->{"time$i"}
としてはいかがでしょうか。数箇所すべてをこれに変えるとうまくいくかもしれません。

2009/11/28(Sat) 23:06
No.411 Re: 荘園について - 胡蝶 飛鳥
 

修正ありがとうございます。テストしてみたところ、50%時においても正常に表示されました。
また、複数荘園の方への御回答もありがとうございました。こちらも無事に表示されました。
バー表示にして初めて気がついたのですが、一括購入だと全ての種が同じ時間で熟成するみたいですね。一括ですとばらつきを気にする必要はなさそうです。まぁ、個別で購入される方もいらっしゃるでしょうけど・・・^^;

この度はご協力いただき本当にありがとうございました。また何かありましたらよろしくお願いいたします。

2009/11/29(Sun) 09:55
No.412 Re: 荘園について - GEN
 

うまく動いてよかったです。
私の商人物語にもバーを適用したので、見やすくなったと思います。
今後ともよろしくお願いします。

2009/11/29(Sun) 22:58
No.276 いつもお世話になっておりますm(_ _)m - キャンディー
/
 

管理人様、こんばんは。
いつも色々とお世話になっておりますm(_ _)m
今回もちょっとお力をお借りしたく投稿させていただきました。
商人物語のNPCによる反乱を廃止したいと思いいろいろとやってみたのですがうまくいきません。
inc-period.cgi と inc-rebel-data.cgiをいじればいいかと思いいろいろやってみたのですがうまくいかなかったりエラーが出たりします。毎回お忙しい所ご足労おかけしますが具体的な修正箇所や修正方法を教えていただけると大変助かります。
よろしくお願いしますm(_ _)m

2008/11/13(Thu) 04:53
No.277 Re: いつもお世話になっておりますm(_ _)m - GEN
 

反乱すべてを廃止するのではなく、NPCによる反乱を
廃止するということで、やったことはないのですが、
inc-period.cgiのRebelRobinの中の、
PushLog・・・が不穏な動きを見せています。")
の下の文すべてを削除すると、
反乱が起きなくなるのではないでしょうか。
間違っていたら、すいませんが。

2008/11/13(Thu) 18:50
No.278 Re: いつもお世話になっておりますm(_ _)m - キャンディー
 

早速のご返答ありがとうございます。
一応ご返答いただいた通り削除してみましたので様子を見てみます。ちなみにですがσ(^_^)のサイトでは反乱自体を廃止しますのでNPCに限らず反乱自体を廃止しても良いのですが簡単に廃止できますでしょうか?
ご質問ばかりで申し訳ありませんがよろしくお願いします。

2008/11/13(Thu) 22:13
No.279 Re: いつもお世話になっておりますm(_ _)m - GEN
 

私のサイトでも、投票制という新しい仕組みを導入するために、反乱を廃止しました。すべて覚えていませんが、以下のような変更をしました。
@inc-rebel-data.cgiの、反乱イベントをすべて削除
Alord.cgiで反乱関係の表示削除
Blord関連で、兵力維持費などをなくす
Cinc-period.cgiで、兵力関係を削除
D兵を雇えなくする・町から傭兵所をなくす→反乱不可能に

まだ忘れているような気もしますが、こんな感じです。

2008/11/14(Fri) 00:09
No.280 Re: いつもお世話になっておりますm(_ _)m - キャンディー
 

早速のご返答ありがとうございます。
教えていただいたファイルを再度調べた所、反乱の廃止についてはあらかたクリアしているみたいです。反乱を起こす事は不可能にしていますので後はNPCの反乱が起こらなければ大丈夫かと思います。
それと質問ばかりで大変申し訳ありませんが、実はσ(^_^)の所でも領主投票制を導入するつもりで投票に必要なアイテムと投票のイベントはなんとかなったのですが、ある回数の決算時ごとに定期的にかつ自動で投票が行われて投票が終了して獲得票が多いユーザーに対して自動的に領主に就任するようにしたいのですがどうしたら良いのでしょうか?
出来れば管理人様のサイトで導入されています投票制のやり方を教えていただけないでしょうか?

2008/11/14(Fri) 05:10
No.281 Re: いつもお世話になっておりますm(_ _)m - GEN
 

私のところでは、主にユーザー変数を用いて投票制を
行なっています。投票と立候補は、投票所で行います。1度投票すると、支持者ということで、5期まで自動で支持者が維持されますが、途中で変更もできます。5期ごとに総選挙という形で支持者がリセットされ、もう一度投票させます。また、支持者なしもあり、これが多いと領主不在状態になります。

$voting 0:未定 1:支持者あり 2:支持しない
 (0の場合は、お手伝いが投票しろと促す)
$voting_s 0:立候補していない 1:立候補中
$voting_h 何期領主を行なったか
$voting_t 予定税率・投票の判断基準のひとつ
$voting_id 支持者のID

投票所では、立候補者の一覧と支持率、
予定税率、その立候補者の一言が一覧で表示されます。
立候補と、立候補の取り下げ、辞退もできます。
取り下げた人を支持していた人は、支持者未定状態になり、
再び投票しなければなりません。
領主が辞退した場合も同様です。

選挙処理は、inc-periodに入れてあり、
ここはテスト動作もしにくいので、苦労したところです。
テストするのなら、同じ処理を別のファイルに用意し、
投票状態を変えて何度もテストするといいと思います。

選挙の処理について、
要は、得票が一番多い人が1番になればよいのですが、
同一得票だった場合の優劣をつけることが必要です。
「投票者なし」と最大支持率の人が同数だった場合は、
最大支持率の人が当選します。
候補者同士の優劣は、爵位と順位で決定します。

一応、当初は任期制を考えていたため、
$voting_h 何期領主を行なったか
で、その辺の処理ができるようにしてありました。

「ある回数の決算ごと」については、例えば決算期をある数で割ったあまりが0のとき、獲得数を計算して、選挙実行みたいな感じにしてみてはいかがでしょうか。

まとめますと、投票を行なうアイテムや、投票所のようなものを設けてユーザー変数を操作し、inc-periodの改造で、決算時にユーザー変数をもとに領主を決定するようにすればよいと思います。

2008/11/15(Sat) 10:10
No.282 Re: いつもお世話になっておりますm(_ _)m - XKY-Group
 

決算毎に行う処理のデバッグについては、
デフォルトのSOLDでやるならば、「決算前倒し時間」を巧く設定すると、ものの数分で決算に持ち込むことが出来るようになります。
今現在(これを書いている時点で)23:51ですが、決算前倒し時間を-7分=-420秒とでも設定すればわずか2分で決算がやってきます。
このとき、決算間隔を一時的に24時間とするのが良いようです。(こうすると、0:00からの前倒し時間となるようなので、分かりやすい。)

なお、これはあくまでデフォルトのSOLDの話なので、商人物語で適用できるかどうか知りませんが、参考までに。

2008/11/17(Mon) 23:54
No.283 Re: いつもお世話になっておりますm(_ _)m - キャンディー
 

管理人様、XKY-Group様早速のご回答ありがとうございます。
反乱の廃止についてはなんとか上手くいきました。
まだまだ反乱関係のイベントや修正部分はありますがこちらはなんとか自力で修正できそうなのでなんとか頑張ってみます。
かなり悩んでいましたので本当助かりました。
ありがとうございます。

あと領主の投票制ですが大変分かりやすく教えていただきありがとうございます。ですが。。。。説明していただいた意味は分かるのですがいざこれらをプログラムに書くスキルが無い為、どう書いたら良いか分かりません(;^-^;)
もしさしつかえなければソースを教えていただけないでしょうか?
全くの初心者な書き込みで申し訳ありませんが、どうかよろしくお願いします。m(_ _)m

2008/11/18(Tue) 22:00
No.284 Re: いつもお世話になっておりますm(_ _)m - GEN
 

前から配布しようと考えていたので、
説明つきで配布できるよう準備します。
ファイルのアップロード以外の操作もあるので、おそらく説明がないと設置できないと思います。また、ソース内に、簡単な説明も加えたいので、週末までお待ちください。

2008/11/20(Thu) 01:22
No.285 ありがとうございますm(_ _)m - キャンディー
 

お忙しい中何かとありがとうございますm(_ _)m
通常配布してくださるとは大変感謝です。
本当ありがとうございます。
配布まで楽しみに待っています。

2008/11/20(Thu) 21:54
No.290 Re: いつもお世話になっておりますm(_ _)m - GEN
 

投票制度について、ルーチンを追加しました。
わかりにくいかもしれませんし、また、
ミスがあるかもしれませんが、設置してみてください。

inc-periodでは銀行制度、lord関連では領主告知と資金援助は入っていません。いろいろと改造されているとのことなので、恐らく添付ファイルの上書きはできず、比較しながら修正することになると思います。コメントを参考にしてください。

何か問題がありましたらお知らせください。
よろしくお願いします。

2008/11/24(Mon) 00:55
No.291 おはようございます。 - キャンディー
 

早速の投票制のスクリプトの配布ありがとうございます。
とても嬉しく感謝しております。
ありがとうございますm(_ _)m

それで早速追加してみましたが以下のようなエラーが発生しましたのでご連絡いたします。

action.cgi の実行により発生。
エラー原因 「../program/voting.cgi」の 59行目付近に原因があるようです。
エラー分析 ゼロで割る計算をさせています。
ある変数で割るときには,その変数がゼロになる場合は計算を回避してください。

というエラーが出ました。
σ(^_^)の追加ミスかもしれませんが修正方法及び原因が分かりましたらよろしくお願いしますm(_ _)m

2008/11/24(Mon) 06:34
No.292 追記になります - キャンディー
 

新しくノーマルの街に配布のスクリプトをそのまま上書きした所以下のエラーが出ましたのでご報告いたしますので改善方法等分かりましたらよろしくお願いします。

index.cgi の実行により発生。
エラー原因 「./custom/inc-period.cgi」の 326行目付近に原因があるようです。
エラー分析 文法ミスです。「}」や「)」などをつけ忘れているようです。

2008/11/24(Mon) 07:15
No.293 Re: いつもお世話になっておりますm(_ _)m - GEN
 

すべてこちらのミスで、修正しました。
確認が至らず、申し訳ありません。
voting.cgiとinc-period、voting-s.cgiを修正したので、
ダウンロード後、上書きしてください。

2008/11/24(Mon) 09:51
No.294 Re: いつもお世話になっておりますm(_ _)m - キャンディー
 

早速の修正ありがとうございますm(_ _)m
今回の修正ファイルでinc-periodは修正箇所を修正し、他の投票用ファイルはダウンロードしたものをそのままアップしてみたのですが次は以下のようなエラーが発生しましたのでご報告します。

『action.cgi の実行により発生。
エラー原因 「../program/voting.cgi」の 101行目付近に原因があるようです。
エラー分析 ゼロで割る計算をさせています。
ある変数で割るときには,その変数がゼロになる場合は計算を回避してください。 』
σ(^_^)の修正がまだ足りなかったのか設置方法が悪いのか再度分かりませんが修正方法等分かりましたら再度お願いします。
お忙しい中大変申し訳ありませんがよろしくお願いします。

2008/11/24(Mon) 12:42
No.295 Re: いつもお世話になっておりますm(_ _)m - GEN
 

誰も投票していない、一番最初だけそれが出るのは知っているのですが、どうも回避できていないようで、お手数おかけしています。
今度は恐らく大丈夫かと思うので、もう一度voting.cgiのみ上書きお願いします。

2008/11/24(Mon) 14:45
No.296 Re: いつもお世話になっておりますm(_ _)m - キャンディー
 

う〜む・・・・
再度ダウンロードしてアップしてみたのですが同じエラーが発生します。ちなみに現在公開中の街でのテストでも同じエラーが出ます。それと仮に無改造ノーマルの街を設置して、新しくσ(^_^)の店舗のみを登録し条件もクリアした状態でテストを行った時も同じエラーが出ました。
ここまでエラーが出るとσ(^_^)の修正が悪かったのでしょうか?(;^-^;)

2008/11/24(Mon) 15:11
No.297 Re: いつもお世話になっておりますm(_ _)m - GEN
 

修正し、きちんとテストもしたので、今度は正しく動作すると思います。重ね重ね申し訳ありませんでした。もう一度お願い致します。

2008/11/24(Mon) 16:06
No.298 再度のご報告です - キャンディー
 

とりあえず正常に動いたようなのですが、領主に立候補をしたら今度は以下のようなエラーが発生しましたのでご連絡いたします。
『action.cgi の実行により発生。
エラー原因 「../program/voting.cgi」の 78行目付近に原因があるようです。
エラー分析 ゼロで割る計算をさせています。
ある変数で割るときには,その変数がゼロになる場合は計算を回避してください。 』
σ(^_^)には全く原因が分からりませんが、再度調査の方よろしくお願いします。

2008/11/24(Mon) 18:30
No.299 追記になります - キャンディー
 

ちなみに行った行動ですが領主に立候補した後引き続き投票所に入ろうとするとエラーになります。その後は投票所に入ろうとするだけでエラーになります。

2008/11/24(Mon) 18:38
No.300 Re: いつもお世話になっておりますm(_ _)m - GEN
 

度重なるエラーで申し訳ありませんが、また修正しましたので、導入お願いします。

2008/11/24(Mon) 18:45
No.301 ありがとうございますm(_ _)m - キャンディー
 

数々のエラーのご報告ですがσ(^_^)も何度も申し訳ないと思い投稿していたのですが現時点でとりあえずエラーは回避されたみたいです。今日一日投票制のバグ取りばかりだったかと思いますがお疲れ様でした。それと今回の投票制は以前から導入したかったのでとても感謝しております。
とりあえず今の所はエラーが出ないみたいですが今後も何か不具合がありましたらご報告させていただきますのでよろしくお願いしますm(_ _)m

2008/11/24(Mon) 19:23
No.302 Re: いつもお世話になっておりますm(_ _)m - GEN
 

いろいろご迷惑かけまして、すいませんでした。また何かありましたら、連絡お願い致します。

2008/11/24(Mon) 20:05
No.309 領主の投票制について - キャンディー
 

先日管理人様の配布の投票制の導入をしましたが今まででとりあえず正常に動いているようです。
ですが現在デフォルトの5期ごとの総選挙で設定していますが毎決算後の総選挙が行われてしまうのですが何が悪いのでしょうか?
お忙しいかと思いますが再度よろしくお願いしますm(_ _)m

2008/11/28(Fri) 20:46
No.311 Re: いつもお世話になっておりますm(_ _)m - GEN
 

領主が不在の場合、総選挙が毎回行なわれます。
領主が決まっている場合は、基本的に毎回起こることはないと思います。

領主選の結果市長は・・・、の表示は、決算毎に出ます。総選挙とは、すべての投票状態がリセットさせることを指しています。

よろしければ、状況をより細かく教えていただけないでしょうか。

2008/11/28(Fri) 23:59
No.312 Re: いつもお世話になっておりますm(_ _)m - キャンディー
 

早速のご返答ありがとうございますm(_ _)m
新聞のログを見たのですが
『11/28 07:35 [情報]総選挙が始まりました
11/28 07:35 [情報]領主選の結果領主は、エルモアに変わりました。』
と同時刻に領主選の結果と総選挙が行われています。
σ(^_^)の設置ミスなのかもしれませんが何が悪いのでしょうか?
再度申し訳ありませんがよろしくお願いします。

2008/11/29(Sat) 02:09
No.314 Re: いつもお世話になっておりますm(_ _)m - XKY-Group
 

今までの任期回数が5N-1の時にこの現象は起こるようです。

当選することにより、任期回数が+1される。
→すると任期回数が5Nとなり、総選挙イベントが発動する。

回避方法としては、フラグを立てるのが一番手っ取り早いと思われます。

2008/11/29(Sat) 05:00
No.315 Re: いつもお世話になっておりますm(_ _)m - GEN
 

現在の処理だと、そのようなことが起こります。

5期ごとといっても、当選者の任期が5の倍数のときということなので、このようなことが起こります。領主が変わったあとに総選挙が起きても、別に問題視しておりませんでした。

修正を行い、当選者が変わった直後に総選挙は生じなくしました。修正によって新たな問題が生じていないといいのですが。ちなみに、次の決算で任期が5の倍数になった場合、総選挙が生じることはあります。

voting-s.cgiとinc-periodを上書きしてください。
何度もご迷惑おかけしまして、申し訳ありません。

2008/11/29(Sat) 23:51
No.317 Re: いつもお世話になっておりますm(_ _)m - キャンディー
 

度々の修正の方ありがとうございますm(_ _)m
とりあえずこちらでもアップデート後は正常に動作しているみたいです。それと一つσ(^_^)の所のプレーヤーさんから連絡いただいたのですが領主が不在の時に投票を行うとアクセスが混み合っています。しばらくしてからアクセスしてください。とエラーメッセージがでます。仮に強制的に領主を決めれば問題はないのですが、修正が可能であればなんとかなりますでしょうか?
何かとお忙しいかと思いますがよろしくお願いしますm(_ _)m

2008/12/04(Thu) 21:07
No.318 Re: いつもお世話になっておりますm(_ _)m - GEN
 

こちらでも同じような状況にしてテストしましたが、エラーメッセージは出ませんでした。どのような状況でそのエラーが出るのか、詳しく教えていただけないでしょうか。

2008/12/05(Fri) 08:02
No.319 Re: いつもお世話になっておりますm(_ _)m - キャンディー
 

う〜む・・・・
σ(^_^)の所の環境の問題なのでしょうか?(;^-^;)
以前副管理人の件でご支援いただいた時に同じ現象が発生していました。その時は副管理人の店舗が閉店した時に副管理人が不在になった時にログイン画面よりしようとするとアクセスが混雑しています・・・・・と警告文が出ます。今回の領主に関しても同じで領主がなんらかの問題で不在になった時にログイン画面よりログインし、領主へ投票をしようとするとアクセスが混雑・・・・・と言う警告文が出てログインが出来なくなります。副管理人・領主共に仮に任命しますと正常に動作します。
具体的な発生条件と言うのは分かりませんがただ領主が不在になった時の処理になんらかの問題があるのかもしれません。
素人の考えなもので良くは分かりませんが原因とかこれで分かりますでしょうか?情報が少なくて申し訳ありませんがよろしくお願いしますm(_ _)m

2008/12/06(Sat) 21:20
No.320 Re: いつもお世話になっておりますm(_ _)m - GEN
 

申し訳ありませんが、領主が不在の時に投票すると必ず起こるエラーでしょうか。それとも、たまに起こるものでしょうか。

「アクセス混雑」となると、ファイルロック関連も問題ではないかと思います。私もそれほどくわしく知りませんが、同時に複数の人がファイルに上書きすると、データが消えたりするのでそれを避けるようにロックや解除をします。ロックしたまま解除の処理がされていないのではと考えています。

投票の処理の中で、領主が不在かどうかはまったく関係ないので、タイミングの問題で、不在かどうかは関係なく、たまにエラーが出ているのではと、勝手に予想しているのですが、領主不在時にのみエラーが出るというのは、確かでしょうか。

今後改善されるよう調査したいのですが、こちらで問題が再現できないので難しいです。今後、同様の現象が出るか、本格的にテストしたいと思います。

2008/12/07(Sun) 00:50
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

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

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

No. 暗証キー

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