【Java教學】【★★★★★】組隊經驗值加倍Config設定
先說明一下,這是我再某個私服玩過,發覺還不錯的功能
就自己實裝起來了,希望各位不要亂轉貼阿~QQ 不需要同畫面就有經驗值加倍的效果 至於怎麼改需要同畫面.....我就不清楚囉 開啟L1J\src\l1j\server\Config.java 搜尋
- public static boolean SIM_WAR_PENALTY;
複製代碼
在【上面】加入
- public static int PT_EXP; //組隊經驗值加倍
複製代碼
搜尋
- MAGIC_STONE_LEVEL = Integer.parseInt(rateSettings.getProperty("MagicStoneLevel", "50"));
複製代碼
在下面加入
- PT_EXP = Integer.parseInt(rateSettings.getProperty("PTExp", "0")); //組隊經驗值加倍
複製代碼
搜尋
- else if (pName.equalsIgnoreCase("Weightrate")) {
- RATE_WEIGHT_LIMIT = Byte.parseByte(pValue);
- }
複製代碼
在下面加入
- //組隊經驗值加倍Config設定
- else if (pName.equalsIgnoreCase("PTExp")) {
- Pet_Max_LV = Integer.parseInt(pValue);
- //組隊經驗值加倍Config設定End
- }
複製代碼
開啟L1J\src\l1j\server\server\utils\CalcExp.java
搜尋
- int add_exp = (int) (exp * exppenalty * Config.RATE_XP *
複製代碼
在下面加入 這邊的公式想要自己修改也可以 至於為甚麼不判斷if(pc.getParty().getNumOfMembers() == 1)呢? 因為一個人沒辦法組隊的QQ
- //組隊經驗加倍Config設定
- if(Config.PT_EXP != 0) {
- if(pc.isInParty()) {
- float PartyNumOfMember = pc.getParty().getNumOfMembers();
- if(PartyNumOfMember >= Config.PT_EXP) {
- add_exp = (int) (add_exp + (add_exp * (PartyNumOfMember / 10)));
- }
- }
- }
- //組隊經驗加倍Config設定End
複製代碼
開啟L1J\src\l1j\server\server\model\Instance\L1PcInstance.java 搜尋
在【上面】加入
- //組隊經驗加倍Config設定
- private final List<L1PcInstance> _membersList = Lists.newList();
- public int getNumOfMembers() {
- return _membersList.size();
- }
- //組隊經驗加倍Config設定End
複製代碼
模擬器中config\rates 裡面增加
- #組隊經驗加倍,設定最少幾個人組隊就會加經驗值,最少2個人。
- #例如:PTExp = 2,2個人組隊就會有效果,且經驗值加倍20%。
- #多一個就多10%,組隊人數也要多1個,設定0此功能不開啟
- PTExp = 6
複製代碼
這個要跟config\altsettings的配合比較好用喔
#組隊人數上限
MaxPT = 6
沒有留言:
張貼留言