本帖最後由 呆呆傑 於 2016-10-10 05:47 編輯
此方法從V117端原碼參考後,部分增加至V62原碼內。 所以不確定有沒有什麼未知的錯誤,不過測試下來沒發現任何問題! 不過比較高的版本有支援這個buff的話,就不用這麼麻煩囉~
首先,先來看這個功能到底是在做什麼的!
這個功能跟經驗值兩倍卡的相同,不過V62版本內並沒有這個buff,所以需要自己手動新增!
跟V62的經驗值加倍券比起來,上圖這個可以自行設定時間、倍率還蠻實用的, ---------------------------------------------------------------------------------------------------------------------
接下來,說明一下需要動到的東西: 1. MapleBuffStat.java 2. MapleCharacter.java 3. MapleStatEffect.java 4. MapleMonster.java 5. Item.wz
教學開始! [文中所有新增的東西,都需要自行去研究該放哪個位置] 1. MapleBuffStat.java
本帖隱藏的內容(1)搜尋:
[Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode 01 | public enum MapleBuffStat implements LongValueHolder, Serializable {
|
在下方新增:
[Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode
2. MapleCharacter.java
本帖隱藏的內容(1) 搜尋: [Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode 01 | public class MapleCharacter extends AbstractAnimatedMapleMapObject implements InventoryContainer {
|
在下方新增: [Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode 01 | public transient double expBuff;
|
(2) 搜尋: [Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode 01 | private void recalcLocalStats() {
|
在下方新增: [Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode 並且再新增: [Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode 01 02 03 04 | Integer expbuff = getBuffedValue(MapleBuffStat.EXPRATE);
if (expbuff != null ) {
expBuff *= expbuff.doubleValue() / 100.0 ;
}
|
3. MapleStatEffect.java
本帖隱藏的內容(1) 搜尋: [Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode 01 | public class MapleStatEffect implements Serializable {
|
在下方新增: [Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode (2) 搜尋: [Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode 01 | private static MapleStatEffect loadFromData(MapleData source, int sourceid, boolean skill, boolean overTime) {
|
在下方新增: [Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode 01 | ret.expBuff = ( short ) MapleDataTool.getInt( "expBuff" , source, 0 );
|
並且再新增: [Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode 01 | addBuffStatPairToListIfNotZero(statups, MapleBuffStat.EXPRATE, Integer.valueOf(ret.expBuff));
|
4. MapleMonster.java
搜尋: [Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode 這個地方就需要靠自己去思考了,上面的1.2.3已經算是99.9%完成,只差這個獲取經驗值公式後面要怎麼去乘。 可以去參考前面是怎麼寫的! ps. 你寫的那串值後面要再加上" / 100.0",不然你會發現你WZ輸入200,他不會變成2倍而是200倍!
5. Item.wz
(1) 打開 Item.wz > Consume > 隨便找一個藥水 > 找到 spec > 1.增加 expBuff 2.增加 time
expBuff 值 -> 輸入100=1倍;200=2倍....以此類推 time 值 -> 輸入60000=1分鐘;120000=2分鐘...以此類推
|