传奇特色封号顶戴花翎系统:SETRANKLEVELNAME称号SetIcon头顶脚本完整配置

来源: 作者: 点击:
传奇服务端中的封号、称号、顶戴花翎属于三套不同系统。封号通常显示在角色名字上方或旁边,用于区分身份、等级、行会、战力或活动状态;称号多为可佩戴的装备类功能,提供属性加成;顶戴花翎则是头顶动态特效,用于增强视觉辨识度。下面按GEE/GOM/996类引擎常见结构编写,物品名、WIL编号、图片序号需按实际版本替换。

一、封号系统

封号一般通过SETRANKLEVELNAME命令实现,显示为角色名字前缀或后缀。

文件路径:
Mir200EnvirMapQuest_defQManage.txt

[@Login]
IF
CHECKLEVELEX > 0
ACT
CALL [封号系统封号设置.txt] @SetRankTitle

文件路径:
Mir200EnvirQuestDiary封号系统封号设置.txt

[@SetRankTitle]
IF
CHECKLEVELEX < 40
ACT
SETRANKLEVELNAME %s【江湖新秀】
BREAK

IF
CHECKLEVELEX > 39
CHECKLEVELEX < 60
ACT
SETRANKLEVELNAME %s【武林高手】
BREAK

IF
CHECKLEVELEX > 59
ACT
SETRANKLEVELNAME %s【一代宗师】
BREAK

SETRANKLEVELNAME格式中,%s表示角色名,反斜杠后为封号内容。封号会随登录重新检测,因此适合按等级、VIP、行会、任务进度自动刷新。

二、称号系统

称号本质是特殊装备,分类通常设为70,拥有独立属性。

数据库配置

在StdItem.db或称号专用表中添加称号物品:

Name:狂暴之力
StdMode:70
Shape:20
Anicount:1
Looks:690
DuraMax:0
AC:0
MAC:0
DC:3
MC:3
SC:3

Shape用于触发佩戴事件,Looks对应称号素材图片起始位置,DuraMax为0表示永久有效。

素材设置

在M2Server中进入“选项-功能设置-其他控制”,找到“称号素材读取设置”,选择对应PAK或WIL文件。称号图片通常每组5张,分别用于外观显示、界面显示、激活显示。

称号授予脚本

[@GiveTitle]
IF
CHECKTITLE 狂暴之力
ELSESACT
CONFERTITLE 狂暴之力
SENDMSG 7 已获得称号:狂暴之力。
BREAK
SAY
你已拥有狂暴之力称号。\
[@exit]

[@RemoveTitle]
IF
CHECKTITLE 狂暴之力
ACT
DEPRIVETITLE 狂暴之力
SENDMSG 7 已移除称号:狂暴之力。
BREAK
ELSESAY
你未拥有该称号。\
[@exit]

常用命令:
CHECKTITLE 称号名:检测是否拥有称号
CONFERTITLE 称号名:授予称号
DEPRIVETITLE 称号名:移除称号
DEPRIVETITLE all:移除所有称号
CHECKFENGHAOCOUNT 比较符 数量:检测称号数量

佩戴触发顶戴花翎

文件路径:
Mir200EnvirMapQuest_defQFunction-0.txt

[@TitleChanged_20]
ACT
SETICON 0 9 707 0 -20 10 1 200 0 0
BREAK

[@Untitled_20]
ACT
SETICON 0 -1
BREAK

Shape为20的称号佩戴时触发@TitleChanged_20,脱下时触发@Untitled_20。

三、顶戴花翎系统

顶戴花翎通过SetIcon命令实现,与称号属性无直接关联,可独立使用。

命令格式:
SetIcon 位置 WIL文件序号 图片序号 X Y 播放张数 播放效果 播放速度 是否只有自己看见

位置:0-9,共10个位置,数字大的覆盖数字小的。
WIL文件序号:在M2Server“查看-列表信息二-WIL资源”中查看编号。
图片序号:对应WIL或PAK中的图片编号。
X/Y:微调偏移坐标。
播放张数:多张序列图组成动画时填写。
播放效果:0为普通图片,1为特效。
播放速度:单位毫秒,默认300。
是否只有自己看见:0为所有人可见,1为仅自己可见。

登录自动佩戴

文件路径:
Mir200EnvirMapQuest_defQManage.txt

[@Login]
IF
CHECKTITLE 狂暴之力
ACT
SETICON 0 9 707 0 -20 10 1 200 0 0
BREAK

IF
CHECKITEM 沙巴克城主令牌 1
ACT
SETICON 1 9 800 0 -35 12 1 200 0 0
BREAK

顶戴花翎下线不保存,需在登录时重新检测并佩戴。

清除顶戴花翎

[@ClearIcon]
ACT
SETICON 0 -1
SETICON 1 -1
SETICON 2 -1
SENDMSG 7 头顶特效已清除。
BREAK

将WIL文件序号设为-1即可清除对应位置的顶戴花翎。

NPC头顶花翎

在MerChant.txt中配置NPC后,创建对应配置文件。

例如NPC配置为:
盟重土城/流浪汉 3 346 334 流浪汉 0 3 0

则创建文件:
Mir200EnvirNpcIcons盟重土城流浪汉-3.txt

内容格式:
;WIL文件序号 图片序号 播放张数 X Y 播放效果 播放速度
3 1 5 0 -30

每行一个特效,最多10行。

怪物头顶花翎

文件路径:
Mir200EnvirMonIcons白野猪.txt

格式与NPC相同:
3 1 5 0 -30

文件名必须与怪物数据库中的名称完全一致。

四、综合示例:充值封号系统

[@RechargeTitle]
IF
CHECKGAMEGOLD > 99
ACT
GAMEGOLD - 100
CONFER TITLE 富甲一方
SETICON 0 9 710 0 -25 8 1 200 0 0
SENDMSG 7 已获得封号:富甲一方。
BREAK
ELSESAY
元宝不足100,无法获取该封号。\
[@exit]

[@RemoveRechargeTitle]
IF
CHECKTITLE 富甲一方
ACT
DEPRIVETITLE 富甲一方
SETICON 0 -1
SENDMSG 7 已移除封号:富甲一方。
BREAK
ELSESAY
你未拥有该封号。\
[@exit]

五、行会封号系统

[@GuildTitle]
IF
ISGUILDMASTER
ACT
SETRANKLEVELNAME %s【行会会长】
SETICON 2 9 720 0 -40 10 1 200 0 0
BREAK

IF
CHECKGUILDRANK 1
ACT
SETRANKLEVELNAME %s【行会长老】
SETICON 2 9 721 0 -40 10 1 200 0 0
BREAK

IF
ACT
SETRANKLEVELNAME %s【行会成员】
SETICON 2 -1
BREAK

行会封号建议在登录、行会变更、攻城结束后重新检测。

六、攻城封号系统

文件路径:
Mir200EnvirMapQuest_defQFunction-0.txt

[@CastleWarEnd]
IF
ISCASTLEOWNER 沙巴克
ACT
CONFER TITLE 沙巴克城主
SETICON 1 9 800 0 -35 12 1 200 0 0
SETRANKLEVELNAME %s【沙城霸主】
SENDMSG 20 恭喜<$USERNAME>成为新任沙巴克城主!
BREAK

攻城结束后通过事件触发授予城主封号和顶戴花翎,新任城主产生时需先清除前任城主的称号和特效。

七、注意事项

称号和顶戴花翎是两套独立系统。称号提供属性,顶戴花翎仅提供视觉特效,两者需分别配置。

顶戴花翎下线不保存,必须在QManage.txt的[@Login]中重新检测并佩戴。

SetIcon位置0-9,数字大的覆盖数字小的,需合理规划各封号的位置优先级。

WIL文件序号必须在M2Server“列表信息二-WIL资源”中确认,不同版本编号不同。

称号Shape编号需连续且不与已有称号冲突,否则佩戴触发事件可能错乱。

SETRANKLEVELNAME封号在部分引擎中可能被内挂“隐藏称号”选项屏蔽,需提醒玩家检查内挂设置。

NPC和怪物的顶戴花翎通过NpcIcons和MonIcons目录下的同名txt文件配置,文件名必须与NPC/怪物名称完全一致。

授予称号前建议先用CHECKTITLE检测,避免重复授予;移除称号前也需检测是否存在。

若版本支持@TitleChanged_XX和@Untitled_XX触发事件,可自动在佩戴/脱下称号时同步顶戴花翎。