查看: 1308|回复: 6

簡單的飛天椅子(坐騎)改法 v120

[复制链接]
  • TA的每日心情

    2022-12-15 19:48
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    74

    主题

    9

    回帖

    355

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    355
    QQ
    发表于 2022-12-1 17:09:27 | 显示全部楼层 |阅读模式
    本帖最后由 小强 于 2022-12-1 17:10 编辑

    游客,如果您要查看本帖隐藏内容请回复

    修改使用椅子的方法
    因為我們需要判斷是否為飛天椅子,然後改以坐騎的方式來使用,所以我們會需要在使用椅子的方法中做修改,這個方法會在 src/handling/channel/handler/PlayerHandler.java 裡面。
    找到 UseChair 方法,並在裡面找到 chr.setChair(itemId); 這行程式碼,我們需要在它下面加上判斷是否為飛天椅的判斷式:
    [Java] 纯文本查看 复制代码
    // 是否為飛天椅子
    public static int isFlyChair(int ItemId) { 
       switch (ItemId) {
           case 3015564: // 太陽椅子
               return 1933256;
           case 3015570: // 土星椅子
               return 1933262;
       }
       return 0; // 不調用
    }
    不過可能很多人到這步就卡住了
    我一開以為這樣就解決了,結果坐椅子的時候端口報了 error: sendPacket xxxxxx: Not supported yet.,看了一下是 sendPacket 的問題,檢查才發現原來 sendPacket 原本寫法是強制 throw UnsupportedOperationException,所以不管怎樣都會卡住,自己嘗試修復了一下就可以了。
    在 src/client/MapleClient.java 找到 sendPacket,修改成:
    [Java] 纯文本查看 复制代码
    public static final void UseChair(final int itemId, final MapleClient c, final MapleCharacter chr) {
          // ...
          chr.setChair(itemId);
          // 若使用的椅子 id 包含在飛天椅中就使用坐騎方式;如果不包含在裡面就會回傳 0,跑 else 語句,普通坐椅子的方式
          if (GameConstants.isFlyChair(itemId) > 0) {
                // 坐騎方式
                final List<Pair<MapleBuffStat, Integer>> stat = Collections.singletonList(new Pair<>(MapleBuffStat.MONSTER_RIDING, 0));
                chr.getClient().sendPacket(MaplePacketCreator.giveMount(GameConstants.isFlyChair(itemId), 0, stat));
                chr.getMap().broadcastMessage(chr, MaplePacketCreator.showMonsterRiding(chr.getId(), stat, GameConstants.isFlyChair(itemId), 0), false);
          } else {
                // 普通坐椅子
                chr.getMap().broadcastMessage(chr, MaplePacketCreator.showChair(chr.getId(), itemId), false);
          }
          c.getSession().write(MaplePacketCreator.enableActions());
    }
    講解得應該很詳細了,如果還是不會改我也沒辦法了 ,順便分享一下釣魚也是在 UseChair 裡面寫,有興趣都可以自己玩玩看。
    专注于GMS研究,有偿调试架设,全网最低,公益群:915210346。
    回复

    使用道具 举报

  • TA的每日心情

    2024-4-22 08:08
  • 签到天数: 366 天

    [LV.9]以坛为家II

    287

    主题

    102

    回帖

    8024

    积分

    论坛元老

    Rank: 8Rank: 8

    积分
    8024
    发表于 2022-12-2 19:48:59 | 显示全部楼层
    6666666666666666666
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    5

    回帖

    19

    积分

    新手上路

    Rank: 1

    积分
    19
    发表于 2022-12-27 19:49:14 | 显示全部楼层
    1111111111111111111
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2023-1-2 19:20
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    2

    主题

    35

    回帖

    337

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    337
    发表于 2023-1-1 22:36:55 | 显示全部楼层
    啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-12-13 22:56
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    5

    回帖

    36

    积分

    新手上路

    Rank: 1

    积分
    36
    发表于 2023-3-29 18:15:10 | 显示全部楼层
    支持一下
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-6-28 07:37
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    2

    主题

    66

    回帖

    71

    积分

    注册会员

    Rank: 2

    积分
    71
    发表于 2024-6-19 18:16:13 | 显示全部楼层

    666666666666666
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-7-4 11:28
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    0

    主题

    55

    回帖

    168

    积分

    注册会员

    Rank: 2

    积分
    168
    发表于 2024-6-29 07:44:53 | 显示全部楼层
    666666666666666666666
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表