Attempt to index string with text

local InfoBeastName = InfoFrame.BeastName
InfoBeastName.Text = "TestString"

Couldnt find anything talking about this besides 1 post that didnt help. It just gives me an error saying “attempt to index string with text”

You are essentially trying to do
“Hello”.Text

Acording to error message
To validate? my theory please do:

print(typeof(InfoBeastName))

image
idk why the image is so low quality

Script analisis could lie so please run typeof with print

The code doesn’t quite add up. Is there more to the script perhaps?

sorry for the long response, this is everything you should need to know

local Other = require(game.ReplicatedStorage.Modules.OtherFunctions)

local BeastList = script.Parent.Select.Window.ScrollingFrame
local InfoFrame = script.Parent.Info.Window

local Index = script.Parent.Index


local InfoBeastShot = InfoFrame.ImageLabel
local InfoBeastName = InfoFrame.BeastName
local InfoColorPallete = InfoFrame.ColorPallete
local InfoDesc = InfoFrame.Description.Desc
local InfoBeast1 = InfoFrame["L1 Beastiary"].Text
local InfoBeast2 = InfoFrame["L2 Beastairy"].Text
local InfoBeast3 = InfoFrame["L3 Beastairy"].Text
local InfoCreator = InfoFrame.Creator.Text

local function LoadInfo(BeastTable, CharData)
	--InfoBeastShot.Image = CharData.Beastiary.Headshot
	print(CharData)
	InfoBeastName.Text = "TestString"
	InfoDesc.Text = CharData.Beastiary.Description
	
	if BeastTable.DataLevel == 2 then
		InfoBeast1.Text = CharData.Beastiary.L1
	elseif BeastTable.DataLevel == 3 then
		InfoBeast1.Text = CharData.Beastiary.L2
	elseif BeastTable.DataLevel == 4 then
		InfoBeast1.Text = CharData.Beastiary.L3
	end
	
	InfoCreator.Text = CharData.Beastiary.Creator
end


local function RegisterIndex(Beast)
	local RequestedBeastTable = Other.RequestBeastiaryInfo(game.Players.LocalPlayer, Beast)
	
	local Clone = Index:Clone()
	Clone.Visible = true
	Clone.Parent = BeastList
	
	if RequestedBeastTable.DataLevel == 0 then
		Clone.BeastName.Text = "ERROR"
		
		Clone.ClickDetect.MouseButton1Click:Connect(function()
			script.Parent.ErrorClick:Play()
		end)
	else
		Clone.BeastName.Text = Beast
		
		Clone.ClickDetect.MouseButton1Click:Connect(function()
			LoadInfo(RequestedBeastTable, require(game.ReplicatedStorage.CharData:FindFirstChild(Beast)))
		end)
	end
end


local function LoadBeastairy()
	
	for _, V in BeastList:GetChildren() do
		if V:IsA("Frame") then V:Destroy() end
	end
	
	InfoBeastShot = ""
	InfoBeastName = ""
	
	InfoDesc = ""
	InfoBeast1 = ""
	InfoBeast2 = ""
	InfoBeast3 = ""
	InfoCreator = ""
	
	
	for _, V in game.Players.LocalPlayer.SettingsFolder:GetChildren() do
		if string.find(V.Name, "BT:") then
			RegisterIndex(string.split(V.Name, ":")[2])
		end
	end
end

script.Parent.Parent:GetPropertyChangedSignal("Enabled"):Connect(function()
	if script.Parent.Parent.Enabled then
		LoadBeastairy()
	end
end)

Screenshot 2025-05-24 232449

can you please respond to questions?
i told you to run print with typeof
Bro we can’t solve your issue if you are not willing to contribute to solving it aswell
We have no access to your model like dawg :skull: :pray:

i didnt reply cus i dont know how thats supposed to help. Heres the output though

“Instance - Client - Controller:17”

1 Like

Ok we are getting somewhere now;
Try printing:

print(InfoBeastName.ClassName)

16:22:55.167 TextLabel - Client - Controller:18

1 Like

damn its crazy…
I suppose you may try using waitforchild?
Client replication is a little odd

i did try doing a task.wait because i thought about that, ill try wait for child though

i found a topic with someone having a similar issue back in 2020
I think it may help you

still errors with “Players.HazzyMattyThing.PlayerGui.Beastairy.Background.Controller:21: attempt to index string with ‘Text’”

Ill check the post you mentioned

Alright, the issue that guy had was that he was doing “X.Name.Text”, because roblox thinks hes referring to the name of “X” it errors. That shouldnt be an issue here because im doing “BeastName”. But just to verify i will change the name of the instance.

Still the same error coming up

i think issue is with this line of code instead:

	InfoDesc.Text = CharData.Beastiary.Description

try printing:
print(typeof(InfoDesc),typeof(CharData.Beastiary.Description))

image
just printed everything and its specifications

oh i see what you want now, sorry lemme get that

16:39:51.116 string string - Client - Controller:28