搜索
查看: 9914|回复: 30

【分享】【原创】我做的"普通>比赛>死亡"3合一的F

[复制链接]
发表于 2005-6-18 10:46:45 | 显示全部楼层 |阅读模式 来自 中国–河北–唐山
: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.cfg  csdm1.cfg  就是刚才我说的 打开和关闭死亡模式的脚本....

这么做以后,只需要在控制台输入 rcon d ,服务器就自动换地图到de_dust2,普通模式..无反蹲坑插件..
想玩死亡模式,就在控制台输入 rcon dd  服务器就自动换地图到de_dust2,并且是死亡模式...有反蹲坑插件..


我能做到的就是用脚本实现了,因为我对插件源码一点都不懂,也许有点费事,但其实很简单的..

大家有什么更好的办法实现和我的F一样的效果? 拿出来分享一下吧.


另外感谢点通那些AMX源码的高手们,是他们的辛勤汉化才有今天我的中文AMXX服务器.. 还有  BoeZombie , 绝对好人一个~~

:byebye:  :byebye:  :byebye:
 楼主| 发表于 2005-6-18 10:54:24 | 显示全部楼层 来自 中国–河北–唐山
沙发我自己坐~~~

我还有几个事想求教各位高手,一个是 *.spr 如何更改成透明背景的????? 比如camper.spr, 背景是纯蓝色的, R G B 0 0 255 ,但是合成spr以后在cs里看,还是一个大蓝色牌子~~~~ 实在是不会了,希望高手教教我..

还有,我想改一下 anticamping_X.amxx 的源码, 让 它不调用 "camper.spr"这个东西了,让它调用" ammx.cfg" 里 "spr 路径" 可以吗??? 或者 调用其它文件名的 spr 也行.
回复

使用道具 举报

 楼主| 发表于 2005-6-18 11:11:16 | 显示全部楼层 来自 中国–河北–唐山
另外,我的服务器报时插件比服务器时间快了1个小时,,,, 这是为啥?
回复

使用道具 举报

发表于 2005-6-18 11:14:14 | 显示全部楼层 来自 中国–河南–安阳
你可以参阅 【标记玩家插件】的代码,可以在config目录建立个 相应文本文件写入你的.spr文件名就可以了.

spr你可以先用CS本身的空白背景 spr 文件保存为bmp格式 然后用PS 编辑保存
重新制作就可以了 注意看图片的色彩 256色8位  逐渐细心留意自己的图片使用
那个转换spr工具的四个项目 制作测试 看看哪个才是无背景的 :)

论坛有报时插件重新下载个覆盖看看

本帖子中包含更多资源

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

×
回复

使用道具 举报

 楼主| 发表于 2005-6-18 11:22:01 | 显示全部楼层 来自 中国–河北–唐山
wzf828 大爷,你说的这个 【标记玩家插件】 就是 anticamping_X.amxx 吧????
源码是 *.sma  吗??   你有 anticamping_X.sma 吗????
回复

使用道具 举报

发表于 2005-6-18 11:34:37 | 显示全部楼层 来自 中国–河南–安阳
非也

论坛搜索标记玩家
回复

使用道具 举报

 楼主| 发表于 2005-6-18 11:58:20 | 显示全部楼层 来自 中国–河北–唐山
论坛搜索 标记玩家 ,唯一的一个帖子就是我这个帖子.....
回复

使用道具 举报

 楼主| 发表于 2005-6-18 11:59:03 | 显示全部楼层 来自 中国–河北–唐山
我已经做好透明背景的spr了,谢谢828
回复

使用道具 举报

发表于 2005-6-18 12:44:56 | 显示全部楼层 来自 中国–北京–北京–海淀区
呵呵,兄弟写出来了阿,太好了

顶!

给你加到索引里。
回复

使用道具 举报

发表于 2005-6-18 13:08:19 | 显示全部楼层 来自 中国–河南–安阳
非也

论坛搜索标记玩家
回复

使用道具 举报

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

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