阳光下泡沫 发表于 2019-11-7 11:52:21

让变量使NPC对话框内容动态显示

对于技术人员来说,#say和#elsesay两个程序段都不会陌生,因为这些是直接给玩家看到的文字,也就是玩家经常说的对话框内容。对话框内容对于玩家来说,是最直观的体现NPC功能的一个界面,NPC的作用及功能,都在这些文字当中表现出来,可是玩家看到的都是静态的字符,因为NPC对于玩家来说,点一下就不会再进行其它操作,除开再次点击其它文字链接以达到下一个脚本段。不同的NPC有不同的内容,显示在玩家面前的文字也不同,如何让不同的玩家点击同一个NPC有不同的内容,就成为技术人员编写脚本时需要注意的事情,能够实现某种功能的脚本才是好脚本,单一的显示只会让玩家觉得不方便及麻烦。那么下面的教程就是介绍传奇私服使用变量让NPC对话框动态显示内容,希望大家看了之后对编写脚本会有一定的帮助。

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

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

[@main]
#if
checklevelex > 0
#act
mov S10 大家好,欢迎光临。
#say
<$STR(S10)>


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



星空2 发表于 2019-11-7 11:58:53

报告!别开枪,我就是路过来看看的。。。

小米小米米灵儿 发表于 2019-11-11 05:17:59

支持楼主,用户楼主,楼主英明呀!!!

gcgvsaws 发表于 2019-11-23 08:19:45

顶顶更健康

柔柔贝贝 发表于 2019-11-27 13:19:54

我是个凑数的。。。

吖头ii 发表于 2019-12-1 03:56:00

锄禾日当午,发帖真辛苦。谁知坛中餐,帖帖皆辛苦!

959c 发表于 2019-12-3 07:53:07

我也是坐沙发的

诚丰电器 发表于 2019-12-3 20:29:20

看帖要回,回帖才健康,在踩踩,楼主辛苦了!

zhangfenfen 发表于 2019-12-8 08:58:38

我也来顶一下..

3281329yong 发表于 2019-12-14 20:49:19

不错 支持一个了
页: [1] 2 3 4 5 6
查看完整版本: 让变量使NPC对话框内容动态显示