找回密码
 立即注册

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

[复制链接]
◇逍遥◆MIR2◇ 发表于 2022-9-10 11:53:08 | 显示全部楼层 |阅读模式
对于技术人员来说,#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操作,这样,我们就可以先在脚本执行段中进行所有变量的计算后,再在显示段中进行显示,而不需要分段进行编写了。这样也就方便了技术人员很多工作,省去了很多步骤



qtpj 发表于 2022-9-10 14:24:35 | 显示全部楼层
真是被感动的痛哭流涕……
回复

使用道具 举报

ggjute 发表于 2022-9-10 22:25:22 | 显示全部楼层
淡定,淡定,淡定……
回复

使用道具 举报

383082654 发表于 2022-9-12 02:29:39 | 显示全部楼层
激动人心,无法言表!
回复

使用道具 举报

qyinxiang 发表于 2022-9-12 17:36:39 | 显示全部楼层
真是难得给力的帖子啊。
回复

使用道具 举报

voodoo2003 发表于 2022-9-13 06:56:44 | 显示全部楼层
无回帖,不论坛,这才是人道。
回复

使用道具 举报

aiwang123w 发表于 2022-9-13 14:31:31 | 显示全部楼层
我只是路过打酱油的。
回复

使用道具 举报

拜托、小姐! 发表于 2022-9-14 15:33:48 | 显示全部楼层
激动人心,无法言表!
回复

使用道具 举报

bests 发表于 2022-9-17 02:12:13 | 显示全部楼层
感恩无私的分享与奉献 :)
回复

使用道具 举报

gmgmlj 发表于 2022-9-21 14:17:48 | 显示全部楼层
真是难得给力的帖子啊。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|游戏淘宝湾

GMT+8, 2024-11-24 02:08 , Processed in 0.064994 second(s), 49 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024, Oddpp Cloud.

快速回复 返回顶部 返回列表