传奇装备加星与砸星功能脚本实现方法

来源: 作者: 点击:
在传奇服务端中,装备加星指通过特定操作提升装备星级,增强属性;砸星则为逆向操作,用于重置或降星。该功能需结合NPC交互、物品消耗、属性修改及界面提示,以下以Mir2引擎为基础说明完整配置流程。

一、定义加星所需材料与规则
在!Setup.txt或自定义配置文件中明确:
加星道具:如“祝福宝石”“强化石”
成功率:可固定或随星级递减(如1星90%、5星30%)
属性增加值:每星增加攻击、防御等数值
最大星级:通常设为9星或10星

二、创建加星NPC与对话选项
在Npc_def目录下新建文件StarNPC.txt:

[@main]
你想强化装备吗?
(装备加星:1001)
(装备砸星:1002)

其中1001、1002为脚本号,对应QManage.txt中的处理逻辑。

三、编写加星核心脚本(QManage.txt)

[@1001]
IF
CHECKBAG 祝福宝石 1
ACT
MOV S0 0
GETITEMNAME S0
IF
EQUAL S0
ACT
SENDMSG 5 请先将要加星的装备放在背包第一格!
BREAK

IF
CHECKITEMBOX
ACT
GETSTARLEVEL S0 S1
IF
SMALL S1 10
ACT
CALCVAR S2 = 100 - S1 * 7
RANDOM 100
ACT
INCSTARLEVEL S0 1
TAKE 祝福宝石 1
SENDMSG 5 装备成功升至星!
ELSEACT
TAKE 祝福宝石 1
SENDMSG 5 加星失败,装备未发生变化。
ELSEACT
SENDMSG 5 装备已满星,无法继续强化。


说明:
GETITEMNAME S0 获取背包第一格物品名
GETSTARLEVEL S0 S1 读取该装备当前星级(需引擎支持)
INCSTARLEVEL S0 1 为加星命令,部分引擎需替换为MODIFYITEMATTRIB
S2计算成功率,1星时93%,10星时30%

四、砸星脚本实现
砸星通常无失败,直接降星并返还部分材料:

[@1002]
ACT
MOV S0 0
GETITEMNAME S0
IF
EQUAL S0
ACT
SENDMSG 5 请将要砸星的装备放在背包第一格!
BREAK

IF
CHECKITEMBOX
ACT
GETSTARLEVEL S0 S1
IF
LARGE S1 0
ACT
DECSTARLEVEL S0 1
GIVE 强化石 1
SENDMSG 5 装备已降为星,返还强化石。
ELSEACT
SENDMSG 5 装备无星级,无法砸星。


五、装备星级属性绑定
星级需关联实际属性,通常在!StdItems.txt或自定义属性表中配置。例如:
原始修罗战斧:Attack=50
每星+5攻,则9星时Attack=95
部分引擎需通过ItemStarAttr.txt单独定义星级属性增量。

六、客户端显示适配
确保客户端能正确显示星级图标:
在ItemIcon目录添加star_1.png至star_10.png
在ItemInfo.txt中关联装备名与星级显示逻辑

七、测试要点
验证背包第一格为空时提示是否正常
满星装备是否阻止继续加星
加星失败是否扣除材料
砸星后属性是否实时更新(需重戴装备或重登生效)

通过上述脚本,可实现完整的装备加星与砸星系统,逻辑清晰,易于扩展成功率公式或材料类型。