作者laechan (小太保)
看板mud_sanc
标题Re: [问题] 关於3p负值问题
时间Fri Nov 27 14:16:06 2015
感冒有好一点。先采用紧急做法,改完会 shutdown 更新。
> select hp_src from users where hp_src < 0
name hp_src
========================================================
johnhung -65577
maan -64732
playerlin -61295
hsj -23699
.
.
========================================================
/adm/simul_efun/new_and_count.c 先备份为 20151127
new_3p 函数
先宣告两个 float f1=1.0,f2=1.0;
然後将部份计算式改成 float 计算,例如
f1=(1.0*d*d)/50+(1.0*f*f)/60+30.0*e+(d+f)*20.0+h;
f2=80.0*b+10.0*a+10.0*c+i;
最後再用 atoi 函数把最终计算结果改回整数即可,例如
me->set("sp_src",atoi(""+((f1*(int)me->query_temp("interchange_to_sp"))/100)));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
这里会先得到浮点数的结果
^^^^^
再用这个强制变回整数
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 210.61.157.53
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/mud_sanc/M.1448604970.A.52C.html
※ 编辑: laechan (210.61.157.53), 11/27/2015 14:19:56
1F:→ laechan : 20151127 14:2x shutdown 完毕,预计至少观察到15:30 11/27 14:23
2F:→ playerlin : 辛苦了,记得负值状况出现时感觉只是原本数值被加上 11/27 15:10
3F:→ playerlin : 而已... 11/27 15:10
4F:→ laechan : 有查出应该是光棍节特效的原因,不过上述修改还是保 11/27 15:54
5F:→ laechan : 留,用浮点数做过渡计算比较不会出问题-2147xxxx问题 11/27 15:55