您好
我沒有細看 但有稍微查閱了一下核心
2. 藍人殺紅人也會變紅
我感覺是判斷沒有寫好 目前在核心檔案L1PcInstance(line 9054) & L1PcInstance$Death (line 244) "不清楚兩者差異 請專業人士補充" 中有看到以下判斷句
- if (fightPc != null) {
- if (fightPc.getLawful() >= 0) {
- fightPc.setLawful(-15000);
- fightPc.sendPacketsAll(new S_Lawful(fightPc));
- } else {
- fightPc.addLawful(-1000);
- fightPc.sendPacketsAll(new S_Lawful(fightPc));
- }
- }
複製代碼只要你正義值Lawful大於等於0殺人直接扣15000正義值 如為邪惡 扣1000
(我測試的環境是兩隻角色都1等正義0 砍死一方 殺人者直接正義值變-15000 我沒有測試一方為紅人狀態)
所以我推測是判斷沒寫好(因為我在config中沒看到可以設定的地方) 沒有去判斷對方是否為紅人 如要修改需要從核心去加條件 至於怎麼去抓對方的正義值 可能需要請大大自行研究
1.戰鬥區域殺人會變紅
如果是以單一地圖號來說 不知是否可以去db mapids測試關閉Penalty (1 = true 0 = false)看看還會不會有懲罰
不清楚這個懲罰是否有包含扣正義值 但以下判斷句是在扣正義值之前(上面的代碼)執行完如果Penalty disable就直接return 照理說是不會往下執行接下來的代碼
- if (!L1PcInstance.this.getMap().isEnabledDeathPenalty()) {
- return;
- }
複製代碼
以上是我倉促測試 不論對錯 如有錯誤還請各位指正