Re: [wizs]死亡...

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間16年前 (2010/04/19 20:56), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
※ 引述《justinj (闇冥)》之銘言: : → laechan :把 die 函數獨立出來,增加所在房間支援就行了 04/19 18:28 : → justinj :....有點不懂意思.. 04/19 19:25 玩家陣亡時會由怪物為呼叫主體(previous_object), 驅使玩家呼叫 die 函數 怪物 叫 玩家->die(); die 函數的主體寫在 /adm/daemons/user_d.c,我的 意思就是弄一個 die_d.c,獨立出來。 這樣玩家 die 時就不用 USER_D->die(me) 而會變成 DIE_D->die(me); 以前獨立出來的做法(如 shut_d.c)是要做為玩家與怪 物共通呼叫之用,但是如果 die 要複雜化的話,獨立 出來也會比較妥當一點。 至於「增加房間支援」的意思就是在 die 函數裡新增 一行.. if(env=environment(me) && function_exists(env,"die")) env->die(me,previous_object()); 也就是說,把被殺的玩家(me)及殺他的人(previous_object) 都傳進 env 的 die 函數裡頭,由 env 的 die 判斷。 它的唯一缺點就是如果 environment 是生物,就會產 生問題,它的優點是 die 函數符合直覺化設定。 所以折衷的方法是定兩種 env 的 die 函數.. 一、env_die() 二、die_func() (取 wear_func 的方式) 我是覺得 env_die 不錯,蠻好記的。 它的效果之一,就是若房間有 env_die 函數,它就可 以產生 justinj 所要的「截斷效果」,比方 die 函數 最早的判斷就是「爆不爆水晶」,env_die 比它更早而 且會截斷,這時 justinj 就可以設定房間自訂玩家的 陣亡。 它的設置有前提,因為玩家會 die 通常就是 hp<1 了 ,因此你若截斷原先的 die,卻沒有做適當處理的話, 就會一直做 env->env_die() 的呼叫,「移往別處」是 適當的處理方式「之一」,其它方式適不適當就以上面 的考量為主。 env_die 我明天會先實裝,實裝完會公告,wiz 可以在 4002 測試。若情況允許,3001 也會同時實裝。 Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.253.173.252
文章代碼(AID): #1Bp5BuWm (mud_sanc)
討論串 (同標題文章)
本文引述了以下文章的的內容:
3
8
16年前, 04/18
完整討論串 (本文為第 4 之 4 篇):
0
1
3
8
16年前, 04/18
文章代碼(AID): #1Bp5BuWm (mud_sanc)