如何随机化多个表值

  • 本文关键字:随机化 lua fivem
  • 更新时间 :
  • 英文 :


我是新的lua所以抱歉,如果我的代码可能看起来很糟糕,我一直试图随机化x, y, z值在一个表没有成功。我怎么能这么做呢?

我得到一个错误:

加载脚本作业/poolworker出错。Lua在资源esx_jobs: @esx_jobs/jobs/poolworker。lua:156:尝试索引一个nil值(全局'Delivery')

下面是我当前的脚本:


Config.Jobs.slaughterer = {

Delivery = {
Pos = {x,y,z},

Color = {r = 50, g = 200, b = 50},
Size = {x = 5.0, y = 5.0, z = 3.0},
Marker = 1,
Blip = true,
Name = _U('delivery_point'),
Type = 'delivery',
Spawner = 1,
Item = {
{
name = _U('delivery'),
time = 0.5,
remove = 1,
max = 100, -- if not present, probably an error at itemQtty >= item.max in esx_jobs_sv.lua
price = 13,
requires = 'bottle',
requires_name = _U('chl_bottle'),
drop = 100
}
},
Hint = _U('p_deliver_button')
}

}

}
test = {x = 162.329666,  y = -194.452744, z = 54.217529}
if delivery == 1 then
table.insert(Delivery[1]["Pos"], test)
elseif delivery == 2 then
table.insert(Delivery[1]["Pos"], test)
end ```


[1]: https://i.stack.imgur.com/ZIXhJ.png
Thank you, whoever is going to help me.

所以有几件事

对于您的用例,您可能不想使用table.insert,因为table.insert的目标是在表的下一个打开的数字索引处插入X例:

local someTable = {}
table.insert(someTable, 123)
table.insert(someTable, "Hello World")
-- someTable is {123, "Hello World"} which is shorthand for {[1] = 123, [2] = "Hello World"}

相反,您可能希望直接索引表可以像这样被索引:

local someTable = {
Thing = 1
}
print(someTable["Thing"]) -- print's 1 
someTable["SomethingElse"] = 2
print(someTable["SomethingElse"]) -- print's 2

从我可以从输出中收集到的交付似乎不是一个变量,而是Config.Jobs.slaughterer表中的一个索引。所以不妨试试:

test = {x = 162.329666,  y = -194.452744, z = 54.217529}
if delivery == 1 then
Config.Jobs.slaughterer.Delivery["Pos"] = test
elseif delivery == 2 then
Config.Jobs.slaughterer.Delivery["Pos"] = test
end

最新更新