[技术文章] 传奇变量使NPC脚本对话框内容动态攻略

[复制链接]
查看3563 | 回复0 | 2021-9-15 23:27:49 | 显示全部楼层 |阅读模式
对于技术职员来说,#say和#elsesay两个程序段都不会目生,由于这些是直接给玩家看到的文字,也就是玩家常常说的对话框内容。对话框内容对于玩家来说,是最直观的体现NPC功能的一个界面,NPC的作用及功能,都在这些文字当中表现出来,可是玩家看到的都是静态的字符,由于NPC对于玩家来说,点一下就不会再进行其它操纵,除开再次点击其它文字链接以达到下一个脚本段。不同的NPC有不同的内容,显示在玩家眼前的文字也不同,如何让不同的玩家点击统一个NPC有不同的内容,就成为技术职员编写脚本时需要留意的事情,传奇服务端 传奇GM论坛 http://www.01yy.net 能够实现某种功能的脚本才是好脚本,单一的显示只会让玩家觉得不利便及麻烦。那么下面的教程就是先容传奇私服使用变量让NPC对话框动态显示内容,但愿大家看了之后对编写脚本会有一定的匡助。

  在脚本编写过程中,变量的使用长短常重要的,它能匡助技术职员实现大部份的内容,包括全局变量的统计及个人变量的显示,一般都知道,让变量以文字形式泛起在NPC对话框中,需要用到<$STR()>字符串转换功能,而人物的自定义变量则使用<$HUMAN()>转换,还有引擎内自行设定的个种变量,如<$USERNAME>,<$GUILDNAME>等等。这些都能让NPC内容看起来丰硕良多。

  那么对于那些需要计算的脚本而言,NPC的显示过程就显得非常重要,我们都知道,假如符合前提,就会触发#act和#say,#act是执行脚本,#say是输出文字显示给玩家,我们做如下测试来证实执行的优先顺序。

  [@main]
  #if
  checklevelex > 0
  #act
  mov S10 大家好,欢迎光临GM之家。
  #say

  <$STR(S10)>

  如上面的脚本中所示,我们给予S10变量一定内容后,使用<$STR()>转换成文本内容显示在NPC上,而NPC结果显示的就是S10中的内容,这样我们可以了解到,一般符合前提的触发是提高前辈行脚本#act操纵,然后再输出给玩家看。同样的,不符合前提也是先执行#elseact操纵,这样,我们就可以先在脚本执行段中进行所有变量的计算后,再在显示段中进行显示,而不需要分段进行编写了。这样也就利便了技术职员良多工作,省去了良多步骤。

回复

使用道具 举报

本版积分规则