脚本命令及说明

一些说明及技巧:

1.命令说明内的带有[]参数可以省略不写

2.所有命令都可以用IF来判断,有时候会更简洁高效,如

;;扣除积分给物品

  #IF

  SETUSERJF - 100 购买物品

  #ACT

  give 木剑 1

  如果失败必定是积分不足无需判断


;;判断几率

  #IF

  MOVR P0 100

  Equal P0 0

3.否判断符号!和命令直接不能有空格之类其他字符,如! Equal 将不规则

4.OR 出现时之前的所有命令作为一个条件,如:

;;满足条件 [条件3] 或者 [条件1+2]

  条件1

  条件2

  OR 条件3


;;满足条件 条件3必须满足, 条件1和2至少满足1个

  条件1

  OR 条件2

  条件

5. 每个[@xx]节点段落的不同段落命令数量最大256个,如要超出使用goto拆分

6. 按钮使用[@~~xxx]可以跨NPC使用,通常写于00default的功能

7. #CALL支持变量及参数,如

   #CALL [脚本.txt] @callparm1(1,2,3) ;常量


    FORMATSTR "@callparm2(%s,1,2)" %USERNAME

    #CALL [脚本.txt] %A9 ;这个方式需要事先在其他地方执行一次#CALL [脚本.txt] "@callparm2()"以导入该标签,如NPC启动时载入

8.脚本按钮可以直接使用变量作为参数:

   方法1:<按钮/@button(%% 变量1,%%D1)>,此方法可以传递带有,(逗号)的变量,切记必须使用2个%且不能使用P变量(因为更改part后P变量重置),否则可能导致崩溃等各种问题。 如不需要传递含有,的数据请选择方法二更安全高效

   方法2(推荐):<按钮/@button(<$ 变量1>,<$P9>)>,无需使用FORMATSTR格式化按钮,内容不能包含,(逗号)否则将会被拆分为2个变量

9.NPC对话可以将一串文字进行像素对齐, 例如:

   {L20}左对齐{L},在宽度20个像素内左对齐显示"左对齐"内容

   {C30}居中{C},在宽度30个像素居中显示"居中"内容

   {R40}右对齐{R},在宽度40个像素内右对齐显示"右对齐"内容

10.{NPCIMG}调用NPCFACE方法

  #SAY

  {NPCIMG/1} \ ;显示第1张图片

  {NPCIMG/2-5}\ ;动画显示第2-5张图片,默认间隔300ms

  {NPCIMG/2-5|100}\ ;动画显示第2-5张图片,间隔100ms

11.打开URL

  <我要打开网页/@URL:www.baidu.com >

 也支持打开URL时同时执行标签,如

 <我要打开网页/@URL:www.baidu.com,/@button> 则打开web时同时执行[@button]标签

12.脚本文本自定义颜色

  {FCOLOR/#16711935}紫色   16711935为紫色16进制(FF00FF可用PS查看)的10进制数值,可用计算器转换

13.输入的对话框可以自定义说明,支持换行,例如 <button/@@btncmd(参数)'点yes\不要点no'>, 按钮对话框将会显示单引号''内的两行文字, 按钮命令必须含有()即便为空

14.不需要从商店修理装备,使用特殊的标签[@REPAIR]和[@S_REPAIR]即可,如

  [@REPAIR]

  #ACT

  Mov GOODSCOLTYPE 19

  #SAY

  修理

15. 除了使用命令之外, 存取也支持按钮标签[@STORAGE]和[@GETBACK]

16.P变量属于局部变量,当进入新的标签[@xx]时,P变量将重置为0,但是退出此标签时P变量不会改变. 如

    MOV P9 1

    goto @xxx

    sysmsg "<$P9>" ;此时P9在@xxx内部已经被重新初始化了,所以可能并不等于1

17.NPC对话菜单可自定义背景,例如{bg/Gameinter,8000,30,40,290,160,DataEx\Ui145,530,38,62,248,272,DataEx\UiEX,530,38,62,248,272}

  说明:

  Gameinter,8000,30,40,290,160分别是文件名称,图片ID,显示的开始的位置XY,宽度,高度

  当有3组背景信息时分别是kor,145,3g界面,当不存在就会使用kor的界面

  NPC背景信息应该写在对话内容的最前面

  关闭及翻页按钮将会根据背景尺寸自动调整