CS脚本详解..(申精)

社区服务
高级搜索
猴岛论坛CSGO反恐精英CS脚本详解..(申精)
发帖 回复
正序阅读 最近浏览的帖子最近浏览的版块
5个回复

CS脚本详解..(申精)

楼层直达
fy9233

ZxID:1239620

等级: 新兵
人生自古谁无死,谁能大便不带纸
举报 只看楼主 使用道具 楼主   发表于: 2007-08-28 0
CS脚本详解 第 1 楼 
 
 
 
首先介绍脚本的基本知识:
  什么是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)一个键位给这个命令,以后只要按分配好的键位,就可以实现这一过程。所有的脚本都是通过这一方法实现的。
 
基本式脚本:

  在脚本文件中//作用为注释,CS系统不会执行//后的文字。如在脚本中加入:

  // 单身的至尊宝制作

  系统并不会管理这行文字而是忽略掉//及之后的文字。

  在脚本文件中" "作用为alias的开始和结束标志。

  在脚本文件中;的作用是分开两条命令语句。

  首先你必须了解developer这一命令这是关于调试信息的命令:在控制台输入developer 1后所有载控制台中显示的信息都会在游戏的屏幕上显示出来。相反输入developer 0则关闭显示信息。注意:这些信息只是你本身的客户端能看到,并不会发送的其他的玩家那里。

  比如我想要在屏幕的上方显示This Script Edited by Nick这条信息,可以在控制台中用命令echo This Script Edited by Nick实现,但在游戏时是不可能看得到的(被控制台挡住了)怎样实现呢?我们可以用一个alias脚本实现:

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

  然后bind v "nick" 关闭/隐藏控制台后在你按下v键后屏幕的上方就会显示This Script Edited by Nick这条信息。

  其次你可以使用alias语句使一些系统默认的命令简化,如:

  alias dvon "developer 1"

  alias dvoff "developer 0"

  则上一条脚本可以简化成:

  alias nick "dvon; echo This Script 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命令。 


购买式脚本:

  首先了解购买式脚本的基本命令:

  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值<50时使用)

  alias "clmenu" "alias clmping clmenu400;wait;wait;wait;slot10;wait;wait;slot10"

  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; "//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使脚本编写时变得更方便也更简洁。

  然后开始编写购买脚本:

  //----------------------------- //| 一键买木仓 |

  //-----------------------------

  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]" //买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]" //买SG552/Aug和所有子弹

  alias "awp" "buy;menuselect 4;menuselect 6;fammo;clmenu;say_team I am Take [AWM/P]" //买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]" //买G3SG-1/SG550和所有子弹

  alias "mp5" "buy;menuselect 3;menuselect 1;fammo;clmenu;say_team I am Take [H&K MP5 Navy]" //买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]" //买TMP/Mac-10和所有子弹

  alias "p90" "buy;menuselect 3;menuselect 3;fammo;clmenu;say_team I am Take [FN P90]" //买P90和所有子弹

  alias "ump45" "buy;menuselect 3;menuselect 5;fammo;clmenu;say_team I am Take [UMP45]" //买UMP45和所有子弹

  alias "m3" "buy;menuselect 2;menuselect 1;fammo;clmenu;say_team I am Take [M3 Super 90 Entry]" //买M3和所有子弹

  alias "xm1014" "buy;menuselect 2;menuselect 2;fammo;clmenu;say_team I am Take [XM 1014]" //买xm1014和所有子弹

  alias "m249" "buy;menuselect 5;menuselect 1;fammo;clmenu;say_team I am Take [FN M249 Para]" //买M249和所有子弹

  alias "scout" "buy;menuselect 4;menuselect 5;fammo;clmenu;say_team I am Take [Scout]" //买scout和所有子弹

  alias "usp" "buy;menuselect 1;menuselect 1;fammo;clmenu;say_team I am Take [USP.45ACP Tactical]" //买usp和所有子弹

  alias "glock" "buy;menuselect 1;menuselect 2;fammo;clmenu;say_team I am Take [Glock 18C]" //买glock和所有子弹

  alias "deagle" "buy;menuselect 1;menuselect 3;fammo;clmenu;say_team I am Take [Desert Eagle .50AE]" //买Desert Eagle .50AE沙漠之鹰和所有子弹

  alias "p228" "buy;menuselect 1;menuselect 4;fammo;clmenu;say_team I am Take [Sig P228]" //买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]" //买elite/57和所有子弹

  //-----------------------------

  //| 一键买装备|

  //-----------------------------

  alias "armour" "buyequip;menuselect 1;clmenu;say_team I am Buy [Kevlar Vest]" //买防弹衣

  alias "bh-armour" "buyequip;menuselect 2;clmenu;say_team I am Buy [Kevlar Vest & Helmet]" //买防弹衣和头盔

  alias "n-g" "buyequip;menuselect 7;clmenu;say_team I am Buy [NightVision Goggles]" //买夜视仪

  alias "flashbang" "buyequip;menuselect 3;buyequip;menuselect 3;clmenu;say_team I am Buy [Flashbang]" //买闪光弹

  alias "HE-ge" "buyequip;menuselect 4;clmenu;say_team I am Buy [HE Grenade]" //买高爆手雷

  alias "sm-ge" "buyequip;menuselect 5;clmenu;say_team I am Buy [Smoke Grenade]" //买烟雾弹

  alias "defuser" "buyequip;menuselect 6;clmenu;say_team I am Take [Defuse Kit]" //买拆弹器
//| 打包购买|

  //-----------------------------

  //买防弹衣MP5、满的主弹夹、和手雷

  alias "SMG1" "buyequip;menuselect 1;buy;menuselect 3;menuselect 1;wammo;buyequip;menuselect 4; clmenu;say_team I am Buy [MP5 Value Pack]"

  //买防弹衣和头盔、MP5、Desert Eagle .50AE沙漠之鹰、满的所有弹夹和三种手雷、拆弹器

  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]"

  //买防弹衣和头盔、M4A1或AK47、满的主弹夹、手雷和2个闪光弹、拆弹器

  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]"

  //买防弹衣、SG552或Aug、满的主弹夹、手雷和1个闪光弹、拆弹器

  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、满的主弹夹、沙漠之鹰、2个手木仓弹夹、手雷和2个闪光弹、拆弹器

  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]"

  //买防弹衣、AWM/P、满的主弹夹、手雷

  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]"

  //变位购买增强包

  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命令实现),这在团队比赛时十分有用。

  买木仓脚本的实现实际上就是打开菜单->选择要购买木仓支/装备的类型->再选择要购买的项目->关闭菜单这一过程。
aleakwolson

ZxID:1230844

等级: 禁止发言

举报 只看该作者 5楼  发表于: 2007-08-29 0
老帖子拉~~  
fy9233

ZxID:1239620

等级: 新兵
人生自古谁无死,谁能大便不带纸
举报 只看该作者 4楼  发表于: 2007-08-28 0
沙发~~  
fy9233

ZxID:1239620

等级: 新兵
人生自古谁无死,谁能大便不带纸
举报 只看该作者 地板   发表于: 2007-08-28 0
//| 模拟上网的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.3时闲来无事时编写的一个综合型的脚本,您能看的懂么?(看懂了,应该就已经全学会了,呵呵。)

  //Quick AWP Attack

  //first You Must Bind a Key to "qawpsw"

  //second you must have a AWP (buy/pick)

  //than this key will switch your AWP fire Mode in Normal Attack / Quick AWP Click Attack / Quick AWP Release Attack

  //Note: Not to use this script in the team match,it's important!

  //Create by Nick Cable,12/16/2001

  alias qawpsw qawpm1

  alias lw "wait;wait;wait;wait;wait;wait;wait;wait;wait;wait"

  alias qawpt "bind MOUSE2 +attack2;bind MOUSE1 +attack"

  alias +qawpa1 "+attack2;wait;-attack2"

  alias -qawpa1 "+attack;wait;-attack;qawpmn;lastinv"

  alias +qawpa2 "weapon_awp;wait"

  alias -qawpa2 "+attack2;wait;-attack2;+attack;wait;-attack;qawpmn;lastinv"

  alias +qawpa3 "weapon_awp;lw;lw;lw;lw"

  alias -qawpa3 "+attack2;wait;-attack2;+attack;wait;-attack;qawpmn;lastinv"

  alias +qawpa4 "weapon_awp;lw;lw;lw;wait;wait;wait;+attack2;wait;-attack2;+attack;wait;-attack"

  alias -qawpa4 "qawpmn;lastinv"

  alias qawpm1 "qawpt;weapon_awp;bind MOUSE1 +qawpa1; dvon; echo Quick AWP Release Attack1; dvoff; alias qawpsw qawpm2"

  alias qawpm2 "qawpt;bind MOUSE2 +qawpa2; dvon; echo Quick AWP Release Attack2; dvoff; alias qawpsw qawpm3"

  alias qawpm3 "qawpt;bind MOUSE1 +qawpa3; dvon; echo Quick AWP Click Attack1; dvoff; alias qawpsw qawpm4"

  alias qawpm4 "qawpt;bind MOUSE2 +qawpa4; dvon; echo Quick AWP Click Attack2; dvoff; alias qawpsw qawpmn"

  alias qawpmn "qawpt; dvon; echo Normal Attack; dvoff; alias qawpsw qawpm1;bind kp_del qawpsw" 
fy9233

ZxID:1239620

等级: 新兵
人生自古谁无死,谁能大便不带纸
举报 只看该作者 板凳   发表于: 2007-08-28 0
循环式脚本:

  循环式脚本实际上就是开关式脚本的多种选择项时的情况,其格式为:

  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!

  大家还可以参考我在打包购买脚本里的变位购买脚本那一部分来熟悉变位分配式脚本
综合运用的例子:

  综合运用以上的6种模式的脚本,能使你的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" 
fy9233

ZxID:1239620

等级: 新兵
人生自古谁无死,谁能大便不带纸
举报 只看该作者 沙发   发表于: 2007-08-28 0
开关式脚本:

  开关式脚本的格式为:

  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命令隐藏雷达。如此雷达的开关功能就实现了。
« 返回列表
发帖 回复