[問題]公會&商店街&銀行(有關於時間)

WOG設定安裝教學

版主: 涅魂, 簫哥

頭像
~木林森~
 
文章: 446
註冊時間: 2005-01-20 12:28 pm
來自: 澎湖的某一處

[問題]公會&商店街&銀行(有關於時間)

文章~木林森~ » 2006-05-06 5:10 pm

(1)公會部分:
1.公會敗戰後只會扣錢,可會有負錢的情況出現,只要公會在三天內不能把負錢還清,公會就自動被滅會。
2.建立超過20天,人數未達10位,強制開公會戰。

(2)商店街部分:
1.商品有存貨量,會出現缺貨的問題,需等待進貨。
2.不同的物品,存貨數量不同、進貨時間也不同。

(3)銀行部份:
1.將存款分為活期存款以及定期存款。
2.定期存款有不同的時間可選擇。
ex.[1]兩個星期 [2]一個月 [3]三個月
3.定期存款時間越久,利率越高。
ex.[1]兩個星期0.3% [2]一個月1% [3]三個月5%
4.定期存款期間不得提領存款。

請問一下,以上幾點需如何下手?
因為目前我還沒學好有關"時間部分"的PHP,
所以這些有關於"時間"的部分不太會改, :cry:
如果可以的話可以請大大們解釋給我聽。 :oops:
不好意思一次有這麼多問題... :roll:


龜速吸收PHP知識中...
"新"[團結就是力量論壇]登場!歡迎大家加入
WOG Only v2.08 + else Mod (簡單的架設結合許多優秀外掛的WOG)

MonKeyBnet
 
文章: 23
註冊時間: 2006-05-03 4:58 pm

文章MonKeyBnet » 2006-05-06 7:03 pm

time() 1970年1月1日 00:00:00到現在有幾多秒@@?是不是GMT@@?
data() 伺服器時間..
gmdata() GMT的時間..
mktime() 1970年1月1日 00:00:00到int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]])有幾多秒(伺服器時間)
gmmktime() 1970年1月1日 00:00:00到int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]])有幾多秒(GMT的時間)



頭像
~木林森~
 
文章: 446
註冊時間: 2005-01-20 12:28 pm
來自: 澎湖的某一處

文章~木林森~ » 2006-05-06 7:08 pm

這些資料我並不需要...
因為已經有PHP4函式庫可以查詢了
不過還是謝謝你...


龜速吸收PHP知識中...
"新"[團結就是力量論壇]登場!歡迎大家加入
WOG Only v2.08 + else Mod (簡單的架設結合許多優秀外掛的WOG)

deeping
 
文章: 17
註冊時間: 2004-08-17 4:32 pm

Re: [問題]公會&商店街&銀行(有關於時間)

文章deeping » 2006-05-06 8:24 pm

="~木林森
(3)銀行部份:
1.將存款分為活期存款以及定期存款。
2.定期存款有不同的時間可選擇。
ex.[1]兩個星期 [2]一個月 [3]三個月
3.定期存款時間越久,利率越高。
ex.[1]兩個星期0.3% [2]一個月1% [3]三個月5%
4.定期存款期間不得提領存款。


前三點我的wog銀行是有作這些功能...等我整理整理code一下再post出來




涅魂
 
文章: 4463
註冊時間: 2004-01-04 11:17 am
來自: Taiwan
性別: 男生

文章涅魂 » 2006-05-06 10:40 pm

(1)公會部分
1 寫:首先,先將儲存會費的欄位屬性 unsigned去掉,讓儲存值可以以負數存在(※欄位的大小會減半為-2^31~2^31-1)

接著可以再wog_act.php的
代碼: 選擇全部
case "group":

這裡面加上取得負債過期工會的ID,若取到值的話就將該公會的資料刪除

並將wog_player中屬於為該公會的玩家的p_g_id設為0,SQL寫法如下假設取得工會ID的陣列名稱為$g)
代碼: 選擇全部
UPDATE wog_player SET p_g_id=0 WHERE p_g_id='$g[g_id]'


另外,記得參考group_del()的內容將與該公會相關的資料刪除


2 寫:因為wog_group_main沒有紀錄工會的創造時間,所以必須先加入一個新的欄位,然後再到group_creat()中儲存wog_group_main的部分加入設定創立時間的欄位的值

接著,一樣到wog_act.php中的
代碼: 選擇全部
case "group":
加入下列SQL(假設工會創立時間的欄位名稱為g_cdate)
代碼: 選擇全部
UPDATE wog_group_main SET g_fire=1,g_fire_time = ".time()." WHERE g_cdate < (".time()."-86400*20) AND p_peo < 20


2.商店部分,這兩個一起講…

因為您提議的部分資料庫都沒有資料,所以必須加上些新的要素

首先,先再wog_df加入一些欄位:(後面再追加說明太麻煩了,直接寫出欄位名稱…)
代碼: 選擇全部
d_store smallint(3) unsigned  //存貨量
d_store_top smallint(3) unsigned  //存貨量最大值
d_uptime int(10) unsigned //進貨時間,以秒為計
d_uplasttime int(10) unsigned  //進貨最後時間

接著在wog_act_shop.php的shop()中,找到取得道具資料前的部分

加上下列SQL,以設置尚未設定存貨量的物品
代碼: 選擇全部
UPDATE wog_df SET d_store=1 WHERE d_uplasttime=0

接著取得d_uplasttime 小於 time() - d_uptime 的資料,SQL範例如下
代碼: 選擇全部
SELECT d_id,d_store,d_store_top,d_uptime,d_uplasttime FROM wog_df WHERE d_uplasttime < ".time()."-d_uplasttime

接著,利用 while(),來跑 當d_uplasttime < time()-d_uptime (也可以用do...while() )
若為真,則將道具的d_store+1,並檢驗d_store是否大於d_store_top,若為真,則將d_store-1後用break跳出

最後再將資料輸入至資料庫中

接著,顯示的部分相信寧應該會做的,跳過

最後,在buy()中加入道具存貨的判定即可


3.銀行部份,因為前三點有人願意分享,所以就不再敘述了,直接說第四點

假設判別銀行帳戶存款狀態的欄位名稱為p_banktype
0為活期,1為定期

接著在wog_act_store.php的 bank_get() 中,找到取得存款的部分

在SQL中加入取得p_banktype的值

接著到取得資料後的部分,加上判定p_banktype是否為1的IF敘述即可~


圖檔

deeping
 
文章: 17
註冊時間: 2004-08-17 4:32 pm

文章deeping » 2006-05-06 11:00 pm

假設判別銀行帳戶存款狀態的欄位名稱為p_banktype
0為活期,1為定期

接著在wog_act_store.php的 bank_get() 中,找到取得存款的部分

在SQL中加入取得p_banktype的值

接著到取得資料後的部分,加上判定p_banktype是否為1的IF敘述即可~


其實當時我也是有想過這樣作...但就是因考慮到說可能會有人忽然的沒錢會想領出來, 所以當時設計就是只要超過定存的天數就會算進去定存的利率,那麼只要再未到定存的天數就領出~就算是活期的利率了..
我在一進入銀行時就會顯示距離上次存取銀行的日期跟小時數...所以在第四點的部份我才沒作...



頭像
edwin
 
文章: 371
註冊時間: 2005-10-09 2:59 pm
來自: 你的家

文章edwin » 2006-05-06 11:04 pm

MonKeyBnet 寫:time() 1970年1月1日 00:00:00到現在有幾多秒@@?是不是GMT@@?
data() 伺服器時間..
gmdata() GMT的時間..
mktime() 1970年1月1日 00:00:00到int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]])有幾多秒(伺服器時間)
gmmktime() 1970年1月1日 00:00:00到int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]])有幾多秒(GMT的時間)

time() 是 unix時間郵戳...
data() 是沒有的,是 date(),
是把 unix時間郵戳 轉換成人看得明白的格式...
mktime() 是用提供的年,月,日等資料組成一個完整的 unix時間郵戳...
:roll: :roll: :roll: :roll: :roll:


圖檔

頭像
~木林森~
 
文章: 446
註冊時間: 2005-01-20 12:28 pm
來自: 澎湖的某一處

文章~木林森~ » 2006-05-07 12:39 am

先賞涅大一個評價...
考完月考再來動手...


龜速吸收PHP知識中...
"新"[團結就是力量論壇]登場!歡迎大家加入
WOG Only v2.08 + else Mod (簡單的架設結合許多優秀外掛的WOG)


涅魂
 
文章: 4463
註冊時間: 2004-01-04 11:17 am
來自: Taiwan
性別: 男生

文章涅魂 » 2006-05-07 12:50 am

GP收到啦~ (誤)

月考啊…一想到這個頭又痛了… :(


圖檔

¥飛天阿鳥¥
 
文章: 322
註冊時間: 2004-11-07 3:04 pm
來自: 水色的某一處     團體:變態團團員     團隊:烤鳥隊長

文章¥飛天阿鳥¥ » 2006-05-07 4:48 am

涅魂 寫:GP收到啦~ (誤)

月考啊…一想到這個頭又痛了… :(



我們5月3.4.5號考~~

我...這次因為埋頭苦幹所以飆到了第12名~~全班喔

我們班55個人 8)



頭像
edwin
 
文章: 371
註冊時間: 2005-10-09 2:59 pm
來自: 你的家

文章edwin » 2006-05-07 11:33 am

¥飛天阿鳥¥ 寫:
涅魂 寫:GP收到啦~ (誤)

月考啊…一想到這個頭又痛了… :(



我們5月3.4.5號考~~

我...這次因為埋頭苦幹所以飆到了第12名~~全班喔

我們班55個人 8)

這是算好還算差? :roll:


(光速爬 8) )


圖檔

¥飛天阿鳥¥
 
文章: 322
註冊時間: 2004-11-07 3:04 pm
來自: 水色的某一處     團體:變態團團員     團隊:烤鳥隊長

文章¥飛天阿鳥¥ » 2006-05-07 11:53 am

當然算好啦 :shock:

我最好的就是健康教育了~100分^0^



簫哥
 
文章: 629
註冊時間: 2006-04-01 9:08 pm
來自: 戰略電玩
性別: 男生

文章簫哥 » 2006-05-07 12:52 pm

等等!版主= =!!話已離題,問題已解,別再發無關之文。


NAS DS107e
簫哥電腦藝術工作室
wog4_ffa_x1(v4版本)
埋頭研發網頁角色扮演WebRPG,執行進度:版本更新。
ps.應允網友要求,v4版wog已經架設了= =!!


涅魂
 
文章: 4463
註冊時間: 2004-01-04 11:17 am
來自: Taiwan
性別: 男生

文章涅魂 » 2006-05-07 9:10 pm

簫哥 寫:等等!版主= =!!話已離題,問題已解,別再發無關之文。

有時候聊個天也是不錯的… :o


圖檔

頭像
edwin
 
文章: 371
註冊時間: 2005-10-09 2:59 pm
來自: 你的家

文章edwin » 2006-05-08 7:50 am

¥飛天阿鳥¥ 寫:當然算好啦 :shock:

我最好的就是健康教育了~100分^0^
我一真認為頭10名才算是好的 :cry:
(所以我的成績一直都不好 :twisted: )


圖檔

下一頁

回到 精華區

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 5 位訪客