首先介绍脚本的基本知识:
1、什么是脚本(s cript)?
我们需要在CS游戏中执行了一系列命令,执行这一系列命令有一个过程。
用一个命令把这一过程定义(alias)好,最后分配(bind)一个键位给这个命令,以后只要按分配好的键位,就可以实现这一过程。脚本(s cript)就是含有bind和alias等命令的集合,你可以把这个集合存为一个独立的文件然后在需要的时候执行,所有的脚本都是通过这一方法实现的。这样就可以方便你在CS中的使用。脚本可以存为后缀名为.cfg的文件放在cstrike文件夹下,执行时在控制台输入:
exec 脚本文件名.cfg即可。比如将以上的脚本存为buys.cfg文件,则在控制台中输入:
exec buys.cfg则可以实现我们所需要的功能。
2、什么是bind?
Bind就是分配一个命令到指定的键,它同样能够分配一个alias到指定的键。
比如:
bind "MOUSE1" "+attack"
表示分配+attack(攻击)这个命令到指定的键MOUSE1(鼠标左键)
3、什么是alias?
Alias就是给一组命令定义一个名称,当你定义过后,CS就认为此alias为一个普通的命令,你可以用bind命令分配一个键给这个alias,也可以在其他的alias中使用它。
比如:
alias hw "say Hello World!"
则当你在控制台(console)中输入hw这条命令回车执行后你就对服务器里所有的玩家说了Hello
World!这句话,你还可以用bind命令:
bind v "hw"当你按过v键后你同样对服务器里所有的玩家说了Hello World!这句话。
又比如:
alias buym "buy;menuselect 3;menuselect 1"
alias buyv "buy;menuselect 8;menuselect 1"
alias buysay "buym;buyv;hw"
bind j "buysay"
则表示当你执行buysay命令(如按下由bind分配好的j键)后购买MP5和普通防弹衣然后对服务器里所有的玩家说Hello World!这句话。
此alias实现的方法为:
第一步执行buym命令,buym命令已经定义好为"打开购买菜单;选择菜单第3项;再选择菜单第1项"即实现了购买MP5的功能。
第二步执行buyv命令,buyv命令已经定义好为"打开购买菜单;选择菜单第8项;再选择菜单第1项"即实现了购买普通防弹衣的功能。
第三步执行之前已经定义好的hw命令:对服务器里所有的玩家说Hello World!这句话。
把这三步命令定义为一个新的命令buysay然后用bind命令分配一个键(此处为j键)给这个alias(此处为buysay)则当你按下j键后就实现了这三步命令的功能。
注意:alias语句不能超过259个字符或下面这行字符的长度在Half-Life:Counter-Strike里:
4、脚本的分类:
基本式脚本 购买式脚本 开关式脚本 循环式脚本
按下&松开式脚本 按下&松开的开关式脚本 变位分配式脚本
a、基本式脚本:
在脚本文件中//作用为注释,CS系统不会执行//后的文字。如在脚本中加入:
// 单身的至尊宝制作
系统并不会管理这行文字而是忽略掉//及之后的文字。
在脚本文件中" "作用为alias的开始和结束标志。
在脚本文件中;的作用是分开两条命令语句。
首先你必须了解developer这一命令这是关于调试信息的命令:在控制台输入developer
1后所有载控制台中显示的信息都会在游戏的屏幕上显示出来。相反输入developer
0则关闭显示信息。注意:这些信息只是你本身的客户端能看到,并不会发送的其他的玩家那里。
比如我想要在屏幕的上方显示This s cript Edited by
Nick这条信息,可以在控制台中用命令echo This s cript Edited by
Nick实现,但在游戏时是不可能看得到的(被控制台挡住了)怎样实现呢?我们可以用一个alias脚本实现:
alias nick "developer 1; echo This s cript Edited by Nick;developer 0"
然后bind v "nick" 关闭/隐藏控制台后在你按下v键后屏幕的上方就会显示This s cript
Edited by Nick这条信息。
其次你可以使用alias语句使一些系统默认的命令简化,如:
alias dvon "developer 1"
alias dvoff "developer 0"
则上一条脚本可以简化成:
alias nick "dvon; echo This s cript Edited by Nick;dvoff"
这对我们编辑较长的脚本时十分有用。
wait命令在脚本中也是十分常用的,它的作用是在执行脚本时做一个极小的暂停,当你的延迟情况不是很严重时可以只使用几个wait命令,当你的延迟情况比较糟糕时可以多用几个wait命令来使你的脚本得以完整/正确的执行。如:
alias clmenu "wait;wait;wait;slot10"
这条命令是用来清除屏幕上的菜单信息的,在开头的买木仓脚本中买完木仓后并没有清除购买菜单我们需要按0键来清除菜单,而如果使用了这里的clmenu命令则可以清除购买菜单,slot10的功能就是选择菜单上的0项。而前面的几个wait命令就是为了防止由网络延迟引起的系统忽略了slot10这条命令,还可以更保险一些把clmenu命令写成:
alias clmenu "wait;wait;wait;slot10;wait;wait;slot10"选两次0项来清除购买菜单。
如果你需要较多的延迟也可以写出下面的命令:
alias w1
"wait;wait;wait;wait;wait;wait;wait;wait;wait;wait"然后在需要时用w1命令代替wait命令。
b、购买式脚本:
首先了解购买式脚本的基本命令:
buy 打开武器购买菜单
buyequip 打开装备购买菜单
menuselect x 从菜单中选择项目x
buyammo1 购买一个弹夹的主武器子弹。默认为,键。
buyammo2 购买一个弹夹的手木仓子弹。默认为.键。
其次做一些准备工作:
file://------------------------------------------
file://| 设置买子弹、清除菜单等功能 |
file://------------------------------------------
alias nick "dvon; echo This s cript Edited by Nick; dvoff"
alias dvon "developer 1"
alias dvoff "developer 0"
alias "clmping" "clmenu400"
file://在控制台中输入clmping即可切换ping值高和低时清除菜单的速度
alias "clmenu400" "alias clmping
clmenu;wait;wait;wait;wait;slot10;wait;wait;wait;wait;wait;slot10;wait;wait;wait;wait;slot10;wait;wait;wait;wait;slot10;wait;wait;wait;wait;slot10;wait;wait;wait;wait;slot10;wait;wait;wait;wait;slot10"//选择菜单上的项目0,清除菜单(ping值>400时使用)
alias "clmenu" "alias clmping
clmenu400;wait;wait;wait;slot10;wait;wait;slot10"//选择菜单上的项目0,清除菜单(ping值<50时使用)
alias "fammo" "buy; menuselect 6; buy; menuselect 7;"//买满主武器和手木仓的弹夹,满的所有弹夹
alias "wammo" "buy; menuselect 6;"//买满主武器的弹夹
alias "sammo" "buy; menuselect 7;"//买满手木仓的弹夹
alias "b1" "buyammo1;"//1个主弹夹
alias "b2" "buyammo1; buyammo1;"//2个主弹夹
alias "b3" "buyammo1; buyammo1; buyammo1; "file://3个主弹夹
alias "b4" "buyammo1; buyammo1; buyammo1; buyammo1;"//4个主弹夹
alias "b5" "buyammo1; buyammo1; buyammo1; buyammo1; buyammo1;"//5个主弹夹
alias "b6" "buyammo1; buyammo1; buyammo1; buyammo1; buyammo1;
buyammo1;"//6个主弹夹
alias "b7" "buyammo1; buyammo1; buyammo1; buyammo1; buyammo1; buyammo1;
buyammo1;"//7个主弹夹
alias "b8" "buyammo1; buyammo1; buyammo1; buyammo1; buyammo1; buyammo1;
buyammo1; buyammo1"//8个主弹夹
alias "b9" "buyammo1; buyammo1; buyammo1; buyammo1; buyammo1; buyammo1;
buyammo1; buyammo1; buyammo1;"//9个主弹夹
alias "bs1" "buyammo2;"//1个手木仓弹夹
alias "bs2" "buyammo2; buyammo2;"//2个手木仓弹夹
alias "bs3;" "buyammo2; buyammo2; buyammo2;"//3个手木仓弹夹
alias "bs4" "buyammo2; buyammo2; buyammo2; buyammo2;"//4个手木仓弹夹
alias "bs5" "buyammo2; buyammo2; buyammo2; buyammo2; buyammo2;"//5个手木仓弹夹
这些alias使脚本编写时变得更方便也更简洁。
然后开始编写购买脚本:
file://-----------------------------
file://| 一键买木仓 |
file://-----------------------------
alias "ak/m4" "buy;menuselect 4;menuselect 1;buy;menuselect 4;menuselect
3;fammo;clmenu;say_team I am Take [Kalashnikov AK-47/Colt M4A1 Carbine]"
file://买AK47/M4A1和所有子弹
alias "sg552/aug" "buy;menuselect 4;menuselect 2;buy;menuselect 4;menuselect
4;fammo;clmenu;say_team I am Take [SG552 Commando/Steyr Aug]"
file://买SG552/Aug和所有子弹
alias "awp" "buy;menuselect 4;menuselect 6;fammo;clmenu;say_team I am Take
[AWM/P]" file://买AWM/P和所有子弹
alias "g3/sg550" "buy;menuselect 4;menuselect 7;buy;menuselect 4;menuselect
8;fammo;clmenu;say_team I am Take [G3SG-1/SG-550 Sniper Rifle]"
file://买G3SG-1/SG550和所有子弹
alias "mp5" "buy;menuselect 3;menuselect 1;fammo;clmenu;say_team I am Take [H&K
MP5 Navy]" file://买MP5和所有子弹
alias "TMP/Mac" "buy;menuselect 3;menuselect 2;buy;menuselect 3;menuselect
4;fammo;clmenu;say_team I am Take [Steyr TMP/Ingram MAC-10]"
file://买TMP/Mac-10和所有子弹
alias "p90" "buy;menuselect 3;menuselect 3;fammo;clmenu;say_team I am Take [FN
P90]" file://买P90和所有子弹
alias "ump45" "buy;menuselect 3;menuselect 5;fammo;clmenu;say_team I am Take
[UMP45]" file://买UMP45和所有子弹
alias "m3" "buy;menuselect 2;menuselect 1;fammo;clmenu;say_team I am Take [M3
Super 90 Entry]" file://买M3和所有子弹
alias "xm1014" "buy;menuselect 2;menuselect 2;fammo;clmenu;say_team I am Take
[XM 1014]" file://买xm1014和所有子弹
alias "m249" "buy;menuselect 5;menuselect 1;fammo;clmenu;say_team I am Take [FN
M249 Para]" file://买M249和所有子弹
alias "scout" "buy;menuselect 4;menuselect 5;fammo;clmenu;say_team I am Take
[Scout]" file://买scout和所有子弹
alias "usp" "buy;menuselect 1;menuselect 1;fammo;clmenu;say_team I am Take
[USP.45ACP Tactical]" file://买usp和所有子弹
alias "glock" "buy;menuselect 1;menuselect 2;fammo;clmenu;say_team I am Take
[Glock 18C]" file://买glock和所有子弹
alias "deagle" "buy;menuselect 1;menuselect 3;fammo;clmenu;say_team I am Take
[Desert Eagle .50AE]" file://买Desert Eagle .50AE沙漠之鹰和所有子弹
alias "p228" "buy;menuselect 1;menuselect 4;fammo;clmenu;say_team I am Take [Sig
P228]" file://买P228和所有子弹
alias "elite/57" "buy;menuselect 1;menuselect 5;buy;menuselect 1;menuselect
6;fammo;clmenu;say_team I am Take [FN Five-Seven/Dual 96G Elite Beretta's]"
file://买elite/57和所有子弹
file://-----------------------------
file://| 一键买装备| file://-----------------------------
alias "armour" "buyequip;menuselect 1;clmenu;say_team I am Buy [Kevlar Vest]"
file://买防弹衣
alias "bh-armour" "buyequip;menuselect 2;clmenu;say_team I am Buy [Kevlar Vest &
Helmet]" file://买防弹衣和头盔
alias "n-g" "buyequip;menuselect 7;clmenu;say_team I am Buy [NightVision
Goggles]" file://买夜视仪
alias "flashbang" "buyequip;menuselect 3;buyequip;menuselect 3;clmenu;say_team I
am Buy [Flashbang]" file://买闪光弹
alias "HE-ge" "buyequip;menuselect 4;clmenu;say_team I am Buy [HE Grenade]"
file://买高爆手雷
alias "sm-ge" "buyequip;menuselect 5;clmenu;say_team I am Buy [Smoke Grenade]"
file://买烟雾弹
alias "defuser" "buyequip;menuselect 6;clmenu;say_team I am Take [Defuse Kit]"
file://买拆弹器
file://-----------------------------
file://| 打包购买|
file://-----------------------------
alias "SMG1" "buyequip;menuselect 1;buy;menuselect 3;menuselect
1;wammo;buyequip;menuselect 4; clmenu;say_team I am Buy [MP5 value
Pack]"//买防弹衣MP5、满的主弹夹、和手雷
alias "SMG1F" "buyequip;menuselect 2;buy;menuselect 3;menuselect
1;wammo;buyequip;menuselect 4;buy;menuselect 1;menuselect 3;
sammo;buyequip;menuselect 3;buyequip;menuselect 6;buyequip;menuselect
3;buyequip;menuselect 5; clmenu;say_team I am Buy [MP5 Navy Full
Pack]"//买防弹衣和头盔、MP5、Desert Eagle
.50AE沙漠之鹰、满的所有弹夹和三种手雷、拆弹器
alias "AR1" "buyequip;menuselect 2;buy;menuselect 4;menuselect 3;buy;menuselect
4;menuselect 1;wammo;buyequip;menuselect 4;buyequip;menuselect
3;buyequip;menuselect 6;buyequip;menuselect 3;clmenu;say_team I am Buy
[M4A1/AK47 Normal
Pack]"//买防弹衣和头盔、M4A1或AK47、满的主弹夹、手雷和2个闪光弹、拆弹器
alias "AR1F" "buyequip;menuselect 2;buy;menuselect 4;menuselect 3;buy;menuselect
4;menuselect 1;wammo;buyequip;menuselect 4;buyequip;menuselect
3;buyequip;menuselect 6;buy;menuselect 1;menuselect 3;buyequip;menuselect
3;sammo;clmenu;say_team I am Buy [M4A1/AK47 Full
Pack]"//买防弹衣和头盔、M4A1或AK47、沙漠之鹰、满的所有弹夹、手雷和2个闪光弹、拆弹器
alias "ARA1" "buyequip;menuselect 1;buy;menuselect 4;menuselect 4;buy;menuselect
4;menuselect 2;wammo;buyequip;menuselect 4;buyequip;menuselect
3;buyequip;menuselect 6; clmenu;say_team I am Buy [SG552/Aug Normal
Pack]"//买防弹衣、SG552或Aug、满的主弹夹、手雷和1个闪光弹、拆弹器
alias "ARA1F" "buyequip;menuselect 2;buy;menuselect 4;menuselect
4;buy;menuselect 4;menuselect 2;wammo;buyequip;menuselect 4;buy;menuselect
1;menuselect 3;bs2;buyequip;menuselect 3;buyequip;menuselect
6;buyequip;menuselect 3;clmenu;say_team I am Buy [SG552/Aug Full
Pack]"//买防弹衣和头盔、SG552或Aug、满的主弹夹、沙漠之鹰、2个手木仓弹夹、手雷和2个闪光弹、拆弹器
alias "SNFS" "buyequip;menuselect 1;buy;menuselect 4;menuselect
6;wammo;buyequip;menuselect 4; clmenu;say_team I am Buy [AWM/P value
Pack]"//买防弹衣、AWM/P、满的主弹夹、手雷
alias "SNFF" "buyequip;menuselect 2;buy;menuselect 4;menuselect
6;wammo;buy;menuselect 1;menuselect 3;sammo;buyequip;menuselect
4;buyequip;menuselect 3;buyequip;menuselect 6;buyequip;menuselect
3;buyequip;menuselect 5; clmenu;say_team I am Buy [AWM/P Full
Pack]"//买防弹衣和头盔、AWM/P、沙漠之鹰、满的所有弹夹、和三种手雷、拆弹器
alias +metabuy "bind DEL SMG1F;bind END AR1F;bind PGDN SNFF;bind HOME
ARA1F"//变位购买增强包
alias -metabuy "bind DEL SMG1;bind END AR1;bind PGDN SNFS;bind HOME
ARA1"//还原变位购买普通包
以后把此脚本存为一个.cfg文件,然后在autoexec.cfg文件里调用(exec
文件名.cfg)在cstrike\gfx\shell\kb_act.lst做好预留键位,即可。此后就可以在CS的键盘设置中设好相应的键位,在游戏中就可以实现一键买木仓的功能了。此脚本除了买木仓之外还会通知你的队友你买木仓或的类型、或你在战斗途中拣到木仓后也可以用此功能来通知你的队友你的木仓的类型(由say_team命令实现),这在团队比赛时十分有用。
买木仓脚本的实现实际上就是打开菜单->选择要购买木仓支/装备的类型->再选择要购买的项目->关闭菜单这一过程。