想必很多人都會遇到Item堆疊上限問題 又不想一個一個單獨進行修改 那麼就來看看此篇文章吧 文章僅為解釋整個腳本的邏輯 , 並將附上程式碼
---------------文章開始--------------- 首先按照你的服務端列出所有背包欄的項目 這邊拿通用底層 Inventory() 做介紹 撇除 1 = 裝備 所以 2 . 3 . 4 .5 分別為 消耗 裝飾 其他 特殊 這邊使用 Group 裝在 陣列 分別為 [[2,消耗欄],[3,裝飾欄],[4,其他欄],[5,特殊欄]] 接下來使用迴圈循環至背包欄所有格子中的道具 迴圈中請判斷遇到空格欄位時請使用 continue 接著宣告一個自定義數組 將 道具ID和數量 以字串的方式 push 到自定義數組中
這邊就完成一半了 , 下面開始解析自定義數組
使用for迴圈 並取得自訂義數組長度 進行道具數量加總 迴圈中請判斷道具數量超過 32767 時 使用 continue; 這邊解釋下 , 服務端賦予道具數量的值通常都是smallint類型 也就是 -32768 ~ 32767 [ 如果有講錯請給予指教 ] 所以為什麼很多人在不清楚的情況下 兌換超過 32767數量 而會造成複製的問題
回歸正題
這邊拿通用底層 Quantity() forceUpdateItem() 做介紹 接下來獲得道具代碼 和 道具數量後就是生成一個新的道具新的數量 到這邊就結束了
---------------文章結束--------------- 若有錯誤的地方請指教 , 若有想要交流也很歡迎
DC : Mapstory#0334
|