会修改CS1.5脚本的来,高手高分!还追加分!

真正研究过CS1.5脚本的或者很了解CS1.5脚本的来回答我的问题。高手高分!

把答案写得工整些。不要有太多的专业术语否则我看不懂的哦。我要知道的是:

一:修改脚本的步骤。

二:可以修改些什么?修改的内容有什么作用?
用到些什么工具?

三:CS的所有命令。

回答的完整的。追加200悬赏分!谢谢各位!!
别只想要悬赏分而抄别人的回答!

烦!

准备工作:
用写字板打开你的config.cfg(cstrike目录下). 把console ""0.000000""
这行改为console ""1"".
然后在cstrike快捷方式里的程序地址后面添加
-console -zone 4096 -dev
如:C:SierraHalf-Lifehl.exe -console -zone 4096 -dev

什么是alias(宏)?
可以说脚本就是在一个个宏的基础上组建起来的,这也是我们必须了解的第一个问题
宏的大致格式是这样的:
alias [alias-name] ""[command 1]; [command 2]; [command #]....""
我们可以看出,宏实际上就是一系列指令的集合,所以,任何一个宏也可以应用到其他的宏中。

脚本中最常用的一些指令
menuselect # - #为1至9的一个数字.这个指令表示选择菜单中的第#个选项. 如:
例:alias joinct ""chooseteam; menuselect 2""
引号中的内容即表示选择team菜单的第2项,即CT这边
bind KEY COMMAND -
把某个特定的指令定义到某个键上.注意:'COMMAND'也可为一个宏.
如: bind ""k"" ""kill""
把kill这个指令定义到k上,这样你按k时就自杀了
又如: bind ""k"" ""joinct""
则你按k就会加入CT这边.
exec name.cfg -
导入某个cfg文件.HL每次进入游戏时会自动导入config.cfg和autoexec.cfg文件.
wait -
停滞一小会.脚本中的wait是为了让前指令执行完.使用多少wait要根据不同的电脑和网络情况而定,太多的wait就会引起lag,太少则可能使下一个指令来不及执行.

简单的宏
让我们先看一些最简单的宏来熟悉一下
打开autoexec.cfg,写入以下行:
alias hello ""say Welcome to CsChina.net!; wait; wait; kill; wait;
wait;say_team Welcome to CsChina.net!""
让我们看看这个宏的结构:
引号中为一个指令集,其中say这个指令的作用是对游戏中所有人说话,say_team则是对所有队友说话
注意:单个指令之间用分号;隔开
这个指令集被定义为一个名为hello的宏
别急,你还必须把刚刚制作的宏定义到某个键位上才能使用,进入游戏,在控制面版中敲入
bind ""k"" ""hello""
好了,现在让我们按K看看效果吧,hoho~~

宏的类型及简单脚本制作
脚本制作的基本概念我们已经比较清楚了,现在一起看一看宏的几种类型并将其应该到简单的脚本制作中
+/- aliases
其意义为当按住某个键时执行一个指令集,而松开此键时则执行另外一个指令集(注:这两个指令集可以相同也可以好不相干)
例:
alias +sayreload ""+reload;say_team Cover me while I reload!""
alias -sayreload ""-reload""
+/-
aliases,可以使你原本简单的动作更加多样化,如扩展开就是更复杂但更有效的Meta
binds(

Meta binds
Meta Binds实际上就是一种+/- alias,但不同的是,Meta
binds在松开定义键之后对该键重新做了定义(←Archangel注:此行用红色字体.)一定要注意这个区别,这将非常有助于理解这两种宏的类型。
让我们来看一个常见的制作快速买抢脚本的例子:
Example:
alias preset1 ""buy; menuselect 4; menuselect 6; buy; menuselect 6; buyequip;
menuselect 2""
//购买AWM、子弹以及防弹衣

alias preset2 ""buy; menuselect 3; menuselect 1; buy; menuselect 6; buyequip;
menuselect 1;""
//购买MP5、子弹以及防弹衣

alias preset3 ""buy; menuselect 2; menuselect 1; buy; menuselect 1;
menuselect 5; buy; menuselect 6; buy; menuselect 7; buyequip; menuselect 2""
//购买M3,beretta, 子弹,带头盔的防弹衣

alias preset4 ""buy; menuselect 1; menuselect 3; buy; menuselect 7""
//购买手雷和子弹

alias preset5 ""developer 1; echo Preset not set!; developer 0""
//在屏幕左上角显示该组合键未定义----Preset not set!
注:echo这个指令的意义为在屏幕左上角显示你所定义的信息

alias preset6 ""developer 1; echo Preset not set!; developer 0""
alias preset7 ""developer 1; echo Preset not set!; developer 0""
alias preset8 ""developer 1; echo Preset not set!; developer 0""
alias preset9 ""developer 1; echo Preset not set!; developer 0""
alias preset10 ""developer 1; echo Preset not set!; developer 0""
//同上

alias +toggle ""bind 1 preset1; bind 2 preset2; bind 3 preset3; bind 4
preset4; bind 5 preset5; bind 6 preset6; bind 7 preset7; bind 8 preset8;
bind 9 preset9; bind 0 preset10""

alias -toggle ""bind 1 slot1; bind 2 slot2; bind 3 slot3; bind 4 slot4; bind
5 slot5; bind 6 slot6; bind 7 slot7; bind 8 slot8; bind 9 slot9; bind 0
slot0""

bind alt ""+toggle""
这个脚本子后三行是关键所在,其意义为,当按住alt和某数字键时,执行脚本前半部定义的购枪指令集,而当松开alt键时,数字键则恢复为原功能,即切换枪支,这就是Meta
binds的意义所在!
其作用也是显而易见的:可以节省不少键位,并可以在常用键位上定义更多的指令集

Toggles
Toggles(开关)最典型的例子就是开关探照灯和夜视仪。让我们制作一个开关netgraph(状态显示,如FPS)的Toggle来熟悉和研究一下
Example:
alias ngon ""developer 1; echo Net Graph on; developer 0; net_graph 3; bind n
ngoff""
alias ngoff ""developer 1; echo Net Graph off; developer 0; net_graph 0; bind
n ngon""
bind n ""ngon""
这个脚本的作用即为用n键来开关netgraph,注意Toggle的特点,在第一个宏的末尾将n键定义到下一个宏,这实际上就形成了一种循环(cycling),但这个脚本显然并不能令人满意,因为它不能添加到键盘设置菜单中以便更快捷的调整,因为:请注意!该键被定义(bind)了两次。如何解决这个问题呢,稍稍改动即可。

Toggles(complex)
即为改进后的Toggles,其好处在于只需设定一个键位,仍然以netgraph开关为例
Example:
alias ngon ""developer 1; echo Net Graph on; developer 0; net_graph 3; alias
ng ngoff""
alias ngoff ""developer 1; echo Net Graph off; developer 0; net_graph 0;
alias ng ngon""
alias ng ""ngon""
bind n ""ng""
大家可以看到:两个宏的尾部都由原来的bind改为alias,在第三行把键单独定义,非常巧妙,不是吗?hoho~~
现在我们可以在键盘设置栏直接定义该键了,更重要的是:理解了这个技巧,我们就可以进入下一课-----循环

Cycle aliases
前面的toggle仅仅是两种情况的选择,即开和关,当我们面临更多种选择时怎么办呢?这就需要Cycle
aliases,还是看netgraph的例子,但这一次,我们要用n键选择不同的netgraph显示形式.
Example:
alias ng1 ""developer 1; echo Net Graph on, setting 1; developer 0; net_graph
1; alias ng ng2""
alias ng2 ""developer 1; echo Net Graph on, setting 2; developer 0; net_graph
2; alias ng ng3""
alias ng3 ""developer 1; echo Net Graph on, setting 3; developer 0; net_graph
3; alias ng ng4""
alias ng4 ""developer 1; echo Net Graph off; developer 0; net_graph 0; alias
ng ng1""
alias ng ""ng1""
bind n ""ng""
我们可以看到,在每一行的末尾都将键定义到下一个宏上,这就形成了循环.

制作自己的键位设置菜单
在前一章中我们提到键位设置菜单中添加自己的选项
这就是最后一节中我们将详细讲解的内容

打开你的half-lifecstrike目录下的gfx文件夹,用写字板打开其中的kb_act.lst文件,你可以看到这样一些内容:
""buyammo1"" ""Buy Primary Ammo (Optional)""
""buyammo2"" ""Buy Secondary Ammo (Optional)""
""buyequip"" ""Buy Equipment Menu (Optional)""
………… …………

左边就是宏的名称, 而右边则是你希望玩家在菜单中所看到的对这个宏的解释
好,现在我们有这么一个脚本
alias float_t ""float_on""
alias float_on ""alias float_t float_off; +moveup""
alias float_off ""alias float_t float_on; -moveup""
已经比较熟悉脚本制作的大家应该看的出来,这是一个一键游泳的toggle
怎样在菜单中也加上这个toggle的一栏呢?想必你也看出来了,对,只要在kb_act.lst的下面加上这么一行
""float_t"" ""Floating Toggler""
就一切搞定,就是这么简单,呵呵
一样,你还可以在菜单为你的脚本加个商标,加入下面行:
""blank"" ""You are running Version XXX of XXXX0""
进入游戏后你就可以看见你的大名也烙在了CS,帅 :>
另外kb_act.lst这个文件是有大小限制的,不过估计谁也写不了那么多

CS1.5常用控制台命令

首先,在你CS1.5快捷方式里加上 -console 参数,进入游戏,按 ~ 键(ESC下面的那个键)打开控制台,就可以输入命令了:

decalfrequency 30.............以秒计,玩家的logo30秒可喷一次,无上限时间

mp_buytime 0.25...............以分计,在15秒内可买东西,15~550秒

mp_c4timer 35.................以秒计,设定C4炸弹的爆炸时间为35秒,15~90秒

mp_freezetime 4...............以秒计,每一场开始前的购物静止4秒,0~9秒

mp_roundtime 3................以分计,每回合的时间为3分钟,1~9分

mp_timelimit 45...............以分计,即45分钟后游戏结束换地图,无上限时间

sv_restartround 1.............以秒计,设定1秒钟后刷新SERVER,无上限时间

关于换图:

changelevel ..................立刻换地图,所有USER不会离开游戏

mp_maxrounds X................满X回合之后换地图

mp_winlimit X.................任一队胜X场便换图

mapcyclefile mapcycle.txt.....选择地图切换的设定档,内定为mapcycle.txt,可准备好几份设定档

关于踢人:

users.........................取得玩家IP的信息

status........................列出玩家id的信息

kick |〈#id〉...................踢人

banid 5 〈#id〉 kick............踢人,让他5分钟后才能进来,时间0=永远

mp_autokick 0.................睡死和TK三次后将不会被系统自动踢掉

mp_autoteambalance 1 .........双方队伍人数自动平衡

mp_hostagepenalty 22..........杀了22个人质或队友后会被系统自动踢掉

mp_limitteams 1...............队伍最大相差1人时,便不能选择加入

mp_kickpercent 0.6............票选踢人的人数要达到60%才会踢掉

maxplayers....................游戏允许的最大人数

bind podbotmenu...............设置机器人控制台的按纽

addbot .......................制造自己的理想机器人

关于遥控:

sv_password ..................设置进入游戏的密码

retry.........................玩家重新连接到当前的SERVER

rcon_password ................设置变身密码

rcon_password ................变身为AMD登入控制台

rcon_address IP...............在人数已满的情况下进入服务器,但不能玩

rcon say xx|“xx“..............发出死活均可看的公告,用 “xx“效果好

rcon addip 0 .................拒绝某个IP进入游戏,0表是永久,以分钟计

rcon addid 0 kick ............设定某个WON ID不准进入游戏,时间设定同上

关于鬼魂:

mp_fadetoblack 0..............这样死后画面变黑 活人可以看得到尸体

mp_chasecam 1.................设定观察员模式的玩家只能跟在别人的屁股

mp_forcechasecam 0............人死了:0自由观看、1只随队友、2视线在原地

关于互杀:

mp_friendlyfire 0.............设定不会杀伤队友

mp_friendly_genrade_damage 0..设定手榴弹不会丢伤队友

mp_tkpunish 0.................关闭伤害友军惩罚,下回合将被强行自杀

mp_falldamage 1...............可以跳楼自杀

client专用

关于爱好:

adjust_crosshair..............每打一次准心就会换颜色

exec 〈.cfg|.rc〉...............读取指定文件

hud_fastswitch 1..............快速换武器,按数字直接换出,不用再按鼠标

hud_centerid 1................显示人物名字放在屏幕中间

sensitivity 8.................鼠标移动速度

zoom_sensitivity_ratio 1.2....设定使用狙击镜时鼠标移动速度

name “新名字“.................换名字,活着的时候才能用

timeleft......................让你知道还有几分钟换地图

net_graph 3...................显示你的机器fps值

con_color “255 155 50“........黄色文字

listplayers...................显示玩家的数字ID

listmaps......................显示地图的数字ID

vote .........................玩家投票踢人

votemap 数字ID................玩家投票换地图

cmdlist.......................列出部分console指令 (可在后面加上指令的字母开头)

scr_conspeed 600..............设定console文字卷动速度

drawradar.....................显示雷达

hideradar.....................关闭雷达

maps 开头.....................列出已安装之地图档名,(只列出指定字母开头的文件名,*为所有地图)

exit(quit)....................完全退出游戏

cl_download_ingame 1..........下载其它玩家LOGO、贴图等

volume 0.8....................调整音量大小,实际音量为(volume/hisound)

hisound 1.000000..............设定音量最大值,实际音量为(volume/hisound)

bgmvolume 1.000000............背景音效音乐之音量大小

kill..........................自尽

关于录像:
record filename...............开始记录一个录像
playdemo filename.dem.........使用正常速度播放 filename.dem 录像
stop..........................停止录像

CONSOLE后备命令
SERVER端
pausable 0....................禁止客户端按暂停
mp_consistency 1..............限制模型更改,C4或武器容易让人发现
mp_flashlight 1...............可以使用手电筒
mp_footsteps 1................开启脚步声
mp_startmoney 800.............开始时的金钱数
sv_aim 0......................自动瞄准关闭
sv_bounce 1...................各种奖励金开启
sv_cheats 0...................可不可以使用内定秘技
sv_gravity 800................控制重力,800是正常重力,-999到999999
sv_stepsize 18................脚步大小 地址:http://blzx.rybt.com/dispbbs.asp?boardid=41&ID=4133
CS1.5综合脚本说明 ∷ ∷ ∷ CS1.5半专业化多功能综合脚本 ∷ ∷ ∷

声明

本脚本为New-KuoLL | 站队队员个人使用脚本,借鉴多个CS比赛脚本,针对 ≮『 连跳| 压枪 | 最高亮度 | 走动中准星不扩散 | 减小子弹连射扩散 | 去阴影 | 快速换枪 | OP功能轻松使用 | 一键大退;一键小退 | 轻松实现+voicerecord功能真正放松你的手指 | 一键大跳 | 配合GeekPlay-6.0软件实现"F6""F7""F8"热键轻松录制DEMO录制Movie | 一键显示"队友聊天>>>炸弹在这<<<" | 功能键"H"也有新功能添加 』≯ 以上内容自行改编的CS1.5半专业化多功能综合脚本;可以正常通过CD使用;本脚本内"一键买枪"设置基本为CS默认设置;在此强调一下,本脚本并非变态脚本,如果用过我的脚本后你的枪法真的出神入化枪枪暴头,那只能说明:我的脚本给了你信心,你的水平正在提高;本人使用的鼠标为"罗缉(Logitech)Mx500",有多个MOUSE键,其中买大小子弹和单跳都设置在上面,如有不适请自行更改;详细介绍请看下文。

由New-KuoLL | 站队LooKing贡献.

请释放到cstrike文件夹下(CS1.5)

第一次运行游戏启动脚本请在控制台输入"exec Hz.cfg",
第二次以后运行时按"F5"即可。

如果想理想实现"F6""F7""F8"键的录制功能,
请下载软件GeekPlay-6.0

GeekPlay-6.0下载地址:
http://www.d-dd.org/Soft/ShowSoftDown.asp?UrlID=1&SoftID=307

谢谢分享!

运行前 在cstrike桌面快捷方式图标的属性里,找到cstrike.exe字样,在其后面加上控制台参数" -console".使得可以在游戏里能够使用控制台,以便操作.启动游戏,打开控制台,用"~"键。如果下载的文件没有更改名字的话就输入"EXEC Hz.cfg",更改了的话就输入"EXEC (重更名的名字).cfg"。这样就正常读取脚本了,待游戏结束后,再次启动游戏时,按"F5"键就可以自动启动脚本了(提示:如果你不懂如何修改脚本那么请不要把文件改名字,因为那样会导致"F5"功能键失效),若想确认,打开控制台就可以看见,有文字提示。

基本功能简单介绍

"F12"------"rcon sv_restart 1"--------------------"OP使用1秒后刷新服务器"
"F11"------"retry;clear"--------------------------"重新进入游戏"
"F10"------"quit"---------------------------------"退出游戏程序"
"F9"-------"quit prompt"--------------------------"迅速退出"
"F8"-------"toggel_Movie_2"-----------------------"录制 movie2"
"F7"-------"toggel_Movie_1"-----------------------"录制 movie1"
"F6"-------"toggel_demo_1"------------------------"录制 demo"
"L"--------"snapshot"-----------------------------"截图"
"F4"-------"adjust_crosshair"---------------------"准星换颜色"
"DEL"------"say_team >>> BOMB HERE <<<"-----------"队友聊天>>>炸弹在这<<<"
"HOME"-----"say_team >>> ENEMY SPOTTED <<<"-------"队友聊天>>>发现敌人<<<"

特殊功能介绍

为CS视频制作爱好者提供的不错的功能,基本操作键位为"F6""F7""F8""H";

游戏中时你就可以随时按下F6就开始开始录制demo。是一个叫做demo1.dem的文件。这个文件将会保存在你的cstrike目录下。至于F7F8的用途是用来制作bmp文件。录制demo 为了制作一个CS-MTV,首先必须要有一个CS的demo。只需要在游戏进行中的控制台下输入record X.dem或者按下你的demo录制键(F6)就可以开始录制demo。在你想要结束录制时再按一下那个按键就可以了。(或者在控制台里输入stop)

"H"键也修改和增加了部分功能

*--"1" "Server Setings"

---"0" "OP Password"
---"1" "Restart Round 1sec"
---"2" "Restart Game"
---"3" "Start Money"
---"4" "AutoTeamBalance"
---"5" "FriendlyFire"
---"6" "Black Hold"
---"7" "ForceChaseCam"
---"8" "Set Time"

*--"2" "HELP"

---"1" "Map Description"
---"2" "Time Left"
---"3" "Adjust Crosshair"
---"4" "Use Left Hand"
---"5" "Use Right Hand"

*--"3" "Record a Demo/Movie"

---"1" "Record Demo"
---"2" "Record Movie"
---"3" "Play demo"
---"4" "Reset Recordings"
---"5" "Record/Stop Next Demo/movie"
---"6" "Toggel 'Singel Click'"

*--"4" "Changename"

*--"5" "Changelevel Map"

---"1" "Hostage Map"
---"2" "C4 Map 1"
---"3" "C4 Map 2"
---"4" "ChangeLevel Map"

*--"6" "CHANGE TEAM"

*--"7" "DROP CURRENT ITEM"
温馨提示:内容为网友见解,仅供参考
第1个回答  2006-01-18
准备工作:
用写字板打开你的config.cfg(cstrike目录下). 把console ""0.000000""
这行改为console ""1"".
然后在cstrike快捷方式里的程序地址后面添加
-console -zone 4096 -dev
如:C:SierraHalf-Lifehl.exe -console -zone 4096 -dev

什么是alias(宏)?
可以说脚本就是在一个个宏的基础上组建起来的,这也是我们必须了解的第一个问题
宏的大致格式是这样的:
alias [alias-name] ""[command 1]; [command 2]; [command #]....""
我们可以看出,宏实际上就是一系列指令的集合,所以,任何一个宏也可以应用到其他的宏中。

脚本中最常用的一些指令
menuselect # - #为1至9的一个数字.这个指令表示选择菜单中的第#个选项. 如:
例:alias joinct ""chooseteam; menuselect 2""
引号中的内容即表示选择team菜单的第2项,即CT这边
bind KEY COMMAND -
把某个特定的指令定义到某个键上.注意:'COMMAND'也可为一个宏.
如: bind ""k"" ""kill""
把kill这个指令定义到k上,这样你按k时就自杀了
又如: bind ""k"" ""joinct""
则你按k就会加入CT这边.
exec name.cfg -
导入某个cfg文件.HL每次进入游戏时会自动导入config.cfg和autoexec.cfg文件.
wait -
停滞一小会.脚本中的wait是为了让前指令执行完.使用多少wait要根据不同的电脑和网络情况而定,太多的wait就会引起lag,太少则可能使下一个指令来不及执行.

简单的宏
让我们先看一些最简单的宏来熟悉一下
打开autoexec.cfg,写入以下行:
alias hello ""say Welcome to CsChina.net!; wait; wait; kill; wait;
wait;say_team Welcome to CsChina.net!""
让我们看看这个宏的结构:
引号中为一个指令集,其中say这个指令的作用是对游戏中所有人说话,say_team则是对所有队友说话
注意:单个指令之间用分号;隔开
这个指令集被定义为一个名为hello的宏
别急,你还必须把刚刚制作的宏定义到某个键位上才能使用,进入游戏,在控制面版中敲入
bind ""k"" ""hello""
好了,现在让我们按K看看效果吧,hoho~~

宏的类型及简单脚本制作
脚本制作的基本概念我们已经比较清楚了,现在一起看一看宏的几种类型并将其应该到简单的脚本制作中
+/- aliases
其意义为当按住某个键时执行一个指令集,而松开此键时则执行另外一个指令集(注:这两个指令集可以相同也可以好不相干)
例:
alias +sayreload ""+reload;say_team Cover me while I reload!""
alias -sayreload ""-reload""
+/-
aliases,可以使你原本简单的动作更加多样化,如扩展开就是更复杂但更有效的Meta
binds(

Meta binds
Meta Binds实际上就是一种+/- alias,但不同的是,Meta
binds在松开定义键之后对该键重新做了定义(←Archangel注:此行用红色字体.)一定要注意这个区别,这将非常有助于理解这两种宏的类型。
让我们来看一个常见的制作快速买抢脚本的例子:
Example:
alias preset1 ""buy; menuselect 4; menuselect 6; buy; menuselect 6; buyequip;
menuselect 2""
//购买AWM、子弹以及防弹衣

alias preset2 ""buy; menuselect 3; menuselect 1; buy; menuselect 6; buyequip;
menuselect 1;""
//购买MP5、子弹以及防弹衣

alias preset3 ""buy; menuselect 2; menuselect 1; buy; menuselect 1;
menuselect 5; buy; menuselect 6; buy; menuselect 7; buyequip; menuselect 2""
//购买M3,beretta, 子弹,带头盔的防弹衣

alias preset4 ""buy; menuselect 1; menuselect 3; buy; menuselect 7""
//购买手雷和子弹

alias preset5 ""developer 1; echo Preset not set!; developer 0""
//在屏幕左上角显示该组合键未定义----Preset not set!
注:echo这个指令的意义为在屏幕左上角显示你所定义的信息

alias preset6 ""developer 1; echo Preset not set!; developer 0""
alias preset7 ""developer 1; echo Preset not set!; developer 0""
alias preset8 ""developer 1; echo Preset not set!; developer 0""
alias preset9 ""developer 1; echo Preset not set!; developer 0""
alias preset10 ""developer 1; echo Preset not set!; developer 0""
//同上

alias +toggle ""bind 1 preset1; bind 2 preset2; bind 3 preset3; bind 4
preset4; bind 5 preset5; bind 6 preset6; bind 7 preset7; bind 8 preset8;
bind 9 preset9; bind 0 preset10""

alias -toggle ""bind 1 slot1; bind 2 slot2; bind 3 slot3; bind 4 slot4; bind
5 slot5; bind 6 slot6; bind 7 slot7; bind 8 slot8; bind 9 slot9; bind 0
slot0""

bind alt ""+toggle""
这个脚本子后三行是关键所在,其意义为,当按住alt和某数字键时,执行脚本前半部定义的购枪指令集,而当松开alt键时,数字键则恢复为原功能,即切换枪支,这就是Meta
binds的意义所在!
其作用也是显而易见的:可以节省不少键位,并可以在常用键位上定义更多的指令集

Toggles
Toggles(开关)最典型的例子就是开关探照灯和夜视仪。让我们制作一个开关netgraph(状态显示,如FPS)的Toggle来熟悉和研究一下
Example:
alias ngon ""developer 1; echo Net Graph on; developer 0; net_graph 3; bind n
ngoff""
alias ngoff ""developer 1; echo Net Graph off; developer 0; net_graph 0; bind
n ngon""
bind n ""ngon""
这个脚本的作用即为用n键来开关netgraph,注意Toggle的特点,在第一个宏的末尾将n键定义到下一个宏,这实际上就形成了一种循环(cycling),但这个脚本显然并不能令人满意,因为它不能添加到键盘设置菜单中以便更快捷的调整,因为:请注意!该键被定义(bind)了两次。如何解决这个问题呢,稍稍改动即可。

Toggles(complex)
即为改进后的Toggles,其好处在于只需设定一个键位,仍然以netgraph开关为例
Example:
alias ngon ""developer 1; echo Net Graph on; developer 0; net_graph 3; alias
ng ngoff""
alias ngoff ""developer 1; echo Net Graph off; developer 0; net_graph 0;
alias ng ngon""
alias ng ""ngon""
bind n ""ng""
大家可以看到:两个宏的尾部都由原来的bind改为alias,在第三行把键单独定义,非常巧妙,不是吗?hoho~~
现在我们可以在键盘设置栏直接定义该键了,更重要的是:理解了这个技巧,我们就可以进入下一课-----循环

Cycle aliases
前面的toggle仅仅是两种情况的选择,即开和关,当我们面临更多种选择时怎么办呢?这就需要Cycle
aliases,还是看netgraph的例子,但这一次,我们要用n键选择不同的netgraph显示形式.
Example:
alias ng1 ""developer 1; echo Net Graph on, setting 1; developer 0; net_graph
1; alias ng ng2""
alias ng2 ""developer 1; echo Net Graph on, setting 2; developer 0; net_graph
2; alias ng ng3""
alias ng3 ""developer 1; echo Net Graph on, setting 3; developer 0; net_graph
3; alias ng ng4""
alias ng4 ""developer 1; echo Net Graph off; developer 0; net_graph 0; alias
ng ng1""
alias ng ""ng1""
bind n ""ng""
我们可以看到,在每一行的末尾都将键定义到下一个宏上,这就形成了循环.

制作自己的键位设置菜单
在前一章中我们提到键位设置菜单中添加自己的选项
这就是最后一节中我们将详细讲解的内容

打开你的half-lifecstrike目录下的gfx文件夹,用写字板打开其中的kb_act.lst文件,你可以看到这样一些内容:
""buyammo1"" ""Buy Primary Ammo (Optional)""
""buyammo2"" ""Buy Secondary Ammo (Optional)""
""buyequip"" ""Buy Equipment Menu (Optional)""
………… …………

左边就是宏的名称, 而右边则是你希望玩家在菜单中所看到的对这个宏的解释
好,现在我们有这么一个脚本
alias float_t ""float_on""
alias float_on ""alias float_t float_off; +moveup""
alias float_off ""alias float_t float_on; -moveup""
已经比较熟悉脚本制作的大家应该看的出来,这是一个一键游泳的toggle
怎样在菜单中也加上这个toggle的一栏呢?想必你也看出来了,对,只要在kb_act.lst的下面加上这么一行
""float_t"" ""Floating Toggler""
就一切搞定,就是这么简单,呵呵
一样,你还可以在菜单为你的脚本加个商标,加入下面行:
""blank"" ""You are running Version XXX of XXXX0""
进入游戏后你就可以看见你的大名也烙在了CS,帅 :>
另外kb_act.lst这个文件是有大小限制的,不过估计谁也写不了那么多

CS1.5常用控制台命令

首先,在你CS1.5快捷方式里加上 -console 参数,进入游戏,按 ~ 键(ESC下面的那个键)打开控制台,就可以输入命令了:

decalfrequency 30.............以秒计,玩家的logo30秒可喷一次,无上限时间

mp_buytime 0.25...............以分计,在15秒内可买东西,15~550秒

mp_c4timer 35.................以秒计,设定C4炸弹的爆炸时间为35秒,15~90秒

mp_freezetime 4...............以秒计,每一场开始前的购物静止4秒,0~9秒

mp_roundtime 3................以分计,每回合的时间为3分钟,1~9分

mp_timelimit 45...............以分计,即45分钟后游戏结束换地图,无上限时间

sv_restartround 1.............以秒计,设定1秒钟后刷新SERVER,无上限时间

关于换图:

changelevel ..................立刻换地图,所有USER不会离开游戏

mp_maxrounds X................满X回合之后换地图

mp_winlimit X.................任一队胜X场便换图

mapcyclefile mapcycle.txt.....选择地图切换的设定档,内定为mapcycle.txt,可准备好几份设定档

关于踢人:

users.........................取得玩家IP的信息

status........................列出玩家id的信息

kick |〈#id〉...................踢人

banid 5 〈#id〉 kick............踢人,让他5分钟后才能进来,时间0=永远

mp_autokick 0.................睡死和TK三次后将不会被系统自动踢掉

mp_autoteambalance 1 .........双方队伍人数自动平衡

mp_hostagepenalty 22..........杀了22个人质或队友后会被系统自动踢掉

mp_limitteams 1...............队伍最大相差1人时,便不能选择加入

mp_kickpercent 0.6............票选踢人的人数要达到60%才会踢掉

maxplayers....................游戏允许的最大人数

bind podbotmenu...............设置机器人控制台的按纽

addbot .......................制造自己的理想机器人

关于遥控:

sv_password ..................设置进入游戏的密码

retry.........................玩家重新连接到当前的SERVER

rcon_password ................设置变身密码

rcon_password ................变身为AMD登入控制台

rcon_address IP...............在人数已满的情况下进入服务器,但不能玩

rcon say xx|“xx“..............发出死活均可看的公告,用 “xx“效果好

rcon addip 0 .................拒绝某个IP进入游戏,0表是永久,以分钟计

rcon addid 0 kick ............设定某个WON ID不准进入游戏,时间设定同上

关于鬼魂:

mp_fadetoblack 0..............这样死后画面变黑 活人可以看得到尸体

mp_chasecam 1.................设定观察员模式的玩家只能跟在别人的屁股

mp_forcechasecam 0............人死了:0自由观看、1只随队友、2视线在原地

关于互杀:

mp_friendlyfire 0.............设定不会杀伤队友

mp_friendly_genrade_damage 0..设定手榴弹不会丢伤队友

mp_tkpunish 0.................关闭伤害友军惩罚,下回合将被强行自杀

mp_falldamage 1...............可以跳楼自杀

client专用

关于爱好:

adjust_crosshair..............每打一次准心就会换颜色

exec 〈.cfg|.rc〉...............读取指定文件

hud_fastswitch 1..............快速换武器,按数字直接换出,不用再按鼠标

hud_centerid 1................显示人物名字放在屏幕中间

sensitivity 8.................鼠标移动速度

zoom_sensitivity_ratio 1.2....设定使用狙击镜时鼠标移动速度

name “新名字“.................换名字,活着的时候才能用

timeleft......................让你知道还有几分钟换地图

net_graph 3...................显示你的机器fps值

con_color “255 155 50“........黄色文字

listplayers...................显示玩家的数字ID

listmaps......................显示地图的数字ID

vote .........................玩家投票踢人

votemap 数字ID................玩家投票换地图

cmdlist.......................列出部分console指令 (可在后面加上指令的字母开头)

scr_conspeed 600..............设定console文字卷动速度

drawradar.....................显示雷达

hideradar.....................关闭雷达

maps 开头.....................列出已安装之地图档名,(只列出指定字母开头的文件名,*为所有地图)

exit(quit)....................完全退出游戏

cl_download_ingame 1..........下载其它玩家LOGO、贴图等

volume 0.8....................调整音量大小,实际音量为(volume/hisound)

hisound 1.000000..............设定音量最大值,实际音量为(volume/hisound)

bgmvolume 1.000000............背景音效音乐之音量大小

kill..........................自尽

关于录像:
record filename...............开始记录一个录像
playdemo filename.dem.........使用正常速度播放 filename.dem 录像
stop..........................停止录像

CONSOLE后备命令
SERVER端
pausable 0....................禁止客户端按暂停
mp_consistency 1..............限制模型更改,C4或武器容易让人发现
mp_flashlight 1...............可以使用手电筒
mp_footsteps 1................开启脚步声
mp_startmoney 800.............开始时的金钱数
sv_aim 0......................自动瞄准关闭
sv_bounce 1...................各种奖励金开启
sv_cheats 0...................可不可以使用内定秘技
sv_gravity 800................控制重力,800是正常重力,-999到999999
sv_stepsize 18................脚步大小
第2个回答  2006-01-18
准备工作:
用写字板打开你的config.cfg(cstrike目录下). 把console ""0.000000""
这行改为console ""1"".
然后在cstrike快捷方式里的程序地址后面添加
-console -zone 4096 -dev
如:C:SierraHalf-Lifehl.exe -console -zone 4096 -dev

什么是alias(宏)?
可以说脚本就是在一个个宏的基础上组建起来的,这也是我们必须了解的第一个问题
宏的大致格式是这样的:
alias [alias-name] ""[command 1]; [command 2]; [command #]....""
我们可以看出,宏实际上就是一系列指令的集合,所以,任何一个宏也可以应用到其他的宏中。

脚本中最常用的一些指令
menuselect # - #为1至9的一个数字.这个指令表示选择菜单中的第#个选项. 如:
例:alias joinct ""chooseteam; menuselect 2""
引号中的内容即表示选择team菜单的第2项,即CT这边
bind KEY COMMAND -
把某个特定的指令定义到某个键上.注意:'COMMAND'也可为一个宏.
如: bind ""k"" ""kill""
把kill这个指令定义到k上,这样你按k时就自杀了
又如: bind ""k"" ""joinct""
则你按k就会加入CT这边.
exec name.cfg -
导入某个cfg文件.HL每次进入游戏时会自动导入config.cfg和autoexec.cfg文件.
wait -
停滞一小会.脚本中的wait是为了让前指令执行完.使用多少wait要根据不同的电脑和网络情况而定,太多的wait就会引起lag,太少则可能使下一个指令来不及执行.

简单的宏
让我们先看一些最简单的宏来熟悉一下
打开autoexec.cfg,写入以下行:
alias hello ""say Welcome to CsChina.net!; wait; wait; kill; wait;
wait;say_team Welcome to CsChina.net!""
让我们看看这个宏的结构:
引号中为一个指令集,其中say这个指令的作用是对游戏中所有人说话,say_team则是对所有队友说话
注意:单个指令之间用分号;隔开
这个指令集被定义为一个名为hello的宏
别急,你还必须把刚刚制作的宏定义到某个键位上才能使用,进入游戏,在控制面版中敲入
bind ""k"" ""hello""
好了,现在让我们按K看看效果吧,hoho~~

宏的类型及简单脚本制作
脚本制作的基本概念我们已经比较清楚了,现在一起看一看宏的几种类型并将其应该到简单的脚本制作中
+/- aliases
其意义为当按住某个键时执行一个指令集,而松开此键时则执行另外一个指令集(注:这两个指令集可以相同也可以好不相干)
例:
alias +sayreload ""+reload;say_team Cover me while I reload!""
alias -sayreload ""-reload""
+/-
aliases,可以使你原本简单的动作更加多样化,如扩展开就是更复杂但更有效的Meta
binds(

Meta binds
Meta Binds实际上就是一种+/- alias,但不同的是,Meta
binds在松开定义键之后对该键重新做了定义(←Archangel注:此行用红色字体.)一定要注意这个区别,这将非常有助于理解这两种宏的类型。
让我们来看一个常见的制作快速买抢脚本的例子:
Example:
alias preset1 ""buy; menuselect 4; menuselect 6; buy; menuselect 6; buyequip;
menuselect 2""
//购买AWM、子弹以及防弹衣

alias preset2 ""buy; menuselect 3; menuselect 1; buy; menuselect 6; buyequip;
menuselect 1;""
//购买MP5、子弹以及防弹衣

alias preset3 ""buy; menuselect 2; menuselect 1; buy; menuselect 1;
menuselect 5; buy; menuselect 6; buy; menuselect 7; buyequip; menuselect 2""
//购买M3,beretta, 子弹,带头盔的防弹衣

alias preset4 ""buy; menuselect 1; menuselect 3; buy; menuselect 7""
//购买手雷和子弹

alias preset5 ""developer 1; echo Preset not set!; developer 0""
//在屏幕左上角显示该组合键未定义----Preset not set!
注:echo这个指令的意义为在屏幕左上角显示你所定义的信息

alias preset6 ""developer 1; echo Preset not set!; developer 0""
alias preset7 ""developer 1; echo Preset not set!; developer 0""
alias preset8 ""developer 1; echo Preset not set!; developer 0""
alias preset9 ""developer 1; echo Preset not set!; developer 0""
alias preset10 ""developer 1; echo Preset not set!; developer 0""
//同上

alias +toggle ""bind 1 preset1; bind 2 preset2; bind 3 preset3; bind 4
preset4; bind 5 preset5; bind 6 preset6; bind 7 preset7; bind 8 preset8;
bind 9 preset9; bind 0 preset10""

alias -toggle ""bind 1 slot1; bind 2 slot2; bind 3 slot3; bind 4 slot4; bind
5 slot5; bind 6 slot6; bind 7 slot7; bind 8 slot8; bind 9 slot9; bind 0
slot0""

bind alt ""+toggle""
这个脚本子后三行是关键所在,其意义为,当按住alt和某数字键时,执行脚本前半部定义的购枪指令集,而当松开alt键时,数字键则恢复为原功能,即切换枪支,这就是Meta
binds的意义所在!
其作用也是显而易见的:可以节省不少键位,并可以在常用键位上定义更多的指令集

Toggles
Toggles(开关)最典型的例子就是开关探照灯和夜视仪。让我们制作一个开关netgraph(状态显示,如FPS)的Toggle来熟悉和研究一下
Example:
alias ngon ""developer 1; echo Net Graph on; developer 0; net_graph 3; bind n
ngoff""
alias ngoff ""developer 1; echo Net Graph off; developer 0; net_graph 0; bind
n ngon""
bind n ""ngon""
这个脚本的作用即为用n键来开关netgraph,注意Toggle的特点,在第一个宏的末尾将n键定义到下一个宏,这实际上就形成了一种循环(cycling),但这个脚本显然并不能令人满意,因为它不能添加到键盘设置菜单中以便更快捷的调整,因为:请注意!该键被定义(bind)了两次。如何解决这个问题呢,稍稍改动即可。

Toggles(complex)
即为改进后的Toggles,其好处在于只需设定一个键位,仍然以netgraph开关为例
Example:
alias ngon ""developer 1; echo Net Graph on; developer 0; net_graph 3; alias
ng ngoff""
alias ngoff ""developer 1; echo Net Graph off; developer 0; net_graph 0;
alias ng ngon""
alias ng ""ngon""
bind n ""ng""
大家可以看到:两个宏的尾部都由原来的bind改为alias,在第三行把键单独定义,非常巧妙,不是吗?hoho~~
现在我们可以在键盘设置栏直接定义该键了,更重要的是:理解了这个技巧,我们就可以进入下一课-----循环

Cycle aliases
前面的toggle仅仅是两种情况的选择,即开和关,当我们面临更多种选择时怎么办呢?这就需要Cycle
aliases,还是看netgraph的例子,但这一次,我们要用n键选择不同的netgraph显示形式.
Example:
alias ng1 ""developer 1; echo Net Graph on, setting 1; developer 0; net_graph
1; alias ng ng2""
alias ng2 ""developer 1; echo Net Graph on, setting 2; developer 0; net_graph
2; alias ng ng3""
alias ng3 ""developer 1; echo Net Graph on, setting 3; developer 0; net_graph
3; alias ng ng4""
alias ng4 ""developer 1; echo Net Graph off; developer 0; net_graph 0; alias
ng ng1""
alias ng ""ng1""
bind n ""ng""
我们可以看到,在每一行的末尾都将键定义到下一个宏上,这就形成了循环.

制作自己的键位设置菜单
在前一章中我们提到键位设置菜单中添加自己的选项
这就是最后一节中我们将详细讲解的内容

打开你的half-lifecstrike目录下的gfx文件夹,用写字板打开其中的kb_act.lst文件,你可以看到这样一些内容:
""buyammo1"" ""Buy Primary Ammo (Optional)""
""buyammo2"" ""Buy Secondary Ammo (Optional)""
""buyequip"" ""Buy Equipment Menu (Optional)""
………… …………

左边就是宏的名称, 而右边则是你希望玩家在菜单中所看到的对这个宏的解释
好,现在我们有这么一个脚本
alias float_t ""float_on""
alias float_on ""alias float_t float_off; +moveup""
alias float_off ""alias float_t float_on; -moveup""
已经比较熟悉脚本制作的大家应该看的出来,这是一个一键游泳的toggle
怎样在菜单中也加上这个toggle的一栏呢?想必你也看出来了,对,只要在kb_act.lst的下面加上这么一行
""float_t"" ""Floating Toggler""
就一切搞定,就是这么简单,呵呵
一样,你还可以在菜单为你的脚本加个商标,加入下面行:
""blank"" ""You are running Version XXX of XXXX0""
进入游戏后你就可以看见你的大名也烙在了CS,帅 :>
另外kb_act.lst这个文件是有大小限制的,不过估计谁也写不了那么多

CS1.5常用控制台命令

首先,在你CS1.5快捷方式里加上 -console 参数,进入游戏,按 ~ 键(ESC下面的那个键)打开控制台,就可以输入命令了:

decalfrequency 30.............以秒计,玩家的logo30秒可喷一次,无上限时间

mp_buytime 0.25...............以分计,在15秒内可买东西,15~550秒

mp_c4timer 35.................以秒计,设定C4炸弹的爆炸时间为35秒,15~90秒

mp_freezetime 4...............以秒计,每一场开始前的购物静止4秒,0~9秒

mp_roundtime 3................以分计,每回合的时间为3分钟,1~9分

mp_timelimit 45...............以分计,即45分钟后游戏结束换地图,无上限时间

sv_restartround 1.............以秒计,设定1秒钟后刷新SERVER,无上限时间

关于换图:

changelevel ..................立刻换地图,所有USER不会离开游戏

mp_maxrounds X................满X回合之后换地图

mp_winlimit X.................任一队胜X场便换图

mapcyclefile mapcycle.txt.....选择地图切换的设定档,内定为mapcycle.txt,可准备好几份设定档

关于踢人:

users.........................取得玩家IP的信息

status........................列出玩家id的信息

kick |〈#id〉...................踢人

banid 5 〈#id〉 kick............踢人,让他5分钟后才能进来,时间0=永远

mp_autokick 0.................睡死和TK三次后将不会被系统自动踢掉

mp_autoteambalance 1 .........双方队伍人数自动平衡

mp_hostagepenalty 22..........杀了22个人质或队友后会被系统自动踢掉

mp_limitteams 1...............队伍最大相差1人时,便不能选择加入

mp_kickpercent 0.6............票选踢人的人数要达到60%才会踢掉

maxplayers....................游戏允许的最大人数

bind podbotmenu...............设置机器人控制台的按纽

addbot .......................制造自己的理想机器人

关于遥控:

sv_password ..................设置进入游戏的密码

retry.........................玩家重新连接到当前的SERVER

rcon_password ................设置变身密码

rcon_password ................变身为AMD登入控制台

rcon_address IP...............在人数已满的情况下进入服务器,但不能玩

rcon say xx|“xx“..............发出死活均可看的公告,用 “xx“效果好

rcon addip 0 .................拒绝某个IP进入游戏,0表是永久,以分钟计

rcon addid 0 kick ............设定某个WON ID不准进入游戏,时间设定同上

关于鬼魂:

mp_fadetoblack 0..............这样死后画面变黑 活人可以看得到尸体

mp_chasecam 1.................设定观察员模式的玩家只能跟在别人的屁股

mp_forcechasecam 0............人死了:0自由观看、1只随队友、2视线在原地

关于互杀:

mp_friendlyfire 0.............设定不会杀伤队友

mp_friendly_genrade_damage 0..设定手榴弹不会丢伤队友

mp_tkpunish 0.................关闭伤害友军惩罚,下回合将被强行自杀

mp_falldamage 1...............可以跳楼自杀

client专用

关于爱好:

adjust_crosshair..............每打一次准心就会换颜色

exec 〈.cfg|.rc〉...............读取指定文件

hud_fastswitch 1..............快速换武器,按数字直接换出,不用再按鼠标

hud_centerid 1................显示人物名字放在屏幕中间

sensitivity 8.................鼠标移动速度

zoom_sensitivity_ratio 1.2....设定使用狙击镜时鼠标移动速度

name “新名字“.................换名字,活着的时候才能用

timeleft......................让你知道还有几分钟换地图

net_graph 3...................显示你的机器fps值

con_color “255 155 50“........黄色文字

listplayers...................显示玩家的数字ID

listmaps......................显示地图的数字ID

vote .........................玩家投票踢人

votemap 数字ID................玩家投票换地图

cmdlist.......................列出部分console指令 (可在后面加上指令的字母开头)

scr_conspeed 600..............设定console文字卷动速度

drawradar.....................显示雷达

hideradar.....................关闭雷达

maps 开头.....................列出已安装之地图档名,(只列出指定字母开头的文件名,*为所有地图)

exit(quit)....................完全退出游戏

cl_download_ingame 1..........下载其它玩家LOGO、贴图等

volume 0.8....................调整音量大小,实际音量为(volume/hisound)

hisound 1.000000..............设定音量最大值,实际音量为(volume/hisound)

bgmvolume 1.000000............背景音效音乐之音量大小

kill..........................自尽

关于录像:
record filename...............开始记录一个录像
playdemo filename.dem.........使用正常速度播放 filename.dem 录像
stop..........................停止录像

CONSOLE后备命令
SERVER端
pausable 0....................禁止客户端按暂停
mp_consistency 1..............限制模型更改,C4或武器容易让人发现
mp_flashlight 1...............可以使用手电筒
mp_footsteps 1................开启脚步声
mp_startmoney 800.............开始时的金钱数
sv_aim 0......................自动瞄准关闭
sv_bounce 1...................各种奖励金开启
sv_cheats 0...................可不可以使用内定秘技
sv_gravity 800................控制重力,800是正常重力,-999到999999
sv_stepsize 18................脚步大小 可以了吗?
第3个回答  2006-01-29
准备工作:
用写字板打开你的config.cfg(cstrike目录下). 把console ""0.000000""
这行改为console ""1"".
然后在cstrike快捷方式里的程序地址后面添加
-console -zone 4096 -dev
如:C:SierraHalf-Lifehl.exe -console -zone 4096 -dev

什么是alias(宏)?
可以说脚本就是在一个个宏的基础上组建起来的,这也是我们必须了解的第一个问题
宏的大致格式是这样的:
alias [alias-name] ""[command 1]; [command 2]; [command #]....""
我们可以看出,宏实际上就是一系列指令的集合,所以,任何一个宏也可以应用到其他的宏中。

脚本中最常用的一些指令
menuselect # - #为1至9的一个数字.这个指令表示选择菜单中的第#个选项. 如:
例:alias joinct ""chooseteam; menuselect 2""
引号中的内容即表示选择team菜单的第2项,即CT这边
bind KEY COMMAND -
把某个特定的指令定义到某个键上.注意:'COMMAND'也可为一个宏.
如: bind ""k"" ""kill""
把kill这个指令定义到k上,这样你按k时就自杀了
又如: bind ""k"" ""joinct""
则你按k就会加入CT这边.
exec name.cfg -
导入某个cfg文件.HL每次进入游戏时会自动导入config.cfg和autoexec.cfg文件.
wait -
停滞一小会.脚本中的wait是为了让前指令执行完.使用多少wait要根据不同的电脑和网络情况而定,太多的wait就会引起lag,太少则可能使下一个指令来不及执行.

简单的宏
让我们先看一些最简单的宏来熟悉一下
打开autoexec.cfg,写入以下行:
alias hello ""say Welcome to CsChina.net!; wait; wait; kill; wait;
wait;say_team Welcome to CsChina.net!""
让我们看看这个宏的结构:
引号中为一个指令集,其中say这个指令的作用是对游戏中所有人说话,say_team则是对所有队友说话
注意:单个指令之间用分号;隔开
这个指令集被定义为一个名为hello的宏
别急,你还必须把刚刚制作的宏定义到某个键位上才能使用,进入游戏,在控制面版中敲入
bind ""k"" ""hello""
好了,现在让我们按K看看效果吧,hoho~~

宏的类型及简单脚本制作
脚本制作的基本概念我们已经比较清楚了,现在一起看一看宏的几种类型并将其应该到简单的脚本制作中
+/- aliases
其意义为当按住某个键时执行一个指令集,而松开此键时则执行另外一个指令集(注:这两个指令集可以相同也可以好不相干)
例:
alias +sayreload ""+reload;say_team Cover me while I reload!""
alias -sayreload ""-reload""
+/-
aliases,可以使你原本简单的动作更加多样化,如扩展开就是更复杂但更有效的Meta
binds(

Meta binds
Meta Binds实际上就是一种+/- alias,但不同的是,Meta
binds在松开定义键之后对该键重新做了定义(←Archangel注:此行用红色字体.)一定要注意这个区别,这将非常有助于理解这两种宏的类型。
让我们来看一个常见的制作快速买抢脚本的例子:
Example:
alias preset1 ""buy; menuselect 4; menuselect 6; buy; menuselect 6; buyequip;
menuselect 2""
//购买AWM、子弹以及防弹衣

alias preset2 ""buy; menuselect 3; menuselect 1; buy; menuselect 6; buyequip;
menuselect 1;""
//购买MP5、子弹以及防弹衣

alias preset3 ""buy; menuselect 2; menuselect 1; buy; menuselect 1;
menuselect 5; buy; menuselect 6; buy; menuselect 7; buyequip; menuselect 2""
//购买M3,beretta, 子弹,带头盔的防弹衣

alias preset4 ""buy; menuselect 1; menuselect 3; buy; menuselect 7""
//购买手雷和子弹

alias preset5 ""developer 1; echo Preset not set!; developer 0""
//在屏幕左上角显示该组合键未定义----Preset not set!
注:echo这个指令的意义为在屏幕左上角显示你所定义的信息

alias preset6 ""developer 1; echo Preset not set!; developer 0""
alias preset7 ""developer 1; echo Preset not set!; developer 0""
alias preset8 ""developer 1; echo Preset not set!; developer 0""
alias preset9 ""developer 1; echo Preset not set!; developer 0""
alias preset10 ""developer 1; echo Preset not set!; developer 0""
//同上

alias +toggle ""bind 1 preset1; bind 2 preset2; bind 3 preset3; bind 4
preset4; bind 5 preset5; bind 6 preset6; bind 7 preset7; bind 8 preset8;
bind 9 preset9; bind 0 preset10""

alias -toggle ""bind 1 slot1; bind 2 slot2; bind 3 slot3; bind 4 slot4; bind
5 slot5; bind 6 slot6; bind 7 slot7; bind 8 slot8; bind 9 slot9; bind 0
slot0""

bind alt ""+toggle""
这个脚本子后三行是关键所在,其意义为,当按住alt和某数字键时,执行脚本前半部定义的购枪指令集,而当松开alt键时,数字键则恢复为原功能,即切换枪支,这就是Meta
binds的意义所在!
其作用也是显而易见的:可以节省不少键位,并可以在常用键位上定义更多的指令集

Toggles
Toggles(开关)最典型的例子就是开关探照灯和夜视仪。让我们制作一个开关netgraph(状态显示,如FPS)的Toggle来熟悉和研究一下
Example:
alias ngon ""developer 1; echo Net Graph on; developer 0; net_graph 3; bind n
ngoff""
alias ngoff ""developer 1; echo Net Graph off; developer 0; net_graph 0; bind
n ngon""
bind n ""ngon""
这个脚本的作用即为用n键来开关netgraph,注意Toggle的特点,在第一个宏的末尾将n键定义到下一个宏,这实际上就形成了一种循环(cycling),但这个脚本显然并不能令人满意,因为它不能添加到键盘设置菜单中以便更快捷的调整,因为:请注意!该键被定义(bind)了两次。如何解决这个问题呢,稍稍改动即可。

Toggles(complex)
即为改进后的Toggles,其好处在于只需设定一个键位,仍然以netgraph开关为例
Example:
alias ngon ""developer 1; echo Net Graph on; developer 0; net_graph 3; alias
ng ngoff""
alias ngoff ""developer 1; echo Net Graph off; developer 0; net_graph 0;
alias ng ngon""
alias ng ""ngon""
bind n ""ng""
大家可以看到:两个宏的尾部都由原来的bind改为alias,在第三行把键单独定义,非常巧妙,不是吗?hoho~~
现在我们可以在键盘设置栏直接定义该键了,更重要的是:理解了这个技巧,我们就可以进入下一课-----循环

Cycle aliases
前面的toggle仅仅是两种情况的选择,即开和关,当我们面临更多种选择时怎么办呢?这就需要Cycle
aliases,还是看netgraph的例子,但这一次,我们要用n键选择不同的netgraph显示形式.
Example:
alias ng1 ""developer 1; echo Net Graph on, setting 1; developer 0; net_graph
1; alias ng ng2""
alias ng2 ""developer 1; echo Net Graph on, setting 2; developer 0; net_graph
2; alias ng ng3""
alias ng3 ""developer 1; echo Net Graph on, setting 3; developer 0; net_graph
3; alias ng ng4""
alias ng4 ""developer 1; echo Net Graph off; developer 0; net_graph 0; alias
ng ng1""
alias ng ""ng1""
bind n ""ng""
我们可以看到,在每一行的末尾都将键定义到下一个宏上,这就形成了循环.

制作自己的键位设置菜单
在前一章中我们提到键位设置菜单中添加自己的选项
这就是最后一节中我们将详细讲解的内容

打开你的half-lifecstrike目录下的gfx文件夹,用写字板打开其中的kb_act.lst文件,你可以看到这样一些内容:
""buyammo1"" ""Buy Primary Ammo (Optional)""
""buyammo2"" ""Buy Secondary Ammo (Optional)""
""buyequip"" ""Buy Equipment Menu (Optional)""
………… …………

左边就是宏的名称, 而右边则是你希望玩家在菜单中所看到的对这个宏的解释
好,现在我们有这么一个脚本
alias float_t ""float_on""
alias float_on ""alias float_t float_off; +moveup""
alias float_off ""alias float_t float_on; -moveup""
已经比较熟悉脚本制作的大家应该看的出来,这是一个一键游泳的toggle
怎样在菜单中也加上这个toggle的一栏呢?想必你也看出来了,对,只要在kb_act.lst的下面加上这么一行
""float_t"" ""Floating Toggler""
就一切搞定,就是这么简单,呵呵
一样,你还可以在菜单为你的脚本加个商标,加入下面行:
""blank"" ""You are running Version XXX of XXXX0""
进入游戏后你就可以看见你的大名也烙在了CS,帅 :>
另外kb_act.lst这个文件是有大小限制的,不过估计谁也写不了那么多

CS1.5常用控制台命令

首先,在你CS1.5快捷方式里加上 -console 参数,进入游戏,按 ~ 键(ESC下面的那个键)打开控制台,就可以输入命令了:

decalfrequency 30.............以秒计,玩家的logo30秒可喷一次,无上限时间

mp_buytime 0.25...............以分计,在15秒内可买东西,15~550秒

mp_c4timer 35.................以秒计,设定C4炸弹的爆炸时间为35秒,15~90秒

mp_freezetime 4...............以秒计,每一场开始前的购物静止4秒,0~9秒

mp_roundtime 3................以分计,每回合的时间为3分钟,1~9分

mp_timelimit 45...............以分计,即45分钟后游戏结束换地图,无上限时间

sv_restartround 1.............以秒计,设定1秒钟后刷新SERVER,无上限时间

关于换图:

changelevel ..................立刻换地图,所有USER不会离开游戏

mp_maxrounds X................满X回合之后换地图

mp_winlimit X.................任一队胜X场便换图

mapcyclefile mapcycle.txt.....选择地图切换的设定档,内定为mapcycle.txt,可准备好几份设定档

关于踢人:

users.........................取得玩家IP的信息

status........................列出玩家id的信息

kick |〈#id〉...................踢人

banid 5 〈#id〉 kick............踢人,让他5分钟后才能进来,时间0=永远

mp_autokick 0.................睡死和TK三次后将不会被系统自动踢掉

mp_autoteambalance 1 .........双方队伍人数自动平衡

mp_hostagepenalty 22..........杀了22个人质或队友后会被系统自动踢掉

mp_limitteams 1...............队伍最大相差1人时,便不能选择加入

mp_kickpercent 0.6............票选踢人的人数要达到60%才会踢掉

maxplayers....................游戏允许的最大人数

bind podbotmenu...............设置机器人控制台的按纽

addbot .......................制造自己的理想机器人

关于遥控:

sv_password ..................设置进入游戏的密码

retry.........................玩家重新连接到当前的SERVER

rcon_password ................设置变身密码

rcon_password ................变身为AMD登入控制台

rcon_address IP...............在人数已满的情况下进入服务器,但不能玩

rcon say xx|“xx“..............发出死活均可看的公告,用 “xx“效果好

rcon addip 0 .................拒绝某个IP进入游戏,0表是永久,以分钟计

rcon addid 0 kick ............设定某个WON ID不准进入游戏,时间设定同上

关于鬼魂:

mp_fadetoblack 0..............这样死后画面变黑 活人可以看得到尸体

mp_chasecam 1.................设定观察员模式的玩家只能跟在别人的屁股

mp_forcechasecam 0............人死了:0自由观看、1只随队友、2视线在原地

关于互杀:

mp_friendlyfire 0.............设定不会杀伤队友

mp_friendly_genrade_damage 0..设定手榴弹不会丢伤队友

mp_tkpunish 0.................关闭伤害友军惩罚,下回合将被强行自杀

mp_falldamage 1...............可以跳楼自杀

client专用

关于爱好:

adjust_crosshair..............每打一次准心就会换颜色

exec 〈.cfg|.rc〉...............读取指定文件

hud_fastswitch 1..............快速换武器,按数字直接换出,不用再按鼠标

hud_centerid 1................显示人物名字放在屏幕中间

sensitivity 8.................鼠标移动速度

zoom_sensitivity_ratio 1.2....设定使用狙击镜时鼠标移动速度

name “新名字“.................换名字,活着的时候才能用

timeleft......................让你知道还有几分钟换地图

net_graph 3...................显示你的机器fps值

con_color “255 155 50“........黄色文字

listplayers...................显示玩家的数字ID

listmaps......................显示地图的数字ID

vote .........................玩家投票踢人

votemap 数字ID................玩家投票换地图

cmdlist.......................列出部分console指令 (可在后面加上指令的字母开头)

scr_conspeed 600..............设定console文字卷动速度

drawradar.....................显示雷达

hideradar.....................关闭雷达

maps 开头.....................列出已安装之地图档名,(只列出指定字母开头的文件名,*为所有地图)

exit(quit)....................完全退出游戏

cl_download_ingame 1..........下载其它玩家LOGO、贴图等

volume 0.8....................调整音量大小,实际音量为(volume/hisound)

hisound 1.000000..............设定音量最大值,实际音量为(volume/hisound)

bgmvolume 1.000000............背景音效音乐之音量大小

kill..........................自尽

关于录像:
record filename...............开始记录一个录像
playdemo filename.dem.........使用正常速度播放 filename.dem 录像
stop..........................停止录像

CONSOLE后备命令
SERVER端
pausable 0....................禁止客户端按暂停
mp_consistency 1..............限制模型更改,C4或武器容易让人发现
mp_flashlight 1...............可以使用手电筒
mp_footsteps 1................开启脚步声
mp_startmoney 800.............开始时的金钱数
sv_aim 0......................自动瞄准关闭
sv_bounce 1...................各种奖励金开启
sv_cheats 0...................可不可以使用内定秘技
sv_gravity 800................控制重力,800是正常重力,-999到999999
sv_stepsize 18................脚步大小
第4个回答  2006-01-26
不知道你研究脚本是为了打游戏还是为了研究1.5版本本身,如果是为了打比赛,我可以告诉你,一些可以修改的命令,因为有些命令是服务器锁定的不用调也会所订到默认值。
首先,在你的cs1.5的快捷方式中打开属性在cs.exe后加一个命令,像这样cs.exe -console这个命令的作用就是在你打cs的时候可以打开控制台,然后修改相应的参数
然后进入游戏,摁键盘1前面那个键调出控制台
键入sensitivity空格加入相应的数字,可以调你的鼠标速度,高手一般都是2.0-3.0之间。
键入name"名字 " 可以在游戏中更改你的名字
cl_cmdrate "101"
cl_updaterate "101"
rate 25000
这些都是网络参数,,这样设置可以试运行更流畅,当然也是和你的网络有关系
建议 rate 20000 cl_updaterate 80 cl_cmdrate 101
fps_max "100"
这是你的刷新率,最大值是100所以建议这样设置
cl_dynamiccrosshair “1“
这个参数可以改为1或0 据我个人使用感觉 1的话扫射比较准0的话点射比较准,你可以随便设置,看你适合扫射还是点射
ex_intep 0.1 这个指令对于1.5来说不能改,如果把0.1改低甚至改为0可以使你的枪更准子弹更不容易散。
其他参数基本不会对游戏产生多大影响最好不要改。
如果你要自己制作1.5服务器,或当服务器的OP你看看上面的一些服务器设置的命令就可以了,
最后给你一个Hyper的cfg,进入1.5文件夹,找到cs文件夹进入,把里面的默认cfg(选择记事本打开)删除并换成:

unbindall
bind "TAB" "+showscores"
bind "ENTER" "+attack"
bind "ESCAPE" "cancelselect"
bind "SPACE" "+attack2"
bind "'" "+moveup"
bind "+" "sizeup"
bind "," "+moveleft"
bind "-" "sizedown"
bind "." "+moveright"
bind "/" "+movedown"
bind "0" "slot10"
bind "1" "slot1"
bind "2" "slot2"
bind "3" "slot3"
bind "4" "slot4"
bind "5" "slot5"
bind "6" "slot6"
bind "7" "slot7"
bind "8" "slot8"
bind "9" "slot9"
bind ";" "+mlook"
bind "=" "sizeup"
bind "[" "invprev"
bind "]" "invnext"
bind "`" "toggleconsole"
bind "a" "+moveleft"
bind "c" "buyammo2"
bind "d" "+moveright"
bind "e" "+use"
bind "g" "lastinv"
bind "i" "timeleft"
bind "j" "radio1"
bind "k" "radio2"
bind "l" "radio3"
bind "m" "chooseteam"
bind "o" "stopsound"
bind "q" "drop"
bind "r" "+reload"
bind "s" "+back"
bind "t" "impulse 201"
bind "u" "messagemode2"
bind "v" "buyequip"
bind "w" "+forward"
bind "x" "buyammo1"
bind "y" "messagemode"
bind "z" "buy"
bind "~" "toggleconsole"
bind "LEFTARROW" "+left"
bind "RIGHTARROW" "+right"
bind "ALT" "+strafe"
bind "CTRL" "+duck"
bind "SHIFT" "+speed"
bind "F6" "sw2"
bind "F7" "slowmotion"
bind "F8" "pauser"
bind "F9" "fastforward"
bind "F10" "fw2"
bind "F12" "snapshot"
bind "INS" "+klook"
bind "DEL" "retry"
bind "PGDN" "+lookdown"
bind "PGUP" "+lookup"
bind "END" "centerview"
bind "MWHEELDOWN" "invnext"
bind "MWHEELUP" "invprev"
bind "MOUSE1" "+attack"
bind "MOUSE2" "+jump"
bind "PAUSE" "pause"
voice_scale "0.750000"
voice_enable "1"
voice_forcemicrecord "1.000000"
console "1"
fps_max "101"
fps_modem "0"
crosshair "1.000000"
gamma "3"
brightness "1"
con_color "255 255 255"
net_graph "3"
net_scale "5"
net_graphpos "2"
sv_voiceenable "1"
sv_aim "0.000000"
hpk_maxsize "0"
viewsize "110.000000"
ati_subdiv "2.0"
ati_npatch "1.0"
r_bmodelhighfrac "5"
mp_decals "300.000000"
gl_dither "1"
gl_polyoffset "0.1"
gl_overbright "0"
gl_flipmatrix "0"
gl_monolights "0"
s_rolloff "1"
s_doppler "0"
s_distance "60"
s_automin_distance "2"
s_automax_distance "30"
s_min_distance "5"
s_max_distance "1000"
s_leafnum "0"
s_refgain "0.4"
s_refdelay "4"
s_polykeep "1000000000"
s_polysize "10000000"
s_numpolys "200"
s_bloat "2"
s_verbwet "0.25"
s_a3d "0"
s_eax "1.000000"
volume "0.25"
suitvolume "0.250000"
hisound "1.000000"
bgmvolume "1.000000"
MP3Volume "0.800000"
_snd_mixahead "0.1"
name "mTw | Hyper"
team ""
model "gordon"
skin ""
topcolor "30"
bottomcolor "6"
rate "25000.000000"
cl_updaterate "80"
cl_lw "1"
cl_lc "1"
cl_dlmax "128"
cl_himodels "0.000000"
cl_idealpitchscale "0.8"
cl_timeout "35"
cl_cmdbackup "2"
cl_download_ingame "1"
cl_allowdownload "1"
cl_allowupload "1"
cl_cmdrate "101"
lookstrafe "0.000000"
lookspring "0.000000"
cl_forwardspeed "400"
cl_backspeed "400"
cl_vsmoothing "0.05"
m_pitch "0.022"
m_yaw "0.022"
m_forward "1"
m_side "0.8"
m_filter "0.000000"
sensitivity "1.800000"
joystick "0.000000"
hud_takesshots "0"
fastsprites "0"
cl_corpsestay "180.000000"
_cl_autowepswitch "1"
hud_capturemouse "1"
hud_draw "1"
cl_righthand "1"
cl_minmodels "1"
cl_dynamiccrosshair "1"
hud_fastswitch "1"
hud_centerid "1"
voice_modenable "1"
hud_classautokill "1"
setinfo "_vgui_menus" "0"
setinfo "_ah" "0"
setinfo "s" "67108863"
setinfo "s2" "67108863"
setinfo "s3" "67108863"
+mlook
+jlook
非常好用
相似回答