A Bunch of Problems

A’ight so I recently started work on a new game, and it’s going fine.
Until I actually started doing things.

  1. My Broken Custom Rig (SOLVED)

    So, I used the RigEdit Lite Plugin to make this little guy, and when he walks in-game his feet wobble. (PS, by wobble, I mean his feet kinda just dangle) This is probably because I ripped the Animate script out of my avatar and the animations aren’t made to work with… this, so is there a (kinda) simple way to make an animation script that isn’t the default one? I already made a (extremely basic and mundane) walking animation, but I have no idea how to make an animation script.
  2. Text not appearing?
    So, in the game, the (broken) character needs to go around and pick up boxes (how fun!). I easily made it so that it goes onto the character’s head, but I tried adding some things so that it’ll display a message when the player is already holding a box. The thing is, when you press a box (not the one on your head) the message doesn’t appear. But when you DO press the box on your head, it does display the message. Huh.
local player = game:GetService("StarterPlayer")
local Players = game:GetService("Players")

local box = script.Parent
local Busy = false

--Should I put this all in a module script? Would it even work? I should prob do that soon before all the scripts malfunction and it's a pain to fix.

local function BoxClicked(player)
	local head = player.Character.Head
	local BoxPickedUp = player.BoxPickedUp
	if Busy == false then
		if BoxPickedUp.Value == false or nil then
			Busy = true
			BoxPickedUp.Value = true
			script.Parent.SelectionBox.Visible = false
			game.Workspace.SFX.Pop:Play()
			box.Position = head.Position
			local weld = Instance.new("WeldConstraint")
			weld.Part0 = box
			weld.Part1 = head
			weld.Parent = box
			box.CanCollide = false
			box.Anchored = false
			return Busy
		end
	elseif Busy == true or BoxPickedUp == true then
		game.ReplicatedStorage.BoxFull:FireClient(player)
	end
end

---------------------------------------------------------------

local function HoverOn()
	if Busy == false then
		script.Parent.SelectionBox.Visible = true
	end
end

local function HoverOff()
	if Busy == false then
		script.Parent.SelectionBox.Visible = false
	end
end

script.Parent.ClickDetector.MouseClick:Connect(BoxClicked)
script.Parent.ClickDetector.MouseHoverEnter:Connect(HoverOn)
script.Parent.ClickDetector.MouseHoverLeave:Connect(HoverOff)
  1. Scaling is annoying (For me, at least)
    So, if you look at the screenshot with the broken rig, you’ll see that the scaling on the UI is off. That’s because, while I do understand how scaling works and all, it just doesn’t look right. The Y-axis works fine (I think), but the X-Axis kinda just dies. How do people make it so that a square is a square no matter what the device?? Here’s the scaling and position options for the red text label (which is parented to the white button in the center)
    Position- X- Scale = -0.27
    Position- Y- Scale = 0.5
    Size- X- Scale = 1 (Offset is 84)
    Size Y- Scale = -0.24 (Offset is 100)
  2. No idea how to manipulate the camera
    So I have the camera set to Scriptable and I use the following script:
local position = Vector3.new(0, 10, 0)
local lookAt = Vector3.new(10, 0, 0)
local cameraCFrame = CFrame.new(pos, lookAt)
workspace.CurrentCamera.CFrame = cameraCFrame

Before you ask, yes I ripped this from the DevHub. I understand how it works, but it just isn’t working. And I want to animate the camera and have no idea how “tweening” works (for the UI and the camera)


Anyways, thanks in advance for your help. :smiley:
(Also, sorry if I don’t reply right away)

1 Like

Whoa, those are way too many problems I believe you should start researching on your own. Most of these should be self solvable if you do enough extensive debugging via print statements or using the lua debugger.

For this issue, I believe the solution can be quite simple since you are using the ripped animation script. The solution should be to just replace the animation ID’s. This article should tell you how.

1 Like