传奇游戏物品掉落,全服提示的字体为多个颜色如何设置
在传奇游戏中,物品掉落时的全服提示(如 “【全服公告】玩家 XXX 在沃玛神殿获得了屠龙刀!”)实现多色字体显示,需通过引擎脚本配置结合颜色控制代码实现。不同引擎(GOM、GEE、BLUE 等)的配置方式略有差异,但核心逻辑一致,以下是通用实现方法:一、核心原理:颜色控制代码
传奇引擎通过特定格式的颜色代码控制文本颜色,代码通常嵌入在提示文本中,格式为 <颜色值> 或 \颜色值(不同引擎符号可能不同)。常见颜色值与对应效果如下(以 GOM 引擎为例):
颜色代码 显示效果 颜色代码 显示效果
<1> 白色(默认) <10> 浅红色
<2> 绿色 <20> 深红色
<3> 浅蓝色 <255> 金色(高亮)
<4> 深蓝色 <128> 橙色
<5> 紫色 <64> 青色
注意:不同引擎支持的颜色值范围不同(如 GEE 引擎支持<0>~<255>,BLUE 引擎需在String.ini中定义),需参考对应引擎的官方文档。
二、配置步骤(以 GOM 引擎为例)
1. 定位物品掉落提示脚本
全服掉落提示通常在怪物死亡事件脚本中触发,核心文件为:
D:\MirServer\Mir200\Envir\QuestDiary\MonDie\QFunction-0.txt(通用怪物死亡处理脚本)
2. 找到物品掉落判断逻辑
在脚本中搜索物品掉落相关的函数(如DropItem、GiveItem或自定义掉落逻辑),通常格式如下:
lua
-- 示例:怪物死亡时掉落物品的判断
function OnMonsterDie(Monster, Killer)
local itemIdx = 1001-- 物品Idx(如屠龙刀=1001)
local dropRate = 10 -- 掉落概率(10%)
if math.random(1, 100) <= dropRate then
local item = Monster.DropItem(itemIdx, 1)-- 掉落物品
if item then
-- 发送全服提示(此处需添加多色字体代码)
SendBroadMsg(0, 0, 0, "【全服公告】玩家"..Killer.Name.."在"..Monster.MapName.."获得了"..item.Name.."!", 0, 0, 0)
end
end
end
3. 嵌入多色颜色代码
修改SendBroadMsg函数的文本参数,在需要变色的部分插入颜色代码,例如:
lua
-- 多色字体示例:公告标题金色,玩家名红色,物品名绿色
local msg = "<255>【全服公告】<10>玩家"..Killer.Name.."<1>在"..Monster.MapName.."获得了<2>"..item.Name.."<!>"
SendBroadMsg(0, 0, 0, msg, 0, 0, 0)
<255>:将 “【全服公告】” 设置为金色
<10>:将玩家名设置为浅红色
<2>:将物品名设置为绿色
<1>:恢复默认白色(避免后续文本继承颜色)
4. 特殊物品单独配置(可选)
若仅需特定物品(如神器)显示多色提示,可通过itemIdx判断:
lua
if itemIdx == 1001 then-- 仅屠龙刀触发多色提示
local msg = "<255>【神器出世】<20>玩家"..Killer.Name.."<1>获得了<255>屠龙刀<1>!"
SendBroadMsg(0, 0, 0, msg, 0, 0, 0)
else
-- 普通物品默认提示
local msg = "【全服公告】玩家"..Killer.Name.."获得了"..item.Name.."!"
SendBroadMsg(0, 0, 0, msg, 0, 0, 0)
end
三、其他引擎配置差异
1. GEE 引擎
颜色代码格式为 \数字(如\255代表金色),需在SendMsg函数中使用:
lua
local msg = "\255【全服公告】\10玩家"..Killer.Name.."\1获得了\2"..item.Name.."\1!"
SendMsg(0, 0, 0, msg, 0)
需在Envir\MessageType.txt中开启全服广播权限。
2. BLUE 引擎
颜色代码需在Data\String.ini中定义(如Color1=<255,215,0>对应金色),脚本中用{Color1}调用:
lua
local msg = "{Color1}【全服公告】{Color10}玩家"..Killer.Name.."{Color1}获得了{Color2}"..item.Name.."!"
BroadcastMsg(msg)
四、注意事项
颜色代码闭合:若未用<1>(默认色)闭合,后续文本会继承前色(如物品名后的感叹号可能变绿)。
引擎兼容性:部分老引擎(如 HERO 1.76)仅支持基础颜色(1~5),需升级引擎或限制颜色范围。
显示效果测试:修改后重启服务端,通过@make 物品ID生成物品并触发掉落,检查全服提示是否正常变色。
性能优化:避免在高频掉落物品(如药水)中使用多色提示,减少服务器资源消耗。
通过上述方法,可实现物品掉落全服提示的多色字体效果,增强游戏内的视觉冲击和重要物品的辨识度。实际配置时需结合所用引擎的具体语法,参考引擎官方脚本手册调整细节。
页:
[1]