最後更新於 2022 年 6 月 22 日
看了很多轉蛋機腳本,就是只寫了基本的轉蛋功能,沒考慮到玩家使用上的感受XDD 所以我簡單做了點優化。
效果演示
優化項目
- 分單抽 / 十抽。
- 有獎池查看功能。
- 可連續轉蛋或結束轉蛋。
- 抽中指定道具可上綠廣。
- 十抽會根據剩餘的背包欄位數和轉蛋卷數量決定要幾抽,如果轉蛋卷不足十張或者欄位數不足十個就會根據哪個剩餘的數量較小就轉幾次,避免被吞。(會判斷抽到的是哪個類別的道具,檢查對應類別的欄位數。)
程式碼
找到 9330119 潮流轉蛋機 NPC 腳本把下面的程式碼丟進去覆蓋就可以了。
code 寫得有點亂,之後會慢慢優化,有任何 bug 可以在評論反饋~
❗❗❗ 這裡要注意一下 ❗❗❗
src/scripting/NPCConversationManager.java 的 gainGachaponItem 方法裡面有一句 final IItem item = MapleInventoryManipulator.addbyId_Gachapon(c, id, (short) quantity);
這個 addbyId_Gachapon 方法本身就會去檢查每個類別的欄位是否有空位,一旦有其中一個類別欄位是滿的就會回傳 null,而一回傳 null 時 gainGachaponItem 方法就會回傳 -1,也就不會發獎品。
所以大家自己判斷需不需要有檢查全部欄位都要為空才能轉蛋的需求,如果覺得不需要,可以自行修改 addbyId_Gachapon。(改的時候也要看看有沒有其他地方用到這個方法~ 別牽一髮動全身)
我自己是沒有去動 SRC,所以只要有其中一個類別欄位是滿的就沒辦法轉蛋,程式碼中我是用 stop 這個變數來判斷 gainGachaponItem 是不是回傳 -1,一旦回傳 -1 我就結束轉蛋。
補充: 轉蛋上綠廣
有仔細看上面的 code 的話可以看到中特殊獎時會調用 gainGachaponItem 這個方法,並且傳第三個參數 true 回去。
到 src/scripting/NPCConversationManager.java 找到 gainGachaponItem(int id, int quantity, final String msg, final boolean broad) ,這第三個參數就代表需不需要上綠廣,所以確認一下這邊有沒有判斷 broad 並調用 broadcaseMessage 就好:
注:上綠廣的道具寫在 SRC 或者 NPC 腳本裡面都是可以的,因為我懶所以就直接寫在 NPC 腳本裡面了。
閱讀量: 285
電子郵件地址或手機號碼 | 密碼 | |
忘記帳號? |
註冊
你暫時遭到封鎖
看來你過度使用了這項功能。你已被暫時停用此功能。
- 中文(台灣)
- English (US)
- 日本語
- 한국어
- Français (France)
- Bahasa Indonesia
- Polski
- Español
- Português (Brasil)
- Deutsch
- Italiano
- 註冊
- 登入
- Messenger
- Facebook Lite
- Watch
- 地標
- 遊戲
- Marketplace
- Meta Pay
- Oculus
- Portal
- Bulletin
- 本地
- 募款活動
- 服務
- 投票資訊中心
- 社團
- 關於
- 刊登廣告
- 建立粉絲專頁
- 開發人員
- 工作機會
- 隱私政策
- Cookie
- Ad Choices
- 使用條款
- 使用說明
- 聯絡人上傳和非用戶
- 設定
- 活動紀錄
Meta © 2022