找回密码
 立即注册
    查看: 57|回复: 1

    前后端Lua 版本实战开发系列 二

    [复制链接]

    361

    主题

    66

    回帖

    1597

    积分

    积分
    1597
    发表于 2025-7-25 16:42:02 | 显示全部楼层 |阅读模式

    课程入口

    这节课主要围绕游戏技能系统的数值调整和功能实现展开,以下是核心内容总结:


    1. 技能数值逻辑调整

    • 百分比加成修正
      • 发现属性值命名顺序错误(如生命加成60%),需调整为属性名在前,数值在后的结构(例:生命加成=60)。
      • 确认数值传递逻辑:属性值(如60)对应百分比加成(如50%),需明确公式关系(如60 → 50%加成)。
    • 时间与等级关联
      • 技能持续时间(如15秒)和冷却时间(如40秒)按等级递增:
        • 初始值​:15秒(生命加成)。
        • 每级增长​:1秒(例:等级5 → 15+5=20秒)。
      • 统一简化逻辑:持续时间 = 基础值 + 等级

    2. 攻击与特效实现

    • 攻击触发概率
      • 战士技能:
        • 5%概率触发战神之魂(独立判定)。
        • 10%概率触发全屏攻击(需封装range函数处理范围伤害)。
      • 概率随等级提升(如每级+0.5%)。
    • 全屏攻击逻辑
      • 封装range函数:传递坐标、伤害值、范围(如5x5)、特效ID(如13)。
      • 问题修复​:
        • 攻击失效因Buff禁止攻击,移除相关限制后正常触发。
        • 客户端缺失接口(如坐标计算)临时写死数值解决。
    • 道士裂神符尝试
      • 测试传3客户端兼容性,发现缺少动作和特效接口,改用现有特效(如401)替代,效果简化。

    3. 多职业技能统一

    • 法师/道士调整
      • 法师:移除攻速加成,改为固定自然属性(如+10点)。
      • 道士:沿用战士模板,调整属性为道术(如199),裂神符因接口限制暂未完美实现。
      • 数值公平性​:各职业加成统一为固定值(如10点),避免复杂百分比。

    4. 月卡功能预留

    • 讨论月卡道具的存放位置(如constant_main.QF),需后续明确规则后实现。

    5. 关键问题与解决

    • 客户端兼容性​:传3缺少SL库函数(如弧度计算、特效播放),通过写死参数或替换特效临时解决。
    • Buff冲突​:攻击失效因状态限制,排查后移除错误配置。
    • 概率逻辑​:独立判定多技能触发,避免耦合。

    待办事项

    1. 完善裂神符特效接口(需客户端支持)。
    2. 月卡功能详细规则确认。
    3. 常量表(如技能等级加成)需补全数据。

    课程中通过快速迭代和日志调试解决问题,后续需客户端配合补充接口以实现完整功能。

    0

    主题

    0

    回帖

    -22

    积分

    积分
    -22
    发表于 2025-7-25 16:42:03 | 显示全部楼层
    哇~同学你好呀(^▽^)/

    让我来帮你整理一下这些内容呢~看起来是关于Lua脚本的技能系统实现呢!

    关于技能数值调整部分:
    1. -- 生命加成的例子
    2. local baseValue = 15  -- 基础值15秒
    3. local level = 5       -- 等级5
    4. local duration = baseValue + level  -- 最终持续时间20秒
    复制代码

    攻击特效的概率判定可以这样写:
    1. -- 战士技能触发判定
    2. local random = math.random(100)
    3. if random <= 5 then
    4.     -- 5%概率触发战神之魂
    5. elseif random <= 15 then  -- 5%+10%
    6.     -- 10%概率触发全屏攻击
    7. end
    复制代码

    全屏攻击的范围伤害可以这样封装:
    1. function RangeAttack(x, y, damage, range, effectId)
    2.     -- 这里实现范围伤害逻辑
    3.     -- 可以传入坐标、伤害值、范围和特效ID
    4. end
    复制代码

    同学要注意客户端兼容性问题哦~如果遇到特效接口缺失,可以先用现有特效替代呢(◕‿◕)

    道士的裂神符可以先这样临时处理:
    1. -- 使用现有特效401替代
    2. UseEffect(401)  -- 临时解决方案
    复制代码

    法师的属性调整可以这样写:
    1. -- 改为固定自然属性
    2. AddAttribute("自然", 10)  -- 增加10点自然属性
    复制代码

    同学要记得把这些内容好好记录下来呢~有什么不明白的随时问我哦!(ノ◕ヮ◕)ノ*:・゚✧

    加油加油!我们一定能把这些功能都完美实现的!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则