2 ———————————对话!
嘿,大家好,我想死你们了…………………..算了,进入主题
蛙吉特蹦蹦跳跳地过来了
每到战斗时,对话框都会有一窜文本。比如:
- 蛙吉特蹦蹦跳跳地过来了
- 你感觉sans 懒惰 罪恶爬上了你的脊椎
- 你又双叒叕丢了
等等
而我们的战斗的开场白却是Poseur strikes a pose!
我们改一改,找到这一行(encounter.lua)
encountertext = "Poseur strikes a pose!"
让我们修改一下ta
encountertext = "I AM HERE!"

进去游戏一看发现开场白改了
怎么样?
但是我们意识到一个问题,这样只能改开头啊!
我当然想到了这点
下面我来介绍一个函数
什么?你害怕了?
没关系,这不是数学
你可以把他当成一个功能:
BattleDialog({"你想说的话"})
进入怪物的脚本,我们赶快再act2中加入:
elseif command == "ACT 2" then
BattleDialog("OK!")
结果发现我们失败了,为什么呢,我们看看下面居然还有一个行:BattleDialog({"You selected " .. command .. "."})
我们把它删掉
惊奇的发现!成功了!
不过每回合对话框的内容都会变,所以我们得指定怎么变
找到这个
comments = {"Smells like the work\rof an enemy stand.", "Poseur is posing like his\rlife depends on it.", "Poseur's limbs shouldn't be\rmoving in this way."}
comments是一个关键变量,和encountertext一样,由CYF引擎识别 comments代表每回合后随机显示的对话(当然,可以多次改)
你肯定会好奇work\rof这么一个东西,难道他会输出work\rof吗?
可是在游戏中输出的是
work
of
所以,\r是换行。接下来你还会遇到\n也是换行
至于,有什么区别,演示一下

这是/n的换行

这是/r的换行
理解了吧
趁者这个劲,我们把敌人对话也完善一下
找到这个:
randomdialogue = {"Random\nDialogue\n1.", "Random\nDialogue\n2.", "Random\nDialogue\n3."}
看看,我们现在就遇到\n了,不过别担心,我们会了
我们再稍微修改一下
(ps:当初这里是视频演示,不过影响不大,你们可以自由发挥)
再提一点,上次我们的
currentdialogue = {"xxxxxxx"}
是指定下一轮会说什么,不再都说
暗黑中二重金属炫彩小王子
在打小羊是,对话框明显中二了很多,有些抖动,彩色,飘出残影的文字
让我们的战斗也中二一会(滑稽)
文本指令通常都是以
"[这里面是文本指令]"
的形式出现的
我们啥也不说了,先试试
BattleDialog({"[noskip][color:ff0000][alpha:77][effect:rotate,10]Hopes [w:10] And Dreams"})

哇,虽然没小王子那么中二炫酷,但是至少到了一个效果
简单讲一下吧
- [noskip]代表不能跳过
- [color:ff0000]这个代表颜色ff0000代表红色
- [effect:rotate,10]这个是效果功能,rotate是旋转,10代表强度
- [w:10]这是等待,10是10毫秒
那么今天就到这,下次再见