- 打卡等级:魔龙套勇士
- 打卡总天数:98
- 打卡月天数:22
- 打卡总奖励:11436
- 最近打卡:2025-07-22 00:17:43
管理员
本站站长
- 积分
- 7395
|
在传奇游戏(以 Hero 引擎为主)中,修改系统变量的函数用于动态调整玩家属性、目标状态、环境参数等,是实现技能效果、任务奖励、活动规则的核心工具。以下按功能分类列举常用修改函数及其实例:
一、玩家基础属性修改函数
用于调整玩家等级、生命值、魔法值等核心属性。
函数名称 作用 参数说明 示例
ChangeLevel(等级) 修改玩家等级 目标等级(整数) ChangeLevel(40) → 将玩家等级改为 40 级
SetHP(值) 直接设置当前生命值 目标 HP 值(≤最大 HP) SetHP(GetMaxHP()) → 满血
AddHP(值) 增加当前生命值 增加的 HP 量(可正可负) AddHP(200) → 增加 200 点 HP
SubHP(值) 减少当前生命值(伤害效果) 减少的 HP 量 SubHP(100) → 扣除 100 点 HP(受击伤害)
SetMaxHP(值) 设置最大生命值 新的最大 HP 值 SetMaxHP(GetMaxHP() + 50) → 上限 + 50
SetMP(值) 直接设置当前魔法值 目标 MP 值(≤最大 MP) SetMP(0) → 清空魔法值
AddMP(值) 增加当前魔法值 增加的 MP 量 AddMP(100) → 回蓝 100 点
SubMP(值) 减少当前魔法值(技能消耗) 减少的 MP 量 SubMP(30) → 技能消耗 30 点 MP
SetMaxMP(值) 设置最大魔法值 新的最大 MP 值 SetMaxMP(500) → 最大魔法值改为 500
二、战斗属性修改函数
用于调整玩家攻击、防御等战斗相关属性(物理 / 魔法 / 道术体系)。
函数名称 作用 参数说明 示例
SetAttack(值) 设置物理攻击(上下限总和) 攻击总值(如 “50-70” 对应 120) SetAttack(120) → 物理攻击改为 50-70
AddAttack(值) 增加物理攻击总值 增加的攻击值 AddAttack(20) → 攻击总值 + 20
SetMagic(值) 设置魔法攻击(上下限总和) 魔法攻击总值 SetMagic(150) → 魔法攻击改为 70-80
SetDao(值) 设置道术攻击(上下限总和) 道术攻击总值 SetDao(100) → 道术攻击改为 40-60
SetDefense(值) 设置物理防御(上下限总和) 防御总值 SetDefense(80) → 物理防御改为 30-50
SetMagicDefense(值) 设置魔法防御(上下限总和) 魔法防御总值 SetMagicDefense(60) → 魔防改为 20-40
三、资源与物品修改函数
用于调整玩家经验、金币、背包物品等资源类变量。
函数名称 作用 参数说明 示例
AddExp(值) 增加经验值 经验数量(整数) AddExp(10000) → 奖励 10000 经验
DelExp(值) 减少经验值 减少的经验数量 DelExp(5000) → 扣除 5000 经验
AddGold(值) 增加金币数量 金币数量 AddGold(100000) → 奖励 10 万金币
DelGold(值) 减少金币数量 减少的金币数量 DelGold(50000) → 扣除 5 万金币
GiveItem(物品ID, 数量) 给予玩家物品 物品 ID + 数量 GiveItem(1001, 5) → 给 5 瓶强效太阳水
TakeItem(物品ID, 数量) 移除玩家物品 物品 ID + 数量 TakeItem(1002, 1) → 移除 1 个沃玛号角
四、目标(怪物 / 玩家)状态修改函数
用于调整当前攻击目标的属性(如伤害、状态等),主要用于技能脚本。
函数名称 作用 参数说明 示例
SubTargetHP(值) 减少目标当前生命值 伤害值 SubTargetHP(200) → 对目标造成 200 伤害
SetTargetHP(值) 设置目标当前生命值 目标 HP 值 SetTargetHP(1) → 将目标血量设为 1 点
AddTargetState(状态ID, 时间) 给目标添加状态 状态 ID + 持续时间(毫秒) AddTargetState(10, 5000) → 目标中毒 5 秒
RemoveTargetState(状态ID) 移除目标状态 状态 ID RemoveTargetState(10) → 解除目标中毒
五、位置与环境修改函数
用于调整玩家位置、地图状态等环境变量。
函数名称 作用 参数说明 示例
ChangeMap(地图ID, X, Y) 传送玩家到指定地图坐标 地图 ID+X 坐标 + Y 坐标 ChangeMap(3, 300, 400) → 传送到比奇 (300,400)
SetX(坐标) 修改玩家当前 X 坐标 X 轴坐标值 SetX(250) → 将玩家 X 坐标改为 250
SetY(坐标) 修改玩家当前 Y 坐标 Y 轴坐标值 SetY(300) → 将玩家 Y 坐标改为 300
SetWeather(天气ID) 修改当前地图天气 天气 ID(0 = 晴 / 1 = 雨 / 2 = 雪等) SetWeather(1) → 当前地图下雨
六、技能与状态修改函数
用于调整技能状态、冷却时间及玩家自身状态(如隐身、无敌等)。
函数名称 作用 参数说明 示例
SetSkillCoolDown(技能ID, 时间) 设置技能冷却时间 技能 ID + 冷却时间(毫秒) SetSkillCoolDown(1001, 5000) → 技能 1001 冷却 5 秒
AddSkill(技能ID, 等级) 给玩家添加技能 技能 ID + 初始等级 AddSkill(1001, 1) → 学会 1 级烈焰冲击
DelSkill(技能ID) 移除玩家技能 技能 ID DelSkill(1001) → 删除烈焰冲击技能
AddState(状态ID, 时间) 给玩家自身添加状态 状态 ID + 持续时间(毫秒) AddState(20, 10000) → 自身获得 10 秒无敌
SetPKPoint(值) 修改玩家 PK 值 PK 值(>300 为红名) SetPKPoint(0) → 清除 PK 值(洗白红名)
注意事项
权限限制:部分函数(如ChangeJob修改职业、SetAdmin设置管理员)需要管理员权限,普通脚本慎用。
数值合理性:修改属性时需注意上限(如SetHP不能超过GetMaxHP(),否则无效)。
引擎差异:GOM、Blue 等引擎的函数名可能略有不同(如AddHp可能写成AddHP,大小写敏感),需参考对应引擎文档。
这些函数是动态调整游戏数据的核心工具,通过组合使用可实现复杂逻辑(如技能伤害、任务奖励、地图规则等)。
|
|