238380 发表于 2025-1-9 20:20:30

经常调用的功能能不能调用lua?

说明书上说

调用LUA时一般涉及到系统功能,比如某某排行榜需要做一些特殊的排序功能的脚本不太好计算的情况下调用一下,
不要写在如:杀怪触发及切换地图触发等经常调用的功能里

我这样写对不对?算不算官方说的,不要写在经常调用的功能里?如果不对怎么写才对?

QFunction-0.txt的内容如下


[@attack]
#IF
CHECKCURRTARGETRACE = 1
#ACT
lua_attgjcf
BREAK


LuaFunc-0.lua的内容如下


-----攻击怪物触发
function lua_attgjcf(actor)
    local mondx = getbaseinfo(actor,67)
   
    --人物对怪刀刀绿毒触发
    if ismon(mondx) and ismon(mondx) ~= 0 and getflagstatus(actor,88) == 1 and getbaseinfo(mondx,1) ~= "高级镖车" and getbaseinfo(mondx,1) ~= "终级镖车" then
      makeposion(mondx,0,10)
    end

    --灵魂冰冻触发
   if ismon(mondx) and ismon(mondx) ~= 0 andgetconst(actor,"<$USEITEMNAME>") == "灵魂·[冰冻]" andmath.random(100) <= 95 then
            makeposion(mondx,12,2)
    end
   
    --灵魂冰冻触发
   if ismon(mondx) and ismon(mondx) ~= 0 andgetconst(actor,"<$USEITEMNAME>") == "飞仙石·[冰冻]" andmath.random(100) <= 5 then
            makeposion(mondx,12,2)
    end

end

ZSZSZSS 发表于 2025-1-10 16:28:15

不要这样写,上线卡到爆。你打印个耗时看看,能吓死你。一些TXT实现不了的调用一下LUA可以,但别放在这种频繁触发里。

238380 发表于 2025-1-11 18:44:36

ZSZSZSS 发表于 2025-1-10 16:28
不要这样写,上线卡到爆。你打印个耗时看看,能吓死你。一些TXT实现不了的调用一下LUA可以,但别放在这种频 ...

每次攻击耗时130-200微秒这样,感觉还可以,但是频繁触发还是不清楚行不行,不用lua,每个buff都用txt写不也很不方便吗?老哥你是怎么处理的?

996技术-wang 发表于 2025-1-13 10:08:42

本帖最后由 996技术-wang 于 2025-1-15 17:25 编辑

这样写TXT都顶不住 建议在脚本专区提问看

ZSZSZSS 发表于 2025-1-13 16:46:51

238380 发表于 2025-1-11 18:44
每次攻击耗时130-200微秒这样,感觉还可以,但是频繁触发还是不清楚行不行,不用lua,每个buff都用txt写 ...

我lua写的,TXT+LUA耗时高我没用

996技术-wang 发表于 2025-1-15 17:26:01

混合用耗时高

a2290020294 发表于 2025-2-27 12:43:03

996技术-wang 发表于 2025-1-15 17:26
混合用耗时高

借楼问个问题,在QFLUA脚本中使用引擎触发字段无法触发是为什么,说明书这么写的=====引擎触发是通用的,TXT的所有触发转换成小写后在LUA中就可使用======是要把TXT中对应的系统触发字段名改成全小写就行了吗?我改成全小写一样不生效,是要把所有字段改了才能用,还是对应字段改了就可以用?

wuxindashi 发表于 2025-2-28 09:51:54

复杂功能还是LUA快,就算混着用也比只用TXT快得多的多,特别是涉及大的循环,用LUA能快10倍左右。
页: [1]
查看完整版本: 经常调用的功能能不能调用lua?