[聖殿] 馬匹修改公告
看板mud_sanc (Sanctuary - 聖殿)作者laechan (小太保)時間16年前 (2009/09/25 16:52)推噓0(0推 0噓 0→)留言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)
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
1
3
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
18
25
4
12
21
33
-17
30
29
36