省容量‎ > ‎一事件‎ > ‎

一事件購買/data base

討論串,看不懂的話可以參考其他人消化完的排泄物

AsshoIe乂命運的影片

FK的應用效果 [1] [2] [3] [4] [5]
(因為那不只普通購買功能,所以看不懂很正常(刪

說明:
這招不外乎就是建表與讀表

首先,你要建表。先寫下「真正的表」,像這樣

 W 名稱        價錢
(1)盾牌       10功勳
(2)石刀(小刀)     30功勳
(3)石劍(靈骨劍)    40功勳
(4)木棍(青壇棍)    50功勳
註:W是整個表格的編號,也是需要的


然後計劃一下變數的名稱,就像這樣

 W .name      .charge
(.1)盾牌       10功勳
(.2)石刀(小刀)     30功勳
(.3)石劍(靈骨劍)    40功勳
(.4)木棍(青壇棍)    50功勳

建好後就打進同人陣
但怎打呢?
你需要儲存的資訊就只有編號對應的名稱與價錢,就像這樣:「
【格式:{表格編號}.{項目編號}.{項目變數名稱}】即是:
w.1.name="盾牌"    ;w.1.charge=10
w.2.name="石刀"    ;w.2.charge=30
如此類推...
比較OP的做法是用算式建表,但不適用於像這兒的不規則數字


然後就到讀表
首先在購買的事件要迫玩家以說出「表格編號+項目編號」來購買,在這兒可以用「W+數字」
(利申:作者因規劃不善在同人裡用了「F+數字」,與變數名稱不同)
然後就儲存那個數字為「任務/w.n」、購買的玩家為「任務/w.p」                        
//變數存成這樣為了有「任務/」的讀取性,亦有「事件/」的不干擾性    {事件名稱}.{事件/變數名稱}    看不懂就跳過吧/_>\

假設是用公共錢包運作,我們就要檢查錢足夠購買那件東西嗎?

現在說了「W3」,3存為w.n
我們就要檢查 [money]>=[w.3.charge]                //「>=」即是大於或等於
「w」即是尋找編號為w的表
「3」即是尋找表的第三行
「charge」即是尋找表的「價錢欄」

示意圖:
                                               
     W .name      .charge
    (.1)盾牌       10功勳
    (.2)石刀(小刀)     30功勳
→(.3)石劍(靈骨劍)    40功勳
    (.4)木棍(青壇棍)    50功勳
 
但由於n有3以外的可能性,我們亦要一事件。檢查就變成:
 [money]>=[w.{w.n}.charge]
那麼之後的也就差不多啦~

[事件-購買武器]重覆99999次
[檢查]人物說話 內容:w 儲存數字為:任務/w.n
[檢查]比較數值 [money]>=[w.{w.n}.charge]
[動作]計算 [money]=[money]-[w.{w.n}.charge]
[動作]說話 w.p :「已購買 %{w.{w.n}.name}%,消秏%{w.{w.n}.charge}%元」

[事件-放置武器1]重覆99999次
[檢查]事件結束 事件-購買武器
[檢查]比較數值 [w.n]==1
[動作]放置盾牌於[w.p]上

[事件-放置武器2]重覆99999次
[檢查]事件結束 事件-購買武器
[檢查]比較數值 [w.n]==2
[動作]放置小刀於[w.p]上


這招在純變數運算會比較省容量,又或者引用下面這一招:一事件多向檢查
否則省不了多少容量
先掌握了 [事件-購買武器] 的原理,然後再往下看如何省下 [事件-放置武器n]


[事件-購買武器]重覆99999次
[檢查]人物說話 內容:w 儲存數字為:任務/w.n
[檢查]比較數值 [money]>=[w.{w.n}.charge]
[檢查]]比較數值 0!=[null] (儲存為 w.buying1)                //清空資料
[檢查]]比較數值 0!=[null] (儲存為 w.buying2)                //清空資料
[檢查]]比較數值 0!=[null] (儲存為 w.buying3)                //清空資料
[檢查]]比較數值 0!=[null] (儲存為 w.buying4)                //清空資料
[檢查]]比較數值 1!=[null] (儲存為 w.buying{w.n})            //建立對應布冧
[動作]計算 [money]=[money]-[w.{w.n}.charge]
[動作]說話 w.p :「已購買 %{w.{w.n}.name}%,消秏%{w.{w.n}.charge}%元」
[動作]地圖變數 locl.0 在 垃圾點上                                //布冧==false的位置
[動作]地圖變數 locl.1 在 [w.p]上                                    //布冧==true的位置
[動作]放置盾牌於[locl.{w.buying1]上                            //若布冧1==True =>放武器1
[動作]放置小刀於[locl.{w.buying2]上                            //若布冧2==True =>放武器2
[動作]放置靈骨劍於[locl.{w.buying3]上                            //若布冧3==True =>放武器3
[動作]放置青壇棍於[locl.{w.buying4]上                            //若布冧4==True =>放武器4
[動作]移除任何武器@locl.0













                        Microsoft Access 中的數據庫