what if its named other things they can also just find it lol
thing is there is just no diffrence you are just making it more suspicious to the exploiters.
also they can use the classname in nil instances
its hard to reference in script, but easy to find using dark dex that is true if thats your whole point
You can just easily disable every single one and thats it
WOW! I didn’t know disabling also disables lua states! Thanks for the info! It’s not like coroutine.wrap() was meant to prevent stuff like this!
I forgot the whole purpose of coroutine was run the thread in a separate task/state!
thats not how coroutine.wrap() works and just stop trying to make things more complicated for no reason.
Making the code more complicated could make the exploiters take more time to reverse engineer it.
The whole purpose of coroutine.wrap() is to start a whole new state just like task.spawn(thread)
When I was reverse engineering a certain anti cheat, I figured out they use a random name generator for their remote event which makes it hard to go against. So what you said is true.
Excuse me if I’m being a bit stoopid but I’ve never used a decompiler exploit.
I thought local variable (and upvalue, for that matter) names were removed before they are sent to the client. And that’s why you see things such as v1
v2
v3
in screenshots of decompilers.
Decompiled scripts usually name services like this I__SevriceName__Num
while leaving generic variables (like referencing a value) like this
local l__ReplicatedStorage__1 = game:GetService("ReplicatedStorage")
local v1 = l__ReplicatedStorage__1:FindFirstChild("NumValueCASH")
function v2(v3)
print(v3.Name)
end
v2(v1)
also for me it doesnt work
print("lol2")
coroutine.wrap(function()
while task.wait(0.1) do
print("lol")
end
end)
print("lol3")
does nothing for the print in the center
try that with an executor please not generic explorer disable
no i mean it just doesnt work at all not because its disabled
I know that, but you tried it in studio, try it with an actual exploit please.
Well, you forgot to call the wrap!
print("lol2")
coroutine.wrap(function()
while task.wait(0.1) do
print("lol")
end
end)()
print("lol3")
Edit: also confused what purpose this serves. I know you’re just testing what coroutin.wrap does but it does the same thing as:
print("lol2")
while task.wait(0.1) do
print("lol")
end
print("lol3")
Not really, the snippet you posted will yield meaning “lol3” will never print unlike the thread above.
also the thing you told me
which of course does not work.
- You didn’t call the thread.
- You didn’t try it in an actual exploit.
This is my final reply. Look in roblox docs.
Oh yeah good point.
Also another question: is task.wait just a wrapper for coroutine.yield or is there more nuance to this? Will calling task.wait in a coutine cause it to yield to the original source script but also make sure it runs again?