CS脚本编写制作教程

社区服务
高级搜索
猴岛论坛CSGO反恐精英CS脚本编写制作教程
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
13个回复

CS脚本编写制作教程

楼层直达
741236985_h

ZxID:1264212

等级: 上等兵
举报 只看楼主 使用道具 楼主   发表于: 2007-09-23 0
首先要了解什么是脚本? 

脚本(Script),就是含有bind和alias等命令的集合,你可以把这个集合存为一个独立的文件然后在需要的时候执行,这样就可以方便你在CS中的使用。 

脚本可以存为后缀名为.cfg的文件放在cstrike文件夹下,执行时在控制台输入:exec (脚本文件名).cfg 即可。比如将一个脚本存为buys.cfg文件,则在控制台中输入:exec buys.cfg则可以实现我们所需要的功能。要实现一个命令只要把这一过程定义(alias)好,并且分配一个键位给这个命令,以后只要按分配好的键位,就可以实现这一过程。所有的脚本都是通过这一方法实现的。 

语句简介: 

1. alias语句是参数赋值用,语法为alias 参数名 "数值" 

2. bind语句为绑定命令,就是把某个alias赋值的参数绑到某个键。具体的语法为bind "键名" "参数名" 

3. "buy"相当于按下"b"键; 

  "buyequip"相当于按下"o"键; 

  "menuselect x"就是对应购买菜单的号码。 

举两个例子: 

  * 你要买ak47,那你在开局时会按b-->4-->1, 
       
      对应的脚本就是buy; menuselect 4; menuselect 1;(中间用分号隔开) 
     

  * 你要买手雷和1个闪光弹的话,那你在开局时会按o-->4,o-->3, 

      对应的脚本就是buyequip; menuselect 4; buyequip; menuselect 3; 

      注意bind键不能冲突,否则先bind的无效 

什么是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" //(注:相当于b-3-1) 

alias buyv "buy;menuselect 8;menuselect 1" //(注:相当于b-8-1) 

alias buysay "buym;buyv;hw"  //(注:组合定义到一起) 

bind j "buysay" //(注:组合再定义到J键) 

则表示当你执行buysay命令(注:按J键即可)后,购买MP5和普通防弹衣,然后对服务器里所有的玩家说Hello World!这句话。 

此alias实现的方法为: 

第一步执行buym命令,buym命令已经定义好为"打开购买菜单;选择菜单第3项;再选择菜单第1项",即实现了购买MP5的功能; 

第二步执行buyv命令,buyv命令已经定义好为"打开购买菜单;选择菜单第8项;再选择菜单第1项",即实现了购买普通防弹衣的功能; 

第三步执行之前已经定义好的hw命令:对服务器里所有的玩家说Hello World!这句话。 

把这三步命令定义为一个新的命令buysay,然后用bind命令分配一个键给这个新的命令,则当你按下j键后就实现了这三步命令的功能。 

注意: 

alias语句在Half-Life Counter-Strike里不能超过259个字符即下面这行字符的长度(一般也超不到这里来的) 

"------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------" 

最长就这么长哦 

下面是进阶玩家需要看的基本式脚本: 
 
1、在脚本文件中//作用为注释,CS系统不会执行//后的文字。如在脚本中加入: 

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

2、在脚本文件中" "作用为alias的开始和结束标志;在脚本文件中;的作用是分开两条命令语句。 

3、首先你必须了解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" 

  这对我们编辑较长的脚本时十分有用。 

4、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命令。 

几个比较常用的脚本: 

// 蹲跳脚本 

// 就是用超级跳代替普通跳。 

alias +cjump "+jump; +duck" 

alias -cjump "-jump; -duck" 

bind "space" "+cjump" (把超级跳bind到空格键) 


// 拆弹掩护脚本 

// 当你拆弹时通知队友掩护你,把拆弹bind到某键。 

alias +defuse "+use; radio1; menuselect 1; slot10; say_team Cover me I'm defusing the bomb" 

alias -defuse "-use; slot10" 

bind "d" "+defuse" (把拆弹掩护bind到d键) 


// 放弹掩护脚本 

// 当你放boom时通知队友掩护你,bind到b键。 

alias +bomb "weapon_c4; +duck; +attack; wait; radio1; menuselect 1; slot10; say_team Cover me I'm planting the bomb" 

alias -bomb "-duck; -attack; slot10" 

bind "b" "+bomb" (把放弹掩护bind到b键) 


// 人质营救脚本 

// 这个脚本把“use"加到跳中,你要做的就是跳到人质的附近就可以救他们了。 

alias +jumpres "+jump; wait; +use" 

alias -jumpres "-jump; wait; -use" 

bind "enter" "+jumpres" (bind到“enter”键) 


// 停止换弹夹 

// 这个脚本可以停止当前武器的换弹夹并快速换回当前武器。 

alias reload_stop "weapon_knife; wait; wait; wait; lastinv" 

bind "q" "reload_stop" (bind到q键) 


// 蹲走脚本 

// 这个脚本允许你无需按着一个键蹲下,可以按一下蹲,再按一下站。 

alias duck_t "duck_on" 

alias duck_on "alias duck_t duck_off; +duck; developer 1; echo Ducking enabled; developer 0" 

alias duck_off "alias duck_t duck_on; -duck; developer 1; echo Standing enabled; developer 0" 

bind "x" "duck_t" (bind到x键) 


// 跑走脚本 

// 这个脚本允许你无需按着一个键走,可以按一下走,再按一下跑。 

alias walk_t "walk_on" 

alias walk_on "alias walk_t walk_off; +speed; developer 1; echo alking enabled; developer 0" 

alias walk_off "alias walk_t walk_on; -speed; developer 1; echo Running enabled; developer 0" 

bind "w" "walk_t" (bind到w键) 


// 快速劈刀子脚本1 

// 当你按着一个键时,会换成刀子用第一种方式连续砍劈,当你放开按键时换回原来的武器。 

alias +qslash "weapon_knife; wait; +attack" 

alias -qslash "-attack; lastinv" 

bind "alt" "+qslash" (bind到Alt键) 


// 快速劈刀子脚本2 

// 当你按着一个键时,会换成刀子用第二种方式连续砍劈,当你放开按键时换回原来的武器。 

alias +qstab "weapon_knife; wait; +attack2" 

alias -qstab "-attack2; wait; lastinv" 

bind "alt" "+qstab" (bind到Alt键) 

******************************* 

// 一键购买装备脚本,每个脚本必须包括mclr和w3两行才完整。 

alias +armor "buyequip; menuselect 1" // 买防弹衣 

alias -armor "mclr; mclr" 

alias clmenu "wait;wait;wait;slot10;wait;wait;slot10" 

希望本文对大家了解及修改脚本有所帮助。。! 
本人\\\\//// 国际通缉犯:
  (-●●-) 
   \ · / 性别:男
   \)/  特征:手持AWP和AK的俊男,只会暴头,枪法潇洒!跑位风骚~~美国意识,
德国纪律,巴西走位,瑞典枪法一流装备齐全,曾一次性射杀敌90人,刀砍33人,开车撞死49
独々存

ZxID:1270856

等级: 禁止发言

举报 只看该作者 沙发   发表于: 2007-09-23 0
我只会打,不会搞这个~~~~~~
zjx_75

ZxID:1251436

等级: 大尉
有的人因为太重要,便选择做朋友,因为朋友永远比恋人走的远。
举报 只看该作者 板凳   发表于: 2007-09-23 0
太难拉!我不行!继续学习!
35557995

ZxID:1271332

等级: 新兵
举报 只看该作者 地板   发表于: 2007-09-24 0
太难拉!我不行!继续学习!  还是好好学习哦
why0416

ZxID:1227802

等级: 少校
举报 只看该作者 4楼  发表于: 2007-09-27 0
太好了,就是难了点!!!学不会!
啊,法克鱿
skyfian

ZxID:1203133

等级: 新兵
举报 只看该作者 5楼  发表于: 2007-09-27 0
dddddddddddddddddddddd
skyfian

ZxID:1203133

等级: 新兵
举报 只看该作者 6楼  发表于: 2007-09-27 0
ddddddddddddddddddddddddd
larjmy

ZxID:1267408

等级: 新兵
举报 只看该作者 7楼  发表于: 2007-09-27 0
辛苦了!!!
aleakwolson

ZxID:1230844

等级: 禁止发言

举报 只看该作者 8楼  发表于: 2007-09-28 0
已经发过。。。!
royzhangqian

ZxID:1162505

等级: 新兵
举报 只看该作者 9楼  发表于: 2007-09-28 0
赌东道赌东道赌东道的
1202834550

ZxID:1021108

等级: 大校
漫步人生
举报 只看该作者 10楼  发表于: 2007-09-28 0
挺好的~~不错!!!
但我就是学不会~~太笨了!
wlw0045

ZxID:1054387

等级: 列兵
举报 只看该作者 11楼  发表于: 2007-09-28 0
hao  ~~~~~~~~~~
wlw0045

ZxID:1054387

等级: 列兵
举报 只看该作者 12楼  发表于: 2007-09-28 0
donhg ~~~~~~~~~~~`
z651381682

ZxID:1244748

等级: 中尉
举报 只看该作者 13楼  发表于: 2007-09-28 0
asdadasdasd
« 返回列表
发帖 回复