【分享】【原创】我做的"普通>比赛>死亡"3合一的F
:burn::burn:所用HLDS版本:
CS1.6 b2834 Server<完整纯净版>
插件:
【C.H.M汉化组】死亡竞赛模式1.70.289稳定版
C.H.M汉化组新年贺礼 AMXX 1.0 纯净版 比赛版
集合在点通AMXX1.0 娱乐版里的一个蹲坑插件
==================================================
我的F,从来都不公布在网上的,因为带宽和服务器性能问题,所以我的F只用来我们队比赛用.
我的想法就是,让这个F不用重启的情况下,想比赛就可以用比赛插件,想玩会死亡模式就玩会死亡模式,想变成普通的娱乐混战F就变成娱乐混战F. 但是因为个个插件之间需要调用ammx.cfg自己的参数,还有需要加载 addons\amxmodx\plugins\*.amxx 因此如何关闭和打开这些东西成了关键......
结果最让我头疼的是,当在死亡模式里,用 csdm_active 0 (打开关闭死亡模式) 参数的时候,虽然关闭了选枪菜单,但还是会在本地图随记出生...... 很是头疼呀....
突然我发现,我完全可以用脚本实现这种方法.因为我们队的大哥们都比较"电脑白痴".. 基本的控制台命令他们记不住,还得拿笔纸写下来,比如 "rcon changelevel de_dust2"这类的东西,所以呢,我就在 server.cfg 里写上了 "exec userconfig.cfg" , 然后在userconfig.cfg 里写上了alias来简化操作:
这是换图的简化操作.
alias d "changelevel de_dust2"
alias a "changelevel de_aztec"
alias c "changelevel de_cbble"
alias t "changelevel de_train"
alias i "changelevel de_inferno"
alias n "changelevel de_nuke"
alias b "changelevel cs_bloodstrike"
这是比赛插件的简化操作:
alias bs "amx_match2 mr15 15 recdemo"
alias end "amx_matchstop"
alias r3 "amx_matchstart"
相信大家能看的明白吧....
这样,我完全可以依此类推,来实现"3合一"的服务器的各插件之间的开关和参数调用了,因此,我把"反蹲坑插件;死亡插件;比赛插件"的相关参数,都集合在了2个脚本里,一个脚本是"打开死亡模式", 一个脚本是"关闭死亡模式" (其实主要是死亡模式和普通模式之间的开关很重要,因为比赛模式是在普通模式基础上的).
打开死亡模式的脚本如下
// 反蹲坑插件
// 蹲坑检测 0=关闭, 1=开启 | 默认: 1
anticamping 1
// 允许蹲坑的时间上限 | 默认: 30
anticamping_time 20
// 蹲坑惩罚的方式, a=扇耳光, b=减少生命值, c=举牌子, d=心跳声, e=亮人, 可复选 | 默认:bcd
anticamping_punish_mode ce
// 每次减少生命值的数量(如果选择了减少生命的惩罚方式) | 默认: 10
anticamping_healthpunish 10
// 向客户端显示检测的信息, 0=关闭, 1=开启 | 默认: 1
anticamping_meter 1
// 每个玩家的蹲坑限次 | 默认: 3
anticamping_camp_limit 10
// 是否自动踢出超过蹲坑限次的玩家, 1=开启, 0=关闭 | 默认: 1
anticamping_kick 1
// de_地图上是否允许防守方蹲坑, 1=开启, 0=关闭 | 默认: 1
anticamping_de_map_allow 0
//打开死亡模式
csdm_active 1
//自由竞赛模式
csdm_kill_all 0
//关闭比赛模式
amx_matchstop
//每回合10分钟
mp_roundtime 10
=================
大家看到了吧,在这个脚本里我加上了反蹲坑插件的打开参数,因为死亡模式里吗,这个反蹲坑插件还是有用的,但是在普通模式或比赛模式里当然不能用啦.. 因此请看下边的
关闭死亡模式脚本:
// 反蹲坑插件
// 蹲坑检测 0=关闭, 1=开启 | 默认: 1
anticamping 0
// 允许蹲坑的时间上限 | 默认: 30
anticamping_time 40
// 蹲坑惩罚的方式, a=扇耳光, b=减少生命值, c=举牌子, d=心跳声, e=亮人, 可复选 | 默认:bcd
anticamping_punish_mode abcde
// 每次减少生命值的数量(如果选择了减少生命的惩罚方式) | 默认: 10
anticamping_healthpunish 10
// 向客户端显示检测的信息, 0=关闭, 1=开启 | 默认: 1
anticamping_meter 0
// 每个玩家的蹲坑限次 | 默认: 3
anticamping_camp_limit 10
// 是否自动踢出超过蹲坑限次的玩家, 1=开启, 0=关闭 | 默认: 1
anticamping_kick 1
// de_地图上是否允许防守方蹲坑, 1=开启, 0=关闭 | 默认: 1
anticamping_de_map_allow 0
//关闭死亡模式
csdm_active 0
//关闭比赛模式
amx_matchstop
//每回合3分钟
mp_roundtime 3
=============
我相信大家看明白了吧. 但是有个前提.因为服务器每次换图以后,都会重新加载 server.cfg里的参数,因此请把server.cfg里和这两个开关脚本里重复的参数去掉, 比如 mp_roundtime X 这个参数.否则的话即使换到死亡模式,每回合时间还是会变成与server.cfg设定的时间一样.
刚才我不是说过了吗,如果"当在死亡模式里,用 csdm_active 0 (打开关闭死亡模式) 参数的时候,虽然关闭了选枪菜单,但还是会在本地图随记出生" .. 这样做当然不行啦,比赛的时候随机出生,那不逗乐了????? 可是怎么办呢????我记得,每次换地图的时候脚本参数和服务器插件都是重新加载的,这也许是个关键.因此,我在userconfig.cfg里写上了如下语句:
alias d "exec csdm0.cfg; changelevel de_dust2"
alias a "exec csdm0.cfg; changelevel de_aztec"
alias c "exec csdm0.cfg; changelevel de_cbble"
alias t "exec csdm0.cfg; changelevel de_train"
alias i "exec csdm0.cfg; changelevel de_inferno"
alias n "exec csdm0.cfg; changelevel de_nuke"
alias b "exec csdm0.cfg; changelevel cs_bloodstrike"
alias dd "exec csdm1.cfg; changelevel de_dust2"
alias aa "exec csdm1.cfg; changelevel de_aztec"
alias cc "exec csdm1.cfg; changelevel de_cbble"
alias tt "exec csdm1.cfg; changelevel de_train"
alias ii "exec csdm1.cfg; changelevel de_inferno"
alias nn "exec csdm1.cfg; changelevel de_nuke"
============
解释一下: csdm0.cfgcsdm1.cfg就是刚才我说的 打开和关闭死亡模式的脚本....
这么做以后,只需要在控制台输入 rcon d ,服务器就自动换地图到de_dust2,普通模式..无反蹲坑插件..
想玩死亡模式,就在控制台输入 rcon dd服务器就自动换地图到de_dust2,并且是死亡模式...有反蹲坑插件..
我能做到的就是用脚本实现了,因为我对插件源码一点都不懂,也许有点费事,但其实很简单的..
大家有什么更好的办法实现和我的F一样的效果? 拿出来分享一下吧.
另外感谢点通那些AMX源码的高手们,是他们的辛勤汉化才有今天我的中文AMXX服务器.. 还有BoeZombie , 绝对好人一个~~
:byebye::byebye::byebye: 沙发我自己坐~~~
我还有几个事想求教各位高手,一个是 *.spr 如何更改成透明背景的????? 比如camper.spr, 背景是纯蓝色的, R G B 0 0 255 ,但是合成spr以后在cs里看,还是一个大蓝色牌子~~~~ 实在是不会了,希望高手教教我..
还有,我想改一下 anticamping_X.amxx 的源码, 让 它不调用 "camper.spr"这个东西了,让它调用" ammx.cfg" 里 "spr 路径" 可以吗??? 或者 调用其它文件名的 spr 也行. 另外,我的服务器报时插件比服务器时间快了1个小时,,,, 这是为啥? 你可以参阅 【标记玩家插件】的代码,可以在config目录建立个 相应文本文件写入你的.spr文件名就可以了.
spr你可以先用CS本身的空白背景 spr 文件保存为bmp格式 然后用PS 编辑保存
重新制作就可以了 注意看图片的色彩 256色8位逐渐细心留意自己的图片使用
那个转换spr工具的四个项目 制作测试 看看哪个才是无背景的 :)
论坛有报时插件重新下载个覆盖看看 wzf828 大爷,你说的这个 【标记玩家插件】 就是 anticamping_X.amxx 吧????
源码是 *.sma吗?? 你有 anticamping_X.sma 吗???? 非也
论坛搜索标记玩家 论坛搜索 标记玩家 ,唯一的一个帖子就是我这个帖子..... 我已经做好透明背景的spr了,谢谢828 呵呵,兄弟写出来了阿,太好了
顶!
给你加到索引里。 非也
论坛搜索标记玩家