【问题标题】:Is there a way to check for the value in the table.insert in LUA?有没有办法检查 LUA 中 table.insert 中的值?
【发布时间】:2021-08-20 20:15:22
【问题描述】:

所以我正在为 FiveM 服务器编写脚本,我有一个问题。我对LUA有点陌生,所以请记住这一点。据我了解,这行代码是这样做的,它检查库存中的项目是否大于 0,然后插入 x 项目。问题是玩家可以插入比库存中更多的物品。我的意思是什么?玩家有 10 块巧克力,但他可以在桌子上添加 20 块。有没有办法检查他想放多少物品,然后检查他的库存,然后将其添加到表格中?这是执行此操作的代码行。

local elements = {}

   for i=1, #inventory.items, 1 do

     local item = inventory.items[i]

     if item.count > 0 then
       table.insert(elements, {label = item.label .. ' x' .. item.count, type = 'item_standard', value = item.name})
     end

   end

【问题讨论】:

    标签: lua lua-table fivem


    【解决方案1】:
    -- create an empty table
    local elements = {}
    -- for each item in some inventory list
    for i=1, #inventory.items, 1 do
      -- reference that item
      local item = inventory.items[i]
       -- I assume you can have more than one of each items so if you have at least one
       if item.count > 0 then
         -- insert a new table with info about that item into elements
         table.insert(elements, {label = item.label .. ' x' .. item.count, type = 'item_standard', value = item.name})
       end
    
    end
    

    此代码不管理任何计数。让这段代码可以添加比玩家更多的项目的唯一方法是多次运行该循环。它只是将信息从一个列表传输到另一个列表。 当您从玩家库存中添加这些物品时,无需将它们的数量与他的库存进行比较

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-24
      • 2020-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-05
      • 1970-01-01
      相关资源
      最近更新 更多