|
课程入口
魔血石升级效果说明
基础属性
- 每秒回血蓝:5, 6, 7, 9, 11, 13, 16, 20, 25, 40, 60
- 每级属性抽取上限:+1
角色属性
- 准确:+1
- 敏捷:+1
- 魔法躲避:+1
- 血量:+10
- 蓝量:+10
- 防御:+1
- 魔防:+1
- 攻道魔下限:+1
- 对怪切割:+1
- 受怪伤害降低:+1
- 神圣:+1
宝宝属性
- 宝宝伤害:+5
- 生命:+1%
- 蓝:+1%
- 抗麻痹:+1%
- 抗冰冻:+1%
- 抗蛛网:+1%
- 格挡率:+1%
- 格挡值:+1%
- 忽视:+1%
- 打怪爆率:+1%
- 宝宝属性:+1%
- 金币回收率:+1%
特殊效果
- 第五级开始:
- 对人伤害:+1%
- 对人减伤:+1%
- 打怪伤害:+2%(起始值)
- 对怪暴击:+1%(起始值)
- 第七级开始:
1. JSON与Table的转换
- 通过
table 和json 的互相转换实现数据修改和传递:
- 修改数据时,先将JSON转为Table,操作后再转回JSON。
- 示例:
table_to_json 将修改后的属性插入到数据中。
2. 动态属性生成与随机化
- 属性结构解析:
- 属性由多个字段组成(如ID、数值类型、百分比/数值标志、颜色等)。
- 示例:
{0, 3, 1, 属性ID, 0/1(数值/百分比), 随机值} 。
- 随机值生成:
- 使用
math.random 生成属性值的随机范围(如最小/最大值)。
- 根据属性类型(数值或百分比)动态调整显示格式(如追加
% 符号)。
3. 条件逻辑与表合并
- 条件分支:
- 根据装备等级(如
等级≥4 或等级≥6 )动态合并不同的属性表(N1 和N2 )。
- 表合并方法:
- 遍历子表(
pairs 循环),将键值对插入主表。
- 示例:将
N2 的属性合并到N1 中,生成最终随机池。
4. 自定义属性实现
- 关键属性逻辑:
- 对怪吸血:通过
It.IsMonster 判断目标,触发AddHP 回复。
- 宝宝伤害/属性:在召唤或攻击时,动态增加宝宝属性(如
SetBaseInfo )。
- 鞭尸效果:通过概率判定(
math.random(100)==1 )触发怪物二次掉落。
- 注意事项:
- 区分属性类型(数值/万分比),避免计算错误。
- 确保引擎触发点正确(如宝宝攻击调用
HeroAttack 事件)。
5. 数据存储与协议通信
- 变量存储:
- 使用
SetIntVariable 保存装备等级、星级等数据(如位置12的变量1 )。
- 客户端刷新:
- 服务端通过协议(如
5000 )通知客户端更新界面,确保数据同步。
6. 前端UI清理
- 移除冗余按钮:
- 定位前端代码(如
Layout 或UI脚本 ),删除转生、拍卖行等无用按钮的加载逻辑。
遇到的问题与解决
- 属性未生效:
- 原因:字段顺序错误(如百分比标志位写反)。
- 解决:打印调试日志,验证属性结构是否符合引擎要求。
- 表合并失败:
- 原因:二维表未正确处理。
- 解决:迭代子表内容而非直接赋值。
- 客户端未刷新:
- 原因:服务端未回传刷新协议。
- 解决:在升级成功后主动发送
5000 协议。
|
|