曲神醫 論壇管理群
梁山匪賊 - 帖子
- 369
- 精華
- 1
- 積分
- 538
- 聲望
- 419
- 石幣
- 5801
- 貢獻值
- 119
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 梁山泊
- 註冊時間
- 2009-7-9
- 最後登錄
- 2024-11-21
|
1#
大 中
小 發表於 2010-6-14 11:44 顯示全部帖子
製作NPC的基礎概念
通常製作npc常見的是用以下這兩款軟體來進行
EmEditor 、 UltraEdit-32
在論壇的軟體分享裡面可以下載...
http://lab.welovesa.com/forumdisplay.php?fid=15
---------------------------------------------------------------------------------------------
在寫NPC之前 建議創個屬於自己專屬的資料夾
網路上常見的通常是叫做 my
然後把自己寫好的NPC放在裡頭
NPC資料夾存放位置在 gmsv\data\npc 這裡面
NPC的建立通常是用 .create 副檔名 來表示
利用 .create 建立之後... 連結到他的劇本...
劇本通常是用 .arg 副檔名 來表示
我舉個例子
這個是里奧NPC的.create // 位置在 npc\sainasu\event\rion.create
/////////////////////////////////
NPCCREATE // 這是每個 .create 文件 開頭一定要打的***
{
floorid=100 // NPC 所在地圖編號 100
borncorner=167,398,167,398 // NPC 所在位置座標 167,398
time=0
createnum=1
dir=4 // NPC 方向 4 為 右下 6 為左下 依此順時鐘類推
ignoreinvincible=1
graphicname=100015 // NPC 型態 ( 圖檔 , 圖檔有分 npc圖案 . 也可以用寵物的圖檔來用-enemybase1裡面
name=里奧 // NPC 名稱
enemy=changeevent|file:sainasu/event/rion // changeevent 為 NPC 類型 file:sainasu/event/rion 為劇本位置
}
/////////////////////////////////
下面是他的 .arg 檔案 ( 劇本 因為它 .create 的路徑裡面 所讀取的檔案是在 file:sainasu/event/rion rion 這個檔案
所以他的檔案副檔名沒有加上 .arg
這是它檔案的路徑 npc\sainasu\event\rion
內容如下
/////////////////////////////////
EventNo:-1
TYPE:ACCEPT
EVENTV>0&ITEM=2727
AcceptMsg:\n哇!被發現了!已經是第十次了,嗯……我輸了!\n依照約定,給你獎品吧!\n如果還有時間的話再一起玩吧。
ThanksMsg:\n下次我絕對不會輸給你的!
ItemFullMsg:\n因為道具太多了,沒辦法收下我的禮物的樣子呢……
PetFullMsg:\n寵物太多了沒有辦法交給你喔,可以想辦法減少寵物的數量嗎?
NpcWarp:100.215.91,100.581.332,1000.126.63,100.454.120,100.656.628,100.661.627,100.536.117,100.117.639,100.562.357,1200.35.61,100.349.343,100.154.383,100.416.474,100.651.686,100.167.398
DelItem:2727
GetRandItem:11876,11887,11907,11927,11987,11995,20624,13082,22334
GetPet:39,49,94,303,327
EventEnd
(( 太多故略... ))
/////////////////////////////////
通常製作NPC是建議 複製原本有的NPC 再去修改 這樣可以提高製作效率 減少錯誤
假如說 我現在想做一個 讓玩家 從 A NPC 送物品到 B NPC 此時可以參考 日美子送貝殼任務
如果說 我想讓玩家抓特定寵物給 NPC 然後繼續任務 此時可以參考 恐龍博士任務
如果說 我想讓該NPC 找完一次就會不見 (NPC會跑) 此時可以參考 里拉拉 或者 里奧任務
如何找出 這些要參考的NPC位置呢?
1. 可以利用 yang 發布的 NPC製作集合裡面的 "各NPC資料夾對照"
2. 用 FreeCommander 軟件 利用收尋功能 收尋NPC關鍵字 如名稱.對話內容 找出該NPC
寫任務之前一定要先規劃好...這樣做起來會比較有方向...
我舉個簡易的實戰例子...
假如我想做一個 小紅帽任務
那就先在自己專屬的資料夾內先創個小資料夾 ex smallred
(名稱盡量以自己能一眼分辨出這是啥東西為主...方便以後修改)
然後擬稿....
---------------------------
劇情
奶奶生病了...媽嗎叫小紅帽送蘋果去給奶奶...
不過小紅帽在路途中腳受傷了...沒辦法走到奶奶家
解法
請勇者代替小紅帽送蘋果到奶奶家
---------------------------
設定上需要
奶奶 1個 - NPC
小紅帽 1個 - NPC
( 先想要站在哪 還有NPC圖檔要用啥 )
( 地圖編碼 可利用 assa外掛的 "腳本製作" 按下去 地圖 後面的數字就是了 )
小紅帽要拿給奶奶的蘋果 1 個 - ITEM
---------------------------
這時候可以先把蘋果 做好 做在 itemset6 裡面...
然後思考 這個任務 跟哪個任務很像
似乎用 日美子與彌生 貝殼任務 可以用
所以就先去找出 日美子與彌生任務的 .create 還有其相對應的劇本
/////////////////////////////////////////////////////////
日美子與彌生任務 .create 位置 在 sainasu/event 裡面 名子為 event02.create 內容如下
/////////////////////////////////////////////////////////
NPCCREATE
{
floorid=2000
borncorner=55,92,55,92
time=0
createnum=1
dir=4
ignoreinvincible=1
graphicname=16027
name=彌生
enemy=changeevent|file:sainasu/event/event02_1
}
{
floorid=1000
borncorner=57,124,57,124
time=0
createnum=1
dir=6
ignoreinvincible=1
graphicname=16030
name=日美子
enemy=changeevent|file:sainasu/event/event02_2
}
/////////////////////////////////////////////////////////
把該 .create 和 劇本 複製到 smallred 這個資料夾內
/////////////////////////////////
這時候smallred資料夾內應該要有這三個檔案
event02.create - 日美子&彌生建立
event02_1 - 彌生劇本
event02_2 - 日美子劇本
/////////////////////////////////
然後 .create 裡面要寫 2個NPC 分別為 奶奶 和 小紅帽
地圖 座標 還有形象 都打上去
同時也要對應到 奶奶、小紅帽的劇本 ... 名稱最好也是取淺顯易懂 例如.. old .. young
/////////////////////////////////
這時候三個檔案名子應該為
smallred.create - 建立小紅帽&奶奶
old.arg - 奶奶劇本
young.arg - 小紅帽劇本
位置為
file:my/smallred/smallred.create - 建立小紅帽&奶奶
file:my/smallred/old.arg - 奶奶劇本
file:my/smallred/young.arg - 小紅帽劇本
/////////////////////////////////
然後把劇本裡面傳遞的 花 改成 蘋果 ...
細節部分再修改一下 如此一來簡易的npc就出來了...
概念大概知道以後
就下載 yang 整理的 資料包
http://lab.welovesa.com/viewthread.php?tid=99&extra=page%3D1
回去研究摸索吧
常見發生NPC出不來的情況
1. 檢查NPC .create 所聯結的劇本 是不是 連結錯了?
或者 連結的太深入 通常 是在 npc 資料夾 底下兩層 資料夾是最底層
2. 檢查你的 NPC 類型
enemy=changeevent|file:sainasu/event/rion
像這個就是 changeevent 任務型 NPC, 你的劇本 是不是 非 任務型NPC 劇本
3. 你創的NPC 座標 地圖 是否錯誤 ( 如果錯誤 開啟服務端會顯示 )
4. .create 最前面 沒有加上 NPCCREATE
罕見的狀況
1. 你創的NPC圖檔 你看不見
2. 你寫到的NPC類型(模板) 沒有被定義
如果覺得不錯...就回個帖子吧...
前後總共花了一個半小時整理 第一次要輸出結果火狐狸當了...第二次則是字數過多...
結果看到一樓回覆...實在讓我有點心寒...
== 客製化開發Lua NPC、服務端功能 有興趣可站內短訊息聯絡 ==
|