樓主: clubblard426

[分享] 自製npc的對話

  [複製鏈接]

13

主題

37

帖子

643

金錢

妖魔

Rank: 4

威望
0
精華
0
貢獻
0
鑽石
0
閱讀權限
35
積分
680
在線時間
12 小時
相冊
0
日誌
0
好友
0
發表於 2025-7-31 15:21 | 顯示全部樓層
想要了解一下啊

回復 支持 反對

使用道具 舉報

131

主題

1201

帖子

39萬

金錢

巴拉卡斯

Rank: 13Rank: 13Rank: 13Rank: 13

威望
5
精華
0
貢獻
0
鑽石
0
閱讀權限
75
積分
392164
在線時間
1319 小時
相冊
0
日誌
0
好友
14

最佳新人論壇元老灌水之王

發表於 2026-2-7 14:30 | 顯示全部樓層
[size=14.6667px][sell=30]新增兌換NPC跟如何讓NPC的選項可以跳到下一個對話
[size=14.6667px]首先我們必須先做出一個對話檔(用記事本就可以)
[size=14.6667px]例子複製以下)
[size=14.6667px]<html>
[size=14.6667px]<body>   
[size=14.6667px]<font fg=f199ff><p>☆轉生耳環☆</p></font>   
[size=14.6667px]<font fg=ADFF2F><p align=left>紀念幣獎勵兌換處:</p><p align=left></p></font>   

[size=14.6667px]<p>歡迎你<username>!</p>   

[size=14.6667px]<p>我需要五個 轉生紀念幣</p>
[size=14.6667px]<p>我的轉生獎勵耳環功能 依照名稱 能力值+10 其餘+8 防-5血+1100摩+800</p>   
[size=14.6667px]<p>請選擇您所需要的獎勵耳環</p>
[size=14.6667px]<p>
[size=14.6667px]<br><a action="asq1">我要換 神之力量耳環。</a> </p>   
[size=14.6667px]<br><a action="asq2">我要換 神之敏捷耳環。</a> </p>
[size=14.6667px]<br><a action="asq3">我要換 神之智慧耳環。</a> </p>   
[size=14.6667px]<br><a action="asq4">我要換 神之精神耳環。</a> </p>
[size=14.6667px]<br><a action="asq5">我要換 神之體質耳環。</a> </p>   
[size=14.6667px]<br><a action="asq6">我要換 神之魅力耳環。</a> </p>
[size=14.6667px]</body>   

[size=14.6667px]之後存檔~存檔類型定成:所有檔案,檔名後面要加-c.html   
[size=14.6667px]現在假設檔名取為"add-c.html",此將為對話檔
[size=14.6667px]===================================================================
[size=14.6667px]第二步:打開[size=14.6667px]DB[size=14.6667px] npc[size=14.6667px]資料[size=14.6667px]表,新增一個npc,impl欄位必須要是L1Merchant
[size=14.6667px]假設此npc的編號(npcid)為91445
[size=14.6667px]第三步:打開[size=14.6667px]DB[size=14.6667px] npcaction[size=14.6667px]資料[size=14.6667px]表.拉到最下面新增一行   
[size=14.6667px]npcid:91445(剛剛新增的任務npc編號)
[size=14.6667px]normal_action:add(打上對話檔名稱)   
[size=14.6667px]caotic_action:add(打上對話檔名稱)   
[size=14.6667px]teleport_url及teleport_urla:空白

[size=14.6667px]到這裡 你的NPC新增好了 NPC兌換的對話檔也做好了 在[size=14.6667px]DB[size=14.6667px]的部分也設定好了   
[size=14.6667px]對話檔丟到TEXT吃檔 上線就會看到NPC有這個對話 但是兌換的東西還沒設定好   
[size=14.6667px]第四步:用記事本打開[size=14.6667px]模擬器[size=14.6667px]\data\xml\NpcActions裡面的SingleItemMaking   
[size=14.6667px]拉到最下面,在</NpcActionList>前打上下面一段
[size=14.6667px]<!--轉生耳環兌換-->
[size=14.6667px]<Action Name="asq1" NpcId="91445">
[size=14.6667px]<MakeItem>
[size=14.6667px]<Material Amount="1" ItemId="21549"/>   
[size=14.6667px]<Material Amount="5" ItemId="300630"/>   
[size=14.6667px]<Item Amount="1" ItemId="220320"/>
[size=14.6667px]</MakeItem>   
[size=14.6667px]</Action>

[size=14.6667px]此段說明:   
[size=14.6667px]Action Name="asq1==> 這個代表你剛剛設定對話檔裡面的兌換選項<我設定為asq1須與對話檔一樣
[size=14.6667px]NpcId="91445==> 剛剛設定的任務npc id
[size=14.6667px]Material Amount="1"==> 身上必須要有的道具(材料)數量
[size=14.6667px]ItemId="21549"==>指這樣道具(材料)的編號 
[size=14.6667px]Item Amount="1" ==>指兌換得到的道具數量   
[size=14.6667px]ItemId="220320"==>指兌換得到的道具編號   

[size=14.6667px]若是想要增加兌換的難度,也可以像我設定兩行<Material Amount="數量" ItemId="道具id"/>   
[size=14.6667px]甚至是多行,也就是多種材料道具才可以換到某要東西   

[size=14.6667px]如果像我一個對話檔可以換多項物品 隻需在SingleItemMaking 裡再多打上   
[size=14.6667px]<!--轉生耳環兌換-->
[size=14.6667px]<Action Name="asq1(改為asq2)" NpcId="91445(一樣)">
[size=14.6667px]<MakeItem>
[size=14.6667px]<Material Amount="自設定" ItemId="自設定"/>   
[size=14.6667px]<Material Amount="自設定" ItemId="自設定"/>   
[size=14.6667px]<Item Amount="自設定" ItemId="自設定"/>   
[size=14.6667px]</MakeItem>
[size=14.6667px]</Action>
[size=14.6667px]以此重覆~就可以一個NPC兌換多項物品了
[size=14.6667px]=======================================================================   
[size=14.6667px]假設你想要一樣東西就可以兌換三樣東西的話就是<Material Amount="數量" ItemId="道具編號"/>這個隻要一條
[size=14.6667px]<Item Amount="數量" ItemId="道具編號"/>這個就打三條   
[size=14.6667px]假設你想要三樣東西才可以兌換到一個東西的話<Material Amount="數量" ItemId="道具編號"/>這個就打三條
[size=14.6667px]<Item Amount="數量" ItemId="道具編號"/>這個就打一條
[size=14.6667px]=======================================================================
[size=14.6667px]最後把對話檔丟到[size=14.6667px]天堂[size=14.6667px]資料[size=14.6667px]夾底下的text[size=14.6667px]資料[size=14.6667px]夾裡面,然後吃檔後
[size=14.6667px]開啟[size=14.6667px]伺服器[size=14.6667px],上線把剛剛新增的npc(91445)創出,就完成了
[size=14.6667px]=======================================================================   
[size=14.6667px]教你如何新增兌換NPC跟如何讓NPC的選項可以跳到下一個對話   
[size=14.6667px]以下是新增一個兌換東西的NPC 還有可以連到下一個對話視窗的教學 講解很簡單 
[size=14.6667px]隻要[size=14.6667px]DB[size=14.6667px]夠熟悉都會董 如果不夠充足在這邊先說聲抱歉   
[size=14.6667px]首先我們必須先做出一個對話檔(用記事本就可以)   
[size=14.6667px]例子:
[size=14.6667px]<html>
[size=14.6667px]<body>   
[size=14.6667px]<font fg=f199ff><p>魔法卷軸(魔法屏障)</p></font>   
[size=14.6667px]<p>   
[size=14.6667px]<font fg=ADFF2F><p align=left>魔法屏障兌換處說明:</p><p align=left></p></font>
[size=14.6667px]<p>
[size=14.6667px]<p>歡迎你<username>!</p>
[size=14.6667px]<p>   
[size=14.6667px]<p>兩種搭配方法第一種四級空卷二張加五個魔法寶石,第二種五級空卷二張加五個魔法寶石</p>   
[size=14.6667px]<p>   
[size=14.6667px]<p>請選擇您所想要的方法兌換</p>
[size=14.6667px]<p>   
[size=14.6667px]<br><a action="asq1">方法一四級空卷加魔法寶石</a> </p>   
[size=14.6667px]<br><a action="asq2">方法一五級空卷加魔法寶石</a> </p>
[size=14.6667px]</body>

[size=14.6667px]之後存檔~存檔類型定成:所有檔案,檔名後面要加-c.html   
[size=14.6667px]現在假設檔名取為"add-c.html",此將為對話檔 (檔名看你自己要設定多少)
[size=14.6667px]PS.存檔時編碼類型是ANSI不要去亂修改 不然吃檔玩 上[size=14.6667px]天堂[size=14.6667px]看會是亂碼   

[size=14.6667px]第二步:打開[size=14.6667px]DB[size=14.6667px] npc[size=14.6667px]資料[size=14.6667px]表,新增一個npc,impl欄位必須要是L1Merchant   
[size=14.6667px]假設此npc的編號(npcid)為2345704 (其它的格子通常熟悉[size=14.6667px]DB[size=14.6667px]的GM應該都會董)

[size=14.6667px]第三步:打開[size=14.6667px]DB[size=14.6667px] npcaction[size=14.6667px]資料[size=14.6667px]表 (這個[size=14.6667px]資料[size=14.6667px]表是代表什麼意思應該懂吧)
[size=14.6667px]拉到最下面新增一行

[size=14.6667px]npcid:2345704(剛剛新增的任務npc編號)   
[size=14.6667px]normal_action:add(打上對話檔名稱)   
[size=14.6667px]caotic_action:add(打上對話檔名稱)
[size=14.6667px]teleport_url及teleport_urla:空白   

[size=14.6667px]到這裡 你的NPC新增好了 NPC兌換的對話檔也做好了 在[size=14.6667px]DB[size=14.6667px]的部分也設定好了   
[size=14.6667px]對話檔丟到TEXT吃檔 上線就會看到NPC有這個對話 但是兌換的東西還沒設定好

[size=14.6667px]第四步:用記事本打開[size=14.6667px]模擬器[size=14.6667px]\data\xml\NpcActions裡面的SingleItemMaking(按右鍵點編輯)
[size=14.6667px]拉到最下面,在</NpcActionList>前打上下面一段

[size=14.6667px]<!--魔法卷軸兌換-->   
[size=14.6667px]      <Action Name="asq1" NpcId="2345704">   
[size=14.6667px]          <MakeItem>   
[size=14.6667px]              <Material Amount="2" ItemId="40093"/>   
[size=14.6667px]              <Material Amount="5" ItemId="40318"/>
[size=14.6667px]              <Item Amount="1" ItemId="40889"/>
[size=14.6667px]          </MakeItem>
[size=14.6667px]      </Action>

[size=14.6667px]此段說明:   
[size=14.6667px]<Action Name="asq1" (這個代表你剛剛設定對話檔裡面的兌換選項)
[size=14.6667px]NpcId="2345704"> (這是你剛剛新增的NPC編號) MgJ36zM
[size=14.6667px]<Material Amount="2" ItemId="40093"/> (身上需要什麼物品要有幾個數量才能兌換 董[size=14.6667px]DB[size=14.6667px]的應該看得懂)   
[size=14.6667px]<Item Amount="1" ItemId="40889"/> (這段是可以兌換到的物品跟數量)   

[size=14.6667px]解說面上: 我是用大家都有的物品編號來做教學 對話跟NPC要自行新增 上面有教學了   
[size=14.6667px]上面就代表 兩張空的魔法卷軸(等級4) 加 五顆魔法寶石 才能兌換到 一張魔法卷軸(魔法屏障) 
[size=14.6667px]如果你想要讓兌換的難度增加 就是讓 <Material Amount="數量" ItemId="道具編號"/> 用多條一點就好

[size=14.6667px]如果真的還不懂的話
[size=14.6667px]我在講解清楚一點   
[size=14.6667px]假設你想要一樣東西就可以兌換三樣東西的話就是<Material Amount="數量" ItemId="道具編號"/>這個隻要一條   
[size=14.6667px]<Item Amount="數量" ItemId="道具編號"/>這個就打三條   
[size=14.6667px]假設你想要三樣東西才可以兌換到一個東西的話<Material Amount="數量" ItemId="道具編號"/>這個就打三條 
[size=14.6667px]<Item Amount="數量" ItemId="道具編號"/>這個就打一條   

[size=14.6667px]以此類推 兩樣物品換到三樣東西 看自己想要讓NPC是怎麼樣兌換方法 就自己設定   
[size=14.6667px]這麼清楚還不懂的話 我也沒辦法 隻能說[size=14.6667px]DB[size=14.6667px]妳還不夠熟 先把[size=14.6667px]DB[size=14.6667px]的功課做清楚吧!   

[size=14.6667px]在解說一個如果要讓一個NPC有多項選擇的兌換方法   
[size=14.6667px]一樣打開[size=14.6667px]模擬器[size=14.6667px]\data\xml\NpcActions裡面的SingleItemMaking(按右鍵點編輯)
[size=14.6667px]拉到最下面,在</NpcActionList>前打上下面一段 

[size=14.6667px]<!--魔法卷軸兌換-->   
[size=14.6667px]      <Action Name="asq2" NpcId="2345704">
[size=14.6667px]          <MakeItem>
[size=14.6667px]              <Material Amount="2" ItemId="40094"/>   
[size=14.6667px]              <Material Amount="5" ItemId="40318"/>   
[size=14.6667px]              <Item Amount="1" ItemId="40889"/>
[size=14.6667px]          </MakeItem>
[size=14.6667px]      </Action>   

[size=14.6667px]差別就在這裡<Action Name="asq2" asq2剛剛上一個是asq1   
[size=14.6667px]看不懂的話 請回顧最上面 做對話檔的部分 方法二 是 asq2 方法一 是 asq1   
[size=14.6667px]這樣應該懂意思吧 
[size=14.6667px]也就是說 你的NPC 每個兌換的選項 代碼是不一樣的 然後在[size=14.6667px]模擬器[size=14.6667px]那邊也要新增才可以   
[size=14.6667px]這樣就新增好一個兌換的NPC

[size=14.6667px]以上是新增兌換NPC的教學 到此   
[size=14.6667px]接下來要教學如何讓NPC的對話選量可以接到下一個對話視窗   
[size=14.6667px]一樣也是要新增一個對話檔   

[size=14.6667px]<html>
[size=14.6667px]<body>   
[size=14.6667px]<font fg=f199ff><p>物品兌換處</p></font> 
[size=14.6667px]<font fg=ADFF2F><p align=left>物品兌換師說明:</p><p align=left></p></font>   
[size=14.6667px]<p>歡迎你<username>大爺(大姊)們!</p>
[size=14.6667px]<font fg=F0F4A8>看你想要兌換什麼東西,點進去都有內容介紹,請自行官看</p>   
[size=14.6667px]<font fg=f199ff>請選擇您所想要兌換的內容</p>   
[size=14.6667px]<a link="add">點他會到換取魔法屏障的對話</a> </p>   
[size=14.6667px]</body>

[size=14.6667px]如果我存檔為 cdd-c.html 的話 然後到[size=14.6667px]DB[size=14.6667px]新增一個NPC 123456
[size=14.6667px]之後再到NPC的對話那裡設定好NPC的對話檔(不多做解說上面都有教學了)   
[size=14.6667px]然後為什麼點他會掉到 換取魔法屏障的對話呢?   

[size=14.6667px]關鍵就在這個語法 <a link="add"> 這個語法就是代表 點他對到哪一個對話視窗   
[size=14.6667px]置於add 是什麼意思 上面的[size=14.6667px]文章[size=14.6667px]有看清楚的話 應該不用我多說   
[size=14.6667px]還有這段我講解的很簡單 因為上面的[size=14.6667px]文章[size=14.6667px]教學 看得懂的話 這段應該就看得懂意思了   

[size=14.6667px]其實都大同小異 差在語法怎麼寫而已 (仔細看的人應該都看得出來語法差在哪裡而已)   
[size=14.6667px]如果真的還不懂怎麼讓選像點下去 可以跳到另外一個對話視窗的話 我在小講解意思   
[size=14.6667px]我用上面的例子來說好了 首先要先新增一個兌換東西的對話檔 例如:我上面新增的add   
[size=14.6667px]但是我是要讓他在NPC的上面選項點了才會跳到那個視窗

[size=14.6667px]就是在新增一個 對話檔 例如:上面的cdd   
[size=14.6667px]對話檔都做好了接下來要怎麼做呢?
[size=14.6667px]步驟都一樣
[size=14.6667px]先新增一個NPC 然後到 npcaction 設定對話檔為 cdd (怎麼設定上面都有解說了)   
[size=14.6667px]之後 add 跟 cdd 都丟到[size=14.6667px]天堂[size=14.6667px]資料[size=14.6667px]夾裡面的 text 然後用吃檔程式 吃檔   
[size=14.6667px]這樣就完成了 上線官看 就會妳新增的那隻NPC 點一下 會看到cdd 的對話檔
[size=14.6667px]然後裡面有選項 (點他會到換取魔法屏障的對話) 在點一下他 會跳到 add 的對話檔   
[size=14.6667px]R9bhC9NP
[size=14.6667px]兌換物品的NPC如何製作 跟 如何讓NPC對話視窗在跳到另外一個視窗 的教學到此   
[size=14.6667px]如果覺得不錯的話 請大家有美德一點   
[size=14.6667px]如果有錯誤的話 請大大幫忙補充修正一下   
[size=14.6667px]如果還有任何問題的話 請回復 我有看到我會回答   

[size=14.6667px]在教學一個小東西 如何讓對話視窗最下面 新增一個可以跳到另外一頁的按鈕 E
[size=14.6667px]如何輸入語法:   
[size=14.6667px]在我們製作的對話檔最下面的</body> 在她的上方加入<img src="#331" link="cdd"></a>
[size=14.6667px]語法解說:
[size=14.6667px]<img src="#331" link="monlist"></a>
[size=14.6667px]img src="#331" (這個照打 不用去管他)
[size=14.6667px]link="cdd" (這個代表你要讓按鈕點了 會跳到哪一個對話視窗)

[發帖際遇]: 一個袋子砸在了 繞圈圈 頭上,繞圈圈 賺了 1 金錢. 幸運榜 / 衰神榜
回復 支持 反對

使用道具 舉報

123

主題

605

帖子

1萬

金錢

巴列斯

Rank: 10Rank: 10Rank: 10

威望
5
精華
0
貢獻
0
鑽石
0
閱讀權限
60
積分
19244
在線時間
307 小時
相冊
0
日誌
0
好友
0
發表於 2026-2-8 13:43 | 顯示全部樓層
這個可以學,有的版本沒有回收商人,回復看看教學

回復 支持 反對

使用道具 舉報

0

主題

8

帖子

262

金錢

哥布林

Rank: 3Rank: 3

威望
0
精華
0
貢獻
0
鑽石
0
閱讀權限
30
積分
270
在線時間
7 小時
相冊
0
日誌
0
好友
0
發表於 2026-2-9 16:36 | 顯示全部樓層
想跟大大學習一下

回復 支持 反對

使用道具 舉報

0

主題

9

帖子

80

金錢

史萊姆

Rank: 2

威望
0
精華
0
貢獻
0
鑽石
0
閱讀權限
20
積分
89
在線時間
0 小時
相冊
0
日誌
0
好友
0
發表於 2026-5-13 16:55 | 顯示全部樓層
感謝分享

[發帖際遇]: 黑哈哈 樂于助人,獎勵 9 金錢. 幸運榜 / 衰神榜
回復

使用道具 舉報

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

本版積分規則

天堂私服列表

45客服

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

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

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

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