0910450654 發表於 2026-2-15 03:12

想請問各位大神~

最近一直出現這個錯誤代碼 不知道是哪裡出問題 想請教各位 求指導~謝謝

chang1217 發表於 2026-2-15 04:33

從錯誤堆疊(Stack Trace)分析,
這個問題出現在處理怪物施放技能(LIMobSkillUse)導致計算魔法傷害時,無法抓取到正確的資料:
錯誤詳細分析

關鍵出錯點:com.lineage.william.PcMr.getIntSpSkillMgs(PcMr.java:39)。
原因:
在執行 getIntSpSkillMgs(可能與魔防或技能強化相關)時,程式試圖存取一個「不存在」(null)的物件。
觸發流程:
伺服器的 AI 行程 (NpcAI) 驅動 NPC 或怪物發動攻擊。
怪物嘗試使用技能 (LIMobSkillUse.skillU3c)。
系統在計算魔法傷害及魔防抵銷 (calcMrDefense, calcMagicDamage) 時,因為找不到目標或相關技能的數據而崩潰。

常見解決建議
檢查資料庫 (DB):這通常是因為資料庫中某個怪物的 skill_id 設定錯誤,或是對應的 skills 資料表缺少該技能的資料。
腳本錯誤:如果是新增的自定義技能或裝備,請檢查相關的 Java 腳本是否有未定義的變數。
目標遺失:若怪物攻擊的目標(玩家或 NPC)在技能結算瞬間消失(如:斷線、傳送、死亡),也可能引發此類連鎖報錯。
您是否近期有修改過資料庫中的怪物技能,或是在測試特定的自定義技能?

這是一個在遊戲伺服器端發生的Java 程式錯誤訊息。
錯誤類型: NullPointerException 指出程式碼試圖在一個未初始化或為空的物件上執行操作。
錯誤位置: 根據堆疊追蹤,問題出現在 PcMr.java 的第39 行,與處理玩家的魔法防禦相關。
建議: 需要開發人員檢查該處程式碼,確保相關物件在使用前已正確初始化。
備註: 這是程式碼層面的錯誤,一般使用者無法透過重啟遊戲解決。

yasioukon 發表於 2026-2-15 08:23

錯誤一般看第一個出現的檔案

所以 檢查PcMr.java第39行是什麼

想開服 發表於 2026-2-15 11:10

KOR那個版本的, 39行是這部分

/**
       * 依玩家 INT 取得 MGS加成
       *
       * @param pcint 玩家INT
       * @return MGS補正值
       *
       * 與 getIntSpSkill() 完全相同邏輯
       * 只是回傳欄位改為 Mgs
       */
        public static int getIntSpSkillMgs(int pcint) {
                int dmg = 0;

                // 取得INT對應模板
                PcMr IntSpSkill = PcMrDmg.getInstance().getTemplate(pcint);

                // 判斷是否達到門檻
                if (pcint >= IntSpSkill.getIntSp()) {
                        dmg = IntSpSkill.getMgs();
                }

                return dmg;
        }
應該是在取得玩家INT數值時候出錯

0910450654 發表於 2026-2-15 23:07

好哦~感謝各位大大解說 我試試ˋ看
頁: [1]
查看完整版本: 想請問各位大神~