传奇普通彩色NPC脚本设置方法:对话文字、按钮、变量与引擎颜色代码完整写法

来源: 作者: 点击:
传奇普通彩色NPC脚本,核心是在NPC对话框里给文字、按钮、变量加上颜色代码,让界面更醒目。不同引擎写法略有差异,但普通NPC脚本基本都围绕#SAY、超链接、颜色标签和FCOLOR参数来实现。

普通NPC脚本基础结构

NPC脚本一般放在Market_Def或Npc_Def目录下,入口段为[@main]。普通彩色文字写在#SAY下方,用换行,用<>包裹可点击按钮。

[@main]
IF
SAY
欢迎来到比奇城。\
/@main>\
<进入副本/@entermap>\
<领取奖励/@getreward>\
<关闭/@exit>

这里是较常见的NPC彩色写法,250代表M2颜色列表中的颜色编号。

文字颜色设置方法

普通NPC对话框里,文字变色常用两种写法。第一种是COLOR=颜色编号,适合HERO、BLUE、GOM、GEE等引擎。第二种是FCOLOR=颜色编号,多用于GOM/GEE变量文字。

示例:

SAY
\
\
\
<关闭/@exit>

如果引擎支持十六进制颜色,也可以写成:

SAY
\
\

十六进制颜色需要引擎和客户端同时支持,老版本HERO引擎可能不识别,建议优先使用0-255颜色编号。

按钮彩色写法

NPC对话框里的可点击按钮,本身默认是黄色或白色,可以单独加颜色。

示例:

SAY
请选择功能:\
\
\
\
注意外层包裹整个按钮<文字/@跳转>,否则颜色可能只生效一半。按钮跳转段名必须与下方[@段名]一致。

变量彩色显示

NPC里显示变量时,普通写法是<STR(P0)>、<STR(GOLD)>、<USERNAME>。如果想让变量也带颜色,可以用FCOLOR参数。

示例:

SAY
当前等级:>\
当前金币:>\
当前元宝:>\
玩家名字:<{USERNAME/FCOLOR=254}>

变量彩色显示时,不同引擎格式可能不同。GOM/GEE常用{变量/FCOLOR=编号}或<变量/FCOLOR=编号>,HERO/BLEUE则可能只支持外层。

自动变色文字

部分引擎支持AUTOCOLOR,让文字在多个颜色之间循环变化,适合做活动NPC、版本介绍、福利提示。

示例:

SAY
\
\

颜色编号之间用英文点号分隔,不要加空格。如果颜色代码写错,NPC对话框可能打不开。

带条件判断的彩色NPC

彩色文字常配合#IF、#ACT、#ELSESAY使用,让不同条件显示不同颜色提示。

示例:

[@main]
IF
CHECKLEVEL 40
ACT
goto @ok
ELSESAY

[@ok]
IF
CHECKGOLD 5000
ACT
TAKE GOLD 5000
mapmove 40 200 200
ELSESAY

这里失败提示用红色或高亮颜色,玩家更容易注意到条件未满足。

多段彩色对话

NPC可以分多个段落,每段使用不同颜色,形成层次感。

[@main]
SAY
\
每日可领取一次奖励。\
\
\
<关闭/@exit>

[@rule]
SAY
\
等级达到40级\
背包有足够空格\
当日未领取过\
分段后每段颜色可以独立设置,避免整页都是同一种颜色。

换行与排版

NPC脚本里表示换行,连续两个会多空一行。排版时不要在一行里堆太多文字,否则对话框会溢出。

示例:

SAY
\
点<STR(NN)>分>\
\
\
\
颜色代码、变量、按钮之间要保持英文半角符号,中文尖括号、中文逗号会导致代码失效。

常见颜色编号参考

0-255颜色编号因引擎和客户端素材不同会有差异,常见效果大致如下:

249-253:常用于高亮白、浅黄、淡紫色系,适合标题和重点文字。

250:常用于白色或浅灰,适合普通说明文字。

251:常用于淡黄色,适合按钮和提示。

252:常用于浅绿或淡青,适合状态提示。

253:常用于亮白或浅黄,适合数值显示。

254:常用于紫色或高亮色,适合变量和玩家名字。

255:常用于纯白,适合默认文字。

实际颜色以当前引擎M2颜色列表和客户端字体素材为准。

排查彩色不生效

修改后NPC颜色不显示,先检查脚本是否保存为ANSI编码,UTF-8容易乱码。再确认颜色代码是否使用英文半角尖括号和逗号。如果按钮点击无反应,检查/@段名是否与[@段名]完全一致。修改脚本后必须在M2控制台重新加载NPC,否则不会立即生效。如果颜色显示异常或对话框打不开,多半是颜色格式写错、颜色编号超出范围,或引擎不支持该写法。

普通彩色NPC脚本不需要复杂UI配置,只要把#SAY、COLOR、FCOLOR、AUTOCOLOR和按钮跳转写对,就能做出层次清楚、颜色分明的NPC界面。