Re: [wizs] 問題(XXX)

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間14年前 (2012/02/29 17:02), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《justinj (黑旋風)》之銘言: : 問一下哦 : 如果我要設定這種模式...那種寫法比較好 : 1.某格只要玩家走進去就有可能隨機叫怪物出來 : 但是如果沒在戰鬥中的話,怪就移除了.... : ps.第2句我就寫不太出來了..... 你讓房間有心跳就行了,再用 heart_beat 函數的循環 判斷去抓 ppl 有沒有 query_temp("ats")。 基本上你沒有寫的很詳細。 用心跳的好處是它可以一次處理 n 位玩家不同時間進 出該房間的情況(就不必使用 init 的寫法)。 : 2.某格只要玩家走進去就有可能隨機叫怪物出來 : 但如果此格已經有怪物的話就不會叫了.... : ps.這種的話rb時間要怎麼調 : (之前我以為怪的rb是3hr的...沒想到會自己亂跳..) 這種的用 init 的寫法就好,怪物的 id 給它特別一點 的例如 SPECIAL_MOB,則房間的 init 可以這樣.. void init() { if(present("SPECIAL_MOB",this_object())) return ; // 房間已有該怪就不做任何動作 else if(query("reborn_times")>time()) return ; // 還沒到 reborn 的時間也不做動作 clone_object(怪物檔名)->move(this_object()); return ; } 然後在怪物的 die 函數裡這樣寫... int die() { object room=environment(this_object()); room->set("reborn_times",你設的時間+time()); ::die(); return 1; } 缺點是這種做法是「觸發式」的,好處則是玩家就算一 直待在那裡怪物也不會生出來,除非 init 函數被呼叫 Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 223.140.215.214

02/29 18:10, , 1F
1意思是如果玩家不在那格的話....就怪清掉,不然玩家
02/29 18:10, 1F

02/29 18:11, , 2F
...沒事...反正就是玩家不在那格時再來清就對了...
02/29 18:11, 2F
文章代碼(AID): #1FJUcFgY (mud_sanc)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
1
2
文章代碼(AID): #1FJUcFgY (mud_sanc)