Skip to content

Unable to execute text from textEdit's text property with loadstring() #49

@Oolks

Description

@Oolks
local Executor = {
	extends = "Node",
}

function Executor:execute(code)
	if code == nil or code == "" then
		return false
	end
	-- Code to execute
	local temp_code = loadstring(code)
	
	-- Execute the code and capture the results
	local success, result = pcall(temp_code)
	
	-- Check if there was an error and print it if necessary
	if not success then
		print("Error executing code:", result)
		return false
	end
	
	-- Print the output of the code if there is any
	if result ~= nil then
		print("Output:", result)
	end
	
	return true
end

function Executor:_process()
    local value = self:get_parent():get_parent().play
	if value == true then
		local code_to_run = self:get_parent():get_parent():get_node("CoreUI/ScriptEditor/TextEdit").text
		print(type(code_to_run))
		
		self:execute(code_to_run)
	end
end

return Executor```
it keeps on giving me error of:

E 0:00:13.272 loadstring: bad argument #1 to 'loadstring' (function expected, got cdata)
stack traceback:
[string "res://Scripts/Core/Scripting/Executor.lua"]:10: in function 'execute'
[string "res://Scripts/Core/Scripting/Executor.lua"]:35: in function <[string "res://Scripts/Core/Scripting/Executor.lua"]:29>
in call _process @ "res://Scripts/Core/Scripting/Executor.lua"

Executor.lua:10 @ loadstring()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions