2023年11月27日发(作者:)

【脚本教程】ASSA指令解析与案例

展开全文

cls '清屏

beep '提示声音

end '结束当前脚本, 返回上级脚本调用位值

exit '退出所有脚本

pause '暂停脚本运行

print 提示信息 [,颜色值] '提示

say 说话内容 [,颜色值] [,x,y] '说话

join {0|1} [,x,y] '1组队 0脱队

chmap x,y [,mode] '换地图 [mode=1 早上]

skup {0|1|2|3} or {体力|腕力|耐力|速度} '调升级点

eo '更新游戏数据

msg 消息内容 '信息窗口

delay 延时毫秒 '延时

mousemove x,y '鼠标移动

lclick x,y [,按下延时] '按下左键

rclick x,y [,按下延时] '按下右键

log {0|1|2|3} {重登|回纪录点|原地|断线}

chname {人物|宠物(1-5)|战宠|骑宠},名称

pickup {*||东北||东南||西南|西|西北|A|B|C|D|E|F|G|H} [,x,y]

W X,Y,

{a..h[a..h]|A..H} '

不显示位置 a= b=东北 c= d=东南 e= f=西南 g=西 h=西

button {OK|CANCEL|确定|取消|上一页|下一页|关闭|0..8|{$|#}

入文字} [,x,y[,key[,flag]]] 对话框命令

button &宠物名称1|宠物名称2|宠物名称2 '融合命令1 在打开

融合对话框下使用

button #1|2|3 '融合命令2 在打开融合对话框下使用

label 标签名称 '保留标签: .end. .log. .err.

goto 标签名称 [,错误跳转]

call 标签名称 [,错误跳转]

return

ifmap num, {跳转符号} 判断地图

ifpos x,y, {跳转符号}判断人物坐标

ifstone {=|!=|<|<=|>=|>},stone,{跳转符号} 判断石头数值

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

ifdlg text,num,{跳转符号} 判断对话框。 waitdlg ?,0 后面使

ifsay {1-20},text,{跳转符号} 判断说话

ifitem {名称|空位},{=|!=|<|<=|>=|>},数量,{跳转符号}

例如:ifitem 空位,>,5,XX2 检测道具1-15, 其中有 空位>5

跳转

ifitem {?|*},{=|!=},{名称|空位},{跳转符号}

例如:ifitem ?,=,晒干的鱼,XX2 检测道具1-15, 其中有一个

干的鱼 则跳转

ifitem {1|2|4-5},{=|!=},{名称|空位},{跳转符号}

例如:ifitem 4-5,=,晒干的鱼,XX2 检测道具4-5,都是 晒干的鱼

则跳转

ifpet {名称|空位},{=|!=|<|<=|>=|>},数量,{跳转符号}

ifpet {?|*},{=|!=},{名称|空位},{跳转符号}

ifpet {1|2|4-5},{=|!=},{名称|空位},{跳转符号}

check {人物},{名称|LV|EXP|HP|HP%|MP|MP%|攻击|防御|敏捷|

|||||||||

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

{宠物1-5|战宠|骑宠},{名称|职位|技能1-7|LV|EXP|HP|HP%|攻击|

防御|敏捷|忠诚|转生},{=|!=|<|<=|>=|>},数值,{跳转符号}

宠物职位:0=战骑 1=骑宠 2=战宠 3=等待 4=邮件 5=休息

{精灵1-5|职能1-26},{名称|消耗气力|熟练度},{=|!=|<|<=|>=|>},

数值,{跳转符号}

地图,编号,{=|!=|<|<=|>=|>},编号,{跳转符号}

地图,名称,{=|!=},名称,{跳转符号}

座标,{=|!=},X,Y,{跳转符号}

队伍,人数,{=|!=|<|<=|>=|>},数量,{跳转符号}

队伍,{?|1-5},{=|!=|LIKE},名称,{跳转符号} '1队长,2..5队员, 名称

格式:名称 LV:xx

说话,{?|行号列表},{=|!=|LIKE},内容,{跳转符号}

对话,{?|行号},{=|!=|LIKE},内容,{跳转符号}

对话,0,{=|!=|LIKE},?,{跳转符号} '表示只检测对话框

道具,{1|2|3-5},{=|!=|LIKE},{名称|空位},{跳转符号}

道具,空位,{=|!=|<|<=|>=|>},数量,{跳转符号}

道具,名称,{=|!=|<|<=|>=|>},数量,{跳转符号}

道具,{?|*},{=|!=|LIKE},名称,{跳转符号} '*装备位+道具位, ?道具

道具,{*1..15|*名称},{=|!=|<|<=|>=|>},数量,{跳转符号} '堆叠数量

检测

宠物,{1|2|3-5},{=|!=|LIKE},{名称|空位},{跳转符号}

宠物,空位,{=|!=|<|<=|>=|>},数量,{跳转符号}

宠物,名称,{=|!=|<|<=|>=|>},数量,{跳转符号}

宠物,?,{=|!=|LIKE},名称,{跳转符号}

任务,?,{=|!=|LIKE},名称,{跳转符号} '必须先运行: button 任务日志 ;

delay 500

': check 任务,?,=,成人礼 {已完成},+2

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

字符匹配 LIKE 说明: (汉字作一个字符) *=所有, ?=一个

如下面说话:

魔法牌主持人:第3回合 战斗

1.不检测'3回合' ,则可写成:

check 说话,1-20,like,魔法牌主持人: 战斗

check 说话,1-20,like,魔法牌主持人:* 战斗

2.check '战斗' ,则可写成:

check 说话,1-20,like,魔法牌主持人:第3回合 ??

check 说话,1-20,like,魔法牌主持人:第3回合 *

3.不检测'魔法牌主持人:' ,则可写成:

check 说话,1-20,like,3回合 战斗

check 说话,1-20,like,*3回合 战斗

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

跳转符号说明:

除默认的 [+|-|标签],也含有以下命令:

goto 标签名称

call 标签名称

return

end

运行脚本指令:

run 01.【内建脚本】flyto加加村.ASC

run '同一脚本目录下,直接run 脚本名字.ASC 不需要路

.

waitmap num, dly [,errlabel]

waitpos x, y, dly [,errlable]

waitdlg txt, num, dly [,errlabel] or waitdlg num, txt, dly

[,errlabel]

waititem items, name, dly [,errlabel]

waitpet indexs, name, dly [,errlabel]

waitsay nums, text, dly [,errlabel]

'

wait {地图|对话|说话|道具|宠物|座标}, ...

wait 地图, 编号 [,错误跳转]

wait 对话, 行号,内容 [,错误跳转]

wait 说话, 1-20,内容 [,错误跳转]

wait 道具, {列表|名称},{名称|数量} [,错误跳转]

wait 宠物, {列表|名称},{名称|数量} [,错误跳转]

wait 座标, X,Y [,错误跳转]

'***********************

'变量指令

'***********************

'@变量符号(不分大小写),变量必须经过定义方能使用

'不合法的变量字符 =,@,[ 和空格

'所有命令参数输入都可以以变量作输入

'系统变量不能定义,赋值,判断,输入

dim [-]@a [,[-]@b,[-]@c,[-]@d,[-]@e] '一个命令最多能定义5

个变量,[-]为删除变量

let 变量,{=|+|-|*|/},{数值|字符串} '赋值和变量计算

if 变量,{=|<|>|<=|>=|!=},{数值|字符串},跳转 '变量判断

input 变量 [,提示文字,标题文字] '变量输入框

1:

dim @x, @y

let @x,=,5

let @y,=,10

label xx

walkpos @x,@y

let @y,+,2

if @y,>=,22,+2

goto xx

end

2:

dim @name,@name2

let @name,=,小明

let @name2,=,END

input @name,请输入你的名字

if @name,=,@name2,+4

let @name2,=,我的名字是:

let @name2,+,@name

msg @name2

end

chpet 1-5 [,mode] '换宠 [mode=1 骑宠]

or chpet {战宠|骑宠}, pet

doffpet 列表(1|2|3-5)|[?]名称 [,x,y]

doffstone 数值 [,x,y] '丢钱

save 数值 [,mode] '存钱

or save {个人银行|家族银行|伊甸银行}, 石币数值

load 数值 [,mode] '取钱

or load {个人银行|家族银行|伊甸银行}, 石币数值

mail 名片列表(1|2|4-8),邮件信息

petmail 名片编号(1..80),{道具(1|3|4-6)|[?]名称} [,1] '1等待寄出

get {道具列表|名称} [,x,y]

put {列表1|2-5|名称} [,x,y]

buy {列表|名称},{*|数量} [,x,y] *自动买满空位置

sellitem {列表|名称},{*|数量} [,x,y] *道具的堆叠数

doffitem {列表(1|2|3-5)|[?]名称}

useitem {列表(1|2|3-5)|[?]名称},对象(0..5) [,x,y]

moveitem 编号(1|2|3-9),道具(1|2-9)|? '装备编号 101..109

usemagic {魔法编号|魔法名称},对象(0..5) [,x,y]

usefunc {技能编号|技能名称}

ll {0|宠物编号1-5},{技能名称|技能1-7},道具列表 '料理命令

set 加速,{0|(1-14)}

set 脚本延时,0-250

set 走动遇敌,{0|1}