搜索
查看: 1143|回复: 7

[求助] 关于LUA变量的问题,求助

[复制链接]
发表于 2021-5-28 11:48:51 | 显示全部楼层 |阅读模式
200金钱
function on_DoSpellSkill(Actor, TagActor, MagicID)
        local Magic = MagicID
        local D79 = actor:getVal_D(79)
        if (Magic == 140) or (Magic == 26) or (Magic == 44) then--
                actor:setVal_D(79,D79+1000)
                end
        end



求助大神: 我想在使用技能回调后加个变量,
例如:触发烈火剑法后 D79这个变量+1000,可是总是报错,
同样的代码我在伤害回调那边就没问题!

求大神解惑!!
附件: 您需要 登录 才可以下载或查看,没有账号?立即注册

最佳答案

查看完整内容

attempt to index a nil value (global 'actor') 这个就是你这个actor不是参数里的Actor ,A改大写
发表于 2021-5-28 11:48:52 | 显示全部楼层
yan5225822 发表于 2021-5-28 13:13
2021-05-28 13:13:25 {0219} [string "D:\MirServer\Mir200\LuaScripts\System\BindEvent.lua"]:73: atte ...

attempt to index a nil value (global 'actor')  这个就是你这个actor不是参数里的Actor ,A改大写

评分

参与人数 1金钱 +10 收起 理由
yan5225822 + 10 很给力!

查看全部评分

发表于 2021-5-28 12:19:40 | 显示全部楼层
这看你actor的D79在哪里赋值的,其他地方没有赋值,这里取不到就报错,你这个D79是要累加吗,不累加定义的时候直接给值,要累加就加个判断给值
 楼主| 发表于 2021-5-28 12:30:28 | 显示全部楼层
乌木剑 发表于 2021-5-28 12:19
这看你actor的D79在哪里赋值的,其他地方没有赋值,这里取不到就报错,你这个D79是要累加吗,不累加定义的 ...

function on_DoSpellSkill(Actor, TagActor, MagicID)
        ctor:setVal_D(78)
        ctor:setVal_D(79)
        local D78 = actor:getVal_D(78)
        local D79 = actor:getVal_D(79)
        local Magic = MagicID
        if (Magic == 140) or (Magic == 26) or (Magic == 44) then--
                actor:setVal_D(78,D78+1000)
                actor:setVal_D(78,D78+1000)
                end
        end
       
请问这样可以嘛?
发表于 2021-5-28 13:03:13 | 显示全部楼层
yan5225822 发表于 2021-5-28 12:30
function on_DoSpellSkill(Actor, TagActor, MagicID)
        ctor:setVal_D(78)
        ctor:setVal_D(79)

function on_DoSpellSkill(Actor, TagActor, MagicID)
        --actor:setVal_D(78,0)
        --actor:setVal_D(79,0)
        local D78 = 0
        local D79 = 0
        if  MagicID == 140 or MagicID == 26 or MagicID == 44 then
                actor:setVal_D(78,D78+1000)
                actor:setVal_D(79,D79+1000)
                end
        end
 楼主| 发表于 2021-5-28 13:13:10 | 显示全部楼层
乌木剑 发表于 2021-5-28 13:03
function on_DoSpellSkill(Actor, TagActor, MagicID)
        --actor:setVal_D(78,0)
        --actor: ...

2021-05-28 13:13:25 {0219} [string "D:\MirServer\Mir200\LuaScripts\System\BindEvent.lua"]:73: attempt to index a nil value (global 'actor')
stack traceback:
        [string "D:\MirServer\Mir200\LuaScripts\System\BindEvent.lua"]:73: in function 'on_DoSpellSkill'


呃呃呃呃。。还是报错额
发表于 2021-5-28 15:41:22 | 显示全部楼层
楼上不是回答你了吗?actor的a是A,不是a
发表于 2021-5-28 15:42:43 | 显示全部楼层
lua大小写敏感,你参数里面是Actor 函数体内用的是actor 能不报错吗。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|HGEM2论坛

GMT+8, 2024-9-21 12:42 , Processed in 0.555588 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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