Available for commissions

Roblox systems, scripted to
ship.

I'm smog39, a Roblox developer who scripts the parts that actually run your game: combat, economies, saves, and anti exploit. I build it clean, keep it readable, and make sure it holds up once a lot of players show up.

2-3 yrs writing Luau server-side specialist commission-based
01 — SELECTED WORK

Recent work

Zone System

zones

Walk into a region and the game reads it instantly. A title card fades in (Forest, and so on), a short description slides up under it, and the whole area's lighting tweens to match. Server driven and reusable on any map.

Region detection TweenService Dynamic lighting

Punch Combat

combat

A melee punch that actually feels physical. Landing a hit ragdolls the target, launches them up and forward, and deals damage on connect. Fully server-authoritative, so it stays fair and exploit safe.

Ragdoll Knockback physics Damage

Cooking Game

gameplay

A full burger restaurant sim. Customers walk up and place orders, you buy ingredients from the shop, grill patties on the stove, assemble the burger layer by layer, and serve it to earn cash. Economy, NPC queuing, and cooking all server-driven.

NPC customers Cooking system Shop & economy Order queue
02 — CAPABILITIES

What I bring to your game

→ combat & gameplay

Server-authoritative hit registration, hitboxes, cooldowns, status effects, and replication that holds under load.

→ data & economies

Player data handled with ProfileStore, the safest way to save on Roblox. Currencies, shops, inventories, and rebirth scaling that never lose progress.

→ anti-exploit

Remote validation, sanity checks, and rate-limiting to keep exploiters out of your economy and combat.

→ optimization

Profiling, memory + network budgets, and refactors that take a laggy game back to a smooth 60.

→ architecture

Clean, modular Luau built with solid OOP patterns your team can actually read, extend, and maintain.

→ UI & feel

Responsive interfaces, tween-driven juice, and input handling that makes systems feel great to use.

03 — CODE SAMPLES

How I write Luau

A couple of the modules behind my systems. Tap to expand the full source.

DataHandler.luau
--!strict
local Players = game:GetService("Players")
local DataHandler = {}
local ProfileStore = require(script.ProfileStore)
local Profiles = {}
local Template = {
    Coins = 0
}
local Store = ProfileStore.New("DataStore_1", Template)
-- Set up leaderstats and load the player data
function DataHandler.Setup(Player: Player)
    if not Player then warn("Player missing") return end
    -- Start the session, bail if it fails or the player left
    local Profile = Store:StartSessionAsync("Player_" .. Player.UserId)
    if not Profile then Player:Kick("Unable to load data") return end
    if Player.Parent ~= Players then Profile:EndSession() return end
    -- Cache the profile and pull the data
    Profile:Reconcile()
    Profiles[Player] = Profile
    local Data = Profile.Data
    -- Build the leaderstats
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = Player
    local Coins = Instance.new("IntValue")
    Coins.Parent = leaderstats
    Coins.Value = Data.Coins
    Coins.Name = "Coins"
end
-- Increment a saved number value
function DataHandler:AddValue(Player: Player, ValueName: string, Amount: number)
    local Profile = Profiles[Player]
    if not Profile then warn("Profile does not exist") return end
    local Data = Profile.Data
    if not Data[ValueName] then warn("Value not found") return end
    Data[ValueName] += Amount or 0
    local leaderstats = Player:FindFirstChild("leaderstats")
    if not leaderstats then return end
    local Value: IntValue = leaderstats:FindFirstChild(ValueName) :: IntValue
    if not Value then return end
    Value.Value = Data[ValueName]
end
-- End the session when the player leaves
function DataHandler.Cleanup(Player: Player)
    local Profile = Profiles[Player]
    if not Profile then warn("Profile does not exist") return end
    Profile:EndSession()
end
return DataHandler
Cooldown.luau
local Cooldown = {}
Cooldown.__index = Cooldown
function Cooldown.new(seconds)
    return setmetatable({
        _t = seconds, _last = {}
    }, Cooldown)
end
-- True only once the timer has elapsed for this id
function Cooldown:Ready(id)
    local now = os.clock()
    if now - (self._last[id] or 0) < self._t then
        return false
    end
    self._last[id] = now
    return true
end
04 — ABOUT

smog39

smog39 avatar

I've spent the last couple of years scripting Roblox games, mostly the behind the scenes systems that keep everything running when a game suddenly gets popular.

I mostly work with small studios and solo devs on commission. Whether it's a full backend, one broken system, or a laggy game that needs cleaning up, I write clean, documented code your team can build on. I take work per task, and for bigger projects where I'm scripting directly inside your game I may ask for a 50/50 split. Either way, you'll know the scope and timeline before we start.

Experience
2–3 years Luau
Turnaround
1–3 weeks / system
Rate
per task / 50-50
05 — LET'S BUILD

Have a system that needs scripting?

Send me a quick message: what game, what you need built, and a rough timeline. I'll come back with scope and a price.

smog39 @smog39_ s_mog39