查看: 709|回復: 4

[問題] 想請問各位大神~

[複製鏈接]

26

主題

98

帖子

946

金錢

妖魔鬥士

Rank: 6Rank: 6

威望
0
精華
0
貢獻
0
鑽石
0
閱讀權限
40
積分
1044
在線時間
39 小時
相冊
0
日誌
0
好友
0
發表於 2026-2-15 03:12 | 顯示全部樓層 |閱讀模式
最近一直出現這個錯誤代碼 不知道是哪裡出問題 想請教各位 求指導~謝謝

未命名.png



上一篇︰商應版本380,功能齊全,可開,分享下載網址!
下一篇︰刪除刪除刪除

31

主題

984

帖子

1萬

金錢

巴列斯

Rank: 10Rank: 10Rank: 10

威望
0
精華
0
貢獻
0
鑽石
0
閱讀權限
60
積分
19203
在線時間
248 小時
相冊
0
日誌
0
好友
1
發表於 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 行,與處理玩家的魔法防禦相關。
建議: 需要開發人員檢查該處程式碼,確保相關物件在使用前已正確初始化。
備註: 這是程式碼層面的錯誤,一般使用者無法透過重啟遊戲解決。


回復 支持 反對

使用道具 舉報

3

主題

1381

帖子

3萬

金錢

安塔瑞斯

紅茶 LINE: lineageapp

Rank: 11Rank: 11Rank: 11Rank: 11

威望
5
精華
0
貢獻
0
鑽石
0
閱讀權限
65
積分
36777
在線時間
1080 小時
相冊
0
日誌
0
好友
0
發表於 2026-2-15 08:23 | 顯示全部樓層
錯誤一般看第一個出現的檔案

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

紅茶
聯絡方式
LINE: lineageapp
回復 支持 反對

使用道具 舉報

3

主題

430

帖子

1萬

金錢

巴列斯

Rank: 10Rank: 10Rank: 10

威望
0
精華
0
貢獻
0
鑽石
0
閱讀權限
60
積分
19417
在線時間
516 小時
相冊
0
日誌
0
好友
0
發表於 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數值時候出錯

回復 支持 反對

使用道具 舉報

26

主題

98

帖子

946

金錢

妖魔鬥士

Rank: 6Rank: 6

威望
0
精華
0
貢獻
0
鑽石
0
閱讀權限
40
積分
1044
在線時間
39 小時
相冊
0
日誌
0
好友
0
 樓主| 發表於 2026-2-15 23:07 | 顯示全部樓層
好哦~感謝各位大大解說 我試試ˋ看

回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊會員

本版積分規則

天堂私服列表

45客服

Archiver| 45天堂私服論壇   分享到微博! 分享到臉書! 分享到噗浪! 分享到維特! 分享到Google+! 分享到LINE!

45天堂私服發佈站 ©    天堂私服架設教學  提供最新天堂私服最新資訊

流量最高、品質最好、服務最優、玩家首選、最新天堂私服資訊,都在45天堂私服發佈站.    免責聲明

Sitetag
line客服聯繫
掃一掃二碼
Line客服聯繫
24H專人回覆
返回頂部 返回列表