OK論壇

 找回密碼
 註冊
查看: 1734|回復: 14

關於npctalk的疑問

[複製鏈接]
  • TA的每日心情
    擦汗
    2021-1-3 02:46 PM
  • 簽到天數: 360 天

    連續簽到: 1 天

    [LV.8]以壇為家I

    發表於 2016-3-6 23:00:10 | 顯示全部樓層 |閱讀模式
    本帖最後由 z0202520 於 2016-3-9 07:42 PM 編輯

    在撰寫副本的過程中,有很多npc需要使用到npctalk
    若我把他寫成函數,讓npc使用該函數傳入 訊息 及 該npc名稱
    能否將npctalk寫在function內利用關聯npc方式去讓該npc說話啊?

    在rAthena的commands裡面的格式是如下述,所以沒辦法使用關聯npc的寫法
    1. *npctalk "<message>";
    複製代碼
    有找到類似的寫法,但他需要有NPC的GID關聯
    1. *unittalk <GID>,"<text>";

    2. This command will make a <GID> say a message.
    複製代碼
    如果要利用GID去控制的話,如何建立NPC與GID關聯呢?

    在勞請知道的高手指導了,謝謝!

    回復

    使用道具 舉報

  • TA的每日心情
    慵懶
    2022-3-25 08:36 PM
  • 簽到天數: 868 天

    連續簽到: 1 天

    [LV.10]以壇為家III

    發表於 2016-3-7 08:39:36 | 顯示全部樓層
    你要的是
    getnpcid?

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    慵懶
    2018-2-12 10:16 PM
  • 簽到天數: 316 天

    連續簽到: 1 天

    [LV.8]以壇為家I

    發表於 2016-3-7 15:39:33 | 顯示全部樓層
    NPC有GID

    不過  我好奇的是你要做什麼樣的應用?

    可否形容一下?
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    慵懶
    2018-7-1 03:17 PM
  • 簽到天數: 9 天

    連續簽到: 2 天

    [LV.3]偶爾看看II

    發表於 2016-3-7 16:34:52 | 顯示全部樓層
    NPCNAME: ABC
    unittalk getnpcid(0,instance_npcname("ABC")),"<text>";
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2021-1-3 02:46 PM
  • 簽到天數: 360 天

    連續簽到: 1 天

    [LV.8]以壇為家I

     樓主| 發表於 2016-3-8 01:02:45 | 顯示全部樓層
    Mr.Brown 發表於 2016-3-7 04:34 PM
    NPCNAME: ABC
    unittalk getnpcid(0,instance_npcname("ABC")),"";

    謝謝~~ 就是在找獲取npc的GID函數 !!!
    不過在請問你一下
    NPC 名稱不是為 visible#hidden 格式嗎?
    可是使用 unittalk 他會全部都顯示出來
    有沒有辦法控制npc只顯示visible的名稱呢?


    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2021-1-3 02:46 PM
  • 簽到天數: 360 天

    連續簽到: 1 天

    [LV.8]以壇為家I

     樓主| 發表於 2016-3-8 01:04:10 | 顯示全部樓層
    Residue 發表於 2016-3-7 03:39 PM
    NPC有GID

    不過  我好奇的是你要做什麼樣的應用?

    讓NPC說話的這個功能寫成函數
    可以在不同Npc都去呼叫那函數說話就好~


    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2021-1-3 02:46 PM
  • 簽到天數: 360 天

    連續簽到: 1 天

    [LV.8]以壇為家I

     樓主| 發表於 2016-3-8 01:04:53 | 顯示全部樓層
    vincent800307 發表於 2016-3-7 08:39 AM
    你要的是
    getnpcid?

    bingo !!
    謝謝

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2023-9-25 11:37 PM
  • 簽到天數: 1686 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

    發表於 2016-3-8 01:25:55 | 顯示全部樓層
    z0202520 發表於 2016-3-8 01:02 AM
    謝謝~~ 就是在找獲取npc的GID函數 !!!
    不過在請問你一下
    NPC 名稱不是為 visible#hidden 格式嗎?

    strnpcinfo
    1. *strnpcinfo(<type>)

    2. This function will return the various parts of the name of the calling NPC.
    3. Whatever it returns is determined by type.

    4. 0 - The NPC's display name (visible#hidden)
    5. 1 - The visible part of the NPC's display name
    6. 2 - The hidden part of the NPC's display name
    7. 3 - The NPC's unique name (::name)
    8. 4 - The name of the map the NPC is in.
    複製代碼
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2021-1-3 02:46 PM
  • 簽到天數: 360 天

    連續簽到: 1 天

    [LV.8]以壇為家I

     樓主| 發表於 2016-3-8 01:45:50 | 顯示全部樓層
    a91323 發表於 2016-3-8 01:25 AM
    strnpcinfo

    這個我知道,不過使用unittalk的時候沒辦法使用這個吧?
    1. *unittalk <GID>,"<text>";
    複製代碼
    他沒辦法決定是要使用哪一部分的npc名稱呢..

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    慵懶
    2018-2-12 10:16 PM
  • 簽到天數: 316 天

    連續簽到: 1 天

    [LV.8]以壇為家I

    發表於 2016-3-8 23:51:43 | 顯示全部樓層
    z0202520 發表於 2016-3-8 01:45 AM
    這個我知道,不過使用unittalk的時候沒辦法使用這個吧?他沒辦法決定是要使用哪一部分的npc名稱呢..

    如果不要顯示HiddenName

    你需要這個 [指令修正]unittalk
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2021-1-3 02:46 PM
  • 簽到天數: 360 天

    連續簽到: 1 天

    [LV.8]以壇為家I

     樓主| 發表於 2016-3-9 19:42:24 | 顯示全部樓層
    Residue 發表於 2016-3-8 11:51 PM
    如果不要顯示HiddenName

    你需要這個 [指令修正]unittalk

    謝謝支援!

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2023-12-30 04:16 AM
  • 簽到天數: 1322 天

    連續簽到: 1 天

    [LV.10]以壇為家III

    發表於 2016-3-10 05:39:36 | 顯示全部樓層
    本帖最後由 sinya 於 2016-3-10 05:41 AM 編輯

    不一定要用unittalk
    donpcevent也可以阿 方法很多種

    eathena 沒有 getnpcid 一樣也是可以
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2021-1-3 02:46 PM
  • 簽到天數: 360 天

    連續簽到: 1 天

    [LV.8]以壇為家I

     樓主| 發表於 2016-3-10 19:42:21 | 顯示全部樓層
    sinya 發表於 2016-3-10 05:39 AM
    不一定要用unittalk
    donpcevent也可以阿 方法很多種

    donpcevent 這個可以我知道
    不過他要寫在每個npc內
    我想直接把說話寫成一個function
    所以只需要打想說的話就可以了
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2023-12-30 04:16 AM
  • 簽到天數: 1322 天

    連續簽到: 1 天

    [LV.10]以壇為家III

    發表於 2016-3-10 23:57:59 | 顯示全部樓層
    本帖最後由 sinya 於 2016-3-11 12:16 AM 編輯
    z0202520 發表於 2016-3-10 07:42 PM
    donpcevent 這個可以我知道
    不過他要寫在每個npc內
    我想直接把說話寫成一個function


    要說的話不用寫在npc裡 寫在function 裡也可 只要指定 npc變數存你要說的話就可 然後再去donpcevent


    1. fucntion        xxx         {
    2.         set getvariableofnpc( .taktext$, instance_npcname("abc#01")),"這是要讓abc npc說的話" ;
    3.         donpcevent instance_npcname("abc#01")+"::OnTalk";
    4. }


    5. XXXx        script abc#01        100,{
    6. end;

    7. OnTalk:
    8. npctalk .taktext$;
    9. end;

    10. }
    複製代碼
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2021-1-3 02:46 PM
  • 簽到天數: 360 天

    連續簽到: 1 天

    [LV.8]以壇為家I

     樓主| 發表於 2016-3-11 22:45:05 | 顯示全部樓層
    sinya 發表於 2016-3-10 11:57 PM
    要說的話不用寫在npc裡 寫在function 裡也可 只要指定 npc變數存你要說的話就可 然後再去donpcevent

    ...

    原來如此!
    受教了,謝謝~~
    回復 支持 反對

    使用道具 舉報

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

    本版積分規則

    Archiver|手機版|小黑屋|OK討論區

    GMT+8, 2024-4-16 10:30 PM , Processed in 0.051839 second(s), 19 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回復 返回頂部 返回列表