Like Share Discussion Bookmark Smile

J.J. Huang   2022-02-28   天堂私服 08.對話檔分析/修改   瀏覽次數:次   DMCA.com Protection Status

天堂私服 | 圖片對話檔分析

章節用意

透過分析找尋特定NPC的對話檔,嘗試修改圖片或是加入圖片的內容,進而了解於對話檔內使用圖的方式。

版本資訊

  • 客戶端版本
    • 天堂(Lineage 3.81C)
  • 核心版本
    • L1J-3.80c

前言

在開始分析前,請務必先將以下文章閱讀完畢。

分析

以下分析使用說話之島來做分析修改範例。

  • 1.使用名稱找尋:
    • 移動到NPC旁邊。
    • 進入資料庫搜尋spawnlist_npclocation
    • 透過npcid去搜尋對應的行動。
    • 資料庫搜尋npcactionnpcid70101
    • 最終可以取得對話檔名稱為fiin1
      1
      2
      3
      4
      SELECT * FROM spawnlist_npc WHERE location = '芬'
      -- 70101
      SELECT * FROM npcaction WHERE npcid = 70101
      -- fiin1
  • 2.使用抽檔程式抽檔:
    • 使用抽檔工具去看fiin1對話檔。
    • 以下為對話檔的內容,對應的對話框內容,可以發現是對應的上的。
    • 透過抽檔工具匯出該對話檔fiin1-c.html
  • 4.編輯對話檔:
    • 此處我們希望在對話檔中插入幾張圖片做顯示。
    • 修改前先對插入圖片HTML標籤做說明。<如果有html經驗,請直接忽略>
    • <img>
      • 說明HTML img圖片標籤用來在網頁上插入圖片,增加網頁的豐富程度。
      • 屬性
        • src:圖片網址,必要項目。<參數對應客戶端內的img檔名稱>
        • tooltip:當滑鼠游標移到圖片上時出現的提示。
      • 以下屬性在客戶端中是沒有效果的:
        • border:圖片邊框,例如border="0"代表邊框為0
        • alt:圖片替代文字,當圖片顯示失效,則顯示alt文字。
        • title:圖片文字標示,當滑鼠移經圖片,自動顯示的文字。
        • width:圖片寬度,例如width="120px"代表寬度限制在120px
        • height:圖片高度,例如height="100px"代表高度限制在100px
    • 下方為編輯後的對話檔內容:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      <body>
      <font fg=ffffff>
      <p align=left>芬:</p>
      </font>
      <br>
      戰爭結束了,和平到來了?不要騙人了! 我妹妹在3天前才因為妖魔而受傷,現在都不能走路了!<br>
      <br>
      什麼亞丁守護團,要當守護團就要好好做! 明知道那個洞穴很危險卻不去封掉,還不斷的讓怪物跑出來!<br>
      <br>
      <img src="#3431" tooltip="當滑鼠游標移到圖片上時出現的提示"></img>
      </body>
    • 以上的修改說明:
      • 於最下方加入一張3431的圖片。
      • 3431是什麼圖片,請使用抽檔預覽工具觀看即可。
    • 修改完畢後,將檔案儲存,並讓天堂進行吃檔。
    • 再次進入遊戲與NPC對話,可以看到其效果。

注意事項

設定圖片的時候,所使用的客戶端img檔,其檔名是有使用順序的。
當對話檔內設定的src="#3431"時,根據客戶端語系的不同而讀取的檔案名稱順序亦會不同。

註:檔案名稱後面的c是繁體中文、h是簡體中文、j是日文、e是英文、k是韓文..等等。


此處用繁體中文來做示範:

範例一

  • 當客戶端內有以下img檔存在時:
    • 3431.img
    • 3431c.img
  • 優先使用3431c.img做顯示。

範例二

  • 當客戶端內有以下img檔存在時:
    • 3431.img
  • 使用3431.img做顯示。

規則說明:
同組數字,優先讀C,沒C的話,讀數字。

以上規則由Discord-柴犬網遊技研所的”骷髏弓箭手“成員提供的資訊,非常感謝

額外問題

可以看到商店的是透過圖片呈現的,分別為#312#314
然後透過抽檔預覽程式去看檔名為312.img314.img312c.img314c.img,會發現圖片是不一致的。

初步有稍微翻找過核心原始碼、客戶端xml檔,並未查到有用的資訊來解釋上述的問題。

結論

  • 對話檔是使用HTMLimg標籤插入圖片。
  • 部分的屬性名稱和效果是不一樣的。
  • 另外一提,img標籤是可以不需要結束的標籤:
    • 有結束標籤。
      1
      <img src="#3431" tooltip="當滑鼠游標移到圖片上時出現的提示"></img>
    • 無結束標籤。
      1
      <img src="#3431" tooltip="當滑鼠游標移到圖片上時出現的提示">

      註:以上兩個效果都是一樣的。

結語

原創文章真的不易,希望多多支持,感謝。
最後建議回顧一下首章天堂私服 | 天堂私服架設教學,了解其章節目錄。

免責聲明

  • 本部落格文章中皆不提供任何所謂的遊戲「主程式」、「模擬器」、「登入器」…等等相關程式的下載點。
  • 本部落格文章中所見之遊戲主程式和服務器端程序均來自網路發佈,版本歸原作者所有
  • 本部落格文章為研究SQL資料庫與修改JAVA語法使用,非商業用途,亦無做營運事實等任何一切商業行為
  • 本部落格文章內容是為研究學習設計思想和原理為目的,絕沒有故意侵權或惡意抄襲、篡改其他遊戲內容

註:以上參考了
HTML標籤列表