關於npctalk的疑問
本帖最後由 z0202520 於 2016-3-9 07:42 PM 編輯在撰寫副本的過程中,有很多npc需要使用到npctalk
若我把他寫成函數,讓npc使用該函數傳入 訊息 及 該npc名稱
能否將npctalk寫在function內利用關聯npc方式去讓該npc說話啊?
在rAthena的commands裡面的格式是如下述,所以沒辦法使用關聯npc的寫法*npctalk "<message>";有找到類似的寫法,但他需要有NPC的GID關聯*unittalk <GID>,"<text>";
This command will make a <GID> say a message.如果要利用GID去控制的話,如何建立NPC與GID關聯呢?
在勞請知道的高手指導了,謝謝!
你要的是
getnpcid?
NPC有GID
不過我好奇的是你要做什麼樣的應用?
可否形容一下? NPCNAME: ABC
unittalk getnpcid(0,instance_npcname("ABC")),"<text>"; Mr.Brown 發表於 2016-3-7 04:34 PM static/image/common/back.gif
NPCNAME: ABC
unittalk getnpcid(0,instance_npcname("ABC")),"";
謝謝~~ 就是在找獲取npc的GID函數 !!!
不過在請問你一下
NPC 名稱不是為 visible#hidden 格式嗎?
可是使用 unittalk 他會全部都顯示出來
有沒有辦法控制npc只顯示visible的名稱呢?
Residue 發表於 2016-3-7 03:39 PM static/image/common/back.gif
NPC有GID
不過我好奇的是你要做什麼樣的應用?
讓NPC說話的這個功能寫成函數
可以在不同Npc都去呼叫那函數說話就好~
vincent800307 發表於 2016-3-7 08:39 AM static/image/common/back.gif
你要的是
getnpcid?
bingo !!
謝謝
z0202520 發表於 2016-3-8 01:02 AM static/image/common/back.gif
謝謝~~ 就是在找獲取npc的GID函數 !!!
不過在請問你一下
NPC 名稱不是為 visible#hidden 格式嗎?
strnpcinfo*strnpcinfo(<type>)
This function will return the various parts of the name of the calling NPC.
Whatever it returns is determined by type.
0 - The NPC's display name (visible#hidden)
1 - The visible part of the NPC's display name
2 - The hidden part of the NPC's display name
3 - The NPC's unique name (::name)
4 - The name of the map the NPC is in. a91323 發表於 2016-3-8 01:25 AM static/image/common/back.gif
strnpcinfo
這個我知道,不過使用unittalk的時候沒辦法使用這個吧?*unittalk <GID>,"<text>";他沒辦法決定是要使用哪一部分的npc名稱呢..
z0202520 發表於 2016-3-8 01:45 AM static/image/common/back.gif
這個我知道,不過使用unittalk的時候沒辦法使用這個吧?他沒辦法決定是要使用哪一部分的npc名稱呢..
如果不要顯示HiddenName
你需要這個 [指令修正]unittalk
Residue 發表於 2016-3-8 11:51 PM static/image/common/back.gif
如果不要顯示HiddenName
你需要這個 [指令修正]unittalk
謝謝支援!
本帖最後由 sinya 於 2016-3-10 05:41 AM 編輯
不一定要用unittalk
donpcevent也可以阿 方法很多種
eathena 沒有 getnpcid 一樣也是可以 sinya 發表於 2016-3-10 05:39 AM static/image/common/back.gif
不一定要用unittalk
donpcevent也可以阿 方法很多種
donpcevent 這個可以我知道
不過他要寫在每個npc內
我想直接把說話寫成一個function
所以只需要打想說的話就可以了 本帖最後由 sinya 於 2016-3-11 12:16 AM 編輯
z0202520 發表於 2016-3-10 07:42 PM static/image/common/back.gif
donpcevent 這個可以我知道
不過他要寫在每個npc內
我想直接把說話寫成一個function
要說的話不用寫在npc裡 寫在function 裡也可 只要指定 npc變數存你要說的話就可 然後再去donpcevent
fucntion xxx {
set getvariableofnpc( .taktext$, instance_npcname("abc#01")),"這是要讓abc npc說的話" ;
donpcevent instance_npcname("abc#01")+"::OnTalk";
}
XXXx script abc#01 100,{
end;
OnTalk:
npctalk .taktext$;
end;
}
sinya 發表於 2016-3-10 11:57 PM static/image/common/back.gif
要說的話不用寫在npc裡 寫在function 裡也可 只要指定 npc變數存你要說的話就可 然後再去donpcevent
...
原來如此!
受教了,謝謝~~
頁:
[1]