各位看官老爷实在抱歉,最近小弟身体抱恙,一直再医院接受治疗,所以网站内容也一直没有更新,今天趁着有空随便写点东西,本来是准备录视频的,但苦于条件所限,所以只能以文字形式呈现。还请各位看官老爷海涵!由于手机码字,如有错误之处,还请指正!再次感谢大家关注半瓢水banpiaoshui.com
今天给新手朋友简单讲解一下脚本的基本知识。很多新手朋友第一次当GM,无论是单机还是开服,对游戏本身的设置多多少少觉得有点不满意,想更符合自己的想法,哪怕游戏中的礼包码,也想改成自己的Q群号,但是不知道从哪下手,问了一圈知道是脚本,但是脚本这个词对于很多新手朋友来说又感觉很高深莫测,毕竟一打开满屏幕的各种英文字母,符号,数字等等着实会让人头疼,但其实一旦接触过以后会发现脚本其实也不是那么难。脚本有它固定的写法,固定的格式,当我们看到某个脚本的时候,我们首先要知道,所有脚本都是从上向下逐行运行的。那么我们在写脚本的时候,先干什么后干什么这种顺序就要考虑好。比如“如果我的车子没油了,所以我要去加油”这么读起来就很通顺,也很好理解。而不能是“如果我的车子没油了,那么今天会下雨”。虽然如果硬抬杠能抬的过去,但是对于脚本来说,这样就没办法运行,因为不符合逻辑!所以写脚本真正难的地方就在于逻辑思维,而不是去写。但话又说回来,初识脚本的时候则恰恰相反,先学会看的懂,再考虑为什么这么写!当然,想看的懂的话,就先从改下手!脚本主要分为NPC脚本,登录脚本,功能脚本,机器人脚本,任务脚本等等。
一、语法框架
[@MAIN] ;主体,一个NPC的开始
[@自定义段] 可自定义
<XXX/@自定义段> ;点击跳转
\ ;换行符
; 英文输入法下分号,注释的意思,分号这一行的脚步不执行
#IF ;条件语句,可以理解为“如果”
#OR ;“或者”的意思, 满足其中一个条件即可执行
#ACT ;执行语句,条件成立执行脚本命令
#ELSEACT ;条件不成立执行脚本命令
#SAY ;条件成立对话框输出内容
#ELSESAY ;条件不成立对话框输出内容
BREAK ;结束脚本命令
CLOSE ;关闭对话框
EXIT ;退出对话框
举例说明:
[@main] #IF 检测命令 #ACT #SAY 输出对话框内容1 #ELSESAY 反之输出对话框内容2
这段代码的中文意思就是,如果检测某个条件,如果达到了的话,输出对话框内容1,如果没达到,输出对话框内容2。
[@半瓢水] #IF 检测命令 #ACT 执行命令1 BREAK #ELSEACT 反之执行命令2 BREAK
这段代码的中文意思就是,自定义字段“半瓢水”下,如果检测某个条件,满足就执行命令1,脚本结束。如果检测某个条件,不满足就执行命令2,脚本结束。
二、部分执行命令
用在 #IF下,#ACT之前或者#SAY之前
CheckItem ;检测背包是否有某个物品
CheckItemw ;检测身上是否佩戴有某个物品
INSAFEZONE ;检测是否在安全区
ISGUILDMASTER ;检测是否是行会掌门人
ISCASTLEMASTER ;检测是否是沙城城主
HAVEGUILD ;检测是否有行会
这里仅仅是部分执行命令,更多的可以查看说明书
三、部分执行命令
用 #ACT下或者#SAY之下,BREAK之前
Goto @段 跳转到某个段,也可为自定义字段
Give 物品 数量 ;给多少东西,除了物品数据库中有的物品,还有金币,
Take 物品 数量 ;拿走多少东西,除了物品数据库中有的物品,还有金币,
Mapmove 地图名 坐标A 坐标B ;传送到某个地图的某个坐标
MonGenex 地图名称 坐标X 坐标Y 怪物名称 范围 数量 名字颜色(0-255、 为空为默认颜色) ;脚本刷怪,某个地图某个坐标某个范围,刷多少怪,自定义名字颜色
四、特殊命令
AUTOCOLOR 自动彩色字体设置
FSIZE 字体大小
FNAME 字体类型
FBOLD 字体加粗
FCOLOR 字体颜色
变量字符颜色{<$USERNAME>/FCOLOR=254}\
变量字符自动变色{<$USERNAME>/AUTOCOLOR=254,251,168,191,250,70,245,249,253}\
<字体颜色/FCOLOR=69>\
<自动变色/AUTOCOLOR=254,251,168,191,250,70,245,249,253>\
<可以触发字段颜色{FCOLOR=250}/@跳转1>\
<可以触发自动变色{AUTOCOLOR=254,251,168,191,250,70,245,249,253}/@跳转2>\
<Text:文字内容|提示:0:0{FCOLOR=250;FSIZE=14;FNAME=黑体}/@测试> \ \
<Text:绝对坐标|提示:30:20{AUTOCOLOR=254,251,168,191,250,70,245,249,253;FSIZE=25;FNAME=楷体;FBOLD=1}/@测试> \ \
<Text:测试下这段文字的显示|提示信息:10:20{FCOLOR=253;FSIZE=25;FNAME=宋体}/@测试>
脚本中使用图标功能[!]
功能:脚本中使用图标功能[!]
格式:无
说明:无
例:
格式: <Img:N:F:X:Y:D/@Label>
N表示显示文件中的第几个图片,F表示WIL文件序号,X是横向坐标,Y是纵向坐标.
F=WIL文件序号(详见引擎:查看-列表信息(二)-WIL资源)
X和Y这两个坐标可以使图片显示的坐标更加精准.
D=输入框的ID列表,用’,’分隔开,所有用*表示 (本参数为20170407更新扩展,但如果图片要用于提交输入的内容,就必须要填)
@Label是点击图片时需要触发的脚本标签.
新增加 格式: <ImgEx:F:U:H:D:X:Y:P/@Label>
F=WIL文件序号(详见引擎:查看-列表信息(二)-WIL资源)
U=默认显示的图片序号
H=鼠标放上去时显示的图片序号
D=鼠标点下去时显示的图片序号
X和Y这两个坐标可以使图片显示的坐标更加精准.
P=输入框的ID列表,用’,’分隔开,所有用*表示 (本参数为20170407更新扩展。可以不填写,但如果图片要用于提交输入的内容,就必须要填)
@Label是点击图片时需要触发的脚本标签.
增加脚本中播放图片功能.
格式: <PlayImg:F:N:C:T:X:Y:M:备注文字内容:P/@Label>.
F表示WIL文件序号,N表示播放开始图片,C表示播放张数,T表示播放速度(毫秒),X是横向坐标,Y是纵向坐标.
F=WIL文件序号(详见引擎:查看-列表信息(二)-WIL资源)
X和Y这两个坐标可以使图片显示的坐标更加精准.
M:绘制模式(0:原始绘制; 1:透明绘制; 2:底层原始绘制;3:底层透明绘制)
P=输入框的ID列表,用’,’分隔开,所有用*表示 (本参数为20170407更新扩展。可以不填写,但如果图片要用于提交输入的内容,就必须要填)
@Label是点击图片时需要触发的脚本标签.
例: <PlayImg:5:510:3:100:10:10:M:249#翎风引擎官方网站:^250#www.haom2.com/@播放图片>.
增加脚本中播放图片功能(支持播放次数).
格式: <PlayImgEx:F:N:C:T:H:X:Y:M:备注文字内容:P/@Label>.
F表示WIL文件序号,N表示播放开始图片,C表示播放张数,T表示播放速度(毫秒),
H:表示播放次数
X是横向坐标,Y是纵向坐标.
F=WIL文件序号(详见引擎:查看-列表信息(二)-WIL资源)
X和Y这两个坐标可以使图片显示的坐标更加精准.
M:绘制模式(0:原始绘制; 1:透明绘制; 2:底层原始绘制;3:底层透明绘制)
P=输入框的ID列表,用’,’分隔开,所有用*表示 (本参数为20170407更新扩展。可以不填写,但如果图片要用于提交输入的内容,就必须要填)
@Label是点击图片时需要触发的脚本标签.
例:<PlayImgEx:1:520:10:150:5:280:-50:0:250#翎风引擎官方网站:^250#www.haom2.com/@播放图片>.
<ItemShow:D:F:X:Y:Z:W:G/@Label>
参数说明:
d= 数据物品ID
F= 数量(数量设置小于1则不显示)
X Y = 微调坐标 排版的
Z= 是否显示物品框,0为不显示,1为显示
W= 首饰发光代码,代码与light一样(不需要则可忽略不填写这个参数 ,或填写0)
G= 灰化显示(0或空=正常,1=灰化)
鼠标放上去显示物品属性。类似<Img>图标的用法
@Label是点击图片时需要触发的脚本标签. (不需要跳转则可不需填写,如:<ItemShow:D:F:X:Y:Z:W:G>)
注:当参数Z为0时,参数W无效
功能:
NPC标签备注功能
格式:
[@main]
<这是一行文字|253#我是备注:^254#我换行了>\
<这是一行文字|253#我是备注:^254#我换行了^-^250#我又换行了/@打开>\
<Img:111:8:0:0|253#我是备注:^254#我换行了>\
<Img:111:8:0:0|253#我是备注:^254#我换行了^-^250#我又换行了/@打开>\
[@打开]
#if
#ACT
SENDMSG 6 按钮事件触发成功
评论 (0)