ET大說的方法其實很簡單,這裡列出概略的寫法^^
首先建立一個table,假設名稱為wog_config,欄位有c_name(varchar(20)),c_value(unsigned int(10))
然後設定一個新的數據c_name=bank_interest_time,c_value=下次計息時間
然後在wog_arry加上計息時間,假設為7天計息一次,以及利息利率
- 代碼: 選擇全部
$wog_arry['bank_interest_time']=604800;
$wog_arry['bank_interest_rate']=0.1;
接著在class/wog_act_store.php中設定wog_arry為Global變數後取得wog_config的bank_interest_time的資料,再進行時間的判斷
例子如下(沒運作過不知道有沒有錯誤^^")
- 代碼: 選擇全部
$config=$DB_site->query_first("Select c_name,c_value From wog_config Where c_name='bank_interest_time'");
if($config['c_value'] < time())
{
$DB_site->query("Update wog_player Set p_money=p_money+p_money*".$wog_arry['bank_interest_rate']);
$DB_site->query("Update wog_config Set c_value=".(time()+$wog_arry['bank_interest_time'])." Where c_name='".$config['c_name']."'");
}
另外,這個例子也可以再補強一些不足的部分,像是增加利息時不會只單純地加一次,而會依據經歷的時間而補足沒有加上的利息
舉例來說,一個WOG有3個禮拜沒人碰銀行,那麼之後若有人執行計算利率的程式的話程式只會加一次利息而不會家三次
至於這個部分就請先想想看該如何做吧