Gui button ability to copy a Character wearing morph into PlayerGui.ScreenGui.
Image
Attempt LocalScript
script.Parent.MouseButton1Click:Connect(function(player)
local player = game.Players.LocalPlayer -------
local character = player.Character
if not character or not character.Parent then
character = player.CharacterAdded:wait()
end
local element = character
if element:IsA(“Model”) then
element:Clone().Parent = player.PlayerGui.Armor.Bmorph.Suit
end
end)
OutPut
11:51:52.379 - Players.Joshua7ninjaX.PlayerGui.Armor.Bbutton.LocalScript:12: attempt to index a nil value
I Copy and paste, for player.Character script code from here
https://developer.roblox.com/en-us/api-reference/property/Player/Character
I clearly can’t found issue there?
If you don’t understand what im trying to do, please comment.
1 Like
wevetments
(wevetments)
January 11, 2020, 12:47pm
#2
Please read this post on how to put code in posts on the forum, as your code is hard to read without proper formatting. Inserting Code Snippets - Guide for New Members
As for the code, when getting a player’s character, try using this:
local Character = Player.Character or Player.CharacterAdded:Wait()
Diegnified
(Diegnified)
January 11, 2020, 12:50pm
#3
It appears that it is the part player.PlayerGui.Armor.Bmorph.Suit
which is erroring. Are you sure the armor’s there? Are you using a local script? Does the armor get deleted by other scripts?
The character is Unarchivable meaning that it can’t be cloned nor saved in the current place Instance.
To get around this, set element
’s Archivable property true before cloning it like so:
element.Archivable = true
You’re getting the error because you can’t clone it and therefore returns nil furthermore you’re doing nil.Parent
No it doesn’t get delete, if i want to add something or destroy thing like this for Example.
script.Parent.MouseButton1Click:Connect(function()
local plr = game.Players.LocalPlayer -------
plr.PlayerGui.Armor.Amorph.Helmet.Head1:Clone().Parent =
plr.PlayerGui.Armor.Pending
wait(1)
plr.PlayerGui.Armor.Amorph.Helmet.Head1:Destroy()
plr.PlayerGui.Armor.Pending.Head1.Parent = plr.PlayerGui.Armor.Bmorph.Suit
end)
It work for gui changing, im trying to copy Character as wearing morphs and send into PlayerGui.Armor.
Diegnified
(Diegnified)
January 11, 2020, 2:18pm
#7
Pretty sure this happens because the Archivable property of Characters is set to false. Try setting it to true before cloning.
varjoy
(variable)
January 11, 2020, 6:12pm
#8
Hey, you can’t get player from mousebutton1click, to start with
But how come this tho?
local character = game.Workspace.Player – Certain player
local player = game.Players:GetPlayerFromCharacter(character)
is number 2 for every Characters?
I kept getting red underline, with it.
Number 1 of course assumes you have the player, Number 2 is for if you have their character, but not the player.
I use GetPlayerFromCharacter a lot of the time for Touched events and raycasting.
script.Parent.MouseButton1Click:Connect(function()
local plr = game.Players.LocalPlayer
local character = game.Workspace.Joshua7ninjaX
local player = game.Players:GetPlayerFromCharacter(character)
character.Arm1:Clone().Parent = plr.PlayerGui.Armor.Bmorph.Suit
character.Arm2:Clone().Parent = plr.PlayerGui.Armor.Bmorph.Suit
character.Chest:Clone().Parent = plr.PlayerGui.Armor.Bmorph.Suit
character.Head1:Clone().Parent = plr.PlayerGui.Armor.Bmorph.Suit
character.Leg1:Clone().Parent = plr.PlayerGui.Armor.Bmorph.Suit
character.Leg2:Clone().Parent = plr.PlayerGui.Armor.Bmorph.Suit
character.Vehicle:Clone().Parent = plr.PlayerGui.Armor.Bmorph.Suit
print("Overwrite Scout morph")
end)
This work for Only Certain Player, But it not for every Characters
do you know which object?
It’s only getting your character, well if your character is even there.
Can’t you just do:
local character = plr.Character
or
local character = workspace[plr.Name]
1 Like
Sometimes, if warranted, at the top of my localscript I do, repeat wait() until game.Players.LocalPlayer.Character
. It’s not the best practice out there but, it’s worked for me in times of need.
Took me hours to get what i wanted
1 Like