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
Lua 对'的参数不正确;随机';_Lua_Roblox - Fatal编程技术网

Lua 对'的参数不正确;随机';

Lua 对'的参数不正确;随机';,lua,roblox,Lua,Roblox,这是我的密码 while true do script.Parent.Position = Vector3.new((math.random(-41.994,15.471)),0.5,(math.random(129.514,69.442))) script.Parent.Color = Color3.new(math.random(0,255), math.random(0,255), math.random(0,255)) wait(1) end 我使用的编程语言是

这是我的密码

while true do
    script.Parent.Position = Vector3.new((math.random(-41.994,15.471)),0.5,(math.random(129.514,69.442)))
    script.Parent.Color = Color3.new(math.random(0,255), math.random(0,255), math.random(0,255))
    wait(1)
end
我使用的编程语言是Lua

当我尝试使用此代码时,会出现以下错误:

"15:50:47.926 - Workspace.rock outer walls.Model.Rocks.Part0.Script:2: bad argument #2 to 'random' (interval is empty)"
代码的目的是随机传送脚本所在的部分,但不传送到很远的地方,并且在同一y轴上

谁能给我解释一下吗


注:不久前,我在这个网站上发表了一篇粗鲁的帖子,因为我对如何做很多事情感到困惑,现在我对一些事情更了解了,所以我想为我的愚蠢行为道歉~Zeeen

在Lua,
数学中。random
可以被称为三种方式:

  • 毫无争议
  • 带1个整数参数
  • 具有2个整数参数
它不接受像
-41.994
15.471
这样的值,这就是您得到错误的原因

如果将值更改为
-41
15
,则不应再看到错误


Lua 5.3参考手册:

math.random([m[,n]]))

在没有参数的情况下调用时,返回一个在[0,1]范围内均匀分布的伪随机浮点。在使用两个整数m和n调用时,math.random返回一个在[m,n]范围内均匀分布的伪随机整数。(值n-m不能为负数,必须适合Lua整数。)调用math.random(n)相当于数学。随机(1,n)

此函数是C提供的底层伪随机生成器函数的接口


在Lua中,
math.random
可以用三种方式调用:

  • 毫无争议
  • 带1个整数参数
  • 具有2个整数参数
它不接受像
-41.994
15.471
这样的值,这就是您得到错误的原因

如果将值更改为
-41
15
,则不应再看到错误


Lua 5.3参考手册:

math.random([m[,n]]))

在没有参数的情况下调用时,返回一个在[0,1]范围内均匀分布的伪随机浮点。在使用两个整数m和n调用时,math.random返回一个在[m,n]范围内均匀分布的伪随机整数。(值n-m不能为负数,必须适合Lua整数。)调用math.random(n)相当于数学。随机(1,n)

此函数是C提供的底层伪随机生成器函数的接口


正如Nifim的答案正确指出的那样,在Lua中调用
math.random
有三种方法

如果没有参数,它将返回一个介于0.0到1.0之间的实数

对于一个或两个整数参数,它返回一个整数

这些都不能直接给出你想要的,我想这是一个特定范围内的随机实数

为此,您需要调用不带参数的
math.random
,然后调整结果

例如,如果您想要一个介于5.0和10.0之间的随机数,可以使用

math.random() * 5.0 + 5.0
考虑编写自己的包装器函数,该函数接受两个浮点参数并调用
math.random

function random_real(x, y)
    return x + math.random() * (y-x)
end

正如Nifim的答案正确指出的那样,在Lua中调用
math.random
有三种方法

如果没有参数,它将返回一个介于0.0到1.0之间的实数

对于一个或两个整数参数,它返回一个整数

这些都不能直接给出你想要的,我想这是一个特定范围内的随机实数

为此,您需要调用不带参数的
math.random
,然后调整结果

例如,如果您想要一个介于5.0和10.0之间的随机数,可以使用

math.random() * 5.0 + 5.0
考虑编写自己的包装器函数,该函数接受两个浮点参数并调用
math.random

function random_real(x, y)
    return x + math.random() * (y-x)
end

我编辑了你的文章以修复格式并更改标题。你的原始标题没有提供足够的信息。我编辑了你的文章以修复格式并更改标题。你的原始标题没有提供足够的信息。谢谢你,这帮了大忙!谢谢你,这帮了大忙!