黑枫叶冒险论坛

超级管理员

181

帖子

26

回复

1019

积分

楼主
发表于 2022-12-30 14:31:51 | 查看: 243 | 回复: 0

找到MapleMapEffect.java


找到makeDestroyData这个函数

从原来的


public byte[] makeDestroyData() {

        return this.jukebox ? MTSCSPacket.playCashSong(0, "") : MaplePacketCreator.removeMapEffect();

    }



改成以下


public byte[] makeDestroyData() {//修复屏幕中间喇叭不自动消失

        return this.jukebox ? MTSCSPacket.playCashSong(0, this.msg) : MaplePacketCreator.startMapEffect(this.msg, 0, this.active);

    }



找到MaplePacketCreator.java

找到startMapEffect函数

从原来的


public static byte[] startMapEffect(final String msg, final int itemid, final boolean active) {

        final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();

        mplew.writeShort((int)SendPacketOpcode.MOVE_ENV.getValue());

        mplew.write((int)(active ? 0 : 1));

        mplew.writeInt(itemid);

        if (active) {

            mplew.writeMapleAsciiString(msg);

        }

        return mplew.getPacket();

    }


改成以下


public static byte[] startMapEffect(String msg, int itemid, boolean active) {

        MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();

        mplew.writeShort(SendPacketOpcode.MAP_EFFECT.getValue());

        mplew.write(active ? 0 : 1);

        mplew.writeInt(itemid);

        if (active) {

            mplew.writeMapleAsciiString(msg);

        }

        return mplew.getPacket();

    }



找到removeMapEffect函数

从原来的


public static byte[] removeMapEffect() {

        return startMapEffect(null, 0, false);

    }


改成以下


public static byte[] removeMapEffect() {

        return startMapEffect(null, 0, true);

    }


包头

#不知道是啥 貌似是地图组件动画或者效果 079

MOVE_ENV = 0x8E

#地图效果 79

MAP_EFFECT = 0x91


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

声明:本站一切资源均来自互联网分享,仅用于学习和研究请勿商业用途

版权所有 黑枫叶 V1.0 © 2023