找回密码
 register

QQ登录

只需一步,快速开始

查看: 46|回复: 0

[系统函数] 客户端函数 Pet:GetSkillPassive 珍兽技能是否是主动技能 使用教程

[复制链接]

[系统函数] 客户端函数 Pet:GetSkillPassive 珍兽技能是否是主动技能 使用教程

[复制链接]
  • 打卡等级:热心大叔
  • 打卡总天数:94
  • 打卡月天数:17
  • 打卡总奖励:94
  • 最近打卡:2025-01-18 01:28:20
Waylee

主题

0

回帖

1万

积分

仙帝

积分
11929
Waylee 2024-12-3 11:39 | 显示全部楼层 |阅读模式 | Google Chrome | Windows 10

马上注册,查看网站隐藏内容!!

您需要 登录 才可以下载或查看,没有账号?register

×

用途

检查当前选中珍兽技能是否是被动技能

客户端函数源码

INT Pet::GetSkillPassive(LuaPlus::LuaState* state)
    {
        // 创建一个 LuaStack 对象,用于管理从 Lua 栈中获取的参数
        LuaStack args(state);
         // 检查传入的第二个和第三个参数是否为整数类型
        if ( !(args[2].IsInteger()) || (!(args[3].IsInteger())) ) 
        {
            // 如果参数不是整数,则抛出异常并返回 0,表示参数错误
            TDThrow("LUA:Pet GetSkillPassive parameter error");
            return 0;
        }
        // 获取传入的宠物编号和技能编号
        INT nPetNum = args[2].GetInteger(); 
        INT nPetSkill =  args[3].GetInteger();  
        // 检查技能编号是否在合法范围内
        if(nPetSkill < 0 || nPetSkill >= PET_MAX_SKILL_COUNT)
        {
            // 如果技能编号无效,推送 -1 到 Lua 栈,表示错误
            state->PushNumber(-1);
//          TDThrow("LUA:Pet GetSkillPassive parameter PetSkill error");
            // 返回 1,表示成功执行(尽管有错误),Lua 端将看到 -1 作为返回值
            return 1;
        }
        // 获取指定宠物编号和技能编号对应的技能数据
        const PET_SKILL* pPet_Skill = CDataPool::GetMe()->Pet_GetSkill(nPetNum,nPetSkill);
         // 如果技能数据无效或技能定义为空
        if(!pPet_Skill || (!pPet_Skill->m_pDefine))
        {
            // 如果技能数据无效,推送 -1 到 Lua 栈,表示错误
            state->PushNumber(-1);
            // 返回 1,表示成功执行(尽管有错误),Lua 端将看到 -1 作为返回值
            return 1;
        }
        // 检查技能的操作模式是否是“主动技能”
        // 如果操作模式不是 PET_SKILL_OPERATE_NEEDOWNER,表示技能是被动技能
        state->PushNumber( pPet_Skill->m_pDefine->m_nOperateModeForPetSkill != PET_SKILL_OPERATE_NEEDOWNER);
        // 返回 1,表示成功执行,Lua 端将获取到技能是否是被动技能的判断结果(1 或 0)
        return 1;
    }

***付费内容***

付费看帖
剩余 11% 内容需要支付 2.00 金币 后可完整阅读
支持付费阅读,激励作者创作更好的作品。
您需要登录后才可以回帖 登录 | register

本版积分规则

雪舞知识库 | 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 |天天打卡

GMT+8, 2025-1-18 13:12 , Processed in 0.102334 second(s), 8 queries , Redis On.

Powered by XueWu Licensed

Copyright © Tencent Cloud.

快速回复 返回顶部 返回列表