帶 npc 走來走去 - 聖殿英雄傳說 MUD

Blanche avatar
By Blanche
at 2017-07-22T15:56

Table of Contents

我一直在思考,以目前 sanc 的 code 寫法,如何帶 npc 走來走去,
有時因應任務需要,要帶 npc 四處亂跑,還得預防 npc 被主動怪攻
擊的情況;或是有時候,也會有跟 npc 組隊的情況等等..

我目前有想到一種偷吃步的方法。

例如說,現在要帶 npc 移動了,先讀取 npc 的物件,然後把物件傳
給 this_player() 的某函數:

this_player()->set_follow_npcs(npc);

我預設它實際上會在玩家的 temp_data 區設定一個參數,例如:

temp_data["follow_npcs"]=({ ({ }), ({ }), .. });

它是以上的資料型態,log 了描述該 npc 的一些基本資訊,如 short
、chi_name、....

然後通常該 npc 物件就會被 remove,但 npc 資料會 log 在玩家的
temp_data 區。

然後該 npc 會出現在以下情況

look

玩家自己下 look 時會看到該 npc 正在跟著自己。
其它玩家下 look 時會看到該 npc 正在跟著你。

look 該 npc

我目前不打算寫這個。也可以說,這是偷吃步下的唯一缺點。它不
是做不到,而是初期不需要寫。基本上「自己看該 npc」是做得到
的,沒啥問題,但我比較傾向寫專門指令去看「目前正在跟隨自己
的 npc」。

party

我目前不打算讓 party 支援看 npc,因為玩家可能會解除隊伍,
我的想法是,名義上雖然 npc 是跟玩家組隊,但實際上他只是跟
隨玩家「不管玩家是不是組隊」。

移動

既然跟隨中的 npc 是這樣子的寫法,它最大的好處就是不管玩家
怎麼移動、不管跑去哪,npc 都會跟著玩家,直到它被呼叫了函數
解除跟隨狀態,或是玩家自己 quit,玩家一 quit,temp_data 會
被清空,這時自然 npc 就「自動消失」。

任務

任務除了 $N、$O 之外還可以自己打名字,沒啥問題。判斷玩家是
否帶著 npc 活動的參數也很好寫。

戰鬥

基本上,要讓怪物在戰鬥中可以打到 npc 是辦得到的。把 npc 的
hp/hp_max 設進 temp_data、再加進戰鬥中的判斷即可。

但是要在 npc 身上上盾----這是很難的。

所以這裡就假設,例如平常你是帶著 npc 移動的,但是只要一進入
戰鬥,就會看不到 npc,有點像回合制戰鬥的做法,進入戰鬥時只有
主要角色會出現,方才帶著移動的 npc 不一定需要出現,戰鬥完畢
,npc 又會出現這樣。

這樣可以省下很多困擾。

缺點就是這樣比較不刺激。


下週有時間為實驗看看,我會先在 attack.c 擬定一個函數:

varargs int follow_npcs(string kind,string tmp,string tmp2)
{
switch(kind)
{
case "check":
判斷 npc 狀態;
break;

case "set":
設定 npc;
break;

case "remove":
移除 npc;
break;

.
. 不只這幾種 kind 可寫,蠻多可寫的例如 for look npc 的
. 或是讓 npc 再化為實體
.
}
}

laechan

--
Tags: 線上

All Comments

Necoo avatar
By Necoo
at 2017-07-25T16:24
這東西最大的好處,就是跟隨的情況不會無緣無故消失
Jacky avatar
By Jacky
at 2017-07-27T01:25
它幾乎不受到任何因素的影響,除非該因素設為可影響
(例如可讓它不受玩家陣亡影響,但也可寫成會受影響)
Irma avatar
By Irma
at 2017-07-28T03:42
另外,這東西如果實驗成功,就差不多能開始寫寵物系統

請教貿易和知識問題

Delia avatar
By Delia
at 2017-07-22T15:24
嗨大家好我又來問問了 1. 請問皇室貿易資訊是不是有bug? 還是故意的? 因為我打開看不到巴雷諾斯和卡爾佩恩的皇室貿易資訊 2. 請問卡爾佩恩的 生態 知識中 徘徊的黑精靈要怎麼打? 一個在遺跡 一個在黑暗祭司神殿 我看知識解說是 等他衝鋒我後 馬上攻擊 但好像都不太攻擊得到, ...

新手請問走向

Gary avatar
By Gary
at 2017-07-22T15:09
大家好 前幾天開始接觸這遊戲 因為有爐石的底子 基本的觀念都有 不過這遊戲節奏比爐石快很多 因此感覺複雜許多 這是目前抽到的傳說和金卡 私人對戰已解完 超級電腦還沒打 目前對各職業組牌還是沒有什麼頭緒 想先組一副能解任務爬分的牌組 等觀念牌組穩定再來選擇其他職業 請問有什麼廢虹該拆 適合組什麼牌呢 http: ...

俱樂部發問

Andy avatar
By Andy
at 2017-07-22T13:36
想問個蠢問題 因為之前待的俱樂部看起來就像是廢棄了 所以退出想找個新的加入 但想知道俱樂部等級獎勵 假設退出時是15級 新加入的如果超過15級 中間的獎勵是否都拿不到了呢 感謝回答uwu ----- Sent from JPTT on my Asus ASUS_Z00ED. - ...

三牌組上GM心得

Olive avatar
By Olive
at 2017-07-22T13:03
使用牌組: 0~5500分,中立深淵:https://goo.gl/DRX6kB 5500~8500分,冥河死靈:https://goo.gl/TQhD64 8500~10000分+昇階挑戰,幻影禁忌法:https://goo.gl/GgdA5H 使用區域:M 使用心得: http://i.img ...

Shadowverse Taiwan Open

Ursula avatar
By Ursula
at 2017-07-22T13:03
STO第一次例行積分賽要開始了!!!! 雖然知名實況主都掉落了QQQ 但還是要期待一下精彩的比賽!!! 四強選手 nameless 合作社姐姐 NineVoice 御神 現場好像還有不少好禮可以兌換,有人要衝一下嗎?在Neo Studio! 主播賽評:葉白 、小嵐 比賽時間:13:00~18:00 ...