搜索
查看: 4424|回复: 3

[AMXX 带源码] AMX Match Deluxe比赛插件的使用方法

[复制链接]
发表于 2009-2-2 10:03:29 | 显示全部楼层 |阅读模式 来自 中国–河南–三门峡
比赛插件资料  
-=[ AMX Match Deluxe ]=-

原始代码编写由 Shromilder 完成
代码升级并转换为AMXX代码编写由 Infra 完成

当前版本:8.11

-- 只能应用于 AMXX 1.75 及其以后的版本! --

-- 需要用户 "m" 权限 --

--- 模块需求 ---

"        Counter-strike
"        Regex
--- 可选的模块 ---

"        Sockets
"        MySQL

注意:
如果想要使用比赛插件控制HLTV服务器请开启AmxModX中的 Sockets 模块。
如果想要将比赛插件中的日志记录入数据库,请开启AmxModX中的 MySQL 模块。

插件功能:
"        MaxRound, TimeLimit, 或者 Winlimit 类型的比赛   
"        更改服务器名   
"        更改服务器密码   
"        战术盾牌限制 (比赛状态或非比赛状态)
"        自动交换角色   
"        加时赛   
"        加时赛脚本   
"        无限加时赛 *新功能*
   
"        比赛服务器配置脚本   
"        默认(FFA) 服务器配置脚本
"        自动截图   
"        自动录制DEMO   
"        菜单   
"        PUG 模式
"        将比赛信息和日志记录入文件或 MySQL *新功能*
   
"        比赛前采用刀局决定队员角色 *新功能*
   

安装:
"        如果您可以直接控制服务器,只需要将本压缩包解压缩到 cstrike 目录下   
"        将如下行写入 plugins.ini :   
amx_match_deluxe.amxx ; Amx Match Deluxe
"        重启HLDS
- 否则 -
"        复制 'amx_match_deluxe.amxx' 文件到您存放AMXX插件的目录下
"        将如下行写入 plugins.ini :
amx_match_deluxe.amxx ; AMX Match Deluxe
"        复制 'amxmd' 目录到 "addons/amxmodx/configs/" 目录下
"        复制 amx_match_deluxe.txt 文件到 "addons/amxmodx/data/lang" 目录下
"        复制 'data/match_stats' 目录到 "addons/amxmodx/data" 目录下
"        正确的在 modules.ini 文件中开启所需要的模块 (meaning DBI, Regex, and Sockets

with the compiled plugin included in the zip file)
"        重启HLDS

使用:
加载比赛:   

amx_match <CT's clan tag> <T's clan tag> <mrXX or tlXX> <Config filename>

[recdemo|rechltv|recboth]
- 或 -
amx_match2 <mrXX or tlXX> <Config filename> [recdemo|rechltv|recboth]
- 或 -
amx_match3 <CT's clan tag> <T's clan tag> <mrXX or tlXX> <Config filename> <second map>

[recdemo|rechltv|recboth]
- 或 -
amx_match4 <mrXX or tlXX> <Config filename> <second map> [recdemo|rechltv|recboth]

例如:   
amx_match SK eoL mr12 ecup recboth
这条命令会加载一个采用 "SK" 和 "eol" 为队标的 MaxRound 12 规则,
采用 ecup.cfg 为服务器配置文件并且自动在本机和HLTV上录制DEMO的比赛。

注意:队标可以包含空格,需要使用双引号,例如:"SK swe"
其它的命令:
  

重新开始比赛: amx_matchrestart 或 "say /restart"
停止比赛: amx_matchstop 或 "say /stop"
强行开始该半场比赛: amx_matchstart 或 "say /start"
重新R3: amx_matchrelo3 或 "say /relo3"
交换队伍: amx_swapteams
随机选择队伍: amx_randomizeteams
菜单:


首先必须使用命令行配置菜单:   

amx_match_lmenu <length of match> [<length of match> ...]
amx_match_cmenu <Name of config> <config file name>
- 或 -
amx_match_addlength <length of match> [<length of match> ...]
amx_match_addconfig <Name of config> <config file name>
注意:the most common lengths and commands have already been added to amxmd.cfg


当完成以上工作之后就可以使用 amx_matchmenu 命令来调出菜单了。   



2 比赛插件资料  


参数:

amx_match_endtype:

Maxround:
0 -> 当全部局数完成时结束。(默认值)
1 -> 当其中一方赢得 mp_maxrounds+1 局时结束比赛。
2 -> 当其中一方赢得 maxrounds+1 局时投票。
Timelimit:
0 -> 当时间到时立即停止。 (默认值)
1 -> 打完到时间时的最后一局。
amx_match_hostname:

0 -> 不修改服务器名称。
1 -> 修改为 "<CT队标> vs.<T队标> | <CFG文件> CS Match In Progress" 或者 (amx_match2/4)

"<CFG 文件> CS Match In Progress". (默认值)
amx_match_kniferound:

0 -> 不采用刀局 (默认值).
1 -> 采用刀局
amx_match_overtime:

0 -> 不加时
1 -> 加时 (默认值).
amx_match_otcfg:

*当 amx_match_overtime 为 1 时有效*
0 -> 不采用加时配置
1 -> 采用加时配置 (默认值).
amx_match_otlength:

*当 amx_match_overtime 为 1 时有效*
加时赛长度 (3 局/分钟/胜利 为 默认值).
amx_match_otunlimited:

*当 amx_match_overtime 为 1 时有效*
! 警告:当采用本参数时日志不会记录 !
0 -> 加时有限 (默认值)
1 -> 加时无限
amx_match_password:

0 -> 比赛时不修改服务器密码
1 -> 比赛时将服务器密码修改为 amx_match_password2 设置的值. (默认值)
amx_match_password2:

*当 amx_match_password 为 1 时有效*
设置预置密码 (默认值为 "scrim")
amx_match_playerneed:

*当 amx_match_readytype 为 1 时有效*
需要准备的玩家数 (默认值为 "10").
(例如当进行2对2比赛的话可以将本参数的值设置为 4)
amx_match_pugstyle:

0 -> PUG 模式关闭,不自动开始比赛模式 (默认值).
1 -> PUG 模式开启
amx_match_randomizeteams:

0 -> 不随机分队 (默认值).
1 -> 随机分队
amx_match_readytype:

0 -> 每方只需要一人准备
1 -> 所有人准备 (默认值).
2 -> 只有通过管理员使用 say /start 或 amx_matchstart 开始比赛
amx_match_swaptype:

0 -> 不自动交换
1 -> 自动交换 (默认值).
amx_match_screenshot:

0 -> 不自动截图
1 -> 每半场自动截图 (默认值).
2 -> 每半场自动截两张图 (一张为比分; 另一张为名称和用户ID)
amx_match_screenshot2:

0 -> 使用 amx_match_stop 或 "say /stop" 命令停止比赛时不截图
1 -> 无论任何情况都自动截图 (默认值).
amx_match_shield: ( 必须确保加载了 'restmenu.amxx' 插件 )

0 -> 比赛时不禁止盾牌
1 -> 比赛时禁止盾牌 (默认值).
amx_match_shield2: ( 必须确保加载了 'restmenu.amxx' 插件 )

0 -> 比赛后不禁止盾牌
1 -> 比赛后禁止盾牌 (默认值).
amx_match_showscore:

0 -> 每局结束后不显示得分
1 -> 每局结束后显示得分 (默认值).
2 -> 整个比赛结束后显示得分
amx_match_stats:

0 -> 不记录每场的日志 (默认值).
1 -> 记录每场的日志
amx_match_warmupcfg:

0 -> 热身时不使用热身配置 (默认值).
1 -> 热身时不使用热身配置


配置文件:
"        'default.cfg' 每场比赛的默认配置,与比赛配置文件合并 (cal.cfg)。可用于比赛前关

闭某些插件。
"        'ffa.cfg' 每场比赛结束后调用的配置脚本,混战用的 =)
"        'warmup.cfg' 热身模式配置文件
"        'amxmd.cfg' 主配置文件。用于保存比赛插件的设置
"        'pug.ini' PUG模式的配置文件
"        'hltv.ini' HLTV服务器管理密码配置文件
"        'defaultmaps.ini' 默认地图文件配置。 注意:The plugin searches your map

directory for any maps that aren't in this list;
This file can be used to list your maps, but make sure to not delete the default maps

from the file.


接着再说说HLTV DEMO自动录制的实现吧,其实很简单,只要你在HLTV.CFG中加入adminpassword xxxx,定义HLTV服务器的op密码,直接打开HLTV连接到比赛服务器。接着把HLTV的op密码写到CCSK.CFG文件里,格式为amx_match_hltv xxxx。
  做完以上步骤你就可以开始一场比赛了。
  你可以直接在HLSW的控制台输入比赛参数,参数有详细和简单两种:
amx_match [recdemo|rechltv|recboth]
amx_match2 [recdemo|rechltv|recboth]
建议使用第2个比赛参数。
其中mrxx可以为”mr12 mr15”,mr12为现在国内流行的24盘制,mr15为30盘制
clxx可以为”tl10 tl15 tl20 tl30”,分别是举行10分钟、15分钟、20分钟和30分钟的赛事。
Config filename为你所需要的CFG文件,我们这里用CCSK.CFG就可以写M
recdemo|rechltv|recboth其中recdemo为录第一视觉DEMO,rechltv为录HLTV DEMO,recboth为第一视觉和HLTV视觉DEMO都录。(第一视觉DEMO保存在各个参赛选手的CS目录里,HLTV DEMO保存在HLTV服务器里)
例如我们开始一场24盘制使用M.cfg要第一视觉和HLTV DEMO的比赛,我们就可以在HLSW的控制台输入:amx_match2 mr12 M recboth
如果之前参数设置为:
amx_match_endtype 0
amx_match_readytype 0
amx_match_swaptype 1
那只要双方比赛队员各有一人say ready,比赛就可以开始,打完12盘就会自动换边,重新双方比赛队员各有一人say ready,下半场比赛开始,打完12盘后比赛自动停止。
  当然如果你想强制比赛开始,可以在HLSW控制台里输入amx_matchstart,如果想人工结束一场比赛可以输入amx_matchstop.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
发表于 2009-2-2 11:40:33 | 显示全部楼层 来自 中国–台湾
正好要找這個T模組的教學
感謝分享
回复

使用道具 举报

发表于 2010-9-26 14:29:08 | 显示全部楼层 来自 中国–北京–北京
不错.1.5可以用吗?
回复

使用道具 举报

发表于 2016-2-11 00:44:44 | 显示全部楼层 来自 中国–陕西–西安
大大说的
回复

使用道具 举报

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

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