- UID
- 72773
- 閱讀權限
- 20
- 主題
- 13
- 帖子
- 69
- 精華
- 5
- A幣
- 216
- 在線時間
- 163 小時
- 最後登錄
- 2024-11-22
初窺門道
- 主題
- 13
- 帖子
- 69
- 精華
- 5
- 綜合社群主題發文量
- 0
- 電玩社群主題發文量
- 0
- 娛樂社群主題發文量
- 0
- 技術社群主題發文量
- 13
- 閱讀權限
- 20
- 註冊時間
- 2019-8-9
TA的每日心情 | 衰 2021-6-8 20:12 |
---|
簽到天數: 14 天 連續簽到: 0 天 [LV.3]偶爾看看II
|
本帖最後由 a894985459 於 2023-11-23 00:32 編輯
如題
不確定對應版本,因為我是用 GMS V117 做修復
沒意外GMS V111 TMS V145附近的版本都可以使用
切入正題 不設回覆跟A幣 因為沒意義
首先找到
MapleSummon.java
搜尋
- public final int getSummonType() {
複製代碼
在他的上方增加
- public final int getSkillType() {
- switch (skill) {
- case 33101005:
- case 32111006:
- case 5321004:
- case 5320011:
- return 5;
- }
- return 4;
- }
複製代碼
轉到 MapleStatEffect
搜尋
- private void applyBuffEffect
複製代碼 下方找個 case 結尾下增加
- case 5321004: {
- SkillFactory.getSkill(5320011).getEffect(applyfrom.getTotalSkillLevel(5321004)).applyTo(applyfrom, applyto, primary, null, newDuration);
- break;
- }
複製代碼
搜尋
找到類似以下內容(一定有一段類似)
- case 3121006: // phoenix
- case 23111008:
- case 23111009:
- case 23111010:
- case 5320011:
- ret.statups.put(MapleBuffStat.SUMMON, 1);
複製代碼
將
移動到歸類於
- ret.statups.put(MapleBuffStat.PUPPET, 1);
複製代碼
這段的上方
結果大概會是
- case 5220002: // wrath of the octopi
- case 33111003:
- case 5321003:
- case 5211014:
- case 5320011:
- ret.statups.put(MapleBuffStat.PUPPET, 1);
- break;
複製代碼
轉到CField.java 或是 MaplePacketCreator.java
搜尋
- public static byte[] spawnSummon(MapleSummon summon, boolean animated) {
複製代碼
修改
- mplew.writePos(summon.getPosition());
複製代碼
的下一行
- mplew.writeShort(SendPacketOpcode.SPAWN_SUMMON.getValue());
- mplew.writeInt(summon.getOwnerId());
- mplew.writeInt(summon.getObjectId());
- mplew.writeInt(summon.getSkill());
- mplew.write(summon.getOwnerLevel() - 1);
- mplew.write(summon.getSkillLevel());
- mplew.writePos(summon.getPosition());
- mplew.write(......); ← 這裡
複製代碼
為
- mplew.write(summon.getSkillType());
複製代碼
結果大概會是這樣
- mplew.writeShort(SendPacketOpcode.SPAWN_SUMMON.getValue());
- mplew.writeInt(summon.getOwnerId());
- mplew.writeInt(summon.getObjectId());
- mplew.writeInt(summon.getSkill());
- mplew.write(summon.getOwnerLevel() - 1);
- mplew.write(summon.getSkillLevel());
- mplew.writePos(summon.getPosition());
- mplew.write(summon.getSkillType());
複製代碼
編譯
至此你又修復了一個技能
目前還有一個小問題就是
磁錨會去占用到第二隻猴子的位置
所以在使用磁錨時會導致一隻猴子提前結束
等我哪天找到完美修復的方式在丟上來
意外插曲
無限猴子制.jpg
|
|