2 ———————————对话!

嘿,大家好,我想死你们了…………………..算了,进入主题


蛙吉特蹦蹦跳跳地过来了


每到战斗时,对话框都会有一窜文本。比如:

等等


而我们的战斗的开场白却是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"})
      

哇,虽然没小王子那么中二炫酷,但是至少到了一个效果
简单讲一下吧


那么今天就到这,下次再见