時間援助イベントについて質問が・・・ - 烈火 2009/01/05(Mon) 15:19 No.354
 ├ Re: 時間援助イベントについて質問が・・・ - GEN 2009/01/05(Mon) 23:39 No.357
 ├ Re: 時間援助イベントについて質問が・・・ - 烈火 2009/01/05(Mon) 23:48 No.358
 ├ Re: 時間援助イベントについて質問が・・・ - GEN 2009/01/06(Tue) 00:18 No.359
 └ Re: 時間援助イベントについて質問が・・・ - 烈火 2009/01/06(Tue) 12:24 No.360

No.354 時間援助イベントについて質問が・・・ - 烈火
 

こちらで、配布されている 時間援助イベントを導入させていただいている者です。
それで、この度は このシステムについて質問があります。

時間援助のときに マイナス何時間の援助をしました 
と なってしまうのですが 原因がわからないでいます^^;

マイナスの援助をしないように設定するには どこを直せばいいのでしょうか?


2009/01/05(Mon) 15:19
No.357 Re: 時間援助イベントについて質問が・・・ - GEN
 

何か設定の変更はされているでしょうか。
設定によってはマイナスになるかもしれませんし、バグかもしれません。設定変更をされている場合は、ソースの設定部分を貼り付けていただけると、原因がわかるかもしれません。
よろしくお願いします。

2009/01/05(Mon) 23:39
No.358 Re: 時間援助イベントについて質問が・・・ - 烈火
 

@@EVENT
start 200%
code gettime
info 時間援助
startfunc _local_

$EXPIRE_TIME2 = 3600*24*4; # 最終ログインから何日まで、援助を続けるか。初期は「4」
$NOW_TIME=time();

$money_li = 60*60*36; # 時間がいくら以下で援助するか。初期は「60*60*24」
$day_li = 14; # 開店何日まで時間援助をするか。
$money_max = 60*60*20; # 1回の最大援助時間。
$money_de = 60*60*18; # 1回の援助時間。


foreach(reverse(@DT))
{
if (((time() - $_->{time}) < $money_li)&&(($_->{lastlogin}+$EXPIRE_TIME2) > $NOW_TIME)&&(int(($NOW_TIME-$_->{foundation})/3600/24) < ($day_li + 1))) {

$money = int(($money_de - (time() - $_->{time}))/3600)*3600;

$money = $money_max if ($money > $money_max);

$_->{time}-=$money;

return (0,$_->{shopname}.'へ'.int($money / 3600).'時間の時間援助がなされました');
}

}
return 0;
_local_

上記のように設定しています。
なにかお分かりになられましたら 教えてください。
それではよろしくお願いしますm(_ _)m

2009/01/05(Mon) 23:48
No.359 Re: 時間援助イベントについて質問が・・・ - GEN
 

説明不足でしたが、$money_deは$money_liよりも大きな値でないと、援助額がマイナスになる場合があるようです。この場合は、money_deは60*60*36よりも大きな値を指定してください。
よろしくお願いします。

2009/01/06(Tue) 00:18
No.360 Re: 時間援助イベントについて質問が・・・ - 烈火
 

こちらに載せていただいたとおりに設定を変えてみました。
 
 GEN様 わかりやすい説明ありがとうございました。

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