ZH Troubleshooting - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

疑難排解

Home · BASIC · UO API · A–Z · Examples · Languages

API Manual 空白

  1. 確認啟動的是完整 client,不是 client-without-yoko
  2. 不要把 ClassicUO.exe 單獨複製到另一個資料夾執行。
  3. 確認 Basic IDE/API payload 與完整客戶端其他檔案仍在同一套目錄。
  4. 關閉 IDE 與 ClassicUO,再從完整客戶端目錄重新啟動。
  5. 不要把舊壓縮檔的 IDE、extension 或 Runtime 檔案覆蓋目前目錄。
  6. 在 Output/Logs 查找 Runtime metadata 或 local Theia host 載入錯誤。

框架能開啟但 API navigation 完全空白,通常表示 frontend 已啟動但未取得 Runtime catalog。

Run 開啟 launch.json

使用 Basic extension 提供的 Run Current ScriptStart Script (SUB Main) / Run Without DebuggingStart Debugging。通用 Theia/VS Code 命令在沒有相符 debug configuration 時可能開啟 launch.json;Basic 命令應直接作用於目前 Basic 腳本。

Already running: Main

Runtime 仍將同一腳本的 Main 實例視為 active。請在 Explorer 選取正確腳本並使用 Stop。若 UI 狀態過舊,關閉再開 IDE,使其從仍在執行的 ClassicUO Runtime 重新讀取狀態。停止之前不要重複啟動同一 entry point。

F10F11 沒有作用

逐步命令只在 debugger 停在可執行語句時可用:

  1. 使用 Start Debugging
  2. F9 設 breakpoint,或等待第一次停止;
  3. 使用 F10F11Shift+F11

若腳本已完全 stopped,selected script is not running 是正確提示。

必須捲動到底部才能執行

這是舊元件造成的錯誤。目前文件在開啟或修改時會完整索引。請確認 IDE、language extension 與 Runtime 都來自同一套完整客戶端,未從舊資料夾複製。

沒有綠色或黃色狀態點

  • 在 Explorer 選取腳本;
  • 查看 Output 是否真的成功開始;
  • 使用狀態 Reload/Refresh;
  • 確認 IDE 連接到同一個 ClassicUO 實例;
  • 不要讓兩個不同客戶端共用同一份 IDE payload。

綠色代表 running,黃色代表 paused,黑色/普通主題色代表選取且 stopped。

Basic 命令讓客戶端暫停回應

  • 在所有長時間迴圈加入 UO.Wait(...)
  • 移除無等待的 active infinite loop;
  • 不要在每次迭代執行大型同步搜尋;
  • 把重工作拆成可 yielding 的小步驟;
  • 確認 Macro、Runtime 與 IDE 檔案來自同一套客戶端。

Basic Auto Load 沒有 procedure

  • Options → Basic IDE 選擇正確 AutoLoad 並按 Apply
  • 確認檔案位於 Autoload 頂層;
  • 確認副檔名為 .sc.inj.bas.txt
  • 確認 procedure 語法完整;
  • 重新開啟 Macros 頁面以重新讀取清單。

字型變黑

啟用 Use original game/source color 並按 Apply。此選項使自訂字型保留原始動態 UO hue。若仍為黑色,檢查是否混用了舊字型 renderer 或設定檔。

NPC/怪物施法指示器不出現

確認 NPC/Monster 的獨立勾選已開啟、長度大於 0、位置與顏色可見,而且目標在客戶端視野內。有些伺服器不提供足夠的 speech、action code 或 animation,因此無法可靠偵測每一次遠端施法。

施法文字與指示器分離

確認標籤位置使用同一組 self/Other Player/NPC/Monster 設定,並且未混用舊 UI 檔案。文字應依實際 glyph 寬度緊鄰指示條;字型大小變更後仍應重新測量。

Texture not found for sprite

代表目前 Ultima Online 資料中缺少指定 sprite。客戶端會快取負面結果並使用 fallback。若物件必須正確顯示,請檢查本機 client data 是否與伺服器相容,而不是反覆重啟。

FPS 重新變回預設值

確認已按 Apply、客戶端目錄可寫入,且沒有混用不同資料夾的設定。FPS 屬於安裝層級設定,不應因切換角色而改變。

Auto Open Doors 不工作

確認選項已套用、門在可作用距離內且伺服器允許。客戶端會在移動前使用具體 door serial,並限制同一扇門短時間內重複觸發。

尋求協助時應提供

  • 使用 clientclient-without-yoko
  • 可重現的精確步驟;
  • Output/Logs 中相關錯誤段落;
  • 腳本的最小重現範例,移除帳號、密碼和私人 server 資訊;
  • 問題是每次發生還是只在特定 shard/資料檔發生。