[備忘] 有空要檢查一下 heart_beat 函數
算備忘,以後會直接回這篇 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
10/12 11:37, 4F
→
10/12 11:37, , 5F
10/12 11:37, 5F
推
10/13 01:25, , 6F
10/13 01:25, 6F
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章