所以我有这个 Lua 脚本:
function dispTanks()
mon.setCursorPos(offsetPos, 1)
mon2.setCursorPos(offsetPos,1)
for i=1, #machines do -- RC Tanks
--------------------------------------------
if string.find(machines[i], "rcirontankvalvetile")
or
string.find(machines[i], "rcsteeltankvalvetile") then
if peripheral.isPresent(machines[i]) then
periph = peripheral.wrap(machines[i])
fluidRaw, fluidName, fluidAmount, fluidCapacity, fluidID = marik.getTank(periph)
if fluidName == nil then
-- does not display empty tanks
elseif fluidName ~= nil then
mon2.setTextColor(tc)
x,y = mon2.getCursorPos()
mon2.setCursorPos(offsetPos, (y+1))
mon2.clearLine()
-- marik.cString(offsetPos,(y+1), tc, right, " ")
nameFL = split(marik.comma(fluidName), " ")
nameFL = nameFL[0]
mon2.write("Tank (" .. nameFL .. ") : " .. marik.getBuckets(fluidAmount) .. " buckets")
end
end
end
end
end
现在它在这一行给出了一个错误:
nameFL = split(marik.comma(fluidName), " ")
错误是:attempt to call nil
。
现在,我是 Lua 的初学者,这不是我的脚本,而是一个免费使用的脚本,我不知道如何解决这个问题。
编辑
所以在我添加拆分部分之前,这是脚本应该给出的结果:
问题是我想将名称( ardite.molten )更改为 Ardite,一位朋友说我需要使用 split,所以我添加了以下内容:
function firstToUpper(str)
return (str:gsub("^%l", string.upper))
end
和
nameFL = split(fluidName, " ")
nameFL = nameFL[0]
并将 : 更改mon2.write("Tank (" .. marik.comma(fluidName) .. ") : " .. marik.comma(fluidAmount) .. " / " .. marik.comma(fluidCapacity) .. " mb (" .. marik.getBuckets(fluidAmount) .. " buckets)")
为 :mon2.write("Tank (" .. nameFL .. ") : " .. marik.getBuckets(fluidAmount) .. " buckets")
这给了我错误: