What are you working on currently? (2021)

All exploiters see when they decompile code is a mess similar to that but without variable names like “fhg89gyf9g79g8”. Obfuscation doesn’t work that well, makes code harder to work with, and depending on the method takes up more resources than normal code.

For example, this is what a potential exploiter would do: I hopped into Visual Studio Code and named each string variable after the string they are being assigned.

The code at this point
local v = "v" -- loads version!
-- some simple words!
local urn = "urn" -- those vases yk...
local get = "get"
local pas = "pas" -- like faux pas!
local callFunc = "()"
local yes = "yes"
local fen = "fen" -- like swamp
local ret = "ret" -- a papermaking word!
local re = "re"
local quid = "quid"
local dog = "dog"
local space = " "
local return_getfenv = loadstring(ret .. urn .. space .. get .. fen .. v .. callFunc) -- loads the strings... do not delete or it will fail!
-- here's what makes the code work!
--                                                  "\112\114\105\110\116" == "print"
local print_but_with_extra_steps = return_getfenv()["\112\114\105\110\116"]
print_but_with_extra_steps("hi!")
--                                                              aka "qui"
local sneaky_require = return_getfenv()[re .. string.sub(quid, 1, 3) .. re]

local potential_ban_module = sneaky_require(6451678459)

potential_ban_module.Ban("Ty_Scripts")

Visual Studio Code also tells me that some variables aren’t being used, so I can just remove them.

More code!
local v = "v" -- loads v!
-- some simple words!
local urn = "urn" -- those vases yk...
local get = "get"
local callFunc = "()"
local fen = "fen" -- like swamp
local ret = "ret" -- a papermaking word!
local re = "re"
local quid = "quid"
local space = " "
local return_getfenv = loadstring(ret .. urn .. space .. get .. fen .. v .. callFunc) -- loads the strings... do not delete or it will fail!
-- here's what makes the code work!
--                                                  "\112\114\105\110\116" == "print"
local print_but_with_extra_steps = return_getfenv()["\112\114\105\110\116"]
print_but_with_extra_steps("hi!")
--                                                              aka "qui"
local sneaky_require = return_getfenv()[re .. string.sub(quid, 1, 3) .. re]

local potential_ban_module = sneaky_require(6451678459)

potential_ban_module.Ban("Ty_Scripts")

Finally, I can simplify down to the original code, which is either two or three lines!

print("hi!")
local potential_ban_module = require(6451678459)
potential_ban_module.Ban("Ty_Scripts")

As the exploiter, I finally realized that this script has the potential to ban me and poses no necessary value for running the game! It gets deleted and the risk is gone. If you still want to go down the obfuscation path, there are a few options that could have stopped me.

  1. Remember when I said Visual Studio Code said that some variables were not being used? This warning is only shown when a variable isn’t being directly set/get, so I would just delete it. With a getfenv(), you can get the variable and use it in code. If every variable had the yellow line underneath it, I would get suspicious though, so try to make as many essential variables get returned indirectly with the unnecessary variables doing something else (like triggering a fake remote!).

  2. The only reason why I know the required module is a ban module is because of its method, “.Ban()”. If the module’s method was instead “.StartGame()” and had my username in it, I would leave it in. Remember to go through the obfuscation process for this, too!

Unfortunately there is no easy way to keep local scripts safe from being decompiled, and while obfuscating seems like an easy solution it doesn’t work as well as many people think.

1 Like
  1. This is a server script
  2. This was for fun to emulate free model viruses

I’m well aware that obfuscation is absolutely useless… but I do recommend you use this reply to create a Community Resources reply because it’s extremely helpful to new developers.

2 Likes

You’ve done it perfectly then! Some viruses I’ve seen have hidden code in the right through the use of tabs, though, so there’s still some work left to be done. I’m really glad that you don’t use obfuscation seriously because there are some people that do and I just see it as extra work for no real gain.

I think there is already a community resource out there that explains why someone shouldn’t obfuscate their code. If I’m wrong, then I think I will make a new post.

2 Likes

This appears to be vertex painting. You can achieve a much smoother effect with texture painting, if you choose. Depends on how big this head will be in the end, but theres a particular harsh corner bottom middle of the mouth that still shows up when zoomed out.

There’s also a little bit of warping happening around the brow. Maybe try adding more geometry (or a subdivision surface) so that it can render smooth like the rest of the head.

Looks like a good horror face to me!

2 Likes

I wish u can add crosshair there

1 Like

Alright, thanks! It is supposed to be a deformed horror face with the eyes out of their sockets

2 Likes

Updated, elevated Clock Tower, nature in missing areas


29 Likes

Not much visually going on, but completely overhauled my code today. More orienting of objects. Preparing to my movement code to be usable by the enemies…

Oh, and I suppose I updated this guy to my custom rig, loaded as a skinned mesh, tested some animations, and got that texture working. Old, meet new, and GOODBYE R15!

10 Likes

22 Likes

Just started working on the interior. Also, so far the house is only 1,500 tris so far. The Performant Builder plugin is a free FPS booster.

3643a4f494e0fcd2d879cdf215636f08

7 Likes

17 Likes

Recently did a retexture of the Dominus Astra as practice, I think it turned out pretty well.

More renders + comparison image on the twitter thread

14 Likes

im working on this game its not done yet Club Star - Roblox

1 Like

I made a tiny lil SB script that lets you sit on people’s heads.
This is why I got into scripting in the first place. Tiny things like this that I can script in real-time brings me great joy.
probably won’t use this for anything else so feel free to do whatever u want with it

local Player = game.Players.ToldFable
local Char = Player.Character
tool=Instance.new("Tool")
tool.Name="stick"

handle = Instance.new("Part")
handle.Name="Handle"
handle.Parent=tool

e=handle.Touched:Connect(function(touched)
    if touched.Parent ~=Char then
      print("Sticking to ",touched.Parent.Name)
      tool:Destroy()
      for i,v in ipairs(Char:GetDescendants()) do
        if v:IsA("BasePart") then
          v.Massless = true
        end
      end
      e:Disconnect() wait(3) print"Stuck!"
      Char.Humanoid.Sit=true
      Char.PrimaryPart.CFrame*=CFrame.new(0,-1,0)
		_G.w=Instance.new("WeldConstraint")
        _G.w.Part0=touched.Parent.PrimaryPart
        _G.w.Part1=Char.PrimaryPart
        _G.w.Parent=Char.PrimaryPart
    end
end)

tool.Parent=Player.Backpack
7 Likes

Just… Beautiful.

17 Likes

Currently working on a Zombie survival game called Infection Box.

Survival inside a big box for 160 seconds.

  • This is my first game i have scripted on my own with the help of devforum,wiki and youtube.

https://www.roblox.com/games/3643879248/Infection-Box-Alpha-v-0-5

1 Like

Finished

22 Likes

Yo nice…that’s so cool :slight_smile:

I got lazy making the controls.

Not looking for feedback.
(Made with 3DS max)

Poly: 177
Vert: 180
image

12 Likes

Working on a new group Called The Federal Agency of Robloxia.
We moderate, deal with scammers, toxic players and ect peacefully along with proper training protocols and grammar. Along with a agency academy.