Lua - Reddit – Telegram
Lua - Reddit
35 subscribers
284 photos
33 videos
4.34K links
News and discussion for the Lua programming language.

Subreddit: https://www.reddit.com/r/lua

Powered by : @r_channels & @reddit2telegram
Download Telegram
typing lua is way slower than my normal typing speed for some reason

been noscripting in lua for a while now (mainly roblox studio stuff) and just noticed my typing speed tanks whenever i'm actually coding vs just typing normal text

like i can do 75wpm easy on regular stuff but the moment i'm typing function(), end, pairs of brackets, table constructors with all the commas and colons... drops to like 45wpm. really annoying when you're trying to iterate fast or you're in the zone and your fingers are just lagging behind

found this site typequicker that has a lua practice mode where you can drill actual lua syntax. function declarations, table operations, all those symbols that mess up your flow. been running through it for like 15min before coding sessions

went from \~45wpm on lua code to like 70wpm in a few weeks which is kinda wild. now typing for k,v in pairs() or nested tables doesn't have that awkward stutter anymore

also shows which fingers are slow so you can focus on what's actually holding you back. my right pinky was terrible at brackets and parentheses lol

anyway if your typing feels like it's bottlenecking your lua workflow might be worth checking out. better than just grinding random words that don't help with actual syntax

https://redd.it/1r6x2g9
@r_lua
Any good tutorials for LÖVR 3d?

I'm a completely inexperienced programmer and I only recently learned to program in Lua. I was looking for a way to explore 3d and decided to learn LÖVR 3d. Is there a good source that introduces LÖVR for beginners?

https://redd.it/1r9u0w3
@r_lua
Experimental Lua2C

I have been working on a project to turn simple lua code into actual working, compilable C code, and its working! (With static compilation if you have a C compiler, i guess)

It currently supports:
Variables with strings, integers, and floats
Variable manipulation with addition, subtraction, multiplication, and division
Functions with experimental arguments
And Print()

~~if this gets 20 upvotes ill make it open source~~ WE GOT 20 UPVOTES

# Source code: https://github.com/LuaToC/LuaToC

UPDATE 1: Added tables and loops, currently working on os since i want clock,
Update 2: Wait how are theese updates going so fast? Anyway, added experimental os and math libraries, their code inspired by luajit!
Update 3: Minor update, added assert(), optimized print() a bit, and fixed some memory leaks
Update 4: Fixed assert() lol, nearly halfed noscript size by cleaning up code (1700 lines > 900 lines), fixed more memory leaks

https://redd.it/1r8cwod
@r_lua
Need help in lua

is there any chance anyone can possibly teach me lua or know a good lua class?

https://redd.it/1r8ks8u
@r_lua
noscript not working anymore

This noscript on the logitech app had been working fine for me for over a year now and suddenly stopped working. EnableRC = true

RequireToggle = true

ToggleKey = "CapsLock"

RecoilControlMode = "LOW"



local RecoilPresets = {

LOW = { Vertical = 5, Horizontal = 0 },

MEDIUM = { Vertical = 8, Horizontal = 0 },

HIGH = { Vertical = 10, Horizontal = 0 },

ULTRA = { Vertical = 18, Horizontal = 0 },

ASH = { Vertical = 13, Horizontal = -1 },

TWITCH = { Vertical = 21, Horizontal =0 },

DOC = { Vertical = 5, Horizontal = 0 },

ELLA = { Vertical = 8, Horizontal = 2 },

HIB = { Vertical = 9, Horizontal = -1 },

SMG = { Vertical = 13, Horizontal = 1 },

ACE = { Vertical = 10, Horizontal = 0 },

JAG = { Vertical = 6, Horizontal = 0 }

}



local Recoil = RecoilPresets[RecoilControlMode\] or RecoilPresets.MEDIUM

local VerticalStrength = Recoil.Vertical

local HorizontalStrength = Recoil.Horizontal



EnablePrimaryMouseButtonEvents(true)

function OnEvent(event, arg)

if EnableRC and (not RequireToggle or IsKeyLockOn(ToggleKey)) then

if IsMouseButtonPressed(3) thenAW

while IsMouseButtonPressed(3) do

if IsMouseButtonPressed(1) then

while IsMouseButtonPressed(1) do

MoveMouseRelative(HorizontalStrength, VerticalStrength)

Sleep(7)

end

end

Sleep(10)

end

end

end

end

I get an error message on the "end"'s anyone know why?



https://redd.it/1r8jg0r
@r_lua
How do i learn lua

I do not know any coding languages and i wanted to learn lua since a while.
I heard it is pretty simple.

https://redd.it/1r82lix
@r_lua
Iv'e been practicing lua for a week, how do i keep learning more complex Things?

Iv'e been learning lua for about a week now and iv'e gotten the hang of simple for, while loops aswell As simple functions and the Basic stuff Like print() and so on. Iv'e been following a YouTube Tutorial (codyn) for the whole time trying to understand His Code and when Things got tough iv'e used Chat gpt. Even though Sometimes iv'e feelt His explanaitions unsatisfactory i have still been very satisfied. In Part 8 you learn a "simple Tic Tac toe Game" Its about 80 lines of Code witch i have been only (Up to that Point) written Like 20 max. So now my question. How do i learn stuff Like that? Iv'e tried understanding the parts of it but Its so Long and complicated, It feels Like my head Just wont Take It in. What are my next steps to learn? Any Tutorials? I know of the book wich is free online, should i try IT with that?

https://redd.it/1r7yw63
@r_lua
luajit profiler that outputs a timeline with jit traces and a flamegraph view in static html
https://redd.it/1rgbqt6
@r_lua
xml2lua gives me multiple root nodes

I'm trying to parse an arbitrary numbers of XML documents for a Neovim plugin with xml2lua (I use a specially packed version but I can reproduce this issue with the package from luarocks too). The first time I try to parse the document, everything works as expected. The second time, I get a structure similar to this:

{
type = 'ROOT',
children = {
type = 'ROOT',
children = { ---[ ... ] }
}
}

I've written a minimal example here: https://hastebin.com/share/ezadavuhem.lua. It recursively counts the ROOT elements in a parsed DOM for 16 parses. When I run it, I see the numbers 1 through 16 on the console.

Why is this? I've already tried moving the require statements into the function where I parse the XML so that each require statement is run once per document I need to parse, yet I still see this issue.

https://redd.it/1rghmee
@r_lua
Why is there NO "continue" in Lua?

I was stunlocked to find out that there is no "continue" instruction for loops in Lua. Why is that? It seems so natural to have it.
I saw some noscripts where goto is used for mimicking continue statements, but It's honestly not the so;ution I would comfortably accept...

https://redd.it/1rfopx1
@r_lua
Should I learn noscripting with Lua or Python

I know the basics of Python, but it find it somewhat overwhelming to master the functions of each specific module and library. Since I want to learn noscripting to use mainly for automation on my PC and router, I'm considering switching to Lua since it is a small language and being one of the easiest to learn. In which areas of noscripting do Lua and Python excel? Should I learn Lua or stick to Python for automation noscripting?

https://redd.it/1rf6gcj
@r_lua
Any advices or Tips to build a good dev team?

Hey everyone,

we’re reaching out here because we’re honestly a bit stuck and could really use some advice from people who’ve been around the FiveM scene longer than we have.

We’re a small team working on a **German hardcore RP FiveM server**. This project means a lot to us — it’s something we’ve been building with a lot of time, motivation, and heart. Our focus is mainly on **civilian RP**, because we truly believe that strong civilian gameplay naturally leads to better crime and law enforcement RP as well.

The problem we’re struggling with is **finding the right developers**.

We’ve already had **two really bad experiences** with paid developers. In both cases, we trusted them, paid them, and ended up with empty promises, unfinished or broken work, and eventually no replies at all. Sadly, this cost us a **four-figure amount of money**, which hurts even more when you’re putting everything you have into a passion project.

Because of this, we’re now extremely cautious and are looking for developers who don’t just see this as a quick job, but who actually want to:

* had experience in Lua/QBCore
* play on the server themselves
* care about the project
* become a **long-term part of the team**

Right now, we’re focusing more on **voluntary collaboration**, ideally with people who enjoy FiveM RP and want to help build something meaningful over time. We already have a motivated game design team and experienced RP players working on systems, support structures, and player-driven concepts — but the technical side is where we’re struggling the most.

So our questions to you:

* Where do you usually find developers who are actually **passionate about RP**, not just freelancing?
* How do you protect yourselves from getting burned like this?
* Are there any red flags you’ve learned to watch out for when talking to devs?

We’re not looking for shortcuts or quick money-makers — just honest people who want to build something solid together.

Thanks a lot for taking the time to read this. Any advice or experiences you’re willing to share would mean a lot to us. ❤️

https://redd.it/1rf6ntt
@r_lua
Built a local RAG/context engine in Rust – SQLite, FTS5, local embeddings, Lua extensions, MCP server

I kept running into the same issue: AI coding tools are strong but have no memory of my large multi-repo project. They can’t search our internal docs, past incidents, or architecture decisions. Cloud RAG exists but it’s heavy, costs money, and your data leaves your machine. So I built Context Harness – a single Rust binary that gives tools like Cursor and Claude project-specific context.

It ingests docs, code, Jira, Slack, Confluence, whatever you point it at, into a local SQLite DB, indexes with FTS5 and optional vector embeddings, and exposes hybrid search via CLI and an MCP\-compatible HTTP server. So your AI agent can search your knowledge base during a conversation.

Quick start:

# Install (pre-built binaries for macOS/Linux/Windows)
cargo install --git https://github.com/parallax-labs/context-harness.git
ctx init
ctx sync all
ctx search "how does the auth service validate tokens"
# Or start MCP server for Cursor/Claude Desktop
ctx serve mcp

What’s different:

\- Truly local: SQLite + one binary. No Docker, no Postgres, no cloud. Local embeddings (fastembed + ONNX on most platforms, or pure-Rust tract on Linux musl / Intel Mac) so semantic and hybrid search work with zero API keys. Back up everything with cp ctx.sqlite ctx.sqlite.bak.

\- Hybrid search: FTS5 + cosine similarity, configurable blend. Keyword-only mode = zero deps; with local embeddings you get full hybrid search offline.

\- Lua extensibility: Custom connectors, tools, and agents in Lua without recompiling. Sandboxed VM with HTTP, JSON, crypto, filesystem APIs.

\- Extension registry: ctx registry init pulls a Git-backed registry with connectors (Jira, Confluence, Slack, Notion, RSS, etc.), MCP tools, and agent personas.

\- MCP: Cursor, Claude Desktop, Continue.dev (and any MCP client) can connect and search your knowledge base directly.

Embeddings: default is fully offline. Optional Ollama or OpenAI if you want. No built-in auth – aimed at local / trusted network use. MIT licensed.

Links:

\- GitHub: https://github.com/parallax-labs/context-harness

\- Docs: https://parallax-labs.github.io/context-harness/

\- Community registry: https://github.com/parallax-labs/ctx-registry

If you find it useful, a star on GitHub is always appreciated. Happy to answer questions.

https://redd.it/1rf34pr
@r_lua
Introducing silicord: a modern Luau-inspired Discord API wrapper

Introducing silicord. Silicord is a LuaRocks library which uses Luau-inspired syntax to make your own Discord bots with one simple install.

Why you should start coding with silicord:

1. Beginner-friendly syntax: It's perfect for beginners with simple syntax inspired from Luau like task.wait(), Instance.new(), etc.

2. Simple installation: All you need to do is ensure you have LuaRocks installed in your computer, and then run luarocks install silicord and start coding.

3. Modern support: silicord was made in early 2026, which means it natively supports modern Discord features like slash commands and DAWE voice support (coming soon in versions v1.2.x or higher)

4. Advanced Luau-inspired libraries: Yes, even the DataStoreService actually stores data in a custom JSON file that you can modify in your IDE.

5. Proudly Canadian: well, this isn't a feature to brag about, but i wanted to add this in here cuz why not

Getting started with silicord:

1. Ensure you have LuaRocks installed, if you do not, please use these commands to install:

Windows (you need to get Scoop to install LuaRocks in PowerShell)

# Do this if you don't have scoop
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

# Then do this
scoop install lua-for-windows

# Notice: you might need to get it from the extras bucket of scoop
scoop bucket add extras

# Also you should consider installing gcc as luarocks uses copas and websocket which may have c compiliers
scoop install gcc

# It's recommended to just install luarocks as lua-for-windows gives an old version of luarocks
scoop install lua luarocks


Mac (you just need to get it from Homebrew)

brew install luarocks


2. Once you have LuaRocks installed, then in your Terminal, type:

luarocks install silicord


3. Once you have installed silicord via LuaRocks, make a new file named bot.lua (or anything, just make sure it ends in .lua) and paste this code. This sample code is a functional economy bot that uses both prefix and slash commands to allow the user to work for money and then check the balance.

local silicord = require("silicord")
local client = silicord.Connect({
token = "YOUR_TOKEN_HERE", -- be sure to replace this with your actual token
prefix = "!", -- you can change this and it'll auto-update. if you don't add a prefix handler it will default to '!'
app_id = "YOUR_APP_ID_HERE" -- this is optional, but required if you want to integrate slash commands
})

local db = silicord.DataStore("Leveling") -- no :GetService() required as Roblox stores its GameServices in a separate file, however in silicord its a regular function

-- !work command; uses DataStore (JSON) to update balances
client:CreateCommand("work", function(message)
message:Reply("Working...")
silicord.task.wait(2) -- from Roblox Luau syntax

local newBalance = db:IncrementAsync(message.Author.Id, 10)
message:Reply("Done! You now have " .. newBalance .. " Silicoins.")
end)

-- A Slash Command that builds an Embed via the OOP Instance API
client:CreateSlashCommand("stats", { denoscription = "View your stats" }, function(interaction)
local embed = silicord.Instance.new("Embed")
embed.Title = interaction.Author.Username .. "'s Stats"
embed.Denoscription = "Balance: " .. (db:GetAsync(interaction.Author.Id) or 0)
embed.Color = silicord.Color3.fromHex("#5865F2") -- yay hex strings and Color3!

interaction:Reply(embed:Build()) -- im planning on removing the :Build() thing in v1.2.x because thats just annoying.
end)

silicord.Run()


Learn more at https://silicord.github.io/ or visit the open-source code at https://github.com/silicord/silicord.github.io

https://redd.it/1resu3r
@r_lua
Guys help

Guys, can someone tell me where I can learn luau to create Roblox games? (Only without options where I need to sit with online teacher).

https://redd.it/1rf7q4q
@r_lua