[wizs] debug.log

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間14年前 (2011/05/18 14:23), 編輯推噓5(509)
留言14則, 4人參與, 最新討論串8/17 (看更多)
執行時段錯誤: *Value being indexed is zero. 程式: adm/daemons/king_d.c:196 物件: /adm/daemons/king_d /adm/daemons/logind "get_password" adm/daemons/logind.c:830 /adm/daemons/logind "login_new_copy" adm/daemons/logind.c:840 /adm/daemons/logind "enter_world" adm/daemons/logind.c:910 /std/user#17709 "setup" std/user.c:108 /adm/daemons/king_d "check_rank_or_order" adm/daemons/king_d.c:196 196: if( !list[(string)ppl->query("name")] ) { 一般來說這裡會出錯,代表 ppl->query("name") 出來的東西 是有問題的。沒事不要去動玩家的 name。 Expected: string or array or object Got: 0. 程式: u/l/laechan/special/mob/fingerwind1.c:92 物件: 0 /std/user#36664 "heart_beat" std/user.c:932 /d/spell/thunder "start_effect" d/spell/thunder.c:161 /std/user#36664 "shut" std/user/attack.c:159 /adm/daemons/shut_d "shut_tar" adm/daemons/shut_d.c:308 /adm/obj/simul_efun "show" adm/simul_efun/show.c(adm/obj/simul_efun.c):235 0 "receive_damage" std/mob/attack.c:30 0 "die" u/l/laechan/special/mob/fingerwind1.c:92 從 show 去呼叫 receive_damage 時物件便已消失。 在 /std/mob/attack.c 的 receive_damage 裡原本就已經 加設判斷,防止這樣的情況產生.. if(me) me->die(); 但顯然的這一行無效。已改成 if(me && environment(me)) 先試試看再說。 這個也是最近 fingerwind 出現的問題之一。 Error in error handler: *Bad argument 1 to call_other() Expected: string or array or object Got: 0. program: /adm/obj/master.c, object: /adm/obj/master, file: /adm/obj/master.c:625 ' heart_beat' in ' /std/monster.c' ('/d/ppl/quest/evil/mo') /std/monster.c:137 arguments were () ' run_away' in ' /std/mob/living.c' ('/d/ppl/quest/evil/mo') /std/mob/living.c:124 arguments were () ' run_away' in '/adm/daemons/mob_d.c' (' /adm/daemons/mob_d') /adm/daemons/mob_d.c:854 arguments were (0) locals were: "west",({ /* sizeof() == 2 */ "east", "west" }),149294336 ' force_me' in ' /std/mob/living.c' ('/d/ppl/quest/evil/mo') /std/mob/living.c:18 arguments were (173801124) ' cmd_hook' in ' /std/monster.c' ('/d/ppl/quest/evil/mo') /std/monster.c:34 arguments were ("west") locals were: "/cmds/std/_go","go",0 ' cmd_go' in ' /cmds/std/_go.c' (' /cmds/std/_go') /cmds/std/_go.c:146 arguments were ("west",0) locals were: /d/map/lodoos/room/roadw2,178937088,0,0,0,"/adm/daemons/eq/sp_room",0 ' error_handler' in ' adm/obj/master.c' (' adm/obj/master') /adm/obj/master.c:625 arguments were (([ /* sizeof() == 6 */ "object" : /cmds/std/_go, "error" : "*Bad argument 1 to call_other() Expected: string or array or object Got: 0. ", "file" : "cmds/std/_go.c", "trace" : ({ /* sizeof() == 6 */ ([ /* sizeof() == 6 */ "object" : 0, "function" : "heart_beat", "file" : "std/monster.c", "arguments" : ({ }), "program" : "std/monster.c", "line" : 137, ]), ([ /* sizeof() == 6 */ "object" : 0, "function" : "run_away", "file" : "std/mob/living.c", "arguments" : ({ }), "program" : "std/mob/living.c", "line" : 124, ]), ([ /* sizeof() == 7 */ "object" : /adm/daemons/mob_d, "function" : "run_away", "file" : "adm/daemons/mob_d.c", "locals" : ({ /* sizeof() == 3 */ "west", ({ /* sizeof() == 2 */ "east", "west" }), 149294336 }), "arguments" : ({ /* sizeof() == 1 */ 0 }), "program" : "adm/daemons/mob_d.c", "line" : 854, ]), ([ /* sizeof() == 6 */ "object" : 0, "function" : "force_me", "file" : "std/mob/living.c", "arguments" : ({ /* sizeof() == 1 */ 173801124 }), "program" : "std/mob/living.c", "line" : 18, ]), ([ /* sizeof() == 7 */ "object" : 0, "function" : "cmd_hook", "file" : "std/monster.c", "locals" : ({ /* sizeof() == 3 */ "/cmds/std/_go", "go", 0 }), "arguments" : ({ /* sizeof() == 1 */ "west" }), "program" : "std/monster.c", "line" : 34, ]), ([ /* sizeof() == 7 */ "object" : /cmds/std/_go, "function" : "cmd_go", "file" : "cmds/std/_go.c", "locals" : ({ /* sizeof() == 7 */ /d/map/lodoos/room/roadw2, 178937088, 0, 0, 0, "/adm/daemons/eq/sp_room", 0 }), "arguments" : ({ /* sizeof() == 2 */ "west", 0 }), "program" : "cmds/std/_go.c", "line" : 146, ]) }), "program" : "cmds/std/_go.c", "line" : 146, ]),0) locals were: "執行時段錯誤: *Bad argument 1 to call_other() Expected: string or array or object Got: 0. 程式: cmds/std/_go.c:146 物件: /cmds/std/_go 0 "heart_beat" std/monster.c:137 0 "run_away" std/mob/living.c:124 /adm/daemons/mob_d "run_away" adm/daemons/mob_d.c:854 0 "force_me" std/mob/living.c:18 0 "cmd_hook" std/monster.c:34 /cmds/std/_go "cmd_go" cmds/std/_go.c:146 這一長串,是關於怪物的走動設定部份,由上面的 bug msg 可以猜出大概是怪物從 A-->B 的過程中突然消失,造成部份 call process 找不到呼叫主體。 從上可看出怪物本身執行 heart_beat 去呼叫 go 時,本身就 已經消失的情況。 在 _go.c 的第 146 行的前面幾行,有一段令人在意.. if(tmp=env->query("pre_exit_func/"+dir)) if( call_other(env, tmp) ) return 1; 假設一個情況,某房間有定義 pre_exit_func,但是該 return 1 的地方,變成了 return 0,則該 function 會被呼叫,但是卻不 會就在這個地方停止。 這時候就有可能造成因為呼叫了這個 function 導致 "me" 消失 的情況。 那總之我先加設相關判斷,不過在 _go.c 改只是治標不治本的方 法,所以我亦會在 _go.c 裡頭增加一個 log 檔。 Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 117.19.89.64

05/18 14:32, , 1F
小寶 我去翻了一下以前的文章 幾個職業都有預備更改
05/18 14:32, 1F

05/18 14:32, , 2F
項目 是要等騎士改完再開始動工嗎?
05/18 14:32, 2F

05/18 14:34, , 3F
然後騎士的戰技指導有打算重製或是增加新功能嗎?
05/18 14:34, 3F

05/18 14:34, , 4F
現在的戰技指導感覺只是個+屬性sk = =
05/18 14:34, 4F

05/18 14:35, , 5F
而且打help skill tactic guide 是空白的._.
05/18 14:35, 5F

05/18 14:38, , 6F
看那篇文章的話戰技指導是要拔掉吧...會少99INT(?)
05/18 14:38, 6F

05/18 14:41, , 7F
新增的東西屬性設定也差不多
05/18 14:41, 7F

05/18 18:41, , 8F
戰技指導,不是要換招了!?所以不要再叫它出來了.amem
05/18 18:41, 8F

05/18 19:40, , 9F
欸,它是很重要的規劃捏
05/18 19:40, 9F

05/18 19:44, , 10F
推小寶 超重要的捏..
05/18 19:44, 10F

05/18 20:25, , 11F
laechan可以拿封魔的ghost,devil海船的siren來測試
05/18 20:25, 11F

05/18 20:26, , 12F
沒問題大概就沒了...(這是我覺得會出feather bug怪)
05/18 20:26, 12F

05/18 21:29, , 13F
那些是什麼? (裝死中)
05/18 21:29, 13F

05/18 21:45, , 14F
會出bug的怪.如果feather修完打沒問題就沒問題.avert
05/18 21:45, 14F
文章代碼(AID): #1DqsNPYI (mud_sanc)
討論串 (同標題文章)
完整討論串 (本文為第 8 之 17 篇):
0
1
0
2
1
1
0
4
1
8
5
14
文章代碼(AID): #1DqsNPYI (mud_sanc)