Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Random 基于另一个随机值从表中选择一个随机值_Random_Lua - Fatal编程技术网

Random 基于另一个随机值从表中选择一个随机值

Random 基于另一个随机值从表中选择一个随机值,random,lua,Random,Lua,我把我朋友的所有武器统计列表作为他正在运行的RP,并将其转换为生成器,但我在排除基于其他值的某些值时遇到了问题。例如,我不想要第二把自动步枪。是否有一种方法可以根据其他输出排除某些值 local myclasses = { 'Primary', 'Secondary', 'Heavy' } local myprimaries = { 'Auto Rifle', 'Scout Rifle', 'Pulse Rifle', 'Sniper Rifle', 'Hand Cannon' } lo

我把我朋友的所有武器统计列表作为他正在运行的RP,并将其转换为生成器,但我在排除基于其他值的某些值时遇到了问题。例如,我不想要第二把自动步枪。是否有一种方法可以根据其他输出排除某些值

local myclasses = { 'Primary', 'Secondary', 'Heavy' }
local myprimaries = { 'Auto Rifle', 'Scout Rifle', 'Pulse Rifle', 'Sniper     Rifle', 'Hand Cannon' }
local mysecondaries = { 'Shotgun', 'Sidearm', 'SMG/SEG' }
print( myclasses[ math.random(#myclasses) ] )
if 'Primary' then
  print( myprimaries[ math.random(#myprimaries) ] )
elseif 'Secondary' then
  print( mysecondaries[ math.random(#mysecondaries) ] )
end

问题在于条件:

if 'Primary' then
将始终计算为true,因为除
false
nil
之外的任何值都计算为true

你想要的是:

local rand_class = myclasses[math.random(#myclasses)]
print(rand_class)
if rand_class == 'Primary' then
  print( myprimaries[math.random(#myprimaries)] )
elseif rand_class == 'Secondary' then
  print( mysecondaries[math.random(#mysecondaries)] )
end

别忘了随机播种。

可以。非常感谢。