作者hlead (希多)
看板mud_sanc
标题Re: [问题] about checking
时间Fri Mar 13 19:52:32 2015
※ 引述《longhairpan (Steven)》之铭言:
: =======================================
: 目前似乎加上 -g 主职 结果就会不太正常,
: -r 种族 也是,
: 然後两个合在一起也不能用
1.此问题为回圈计算有问题,已修正了。
原本为:
for(i=0;i<n;i++)
{
if((t1=="r" && (string)ob[i]->query("race")==t2) ||
(t1=="g" && (string)ob[i]->query("pri_guild")==t2) )
msgs+=sprintf(" %d. %s %s(%s) %d\n",ob[i]->query("level"),
ob[i]->query("checking_name"),
ob[i]->query("chi_name"),ob[i]->query("cap_name"),
(int)ob[i]->query("record_data/nobu_money"));
else
{
n++;
if(n>=j) return msgs;
}
}
附注:假如他找30笔,但是总笔数只有26笔时。他跑else就直接跳出回圈了。
修正为:
for(i=0;i<j;i++)
{
if((t1=="r" && (string)ob[i]->query("race")==t2) ||
(t1=="g" && (string)ob[i]->query("pri_guild")==t2) )
{
msgs+=sprintf(" %d. %s %s(%s) %d\n",ob[i]->query("level"),
ob[i]->query("checking_name"),
ob[i]->query("chi_name"),ob[i]->query("cap_name"),
(int)ob[i]->query("record_data/nobu_money"));
num++;
if(num>=n) return msgs;
}
}
多设一个 num 来判断目前数目。(只修正 -r , -g 情况,其他没错、不影响。)
附注:j=资料全部总数 , n=输入的查询数
2. -r -g 好像本来就不能混用,不过应该可以加此功能。
--
Norr@Sanc
风,吹散了一切烦恼,只留下平静的思考。
雨,淋落了一切纷乱,只剩下无比的快乐。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.170.32.225
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/mud_sanc/M.1426247556.A.5CA.html
1F:→ hlead : 档案备份为:checking.20150313 03/13 19:53
※ 编辑: hlead (118.170.32.225), 03/13/2015 20:06:02