mud_sanc 板


LINE

我想為這個建立比較簡易的寫法。 某 npc: 你可以帶著這個小孩去見他的父母嗎? > answer yes ppl->呼叫某函數(參數); 小孩開始跟隨你. > look 房間跟怪物訊息; 小孩正跟著你一起行動. <= 額外處理得到的訊息 > 他人 look 房間跟怪物訊息; 蓓兒丹娣(Belldandy:牧師)正站在這個地方 <= ppl->呼叫某函數(某參數); └小孩正跟著她一起行動. ================================================= 一、小孩平常並不需要去 look 他。 二、帶著小孩四處移動的訊息也不需要。 三、小孩不會隨著房間的可能 reborn 而消失。 四、玩家若 quit、小孩就消失,該任務就視為必須重新接。 綜合上述四點得到的簡單結論就是:小孩是虛擬的。 我打算用到玩家的兩個 temp 欄位,如下.. quest_npc = ({"小孩",...}); quest_npc_info = ({ ({第一個npc的相關資訊}),... }) 也就是說,把最常用的「小孩」這個名字,獨立成一個欄位, 再把不太常用的其它資訊擺在另一個欄位,例如說,帶著受傷 的天使要通過某條充滿惡魔的道路,那麼在惡魔的special_fun 就可以這樣寫.. mixed infos; int n; n=ppl->check_quest_npc("受傷的天使"); if(n!=-1) // 代表有 { infos=(mixed)ppl->query_temp("quest_npc_info"); // 第n個陣列 // 而因為受傷的天使這個 info 是「專用」在這個地方, // 那 info 的內容自然自己會知道它的格式是什麼 // 例如 infos = ({"hp-100000","times-何時接的任務"}); tmp=infos[n][0]; // 透過 n 取出該參數 sscanf(tmp,"hp-%d",hp); // 得到了受傷的天使的剩餘 hp m=9000+random(1000); if(hp-m<0) { show(ppl,mob,"$O趁$N不注意時偷襲了受傷的天使,使他受到了一些傷害!!\n"+ "受傷的天使陣亡了!!任務失敗!!\n"); ppl->呼叫某函數(某參數); return 1; } show(ppl,mob,"$O趁$N不注意時偷襲了受傷的天使,使他受到了一些傷害("+m+")!!\n"+ "受傷的天使受的傷更重了,不快點把他送到天神的身邊是不行的."); infos[n][0]="hp-"+(hp-m); ppl->set_temp("quest_npc_info",infos); return 1; } 要實作不難,在 /std/user.c 或 /std/user/xxx.c 新增必要 的函數即可,然後再修改 /adm/daemons/look_d.c,剩下的就 是撰寫對應的任務 npc 及區域怪物即可。 函數大概新增最多三個,add、check 及 del。 聖殿一向缺乏這種類型的任務,往後我希望能多一點,工欲善 其事必先利其器,所以相關的東西會先寫出來,好方便各位使 用。 上面兩個欄位的寫法也可以合成一個 mapping 寫法,缺點是必 須使用 keys 這樣的東西,但是它的好處也蠻多的,我可能會 考慮。(而且特別的 quest_npc 給特別的 key_name 也會簡化 相關判斷) Belldandy. --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 115.83.29.88
1F:推 justinj :這樣護衛型的任務才好寫.....amem 06/28 15:58
2F:→ laechan :任務npc也需要有一個樣本.目前休養身體中先記下來 06/28 16:02
3F:→ HighElf :recall的話,npc會消失 06/28 17:40
4F:→ HighElf :if(base_name(environment(ppl))=="/d/wiz/room/disc 06/28 17:45
5F:→ HighElf :") 06/28 17:45
6F:→ HighElf : { 06/28 17:45
7F:→ HighElf : this_object()->move_to(ppl); 06/28 17:45
8F:→ HighElf : return 0; 06/28 17:45
9F:→ HighElf : } 06/28 17:46
10F:→ HighElf :我找不到npc不消失的方法,只能用這招了 06/28 17:46
11F:推 justinj :所以npc虛化是最好...amem 06/28 17:53







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP