討論串,看不懂的話可以參考其他人消化完的 (因為那不只普通購買功能,所以看不懂很正常(刪 說明: 這招不外乎就是建表與讀表 首先,你要建表。先寫下「真正的表」,像這樣 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 中的數據庫 |
