| 本帖最後由 呆呆傑 於 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 | publicenumMapleBuffStat implementsLongValueHolder, Serializable {
 | 
在下方新增:
 
 [Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode
 
 
 
 2. MapleCharacter.java
 
 本帖隱藏的內容(1) 搜尋: [Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode | 01 | publicclassMapleCharacter extendsAbstractAnimatedMapleMapObject implementsInventoryContainer {
 | 
在下方新增: [Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode | 01 | publictransientdoubleexpBuff;
 | 
(2) 搜尋: [Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode | 01 | privatevoidrecalcLocalStats() {
 | 
在下方新增: [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 | publicclassMapleStatEffect implementsSerializable {
 | 
在下方新增: [Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode(2) 搜尋: [Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode | 01 | privatestaticMapleStatEffect loadFromData(MapleData source, intsourceid, booleanskill, booleanoverTime) {
 | 
在下方新增: [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分鐘...以此類推
 
 
 
 
 
 |