搜索
查看: 1712|回复: 0

只保留最前1500排名的PHP程序

[复制链接]
发表于 2003-10-25 18:09:58 | 显示全部楼层 |阅读模式 来自 中国–江西–南昌
CSSTATS默认达到2500人时就会清空csstats.dat数据文件,我就吃2次亏了,搞的排名全没了。今天终于研究出了csstats.dat的格式,就写了个PHP程序用来删除1500名以后的排名,这样就永远无法达到2500名而不会自动清空。
因为CSSTATS是把csstats.dat完全调入内存处理的,所以必须要在HLDS关掉后运行才有用。也就是说CSSTATS正在运行时即使删掉csstats.dat也不会影响排名,因为它已经把这个文件放进了内存,而在换地图时才把内容写入文件。

<?//clearstats.php
function bin2int($bin)
{return ord($bin)+ord($bin[1])*256;
}
$fp=fopen("D:\\HLServer\\cstrike\\addons\\amx\\csstats.dat","rb+");
if(bin2int(fread($fp,2))!=5) exit("请安装CSStats 0.97");
for($i=1;$i<=1500;$i++)
{if(!$namelen=bin2int(fread($fp,2))) exit();
fseek($fp,$namelen*2+62,SEEK_CUR);
}
ftruncate($fp,ftell($fp));
fwrite($fp,"\0\0");
fclose($fp);
?>
游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

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