以下分析使用說話卷軸來做分析。
可見說話卷軸點擊使用後顯示對話檔內容。
1.使用名稱找尋:
進入資料庫搜尋etcitem的name為說話卷軸。
結果的item_id為40641。
SELECT * FROM etcitem WHERE NAME = '說話卷軸'
-- 40641
2.分析對應的程式碼:
關於細部程式碼請自行分析,非此篇重點<請自行閱讀程式碼>。
搜尋關鍵字40641找尋哪裡有在做判斷。
可以發現有一段程式碼在判斷使用。
`else if (itemId == 40641) { // 說話卷軸`
該class如下。
src/l1j/server/server/clientpackets/C_ItemUSe.java
關鍵的程式碼為下面這段去呼叫開啟tscrollp的對話檔。
pc.sendPackets(new S_NPCTalkReturn(pc.getId(), "tscrollp"));
3.使用抽檔程式抽檔:
使用抽檔工具去看tscrollp對話檔。
以下為tscrollp對話檔的內容,對應說話卷軸的內容。
透過抽檔工具匯出該對話檔`tscrollp-c.html。
3.查看對話檔:
以下使用編輯器去開啟。
<body>
<font fg=ffffff><p align=left>說話卷軸 :</p></font>
<br>
你好,我是從象牙塔誕生的知識結成體,『說話卷軸』<br>
象牙塔是世界的魔法根源地,我也因此具備許多知識<br>
<br>
從現在開始,我會陪同 <username> 一起冒險,冒險所需的知識可以透過我來獲得<br>
<username> 有任何問題,可以隨時問我<br>
<br>
如果是我無法回答的問題,或想要更詳細的說明,請按住鍵盤 <font fg=ffffff>CTRL鍵,同時按 H 鍵</font><br>
<br>
<br>
<a link="tscrollp0">有關新情報</a><br>
<br>
<font fg=ffffaf>前言</font><br>
<br>
<a link="tscrollp1">有關說話卷軸</a><br>
<br>
<br>
<font fg=ffffaf>順序</font><br>
<br>
<a link="tscrollp2">第1章 - 有關 移動、攻擊、對話 </a><br>
<a link="tscrollp3">第2章 - 有關村莊 </a><br>
<a link="tscrollp4">第3章 - 有關地監 </a><br>
<a link="tscrollp5">第4章 - 有關城堡 </a><br>
<br>
</body>
這邊就不特別做說明,主要是了解到使用道具去呼叫對話檔的一個分析。