当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇属性宝石直接升级属性脚本:NPC、物品触发与人物属性三套示例

热度:
传奇里“用属性宝石直接升级属性”一般有三种实现方式:第一种是在NPC处消耗宝石提升人物攻击、魔法、道术、防御等属性;第二种是右键使用宝石触发脚本,直接给角色增加属性;第三种是把宝石属性写到装备或宝石槽位上。不同引擎命令不同,下面以常见传奇引擎为例,按可直接套用的思路写示例。

第一种:NPC消耗宝石升级人物属性

这个方式适合做“宝石兑换属性”“宝石直接升人物属性”的玩法。玩家把属性宝石放入背包,NPC检测后扣除宝石,再增加人物属性。

示例:

[@属性宝石升级]
IF
CHECKITEM攻击宝石1
ACT
TAKE攻击宝石1
CHANGEHUMABILITY1+50
SENDMSG6使用攻击宝石,攻击属性提升
ELSESAY
背包内没有足够的攻击宝石

这里CHANGEHUMABILITY后面的参数含义通常是:属性编号、操作符、数值、持续时间。属性编号1常对应攻击相关属性,0表示永久生效。不同引擎属性编号可能不同,正式使用前要先查当前引擎说明书,确认1、2、3、4分别对应攻击、魔法、道术、防御中的哪一种。

如果要区分多种宝石,可以写成多个分支:

[@属性宝石升级]
IF
CHECKITEM攻击宝石1
ACT
TAKE攻击宝石1
CHANGEHUMABILITY1+50
SENDMSG6攻击属性提升
ELSEACT
GOTO@检查魔法宝石

[@检查魔法宝石]
IF
CHECKITEM魔法宝石1
ACT
TAKE魔法宝石1
CHANGEHUMABILITY3+50
SENDMSG6魔法属性提升
ELSEACT
GOTO@检查道术宝石

[@检查道术宝石]
IF
CHECKITEM道术宝石1
ACT
TAKE道术宝石1
CHANGEHUMABILITY4+50
SENDMSG6道术属性提升
ELSEACT
SENDMSG6背包内没有可升级的属性宝石

第二种:物品触发脚本,右键使用宝石直接升属性

如果希望玩家双击宝石就生效,可以把脚本绑定到物品触发。GOM等引擎通常把物品触发脚本放在QuestDiaryTriggerItem目录下,文件名为物品ID.txt,并在脚本里使用@Use:触发。

示例:

@Use:
IF
ACT
CHANGEHUMABILITY1+50
SENDMSG6你使用了攻击宝石,攻击属性提升

这种方式适合做一次性消耗宝石。若需要限制等级、职业或每日使用次数,可以在#IF下面增加条件。

示例:

@Use:
IF
CHECKLEVEL50
CHECKJOBWarrior
ACT
CHANGEHUMABILITY1+50
SENDMSG6攻击属性提升
ELSEACT
SENDMSG6等级或职业不符合使用条件

第三种:宝石升级装备属性

如果“升级属性”不是直接加到人物身上,而是加到装备或宝石槽位上,就不能只用人物属性命令。装备属性升级常见命令有UPGRADEITEMEX、CHANGEITEMADDVALUE、SetNewItemValue等。

示例:

[@升级宝石属性]
IF
CHECKUSEITEM12
CHECKITEM属性宝石1
ACT
TAKE属性宝石1
CHANGEITEMADDVALUE120+5
SENDMSG6宝石攻击属性提升

这里12通常代表宝石或对应装备槽位,0代表该部位的第一项属性,例如攻击。不同引擎对装备位置和属性编号定义不同,需要对照当前引擎的装备位置表确认。

如果引擎支持对话框升级,也可以用OPENUPGRADEDLG配合[@UpgradeDlgItem]处理。玩家把装备放入升级框后,脚本检测宝石并修改属性。

示例:

[@升级宝石]
IF
CHECKITEM属性宝石1
ACT
OPENUPGRADEDLG请放入要升级的宝石

[@UpgradeDlgItem]
IF
CHECKITEM属性宝石1
ACT
TAKE属性宝石1
SetNewItemValue-10+5
SENDMSG6宝石属性升级成功

防止重复升级和刷属性的写法

直接升级属性时,建议加次数上限,避免玩家无限使用宝石。可以用玩家私有变量记录已升级次数。

示例:

[@属性宝石升级]
IF
CHECKITEM攻击宝石1
SMALLD010
ACT
TAKE攻击宝石1
INCD01
CHANGEHUMABILITY1+50
SENDMSG6攻击属性提升,当前已升级次数增加
ELSEACT
SENDMSG6无法继续升级

D0只作示例,正式脚本可以用可保存的玩家变量,避免下线后次数丢失。

调试时先看当前引擎是否支持CHANGEHUMABILITY、CHANGEITEMADDVALUE、SetNewItemValue、物品触发@Use:这些命令。修改脚本后保存为ANSI编码,重新加载NPC或重启服务端后再测试。每步都加一条SENDMSG提示,确认脚本是否执行到扣除宝石、增加属性、更新装备这三个环节。
[顶部]