当前位置: 首页 > 知识库问答 >
问题:

“Text”的参数#3不正确(应为字符串,为零)

明利
2023-03-14

我正在roblox中创造一个位置。我写了脚本,看看它,请说它有什么问题???在另一个脚本中,所有的工作都很完美!,你能帮我吗?

    local players = game.Players:GetChildren()
    local pupil = players[math.random(0,#players)]
    local James = game.Workspace.James
    local Texte = game.StarterGui.ScreenGui.Maintexzt
    local nameq = game.StarterGui.ScreenGui.Maintexzt.Nameq
    function ontouch(hit)
    if hit.Parent:findFirstChild("Humanoid") then
    print("Trigget working!")
    James.Humanoid.Torso.CFrame = game.Workspace.OutOfhere.CFrame
    script.Parent.CFrame = game.Workspace.SpawnLocation.CFrame
end
end
    script.Parent.Touched:Connect(ontouch)
    function ontouchexit()
Texte.Text = "Uh... We did it??"
wait(2)
nameq.Text = players.Name
Texte.Text = "Oh how we make it?"
wait(2)
nameq.Text = James.Name
Texte.Text = "Better, go home!"
wait(3)
nameq.Text = players.Name
Texte.Text = "Go!"
nameq.Text = James.Name
Texte.Text = "But go to my home!"
nameq.Text = players.Name
Texte.Text = "Nope"
nameq.Text = James.Name
Texte.Text = "Your choice, Your die, You can follow me, or not"
end
script.Parent.TouchEnded:Connect(ontouchexit)

还有,请说有什么问题吧,我要完成一个开发的地方。

共有2个答案

仲浩歌
2023-03-14
local players = game.Players:GetChildren()

https://developer.roblox.com/en-us/api-reference/function/Instance/GetChildren

返回包含实例所有直接子级的数组(数字索引表)

nameq.Text = players.Name

作为一名机器人专家,我发现玩家不太可能。Name不是nil

您的代码进一步表明,将Vlaue分配给这些文本属性将调用一些函数。这可以向我解释错误信息。

我不认为一系列玩家会说<代码>“呃...我们做到了??“所以我想你问题的解决方案是找出你真正想和谁说话,并使用这个名字。

打印播放器。命名并亲自查看。

董鸣
2023-03-14

这可能会有所帮助:

local Workspace     =   game.Workspace or workspace;
local StarterGui    =   game.StarterGui;
local players       =   game:GetService("Players");
-----------------------------------------------------------------------------
local Pupil     =   Players[math.random(0,#Players)];
local James     =   Workspace:FindFirstChild("James");
local Texte     =   StarterGui.ScreenGui:FindFirstChild("Maintexzt");
local nameq     =   StarterGui.ScreenGui.Maintexzt:FindFirstChild("Nameq");
local Target    =   ""; --Stores any string value of players that touched the TouchPart
-----------------------------------------------------------------------------
function ontouch(hit)
    if (hit.Parent:FindFirstChild("Humanoid")) then
        print("Trigger working!");
        Target                      =   hit.Parent.Name;    --Saves value of a player's name
        James.Humanoid.Torso.CFrame =   Workspace.OutOfhere.CFrame;
        script.Parent.CFrame        =   Workspace.SpawnLocation.CFrame;
    end
end
-----------------------------------------------------------------------------
function ontouchexit()
    --Replaced 'players.Name' into 'Target', which contains string
    Texte.Text = "Uh... We did it??"
    wait(2)
    nameq.Text = Target
    Texte.Text = "Oh how we make it?"
    wait(2)
    nameq.Text = James.Name
    Texte.Text = "Better, go home!"
    wait(3)
    nameq.Text = Target
    Texte.Text = "Go!"
    nameq.Text = James.Name
    Texte.Text = "But go to my home!"
    nameq.Text = Target
    Texte.Text = "Nope"
    nameq.Text = James.Name
    Texte.Text = "Your choice, Your die, You can follow me, or not"
    Target = ""; --Resets the value of who previously touched the TouchPart
end
-----------------------------------------------------------------------------
script.Parent.Touched:Connect(ontouch)
script.Parent.TouchEnded:Connect(ontouchexit)

编辑:如果不起作用,试着更换

function ontouch(hit)
    if (hit.Parent:FindFirstChild("Humanoid")) then

用这个

function ontouch(hit)
    if (hit.Parent:FindFirstChild("Humanoid") and hit.Parent.Name == players.Name) then

只要触摸它的人是真正的玩家,而不是有人形机器人的人(NPC),就会进行检查

 类似资料:
  • 我已经搜索了其他相关的问题,但找不到我的答案。 这是我的JSON:named

  • 这可能是非常基本的东西,但我很难弄清楚我哪里出错了。 我试图从帖子正文中获取一个字符串,但“jsonString”只显示为null。我还想避免使用模型,但这可能是不可能的。我与PostMan接触到的一段代码是: 也许这是我在postman上做得不正确的地方,但我一直在尝试在body-x-www-form-urlencoded部分的值部分使用“=test”(如在有关此主题的其他问题中看到的),键为j

  • 红线位于“打开导航抽屉”和“关闭导航抽屉”下 这张图片显示了这个问题

  • 我正在使用HttpPost向服务器发送一个字符串。这个字符串是一个JSONObject,我之前已经将其转换为字符串,到目前为止,一切都正常工作。。。发送内容类型必须为“application/json”。 要发送它,将我的String转换为StringEntity并添加到httpPost.setEntity(my_string)...问题是服务器告诉我不识别数据(准备接收转换为String的JSO

  • 我编写了一个方法,该方法应该在utf-8中以字符串类型返回有效的正文,但在发出请求后,我在UTF-16中得到响应。postman中的内容类型头是application/json。我在stackoverflow中搜索任何可能的解决方法,但任何解决方案都无济于事,包括这个主题(.我如何更改它以获得有效的主体?Thanx!

  • 问题内容: 显然,它不是根据长度来比较它们,而是通过编码来比较它们。但是,我不知道它是如何工作的。我需要一些解释:-) 问题答案: 字符串按字典顺序进行比较。即逐个字符,直到它们不相等或没有要比较的字符为止。“11”的首字符小于“ 3”的首字符。 如果我们使用字母,则因为不小于,不小于,但是由于小于,小于。 您可以将字符串显式转换为数字: