查看: 39|回复: 1

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

[复制链接]

46

主题

42

回帖

1212

积分

金牌会员

积分
1212
发表于 2026-6-4 23:52:36 | 显示全部楼层 |阅读模式
-- 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 [210] 0
#ACT
SET [210] 1
CallLua OnPlayerSignIn <$username>
break

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


1

主题

228

回帖

1585

积分

金牌会员

积分
1585
发表于 2026-6-5 10:19:23 | 显示全部楼层
快了快了,马上就能用VV了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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