[備忘] 有空要檢查一下 heart_beat 函數

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間13年前 (2012/10/11 17:35), 編輯推噓2(204)
留言6則, 2人參與, 最新討論串1/1
算備忘,以後會直接回這篇 or 另發新篇,時間應該就是在最近 ,會造成玩家沒心跳的最直接原因,就是程式執行到 heart_beat 的某一行時出問題才造成的。 就目前來說唯一可猜到的原因在最近的修改 cast 上。 底下先貼關鍵段再來 debug... if(temp_data["casting"]>0) temp_data["casting"]--; else if(temp_data["casting"]<0) temp_data["casting"]=0; if(temp_data["casting2"]>0) temp_data["casting2"]--; else if(temp_data["casting2"]<0) temp_data["casting2"]=0; if(temp_data["cmd_cast_data"]) { casting=(int)temp_data["casting"]; if(casting<1) { if(temp_data["cmd_cast_data"][0]) { call_other(temp_data["cmd_cast_data"][1],"start_effect", temp_data["cmd_cast_data"][0],me, temp_data["cmd_cast_data"][2], temp_data["cmd_cast_data"][3], temp_data["cmd_cast_data"][4]); if(query_temp("special_effect/double-charm") && temp_data["cmd_cast_data"][0]) { call_other(temp_data["cmd_cast_data"][1],"start_effect", temp_data["cmd_cast_data"][0],me, temp_data["cmd_cast_data"][2], temp_data["cmd_cast_data"][3], temp_data["cmd_cast_data"][4]); } delete_temp("cmd_cast_data"); delete_temp("casting"); } } } 目前很不想對這一段落上 catch,因為 catch 並不是一個好 東西(但是它可以避免程式卡死)。 總之,原因應該出在 cast 上,即戰鬥中 cast 某法術會出問 題,若是以這個為前提的話,一個一個試大概也可以...有空 我擬出一份測試流程來試好了.. (若玩家能回報自己是 cast 啥法術出問題就更好了) Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.61.157.53

10/11 17:37, , 1F
或是應用以前的方法,把這部份變成外部呼叫
10/11 17:37, 1F

10/12 00:13, , 2F
如果有 我想應該是鼓舞...
10/12 00:13, 2F

10/12 00:25, , 3F
嗯嗯,我明天檢查看看,它設定的東西太多了
10/12 00:25, 3F
關鍵程式段: obs=all_inventory(environment(ppl)); j=sizeof(obs); for(i=0;i<j;i++) { if(t2>=10) break; // 最多一次影響10個玩家 if(!obs[i]) continue; if(!userp(obs[i])) continue; if(obs[i]->query_temp("heal_time/encourage")) continue; tell_object(obs[i],obs[i]->query("sex_name")+"頓時感受到一股源源不絕"+ "的力量!\n"); t2=t2+1; obs[i]->temp_several_same_mod(({"damage","speed","dodge","hit_chance"}), t1,"encourage",lv); } 若真的是這個技能有問題,則出問題的段落通常是上面紅色 的部份。我覺得這個技能其實該轉型了。 不過我仍覺得是 cast 出問題。 ※ 編輯: laechan 來自: 223.143.35.239 (10/12 00:31)

10/12 11:37, , 4F
yalis>你也可以試試先不要用 encourage, 若沒問題就
10/12 11:37, 4F

10/12 11:37, , 5F
可以用這個來反證 encourage 有問題
10/12 11:37, 5F

10/13 01:25, , 6F
今天用一整天 還是沒問題 明天會關掉兩天看看
10/13 01:25, 6F
文章代碼(AID): #1GTfBtz3 (mud_sanc)
文章代碼(AID): #1GTfBtz3 (mud_sanc)