传奇里“用属性宝石直接升级属性”一般有三种实现方式:第一种是在NPC处消耗宝石提升人物攻击、魔法、道术、防御等属性;第二种是右键使用宝石触发脚本,直接给角色增加属性;第三种是把宝石属性写到装备或宝石槽位上。不同引擎命令不同,下面以常见传奇引擎为例,按可直接套用的思路写示例。
第一种:NPC消耗宝石升级人物属性
这个方式适合做“宝石兑换属性”“宝石直接升人物属性”的玩法。玩家把属性宝石放入背包,NPC检测后扣除宝石,再增加人物属性。
示例:
[@属性宝石升级]
IF
CHECKITEM 攻击宝石 1
ACT
TAKE 攻击宝石 1
CHANGEHUMABILITY 1 + 5 0
SENDMSG 6 使用攻击宝石,攻击属性提升
ELSESAY
背包内没有足够的攻击宝石
这里 CHANGEHUMABILITY 后面的参数含义通常是:属性编号、操作符、数值、持续时间。属性编号1常对应攻击相关属性,0表示永久生效。不同引擎属性编号可能不同,正式使用前要先查当前引擎说明书,确认1、2、3、4分别对应攻击、魔法、道术、防御中的哪一种。
如果要区分多种宝石,可以写成多个分支:
[@属性宝石升级]
IF
CHECKITEM 攻击宝石 1
ACT
TAKE 攻击宝石 1
CHANGEHUMABILITY 1 + 5 0
SENDMSG 6 攻击属性提升
ELSEACT
GOTO @检查魔法宝石
[@检查魔法宝石]
IF
CHECKITEM 魔法宝石 1
ACT
TAKE 魔法宝石 1
CHANGEHUMABILITY 3 + 5 0
SENDMSG 6 魔法属性提升
ELSEACT
GOTO @检查道术宝石
[@检查道术宝石]
IF
CHECKITEM 道术宝石 1
ACT
TAKE 道术宝石 1
CHANGEHUMABILITY 4 + 5 0
SENDMSG 6 道术属性提升
ELSEACT
SENDMSG 6 背包内没有可升级的属性宝石
第二种:物品触发脚本,右键使用宝石直接升属性
如果希望玩家双击宝石就生效,可以把脚本绑定到物品触发。GOM等引擎通常把物品触发脚本放在 QuestDiaryTriggerItem 目录下,文件名为 物品ID.txt,并在脚本里使用 @Use: 触发。
示例:
@Use:
IF
ACT
CHANGEHUMABILITY 1 + 5 0
SENDMSG 6 你使用了攻击宝石,攻击属性提升
这种方式适合做一次性消耗宝石。若需要限制等级、职业或每日使用次数,可以在 #IF 下面增加条件。
示例:
@Use:
IF
CHECKLEVEL 50
CHECKJOB Warrior
ACT
CHANGEHUMABILITY 1 + 5 0
SENDMSG 6 攻击属性提升
ELSEACT
SENDMSG 6 等级或职业不符合使用条件
第三种:宝石升级装备属性
如果“升级属性”不是直接加到人物身上,而是加到装备或宝石槽位上,就不能只用人物属性命令。装备属性升级常见命令有 UPGRADEITEMEX、CHANGEITEMADDVALUE、SetNewItemValue 等。
示例:
[@升级宝石属性]
IF
CHECKUSEITEM 12
CHECKITEM 属性宝石 1
ACT
TAKE 属性宝石 1
CHANGEITEMADDVALUE 12 0 + 5
SENDMSG 6 宝石攻击属性提升
这里 12 通常代表宝石或对应装备槽位,0 代表该部位的第一项属性,例如攻击。不同引擎对装备位置和属性编号定义不同,需要对照当前引擎的装备位置表确认。
如果引擎支持对话框升级,也可以用 OPENUPGRADEDLG 配合 [@UpgradeDlgItem] 处理。玩家把装备放入升级框后,脚本检测宝石并修改属性。
示例:
[@升级宝石]
IF
CHECKITEM 属性宝石 1
ACT
OPENUPGRADEDLG 请放入要升级的宝石
[@UpgradeDlgItem]
IF
CHECKITEM 属性宝石 1
ACT
TAKE 属性宝石 1
SetNewItemValue -1 0 + 5
SENDMSG 6 宝石属性升级成功
防止重复升级和刷属性的写法
直接升级属性时,建议加次数上限,避免玩家无限使用宝石。可以用玩家私有变量记录已升级次数。
示例:
[@属性宝石升级]
IF
CHECKITEM 攻击宝石 1
SMALL D0 10
ACT
TAKE 攻击宝石 1
INC D0 1
CHANGEHUMABILITY 1 + 5 0
SENDMSG 6 攻击属性提升,当前已升级次数增加
ELSEACT
SENDMSG 6 无法继续升级
D0 只作示例,正式脚本可以用可保存的玩家变量,避免下线后次数丢失。
调试时先看当前引擎是否支持 CHANGEHUMABILITY、CHANGEITEMADDVALUE、SetNewItemValue、物品触发 @Use: 这些命令。修改脚本后保存为 ANSI 编码,重新加载 NPC 或重启服务端后再测试。每步都加一条 SENDMSG 提示,确认脚本是否执行到扣除宝石、增加属性、更新装备这三个环节。
传奇属性宝石直接升级属性脚本:NPC、物品触发与人物属性三套示例
来源:
作者:
点击:

