小丑传奇引擎脚本入门说明

脚本入门说明

一、关于NPC内容调用

引擎目前脚本支持两种写法(lua写法和TXT写法)

lua脚本路径:Database\System\lua\Npc\NpcFace

TXT脚本路径:Database\System\Envir\NPCs


调用写法目录:Database\System\Npc数据\守卫数据

例:lua写法调用

1
2
3
4
5
6
{
"守卫编号": 874,
"守卫等级": 1,
"守卫名字": "钱多多01",
"触发lua": true
}

例:TXT写法调用

1
2
3
4
5
{
"守卫编号": 874,
"守卫等级": 1,
"守卫名字": "钱多多01"
}

二、NPC基础写法(TXT)


例:输出对话框

1
2
3
4
5
6
7
[@MAIN]
#IF
level < 10
#SAY
你的等级小于10级!
#ELSESAY
你的等级不小于10级!

例:
对话框换行

1
2
3
4
5
6
7
[@MAIN]
#IF
level < 10
#SAY
你的等级小于10级!<BR>先去升升级吧!
#ELSESAY
你的等级不小于10级!

例:执行功能

1
2
3
4
5
6
#IF
level < 10
#ACT
TopMessage "你当前等级小于10级" FALSE
#ELSEACT
TopMessage "你当前等级不小于10级" FALSE

例:对话框按钮执行脚本

1
2
3
4
5
6
7
8
9
10
[@MAIN]
#IF
#SAY
你好,有什么可以帮你?<#SO:1>我要金币<#SO/>

[@1]
#IF
#ACT
GiveGold 100
TopMessage "你获得100金币" FALSE

<#SO:1>按钮名字<#SO/> - <#SO:1>数字1代表按钮的触发标签,以<#SO/>结尾


例:多级跳转界面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[@MAIN]
#IF
#SAY
你好,有什么可以帮你?<#SO:1>我要金币<#SO/>

[@1]
#IF
#SAY
请问我为什么要给你金币?<#SO:1>因为我长得帅<#SO/>

[@1_1]
#IF
#SAY
长得帅就可以为所欲为?<#SO:1>求求你给我点吧<#SO/><#SO:2>不给就算了<#SO/>

[@1_1_1]
#IF
#ACT
GiveGold 100
TopMessage "好吧,我给你100金币吧" FALSE
BREAK

[@1_1_2]
#IF
#ACT
TopMessage "没爱了,不强求了" FALSE
BREAK

如果使用按钮跳转到下一个界面时,触发处就得每一级多加_加当前数字


例:多条件判断中断

1
2
3
4
5
6
7
8
9
10
11
#IF
level > 10
#ACT
TopMessage "你当前等级大于10级" FALSE
BREAK

#IF
level > 15
#ACT
TopMessage "你当前等级大于15级" FALSE
BREAK

这样第一个条件满足后就不执行后面的判断了


例:NOT取反判断

1
2
3
4
5
#IF
NOT level = 15
#ACT
TopMessage "你的等级不等于15级" FALSE
BREAK

例:OR多条件判断

1
2
3
4
5
6
#OR
level > 10
CheckClass 战士
#ACT
TopMessage "你的等级大于10级或你职业是战士" FALSE
BREAK

这样上面两个条件满足其中一个就会执行后面的语句