| 
                
                  | wangningyu 
         
  
 | 分享:           ▼         
 [插件] [VGStats]基于Redis+php高效率的免费CS1.6排名系统 V3.02
                      
                        
                        
                          |  x2 | 
 
 
|  |  |  |  
|  |   【插件资讯】插件来源:原创 使用指令:vgstatus 安装路径:cstrike\addons\amxmodx\modules【插件介绍】  你是否在为用MySQL做排名系统导致的换图慢死服而苦恼? 恭喜你,这款基于高效率Redis数据库的排名系统VGStats将非常适合你,它采用高速缓存技术,无论是读取还是个人数据读取、计算并显示前一千名也仅仅只需要0.01秒左右!
 
 这是一款基于Redis + PHP的CS1.6排名统计系统,使用于HLDS系列的游戏,本插件完全免费,如果遇到什么bug请加官方QQ群:529777716
 
 特别注意:这款排名系统最重要的是免费!免费!免费!重要的事情说三次   (同时支持Windows和Linux游戏服务器,同时支持HLDS与ReHLDS) 可以在观察模式显示当前玩家、当前武器的独立数据:
  功效果预览    最重要的一点是你的插件需要提供以下几个接口函数:复制程式 
复制程式// 获取游戏数据
// 参数:
// id: 游戏序号(1-32)
// uid: 数据库编号(大于0)
// nWeapon: 武器编号(CSW_NONE代表总榜, 范围0-32)
// nType: 数据类型
//
// 读取个人总榜示例:
// 读取总人数: new val = vs_get_rank_data(id, CSW_NONE, VS_MAX_PLAYER);
// 读取排名: new val = vs_get_rank_data(id, CSW_NONE, VS_RANK);
// 读取总杀敌: new val = vs_get_rank_data(id, CSW_NONE, VS_KILL);
// 读取总死亡: new val = vs_get_rank_data(id, CSW_NONE, VS_DEATH);
// 读取总射击: new val = vs_get_rank_data(id, CSW_NONE, VS_SHOT);
// 读取总命中: new val = vs_get_rank_data(id, CSW_NONE, VS_HIT);
// 读取总爆头次数: new val = vs_get_rank_data(id, CSW_NONE, VS_HEADSHOT);
// 读取总穿墙命中次数: new val = vs_get_rank_data(id, CSW_NONE, VS_WALL_HIT);
// 读取总穿墙爆头次数: new val = vs_get_rank_data(id, CSW_NONE, VS_WALL_HEAD);
// 读取总穿墙击杀次数: new val = vs_get_rank_data(id, CSW_NONE, VS_WALL_KILL);
// 读取总场次: new val = vs_get_rank_data(id, CSW_NONE, VS_ROUND);
// 读取T杀完胜利: new val = vs_get_rank_data(id, CSW_NONE, VS_RWIN_T);
// 读取T爆炸胜利: new val = vs_get_rank_data(id, CSW_NONE, VS_RWIN_BOOM);
// 读取残局场次: new val = vs_get_rank_data(id, CSW_NONE, VS_1ROUND);
// 读取残局胜利场次: new val = vs_get_rank_data(id, CSW_NONE, VS_1RWIN);
// 读取残1v1胜利场次: new val = vs_get_rank_data(id, CSW_NONE, VS_1V1);
// 读取残回合1杀场次: new val = vs_get_rank_data(id, CSW_NONE, VS_KILL_1);
//
// 
// 读取个人武器数据示例:
// 读取AK射击次数: new val = vs_get_rank_data(id, CSW_AK47, VS_SHOT);
// 读取AK命中总次数: new val = vs_get_rank_data(id, CSW_AK47, VS_HIT);
// 读取AK爆头总次数: new val = vs_get_rank_data(id, CSW_AK47, VS_HEADSHOT);
// 读取AK击中头总次数: new val = vs_get_rank_data(id, CSW_AK47, VS_HIT_HEAD);
// 读取AK击胸部总次数: new val = vs_get_rank_data(id, CSW_AK47, VS_HIT_CHEST);
// 所有击中胸部总次数: new val = vs_get_rank_data(id, CSW_NONE, VS_HIT_CHEST);
// 读取AK穿墙命中次数: new val = vs_get_rank_data(id, CSW_AK47, VS_WALL_HIT);
// 读取AK穿墙爆头次数: new val = vs_get_rank_data(id, CSW_AK47, VS_WALL_HEAD);
// 读取AK穿墙击杀次数: new val = vs_get_rank_data(id, CSW_AK47, VS_WALL_KILL);
// 读取AK总伤害: new val = vs_get_rank_data(id, CSW_AK47, VS_DAMAGE);native vs_get_rank_data(id, nWeapon, nType); 
功能介绍// 这个函数是在你的登录主插件后调用
public client_login(id, uid)
{
 static param[4]
 param[0] = id
 param[1] = uid
 new enname[33], chs[33], sig[64], qq[33], flag[33], expdate[33], regdate[33], lastlogin[33], ip[33]
 new year, month, day
 
 g_Uid[id] = uid
 
 ////////////////////////////////////////////////////////////////
 // 这里的接口是我原先插件的,需要你自行实现
 ////////////////////////////////////////////////////////////////
 
 // 获取在VGStatsWeb中显示的"玩家英文名"
 //get_user_engname(id, enname, 32)
 
 // 获取在VGStatsWeb中显示的"玩家中文名"
 //get_user_chsname(id, chs, 32)
 
 // 获取在VGStatsWeb中显示的"个性签名"
 //get_user_signature(id, sig, 63)
 
 // 获取在VGStatsWeb中显示的"玩家qq"
 //get_user_qq(id ,qq, 32)
 
 // 获取在VGStatsWeb中显示的"玩家VIP权限字母abcdef-z"
 //get_vip_flag(id, flag, 32)
 
 // 获取在VGStatsWeb中显示的VIP时间,格式: 2022-06-01
 //get_exp_date(id, expdate, 32)
 
 // 获取在VGStatsWeb中显示的注册时间,格式: 2022-06-01
 //get_reg_date(id, regdate, 32)
 
 // 获取上次登录时间
 date(year, month, day)
 formatex(lastlogin, 31, "%04d-%02d-%02d", year, month, day)
 get_user_ip(id, ip, 32, 1)
 
 
 ////////////////////////////////////////////////////////////////
 // 最终调用函数:
 ////////////////////////////////////////////////////////////////
 
 // 更新VGStats的英文名
 vs_set_user_data(id, uid, ECT_SET_NAMEEN, enname, 32)
 
 // 更新VGStats的中文名
 vs_set_user_data(id, uid, ECT_SET_NAMECH, chs, 32)
 
 // 更新VGStats的VIP权限字母abcdefg
 vs_set_user_data(id, uid, ECT_SET_FLAGS, flag, 32)
 
 // 更新VGStats的注册日期,格式: 2022-06-01
 vs_set_user_data(id, uid, ECT_SET_REG_DATE, regdate, 32)
 
 // 更新VGStats的qq,格式: 12345678
 vs_set_user_data(id, uid, ECT_SET_QQ, qq, 32)
 
 // 更新VGStats的个性签名
 vs_set_user_data(id, uid, ECT_SET_SIGNATURE, sig, 32)
 // 从VGCenter读取排名信息
 vs_load_rank(id, uid)
 
 // 更新VGStats中的VIP到期时间
 if(strlen(expdate))
 vs_set_user_data(id, uid, ECT_SET_EXP_DATE, expdate, 32)
 else
 vs_set_user_data(id, uid, ECT_SET_EXP_DATE, expdate, 0)
 
 // 更新VGStats的上次登录时间
 vs_set_user_data(id, uid, ECT_SET_LAST_LOGIN, lastlogin, 32)
 
 // 更新VGStats的上次登录IP
 vs_set_user_data(id, uid, ECT_SET_LAST_IP, ip, 32)
 
 #if DEBUG
 client_print(id, print_chat, "提交: %s / %s / %s / %s", enname, chs, sig, ip)
 #endif
} 基于Redis+PHP的CS1.6排名统计系统,使用于HLDS系列的混战、比赛模式安装方法 预览测试效果:https://game.cs2701...gstats/ 官方网站:https://gitee.com/link?target=ht...w.cs27015.com  专业定制CS反作弊系统QQ277460272 安装方法如下: 1、在cstrike\server.cfg中添加以下参数:      // 排名服务器vs_ip "127.0.0.1"      // 排名服务器端口vs_port "27001"      // 验证密码vs_auth "123456"      // 服务器序号vs_sid "1"      // 是否忽略BOTvs_ignore_bot "0" 2、将VGStats_amxx.dll 拷贝至以下目录: cstrike\addons\amxmodx\modules 3、在module.ini 中添加一行VGStats cstrike\addons\amxmodx\configs\module.ini 4、重启HLDS服务器,输入meta list查看是否成功 如果有一个VGStats System显示RUN则说明正常 5、运行“启动redis.bat” 6、运行VGCenter.exe点启动即可 7、Redis使用的是tcp:6379端口,VGCenter使用到udp:27001端口 如果Redis或VGCenter在其他服务器运行,需要注意放行! 8、将wwwroot拷贝至服务器运行,测试环境为PHP7.0,其他版本未测试 需要自行修改MTPublic.php中的get_access_str获取VIP类型网页预览https://game.cs2701...gstats/ V3.02 支持总榜、年榜、月榜、日榜、赛季榜Bug反馈 本插件完全免费,如果遇到什么bug请加官方QQ群:529777716 (如果有哪位兄弟熟悉PHP可联系我共同改善一个WEB前端效果!) 更新版本https://gitee.com/wan...vgstats 
 
 
 
 [ 此文章被wangningyu在2023-10-08 01:11重新编辑 ] |  |  
|  |  |  | 
 
 
 |  
                  | 
                
                  | 
 One Code , One Dream ! |  
                  |  x1  [楼 主]
                    
                    
                     From:未知地址 |  Posted:2023-09-13 14:48 | |  |  |