卡巴拉岛泡点服 - 永远的TO星钻物语

标题: 能不能解除購買數量的限制? [打印本页]

作者: muky    时间: 2018-2-7 18:42
标题: 能不能解除購買數量的限制?
像我是個常常需要購買大量電鑽的玩家
但是電鑽只能一個一個買
不知道能不能解除限制,讓玩家能買到自己想要的數量!
我相信這可以造福很多玩家,
因為這是每天必要的過程,
像我角色多隻,大概6小時就要購買電鑽
一次大概都買25隻左右吧
常常手很酸要休息~所以才有這個想法~
小豬參考看看~另外裝備也是~!

作者: collector    时间: 2018-2-8 00:55
本帖最后由 collector 于 2018-2-8 02:58 编辑

引言
十多年前在卡300背包、負重法等應用技巧被提出之後
就不斷地有玩家提出這個問題,一般的回應大多為簡單的無法修改代碼
鑒於可能有玩家無法滿足此回答,故基於一般性的推斷方式
簡單解釋為何此問題難以達成
並提出替代方案

一般化問題
這個問題的敘述一般化,約略可等同於:
在商店模塊中,想要將不可堆疊物品,一次性地購買2個以上

提前結論
根據目前的遊戲條件來說,這個要求很難直接達成
但是可以常是用其它模塊,達到接近的需求

名詞解釋
為了作進一步說明,以下為相關名詞解釋(均為本人自行定義,不見得符合實際情形)

不可堆疊物品
同一種類的此類物品,可容許有多種數值,例如電鑽、裝備、寵物等等
影響電鑽數值的項目,有電鑽壽命
影響裝備數值的項目,有基歐斯羽毛隨機、成長組合、精鍊、外觀合成
影響寵物數值的項目,有寵物成長、寵物融合、能力隨機、扣環、寵物鑽石、寵物外觀
所以同一種類的不可堆疊物品,1個物品必須占用1格背包
如果同一種類的不可堆疊物品,想要讓多個物品占用1格背包,就一定會遺失某些數據

可堆疊物品
同一種類的此類物品,只容許有一種數值,例如消耗品、卡片、其它道具
所以同一種類的可堆疊物品,多個物品可以占用1格背包,不會遺失數據
比方說,地上有10個應急紅藥水,
由於這10個應急紅藥水,在數據上沒有分別
所以把它們全部撿起來,10個應急紅藥水能占用1格背包,不會遺失數據

商店模塊
典型代表為卡片少女與道具少女
商店系統會根據玩家的持有金額、被占用的背包格數、與當前負重,來判斷是否讓玩家購買物品,行為歸納有
1.不可堆疊物品,1次只能購買1個
2.可堆疊物品,1次可以購買多個
3.結算金額大於玩家持有金額的場合,不賣給玩家物品(這個判斷涉及加法與乘法,購買UI會顯示相關數據)
4.結算負重大於玩家剩餘負重的場合,不賣給玩家物品(這個判斷涉及加法與乘法,購買UI會顯示相關數據)
5.購買物品種類數大於玩家剩餘背包格數的場合,購買失敗(這個判斷只涉及加法,購買UI不顯示相關數據)
第5點有趣的地方在於,在第1與第2點之下,判斷只需要考慮購買物品的種類數,而不需要考慮物品到底是可堆疊還是不可堆疊
同時,第5點的判斷機制,看起來也與第3與第4點不同,這應該與代碼編寫有關

模塊
基本上,目前的遊戲內容,就是由放置在各個位置的模塊所構築起來的
模塊可以分為NPC觸發與非NPC觸發,非NPC觸發進一步可分為全畫面型與消耗品型

NPC觸發型的模塊,有任務、商店、合成、成長組合、數值隨機、交換、回收、紅利、公會訊息等等
非NPC觸發型的全畫面型模塊,有遊戲登入、角色創立、商城、卡片對戰等等
非NPC觸發型的消耗品型模塊,有箱子、傳送道具、扣環、守護石、地圖、藥水、捲軸等等

以目前的遊戲條件來說,大致上只能對模塊的物件ID、物件數量、文本來作修改
設定物件ID,簡單來說可以決定NPC從玩家拿走的物品、與給予的物品種類
設定物件數量,簡單來說可以決定NPC從玩家拿走的物品數量、與給予的物品數量
設定文本,簡單來說可以決定NPC跟玩家的對話內容

此外,一般來說,大部份的模塊都會減少玩家的物品,例如交換(變化裝備),寵物融合,外觀合成
少部分狀況,例如任務模塊(每日打卡,對話給予打卡券與入場券)、
或箱子模塊(5號塔羅牌組,開箱會出現總共2張,同號或不同號的掉落卡),會增加玩家的物品

但如果想修改模塊的代碼,一般需要以下兩種人其中之一:
1.找到有能力解明代碼的人,但可以想像一下,即使是功能簡單的程式,你同學寫的代碼都很可能無法讓你簡單理解,更何況是內容更為龐大的遊戲
2.參與過遊戲設計、或握有核心資料與說明文件的人,但這樣的人是可遇不可求
所以一般來說,修改模塊的代碼,是極難辦到的事

總結
最後再回到一開始的問題:想要一次購買多個電鑽或裝備
這樣的需求描述,並不屬於商店模塊的行為1與行為2,因此想直接實現這個需求,需要修改遊戲代碼
再者,商店模塊購買可堆疊物品時,1次最多可購買999個物品,最少可購買0個物品
因此可堆疊物品的數量描述變數,其資料型態可能是正整數
而不可堆疊物品的數量描述,不是0就是1,若其資料型態為布林,則想要一次購買多個的修改,又會更困難
所以前面才說,這個要求可能很難達到

替代方案
如果想透過現有模塊,使得買鑽頭、買裝備卡300格背包
這兩種操作可以變得比較省時,可以嘗試設置以下兩種NPC

1.賣電鑽箱子與裝備箱子的NPC(商店模塊)
電鑽箱子可以包含,但不限於
混沌電鑽箱子1、混沌電鑽箱子8、混沌電鑽箱子16、混沌電鑽箱子32、混沌電鑽箱子64
海電鑽8號箱子1、海電鑽8號箱子8、海電鑽8號箱子16、海電鑽8號箱子32、海電鑽8號箱子64
其中混沌電鑽箱子1打開,可獲得1個混沌電鑽。混沌電鑽箱子8打開,可獲得8個混沌電鑽。其餘類推。

裝備箱子可以包含,但不限於
舊的木劍箱子1、舊的木劍箱子8、舊的木劍箱子16、舊的木劍箱子32、舊的木劍箱子64
其中舊的木劍箱子1打開,可獲得1個舊的木劍。舊的木劍箱子8打開,可獲得8個舊的木劍。其餘類推。
其中舊的木劍可以替換成不可精鍊(如黑檀劍)、不可成長組合、不可隨機數值、負重0的某種自定義裝備

這是基於以前負重法可過濾任務獎勵、但卡300法無法過濾箱子開出物
而且在剩餘背包格數為1時,打開塔羅牌組5號(可能出現1種2張、或2種各1張),會開箱失敗
故猜測箱子模塊,可能會直接檢查剩餘背包格數,而不會檢查背包內是否有與開出物相同的物品。

故買電鑽時,玩家可直接買想要的電鑽箱子組合,再用按鍵按開即可
而用裝備卡300格背包時,玩家可木劍箱子組合,先用按鍵按開獲得數量較多的箱子,無法開箱後,再逐個按開獲得數量較少的箱子
例如背包剩下270格時,可買4個舊的木劍箱子64、1個舊的木劍箱子32、1個舊的木劍箱子8、很多個舊的木劍箱子1
然後按順序開箱子,當舊的木劍箱子1無法打開時,就是背包滿300格了

2.回收裝備的NPC(任務模塊)
這是為了方便清空卡300格背包,所設的NPC
這個NPC可以設置以下任務(同樣為包含,但不限於)
將8個舊的木劍,換成舊的木劍箱子8
將16個舊的木劍,換成舊的木劍箱子16
將32個舊的木劍,換成舊的木劍箱子32
將64個舊的木劍,換成舊的木劍箱子64

清背包時,同樣從需求量大的任務開始接,任務提示不是橘色高亮時,代表裝備不夠了,要接需求量少的任務
經過上面操作後,在掛鑽完清物品時,一定會留下少量電鑽與裝備,這個就老實扔掉或賣商店吧
另外是否能透過與卡等任務接近的機制,來清空木劍與電鑽,就要再問看看了(不過不甚建議此選項,怕有BUG時會清掉其它東西)



作者: muky    时间: 2018-2-8 14:24
謝謝,看來想要從代碼下手是非常困難的事了
不過您提到電鑽箱子這是我沒想到過的!!
或許這個替代方案可以輕鬆實現!
不然手要廢了~
感謝!


作者: GM小豬    时间: 2018-2-14 21:45
感謝你的建議,非常詳細,也非常專業,如果有任何建議請加我QQ595547205
作者: tivmcks    时间: 2018-2-18 17:20
collector 发表于 2018-2-8 00:55
引言
十多年前在卡300背包、負重法等應用技巧被提出之後
就不斷地有玩家提出這個問題,一般的回應大多為簡 ...

你好我昨天开始玩的人 我在 chapter2 卡巴拉 quest中 失误了扔掉一个东西 叫“光辉之眼” Quest名是 卡巴拉 V 我怎么办。。。
不能做10个帖子了。
作者: tivmcks    时间: 2018-2-18 17:21
GM小豬 发表于 2018-2-14 21:45
感謝你的建議,非常詳細,也非常專業,如果有任何建議請加我QQ595547205

你好我昨天开始玩的人 我在 chapter2 卡巴拉 quest中 失误了扔掉一个东西 叫“光辉之眼” Quest名是 卡巴拉 V 我怎么办。。。
不能做10个帖子了。




欢迎光临 卡巴拉岛泡点服 - 永远的TO星钻物语 (http://icabala.com/) Powered by Discuz! X3.2