mud_sanc 板


LINE

量太多因此獨立一篇。 執行時段錯誤: *result of array addition is greater than maximum array size. 程式: /adm/simul_efun/prop_logic.c(/adm/obj/simul_efun.c):84 物件: /adm/obj/simul_efun /std/user#537156 "cmd_hook" /std/user.c:140 /cmds/std/_wear "cmd_wear" /cmds/std/_wear.c:64 /cmds/std/_wear "try_wield_one" /cmds/std/_wear.c:424 /cmds/std/_wear "wear_it" /cmds/std/_wear.c:89 /d/ppl/quest/memory/wp/moonsword#537423 "add" /std/ob/object.c:37 /adm/obj/simul_efun "_add" /adm/simul_efun/prop_logic.c(/adm/obj/simul_efun.c):84 _wear.c 的 89 行大概是 if(ob->query("type")) ob->add("id",({ob->query("type")})); 而 result of array addition is greater than maximum array size. 我猜它的意思是線上有物件的 id 欄位 size 數超過。 這很容易理解,如果玩家一直穿脫 id 自然一直肥大。 wear 那兩行我暫時 abort 掉。調查的 running code 如下 obs=objects(); foreach(ob in obs) if(!undefinedp(ob->query("id"))) if(sizeof(ob->query("id"))>10) environment(ob) ? write(identify(ob)+" "+identify(environment(ob))+ " "+sizeof(ob->query("id"))+"\n") : write(identify(ob)+" "+sizeof(ob->query("id"))+"\n"); ========== 程式執行區 ========== 武器(幻月劍 /d/ppl/quest/memory/wp/moonsword) 玩家(konrad /std/user) 50000 防具(/std/new_ob/arm) 玩家(ick /std/user) 38 防具(/std/new_ob/arm) 玩家(cococd /std/user) 16 . . 大概是像這樣。之前就稍微有發現未鑑定防具的 id 有奇怪的不尋常 增長現象,然後理論上 id 有可能是儲存資料,所以最近會做一下線 上 id 的修正。 ============================================================================= Expected: object Got: 0. 程式: /std/mob/g_attack.c:19 物件: /d/ppl/quest/memory/mob/novice#837674 生物名: novice /std/user#8555 "heart_beat" /std/user.c:617 /std/user#8555 "continue_attack" /std/user.c:253 /adm/daemons/user_d "continue_attack" /adm/daemons/user_d.c:886 /adm/daemons/user_d "execute_attack" /adm/daemons/user_d.c:1014 /adm/daemons/user_d "normal_attack" /adm/daemons/user_d.c:1230 /adm/obj/simul_efun "show" /adm/simul_efun/show.c(/adm/obj/simul_efun.c):248 /d/ppl/quest/memory/mob/novice#837674 "receive_damage" /std/mob/g_attack.c:19 user_d.c 第 1230 行大概是 if(!me->query("record_data/no_enable_msg")) // Norr@Sanc in 2011/08/06 { if(uu>0) show(me,tar,(k>1 ? "["+k+" 連擊] " : "")+tmp+"("+(t2/15)+")",t2); else show(me,tar,(k>1 ? "["+k+" 連擊] " : "")+tmp+"("+t2+")",t2, (int)tar->query("member")); 會出現 object got 0 就是說 me 或 tar 不見,照判斷是 me 不見 ,因此加一個 if(me) 的判斷即可。 ============================================================================= 執行時段錯誤: *Bad argument 2 to <= Expected: string Got: 7. 程式: /adm/daemons/shut_d.c:81 物件: /adm/daemons/shut_d /d/ppl/justinj/kemi/mob/clid#1066468 "heart_beat" /std/monster.c:103 /adm/daemons/mob_d "continue_attack" /adm/daemons/mob_d.c:392 /adm/daemons/mob_d "execute_attack" /adm/daemons/mob_d.c:430 /d/ppl/justinj/kemi/mob/clid#1066468 "special_fun" /d/ppl/justinj/kemi/mob/clid.c:47 /d/ppl/justinj/kemi/mob/clid#1066468 "shut" /std/mob/living.c:145 /adm/daemons/mob_d "shut" /adm/daemons/mob_d.c:522 /adm/daemons/shut_d "shut_tar" /adm/daemons/shut_d.c:81 第 81 行的內容是 ss>2 ? c=(int)kinds[2] : c=1; if(c>7) c=7; 通常這行會有問題代表 c 有問題,也就代表 kinds[2] 有問題。 case 1..5: frog->shut(HIG"$N舉起大刀劈向$O,讓$O感到無處可逃\n"NOR,78788,7777, ({"dam","physics","4"}),ppl,7); break; 我在 shut 有做了防錯判斷,但基本上 kinds[2] 還是要使用整數 ,這個再請 justin 修正。 ============================================================================= /u/l/laechan/skycastle/room/street/alley_shop1.c 暫改為不生蟲。我猜蟲沒問題,有問題的片段還要再找找。 ============================================================================= 執行時段錯誤: *Bad argument 3 to message() Expected: string or array or object Got: 0. 程式: /adm/simul_efun/tell_room.c(/adm/obj/simul_efun.c):4 物件: /adm/obj/simul_efun /std/user#8555 "heart_beat" /std/user.c:617 /std/user#8555 "continue_attack" /std/user.c:253 /adm/daemons/user_d "continue_attack" /adm/daemons/user_d.c:886 /adm/daemons/user_d "execute_attack" /adm/daemons/user_d.c:1003 /adm/daemons/user_d "normal_attack" /adm/daemons/user_d.c:1186 /adm/obj/simul_efun "new_defance" /adm/simul_efun/new_defance.c(/adm/obj/simul_efun.c):325 /u/l/laechan/special/mob/fingerwind1#1837939 "shield" /u/l/laechan/special/mob/fingerwind1.c:27 /d/ppl/quest/evil/mob/ghost#1837768 "shield" /d/ppl/quest/evil/mob/ghost.c:117 /adm/obj/simul_efun "tell_room" /adm/simul_efun/tell_room.c(/adm/obj/simul_efun.c):4 fingerwind 的 shield 函數 mixed shield(object frog,object ppl,int dam,string type) ghost 的 shield 函數 mixed shield(object me,object tar,int dam,int dam2,string type) 但是 ghost 的 dam2 並沒有被使用,所以應該是函數宣告錯誤, grep 的結果 [/d/ppl/quest/evil/mob/devil.c] 97:mixed shield(object me,object tar,int dam,int dam2,string type) [/d/ppl/quest/evil/mob/ghost.c] 99:mixed shield(object me,object tar,int dam,int dam2,string type) 只有這兩隻這樣寫,均已更正。 ============================================================================= 執行時段錯誤: *Bad argument 1 to call_other() Expected: string or array or object Got: 0. 程式: /d/ppl/ina/dinah/blood/mob/king.c:202 物件: /d/ppl/ina/dinah/blood/mob/king#1737891 生物名: Master Of Hell /d/ppl/ina/dinah/blood/mob/king#1737891 "heart_beat" /std/bmonster.c:129 /adm/daemons/mob_d "continue_attack" /adm/daemons/mob_d.c:375 /d/ppl/ina/dinah/blood/mob/king#1737891 "die" /d/ppl/ina/dinah/blood/mob/king.c:202 八卦府君的 bug。 void die() { object frog=this_object(),ppl=this_player(),ob; write_file("/open/blade/ina_king", ppl->query("short")+"打死"+ob->query("chi_name")+time()+"。\n"); 202 行就是 write_file 那行,如上所述,有宣告 object ob 但是沒有指配內容,則後面的 ob->query("chi_name") 自然會 出錯。 同目錄下並沒有 bak 檔,查更早之前的 king 它是這樣寫的 void die() { object frog=this_object(),ppl=this_player(),ob; write_file("/open/blade/ina_king",this_player()->query("name")+ "打死"+this_object()->query("chi_name")+time()+".\n"); 所以才說備份檔很重要。 按照上面的寫法把 ob 改成 frog 即可。這 bug 應該已存在 很長的時間,至少之前換 mudos 時就已存在。 ============================================================================= --



※ 發信站: 批踢踢實業坊(ptt.cc)
※ 編輯: laechan 來自: 210.61.157.53 (03/17 14:59)
1F:推 justinj :這個怪物算是最早寫的怪物之一...已修改.. 03/18 11:14







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP