搜索
查看: 5726|回复: 15

说说CSSTATS的数据问题。

[复制链接]
发表于 2004-7-13 18:58:35 | 显示全部楼层 |阅读模式 来自 中国–福建–龙岩
cvar_t init_csstats_maxsize ={"csstats_maxsize","3500", 0 , 3500.0 };
cvar_t init_csstats_reset ={"csstats_reset","0"};
cvar_t init_csstats_rank ={"csstats_rank","0"};

从源代码知道。

我说明下。
csstats_maxsize 是设置csstats.dat文件大小,不是maxman。
csstats_reset 是重新开始csstats,整个TOP数据都清零。
csstats_rank 是重新计算rank数据。

有的时候,大家一定会奇怪,为何kills多的反而在top15的尾部。其实答案在
csstats.sma里面。

public get_score( stats[8] , body[8] )
        return stats[0] - stats[1] // kills - deaths

OLO定义TOP15排名是 得分-死亡 ,以次为TOP15的排位。
如果,我们改成

public get_score( stats[8] , body[8] )
        return stats[0] // kills
就是以 得分高低轮排名了。

:43:
发表于 2004-7-13 22:04:16 | 显示全部楼层 来自 中国–广西–玉林
恩!不错!!1
回复

使用道具 举报

发表于 2004-7-13 23:56:05 | 显示全部楼层 来自 中国–广东–深圳
这个我研究过了,amx的排名系统很不科学,金老弟的只用杀人数来排名就更不科学了。

相反,statsme的排名更复杂,更合理,它包括了武器难度系数,比如杀同一个人用刀杀和用枪杀得分是不同的,还有,杀的人是菜鸟(排名靠后的),你自己的排名是不会提高的,杀的是高手,他排名越靠前,你得分越高,排名升得越快。

还有放包不放包,拆不拆弹,爆头率,连杀,都会影响排名。。

amx中的排行部分做的太烂了。。
回复

使用道具 举报

发表于 2004-7-14 08:13:19 | 显示全部楼层 来自 中国–云南–昆明
一个菜鸟玩的时间长,杀100死1000
一个高手玩的时间少,杀99死0
按杀人数排名太不合理了
回复

使用道具 举报

发表于 2004-7-14 11:18:03 | 显示全部楼层 来自 中国–福建–福州
Post by kindzhon
这个我研究过了,amx的排名系统很不科学,金老弟的只用杀人数来排名就更不科学了。

相反,statsme的排名更复杂,更合理,它包括了武器难度系数,比如杀同一个人用刀杀和用枪杀得分是不同的,还有,杀的人是菜鸟(排名靠后的),你自己的排名是不会提高的,杀的是高手,他排名越靠前,你得分越高,排名升得越快。

还有放包不放包,拆不拆弹,爆头率,连杀,都会影响排名。。

amx中的排行部分做的太烂了。。

不是吧!

statsme和AMX的排名都是OLO写的,不会有差别的,

你所说的是那个排名应该是PsychoStats的。
回复

使用道具 举报

发表于 2004-7-14 12:10:54 | 显示全部楼层 来自 中国–广东–深圳
是谁写的我不知道,但大家看看这里:
http://www.100acrebloodbath.com/ ... ats/index.php?ID=10
就知道statsme的排名绝不是按照杀人数-被杀人数多少来排的。
回复

使用道具 举报

 楼主| 发表于 2004-7-14 12:55:27 | 显示全部楼层 来自 中国–福建–龙岩
不过UA的statsme,真的很占资源。
如果大家都不用AMX,我当然推荐用UA了。 :12:
回复

使用道具 举报

发表于 2004-7-14 14:00:38 | 显示全部楼层 来自 中国–广东–深圳
这是statsme.cpp,从这里可以看出它的缺省排名方法。
     p->acc = ACCURACY_FORMULA(p->shots,p->hits);
        p->eff = EFFEC_FORMULA(p->kills,p->deaths);
       
        for (int i=0;i<20;i++)
                p->userdefined += a->userdefined;

        if ( *sm_rankscore->string ) {
                sm.rank = p;
                p->points = atof(smv_putvars(sm_rankscore->string)); // formula from cvar settings
        }
        else {
                p->points = p->eff + p->acc + ( p->hs / 2 );
                //if ( p->kills < sm_killsforrank->value )
                //        p->points /= 3;
        }

        p->points += 1000;
回复

使用道具 举报

发表于 2004-7-14 15:54:52 | 显示全部楼层 来自 中国–福建–福州
statsme原来确实是OLO写的,有可能经过UA修改后再加强了.

有了原代码就好改了.
回复

使用道具 举报

发表于 2004-7-15 21:02:43 | 显示全部楼层 来自 中国–河北–廊坊
闪闪兄:
   
        我有一个很头疼的问题,相信大家以前也一定遇到过的,那就是TOP15过一段时间

后自动清零重新开始统计。我不知道该修改什么文件和如何修改才能使TOP15的排名永远

都统计下去而不会清零,我的TOP15是7月2号开始的,到昨天晚上(15号)我看的时候

就已经被清零重新开始统计了,请闪闪兄和知道如何解决这个问题的朋友帮帮我这个忙!
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

快速回复 返回顶部 返回列表