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
LUA dynamic concatenation

Hello guys. I need to build a message in LUA that has fixed value of 240 characters. This message is composed by a variable lenght message that I have allready processed, but the rest has to be filled with the * character. So for example if my initial message is 100 characters, I need to fill the rest until 240 with the * character. If my message will be 200 characters, I need to fill 40 * until reaching 240.

How can this be achieved?

Thanks

https://redd.it/1qr2vgk
@r_lua
can anybody help me fix this piece of code

this code is suppose to look if the new ore thats currently generating and any existing ore are overlaping .but when i run it some times idoesnt work i need help

ores = {x = {}, y = {},durability = {} ,rotation = {},alive = {} , image = love.graphics.newImage("rock.png"),image2 = love.graphics.newImage("tree.png") ,class = {}}


local pos = {x = 0 , y = 0, blocked = false}


function ores:generate(repeats,mapsizex,mapsizey,mapX,mapY,class) --tree height is 32 and rock height is 16
    for i = 1 , repeats do
        pos.blocked = false
        pos.x = mapX + love.math.random(0,40) 30
        pos.y = mapY + love.math.random(0,20)
30


        for k = 1, #ores.x do
            if ores.rotationi ~= nil and ores.xk == pos.x and ores.yk == pos.y  or ores.rotationi ~= nil and pos.y + 30 == ores.yk and ores.xk == pos.x  then
                pos.blocked = true
                break
            end
        end


        if not pos.blocked and mapX + mapsizex > pos.x and mapY + mapsizey > pos.y then
            table.insert(ores.x, pos.x)
            table.insert(ores.y, pos.y)
            table.insert(ores.durability, 10)
            table.insert(ores.rotation, 0)
            table.insert(ores.alive, true)
            table.insert(ores.class, class)
        end


    end
end

https://redd.it/1qnfggo
@r_lua
Sharing my TIC80 lua language server stubs

https://codeberg.org/firns/tic80-lua-language-server-stubs

Hi, I made some LLS stubs for TIC80 because I use an external editor that isn't VS Code. For anyone else interested, my repo will explain how to use them, its super simple if your ide has language server functionality.

Hope this helps a few people!

https://redd.it/1qrf66x
@r_lua
Grid Fusion: little puzzle like triple town

hello just a little game in love2d

i want to recreate some kind of triple town game

it s simpliest than triple town

give me your opinion / advices about it

thanks

https://pouranat.itch.io/grid-fusion

https://redd.it/1qt49cu
@r_lua
removing specific iteration of one variable from table

so what i am doing is in the beginning of the program there's a variable "monsters", which is where a created instance of a "monster" variable is created. what i want is how to figure out how to remove the specific instance of a monster from an if then statement(during a collision). this is the code:

for i, bullet in ipairs(bullets) do

if bullet.x + 10 > monster.x and bullet.x - 10 < monster.x + 80 then

if bullet.y - 10 > monster.y and bullet.y + 10 < monster.y + 80 then

--what do i do

table.remove(monsters, i)

end

end

end

end

im sorry if this is a redundant question, also im using love2d but thats kinda irrelevant

thank you.


edit: i figured it out

https://redd.it/1qw0umi
@r_lua
I am making a new package manager for lua called LuaMoon

Hi everyone!

I’m working on LuaMoon, a lightweight Lua package manager that aims to improve on existing tools like LuaRocks. LuaMoon is designed to be compatible with Love2D, LuaJIT, and Lua, making it easier to manage libraries across different Lua environments using virtual environments.

It’s still in the early stages of development, so it’s experimental — it might be buggy or insecure, and things are changing rapidly. My goal is to make LuaMoon simpler, faster, and more user-friendly than what’s currently available.

I’d love to get feedback from the community! Any advice, suggestions, or ideas for features would be hugely appreciated. If you’ve been frustrated by LuaRocks or other Lua package managers, LuaMoon is meant to address some of those pain points.

Check it out here: https://github.com/MXD-K1/LuaMoon

Thanks for looking, and I’m excited to hear your thoughts!


https://redd.it/1qw1vbb
@r_lua
Free lua obfuscator

An actually solid lua obfuscator i developed, it works for normal lua, and for hvh, i will probably try to update for roblox aswell
discord: https://discord.gg/vdBnvXBaJ4

https://redd.it/1qwgrww
@r_lua
Where to learn Lua

# Where to able learn Lua coding and its free which not going waste my time. I would like to try create game.

https://redd.it/1qvqlwj
@r_lua
This media is not supported in your browser
VIEW IN TELEGRAM
I built interactive visualizations to understand Rate Limiting algorithms, implementation using lua, node.js and redis

https://redd.it/1qupxmk
@r_lua
ds.time: time objects in pure-lua including DateTime from epoch
https://civboot.github.io/lua/ds.html#ds.time

https://redd.it/1quf6mc
@r_lua
My favorite part about coding in Lua..

..is having to write a custom function to print tables so I can actually debug.

I especially love watching that function get more complex than the project I'm trying to debug with it cause I want to use nested tables.

https://redd.it/1qtk4od
@r_lua
I made a lua-based build system to help learn lua better. I've gained a good appreciation for Lua (Kindler Build System)
https://setsunasoftware.com/kindler/

https://redd.it/1qt7ki8
@r_lua
Need help finding out what's what

So I wish to modify a game to change the sound of the tinnitus ringing from flashbangs and explosions (Don't worry rule 8 enforcers, my file makes them louder and have a much more irritating tone.). I got the lua from a repository of the game files on GitHub. I have next to no experience with lua code, and I want to know what points to what or what does what, just so I know where everything points to to play the sounds and what I'd have to change (like the sound file format - currently it's .ogg, any errors in the code, or any files I'd have to create /rename to get it to work). Any help is appreciated! Game is Payday 2 by the way, in case that helps. Here's the code I copied:

function PlayerDamage:on_concussion(mul)

if self._downed_timer then

return

end



self:_start_concussion(mul)

end

function PlayerDamage:_start_concussion(mul)

if self._concussion_data then

self._concussion_data.intensity = mul

local duration_tweak = tweak_data.projectiles.concussion.duration

self._concussion_data.duration = duration_tweak.min + mul * math.lerp(duration_tweak.additional - 2, duration_tweak.additional + 2, math.random())

self._concussion_data.end_t = managers.player:player_timer():time() + self._concussion_data.duration



SoundDevice:set_rtpc("concussion_effect", self._concussion_data.intensity * 100)

else

local duration = 4 + mul * math.lerp(8, 12, math.random())

self._concussion_data = {

intensity = mul,

duration = duration,

end_t = managers.player:player_timer():time() + duration

}

end



self._unit:sound():play("concussion_player_disoriented_sfx")

self._unit:sound():play("concussion_effect_on")

end

function PlayerDamage:_stop_concussion()

if not self._concussion_data then

return

end



self._unit:sound():play("concussion_effect_off")



self._concussion_data = nil

end

function PlayerDamage:on_flashbanged(sound_eff_mul)

if self._downed_timer then

return

end



self:_start_tinnitus(sound_eff_mul)

end

function PlayerDamage:_start_tinnitus(sound_eff_mul, skip_explosion_sfx)

if self._tinnitus_data then

if sound_eff_mul < self._tinnitus_data.intensity then

return

end



self._tinnitus_data.intensity = sound_eff_mul

self._tinnitus_data.duration = 4 + sound_eff_mul * math.lerp(8, 12, math.random())

self._tinnitus_data.end_t = managers.player:player_timer():time() + self._tinnitus_data.duration



if self._tinnitus_data.snd_event then

self._tinnitus_data.snd_event:stop()

end



SoundDevice:set_rtpc("downed_state_progression", math.max(self._downed_progression or 0, self._tinnitus_data.intensity * 100))



self._tinnitus_data.snd_event = self._unit:sound():play("tinnitus_beep")

else

local duration = 4 + sound_eff_mul * math.lerp(8, 12, math.random())



SoundDevice:set_rtpc("downed_state_progression", math.max(self._downed_progression or 0, sound_eff_mul * 100))



self._tinnitus_data = {

intensity = sound_eff_mul,

duration = duration,

end_t = managers.player:player_timer():time() + duration,

snd_event = self._unit:sound():play("tinnitus_beep")

}

end



if not skip_explosion_sfx then

self._unit:sound():play("flashbang_explode_sfx_player")

end

end

function PlayerDamage:_stop_tinnitus()

if not self._tinnitus_data then

return

end



self._unit:sound():play("tinnitus_beep_stop")



self._tinnitus_data =
why do people look down at lua although its as good or even better than other languages

yea it has downsides but you can just implement it into C for example for low level power. so i dont get all the hate

https://redd.it/1qx8v0c
@r_lua
🦒 Roblox Devs Wanted!

Hire, Sell, Collab & Build — All in One Fun Hub!
Join r/DevsRus today and let your games shine!

https://redd.it/1qxjbex
@r_lua
I need help please

I need the player collects 5 patient records scattered throughout the asylum, each a clickable object that disappears when picked up. A RecordsGui is displayed on the screen: first, the 'RecordsLabel' appears showing 'Records'; as each record is collected, the 'TotalRecordsLabel' updates in real time, counting up from '0 / 5' to '5 / 5', reflecting the player's progress. The GUI visually reacts to each pickup and changes the 1-5 number. I tried myself and with AI but it was no use. If someone can help me then I'm grateful!!!!

https://redd.it/1r07mru
@r_lua
I built a Lua/Luau-first transpiler with static analysis and no runtime helpers

I built Hordr, a Lua/Luau-first frontend transpiler.



It adds flow-sensitive analysis, explicit modules, a Luau-compatible type checker,

and safe optimizations, while generating clean, readable Lua with no runtime helpers

or semantic changes.



This is not a Lua replacement and not a new runtime.

It’s a conservative tooling layer for larger Lua codebases



Repo: https://github.com/Bladiostudio/Hordr

Feedback and criticism welcome.



https://redd.it/1r0lg7c
@r_lua
ECS like behavior with objects in Lua is possible?

Most of the time, it's considered that OOP has poor performance because of the way it works internally. Arrays and data make use of the CPU's cache memory while objects are scattared across the memory and in some instances, each object has it's own copy of a method from the constructor. But in Lua... I heard that if you write your classes correctly, the "methods" are cached. So, in the end, if you run for obj in objs do obj:something() end it's like you esentially iterate through tables of data and call the same referenced function on them, right?

So, in the context of LuaJIT, how accurate is this? As soon as I have time I'mma go benchmark this idea, but curious to learn more about that stuff. Thank you!

https://redd.it/1r4rdm5
@r_lua
Lua Script

I've used WatchMaker for some time until my Pixel 3 watch was not compatible. With the new and updated version, I find some of the menu noscripts don't transfer to my watch. Can someone help with these issues especially if I need to write my own noscript?

1. Ring corners stay round instead of converting to straight lines on the ends.

2. Rings won't show a gradient for the first two chosen colors

3. Even if I choose the noscript to show the phone battery level or percentage it reverts back to the watch battery.

Thanks!

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