Re: [wizs] 房間創建
看板mud_sanc (Sanctuary - 聖殿)作者laechan (小太保)時間15年前 (2010/09/24 18:09)推噓4(4推 0噓 7→)留言11則, 2人參與討論串2/2 (看更多)
※ 引述《justinj (闇冥)》之銘言:
: 假如有一個玩家人在房間A,下了某個命令之後到了房間B
: 假如所有的玩家(就是users())沒有人有去過B(連有巫師去renew那個房間都不行)
: 那這個房間B是sd後所創造出來
: 還是當玩家有人走準備要走到B前先創造出來
: (如果是後者某一個房間應該就是bug...因為進不去直接被傳出來..)
房間A 一開始是沒有被載入的,某些 mud 會預載房間檔,
但聖殿是「你進入該房間」,該房間才載入,或者 wiz 去
update 或 find_object_or_load 它。
你只要記得房間不會自己被載入,一定是透過別的物件去載
入的(除非有另外寫其它機制),則誰去載入,誰就是呼叫主
體。
以你的例子,玩家跑到B是經由「下命令」的方式,這時 B
的載入,其呼叫主體就是玩家,這也是為什麼如果你的工作
室有寫錯什麼程式碼(比方多宣告一個不使用的變數),當你
下 home 時「你」會看到載入 warming message 的緣故,
因為你是載入主體,它自然把訊息傳給你。
而當你進入該房間後,其它玩家 or wiz 才進入該房間時,
因該房間已經被載入了,就不會再被載入。
另一個比較好記的就是 ppl->move(房間);
為什麼是 ppl->move 而不是 move(ppl,房間) 呢?
因為 move() 函數是寫在 ppl 物件內的,而它會判斷目標房
間是否有被載入,若無就會順便載入,所以呼叫主體是玩家
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.3.82
推
09/24 18:11, , 1F
09/24 18:11, 1F
推
09/25 22:03, , 2F
09/25 22:03, 2F
→
09/26 03:35, , 3F
09/26 03:35, 3F
推
09/26 07:23, , 4F
09/26 07:23, 4F
→
09/26 07:25, , 5F
09/26 07:25, 5F
→
09/26 07:28, , 6F
09/26 07:28, 6F
→
09/26 11:34, , 7F
09/26 11:34, 7F
推
09/26 11:45, , 8F
09/26 11:45, 8F
→
09/26 11:46, , 9F
09/26 11:46, 9F
→
09/26 11:46, , 10F
09/26 11:46, 10F
→
09/26 18:22, , 11F
09/26 18:22, 11F
討論串 (同標題文章)
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
18
25
4
12
21
33
-17
30