【2014福利】庆祝DT还活着!混战服福利来了!
本帖最后由 刘半仙【仙】 于 2014-1-6 19:24 编辑想必很多混战服,用的是Stats 月光疾风汉化处理网页排版的那个插件。--->Zhangshen
可能有很多服主不明白为什么TOP显示的是TOP15,那么下面我来给大家解释一下。
插件的原理 大概就是 定义一个数组
在数组里面装入字符,字符的内容是HTML 编码,通过MOTD显示数组中的HTML编码达到大家看到的效果。
那么为什么是15个玩家呢?
因为定义数组要定义一个大小,然后showmotd显示有限制。So 如果HTML编码太过复杂化显示就会乱掉,许多
都看不到。而且HTML编码是通过插件逐条读取逐条写的。
那么我们能不能通过其他的方法突破显示呢?答案明显是有的。
想必大家都知道MyStats 其工作原理是把玩家的各项数据记录到MySql数据库。然后利用PHP读取MySQL。
大家在服务器看到的TOP Stats等数据 都是MOTD导向外部网页,需要一个php支持的web站点。
那么很多服主在想,我没有MySql库,那不是坑爹的吗!
其实大家的服务器有个CSX数据统计模块, 把大家的数据保存在一个叫做 csstats.dat 的文件里面,大家可以通过
\addons\amxmodx\data 目录可以看到,其下面有个winCsx.exe 可以读取到数据。其实这就是一个数据库。通过读
取其中的数据就能达到大家想要的效果。
问题在于如何读取。wincsx.exe明显已经证明了可以读取。对于我们这些人来说,去翻阅csx模块的源代码是
不现实的。偶然,我在网上也找到了PHP读取的方法。所以其实我上面说的全是废话。下面就教教大家如何突破。
备注: PHP读取方法 找寻来着 网络。因为csdn 百度空间 blog等均找到过。版权被篡改过几次。我也不知道
谁是原创。
另开一贴: http://www.dt-club.net/forum.php?mod=viewthread&tid=67593
这里说得有点乱 。小白可以忽视!
下面放图:
想必大家基本都有使用 Rulzy 大哥的webmgr 。也就是网页管理后台。如果使用了,那么就相当于提供了一个php平
台。我们只需要降php文件放在该目录下面即可!下面贴出PHP源代码使用介绍:<?php
//服务器名字
$Server= "服务器 ";
//csstats.dat位置
$DatPatd= "E:\HLDS\cstrike\addons\amxmodx\data\csstats.dat";
//显示数量
$Top=50;
?>$DatPatd 这里是大家要编辑的路径 指引向大家的 csstats.dat文件
PS:大家最好把路径都改成全英文的。
路径修改好以后,将php文件保存名为 TOP.php 放到大家的php 支持站点下面
这里要求PHP站点与HLDS同属一个机器。
使用Rulzy WebMgr的朋友放到webmgr\www\cn\ 目录下面 (相信大家都是使用CN的吧)
然后利用IE检测一下 是否可用。
在IE地址栏输入 后台管理地址大概如 :HTTP://127.0.0.1/cn/index.php
将index.php 改成 TOP.php 看看读取是否正常。不正常根据报错解决。
当一切进行顺利。是不是觉得上面所说很简单。其实下面更简单。
服务器玩家想要查询到改网页 只需要 指引到该网页即可。
那么插件代码如下:#include <amxmodx>
#include <amxmisc>
#define PLUGIN_NAME "pHpTopSHow"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "idiot/kyo"
new const LoadUrl[] = "http://127.0.0.1:27015/cn/top.php" // 修改为你的地址、
public plugin_init()
{
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
register_clcmd("say /phptop", "ShowTop")
}
public ShowTop(id)
{
show_motd(id, LoadUrl,"TOP")
return PLUGIN_CONTINUE
}插件功能仅是使用一个MOTD静态导向网站链接
好吧,说得有点累。有点啰嗦,THat all。下楼放 压缩包文件
哎呀。我来了 这楼放PHP 文件<?php
//服务器名字
$Server= "服务器 ";
//csstats.dat位置
$DatPatd= "E:\HLDS\cstrike\addons\amxmodx\data\csstats.dat";
//显示数量
$Top=50;
?>
<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 ">
<link href="ms.css" rel="stylesheet" type="text/css">
<title><?echo $Server?>页实时排行</title>
<style>
body{
font-family:Arial,sans-serif;
font-size:12px;color:#FFCC99;
background-color:#000000;margin-left:8px;
margin-top:3px }
.header{background-color:#9C0000;
}
td{
font-size:14px
}
th{
font-size:14px
}
</style>
</head>
<body>
<center>
<h1 align="center" style="color:#FF0"><?echo $Server?>实时排行</p>
<h3 align="right">TIP:键盘输入快捷键(CTRL+F)输入自己的ID就可以查到自己的排名</p>
<hr>
<table>
<tr class= trhrank>
<th align= "center">排名</th>
<th align= "center">名字</th>
<th align= "center">杀人数</th>
<th align= "center">爆头(%)</th>
<th align= "center">死</th>
<th align= "center">命中/子弹数(命中率)</th>
<th align= "center">积分</th>
</tr>
<?php
function bin2int($bin)
{
return ord($bin)+ord($bin)*256;
}
$fp=fopen($DatPatd, "rb");
if(bin2int(fread($fp,2))!=11) exit( "请安装CSStats! "); //amxx1.0
for($i=1;$i <=$Top;$i++){
if(!$namelen=bin2int(fread($fp,2))) break;//WORD名字长度(包括\0)
$bgcolor=($i%2)?"#333333":"#666666";
$player=fread($fp,$namelen-1);
fseek($fp,$namelen+3,SEEK_CUR);
$a=unpack( "V*stats",fread($fp,80)); //amxx1.0
echo "<tr bgcolor=$bgcolor><td > $i </td><td style='word-break: break-all'> $player </td><td>".$a["stats4"]."</td><td> ";
if($a["stats4"]==0){
echo "0/0(0%)";
}
else
{
if($a["stats7"]==0){
echo "0/".$a["stats4"]."(0%)";
}
else{
echo $a["stats7"]."/".$a["stats4"]."(".round($a["stats7"]/$a["stats4"]*100,1)."%)";
}
}
echo "</td><td>".$a["stats3"]."<td>";
if($a["stats5"]==0){
echo "0/0(0%)";
}
else
{
if($a["stats6"]==0){
echo "0/".$a["stats5"]."(0%)";
}
else{
echo $a["stats6"]."/".$a["stats5"]."(".round($a["stats6"]/$a["stats5"]*100,1)."%)";
}
}
echo "</td><td>".($a["stats4"]+$a["stats7"]*2-$a["stats3"])."</td></tr>";
}
fclose($fp);
?>
</table>
<hr>
<font size=2 color=white>大爱CS </font><br>
<center>
</body>
</html>DT如此不易,俺就不弄啥 回复可见啊,购买主题什么的了! 大家多来发发帖!还是有那么一点人再玩CS的! c12g34k56 发表于 2014-1-5 12:14 static/image/common/back.gif
哎呀。我来了
看书实在太无聊了刷了下网页有东西 忍不住进来了 这么快就到6楼了:lol 撸啊撸~~~~激情撸过~ 虽然看不懂,但还勉强喜欢。 来张图呗:D
无图无真相啊 刘半仙【仙】 发表于 2014-1-5 12:14 static/image/common/back.gif
这楼放PHP 文件DT如此不易,俺就不弄啥 回复可见啊,购买主题什么的了! 大家多来发发帖!还是有那么一点人 ...
<? ?> 这是php老用法
php读取文件 是在 csdn等地方找到的 ! 没有规范写法 <?php ?>
大家谁想规范!可自行修改!
页:
[1]
2