Re: [問題] 關於副本錯誤。

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間10年前 (2015/02/22 23:57), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《hlead (希多)》之銘言: : 副本載入中......ok! : 執行時段錯誤: *result of array addition is greater than maximum array size. 就字面上來說就某個 array 在做像是 += 的動作時它判斷到 size 超過上限值設定. 它有時並不是單指像是以 mixed 來宣告的變數。(但大部份是) : 程式: /std/new_ob/instance/instance_rooms.c:203 : 物件: /std/new_ob/instance/instance_rooms : /std/user#6659561 "cmd_hook" /std/user.c:140 : /cmds/std/_instance "cmd_instance" /cmds/std/_instance.c:175 : /adm/obj/simul_efun "questing" : /adm/simul_efun/pri_cmds.c(/adm/obj/simul_efun.c):358 : /open/cmds/quest/quest_data/quest_data "quested" : /open/cmds/quest/quest_data/quest_data.c:718 : /std/new_ob/instance/ppl_area/ina_tiger "create_instance" : /std/new_ob/instance/instance_ob.c:556 : /std/new_ob/instance/instance_rooms "ppl_instance" : /std/new_ob/instance/instance_rooms.c:203 : 副本好像最近一直會跳這錯誤...導致都進不去。... /std/new_ob/instance/instance_rooms.c:203 varargs mapping ppl_instance() { . . case "set": ppl_instance[ppl_name]=setting_data; tmps=keys(ppl_instance[ppl_name]); foreach(tmp in tmps) if(tmp[0..0]!="#" && ob=ppl_instance[ppl_name][tmp]) heart_beat_obs+=({ob}); <= 這行 break; 用 running 去跑 obs="/std/new_ob/instance/instance_rooms"->heart_beat_obs_func("query"); write("sizeof(obs)="+sizeof(obs)+"\n"); ========== 程式執行區 ========== sizeof(obs)=34235 ========== 程式執行區 ========== 可以發現 size 的確很大,而且是執行完心跳函數的房間判斷後 還是那麼大,代表它有些房間並沒有清掉: j=sizeof(heart_beat_obs); for(i=0;i<j;i++) { if(!ob=heart_beat_obs[i]) continue; else if(!ob->query("already_init")) continue; else if(ob->query("already_ended")) { heart_beat_obs[i]=0; 嘛......應該是上面那行。 [/std/new_ob/instance_room#7994907 ] [副本]天蠍洞 這裡是天蠍洞, 聖殿蘭卡大陸上著名的危險地域之一, 每天都有 貪圖洞裡財寶的冒險者與盜賊進入, 但是出來的人卻永遠比進去 的人少, 裡頭除了財寶多之外, 屍體也多. 明顯出口有: east. 100% 110% 100% > da here Object : 房間(/std/new_ob/instance_room) already_init :1 instance_diff :"hard1" instance_file :"/u/l/laechan/area/scorpion/room/001" 因為所有的副本房間都有 init 函數,所以只要在這個函數裡面 加上適當的判斷即可。 系統已重開,明天大概中午左右我再看情況有無改善。 Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.165.181.187 ※ 文章網址: https://www.ptt.cc/bbs/mud_sanc/M.1424620641.A.9DF.html

02/23 07:49, , 1F
我後來發現應該是 clean_empty_irooms 函數有問題
02/23 07:49, 1F

02/23 07:49, , 2F
今天再調整這個函數
02/23 07:49, 2F
文章代碼(AID): #1KwVnXdV (mud_sanc)
討論串 (同標題文章)
文章代碼(AID): #1KwVnXdV (mud_sanc)