Re: [閒聊] 煩啊! 副本

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間12年前 (2014/03/17 20:49), 編輯推噓0(006)
留言6則, 1人參與, 最新討論串4/5 (看更多)
※ 引述《laechan (小太保)》之銘言: : 02、進入每一個房間的 buff_msg 及定身處理 有 init_instance 可用,基本上先不管定身,我目前決定採行的 做法是將 buff_msg 以 tell_object 的型式告知副本內的所有人 instance_data=([ "084":(["enter_msgs":({"test1.\n", "test2.\n", "test3.\n"}), ]), ]); 它的執行結果就是如下 test1. <= 進入房間後沒多久 test2. <= 又經過幾秒後看到這行 test3. <= 然後又經過幾秒後看到這行 instance_data 的結構很簡單,就是以房間檔名做為 key name, 下設多項資料,而 instance_ob 就根據所設定的資料來跑各種效 果,像設定了 enter_msgs,在 init_instance 就有相對應的欄 位來讀取,如下.. tmps=instance_data[files]["enter_msgs"]; j=sizeof(tmps); for(i=0;i<j;i++) tmps[i]=({ ({ppl_name+"##"+tmps[i]}),5+i*5}); "/open/cmds/times_check"->set_times_no_save( INSTANCE_ROOMS,INSTANCE_ROOMS,tmps); 傳統的做法是以 call_out 或 heart_beat 的型式來跑 buff_msg ,現在有 times_check 就可以改讓 times_check 來跑,它有一 個前提就是 buff_msg 並不需要嚴謹執行完畢,比方說跑到一半 times_check 臨時故障或怎樣,「沒執行或沒跑完也沒關係」。 這就是為什麼寫副本系統前要先完成 times_check 的原因。 這禮拜應該可以完成定身的部份,並測試「定身 + buff_msg」。 Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.224.79.50

03/17 23:55, , 1F
明天出差,應該沒時間coding,所以還是以編輯這篇為主
03/17 23:55, 1F
順便複習 set_times_no_save 的語法 比方我要 times_check 跑 n 筆資料,times_check 有內迴語法 times_check->set_times_no_save("名稱","檔案", ({ ({ ({要傳送的資料串1}),秒差1 }), ({ ({ ({要傳送的資料串2}),秒差2 }), . . })); 秒差的意思就是比方我要三筆訊息各隔五秒,那就是 0 5 10 這樣, times_check 在建立內迴的過程中會自動為秒差加上 time()。 其實我不應該拿 001.c 做為範例,明天晚上有空會再為 001.c 做些 修改。 ※ 編輯: laechan 來自: 61.224.79.50 (03/18 00:02)

03/18 09:20, , 2F
目前最麻煩的是如何判斷房間的怪物已死光,最終可能
03/18 09:20, 2F

03/18 09:21, , 3F
還是得依賴 times_check 來做流程控管,但會不嚴謹
03/18 09:21, 3F

03/18 09:22, , 4F
另一個做法是房間的限制性心跳判斷這比較可行
03/18 09:22, 4F

03/18 09:23, , 5F
它的好處比較多,缺點就是times_check用不到
03/18 09:23, 5F

03/18 15:26, , 6F
開會開到想睡……空氣不流通
03/18 15:26, 6F
文章代碼(AID): #1J9kzL11 (mud_sanc)
討論串 (同標題文章)
文章代碼(AID): #1J9kzL11 (mud_sanc)