如題
不確定對應版本,因為我是用 GMS V117 做修復
沒意外GMS V111 TMS V145附近的版本都可以使用
切入正題 不設回覆跟A幣 因為沒意義
首先找到
MapleSummon.java
搜尋
1
public final int getSummonType() {
複製代碼
在他的上方增加
1
2
3
4
5
6
7
8
9
10
public final int getSkillType() {
switch (skill) {
case 33101005:
case 32111006:
case 5321004:
case 5320011:
return 5;
}
return 4;
}
複製代碼
轉到 MapleStatEffect
搜尋
1
private void applyBuffEffect
複製代碼 下方找個 case 結尾下增加
1
2
3
4
case 5321004: {
SkillFactory.getSkill(5320011).getEffect(applyfrom.getTotalSkillLevel(5321004)).applyTo(applyfrom, applyto, primary, null, newDuration);
break;
}
複製代碼
搜尋
找到類似以下內容(一定有一段類似)
1
2
3
4
5
6
case 3121006: // phoenix
case 23111008:
case 23111009:
case 23111010:
case 5320011:
ret.statups.put(MapleBuffStat.SUMMON, 1);
複製代碼
將
移動到歸類於
1
ret.statups.put(MapleBuffStat.PUPPET, 1);
複製代碼
這段的上方
結果大概會是
1
2
3
4
5
6
7
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
搜尋
1
public static byte[] spawnSummon(MapleSummon summon, boolean animated) {
複製代碼
修改
1
mplew.writePos(summon.getPosition());
複製代碼
的下一行
1
2
3
4
5
6
7
8
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(......); ← 這裡
複製代碼
為
1
mplew.write(summon.getSkillType());
複製代碼
結果大概會是這樣
1
2
3
4
5
6
7
8
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
|