A’ight so I recently started work on a new game, and it’s going fine.
Until I actually started doing things.
- 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. - 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)
- 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) - 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.
(Also, sorry if I don’t reply right away)