小米冒险岛论坛

标题: 月光寶盒改為腳本讀取 實作方法 [打印本页]

作者: 小强    时间: 2022-12-1 17:35
标题: 月光寶盒改為腳本讀取 實作方法
此腳本免費提供 , 使用我端口者 直接拿腳本就能用。


腳本說明:

打開腳本後裡面可以設定寶盒抽中物品的機率 以及物品內容

另外此腳本可以設定期數

[JavaScript] 纯文本查看 复制代码
var setname = "月光寶盒期數";
sm.setServerSet(setname, 1);

設定及為第一期的物品。 會取得 Prizelist 的第一個陣列 來當作寶盒的內容物品。





腳本使用方法:

丟到scripts/server 路徑裡面 名稱隨便改都可以 開服會自動讀取。

重載腳本指令: !servernpc


>> 四種寶盒腳本載點


接下來說明 如果不是我的端者 要怎麼改

我們搜尋找到以下

[Java] 纯文本查看 复制代码
public static final void UseXmaxsSurprise

接下來 直接在 function 內加入腳本讀取 我這寫法如下:
[Java] 纯文本查看 复制代码
 int[][] reward = null;

            switch (item.getItemId()) {
                case 5222000:
                    reward = NpcSetConstants.XMAXS_SURPRISE;
                    break;
                case 5222004:
                    reward = NpcSetConstants.XMAXS_SURPRISE_2;
                    break;
                case 5222005:
                    reward = NpcSetConstants.XMAXS_SURPRISE_3;
                    break;
                case 5222006:
                    reward = NpcSetConstants.XMAXS_SURPRISE_4;
                    break;
            }

            final int RewardIemId = RandomRewards.getInstance().getXmasreward();
            //final CashItem rewardItem = c.isnewcs() ? CashItemFactoryNew.getInstance().getItemId(RewardIemId) : CashItemFactory.getInstance().getItemId(RewardIemId);
            List<CashItem> rewardItems = CashItemFactory.getInstance().getAllItems();
            IItem itemz = null;
            CashItem rewardItem = null;

            if (reward.length > 0) {

                int Maternal = 0;
                int A = 0;
                for (var i = 0; i < reward.length; i++) {
                    Maternal += reward[1];
                }
                int choose = Randomizer.rand(1, Maternal);
                int index = -1;
                for (var i = 0; i < reward.length; i++) {
                    int B = A;
                    A += reward[1];
                    if (choose >= B && choose <= A) {
                        index = i;
                        break;
                    }
                }
                int itemid = reward[index][0];
                if (MapleItemInformationProvider.getInstance().itemExists(itemid)) {
                    itemz = (GameConstants.getInventoryType(itemid) == MapleInventoryType.EQUIP) ? MapleItemInformationProvider.getInstance().getEquipById(itemid) : new Item(itemid, (short) 0, (short) 1, (byte) 0);
                }

            }

至於 NpcSetConstants.XMAXS_SURPRISE 這個則由腳本的方式載入保箱內容物 這樣就搞定了。




作者: 844946507    时间: 2024-4-4 03:05
22222222222222222222222
作者: ctoro5566    时间: 2024-6-19 18:12

666666666666666
作者: 872958121    时间: 2024-6-29 07:46
666666666666666666666
作者: 怀念ii    时间: 2024-10-19 19:18
666666666666666666666




欢迎光临 小米冒险岛论坛 (https://mimxd.com/) Powered by Discuz! X3.4