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

Why wont this UserInputService function work?

Asked by
Zeluxis 100
6 years ago
Edited 6 years ago

EDIT: Included the entire LocalScript this time
EDIT 2: Fixed in Community Chat

For some stupid reason this UserInputService function wont work at all. It’s in a localscript, located in PlayerGui, however for some reason it wont work. The rest of the script works fine…

01        local Point=script.Parent.Adornee.Position
02 
03local Plr=game.Players.LocalPlayer
04 
05local Active=false
06 
07   
08 
09while true do
10 
11wait(0.1)
12 
13if Plr:DistanceFromCharacter(Point) < 10 then
14 
15script.Parent.Enabled=true
16 
17Active=true
18 
19else
20 
21if script.Parent.Parent:FindFirstChild("Quartermaster") then
22 
23script.Parent.Parent.Quartermaster:Destroy()
24 
25end
26 
27script.Parent.Enabled=false
28 
29Active=false
30 
31end
32 
33end
34 
35   
36 
37game:GetService("UserInputService").InputBegan:Connect(function(Input,GPE)
38 
39if not GPE then
40 
41if Input.KeyCode==Enum.KeyCode.E and Active==true then
42 
43local UI=game.ReplicatedStorage.Userinterfaces.Quartermaster:Clone()
44 
45UI.Parent=game.Players.LocalPlayer.PlayerGui
46 
47end
48 
49end
50 
51end)
0
You did put this in a local script, right? SteamG00B 1633 — 6y
0
Yeah. Zeluxis 100 — 6y

2 answers

Log in to vote
0
Answered by
SteamG00B 1633 Moderation Voter
6 years ago
Edited 6 years ago

You can’t change the parent of a part in the server directly from within a local script, but you can clone it and set its parent to wherever you want it to go. Also you didn’t define active, so it might be that too, but I won’t be able to tell you. All you would need to change is this:

01game:GetService("UserInputService").InputBegan:Connect(function(Input,GPE)
02    if not GPE then
03        if Input.KeyCode==Enum.KeyCode.E then
04            if Active==true then
05                local UI=game.ReplicatedStorage.UserInterfaces.Quartermaster:Clone() --that's it
06                UI.Parent=script.Parent.Parent
07            end
08        end
09    end
10end)
0
Thanks, this solved part of the problem however the function wont run whatsoever. When I press 'E' in test, the function wont even acknowledge it. Zeluxis 100 — 6y
Ad
Log in to vote
0
Answered by 6 years ago

You can’t change the parent of a part in the server directly from a LocalScript. You would need to fire remote events to contact the server and the server needs to change the part’s parent.

0
That's not an answer, this belongs in the comments. SteamG00B 1633 — 6y

Answer this question