tibaiwan1888 发表于 2026-6-4 23:52:36

Lua 调用传统脚本 / 传统脚本触发 Lua 函数 —— 互调用完整示例

-- Lua 端:注册一个可被传统脚本调用的函数
function OnPlayerSignIn(playerName)
    local player = GetPlayerByName(playerName)
    if not player then return end

    local signCount = GetPlayerVar(player, "sign_count") or 0
    signCount = signCount + 1
    SetPlayerVar(player, "sign_count", signCount)

    -- 连续签到奖励阶梯
    local reward = 10
    if signCount >= 7 then reward = 30
    elseif signCount >= 3 then reward = 20
    end

    GiveItem(player, "元宝", reward)
    SendNotice(playerName .. " 完成第" .. signCount .. "天签到,获得元宝x" .. reward)
end


传统脚本端触发:


[@SignIn]
#IF
Check 0
#ACT
SET 1
CallLua OnPlayerSignIn <$username>
break

要点:
[*]CallLua 函数名 参数 是 VVM2 传统脚本调用 Lua 的标准写法
[*]Lua 内用 GetPlayerVar/SetPlayerVar 做持久化变量存储
[*]适合复杂逻辑放 Lua,触发逻辑放传统脚本


qq154886255 发表于 2026-6-5 10:19:23

快了快了,马上就能用VV了
页: [1]
查看完整版本: Lua 调用传统脚本 / 传统脚本触发 Lua 函数 —— 互调用完整示例