CS > 战术解析 > 各种脚本解释全解

各种脚本解释全解

06-06-14 21:28 来源:52PK新闻采集 作者:璐琦姗姗 相关文章

首先介绍脚本的基本知识:

什么是bind?
Bind就是分配一个命令到指定的键,它同样能够分配一个alias到指定的键。
比如:
bind "MOUSE1" "+attack"
表示分配+attack(攻击)这个命令到指定的键MOUSE1(鼠标左键)

什么是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里:
"------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"

什么是脚本(Script)?
脚本(Script)就是含有bind和alias等命令的集合,你可以把这个集合存为一个独立的文件然后在需要的时候执行,这样就可以方便你在CS中的使用。脚本可以存为后缀名为.cfg的文件放在cstrike文件夹下,执行时在控制台输入:
exec 脚本文件名.cfg即可。比如将以上的脚本存为buys.cfg文件,则在控制台中输入:
exec buys.cfg则可以实现我们所需要的功能。
比如:我们执行了一系列命令,执行这一系列命令有一个过程。
用一个命令把这一过程定义(alias)好,最后分配(bind)一个键位给这个命令,以后只要按分配好的键位,就可以实现这一过程。所有的脚本都是通过这一方法实现的。


所有可以用Bind命令设定的键位:

字母键
ABCDEFGHIJKLMNOPQRSTUVWXYZ


数字键
1234567890


鼠标键
MOUSE1 MOUSE2 MOUSE3 MOUSE4 AUX5 AUX6

MWHEELUP MWHEELDOWN


手柄键
JOY1 JOY2 JOY3 JOY4 AUX5 AUX6


特殊键
Ente rSpace Shift Ctrl Pause

Alt Backspace Tab Escape



功能键
F1 F2 F3 F4 F5 F6

F7 F8 F9 F10 F11 F12


编辑键
Ins
Del
Home
End
Pgdn
Pgup



方向键
Leftarrow
Rightarrow
Uparrow
Downarrow





小键盘键
kp_leftarrow
kp_del
kp_end
kp_downarrow
kp_pgup
kp_ins
kp_5
kp_plus


kp_uparrow
kp_enter
kp_pgdn
kp_rightarrow
kp_slash
kp_minus
kp_home


其他键
,
.
/

;
'
*
[
]
-
=
~


注意:小键盘上我们使用kp_end、kp_downarrow等等键位名称代替数字键名Num 1、Num 2,其他类似。



所有可以设定的命令/变量

命令/变量的名称 服务端/客户端使用 基本的设定种类 注释
+attack 客户端 玩家 攻击
+attack2 客户端 玩家 特殊攻击/功能(如开瞄准镜、单倍放大等等)
+back 客户端 玩家 退后
+duck 客户端 玩家 蹲下
+forward 客户端 玩家 前进
+jump 客户端 玩家 跳跃
+klook 客户端 玩家 用键盘看
+left 客户端 玩家 向左转
+lookdown 客户端 玩家 向下看
+lookup 客户端 玩家 向上看
+mlook 客户端 鼠标 用鼠标看
+movedown 客户端 玩家 向下移动(如爬梯子、游泳)
+moveleft 客户端 玩家 向左平移
+moveright 客户端 玩家 向右平移
+moveup 客户端 玩家 向上移动(如爬梯子、游泳)
+reload 客户端 玩家 换子弹
+right 客户端 玩家 向右转
+showscores 客户端 玩家 显示玩家的分数和Ping值
+speed 客户端 玩家 让玩家走路如果奔跑时;奔跑如果走路时
+strafe 客户端 玩家 平移键
+use 客户端 玩家 使用键(拆炸弹、救人质等等)
adjust_crosshair 客户端 玩家 改变准星颜色
alias "cmd1; cmd2" 客户端 玩家 定义命令批量处理变量
allowupload 客户端 上传/下载 是否允许上传本地的文件到服务器。
ambient_fade 100 客户端 音频 设定周围声音多远距离消失
ambient_level 0.300 客户端 音频 设定周围声音的等级
appenddemo 客户端 demo 在该录像文件后继续录像,不覆盖原录像
bind 客户端 玩家 设定键位用于执行命令
bottomcolor 6 客户端 玩家 设定玩家人物模型的底部颜色
brightness 1 客户端 视频 设定亮度
buy 客户端 玩家 打开购买武器菜单
buyequip 客户端 玩家 打开购买装备菜单
buyammo1 客户端 玩家 买主弹药
buyammo2 客户端 玩家 买手枪弹药
cancelselect 客户端 玩家 取消选择
changeteam 客户端 玩家 打开队伍选择菜单
cl_allowdownload 0 客户端 上传/下载 客户端是否允许下载
cl_allowupload 0 客户端 上传/下载 客户端是否允许上传
cl_anglespeedkey 0.670 客户端 玩家 设定方向键改变视角的速度
cl_backspeed 400 客户端 玩家 客户端设定后退的速度
cl_bob 0.010 客户端 玩家 客户端设定奔跑时手臂摆动的幅度
cl_bobcycle 0.800 客户端 玩家 客户端设定奔跑时手臂摆动的频率
cl_bobup 0.500 客户端 玩家 客户端设定奔跑时手臂摆动的范围
cl_download_ingame 0 客户端 上传/下载 客户端设定是否允许在游戏里下载
cl_forwardspeed 400 客户端 玩家 客户端设定前进的速度
cl_gaitestimation 1 客户端 玩家 开启估计玩家的运动步幅
cl_gg 0 客户端 玩家 开关游戏的标准模式
cl_himodels 客户端 玩家 客户端设定是否允许使用高质量模型
cl_messages 客户端 玩家 客户端设定显示服务器信息
cl_movespeedkey 0.300 客户端 玩家 设定键盘移动速度
cl_nopred 0 客户端 玩家 开关玩家的预先选择
cl_pitchdown 客户端 玩家 设定玩家向下看的最大角度,默认:89
cl_pitchspeed 225 客户端 玩家 设定角速度
cl_pitchup 客户端 玩家 设定玩家向上看的最大角度,默认:89
cl_showfps 1 客户端 玩家 显示你的FPS值
cl_shownet 0 客户端 玩家 显示你的网络传输包值
cl_slist 10 客户端 玩家 设定列出的服务器个数
cl_solid_players 1 客户端 玩家 开关固定玩家模型
cl_upspeed 320 客户端 玩家 设定向上移动(如爬梯子、游泳)的速度
cl_waterdist 4 客户端 玩家 设定在水下最深所能到达的距离
cl_yawspeed 210 客户端 玩家 设定转身的速度(由服务器最大值设定)
clear 客户端 玩家 清除控制台上的信息
cmd 客户端 玩家 执行命令
cmdlist 客户端/服务端 所有 列出所有命令
connect 客户端 玩家 连接到服务器用输入IP的方式
cvarlist 客户端/服务端 所有 列出所有变量
developer 0 客户端 开发者 开关调试信息
disconnect 客户端 玩家 从服务器上断开连接
drawradar 客户端 玩家 显示雷达
drop 客户端 玩家 扔掉当前武器/装备
echo "message" 客户端 玩家 显示"message"中的文字信息
enableconsole 客户端 玩家 允许控制台
escape 客户端 玩家 取消键
exec 客户端/服务端 所有 执行一个脚本文件
exit 客户端/服务端 所有 退出游戏
fakelag 0 客户端 玩家 模拟Lag延迟
fakeloss 0 客户端 玩家 模拟Loss网络丢包
force_centerview 客户端 玩家 强制玩家回到正前方的视角
fps_lan 客户端 玩家 设定局域网游戏中的最大FPS值
fps_modem 客户端 玩家 设定互联网游戏中的最大FPS值
fps_single 客户端 玩家 设定单人游戏中的最大FPS值
fullinfo 客户端 玩家 显示用户信息
fullserverinfo 客户端 玩家 显示服务器信息
gamma 3 客户端 视频 设定gamma亮度值
getcertificate 客户端 玩家 从www.WON.net上获取CD-Key认证
getsv 客户端 玩家 列出服务器的IP地址和服务器的总数
gl_alphamin 0.250 客户端 视频 设定最小alpha混合等级
gl_clear 0 客户端 视频 开关对画面上各个模型连接的部分的连贯渲染
gl_cull 1 客户端 视频 是否只对可以看到的画面进行渲染
gl_d3dflip 0 客户端 视频 在Direct3D模式中开关反向渲染命令
gl_dither 1 客户端 视频 开关颜色抖动
gl_dump 客户端 视频 列出显卡的信息
gl_flipmatrix 0 客户端 视频 开关特殊的准星修正当适用3DNow和3D fx Mini OpenGL驱动时
gl_keeptjunctions 0 客户端 视频 开关显示材质间的缝隙
gl_lightholes 0 客户端 视频 光洞效果开关
gl_max_size 256 客户端 视频 贴图材质的最大解析度
gl_monolights 0 客户端 视频 开关统一光源(无阴影)OpenGL适用
gl_overbright 0 客户端 视频 开关最大亮度模式
gl_palette_tex 0 客户端 视频 开关调色贴图值、材质
gl_picmip 0 客户端 视频 环境贴图效果(0-3)
gl_playermip 0 客户端 视频 玩家模型的贴图效果(0-3)
gl_polyoffset 4 客户端 视频 设定多边形补偿
gl_round_down 3 客户端 视频 设定材质循环
gl_smoothmodels 0 客户端 视频 玩家模型光滑处理开关
gl_spriteblend 0 客户端 视频 开关子画面混合
gl_texels 客户端 视频 报告传输到显卡的texel数量
gl_texsort 0 客户端 视频 开关一个texel的种类
gl_texturemode [type] 客户端 视频 设定渲染模式[type]的类型: gl_nearest_mipmap_nearest, gl_linear_mipmap_nearest (这两个进行双线性过滤处理)和 gl_nearest_mipmap_linear, gl_linear_mipmap_linear (这两个进行三线性过滤处理)
gl_zmax 4096 客户端 视频 设定Z-Buffer缓存的最大值
gl_ztrick 1 客户端 视频 开关3D fx的加速渲染模式
graphheight 64 客户端 玩家 设定r_netgraph的显示高度
graphhigh 512 客户端 玩家 设定r_netgraph显示的最大值
graphmean 1 客户端 玩家 设定r_netgraph显示的平均值
graphmedian 128 客户端 玩家 设定r_netgraph显示的中间值
hideconsole 客户端 玩家 隐藏控制台
hideradar 客户端 玩家 隐藏雷达
hisound 1 客户端 音频 是否使用高品质音频
hud_centerid 0 客户端 玩家 是否在屏幕中间显示玩家的ID名字
hud_fastswitch 0 客户端 玩家 是否快速切换武器
hud_saytext_time 5 客户端 玩家 设定文字在屏幕上停留的时间
impulse 100 客户端 玩家 开关战术手电
impulse 201 客户端 玩家 喷图
lastinv 客户端 玩家 切换到上一次使用的武器
invnext 客户端 玩家 切换到下一种武器
invprev 客户端 玩家 切换到上一种武器
kill 客户端 玩家 在游戏中自杀
lightgamma 2.500 客户端 视频 设定光线的gamma值
listdemo 客户端 demo 列出录像的信息
lookspring 0 客户端 鼠标 开关自动回复视角到中心当mlook关闭时
lookstrafe 0 客户端 鼠标 开关鼠标平移当mlook开启时
m_filter 0 客户端 鼠标 开关鼠标调整(使移动平滑)
m_forward 客户端 鼠标 设定鼠标向前时的递增灵敏度
m_pitch 0.022 客户端 鼠标 设定鼠标上下移动时的递增灵敏度
m_side 0.800 客户端 鼠标 设定鼠标平移时的递增灵敏度
m_yaw 0.022 客户端 鼠标 设定鼠标偏转时的递增灵敏度
menuselect 客户端 玩家 从菜单中选择项目
messagemode 客户端 玩家 对服务器上的所有玩家发文字信息
messagemode2 客户端 玩家 对队友发文字信息
motd 客户端 玩家 显示服务器上的motd.txt文件内容信息
name 客户端 玩家 玩家改ID名字
net_graph 1 客户端 玩家 显示网络速度图形(0-3)
nosound 0 客户端 音频 开关声音
pingsv 客户端 玩家 ping一个服务器
play 客户端 音频 播放一个指定的.wav文件
playdemo 客户端 demo 使用正常速度,播放录像
playvol 9 客户端 demo 设置录像播放的次数
pushlatency -100 客户端 玩家 设定这个数字来抵消你的ping值以帮助你的反应时间
quit 客户端/服务端 所有 退出游戏
r_decals 250 客户端 玩家 设定最大的细节数据
r_drawviewmodel 0 客户端 玩家 是否显示武器模型
r_dynamic 0 客户端 视频 动态光影效果开关
r_mmx 0 客户端 玩家 开关CPU的MMX支持
radio1 客户端 玩家 打开语音信息菜单1
radio2 客户端 玩家 打开语音信息菜单2
radio3 客户端 玩家 打开语音信息菜单3
r_netgraph 0 客户端 玩家 开关网络情况图形显示
rate 5000 客户端 玩家 设定客户端的数据速率1000-5000互联网上的10000局域网上的
reconnect 客户端 玩家 重新连接到当前的服务器
record 客户端 demo 录制demo录像
retry 客户端 玩家 重试4次连接到当前已连接失败的服务器
s_2dvolume 1 客户端 音频 设定在2D声音中的最大音量(0-1.0)
s_a3d 0 客户端 音频 开关A3D的支持
s_automax_distance 30 客户端 音频 设定最大距离的音量
s_automin_distance 2 客户端 音频 设定最小距离的音量
s_bloat 2.0 客户端 音频 多边形的膨胀因素A3D2.0适用
s_buffersize 65536 客户端 音频 设定缓冲的大小
s_disable_a3d 0 客户端 音频 开关屏蔽A3D的功能
s_distance 60 客户端 音频 调整声音发声的距离(0-n)
s_doppler 0.0 客户端 音频 调整doppler(0-10)
s_eax 0 客户端 音频 开关EAX支持
s_enable_a3d 客户端 音频 打开A3D支持
s_geometry 0 客户端 音频 开关声音的几何渲染A3D2.0适用
s_max_distance 1000 客户端 音频 声源到听众的最大距离('s_min_distance'-n)
s_min_distance 5 客户端 音频 声源到听众的最小距离(0-'s_max_distance')
s_numpolys 200 客户端 音频 最大的声音反射多边形值A3D2.0适用(0-n)
s_occfactor 0.250 客户端 音频 金属传递声音的值(0-1.0)
s_occlude 0 客户端 音频 开关声音通过金属时的声音A3D2.0适用
s_refdelay 4 客户端 音频 声源到达最近的反射面的延迟A3D2.0适用(0-100)
s_refgain 0.4 客户端 音频 设定声音随着距离远近的反射强度A3D2.0适用(0-10)
s_verbwet 0.25 客户端 音频 控制混合回响的干湿度A3D适用(0-1.0)
say "message" 客户端 玩家 与当前服务器里的所有玩家交谈
say_team "message" 客户端 玩家 与前服务器里的队友交谈
scr_centertime 2 客户端 玩家 设定服务器信息在屏幕上停留的时间
scr_conspeed 600 客户端 玩家 设定控制台的卷动速度
scr_printspeed 7 客户端 玩家 设定屏幕上的打字速度
screenshot 客户端 玩家 抓图
sensitivity 9 客户端 鼠标 设定鼠标的速度
serverinfo 客户端 玩家 显示服务器信息
setdemoinfo info 客户端 demo 增加一个录像信息,例如一段文字,渐进渐出或者快进快退
setinfo 客户端 玩家 设定信息
showbriefing 客户端 玩家 显示当前地图的简报
showinfo 0 客户端 玩家 是否显示信息
showpackets 0 客户端 玩家 是否显示网络传输包信息
showpause 0 客户端 玩家 是否显示暂停的文字信息
showram 0 客户端 玩家 是否显示可用的内存信息
sizedown 客户端 玩家 缩小屏幕提高FPS值
sizeup 客户端 玩家 增大屏幕降低FPS值
slot1 客户端 玩家 选择 1
slot2 客户端 玩家 选择 2
slot3 客户端 玩家 选择 3
slot4 客户端 玩家 选择 4
slot5 客户端 玩家 选择 5
slot6 客户端 玩家 选择 6
slot7 客户端 玩家 选择 7
slot8 客户端 玩家 选择 8
slot9 客户端 玩家 选择 9
slot10 客户端 玩家 选择 10
snapshot 客户端 玩家 抓图
speak 客户端 玩家 使用对讲机/麦克风说话
startdemos 客户端 demo 开始循环播放一段demo录像
stop 客户端 demo 停止录制录像
stopdemo 客户端 demo 停止播放录像
stopsound 客户端 音频 停止播放当前声音
swapdemo 客户端 demo 交换录像中两处片断位置
timedemo 客户端 demo 播放一段录像,同时显示最大fps及返回平均fps(测试显卡时使用)
toggleconsole 客户端 玩家 开关控制台
topcolor 30 客户端 玩家 设定玩家人物模型的顶部颜色
unbind 客户端 玩家 取消到某键的bind
unbindall 客户端 玩家 取消到所有键的bind
use 客户端 玩家 使用装备或武器
vid_config_x 800 客户端 视频 设定屏幕的水平分辨率
vid_config_y 600 客户端 视频 设定屏幕的垂直分辨率
vid_d3d 0 客户端 视频 开关Direct3D模式的支持
vid_describemode 客户端 视频 显示视频模式的设定
vid_mode 0 客户端 视频 设定视频模式
vid_nopageflip 0 客户端 视频 开关屏蔽视频页面翻动
vid_wait 0 客户端 视频 视频同步(sync)开关
viewframe 客户端 视频 打开wire-frame显示-只适用OpenGL显示模式
violence_ablood 0 客户端 玩家 开关血渍的显示
volume 1.0 客户端 音频 设定游戏中的音量(0-1.0)
weapon_ 客户端 玩家
手枪- glock18/usp/deagle/p228/elite/fiveseven
冲锋枪- mp5navy/p90/tmp/mac10/ump45
突击步枪- ak47/sg552/m4a1/aug 霰弹枪- m3/xm1014
狙击步枪- scout/awp/g3sg1/sg550 重机枪- m249
其他装备- c4/knife 手雷-flashbang/hegrenade/smokegrenade
这些可以直接选中你所选的武器/装备
wait 客户端 玩家 一个极小的暂停,用来执行脚本。



购买式脚本:

首先了解购买式脚本的基本命令:
buy 打开武器购买菜单
buyequip 打开装备购买菜单
menuselect x 从菜单中选择项目x
buyammo1 购买一个弹夹的主武器子弹。默认为,键。
buyammo2 购买一个弹夹的手枪子弹。默认为.键。

其次做一些准备工作:

//------------------------------------------
//| 设置买子弹、清除菜单等功能 |
//------------------------------------------

alias nick "dvon; echo This Script Edited by Nick; dvoff"
alias dvon "developer 1"
alias dvoff "developer 0"

//在控制台中输入clmping即可切换ping值高和低时清除菜单的速度

alias "clmping" "clmenu400"

//选择菜单上的项目0,清除菜单(ping值>400时使用)
alias "clmenu400" "alias clmping clmenu;wait;wait;wait;wait;slot10;wait;slot10;wait;slot10;wait;slot10"
//选择菜单上的项目0,清除菜单(ping值选择要买的枪/装备的类型->再选择要购买的项目->关闭菜单这一过程。



开关式脚本:

开关式脚本的格式为:
alias "开关" "关闭"
alias "关闭" "alias 开关 打开;关闭的命令"
alias "打开" "alias 开关 关闭;打开的命令"
然后bind "键位" "开关"即可。
比如:
alias radar_t radar_off
alias radar_off "alias radar_t radar_on; hideradar"
alias radar_on "alias radar_t radar_off; drawradar"
然后bind "" "radar_t"即可。以后按键即可实现雷达的开关。
我们把每一行加上注解:
alias radar_t radar_off (定义radar_t为开关命令,执行radar_t命令即执行radar_off命令)
alias radar_off "alias radar_t radar_on; hideradar"(把radar_t重定义为命令radar_on,执行hideradar命令)
alias radar_on "alias radar_t radar_off; drawradar"(把radar_t重定义为命令radar_off,执行drawradar命令)
当你bind了一个键后实际上已经执行了第一句alias radar_t radar_off即定义radar_t到radar_off
当你按下键后因为第一句已经定义了执行radar_t命令即执行radar_off命令,即执行了第二句alias radar_off "alias radar_t radar_on; hideradar"即定义radar_t到radar_on然后执行hideradar命令隐藏雷达。
当你再次按下键后因为第二句已经定义了执行radar_t命令即执行radar_on命令,即执行了第三句alias radar_on "alias radar_t radar_off; drawradar"即定义radar_t到radar_off然后执行drawradar命令显示雷达。
如果你再按下键即又执行了第二句alias radar_off "alias radar_t radar_on; hideradar"即定义radar_t到radar_on然后执行hideradar命令隐藏雷达。如此雷达的开关功能就实现了。


循环式脚本:

循环式脚本实际上就是开关式脚本的多种选择项时的情况,其格式为:
alias "循环开关" "循环第一步"
alias "循环第一步" "alias 循环开关 循环第二步;循环第一步需执行的命令"
alias "循环第二步" "alias 循环开关 循环第三步;循环第二步需执行的命令"
alias "循环第三步" "alias 循环开关 循环第一步;循环第三步需执行的命令"
然后bind "键位" "循环开关"即可。
比如:
alias graph "graph1"
alias graph1 "net_graph 1; alias graph graph2"
alias graph2 "net_graph 2; alias graph graph3"
alias graph3 "net_graph 3; alias graph graph4"
alias graph4 "net_graph 0; alias graph graph1"
然后bind "v" "graph"即可。以后按v键即可实现网络状况图形的切换显示:按一下执行第二句即net_graph 1还有alias graph graph2;再按一下执行第三句即net_graph 2还有alias graph graph3,如此类推,当执行到最后一句时我们需要使循环开关回复到初始的状态所以最后一句net_graph 0执行完命令后,定义alias graph graph1这和第一句是一样的即回复到初始的状态。



按下&松开式脚本:

按下&松开式脚本的格式为:
alias "+按下松开命令" "第一条当按下时执行的命令;第二条当按下时执行的命令"
alias "-按下松开命令" "第一条当松开时执行的命令;第二条当松开时执行的命令"
然后bind "键位" "+按下松开命令"即可。
比如:
alias +qslash "weapon_knife; wait; +attack"
alias -qslash "-attack; lastinv"
然后bind "alt" "+qslash"即可。以后当按下alt键时执行第一句:拿出刀子开始削,当松开alt键时执行第二句:停止削,并拿出上一次拿的武器。

按下&松开的开关式脚本:

按下&松开的开关式脚本实际上就是按下&松开式脚本和开关式脚本的合成,其格式为:
alias "+按下松开命令" "第一条当按下时执行的命令;第二条当按下时执行的命令"
alias "-按下松开命令" "第一条当松开时执行的命令;第二条当松开时执行的命令"
alias "按下松开命令开关" "按下松开命令关闭"
alias "按下松开命令关闭" "alias 按下松开命令开关 按下松开命令打开;bind 键位 原来的命令"
alias "按下松开命令打开" "alias 按下松开命令开关 按下松开命令关闭;bind 键位 +按下松开命令"
然后bind "键位" "按下松开开关"即可。
比如:
alias +qslash "weapon_knife; wait; +attack"
alias -qslash "-attack; lastinv"

alias qslash "qslash_on"
alias qslash_on "alias qslash qslash_off;bind alt +qslash"
alias qslash_off "alias qslash qslash_on;bind alt +strafe"
然后bind "v" "qslash"即可。
以后当按过一次v键后执行第四句:
当按下alt键时执行第一句:拿出刀子开始削,当松开alt键时执行第二句:停止削,并拿出上一次拿的武器。
当再按过一次v键后执行第五句:
alt键恢复为平移键当按下alt键时再按左右转向键则变成左右平移。
在此v键即为"按下松开命令开关"而alt键即为"+按下松开命令"

变位分配式脚本:

变位分配式脚本实际上就是按下&松开式脚本的变例形式,其格式为:
alias "命令a" "命令1;命令2"
alias "命令b" "命令1';命令2'"
bind "初始键位" "命令a"

alias +变位分配 "bind 初始键位 命令b"
alias -变位分配 "bind 初始键位 命令a"

然后bind "键位" "+变位分配"即可。
如:
alias go "radio2; wait;menuselect 1;clmenu"
alias fal "radio2; wait;menuselect 2;clmenu"
alias +metaradio "bind ins fal"
alias -metaradio "bind ins go"
最后:
bind "ins" "go"
bind "alt" "+metaradio"
则当平时按下ins键(即方向键上方的Insert键)因为ins键分配给go命令,所以执行第一句:使用语音信息:Go! Go! Go!
当按下alt键后(按住)执行第三句:ins键分配给了fal命令,此时再按下ins键则使用语音信息:Team,Fall Back!
当松开alt键后执行第四句:ins键又重新分配给了go命令,所以此时再按下ins键则使用语音信息:Go! Go! Go!
大家还可以参考我在打包购买脚本里的变位购买脚本那一部分来熟悉变位分配式脚本


综合运用的例子:

综合运用以上的几种模式的脚本,能使你的CS功能更强大。以下是一些例子:
//----------------------------------------
//| 快速拔刀,松开收刀 |按下&松开式脚本
//----------------------------------------
alias +quickstab "weapon_knife;wait;+attack2"
alias -quickstab "-attack2;lastinv"
//------------------------
//| 蹲跳,超级跳开关 |按下&松开的开关式脚本
//------------------------
alias +cjump "+jump; +duck"
alias -cjump "-jump; -duck"
alias cjump "cjump_on"
alias cjump_on "bind space +cjump; alias cjump cjump_off"
alias cjump_off "bind space +jump; alias cjump cjump_on"
//----------------------------------------
//| 自动完成安装C4炸药 |按下&松开式脚本
//----------------------------------------
alias +plant_c4 "weapon_c4;wait;wait;+attack;+duck;radio1;menuselect 1;say_team I am Planting C4 , cover!;slot10"
alias -plant_c4 "-attack;-duck;lastinv;slot10"
//---------------------------------------------
//| 开火模式 单发/3发/连发 |循环式脚本
//---------------------------------------------
alias burstswitch mode1
alias single "unbind mouse1; +attack; wait; -attack; bind mouse1 single"
alias burst "unbind mouse1; single; single; single; single; single; single; single; bind mouse1 burst"
alias mode1 "bind mouse1 burst; dvon; echo Burst Fire; dvoff; alias burstswitch mode2"
alias mode2 "bind mouse1 +attack; dvon; echo Standard Fire; dvoff; alias burstswitch mode3"
alias mode3 "bind mouse1 single; dvon; echo Single Fire; dvoff; alias burstswitch mode1"
//--------------------------------
//| 改变夜视仪对比度 |基本式脚本
//--------------------------------
alias nvg_u "+nvgadjust; wait; +nvgadjust; wait; +nvgadjust"
alias nvg_d "-nvgadjust; wait; -nvgadjust; wait; -nvgadjust"
//-----------------------------
//| 开/关雷达显示 |开关式脚本
//-----------------------------
alias radar_t radar_off
alias radar_off "alias radar_t radar_on; hideradar"
alias radar_on "alias radar_t radar_off; drawradar"
//-----------------------------
//| 换左/右手持枪 |开关式脚本
//-----------------------------
alias changehand hand_left
alias hand_left "setinfo lefthand 1;cl_righthand 0;alias changehand hand_right;wait;wait;wait;weapon_knife;lastinv;dvon;echo LEFT HANDED;dvoff"
alias hand_right "setinfo lefthand 0;cl_righthand 1;alias changehand hand_left;wait;wait;wait;weapon_knife;lastinv;dvon;echo RIGHT HANDED;dvoff"
//----------------------------------------------------------
//| 开/关武器模型的显示,消除杂点 |开关式脚本
//----------------------------------------------------------
alias tg_alpha alpha_on
alias alpha_on "gl_alphamin 0.999;r_drawviewmodel 0;alias tg_alpha alpha_off;dvon;echo Clear View;dvoff"
alias alpha_off "gl_alphamin 0.25;r_drawviewmodel 1;alias tg_alpha alpha_on;dvon;echo Normal View;dvoff"
//--------------------------------------------------------
//| 切换显示FPS,PING等其它信息 |循环式脚本
//--------------------------------------------------------

alias tsn shownet1
alias shownet1 "net_graph 1;cl_showfps 0;net_graphsolid 1;alias tsn shownet2"
alias shownet2 "net_graphsolid 0;alias tsn shownet3"
alias shownet3 "net_graph 2;alias tsn shownet4"
alias shownet4 "net_graph 3;alias tsn shownet5"
alias shownet5 "net_graph 0;cl_showfps 1;alias tsn shownetoff"
alias shownetoff "net_graph 0;cl_showfps 0;alias tsn shownet1"

//--------------------------------
//| 模拟上网的PING |循环式脚本
//--------------------------------
alias sim_lag FL100
alias FL100 "fakelag 50;dvon;echo Your PING is 100 now..;dvoff;alias sim_lag FL200"
alias FL200 "fakelag 100;dvon;echo Your PING is 200 now..;dvoff;alias sim_lag FL300"
alias FL300 "fakelag 150;dvon;echo Your PING is 300 now..;dvoff;alias sim_lag FL400"
alias FL400 "fakelag 200;dvon;echo Your PING is 400 now..;dvoff;alias sim_lag FL0"
alias FL0 "fakelag 0;dvon;echo Your PING is 0 now;dvoff;alias sim_lag FL100"
//--------------------
//| 显示时间 |基本式脚本
//--------------------
alias timer "dvon; echo This Script Edited by Nick; dvoff;timeleft"
//----------------------------
//| 改变准星颜色 |基本式脚本
//----------------------------
alias ccc "dvon; echo Crosshair Color Changed dvoff;adjust_crosshair"

//-----------------------------
//| 普通功能通知队友版|按下&松开式脚本
//-----------------------------
alias "+rls" "+reload;say_team [Reload]"//换弹夹并通知队友
alias "-rls" "-reload"
alias "+dr" "+use;say_team [Defusing Bomb/Rescuing Hostage]"//拆炸弹或救人质并通知队友
alias "-dr" "-use"


//-----------------------------
//| 打包购买|购买式脚本和变位分配式脚本
//-----------------------------
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"//还原变位购买普通包


//----------------------------
//| 快速切换手雷 |变位分配式脚本+循环式脚本
//----------------------------
alias +metasw "bind MOUSE2 qgsw"
alias -metasw "bind MOUSE2 +attack2;alias qgsw qgswhg"
alias qrgsw "weapon_hegrenade;weapon_flashbang;weapon_smokegrenade"

alias qgsw qgswhg
alias qgswhg "qrgsw;weapon_hegrenade;dvon; echo Quick Select HE Grenade; dvoff;alias qgsw qgswfb"
alias qgswfb "qrgsw;weapon_flashbang;dvon; echo Quick Select FlashBang; dvoff;alias qgsw qgswsg"
alias qgswsg "qrgsw;weapon_smokegrenade;dvon; echo Quick Select Smoke Grenade; dvoff;alias qgsw qgswhg"

//----------------------------
//| 录制Demo录像 |开关式脚本
//----------------------------
alias rec_t rec_off
alias rec_off "alias rec_t rec_on;dvon; echo Now Recording Demo to nicktemp.dem; dvoff;record nicktemp"
alias rec_on "alias rec_t rec_off;dvon; echo Now Record Stopped; dvoff;stop"

//----------------------------
//| 队长战术功能 |基本式脚本
//----------------------------

// 冲A点/到A点协助防守。
alias cs_a "dvon;echo Go to A dvoff;say_team Attack/Defence A"

// 冲B点/到B点协助防守。
alias cs_b "dvon;echo Go to B dvoff;say_team Attack/Defence B"



最后给您介绍CS1。5服务器设置部分

首先服务器设置共有三个文件:game.cfg和server.cfg还有listenserver.cfg都在cstrike文件夹下。

game.cfg文件由建立服务器时的高级选项(Advanced)控制,即建立服务器时可控制。

listenserver.cfg文件为非独立服务器(即建立服务器的机器也在CS游戏中)更换地图时预设的服务器选项设置文件。

server.cfg文件为独立服务器(即建立服务器的机器不在CS游戏中,显示为DOS窗口模式)更换地图时预设的服务器选项设置文件。

下两个文件的设置内容如下(含中文注释):

// 这个文件将会设置您的服务器,当您换局时。


//服务器密码(客户端进入游戏密码) "" 表示没有
sv_password ""

//远程管理服务器密码 "" 表示没有
rcon_password "8658 > 3# Show * Yuan "

// 默认服务器名称"8658's Counter-Strike Server"
hostname "8658's Counter-Strike Server"

// 每局时间30分钟
mp_timelimit 30

// 杀人数、得分上限 无0/有(1-n),超过上限就换地图。
mp_fraglimit 0

// 胜利次数上限无0/有(1-n),超过上限就换地图。
mp_winlimit 0

// 回合上限 无0/有(1-n),超过上限就换地图。
mp_maxrounds 0

// 购买武器冻结时间 (0-45)建议5秒以内。
mp_freezetime 3

// 每回合4分钟
mp_roundtime 4

//购买武器装备时间(0.25-1.5)即15秒-90秒
mp_buytime 0.5

// 炸弹倒计时时间 (15-75)
mp_c4timer 35

// 死亡后视角 1本队队友 2只有第一人称视角 0无限制
mp_forcecamera 1

// 死亡后视角模式 0自由跟随/1固定跟随
mp_chasecam 0

// 人物死亡后屏幕 不变黑0/变黑1
mp_fadetoblack 0

// 友军误伤 关闭0/开启1
mp_friendlyfire 0

// 杀害友军惩罚 0不惩罚/惩罚:杀害队友超过(1-n)人,下一回合自动死亡
mp_tkpunish 1

// 自动调整双方队伍平衡 不调整0/调整(1-n)个人
mp_autoteambalance 1

// 双方人数差超过n人即自动调整人数差异 0关闭
mp_limitteams 1

//开始游戏时的金钱数量(800-16000)
mp_startmoney 800

// 最大速率10000 (局域网用10000或以上;Cable Modem/ xDSL 用4000-6000)(请勿设置过低)
sv_maxrate 10000

// 最小速率1000 (局域网用1000或以上;Cable Modem/ xDSL 用400-600)低于此速率的客户端连接将被踢出或禁止连接(请勿设置过高)
sv_minrate 1000

// 客户端最大移动速度
sv_maxspeed 320

// 暂停游戏 禁止0/允许1
pausable 0

// 作弊模式 关闭0/开启1
sv_cheats 0

// 自动瞄准 关闭0/开启1
sv_aim 0

// 战术手电 允许1/禁止0
mp_flashlight 1

// 脚步声 开启1/关闭0
mp_footsteps 1

// 高处落下伤害 开启1/关闭0
mp_falldamage 1

// 自动踢出不动的玩家 开启1/关闭0
mp_autokick 1

// 观察员模式 开启1/关闭0
allow_spectators 1

// 服务端设定游戏复位的时间,包括杀人数、武器、金钱和得分。设0不复位。
//sv_restartround 2
// 服务端设定游戏复位的时间,包括杀人数、武器、金钱和得分。设0不复位。
//sv_restart 2

// 杀害人质惩罚 0不惩罚/惩罚:规定时间内伤害人质超过(1-n)人自动踢出
mp_hostagepenalty 0

// 允许下载 开启1/关闭0
sv_allowdownload 1

// 允许下载(sv_allowdownload 1)开启时控制是否允许玩家的LOGO传送 允许1/禁止0
sv_send_logos 1

// 允许下载(sv_allowdownload 1)开启时控制是否允许资源文件传送 允许1/禁止0
sv_send_resources 1

// 允许上传 关闭0/开启1
sv_allowupload 1

// 服务器重力设置 默认正常重力800,范围-999到99999
sv_gravity 800

// vote投票踢出某个指定玩家的投票比率 (0.10-1.00)
mp_kickpercent 0.66

// votemap更换地图投票比率 (0.10-1.00)
mp_mapvoteratio 0.6

// 设定鬼魂模式刷新值(0.1-1)
mp_ghostfrequency 0.1

// 服务器高品质纹理 关闭0/开启1
sv_sendvelocity 0

// 服务器减少LAG延迟现象(对服务器要求高) 关闭0/开启1
mp_lowlag 0

// 服务器细节数据发送 默认300 ,可减低到250、200,改善速度。
mp_decals 300

// 服务器是否允许麦克风语音通讯 允许1/禁止0
sv_voiceenable 1

// 服务器是否允许客户端之间使用语音通信 允许1/禁止0
sv_alltalk 1

// 服务器是否记录文件 不记录0/记录1
mp_logfile 1

// 是否在记录文件里记录谈话内容 不记录0/记录1
mp_logmessages 0

// 是否在记录文件里记录Ban掉玩家的内容 不记录0/记录1
sv_logbans 0

// 设置地图循环文件
mapcyclefile mapcycle.txt

//开始记录
log on