Especially on StarterPlayer/StarterPlayerScripts, some scripts don’t seem to work anymore after i updated roblox and studio, they weren’t like this before the update, on studio everything works perfectly fine but on public it doesn’t. You do get these errors now from the StarterPlayerScripts, it shows it on the ‘client’ console:
Id like to know if everyone is also having local script errors and that this is an actual bug
Could you provide the code? This could be the code causing the issue, I haven’t had an issue with StarterPlayerScripts, I use it just fine for so many things.
This could be related to the new Lua VM being turned on in production. You said it wasn’t occurring in studio, so can you go into studio → File → Beta Features and switch the Lua VM on. If the issue starts occurring in studio, that’d confirm it.
Other than that, could you provide the source of the StarterPlayerScript file?
byc, He could be not part of the Beta program, you have to opt in to be in it. If he’s not in it, then it’s most likely his code, he hasn’t provided it so I think we are all confused what this could be linking to.
Reply to this topic with specifics. Include screenshots of the error, what is causing the error (the source), and the expected behaviour. It’d be handy if you could include a repro place file.
I can’t give you specifics of why it’s occurring, but if you follow the above it should eventually be solved, or the behaviour will be explained if it’s intended.
Could you please provide the code, we’ve asked about 3 times each, your answers are very short and simple, providing detailed ones will be helpful, and we can actually help you fix this error.
I cleaned up your code, I will be working on a fix by the time;
local player = {}
local input = {}
local animation = {}
local players = game ("GetService", "Players")
local runservice = game ("GetService", "RunService")
local userinput = game ("GetService", "UserInputService")
do -- player
local players = game ("GetService", "Players")
local PLAYER = players.LocalPlayer
player = setmetatable({}, {__index = function(k)
return rawget(player, k) or PLAYER:FindFirstChild(tostring(k))
end})
local function onCharacter(character)
wait()
player.character = character
player.mouse = PLAYER:GetMouse()
player.backpack = PLAYER:WaitForChild "Backpack"
player.humanoid = player.character:WaitForChild "Humanoid"
player.torso = player.character:WaitForChild "Torso"
player.alive = true
repeat wait() until player.humanoid.Parent == player.character and player.character:IsDescendantOf(game)
animation.crouch = player.humanoid:LoadAnimation(script:WaitForChild"crouch")
input.stance = "stand"
local onDied onDied = player.humanoid.Died:connect(function()
player.alive = false
onDied:disconnect()
if animation.crouch then
animation.crouch:Stop(.2)
end
end)
end
if PLAYER.Character then
onCharacter(PLAYER.Character)
end
PLAYER.CharacterAdded:connect(onCharacter)
end
do -- input
input.stance = "stand"
local sprinting = false
local default_right = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
local default_left = CFrame.new(-1, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
runservice.RenderStepped:connect(function()
if animation.crouch then
if animation.crouch.IsPlaying then
animation.crouch:AdjustSpeed(Vector3.new(player.torso.Velocity.x, 0, player.torso.Velocity.z).magnitude/10)
end
end
end)
userinput.TextBoxFocused:connect(function()
if sprinting then
sprinting = false
player.humanoid.WalkSpeed = 16
end
end)
userinput.InputBegan:connect(function(object, g)
if not g then
if object.UserInputType == Enum.UserInputType.Keyboard then
local key = object.KeyCode
if key == Enum.KeyCode.LeftControl then
if input.stance == "crouch" then
player.humanoid.HipHeight = 0
player.humanoid.WalkSpeed = 16
player.humanoid.JumpPower = 50
animation.crouch:Stop(.2)
input.stance = "stand"
else
input.stance = "crouch"
player.humanoid.HipHeight = -1.7
player.humanoid.WalkSpeed = 16 * 0.5
player.humanoid.JumpPower = 30
animation.crouch:Play(.2)
end
elseif key == Enum.KeyCode.LeftShift then
if not sprinting then
sprinting = true
player.humanoid.WalkSpeed = 16 * (input.stance == "crouch" and 0.8 or 1.5)
end
end
end
end
end)
userinput.InputEnded:connect(function(object, g)
if not g then
if object.UserInputType == Enum.UserInputType.Keyboard then
local key = object.KeyCode
if key == Enum.KeyCode.LeftShift then
if sprinting then
sprinting = false
player.humanoid.WalkSpeed = 16 * (input.stance == "crouch" and 0.5 or 1)
end
end
end
end
end)
end
attempt to call a userdata value just means that you’re trying to call something that isn’t a function, so check through your code for example:
local thing=0
thing() --this would error because thing is not a function
This line of your code is malformed. It thinks you’re trying to call “game” which is not a function:
local runservice = game ("GetService", "RunService")
and should be:
local runservice=game:GetService("RunService") --calls GetService instead
I don’t see how it would have anything to do with the new VM.(see @byc14’s reply) In the future, please be ready and willing to provide code or else we can’t help you.