Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Scripts functioning differently in ROBLOX Studio and ingame?

Asked by
x_Tso 48
6 years ago
Edited 6 years ago

I'm pretty new to scripting, and currently, I'm working on making a simple "chat" function with NPCs for a game I'm creating. The concept is players would press F when in range with an NPC, and the chat begins. Now, I already have that all completed. The issue is how the script functions. You see, in ROBLOX Studio, everything works just fine. However, when I actually join the game and try it out there, it doesn't work whatsoever. Completely breaks. Here's each script and what happens with it in both Studio and ingame:

First, players enter a zone. When in the zone, an ImageLabel will show up that tells them to press the F key. Here's the code for that:

function Part(hit)
    if script.Parent.Parent.Dummy.HumanoidRootPart.Key.Enabled == false then
        script.Parent.Parent.Talk.Disabled = false
        script.Parent.Parent.Dummy.HumanoidRootPart.Key.Enabled = true
        script.Parent.Parent.Dummy.HumanoidRootPart.Key.ImageLabel:TweenSize(UDim2.new(0, 37, 0, 37), 'Out', 'Bounce', 0.5)
        wait(0.5)
    else
        wait(0.5)
    end
end

script.Parent.Touched:connect(Part)

That is the "toggle on" script, which I use to tell the game that the player is in range, and this activates a script that waits for the player to press the proper key. There's a toggle off, for when the player leaves the range, which basically just disables the script waiting for an F key and shrinks the image down to be invisible. The key script is here:

game:GetService("UserInputService").InputBegan:connect(function(inputObject, gameProcessedEvent)
     if inputObject.KeyCode == Enum.KeyCode.F then
        local player = game.Players.LocalPlayer
        local Character = player.Character
        Character.Humanoid.WalkSpeed = 0
        Character.Humanoid.JumpPower = 0
        wait(0.5)
        script.Parent.Dummy.HumanoidRootPart.Key.ImageLabel:TweenSize(UDim2.new(0, 0, 0, 0), 'Out', 'Bounce', 0.5)
        game.StarterGui.Speech.TalkScripts.test000.Disabled = false
        game.StarterGui.Speech.BoxFrame.BackgroundTransparency = 1
        print("check")
    end
end)

All I currently put down was the game freezing the player, and then printing "check" in output, so I know everything works fine. In Studio, when I play test, everything works fine. The f key image shows up smoothly, and when I press F, it freezes me and prints in output. So, naturally, I assume it's all good. When I play ingame, however, there's a couple differences. For the script that enlarges the F key, it ends up working VERY slow, to a point where it just appears when the toggle on script activates, and then shrinks down to, like, 3x3 pixels, and then disappears on the toggle off script. Both of these scripts end up with a delay, way longer than the 0.5 seconds I put in the script. The script that activates upon pressing F doesn't even work anymore, and does absolutely nothing. No freeze, no print in output. I have absolutely NO idea why this is happening, but it's becoming a huge obstacle in finishing up just a simple NPC-chat feature. Sorry if I'm not supposed to put this here, but ROBLOX removed the forums, and this is the only site I could think of for help. Does anyone have any idea why this is happening?

EDIT: This game has Filtering Enabled. I toggled it off and on, and it had no affect on the key press script not working.

EDIT 2: The image label being slow on the tween command is fixed.

EDIT 3: The reason the key press script is not working has been narrowed down to be in the script itself. It's most likely within the function itself, as any print command placed after the function to figure out where it's breaking seems to not be printing at all, meaning the function itself is the issue.

0
Is this game filtering enabled? T1mes 230 — 6y
0
You need to multiply the values by 184923, its a bug that is being fixed shinferno -53 — 5y

1 answer

Log in to vote
0
Answered by 6 years ago

I don't believe you can change a Player's Humanoid WalkSpeed or JumpPower from the client side (which is the side your UserInputService Event is on). You would need to Fire a RemoteEvent to the Server Side to change those attributes. In the Studio Testing mode it will work because it ignores Filtering Enabled; however, in a regular server Filtering Enabled is respected (if it's on), and there will not allow you to edit Server Side properties from the client side.

0
Updates, updates, updates. I checked the responses, and I have answers. As for one, this game is not FilteringEnabled. I tried turning that off, and on, and it had no effect on the key press script. It still did nothing ingame, only working in studio. As for the slow movement on the image label (Through the tween command) that seems to have stopped. Assuming it was just something with my computer. x_Tso 48 — 6y
0
I tried editing the script to where it will only print "check" in the output when the player presses F in range, and not even that seems to work. The print("check") is the only thing done when the player presses F in range, and it doesn't seem to be happening. Works fine in Studio, however. x_Tso 48 — 6y
Ad

Answer this question