What is the __type metamethod?

It is probably only effective on a specific type of userdata

No it was added in luau its not in vanilla lua

Oops yes indeed, what I meant it was enabled in Vanilla Luau, not Luau Handicapped

no its the same for all its just that only host-created user datas can use it

…So, not on luau handicapped??

what ru reffering to by handicapped??

Vanilla Luau is the Lua fork created by Roblox that you can download yourself here. The __type metamethod can be used normally in this language.

Roblox Luau (or as you refer to it, “handicapped Luau”) is derived from Vanilla Luau. It’s the language used in the Roblox engine. It is indeed different from Vanilla Luau, one example of its difference being that the __type metamethod can only be used in core scripts.

Now, please, this topic is already solved, stop arguing over nothing.

1 Like

No its not stop lying the type metamethod cant be used in corescripts, i literally sent proof

The metamethod only retains its functionality in core scripts.

You also proved that it can be and is used in core scripts, not that it can’t.

I can’t even tell if you’re trolling or not.

1 Like

thats not running in a corescript lol, i manually patched studio to get this

So I’m guessing you… gave yourself the security context of a core script to access the __type metamethod.

Thank you for further reinforcing my point.

I’m quite sure you’re trolling by now, and I’m going to start flagging your posts if you continue.

1 Like

No i didn’t give myself the security context, you assumed wrong I literally patched how the game adds metatables to instances stop getting mad at me for mo reason

So, the game adds metatables to instances, correct?

And the __type metamethod is in those metatables, right?

And core scripts basically are the game, right?

So, therefore, core scripts can access the __type metamethod and its functionality. Yes?

I mean, you’ve said yourself that Roblox uses the __type metamethod internally. So… that means core scripts use the __type metamethod, because core scripts are the internals.

In this specific quote, what did you mean by “host”?

I think we both know the answer.
Just stop.

1 Like

No corescripts arent the internals, im talking about the c++ code that roblox uses to implement it lmao thats what i changed, and by host I mean the userdata created via the lua c api

Yes, Roblox uses C++ to create userdatas, but the metatable is added by Lua (more specifically, Luau). C++ doesn’t support metatables.

Why are you even arguing? You were initially correct here

and I literally agreed with you. It’s just specific to Luau and isn’t accessible by normal means in RLuau, which is what I explained in my original post

1 Like

Don’t even try to argue with him; he got one of my replies deleted because he didn’t agree with me

1 Like

Bro lua has a c api that c++ can use to create metatables, u dont know anything

I know that… I also know that you cannot use __type in handicapped luau, unlike you

for proof, try running this and tell me the output:

local test = setmetatable({}, {
    __type = "Instance"
})

print(typeof(test)) --> "Instance"
2 Likes

C++ interacts with Lua(u) using its C API. It’s still Lua(u) adding the metatables.

Jesus Christ, maybe I should just stop replying.

1 Like

you def have no idea what you are talking about, ima just ignore u now cos this isnt going anywhere