waaaa 发表于 2024-4-29 13:30:39

注释

lib.callback.register('lunar_garage:getContractOption', function()
    if cache.vehicle then
      ShowNotification(locale('cant_in_vehicle'), 'error')
      return
    end

    local vehicle = lib.getClosestVehicle(cache.coords, 3.0, false)

    if not vehicle then
      ShowNotification(locale('no_vehicle_near_you'), 'error')
      return
    end

    local plate = GetVehicleNumberPlateText(vehicle)
    local label = GetVehicleLabel(GetEntityModel(vehicle))
    local option = promise.new()

    local function Resolve(name)
      option:resolve(name)
    end

    lib.registerContext({
      id = 'contract',
      title = locale('contract'),
      onClose = function()
            option:resolve()
      end,
      options = {
            {
                title = locale('transfer_player'),
                icon = 'user',
                args = 'transfer_player',
                onSelect = Resolve
            },
            {
                title = locale('transfer_society'),
                icon = 'users',
                args = 'transfer_society',
                onSelect = Resolve
            },
            {
                title = locale('withdraw_society'),
                icon = 'rotate-left',
                args = 'withdraw_society',
                onSelect = Resolve
            }
      }
    })

    lib.showContext('contract')

    return Citizen.Await(option), plate, label
end)

lib.callback.register('lunar_garage:getTargetPlayer', function()
    local input = lib.inputDialog(locale('pick_player'), {
      locale('player_id'), locale('sell_price')
    })

    if not input then return end

    return tonumber(input), tonumber(input)
end)

lib.callback.register('lunar_garage:getAgreement', function(price, label, name)
    local result = lib.alertDialog({
      header = locale('offer'),
      content = locale('offer_content', name, label, price),
      centered = true,
      labels = {
            confirm = locale('offer_confirm'),
            cancel = locale('offer_cancel')
      }
    })

    return result == 'confirm'
end)

---@param type 'transfer' | 'withdraw'
lib.callback.register('lunar_garage:societyPrompt', function(type)
    local result = lib.alertDialog({
      header = locale('society_prompt'),
      content = type == 'transfer' and locale('society_transfer') or locale('society_withdraw'),
      centered = true,
      labels = {
            confirm = locale('society_confirm'),
            cancel = locale('society_cancel'),
      }
    })

    return result == 'confirm'
end)

RegisterNetEvent('lunar_garage:contractAnim', function(message)
    lib.progressBar({
      label = message,
      duration = Config.Contract.Duration,
      canCancel = false,
      disable = {
            move = true,
            car = true,
            combat = true
      },
      anim = {
            scenario = 'WORLD_HUMAN_CLIPBOARD'
      }
    })
end)

ChatGPT 发表于 2024-4-29 13:30:48

这段代码是在注册一些回调函数,用于处理 Lunar Garage 插件中的一些操作。下面是代码的主要功能:

1. 第一个回调函数用于获取合同选项,包括转让玩家、转让团体和提取团体等选项。
2. 第二个回调函数用于获取目标玩家的信息,包括玩家ID和出售价格。
3. 第三个回调函数用于获取用户是否同意某个协议的结果。
4. 第四个回调函数用于显示团体转让或提取时的确认提示框。
5. 最后一个 RegisterNetEvent 用于处理 lunar_garage:contractAnim 事件,显示进度条动画。

这些函数的功能都涉及到与用户交互,例如显示提示框、输入框、确认框等,以及执行不同的操作并返回相应的结果。

这段代码应该放在服务器的脚本文件(如 server.lua)中。

waaaa 发表于 2024-4-29 13:31:38

ChatGPT 发表于 2024-4-29 13:30
这段代码是在注册一些回调函数,用于处理 Lunar Garage 插件中的一些操作。下面是代码的主要功能:

1. 第 ...

翻译上段代码

ChatGPT 发表于 2024-4-29 13:31:49

waaaa 发表于 2024-04-29 13:31
翻译上段代码

这段代码主要是在注册一些回调函数,用于处理 Lunar Garage 插件中的各种操作。具体功能如下:

1. 第一个回调函数用于获取合同选项,包括转让玩家、转让团体和提取团体等选项。
2. 第二个回调函数用于获取目标玩家的信息,包括玩家ID和出售价格。
3. 第三个回调函数用于获取用户是否同意某个协议的结果。
4. 第四个回调函数用于显示团体转让或提取时的确认提示框。
5. 最后一个 RegisterNetEvent 用于处理 lunar_garage:contractAnim 事件,显示进度条动画。

这些函数都涉及与用户的交互,例如显示提示框、输入框、确认框等,执行相应的操作并返回结果。

这段代码应该放在服务器端的脚本文件(如 server.lua)中。
页: [1]
查看完整版本: 注释