看板 mud_sanc 關於我們 聯絡資訊
※ 引述《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
justinj :...那高i那格就要改了...不然除了巫師誰也進不去... 09/24 18:11
justinj :就天星空間那格... 09/25 22:03
HighElf :我是用ppl->move_to(房間)的方式,應該可以吧... 09/26 03:35
justinj :問題在於 創房26->玩家移入26->玩家移出26->26移除 09/26 07:23
justinj :以上在一瞬間完成...想要不是這樣..只有那個房間存活 09/26 07:25
justinj :十分鐘以上才有可能..反正你將有防巫師那行移除就知 09/26 07:28
HighElf :那房間有限定名字,room->set("user",ppl->query("nam 09/26 11:34
justinj :跟房間名字吧誰無關...if(query("time")>time())這格 09/26 11:45
justinj :判斷就over了...是我在確定已經移入了..因為有看到空 09/26 11:46
justinj :間崩裂這句了... 09/26 11:46
HighElf :是我大於小於打反了,已更正,謝謝debug 09/26 18:22