仙境傳說RO:添加NPC的定義以及邏輯

仙境傳說RO:添加NPC的定義以及邏輯
大家好我是艾西,前面幾篇文章中我有跟大家講解怎么定義一個NPC或是創(chuàng)建一個NPC去實現(xiàn)某個功能等。那么npc的定義是什么呢?今天艾西就跟大家講解下定義一個npc時每一個參數(shù)的作用以及去哪里找每個參數(shù)填的值。
?
?
我們直接進入主題:
定義分為四個部分
?

地圖,X坐標(biāo),Y坐標(biāo),朝向 制表符tab script 制表符tab NPC名字 精靈ID,{代碼}
地圖,X坐標(biāo),Y坐標(biāo),朝向,制表符tab script 制表符tab NP&名字精靈 ID,觸發(fā)半徑X,觸發(fā)半徑Y(jié), {代碼}
?
Script:為固定用法 ?NPC名字要和所有的NPC名字不同不能重復(fù),所有的腳本代碼都是在{ }內(nèi)填寫
地圖的參數(shù)值在Pandas服務(wù)端目錄-----db-----map_ index.txt文檔中
X坐標(biāo)和Y坐標(biāo)大家進入游戲就可以看到坐標(biāo),不會看的輸入@where+角色名查看
朝向總的有8個朝向,0-7,逆時針旋轉(zhuǎn)加1,每加1就是 45度 有的精靈只有一個朝向
朝向示例:8個NPC朝向
?

?
?
?
精靈ID可通過訪問dotalux.com/ro/npclist/直接查看查找,鼠標(biāo)停留就會有名字以及id
?

?
想看某個npc的詳細(xì)參數(shù)以及序列幀可以用everything(對這個程序不懂怎么操作的看編譯的那篇文章教程)這個程序去搜索npc的資源名,都是可以搜到的其中.spr就是這個精靈模組文件,npc的序列幀可以用spr conview工具去查看
在我們填入精靈代碼時以 403精靈為例:你可以直接輸入403 或4_ f _valkyrie2(字符串)都可以
?

?
觸發(fā)半徑X、Y:只要你在NPCxy的觸發(fā)范圍內(nèi)就會觸發(fā)相應(yīng)的邏輯,否則的話需要點擊才能觸發(fā)
舉例:在npc > custom > tutorial > ?test.ras文檔中創(chuàng)建NPC
?

回到游戲中輸入:@reloadsoript 加載一下腳本即可 大家可以對比一下外觀以及定義是不是一樣的
?

?
?
?
怪物可以到db>re>mob_db.yml文檔去查看 如果是官方的就是mob_db.txt查看,怪物NPC創(chuàng)建完后鼠標(biāo)放到它身上會變成攻擊的圖標(biāo)名字也是紅色的。
?
●預(yù)定義的常量
。在代碼src\map\npc.hpp里,比如:
JT_ HIDDEN NPC = 111,不可見的NPC,但仍可點擊,在制作3D地形的可點擊對象時很有用。
JT FAKENPC = -1,不可見且不可點擊的NPC,常用于浮動NPC。
JT 4 F JOB BLACKSMITH = 726,上篇文章我們使用過。
。常量定義和客戶端名是相同的,所以寫腳本時也可以直接填對應(yīng)精靈的文件名的全大寫形式。
?
觸發(fā)區(qū)域.
TriggerX和triggerY (如果給定)將定義一一個區(qū)域,以NPC為中心并在X的每個方向上跨越triggerX單元格,在Y的每個方向.上跨越triggerY 單元格。走進該區(qū)域?qū)⒂|發(fā)NPC。如果NPC代碼中沒有'OnTouch:'特殊標(biāo)簽,則執(zhí)行將從腳本的開頭開始,否則,將從'OnTouch:'標(biāo)簽開始
?
例:prontera, 156,170,4- script >波利#TestNpcTrigger1 >909,1,1,{
npctalk"你離我太近了,送你一個小蘋果,請離我遠(yuǎn)-點! ";
getitem 512,1;
end ;
}
說一段話送玩家一個蘋果,觸發(fā)半徑是1,意味著圍繞npc一格內(nèi)即觸發(fā)

?
?
?
prontera, 156,170,4- script- 波利#TestNpcTrigger1 909 ,2,2,{
mes”[波利]" ;
mes"你好呀,我是波利,請不要打我! ";
close;
注釋:當(dāng)你走進NPC的觸發(fā)區(qū)域close是點擊觸發(fā)會彈窗說你好呀我是波利請不要打我,ontoych是走過去觸發(fā),只要在觸發(fā)區(qū)域內(nèi)就會觸發(fā){ ?} 內(nèi)的代碼
OnToych:
npctalk "你離我太近了,送你一個小蘋果,請離我遠(yuǎn)-點! ";
getitem 512,1;
end ;
?
那么今天的分享教程就到這里啦我們下期再見! 我是馳網(wǎng)艾西
擁有一臺服務(wù)器可以做很多有趣的事情!
?