[@main]
#ACT
MESSAGE 体质修炼使者,消耗材料提升角色体质,永久增加生命上限,每次提升有概率失败
MESSAGE 1.查看当前体质等级 2.进行体质修炼 3.查看体质规则 4.关闭对话
#IF
CHECKVAR HUMAN TizhiLv < 20
#ACT
MESSAGE 当前体质等级未满,可继续修炼提升
BREAK
#ELSEACT
MESSAGE 体质等级已达到上限,无法继续修炼
BREAK
[@查看当前体质等级]
#ACT
MESSAGE 你的体质等级:<$HUMANVAR(TizhiLv)>级,每级增加120生命上限
MESSAGE 已获得生命加成:<$HUMANVAR(TizhiLv)>*120
BREAK
[@进行体质修炼]
#IF
CHECKVAR HUMAN TizhiLv < 20
CHECKITEM 体质晶石 5
#ACT
TAKE 体质晶石 5
RANDOM 1 100
#IF
RANDOM 1 70
#ACT
CALCVAR HUMAN TizhiLv + 1
SAVEVAR HUMAN TizhiLv ..\QuestDiary\tizhi\playerdata.txt
CALCHP 120
SENDMSG 5 体质修炼成功,体质等级提升,生命上限永久增加120
BREAK
#IF
RANDOM 71 100
#ACT
SENDMSG 5 体质修炼失败,材料消耗,体质等级保持不变
BREAK
BREAK
#ELSEACT
MESSAGE 修炼失败,体质晶石不足或者体质等级已满
BREAK
[@查看体质规则]
#ACT
MESSAGE 体质修炼消耗5枚体质晶石,最高20级,每级永久增加120生命上限
MESSAGE 修炼存在失败概率,失败扣除材料,等级不会下降,属性永久生效,下线不重置
BREAK
[@关闭对话]
#ACT
MESSAGE 体质修炼完成,可随时回来继续提升
BREAK
QFunction-0.txt角色登录加载体质属性脚本
[@OnPlayerLogin]
#IF
#ACT
CALCHP CLEAR
CALCHP + <$HUMANVAR(TizhiLv)>*120
BREAK
整套脚本适配3K传奇引擎,分为NPC交互模块和登录属性加载模块,玩家变量TizhiLv用来存储角色体质等级上限,最高设置20级,每级固定增加120点生命上限。脚本存放路径为QuestDiary目录下新建tizhi文件夹,playerdata.txt为玩家变量存储文件,文件夹未创建会造成变量无法保存,角色下线后体质等级丢失。
NPC对话面板普通玩家可直接访问,不需要管理员权限。体质修炼分支会先校验当前体质等级,未达到上限再检测背包内体质晶石数量,材料充足才扣除道具,通过RANDOM生成随机数字判定修炼成功或失败。成功时体质等级加一,保存变量,执行CALCHP增加生命上限;失败仅扣除材料,等级保持不变。
[@OnPlayerLogin]登录触发器作用是角色上线重新加载体质属性,CALCHP CLEAR先清空旧的附加生命属性,再按照存储的体质等级重新计算生命加成,避免多次叠加造成属性错乱。引擎内置CALCHP指令用于附加生命上限,该属性为角色附加属性,不会和基础血量冲突,角色下线不会自动清除,依靠玩家变量持久保存。
测试阶段管理员可修改玩家变量TizhiLv数值,模拟不同等级状态,验证属性加载、材料扣除、随机成败逻辑。可以调整等级上限,修改RANDOM区间数字调整修炼成功率,修改CALCHP后的数值调整每一级增加的血量。也可以更换消耗道具,把体质晶石替换为金币、元宝或者其他材料。
可扩展多种玩法,增加体质等级分段消耗,等级越高消耗材料越多。增加保底机制,累计失败次数后下次修炼必定成功。增加等级奖励,体质达到指定等级额外赠送防御或者攻击属性。增加全服提示,玩家体质升到满级时推送系统公告。增加体质重置功能,消耗道具清空体质等级并返还部分材料。
需要核对引擎指令兼容情况,部分早期3K内核CALCHP指令支持存在差异,属性不生效或者重复叠加时核对引擎版本。SAVEVAR保存路径目录层级书写错误会导致体质等级保存失效,服务器重启后属性丢失。变量独立存储在每个角色记录内,多角色同时修炼不会出现变量互相覆盖。
体质晶石道具需要提前在物品数据库配置外观、重量、物品描述,数据库未录入的道具无法完成扣除与校验。CALCHP属于附加动态属性,角色死亡不会清零,仅在登录脚本内统一刷新。如果需要增加体质带来防御加成,可在登录触发器内增加CALDEF指令,同步增加防御数值。
可以增加额外校验条件,设置角色最低等级才能开启体质修炼,低等级角色无法点击修炼按钮。增加行会限制,仅指定行会成员可以进行体质提升。增加背包空位判断,防止奖励发放时背包已满造成异常。也可以增加分段成长,低等级成功率高,高等级降低成功率,提升养成周期。
属性叠加逻辑需要留意,若版本内存在多种附加生命属性,所有附加血量都需要在登录触发器统一刷新,避免不同模块属性冲突。不要在NPC内重复执行CALCHP,仅在升级成功时执行一次,登录时统一重算,防止多次叠加血量造成数值异常。如果需要设置体质失败有概率掉级,可在失败分支增加等级减一的判断,按需开启。
3K传奇引擎体质属性永久提升NPC脚本编写与属性增长逻辑实现
来源:
作者:
点击:

