荘園について - 胡蝶 飛鳥 2009/11/26(Thu) 21:48 No.405
├ Re: 荘園について - GEN 2009/11/27(Fri) 23:52 No.406
├ Re: 荘園について - 胡蝶 飛鳥 2009/11/28(Sat) 00:36 No.407
├ Re: 荘園について - GEN 2009/11/28(Sat) 09:52 No.408
├ Re: 荘園について - 胡蝶 飛鳥 2009/11/28(Sat) 15:30 No.409
├ Re: 荘園について - GEN 2009/11/28(Sat) 23:06 No.410
├ Re: 荘園について - 胡蝶 飛鳥 2009/11/29(Sun) 09:55 No.411
└ Re: 荘園について - GEN 2009/11/29(Sun) 22:58 No.412
No.405 荘園について - 胡蝶 飛鳥
 
|
お久しぶりです。前回は大変お世話になりました。この度は、またお力を借りたいと思い書き込ませていただきました。
荘園で熟成するまでの時間をバーで表示したいのです。 ちょうど泉さんが同じようなことを御質問なさっていたので、参考にしてみたのですがなかなかうまくいかずに困っています。 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