OK論壇

 找回密碼
 註冊
查看: 1295|回復: 9

求问NPC如何针对角色个人做显示?

 關閉 [複製鏈接]
  • TA的每日心情
    郁悶
    2015-2-17 09:48 AM
  • 簽到天數: 64 天

    連續簽到: 1 天

    [LV.6]常住居民II

    發表於 2013-6-13 19:34:11 | 顯示全部樓層 |閱讀模式
    EA
    私服版號: 3CEAM
    問題內容: 其他問題
    本帖最後由 illuser 於 2013-6-14 08:24 AM 編輯

    我的目的是:
    想做出像传统剧情RPG那样,NPC根据剧情需要有移动、消失、或者突然出现的效果。
    我翻了翻所有的EA脚本指令,发现控制NPC显示的貌似只有enable/disablenpc,或者hideon/hideoffnpc

    这两种,这两个貌似效果差不太多,就是 一个是根本禁用一个是隐藏显示。
    关于脚本变量,我大概也就知道前缀-什么都不加、#、@、$的用法。

    现在我想做出的效果是这样的:
    前提是单独角色进行的,不与其他玩家或者同账号的角色分享,那么变量应该是前缀-什么都不加才对。

    1. 我的脚本是:

    2. louyang.gat,218,56,3        script        测试员1        2174,{

    3. OnInit:
    4. disablenpc "测试员1";

    5. }


    6. louyang.gat,220,56,3        script        测试员2        2174,{

    7. if(main==1) {enablenpc "测试员1";}

    8. }
    複製代碼
    这两个测试员NPC,当玩家达成“main”变量=1的条件时与测试员2接触,测试员1才会出现,否则之前都是看不到的。

    那么现在我遇到的问题是:两个不同账号的玩家,玩家A达到了“main”=1的条件,而玩家B没有达到。
    当玩家A点击测试员2,开启测试员1的出现时,在他身边的玩家B也能看到测试员1的显示。

    我的求问是:
    怎样才能做到玩家A达到条件,显示这个隐藏NPC,但在他身边的玩家B因为没有达到相应的条件,则看不到NPC的显示?

    回復

    使用道具 舉報

  • TA的每日心情
    擦汗
    2018-9-15 03:18 PM
  • 簽到天數: 842 天

    連續簽到: 1 天

    [LV.10]以壇為家III

    發表於 2013-6-13 22:52:46 | 顯示全部樓層
    直覺是必須動到源碼的
    這應該也是為什麼比較特殊的任務在RO都有需要排隊的問題

    可以利用 npc變數 set getvariableofnpc(.var$,"测试员1"),strcharinfo(0) 判斷使用者是否為A 之類的
    然後加入時間判斷
    但也造就我上面說的排隊問題

    也許有更好的答案 給其他人回答吧 XD
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    難過
    2022-6-30 05:12 PM
  • 簽到天數: 217 天

    連續簽到: 1 天

    [LV.7]常住居民III

    發表於 2013-6-13 22:56:59 | 顯示全部樓層
    那我會推薦用CALL圖片的方式...你點擊卡普拉都會出現旁邊的小圖....這個方式可以達成....雖然離你想要的可能有點遠
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    慵懶
    2012-10-4 02:22 AM
  • 簽到天數: 177 天

    連續簽到: 5 天

    [LV.7]常住居民III

    發表於 2013-6-14 01:03:53 | 顯示全部樓層
    必須源碼
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2017-1-18 12:17 AM
  • 簽到天數: 512 天

    連續簽到: 1 天

    [LV.9]以壇為家II

    發表於 2013-6-14 01:04:47 | 顯示全部樓層
    我會在另一篇說可以達到的原因是 很簡單,

    玩家變數 改成 新創一個 SQL table,

    裏頭的 list 有 'charID', 'variable', 'value'

    當你設定 玩家A (cid 為 150001) 變數為 level 值為 5
    'charID' = 150001 , 'variable' = level , 'value' = 5

    玩家B 在執行該 NPC 時可以請求資料庫去撈該 table 中的資訊,

    抓到 charID = 150001 玩家確實有值, 就可以做你想做的事情了。
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    無聊
    2013-8-18 12:46 AM
  • 簽到天數: 9 天

    連續簽到: 1 天

    [LV.3]偶爾看看II

    發表於 2013-6-14 01:17:11 | 顯示全部樓層
    只能做到走到某個地方時
    有達到條件的玩家自動觸發NPC對話
    但是AB都看不到NPC
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2017-1-18 12:17 AM
  • 簽到天數: 512 天

    連續簽到: 1 天

    [LV.9]以壇為家II

    發表於 2013-6-14 01:47:11 | 顯示全部樓層
    我剛剛仔細看了一下你真正的呈現結果,

    是指 同一個 NPC , 玩家 A B 在同一張地圖上, A看得見, B看不見是嗎 ?

    如果是這樣的話 ... 除了做出一個平行世界 (地圖映射)

    不然要改原碼 0_0
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2024-5-2 03:39 PM
  • 簽到天數: 1323 天

    連續簽到: 1 天

    [LV.10]以壇為家III

    發表於 2013-6-14 02:15:53 | 顯示全部樓層
    就3樓說的  做個隱藏npc 再用 cutin 顯示圖片 一樣也有那種效果
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    郁悶
    2015-2-17 09:48 AM
  • 簽到天數: 64 天

    連續簽到: 1 天

    [LV.6]常住居民II

     樓主| 發表於 2013-6-14 08:11:54 | 顯示全部樓層
    grass0916 發表於 2013-6-14 01:47 AM
    我剛剛仔細看了一下你真正的呈現結果,

    是指 同一個 NPC , 玩家 A B 在同一張地圖上, A看得見, B看不見是 ...

    咳……果然……除了改源码别无他路了……T T
    映射地图的话不是很方便,单机的话还好,联网的话那么多玩家,如果几个玩家同时做任务的话……不敢想象(捂脸)。
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    郁悶
    2015-2-17 09:48 AM
  • 簽到天數: 64 天

    連續簽到: 1 天

    [LV.6]常住居民II

     樓主| 發表於 2013-6-14 08:23:34 | 顯示全部樓層
    感谢各位的帮助,于是我总结一下。
    效果的确前提是如7楼所说,AB玩家在同一张地图上会同时看到开启的NPC,这个经过试验,无论是able还是hideoff,基本都是针对全地图的玩家开放的,显示效果不受变量限制。
    如果使用隐藏NPC召唤图片的办法,效果似乎不尽理想,因为看不到NPC只显示图片会感觉怪怪的。
    再者因为是主线任务,线路很长,所以时间排队也不太现实,估计很多玩家会等到跳脚。
    所以如果没有其他更好的办法,那就只能像我之前想象的那样,把NPC全部固定在特定房间里,而房间入口传送NPC需要达到变量才能放行,当剧情变量结束后传送npc封闭,不过这样的话就需要多映射几张房间的地图了……
    回復 支持 反對

    使用道具 舉報

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

    本版積分規則

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

    GMT+8, 2024-5-14 05:57 AM , Processed in 0.053906 second(s), 21 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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