无师自通-自己学写脚本,小明外挂脚本代码教程 转载

2011-02-03 19:47:20| 分类: 石器脚本 assa | 标签:walkpos 指令 对话框 跳转 道具 |字号 订阅

下载LOFTER我的照片书 |
人间空气 2008-08-21 09:14
∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽【waitsay】(等待说话)指令∽∽∽∽∽∽∽∽∽∽∽∽∽

waitsay {1-20},等待要出现的说话,等待时间[,错误跳转]

用途:用作判断当时状况,而后应该采取什么行动。如MM喂石时出现的文字可判断MM是否已经喂满该种灵石;魔法或抗性是否练到一个程度;是否得到某些物品(如不可思仪贝壳);或者让玩家以自己的发言表示应该采取什么样的行动等在石器窗口里以对话形式出现的文字。
例子:
Waitsay 1-10,成长率达到最高,5,没有达到最高 ‘在石器窗口1-10行里,5秒内一定要有以对话形式出现的“成长率达到最高”才继续执行waitsay后面的指令,否则就跳转到label 没有达到最高
waitsay 1-10,成长率达到最高,5,-4 ‘在石器窗口1-10行里,5秒内一定要有以对话形式出现的“成长率达到最高”才继续执行waitsay后面的指令,否则就跳转到-4行,-4行是指在当前命令上,往上数第4行
waitsay 1-10,成长率达到最高,5,+6 ‘在石器窗口1-10行里,5秒内一定要有以对话形式出现的“成长率达到最高”才继续执行waitsay后面的指令,否则就跳转到+6行,+4行是指在当前命令上,往下数第6行

注意:①该指令为判断类指令.
②此为“包含”指令,如waitsay 1-10,最高,5,-4,即听见的内容包含有“最高”的都达到“正确”的条件,继续执行waitsay后面的指令

∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽【cls】(清屏)指令∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽

用途:用了此指令,除了有可以清除屏幕的文字的作用,还必须用此指令来消除“waitsay”的屏幕信息,不至于让“waitsay”混淆了之前和之后的信息。
错误例子:
say 好了,请玩家现在说出用方法一(继续脚本之后说一)还是用方法二(继续脚本之后说二)
pause
label 一
waitsay 1-10,一,5,二
goto 方法一
label 二
waitsay 1-10,二,5,一
goto 方法二
goto 一
结果因为之前的对话里请玩家现在说出用方法1包含了“1”,所以即使玩家说“1”还是说“2”,所以还是会变成听见了“1”
正确例子:
say 好了,请玩家现在说出用方法一(继续脚本之后说一)还是用方法二(继续脚本之后说二)
pause
cls
label 一
waitsay 1-10,一,5,二
goto 方法一
label 二
waitsay 1-10,二,5,一
goto 方法二
goto 一

继续脚本后用了“cls”指令,脚本就会变成一直处于等待状态,直至玩家说出“一”或者“二”脚本才会跳转去使用方法一或者二。

∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽【waitmap】(等待地图)指令∽∽∽∽∽∽∽∽∽∽∽∽∽

waitmap 地图编号,等待时间[,错误跳转] GSUH9"a_^

在切换地图时等待此地图编号的地图出现,若出现则执行下一行的指令

例子:
walkpos 72,108
walkpos 72,111
walkpos 72,114
walkpos 72,117
waitmap 100,5,-3 ‘5秒内还没出现地图100,就自动跳转到-3行,即walkpos 72,111
delay 2000 ‘这里加延时是怕辅助软件当掉,养成在waitmap后面加延时的习惯
walkpos 260,175
walkpos 260,177
walkpos 260,179
W 260,179,A ‘这个“W”是封包走路命令,这里的意思是把人物方向转到A(北)
say 芝麻关门
waitdlg 你可以进去,1,5,-5 ‘这个“waitdlg”是判断对话框命令,将在后面进来解释
Button 确定
Walkpos 13,15
Walkpos 14,16
此类跟NPC对话点对话框进门的情况,一般都要加“waitdlg”命令,等待时间和错误跳转,避免在对NPC说话时因遇敌而没有出现对话框而出错。不仅是和有可能会遇敌的NPC对话要加“waitdlg”,只要是和NPC对话的一定要加“waitdlg”命令。
注意:
①“waitmap”指令其实可以当作“判断条件类”指令
②因为现在的7.5可以“无限制走路”,玩家和脚本都“看到”游戏人物在快速的走到一个地方并切换地图,其实因为石器服务器的速度有时候跟不上的缘故,游戏人物的实际位置并不是我们所看到的位置,游戏人物其实还在行走的途中甚至已经遇敌了,如果是这样的情况,按上面所写在“waitmap 地图编号,5,-3”一般可以解决这样的问题。
③石器服务器的缓慢出现了又一问题:其实切换地图已经成功,只是当时因为服务器速度慢地图还没有换,此时脚本判断成“地图错误”,就跳转到前面的标记里去,此时刚好换完了地图,人物已经出现在下一地图里,而却要走上一地图的坐标,后果可想而知了。这就要求脚本制作者要想方设法去解决各种各样的问题,使脚本更稳定.可配合“ifpos”命令使用。
∽∽∽∽∽∽∽∽【waitdlg】【ifdlg】(等待对话框)(判断对话框)指令∽∽∽∽∽

waitdlg 对话框内容,对话框行数,等待时间[,错误跳转]
一般与NPC对话后,就弹出相应的对话框,此指令用途为可以按设定时间等待指定内容或任意内容的对话框的弹出,在设定的时间内直到对话框出现才进行下一步,若超时没有出现则执行错误跳转的内容。
例子:
walkpos 278,331
walkpos 278,326
walkpos 278,326
W 0,0,北 ‘人物方向往北
say 进去
waitdlg ?,0,5,-5 ‘不管对话是什么内容,只要弹出有对话框就执行下一个指令,如果5秒内没出现对话框,就跳转到 -5行
button 确定
label 地图错误
walkpos 278,331
walkpos 278,326
walkpos 278,326
W 0,0,A ‘人物方向往北
say 进去 47
waitdlg ?,0,5,地图错误 ‘不管对话是什么内容,只要弹出有对话框就执行下一个指令,如果5秒内没出现对话框,就跳转到”地图错误”
button 确定 ’这里加上地图错误跳转在遇敌的地方使用可以纠正因遇敌而不能跟NPC说话出现对话框的情况,但有时候却即使有出现对话框也当作没有出现而跳转,所以一般可以在“waidlg”指令后面添加“delay”(详细请参考“delay”指令)。

walkpos 69,48
walkpos 69,47
walkpos 69,46
walkpos 69,45
W 69,45,A
say 买
waitdlg只要使用这根羽毛,无论在任何地方都可以立刻回,2,5,-5 ‘等待对话框的第2行是否出现”只要使用…. ”是的话就执行下一个指令,
不是的话就执行-5行的指令,即”walkpos 69,47”
buy 1,1
delay 500
walkpos 70,45
walkpos 71,45

因最近7.0服务器速度缓慢,出现对话框时难免会比较慢,可能会出现类似“waitmap”注意事项里的错误,请各脚本编写员留意并想办法解决好。

ifdlg 对话框内容,对话框行数[,正确跳转] ‘只要对话框内容符合脚本ifdlg中指定行数的内容,就执行正确跳转的指令

此指令用途为可以指定内容对话框的弹出,只要弹出了指定的内容脚本会执行正确跳转指定的指令

SAY 感谢你使用广二-杰哥2005.3.12为你制作的全智能二转MM喂挂看风景脚本

waitdlg ?,0,5,-8 ‘不管对话是什么内容,只要弹出窗口就执行下一个”ifdlg”指令,一般这里的不判断内容的等待对话框指令后面要跟”ifdlg”来配套使用,这样既能解决一些会变化的,不固定的对话框等待(因为有时会遇敌,所要要加等待对话框命令,但那个对话框出现的内容是不固定的,所以就不能在等待对话框里加判断,要用ifdlg来判断,例如做二转MM时的喂水的那个NPC) 又能解决对话框判断的问题 )

ifdlg 哇,你带来了很漂亮的宝石呢。,1,+2 ‘判断对话框的第1行是否为” 哇,你带来了很……”,是的话则跳转到+2行,否则就执行下一行指令”ifdlg 你已经有一条灵石,1,err

ifdlg 你已经有一条灵石,1,err ‘判断对话框的第1行是否为”ifdlg 你已经有一条灵石”,是的话就跳转到”err”,否则就执行下一行

button 确定
waitdlg 了喔。,2,5,-12 ‘如果5秒内第2行没出现包含有”了喔。”对话框,就跳转到 -12行
button OK
delay 500
walkpos 49,48
w 49,48,C
SAY 感谢你使用广二-杰哥2005.3.12为你制作的全智能二转MM喂挂看风景脚本,4
waitdlg ?,0,5,-3
delay 500
ifdlg 还好嘛,害我以为是很稀奇的珍宝呢…,3,+5
ifdlg 的运气真的不错喔!,4,+10
ifdlg 普普通通的嘛,真让我失望阿。
ifdlg 质地有点差,差强人意啦!,3,+2
ifdlg 呃…虽然不好明讲,不过质地很差呢…,3,+1
button 确定
delay 100
doffitem ?风灵项炼
delay 500
goto 换极品风项炼
button 确定
goto 戴极品风项炼

人间空气 2008-08-21 09:15
∽∽∽∽∽【mousemove】【lclick】【rclick】(鼠标移动)(鼠标左击)(鼠标右击)指令∽∽∽

注意:使用此类指令,必须跟有X和Y两个坐标参数,获得参数的方法如下:

①资料显示的下面的信息那一栏有“鼠标”显示出鼠标在当前窗口的坐标X和Y

②选上脚本制作器里的“记录鼠标”,然后在窗口里单击鼠标左键捕捉
mousemove X,Y

用途:把鼠标移动到某坐标


lclick X,Y

用途:在某坐标位置上单击鼠标左键
注意:即使连点两下也不能充当“双击”

rclick X,Y

用途:在某坐标位置上单击鼠标右键

∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽【button】(点击按钮)指令∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽

button {OK|CANCEL|确定|取消|上一页|下一页|关闭|0…8|{$|#}输入文字} [,x,y[,key[,flag]]] 对话框命令
button &宠物名称1|宠物名称2|宠物名称2 '融合命令1 在打开融合对话框下使用
button #1|2|3 '融合命令2 在打开融合对话框下使用

例子:

Say hi
waitdlg ?,0,4,-1
button 下一页
waitdlg 你想接这个任务吗?,1,5,-3
button 确定
waitdlg 麻烦你了,1,5,-5
button OK

当窗口出现对话框时,发送封包点击对话框下面的按钮。
与“lclick”指令对比——优点:即使图形加速有问题导致对话框的出现很卡或者鼠标在石器窗口里胡乱移动也可以点击成功

缺点:有时候窗口没有该按钮(如指令是button 确定,但实际上对话框只有“下一页”而没有“确定”按钮)有可能会点击不成功或造成掉线 ?

∽∽∽∽∽∽∽∽∽∽∽∽∽∽【Pickup】(拾道具)指令∽∽∽∽∽∽∽∽∽∽∽∽∽∽

Pickup {*|北|东北|东|东南|南|西南|西|西北|A|B|C|D|E|F|G|H} [,x,y] ‘一般后面的坐标是不用加的,加上去了也没有什么作用
拣取身边以人物为中心,人物身边连同人物站立位置一共9个位置范围内的物品

Pickup * ‘把人物周围所有东西拾起

pickup北 ‘把人物北边的道具拾起
pickup A ‘把人物北边的道具拾起
Pickup 东,12,13 ‘站在12,13下拾起人物位置东边的东西,一定要站在12,13下才能用这个指令,否则会出错

人间空气 2008-08-21 09:15
∽∽∽∽∽∽∽∽∽∽∽∽∽【nearpos】(查找最近坐标)指令∽∽∽∽∽∽∽∽∽∽∽∽∽∽

nearpos

任意位置只限于开头任意位置,若后面跟有交通类脚本指令,则相当于“开始位置”般锁定了开始的位置,举个例子说说吧:

nearpos
say 这里是奇喀喀村,现在出发下海去了
walkpos 63,48
walkpos 60,43
walkpos 60,40
waitmap 200,5,-3
walkpos 133,1007
walkpos 128,1007
walkpos 122,1008
walkpos 116,1010
walkpos 102,1018
walkpos 102,1019
walkpos 102,1022
waitmap 817,5,-3

假若上面那段指令没有用“nearpos”指令的话,那么站在128,1007里开始运行脚本, 脚本会在说完”这里是奇喀喀村,现在出发下海去了”这句话后就马上走到63,48,而你又站在地图 200中了,这样肯定就会造成坐标错误.用了”nearpos”的话,脚本就会找到在地图200下的最近坐标,比如”122,1008”,然后就直接在122,1008这个指令开始继续运行这个脚本

∽∽∽∽∽∽∽∽∽∽∽∽∽∽【walkpos】(坐标)指令∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽

walkpos X,Y

注意:使用此指令,必须跟有X和Y两个坐标参数,获得参数的方法如下图:
①①资料显示的下面的信息那一栏有“坐标”显示出鼠标在当前窗口的坐标X和Y
②选上脚本制作器里的“记录走路”,然后在窗口里控制人物走动捕捉

用途:控制人物走到某个坐标,是石器辅助软件里最原始,最普遍,使用率最高的指令

∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽【W】(封包走路)指令∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽

W x,y,
{[a…h|aa…hh|A…H]} ‘这个指令也可以让人物转向,如W 0,0,东
格式1:W 0,0,{北|东北|东|东南|南|西南|西|西北} 转向 |
格式2:W 0,0,{A|B|C|D|E|F|G|H} 转向
格式3:W 50,50,{北|东北|东|东南|南|西南|西|西北} 1.82瞬移(面向) 限三步
格式4:W 50,50,{A|B|C|D|E|F|G|H} 1.82瞬移(面向) 限三步
格式5:W 50,50 1.82瞬移(默认面向) 限三步
格式6:W 50,50,aa 在50,50的位置上向北(a)移两步

上面这个W(封包走路)走路命令用得比较多的是它的转向功能.一般用在和NPC对话时.

∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽【set】(设定)指令∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽

set {快速遇敌|快速行走|自动逃跑|自动捉宠|快速战斗|自动KNPC|原地保护|经验显示|断线重登|穿墙行走|W2|自动堆叠|}{,1|0}

‘1表示开启,0表示关闭

set指定攻击, {宠物名称|宠物名称……| 宠物名称} ‘最多可以设置捉10只宠物的名字
set锁定攻击, {宠物名称|宠物名称……| 宠物名称} ‘最多可以设置捉10只宠物的名字
set捉宠等级,等级数值
set捉宠名称,{宠物名称|宠物名称……| 宠物名称} ‘最多可以设置捉10只宠物的名字
set捉宠血量,血量数值
set捉宠魔法,{1|2|3|4|5} ‘1表示帽子精灵,2表示衣服精灵,3表示武器精灵,4表示左饰精灵,5表示右饰精灵,一般都设置为3

例子:

set 快速战斗,1
set 快速战斗,0
set 捉宠等级,50 ‘设置捕捉50级的宠物
set 捉宠名称,卡特|史克杰|史菲洛
set 捉宠名称,那提拉
set 捉宠名称,0 ‘设置捕捉宠物名称选项前面的勾去掉
set 捉宠等级,0 ‘设置捕捉宠物等级选项前面的勾去掉 G]1
set 捉宠魔法,3 ‘设置用武器精灵捕捉宠物
set 锁定攻击,扑满乌力|吉比

∽∽∽∽∽∽∽∽∽∽∽∽【chpet】(改变战宠骑宠命令)指令∽∽∽∽∽∽∽∽∽∽∽∽∽

chpet {0-5}{,模式} ‘模式只有1,1表示更换的是骑宠,不写表示更换的是战宠
在平时状态下换战宠,除了正在骑乘的宠物外,其余状态的宠都可以变成“战斗”,0为把当前战宠状态变回“等待”
chpet 1 ‘把第一位的宠物状态改变成“战斗”
chpet 2 ‘把第二位的宠物状态改变成“战斗”
chpet 0 ‘把战宠设置为等待状态
chpet 2,1 ‘把第二位的宠物状态改变成“骑乘”
chpet 3,1 ‘把第三位的宠物状态改变成“骑乘”

人间空气 2008-08-21 09:16
∽∽∽∽∽∽∽∽∽∽∽∽∽【buy】【购买道具】指令∽∽∽∽∽∽∽∽∽∽∽∽∽

buy {道具名|道具索引1-n},数量[,x,y] ‘这个命令可以直接站在NPC面前,不用说话都可以买到道具,封包命令

详尽的料理材料购买目录,请参考情报显显〖村庄购物指南〗

例子:
walkpos 25,26
walkpos 25,28
W 25,28,C ‘人物方向向东
say 买
waitdlg 店,1,5,-4
buy 12,5 ’购买从第一页第一个数起,第十二个的物品,买五个
walkpos 25,26
walkpos 25,28
W 0,0,东 ‘人物方向向东
say 买
waitdlg 店,1,5,-4
buy 贝壳,5 ’购买名为“贝壳”的物品,买五个,如果商店里有重复名字的物品,则会先买排列在最前面的,可能买到的道具不是你想要的等级的,所以最好把想要购买的道具名字(或者道具的说明)写全写清楚。

∽∽∽∽∽∽∽∽∽∽∽∽∽【sellitem】【出售】指令∽∽∽∽∽∽∽∽∽∽∽∽∽

SellItem {道具名|道具索引1-15} ‘这个命令一定要出现卖的对话框才能使用,要不然会变成买的命令

例子:
walkpos 25,26
walkpos 25,28
W 0,0,东 ‘人物方向向东
say 卖
waitdlg ?,0,5,-4
sellitem 12,5 ’出售第十二格的道具五个(道具被叠加后)
walkpos 25,26
walkpos 25,28
W 0,0,东
say 卖
waitdlg ?,0,5,-4
sellitem 贝壳,5 ‘卖出名为“贝壳”的物品,卖五个,叠加后的道具,只要叠加5个或者以上的贝壳都卖掉其中的5个。

∽∽∽∽∽∽∽【moveitem】【waititem】(移动物品)(等待物品)指令∽∽∽∽∽∽∽∽∽

moveitem 1,|2-15
waititem {1|2|3-15},道具名称,等待时间[,错误跳转] ‘等待道具 ?

例子:

moveitem 2,15 ‘把道具栏第2格的物品称动到第15格
moveitem 14,3 ‘把道具栏第14格的物品称动到第3格

walkpos 92,101
walkpos 93,101
say buy
waitdlg ?,0,5,-3
buy 1,1

waititem 1,飞行至萨姆吉尔,5,-5 ‘等待道具栏第1位的道具,如果5秒内道具栏第一格还没有出现包含有”飞行至萨姆吉尔”,就跳转到-5行执行脚本

∽∽∽∽∽∽∽∽∽∽∽∽【get】【put】(取得)(寄放)指令∽∽∽∽∽∽∽∽∽∽∽∽

get {道具名|道具索引1-n} ‘封包命令,取道具

put {道具名|道具索引1-15} ‘封包命令,存道具
一定要打开个人寄放店窗口或者仓库寄放店窗口才能使用,打开的方法很简单,可以不用lclick鼠标左击命令,直接用button命令来打开,这样不容易出错,下面的例子将介绍
寄放失败没问题,领取失败也不会出现问题,现脚本指令支持个人寄放店和仓库的领取和寄放
例子

say 我要存进个人寄放店一些东西

waitdlg 欢迎光临,1,5,-1

button 1 ‘这个button 1就是在欢迎光临对话框下打开个人寄放店存东西的对话框的,button 2就是取的对话框
put 飞行至萨 ‘这个就是把萨村羽毛存进寄放店里了,只要带有”飞行至萨”的东西都会给一起存进去,所以有时候可以把名字写清楚点,

put萨姆 ‘这个就是含有”萨姆”2个字的道具存进寄放店,当你的身上有萨姆吉尔首饰和萨村羽毛的时候,都会一起存进去

say 我要存进仓库一些东西
waitdlg 欢迎光临,1,5,-1

button 3 ‘这个button 3就是在欢迎光临对话框下打开”使用道具仓库”对话框
waitdlg 使用道具仓库,1,5,-3 ‘等待对话框的出现

button 1 ‘这个button 1就是在使用道具对框下打开仓库存东西的对话框的,button 2就是取的对话框
put 飞行至玛丽 ‘这个就是含有”飞行至玛丽”的道具存进仓库

say 我要存进个人寄放店一些东西
waitdlg 欢迎光临,1,5,-1

button 2
get 飞行至萨

get萨姆 ‘这个就是含有”萨姆”2个字的道具取出来,当你的寄放店有萨姆吉尔首饰和萨村羽毛的时候,都会一起取出,所以有时要把名字写详细点

say 我要存进仓库一些东西
waitdlg 欢迎光临,1,5,-1

button 3 ‘这个button 3就是在欢迎光临对话框下打开”使用道具仓库”对话框
waitdlg 使用道具仓库,1,5,-3 ‘等待对话框的出现

button 2
get 飞行至玛丽 ‘这个就是含有”飞行至玛丽”的道具从仓库取出来

人间空气 2008-08-21 09:17
∽∽∽∽∽∽∽∽∽∽∽∽【join】(组队和脱离团队)指令∽∽∽∽∽∽∽∽∽∽∽∽

join mode [,x,y] ‘mode:=组队,0=脱队,后面的坐标一般都没有用

加入团队的指令,前方必须有人打开组队,即使组队了继续发送指令也不会有问题,进入战场再发送指令并且前方有人打开组队状态可能会造成掉线 5CJ=B!1$g?

例子:
join 1 ‘加入团队,这个命令可以在一些无法按加入团队按钮的地方使用,比如成人礼的洞,五兄弟的
join 0 ‘脱离团队

∽∽∽∽∽∽∽∽∽∽【mail】【petmail】(邮件)(宠物邮件)指令∽∽∽∽∽∽∽∽∽∽∽

mail {对方名片位置(1-80),邮件内容}

发送宠物邮件给名片上的人

例子:
mail 5,你好吗? ’发送邮件内容为“你好吗?”给你名片匣位置5的玩家
mail 1-40,你最近怎么样? ’发送邮件内容为“你最近怎么样?”给你名片匣位置1-40的玩家

petmail {对方名片位置(1-80),道具索引1-15} [,mode] ‘宠物邮件 mode=1 等待任务完成

格式1:petmail 1,1|2|3-5              ‘把道具1-5中寄出给名片位置1的玩家
格式2:petmail 1,不可思议的贝壳          ‘把道具1-15中为 不可思议的贝壳 的全部寄出给名片位置1的玩家
格式3:petmail 1,?不可思议的贝壳        ‘在道具1-15中找到第一个的 不可思议的贝壳寄出给名片位置1的玩家

例子:
mail 5,2-4 ’发送宠物邮件道具为道具栏上2-4格给你名片匣位置5的玩家
mail 15,聪明的豆子3 ’发送宠物邮件道具为道具栏上所有聪明的豆子3给你名片匣位置15的玩家

∽∽∽∽∽∽∽∽∽∽∽∽【label】【goto】(标记)(跳转)指令∽∽∽∽∽∽∽∽∽∽

label 标记名称
goto 标记名称|+ -行数

'特殊保留标记

label .log. 断线重登后,脚本将跳到此处运行

label .end. 按停止按钮,脚本将跳到此处运行

简单的说标记实质是为脚本设置一个点,让脚本到达某个时候或者达到/不能达到某个条件时跳到这个点上继续执行其他指令跳转,就是无条件跳到某个标记的指令

人间空气 2008-08-21 09:17

∽∽∽∽∽∽∽∽∽∽【call】【return】(调用)(返回)指令∽∽∽∽∽∽∽∽∽∽

call 标记名称
return

例子:

walkpos 24,24
walkpos 26,24
call 票 ‘调用标记为”票”的指令执行完”票”的指令后将返回到下一行指令中去 .W%L eIV
ifitem ?,=,猜谜的参加票,+2 ‘道具栏上只要有猜迷的参加票就跳转到+2行 !H]Zrs tAK
goto -2
walkpos 28,23
walkpos 29,22
walkpos 29,21
walkpos 29,20
goto 我猜我猜我猜猜猜

label 票
ifitem ?,=,猜谜的参加票,+13 ‘道具栏上只要有猜迷的参加票就跳转到+13行,即return指令,直接返回到call
say 现在帮你打猜谜的参加票,如果没有空位会帮你丢掉猜拳的参加券,4
set 自动逃跑,0
set 快速遇敌,1
delay 500
ifitem ?,=,猜谜的参加票,+4
ifitem 空位,>=,1,+2
doffitem ?猜拳的参加券
goto -4
delay 1000
set 快速遇敌,0
set 自动逃跑,1
delay 2000

return ‘返回到”call 票”的下一行指令” ifitem ?,=,猜谜的参加票,+2”继续执行脚本
简单的说call和return就是能使多个地方共用一个地方的指令。假设“goto”是只去不回的单程指令,那“call”加上“return”就是既去又回的双程了。是“从那里来,就回到那里去”的控制脚本流程指令。

例如,标记A后面的指令是一组很长的指令,我们常称此标记A后面的这一组指令为一个“组件”(现在简称为A组件)。
而标记B后面当执行完一段指令后,要执行A组件,执行完毕后要继续回到标记B处;
标记C后面执行完一段指令后也要执行A组件,执行完毕后要继续回到标记C处;
此时就要用上“call”指令,当然A组件最后面要用“return”指令,才能使指令“从那里来,就回到那里去”
∽∽∽∽∽∽∽【useitem】【doffitem】(使用道具) (丢弃道具)指令∽∽∽∽∽∽∽∽∽

useitem {1-15|道具名|道具说明},对象[,x,y] ‘使用道具 items格式:1|2|3-15 数值:1-15, 对象:0=人物,1-5宠物

格式1:useitem 1|2|3|4-6            ‘指定道具1,2,3,4,5,6 给人物吃掉
格式2:useitem 豪华船生鱼片    ‘把道具1-15中为 豪华船生鱼片 的全部 都给人物吃掉
格式3:useitem ?豪华船生鱼片      ‘在道具1-15中找到第一个的 豪华船生鱼片 都给人物吃掉

例子:

useitem ?飞行至萨姆吉尔 ‘飞到萨姆吉尔村,如果你道具栏第2格有一根萨村羽毛,第4格也有一根,脚本只会用第一根羽毛

useitem 1|2|3-5 ‘道具1,2,3,4,5 给人物吃掉
useitem 1|2|3-5,0 ‘道具1,2,3,4,5 给人物吃掉
useitem 1-10,2 ‘道具1-10 给宠物2吃掉
useitem 俄式宠物食物2,3 ‘道具俄式宠物食物2全部 给宠物3吃掉
doffItem {1-15|道具名全称}[,x,y] 丢出道具 items格式:1|2|3-6 数值:1-15

格式1:doffitem 1|2|3|4-6            ‘指定道具1,2,3,4,5,6 被丢出
格式2:doffitem 豪华船生鱼片            ‘把道具1-15中为 豪华船生鱼片 的全部 被丢出
格式3:doffitem ?豪华船生鱼片    ‘在道具1-15中找到第一个的 豪华船生鱼片 被丢出

人间空气 2008-08-21 09:18
∽∽∽∽∽∽∽∽∽∽∽∽∽∽【ifitem】(判断道具)指令∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽

ifitem {名称|说明|空位},{=|!=|<|<=|>=|>},数量,{跳转符号}
ifitem {?|*},{=|!=},{名称|说明|空位},{跳转符号}
ifitem {1|2|4-15},{=|!=},{名称|说明|空位},{跳转符号}
ifitem {101-109},{=|!=},{名称|说明|空位},{跳转符号} ‘判断装备,本教程最后有装备具体位置代码

例子:

ifitem 空位,>,5,XX2 ‘检测道具1-15, 其中有 空位>5 则跳转到标记XX2,空位小于或等于5则继续执行下一个指令
ifitem 火灵石,!=,0,err ‘检测道具1-15,火灵石数量不等于0则跳转到标记err,等于0则继续执行下一个指令
ifitem ?,=,不可思议的贝壳,XX2 ‘检测道具1-15, 其中有一个不可思议的贝壳则跳转到标记XX2
ifitem *,=!,火灵石,XX2 ‘检测道具1-15, 所有道具没有一个是火灵石则跳转到标记XX2

set 快速遇敌,1
delay 1000
ifitem 13|14-15,=,水灵石,+2 ‘检测道具13-15,都等于水灵石,则跳转到+2行,即”set 快速遇敌,0”
goto -2
set 快速遇敌,0
delay 100 ’延时100毫秒,即0.1秒
set 自动逃跑,1
delay 1000 ’延时1000毫秒,即1秒

ifitem 103,=,猛毒的精灵,+4 ‘检测装备栏,左武器是否为猛毒的精灵,是的话就跳转到+4行,否则的话就继续执行下一个指令

指令拆分解释:
“名称” 代表 “道具的名称”(包括道具栏及装备栏)
“说明” 代表 “道具的说明文”(包括道具栏及装备栏)
“?” 代表 “道具栏里全部位置”
“*” 代表 “道具栏及装备栏里的全部位置”
“(1-15)” 代表 “道具栏里的指定位置,顺序为从左上到右下,如1-1为第一个道具格,1-5为第一到第五个道具格,如此类推”

“101-109” 代表石器7.0及以上版本装备101-109位置顺序
“{==|>|>=|<|<=}” 代表 “{等于|大于|大于或等于|小于|小于或等于}”

∽∽∽∽∽∽∽∽∽∽∽∽∽∽【ifstone】(判断石币)指令∽∽∽∽∽∽∽∽∽∽∽∽∽∽

ifstone {=|!=|<|<=|>=|>},数值,{跳转符号}

ifstone <=,980000,+2 ‘石币小于或等于980000就跳转到+2行执行脚本,跳转call s**e.如果大于980000,就调用 标记 SAVE下的指令

CALL SAVE
…‘中间的代码省略

LABEL SAVE
save 950000,1
delay 5000
ifstone >=,980000,-2
RETURN ‘返回到call

人间空气 2008-08-21 09:18
∽∽∽∽∽∽∽∽∽∽∽【iffight】(判断战斗回合数)指令∽∽∽∽∽∽∽∽∽∽∽∽∽

iffight {=|!=|<|<=|>=|>},战斗回合数,{跳转符号} 判断战斗回合 I}s

例子:

label 开始叠加
delay 200

iffight !=,0,-1 ‘判断战斗回合数不等于0(说明在战斗中)就跳转到-1行的delay 200中去循环执行,等于0就执行下一个指令”moveitem”(移动道具),因为移动道具一定要在平时状态中才可以的,所以这里通过判断战斗回合来判断战斗是否结束.

moveitem 1,2
delay 200
iffight !=,0,-1
moveitem 2,3
delay 200
iffight !=,0,-1
moveitem 3,4
delay 200

∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽【ifpet】(判断宠物)指令∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽

ifpet {名称|空位},{=|!=|<|<=|>=|>},数量,{跳转符号}
ifpet {?|*},{=|!=},{名称|空位},{跳转符号}
ifpet {1|2|4-5},{=|!=},{名称|空位},{跳转符号}

例子:

ifpet 5,=,风水火地满2,全部喂满 ‘宠物5的名字等于风水火地满2的话就跳转到”全部喂满”继续执行脚本

ifpet 2,!=,那提拉,+5 ‘宠物2的名字不等于那提拉的话就跳转到+5行继续执行脚本,等于那提拉的话就继续执行下一行脚本

ifpet ?,=,那提拉,err ‘宠物栏只要有一个名字叫那提拉的宠物,就跳转到”err”执行脚本,没有的话就执行下一行脚本

这里和判断道具的是一样的只是变成判断宠物了而已

人间空气 2008-08-21 09:19
∽∽∽∽∽∽∽∽∽∽∽∽∽【doffpet】(丢弃宠物)指令∽∽∽∽∽∽∽∽∽∽∽∽∽∽

doffpet 1-5 ‘丢弃宠物1-5

例子:
doffpet 2 ‘丢弃宠物2,这指令不要随便使用,因为用这个丢宠物不需要按确定的

∽∽∽∽∽∽∽∽∽∽∽∽∽【ifpos】(判断坐标)指令∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽

ifpos x,y, {跳转符号}

用途:在一些利用地图传送点换地图的时候,真正的地图编号没有换的,只是换了一个地方,例如泪之海底,就可以用到ifpos来判断是否真的切换了地方.因为这时用waitmap已经没有任何作用了,换来换去都是同一个地图编号,怎么判断都是判断不出是否真的换了地方的.

例子:

walkpos 147,61
walkpos 147,62
walkpos 148,63
delay 1000
ifpos 148,63,-4 ’判断坐标,如果坐标还在148,63,说明地图没有切换成功,就跳转到-4行,再走一次坐标
walkpos 149,63
walkpos 148,71
walkpos 148,72
walkpos 148,74

∽∽∽∽∽∽∽∽∽∽∽∽∽∽【check】(状态检测)指令∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽

check {人物},{名称|LV|HP|MP|石币|攻击|防御|敏捷|魅力|转生},{=|!=|<|<=|>=|>},数值,{跳转符号}
check {宠物1-5|战宠|骑宠},{名称|LV|HP|攻击|防御|敏捷|魅力|忠诚|职位|技能1-7},{=|!=|<|<=|>=|>},数值,{跳转符号}

例子:

check 人物,魅力,<,100,做橘子 ‘人物的魅力小于100,就跳转到标记”做橘子”,大于或等于100就执行下一行指令
check 战宠,忠诚,<,100,加忠 ‘战宠的忠诚小于100,就跳转到标记”加忠”
check 宠物1,技能4,=,料理,+3 ‘检查宠物1的技能4是否为料理,如果是,就跳转到+3行,不是就执行下一行”say “指令

say 料理宠物放第1位,技能第4位。

还有几个小指令没介绍:

beep ‘提示声音,会发出”铛”的一声来提醒玩家
end ‘结束脚本,一般加在判断类指令后面和脚本结尾
pause ‘暂停脚本,随便加到哪都行,一行加在”MSG”命令的后面
log mode ‘mode=0重登,1回纪录点,2登出,3断线 log 1表示回记录点

usemagic {1-5} ‘使用精灵
usemagic {1-26},-1 ‘使用技能,usemagic 1,-1 如果你的第一个技能是寻敌追踪,那么这个命令就能用出寻敌追踪这技能

LL pet,fun,items 合成和料理 pet=0…5,fun=1…7|技能名
格式1:LL 1,2,1|2|3-5 7-
格式2:LL 1,2,高级鱼|毛蟹|大王花枝|活跳跳章鱼|高级玛丽娜丝虾
格式3: LL 0,加工,1|2|3
ifsay {1-20},对话内容,{跳转符号} 判断说话

道具栏1-15位置顺序(从左上到右下):
┏━━┳━━┳━━┳━━┳━━┓
┃ 1┃ 2┃ 3┃ 4┃ 5┃
┣━━╋━━╋━━╋━━╋━━┫
┃ 6┃ 7┃ 8┃ 9┃10┃
┣━━╋━━╋━━╋━━╋━━┫
┃11┃12┃13┃14┃15┃
┗━━┻━━┻━━┻━━┻━━┛
宠物栏位置顺序(主要按资料显示–>人宠资料上为准)及宠物技能位置顺序从上到下:
┏━━━┓ ┏━━━┓
┃宠物一┃ ┃技能1┃
┣━━━┫ ┣━━━┫
┃宠物二┃ ┃技能2┃
┣━━━┫ ┣━━━┫
┃宠物三┃ ┃技能3┃
┣━━━┫ ┣━━━┫
┃宠物四┃ ┃技能4 ┃
┣━━━┫ ┗━━━┛
┃宠物五┃
┗━━━┛

石器7.0及以上版本装备101-109位置顺序:

┏━━━━━━━┳━━━━━━━┳━━━━━━━┓
┃左饰(105)┃头盔(101)┃右饰(104)┃
┣━━━━━━━╋━━━━━━━╋━━━━━━━┫
┃左武(103)┃衣服(102)┃右武(107)┃
┣━━━━━━━╋━━━━━━━╋━━━━━━━┫
┃手套(109)┃腰带(106)┃鞋子(108)┃
┗━━━━━━━┻━━━━━━━┻━━━━━━━┛

名片位置顺序从第一页开始翻页,从上到下(1-80)7.5以上的时代,2.0的为(1-40)。
∽∽∽∽∽∽∽∽∽∽∽∽【dim】【input】∽∽∽∽∽∽∽∽∽∽∽∽

dim:定义
dim @{a-z 1.2.3…}
说明:定义变量,就相当于建立一个内容数据
例如:dim @a
定义@a, (建立一个@a的变量)

input:输入 (注意 需要和dim一起使用)
input 定义了的变量{如:@a},说明
说明:让游戏者输入一个定义内容
例如: dim @a
input @a,请说出运行脚本的密码!
if @a,=,123,+3
msg 密码错误,你没权运行脚本!
end
msg 密码正确!

人间空气 2008-08-21 09:20
∽∽∽∽∽∽∽∽∽∽∽∽【if】∽∽∽∽∽∽∽∽∽∽∽∽

if:简单判断

if 定义了的变量,{=,!=},内容,正确跳转
例如:
if @a,=,命令说明,+1

现在举个详细的例子!
dim @a

print 如果你不需要买气 请直接按确定,1
print 如果你买气,请输入你希望 每次买气的数量 ! ,1
print 数字为普通的数字(1.2.3.4…) 不能输入全角数字!,6
input @a,★请输入你想买气的数量!说明请看游戏的对话!
if @a,=,+4
cls
print 你选择了不需要买气!脚本继续运行
goto +6
say 小明智能脚本告诉你:,1
say ☆你选择了每次回来都买气!,1
say 你输入的买气数量为:,1
say @a,6
print ☆你选择了每次回来都买气!可以看游戏框内输出的对话核对你输入的数据!||请设置 道具栏满自动吃1瓶气

.
…中间省略
label 开始
set 自动逃跑,1
set 快速遇敌,0
set 锁定攻击,0
cls
log 1
waitmap 2000,8,-2
say 感谢使用小明智能喂MM脚本!
say 欢迎光临:
delay 2000
.
…中间省略
if @a,=,+3
cls
call 买气
.
…中间省略
‘’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’
label 买气;
渔村到渔村医院的代码=
waitmap 2005,8,-3 '玛丽娜丝的医院
walkpos 11,16
walkpos 12,16
walkpos 12,10
walkpos 12,9
walkpos 15,9
w 15,9,A
say 智能喂mm脚本!
waitdlg 玛丽娜丝的药师,1,10,-5
buy 5,@a ====此处的@a的值为上面你输入的数值!
delay 2000
log 1
waitmap 2000,8,-2
return

∽∽∽∽∽∽∽∽∽∽∽∽标记活用∽∽∽∽∽∽∽∽∽∽∽∽

label .log. 断线重登后,脚本将跳到此处运行
label .end. 按停止按钮,脚本将跳到此处运行
label .err. 脚本出错后,脚本将跳到此运行

使用存仓库时,可以用这个(打开存东西的对话框)button 10-24 ,10代表道具欄第一位.

动作表情使用/ac [0…12] '人物动作
0 攻击1 受伤2 晕倒3 站立4 走动5 坐下6 挥手7 高兴8 生气9 悲伤10 防御11 点头12 投掷
这个你可以直接用

say /ac 0 来做动作
/ma 101288~101304 心情表情使用
/ma w[q,e…]

无师自通-自己学写脚本,小明外挂脚本代码教程 转载相关推荐

  1. 用Java写个小游戏--黄金矿工代码实现

    黄金矿工 项目结构 前期准备 Stone类 Gold类(包含Gold类,GoldMini类,GoldPlus类) GameWin类 Line类 Parent类 Sky类 项目结构 GameWin类,游 ...

  2. linux脚本小游戏,shell脚本(shopping小游戏)

    需求:共有5家商店,逐个逛,买商品则打印商品信息,记录每次购买的金额.逛完5家商店给予总金额输出 分析:大循环逛5家商店,小循环询问是否购买商品,每次买完,对商品价格累加.#!/bin/bash #打 ...

  3. linux脚本小游戏,Shell脚本实现的猜数字小游戏

    生成的密码和用户输入可以接受重复数字. 所以相对一般规则的猜数字可能难度要大不少. 本版本规则: A--数字对,位置也对 B--排除A的结果后,数字对,但位置不对 开始后,系统化初始化一个4位可重复数 ...

  4. c#超火表白小程序(含代码教程)

    即使倾其所有,我也想跌跌撞撞的闯入你的眼眸 以你之名,冠我之姓,吾之爱汝,唯愿执子之手,与子偕老,可好? 做一个简单有趣的表白小程序吧! 一.窗体设计 此程序用到三个控件: Picture_Box控件 ...

  5. OSChina 周日乱弹 ——小明毕业后,到银行上班…

    2019独角兽企业重金招聘Python工程师标准>>> 啦啦啦,周日啦,大家要珍惜时间哦,把昨天未做好的事情都补上吧,嘿嘿 你看看,小明都毕业了,还没毕业的小盆友更要珍惜时间哦- 小 ...

  6. flash编程可以用c语言,C语言写的小游戏和FLASH小游戏有何区别呢-c语言编程手机软件...

    C语言写的小游戏和FLASH小游戏有何区别呢-c语言编程手机软件 (2010-12-05 17:12:08) 标签: 杂谈 分类: 随笔 同题有大大的区分c语言写游戏可以直接挪用体系api举行编著,合 ...

  7. android 类似按键精灵脚本_按键精灵【第一期】教你 0 基础学写脚本 ———— 【金猪教程】...

    金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚 ...

  8. 【小明有啥说啥】我不会写标题,端午随便分享几点小技巧

    http://bbs.paidai.com/topic/1069372 大家好,我又回来了,我不是大神,我只会操作,不怕死.我是无处不在的小明,接下去我就想到什么说什么,暂时定为[小明有啥说啥] 最近 ...

  9. 小明学PostgreSQL : 自旋锁浅析

    <小明学PostgreSQL : 自旋锁浅析> Table of Contents 什么是自旋锁 自旋锁的伪码 TAS VS CAS PostgreSQL的自旋锁 什么是自旋锁 自从小明学 ...

最新文章

  1. 纸上原型设计 VS 桌面原型工具设计,你更喜欢谁?
  2. boost::contract模块实现vector的测试程序
  3. linux 低功耗运行,关于Linux的快速启动(fastboot)和低功耗(low power)的学习记录...
  4. java 中的 Scanner
  5. Pandas sample随机抽样
  6. word里画的流程图怎么全选_word画流程图 Word中绘制流程图的正确姿势,这招大多数人不知道...
  7. 关于win10无法正常关机
  8. python简易自动化之pyautogui 2020-12-19
  9. 2019年终总结,一朝看尽长安花
  10. 埃拉托色尼筛选法(Eratosthenes Sieve)分析
  11. 主题:EXE + BPL + DLL + Interface实现插件式客户端解决方案
  12. android AV流程
  13. 面试java想要高工资的看这里
  14. qbo_arduqob command 命令Id约定
  15. 研究了上市公司的报表后,我总结出了最快制作经营分析报表的方法
  16. 电子计算机成为通用计算机器,第5讲程序与处理器.pptx
  17. tableau高级图形的应用及可视化实现方法
  18. [bugku]解密系列+杂项
  19. 在线Photoshop ps网页图片处理PHP源码
  20. creo 6.0—12creo样条曲线绘制、13 creo草绘——偏移、加厚、投影

热门文章

  1. 鸿蒙ArkUI即将取代Java UI?
  2. 内容安全的主要场景有哪些呢?
  3. 免费的仓库管理系统软件有哪些?免费好用的仓库管理软件推荐
  4. 工业品数字化采购发展趋势分析,采购系统赋能企业采购业务智慧升级
  5. 多边形裁剪|Sutherland-Hodgman
  6. 学术/答辩PPT制作(结构篇)
  7. 5V升压8.4V1A,给双节锂电池充电芯片-PL7501
  8. 【转】约翰。克里斯朵夫的评论
  9. 使用开源项目【Banner】实现轮播图效果(带小圆点)
  10. Android--Spinner实现省市区三级联动