Ok so I want to make a script where a player picks up a stick it makes a imagelabel and value into the player inventory, however, it works perfectly except the part I want to make a line of code where I can make a new Instance localscript into the textlabel of the image to put a while loop to keep updating the value of the Sticks. Is this possible? Help will be very much appreciated
local cd = script.Parent.ClickDetector
local id = 'rbxassetid://04632925787'
local image = 'http://www.roblox.com/asset/?id=1091279830'
local db = false
cd.MouseClick:connect(function(op)
if db == false then
local player = game:GetService('Players'):FindFirstChild(op.Name)
if player ~= nil then
db = true
print(player)
local gui = player:WaitForChild('PlayerGui')
local animation = Instance.new('Animation',script.Parent)
animation.AnimationId = id
local hum = player.Character:WaitForChild('Humanoid')
hum:LoadAnimation(animation):Play()
hum.WalkSpeed = 0
hum.JumpPower = 0
local inv = gui:FindFirstChild('Inventory'):WaitForChild('MainFrame')
if inv:FindFirstChild('Sticks') == nil then
local img = Instance.new('ImageLabel',inv)
img.Size = UDim2.new(0, 100,0, 100)
img.Image = image
img.Name = 'Sticks'
img.BackgroundTransparency = 1
local val = Instance.new('IntValue',img)
val.Name = 'Amount'
val.Value = val.Value + 1
local info = Instance.new('TextLabel',img)
info.Txt.Disabled = false
info.Name = 'Title'
info.Text = 'Sticks: '.. val.Value
info.TextScaled = true
info.TextColor3 = Color3.fromRGB(255,255,255)
info.Size = UDim2.new(0,100,0,25)
info.Position = UDim2.new(0,0,1,0)
info.BackgroundTransparency = 1
info.Font = Enum.Font.SourceSansSemibold
local code = Instance.new('LocalScript',info)
--code.I dont know what to put here = ''
else
local amnt = inv:WaitForChild('Amount')
amnt.Value = amnt.Value + 1
end
wait(1)
hum.WalkSpeed = 16
hum.JumpPower = 50
db = false
script.Parent:Destroy()
end
end
end)
I found a solution and surprisingly it was actually easy! For those who want to know, you could just use loadstring()()
Example:
--ServerScript in workspace
local sc = Instance.new('Script',workspace)
local code = Instance.new('StringValue',sc)
code.Value = [[
while true do wait()
print('Hi world')
end
]]
loadstring(code.Value)() --Add a double paranthesis, Idk why but it needs it
Output: Hi world[How many times it said it]

3 comments
It's impossible (From what I know) to create a script AND put a code inside of it.
You can always make the Text Label and clone it by also enabling the local script
Its actually possible, I just edited it