[聖殿] 馬匹修改公告

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間16年前 (2009/09/25 16:52), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
不確定能改到哪,所以邊改邊貼。後續再做的修改會以回文的方式 繼續。 一、修改 /std/horse.c (備份檔在 /std/horse.980925) create 函數加設 data["no_attack"] = 1; 二、修改 /adm/daemons/mob_d.c 新增底下函數.. int replace_to_horse(object tar,string names,int trust) horse_name 用來控制要 clone /d/obj/horse/ 下 哪一匹馬出來 names 認主設定值 trust 信賴度設定值 三、假設 /d/obj/horse/ass.c 為小毛驢,在成功馴服它之後將會 有底下的類似判斷式.. names=this_player()->query("name"); // 讀取馴服者的 name trust=count_trust(); // 計算信賴度 if(replace_to_horse(this_object(),names,trust)>0) // 代表替換成功 this_object()->remove(); return 1; 在 die 函數的情況則是.. ::die(); return 1; 1)假若 this_object()->remove(); 先被執行,自然就沒有下面 ::die(); 的問題. 2)假若 this_object()->remove(); 沒被執行,代表替換馬匹的 過程產生問題而失敗時,就執行底下的 ::die(); 也就是馬匹 的原死亡過程。 四、因此,接著要進行的工作就是為所有馬匹進行命名,以及檔案的 拷貝工作。以 ass.c 為例,我預計在 /d/std/horse/ 目錄下建 立兩種檔案:ass.c 與 old_ass.c old_ass.c : 原先的小毛驢. 檔案會 copy 到這裡, 然後原始檔 案處就 inherit old_ass.c ass.c : 實際繼承 HORSE 的 ass 這樣即可達到馬匹控管的目的。 另外,我盡量讓「沒被修改到的馬」可以維持原狀,即你若原先能騎 它,那在修改的過程中只要它沒被改到,你一樣可以騎。 還有,mob 會無視一切的設定絕對可以騎馬。這是避免某些有配置馬 匹的 mob 出問題。 Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 編輯: laechan 來自: 61.225.162.9 (09/25 16:58)
文章代碼(AID): #1Al8JKMI (mud_sanc)
文章代碼(AID): #1Al8JKMI (mud_sanc)