`
ivfh
  • 浏览: 58753 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

脚本是在

阅读更多
   

大家交流下挂机经验,好的可以一起分享,不懂的提问解答.脚本帖请发此帖,请勿灌水,谢谢!!

 

KCC脚本经典窍门(转载TJ论坛)

============变量篇

变量其实就是数值可变的一个存数据的东西,他的值的不同表示不同的意思,通过判断这个值来实现知道下一步该怎么做
$_开头的是天骥自带的系统变量,他的值都时刻表示当前的信息
$_当前地图 是外挂的脚本环境自己带的,和自己设置的有区别





====================最基本的东西


<>
返回

这个是有标记的,最后是以返回结尾的就是子脚本
子脚本  要用   “调用”


躲避PKER开启  表示以后被PK的话会躲避
躲避PKER关闭  与之对应



==================很基本但也很实用的循环



<地图判断>
跳转到<$_当前地图>

边打边走到门点[$_当前地图,XX,XX]
跳转到<地图判断>

边打边走到门点[$_当前地图,XX,XX]
跳转到<地图判断>

边打边走到门点[$_当前地图,XX,XX]
跳转到<地图判断>

如果[当前地图名]=$_当前地图
那么跳转到<$_当前地图>


随机移动[$_当前地图,$_当前X,$_当前Y]



==================判断身上装备有无

[$衣服][数量]=0  ======= 判断背包里面有没有衣服
  
如果[自己][衣服][名称]=""  ========判断身上

&& 是“并且”的意思

|| 是“或者”的意思

<> 是 "不等于"的意思
..........................

如果如果[自己][衣服][持久]<2 || [自己][武器][持久]<3 || [自己][头盔][持久]<2 || [自己][项链][持久]<2 ||[自己][左手镯][持久]<2 || [自己][右手镯][持久]<2 || [自己][左戒指][持久]<2 || [自己][右戒指][持久]<2

那么调用<装备修理>


判断身上和背包没有装备就去买

如果[$衣服][数量]<1 && [自己][衣服][名称]<>$衣服
那么调用<衣服购买>


..........................


如果[本机时间]>=00:00:00 && [本机时间]>=00:01:00
那么$战斗地图=萧少家
那么跳转到<回城>
<回城>
.......
<出发>
如果$战斗地图=萧少家
那么跳转到<前往萧少家>

如果[本机时间]>=00:00:00 && [本机时间]>=00:01:00  && $战斗地图<>萧少家


..........................



如果[自己][右戒指][持久]<>[自己][右戒指][最大持久]

意思就是身上左戒指的持久有消耗就为满足,如果持久为满的就不满足


如果[自己][衣服][名称]<>"$衣服" && [$衣服][数量]=0
那么调用<衣服购买>


..........................

天骥的物品持久判断是最高持久,使用次数判断是最低使用次数,修理的时候修理背包中持久最低物品.
如果[$马牌][使用次数]<[自己][马牌][最大持久]*10
那么调用<马牌修理>

.............................

修理背包里面全部的勋章

有几个马牌修理几次呗
<背包马牌修理>
$mapainum=[$马牌][数量]
<开始修理>
如果$mapainum<1
那么返回
否则特修[$马牌]
否则$mapainum=$mapainum-1
跳转到<开始修理>



========================判断背包

如是[自己][包裹空位]<1
那么跳转到<回城>
  

================   间隔一定时间使用 技能

$等待时间=[当前时间]

<全局脚本开始>

如果[当前时间]-$等待时间>=6000  ********这里的时间是毫秒

那么$等待时间=[当前时间]

那么使用技能[无级真气]


-------------


在全局时间设置一个时间判断

如果[本机时间]>=03:00:00 && [本机时间]<=03:05:00 || [本机时间]>=09:00:00 && [本机时间]<=09:05:00
那么跳转到<去血色峡谷>

--------------------

$时间定位=[当前时间]
<全局变量开始>
如果[当前时间]-$时间定位>=3600000  ********这里的时间是毫秒
那么跳转到<回城>
.......
<全局变量结束>




...............

如何引用时间判断来购买宝宝!


在脚本的开头,先定义一个时间变量

如果$上次买宝宝时间=""
那么$上次买宝宝时间=[当前时间]-3600000


在快出发的时候
如果[神兽(黄天霸)][数量]<1 && [当前时间]-$上次买宝宝时间>=3600000
那么$上次买宝宝时间=[当前时间]
那么调用<购买宝宝>


...............

<全局脚本结束>

或者:

$上次时间=[当前时间]
<全局脚本开始>
如果[当前时间]-$上次召唤时间>60000 ********这里的时间是毫秒
那么$上次时间=[当前时间]
那么跳转到<刷怪>

-----------------

$时间定位=[当前时间]
<全局变量开始>
如果[当前时间]-$时间定位>=8000000  ********这里的时间是毫秒
那么$时间定位=[当前时间]
那么跳转到<回城>
<全局变量结束>


==================================触发器

夫妻传送时时开启

触发器:禁止夫妻传送
说话[@允许夫妻传送]
触发器结束

<挂机脚本开始>
说话[[@允许夫妻传送]



----------------------------------------------


见某个完家就逃跑那种触发

这个工作不同由触发器来做,而应该由全局脚本完成
<全局脚本开始>
如果[ 玩不死][数量]>=1
那么系统显示[晕,我看见我自己了]
那么跳转到<逃跑>

..............................................


组队通信[被控][那小子在$地图编号,$横坐标,$坚坐标,快去灭他]
触发器:小子在%$地图编号%,%$横坐标%,%$坚坐标%,快去灭 触发器结束


..............................................

触发器主要用来截取服务器返回信息包括玩家,说话,喊话,密语,及服务器公告.下面这个脚本为触发器典型应用,需要的玩家可以借鉴一下

触发器和脚本同时运行没有开关只要脚本在运行触发器就可以出发,并且在一个脚本中可以放入多个触发器配合执行

   下面是一个关于触发器的示例脚本,可以通过脚本实现道士持续加魔加防,并且当宝宝不在身边的时候实时的把宝宝召唤到身边,避免了程序内置的当宝宝不在身边时会狂招的情况.请注意颜色突出的部分!

$money=0
$havebaby=0
$衣服=[自己][衣服][名称]
$武器=[自己][武器][名称]
$马牌=[自己][马牌][名称]
$项链=[自己][项链][名称]
$右手镯=[自己][右手镯][名称]
$头盔=[自己][头盔][名称]
$左戒指=[自己][左戒指][名称]
$右戒指=[自己][右戒指][名称]
装备[护身符(大)]到[左手镯]
使用技能[神圣战甲术]
使用技能[幽灵盾]

*宝宝是否存在及状态判断

触发器:属下:休息 ----------------------------------------------------此处为需要截取信息也是触发器开始的标志
$havebaby=1-----------------------------------------------------------这里为信息触发后所需要执行的语句可以有多行
触发器结束                                                          并且可以加入条件判断

触发器:属下:攻击
$havebaby=2
触发器结束-------------------------------------------------------------此处为触发器结束标记


挂道士何必去强求左手镯戴装备呢,难道召了宝宝出来就一直用砍的?
TJ对判断宝也就那么一个语句:
如果[宝宝名称][数量]<1
那么......
这条语句只能判断宝宝是否在身边,如果他还活着却不在身边,判断也为满足
这时候就不能:那么使用技能[召唤...]了,否则一直召,召死你
当宝宝不在身边用什么来判断宝宝是否活着是关键,在使用"宝宝休息"命令时,系统会有提示:宝宝休息  或 宝宝攻击  如果宝宝已经挂了,什么提示也没有,所以我们可以用到触发器来捕捉这个提示
$宝宝还在=1                

触发器:宝宝休息
$宝宝还在=1
宝宝休息                                        一旦系统显示[宝宝休息],就表示定宝还在,却处于休息状态,所以我们马上用一条"宝宝休息"语句让他攻击,这条语句是循环起效的
触发器结束

................
如果[宝宝名称][数量]<1
那么$宝宝还在=0
那么宝宝休息
等待[300]毫秒                              等待一下,让触发器有一个反应时间    
如果$宝宝还在=0                          如果触发器没生效,那这个变量还是0,就可以召宝了
那么使用技能[召唤....]
那么装备[..]到左手镯

这种办法理论上可以实现召宝了,但这些语句该放到哪里我一时也晕乎乎,呵呵
放全局里吧,等待语句全局是不执行的,没有留出一点时间给给触发器反应,马上就开始召宝了
放脚本正文吧,又一时想不出该怎么放,呵呵   有时间我考虑考虑,再发个贴补上



..................................


#1  控制宝宝的方法(7月18日),加入宝宝挂了以后重新召的功能)

$宝宝是否还活着=0
$召集宝宝时间=10000
$上次召回宝宝时间=[当前时间]


触发器:下属:攻击
$宝宝是否还活着=1
如果[当前地图名]=0 || [当前地图名]=3 || [当前地图名]=11
那么宝宝休息
触发器结束

触发器:下属:休息
$宝宝是否还活着=1
如果[当前地图名]<>0 && [当前地图名]<>3 && [当前地图名]<>11
那么宝宝休息
触发器结束

<全局脚本开始>
如果[神兽(黄天霸)][数量]<=0 && [当前地图名]<>0 && [当前地图名]<>3 && [当前地图名]<>11 && [当前时间]-$上次召回宝宝时间>=$召集宝宝时间
那么$上次召回宝宝时间=[当前时间]
那么跳转到<召回宝宝>
..................
<全局脚本结束>
宝宝休息

<回城>
关闭全局脚本
躲避PKER关闭
停止战斗
使用[回城卷]
宝宝休息
................
<战斗>
宝宝休息
............
<召回宝宝>
$宝宝是否还活着=0
宝宝休息
等待[500]毫秒
如果$宝宝是否还活着=0
那么使用技能[召唤神兽]
跳转到<战斗>


新版本中道士有一个"宝宝不在身边N秒召唤"的选项,所以道士脚本已经不用做这项工作了
脚本要做的是很好地控制宝宝在身边,回城时让宝宝定住,通过触发器能很好地实现
在脚本第一句用一个宝宝休息指令
在回城后用一句宝宝休息指令
在开始战斗后又用一句
当宝宝不在身边用一句,但不能太快,每次间隔 $召集宝宝时间 毫秒,这项工作由全局脚本来完成,但由于全局里不能用"宝宝休息"这条语句,所以用到了跳转

这次加入了判断宝宝是否还活着的变量 $宝宝是否还活着  当=0时表示否,=1表示在,当使用 宝宝休息 指令前先人为地把变量设置为0,使用 宝宝休息 指令时,只要宝宝还在世上,就会有提示,那2个触发器就肯定会把这个变量置为1,所以 宝宝休息 以后只需要判断这个变量就可以判断出宝宝是不是挂了,从而实现及时召宝


=============================================

*以下实现持续加魔

触发器:魔法防御力恢复正常
使用技能[幽灵盾]
触发器结束

*实现持续加防

触发器:防御力恢复正常
使用技能[神圣战甲术]
触发器结束



============================

装备持久可以用如果[自己][武器][持久]<>[自己][武器][最大持久]


这个东西好用哦

==================================

解密的方法:例如:你上号解密的方法如下,先打字:"@解密",然后打字你的密码

说话[@解密]

说话[你的密码]

这样就行了,哪里需要扔物,取包就加在哪里啰,如果每次上线只需要解密一次,就加在脚本正文的最前面


=================================

比如,武士的新技能叫 我最牛 ,这个技能是当周围怪物超过5个被围住的时候使用的

可以在全局中加入:

如果[自己][所有方向][怪物数量][3格]>5

那么使用技能[我最牛]

======================人物等级判断

在全局里加上:

如果[自己][等级]>=N

那么跳转到<下线>



<下线>

下线

===================判断丢弃护身符-脚本段

如果[自己][左手镯][持久]=0
那么装备[$左手镯]到[左手镯]
如果[护身符(大)][使用次数]<10
那么丢弃[护身符(大)]


==========================好东西

<全局脚本开始>
如果[自己][HP]<5500
那么 说话[*]
如果[自己][HP]<4500
那么 说话[你娃是不是要找屎]
如果[自己][HP]<3500
那么 说话[再打日死你]
如果[自己][HP]<2500
那么 说话[我怕你了,让我专心练会级吧]

=========================安全区补血

<去安全区>
*X,Y请设置为安全区的一个点
走到附近[当前地图,X,Y]
<血量判断>
*N为血量的具体数值
如果[自己][HP]>N
那么返回
否则等待[2000]毫秒
跳转到<血量判断>

在总控里面加上一句
如果[自己][HP] 那么调用<去安全区>

这样当自己的血量少于N的时候会走到安全区等待血量恢复后才继续


====================买药跑动买!!!

随机移动[地图编号,X,Y]
会在X,Y的6格范围内不停的跑动


=============================过特殊门口


光芒回廊到烈焰殿过铁门
还有纵横道的过铁门
光一个坐标根本过不去的
这种门必须在门旁边贴着门走来走去,一不小心就过门了,呵呵

设置一个循环,让号在门点的左右两边贴着门来回地走动,在循环中加入判断,一量已经地门,马上跳出循环


=============================================


组队(同去同回):


主控:

触发器:我*,什么意思啊?斑竹辛苦说了那么多天你却不领情!
跳转到<回城>
触发器结束

<挂机脚本开始>


<回城>
结束控制
关闭全局脚本
停止战斗
触发器关闭
组队通信[被控][我*,什么意思啊?斑竹辛苦说了那么多天你却不领情!]
结束控制
关闭全局脚本
停止战斗
如果[11,177,324][距离]>200
那么使用[回城卷]
...........

<战斗>
系统显示[大爷目前所在位置是: $_当前地图,开始辛苦的工作了~~~!]
开始控制
边打边走到[$_当前地图,37,16]
边打边走到[$_当前地图,13,37]
边打边走到[$_当前地图,17,12]
边打边走到[$_当前地图,37,35]
跳转到<战斗>


被控:

触发器:我*,什么意思啊?斑竹辛苦说了那么多天你却不领情!
跳转到<回城>
触发器结束

<回城>
解除被控
关闭全局脚本
停止战斗
触发器关闭
组队通信[主控][我*,什么意思啊?斑竹辛苦说了那么多天你却不领情!]
解除被控
关闭全局脚本
停止战斗
如果[11,177,324][距离]>200
那么使用[回城卷]
...........

<战斗>
系统显示[大爷目前所在位置是: $_当前地图,开始辛苦的工作了~~~!]
请求被控
边打边走到[$_当前地图,37,16]
边打边走到[$_当前地图,13,37]
边打边走到[$_当前地图,17,12]
边打边走到[$_当前地图,37,35]
跳转到<战斗>


=======================================组队!!!     被控跟随的设置!!



被控只跟不打的设置!!(目前仅测试战士职业有效,其他职业待测)

队伍组好来
主控烈火`半月`刺杀全部开
目标选择: 不抢怪(不要开!!)

被控:
选择跟随攻击
只开烈火,(半月`刺杀不开,怕打到其他怪)
不抢怪不要开启!!


===============================


组队通信[被控][控制码:1,参数1:2,参数2:3]

触发器:控制码:%$码号%,参数1:%$1号参数%,参数2:%$2号参数%

$码号=1
$1号参数=2
$2号参数=3

主控发出这个组队通信以后,被控如果用那个触发器接收,就能够给那3个变量赋值了

===============================登陆需要密码的服务器

方法:
别理会这个,该干什么干什么
然后加一个触发器
当没有输入密码的情况下行走的话,走不了
而且私服会有信息显示,把这个作为触发器
在触发器里开密码


==============================走路模式

目前有三种模式,模式1,模式2,模式3

模式1对应1.16版本的封包发送模式

模式2对应1.18的走路封包发送模式

模式3对应1.18以后的版本走路封包发送模式

您喜欢哪一个版本,就选择相对应的模式!
在基本设置-系统设置中进行设置!


=======================================传送戒指飞

<全局脚本开始>
如果[自己][HP]<850
那么跳转到<换传送戒指>

..............

<换传送戒指>
装备[传送戒指]到[左戒指]
那么说话[@move]
装备[$左戒指]到[戒指]
跳转到<$_当前地图>

===============================模式转换!


关于模式这个问题偶在这里跟大家说清楚来吧(以下是偶的心得,得助于啊龙,在此再次谢谢他!)

大家对模式转换这个问题很晕吧?
弄不好是经常的事情了,因为没有人教过,有的东西确实是难以理解,好在有啊龙帮助,这下大家就都可以知道怎么做了!!


模式转换,服务器给我们什么提示呢?
有的服务器这样来: 〖提示〗[攻击模式: 和平攻击]
有的服务器这样来:  提示:[攻击模式: 和平攻击]

这个信息从什么地方来?
不急看下面:
      在信息栏上面有一个  聊天   把它选上(这个时候是实景地图变成信息栏了)
      然后手动按键盘Ctrl+H (这个是换模式撒```)
      这个时候在信息栏上面就有服务器提示的东西了! (提示:[攻击模式: 和平攻击]或者〖提示〗[攻击模式: 和平攻击])
      把这个东西复制下来(单单是复制[攻击模式: 和平攻击]这个东西而已是不行滴,要全部复制的哦)
     然后粘贴到外挂"基本设置"→"系统设置2"→"和平攻击模式匹配提示"这里去
    最后再点确定
     OK了!



 

类似的还有一个东西是:
     后门命令,一些后门命令被GM用看不见的符号给弄出来了,但是我们要用到,有的是打字打不出来的,那就用这个方法复制出来吧!很好用滴~~~~~~~


后门命令截取是从什么地方来的?
不急看下面:
      在信息栏上面有一个  聊天   把它选上(这个时候是实景地图变成信息栏了)
      然后手动按键盘Ctrl+K (这个是调出后门命令的撒```)
      你再去手动跟NPC对话,这个时候在信息栏上面就有提示的东西了!
@BUY
     这个就是买东西的后门命令了
    
   然后怎么使用呢?
  给你个例子吧:
  <药品购买2>
系统显示[偶正在买红药]
走到附近[3,361,335]
对话[药店老板]
后门命令[@BUY]
买够[超级魔法药]3个
后门命令[@exit] -------这个是返回
    
   OK了!



 

=================================================


我  想 用随机飞到  8.10或 9.12 或5.10 等的位置   这里的脚本应该 这样写


<随机飞>
如果$_当前X=8 && $_当前Y=10 || $_当前X=9 && $_当前Y=12 || $_当前X=5 && $_当前Y=10
那么跳转到<已到位置>
否则使用[随机传送卷]
否则等待[3000]毫秒
否则跳转到<随机飞>

<已到位置>


===================================================

背包判断:

如果[自己][包裹空位]<=0
那么<>
这是判断包袱是否满的,只要包袱物品达到40个就表示满了,而不是46个


丢弃多余回城卷  

<clearback>
$m=[回城卷][数量]
$n=1
调用<clear>
返回

<clear>
系统显示[            丢弃多余的回城卷]
丢弃[回城卷]
$n=$n+1
如果$n<$m
那么跳转到<clear>
返回


=======================


风魔过门事例:


<D2005>
边打边走到[D2005,20,21]
走到[D2005,21,22]
走到[D2005,18,19]
跳转到<战斗>


==============================================


<装备初始化>
$max0=[自己][马牌][最大持久]-
$max1=[自己][衣服][最大持久]-
$max2=[自己][武器][最大持久]-
$max3=[自己][头盔][最大持久]-
$max4=[自己][项链][最大持久]-
$max5=[自己][左戒指][最大持久]-
$max6=[自己][右戒指][最大持久]-
$max7=[自己][左手镯][最大持久]-
$max8=[自己][右手镯][最大持久]-
返回



 

==============================================

通告[执行脚本]


是主控给所有被控发出的,会让所有的被控重新执行脚本


===================================================


百分比表示法:

$回城持久百分比=20
$修理持久百分比=50
$马牌回城持久=[自己][马牌][最大持久]*$回城持久百分比/100
$武器回城持久=[自己][武器][最大持久]*$回城持久百分比/100
$衣服回城持久=[自己][衣服][最大持久]*$回城持久百分比/100
$头盔回城持久=[自己][头盔][最大持久]*$回城持久百分比/100
$项链回城持久=[自己][项链][最大持久]*$回城持久百分比/100
$左手镯回城持久=[自己][左手镯][最大持久]*$回城持久百分比/100
$右手镯回城持久=[自己][右手镯][最大持久]*$回城持久百分比/100
$左戒指回城持久=[自己][左戒指][最大持久]*$回城持久百分比/100
$右戒指回城持久=[自己][右戒指][最大持久]*$回城持久百分比/100

$马牌修理持久=[自己][马牌][最大持久]*$修理持久百分比/100
$武器修理持久=[自己][武器][最大持久]*$修理持久百分比/100
$衣服修理持久=[自己][衣服][最大持久]*$修理持久百分比/100
$头盔修理持久=[自己][头盔][最大持久]*$修理持久百分比/100
$项链修理持久=[自己][项链][最大持久]*$修理持久百分比/100
$左手镯修理持久=[自己][左手镯][最大持久]*$修理持久百分比/100
$右手镯修理持久=[自己][右手镯][最大持久]*$修理持久百分比/100
$左戒指修理持久=[自己][左戒指][最大持久]*$修理持久百分比/100
$右戒指修理持久=[自己][右戒指][最大持久]*$修理持久百分比/100
$个=个




 

===================================================

$统修=0

如果[待售武器][数量]>=1 或者 $武器持久>[自己][武器][持久] 或者 $统修=1

在用脚本的时候,在最前面,可以设置为=1,也可以设置为=0

纯粹的一个开关

也就是说,在装入脚本的时候,就可以控制挂机号是每次回城都去修理,还是只有持久掉到相应的数量才去修理

只能用||,不能用&&

用|| 的话,相当于一个开关,如果这个变量=1,就每次回城都去修理

如果他=0,就判断持久再去修理

你说用&&,如果=1,就判断持久,修理
如果=0,永远不去修理了

天霸:
你的思维方式要改改,变量作为开关,并不是一定要在脚本中动态地改变,有的时候,为了方便,只需要在装入的时候规定就行了,以后就一直这么弄,而不需要每次写脚本都改总控部分


=======================================



 


如果[自己][红名]
那么



 

=======================================
=======================================


1.187 版本新脚本语句:

放弃攻击目标

[仓库][物品数量]  -- [仓库][传送戒指数量]


只支持IF ElSE EndIF

嵌套
IF
  IF
   Else
  ENDIF
ELSE

ENDIF



 

现在是IF 条件
        执行满足条件的东西
     ELSE
        执行否则的东西
      ENDIF


================================

关于组队



 

<地图查询>
组队通信[被控][地图$_当前地图,$_当前X,$_当前Y]
跳转到<地图判断>
返回


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


netstat -n
查看网络连接


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

陷阱触发器:

策略触发:您现在要使用系统赠送您的
动作:执行其后第2个命令
命令总数



 

1.188新增加脚本命令



 

五、新增脚本命令

    @Rest 宝宝控制
    @AttackMode 攻击模式

    对话坐标[X,Y]    //同某个坐标上的NPC对话
    攻击坐标[X,Y]    //攻击某个坐标点
    [玩家数量][X,Y]  //某个坐标点上玩家数量
    [怪物数量][X,Y]  //某个坐标点上怪物数量
六、增强对宝宝的控制能力
    在道士的职业设置中新增三个用于宝宝控制的设置
    允许匹配宝宝休息或攻击的提示,然后根据提示决定如何控制宝宝
    当宝宝休息时,系统会提示
    当宝宝攻击时,系统会提示
    同时增强"宝宝休息"的脚本命令,当上述三个设置正确后,宝宝休息不再是一个开关命令,执行“宝宝休息”脚本命令,在非战斗状态将始终定住宝宝,在战斗状态下,当宝宝不在角色视线内时会激活宝宝。 如果设置不正确,则效果同以前版本相同。
    增加“宝宝攻击”的脚本命令,起作用与否也取决于上述三个设置的正确设置。
七、增加对宝宝攻击目标的判断
    [宝宝攻击目标][名称]  --得到宝宝正在攻击的目标名称
    [宝宝攻击目标][类别]  --得到宝宝攻击目标的类别,返回的类别有:玩家,怪物,不可攻击,宝宝,未知
    [宝宝攻击目标][方向][不可攻击目标]  --得到宝宝周围的不可攻击目标数量 方向可以是前,左前,右前,后,左后,右后,左,右,前,后,所有方向的组合。[

http://gejianbang.521g.com/archives/2006/17186.html
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics