Randomizing the letters in a string

Hey, im trying to create a random compliment generator, im trying to create an effect before it generates like every 0.2 seconds the letters are randomized like from lets say weufsj to sjoda but each time the letters are randomized, i just need to know how i could create a letter randomizing system.

1 Like

Let’s break it down into steps:

  1. Generate Random Letters:
    To create a randomized effect, you’ll need to generate random letters. You can achieve this using any programming language. Here’s a simple example

    -- Assume you have an array of letters
    local letters = { "w", "e", "u", "f", "s", "j" }
    
    -- Function to shuffle the letters randomly
    local function shuffleLetters()
        local shuffled = {}
        for i = 1, #letters do
            local randomIndex = math.random(1, #letters)
            shuffled[i] = letters[randomIndex]
        end
        return table.concat(shuffled) -- Combine the shuffled letters into a string
    end
    
    -- Example usage: Call this function every 0.2 seconds
    local randomizedString = shuffleLetters()
    print(randomizedString) -- Output: Randomized letters (e.g., "sjoda")
    
  2. Timer or Coroutine:
    To update the letters every 0.2 seconds, you can use a timer or a coroutine. You can use wait() inside a coroutine to achieve the desired delay.

  3. Incorporate into Your Compliment Generator:
    Integrate the randomized letters into your compliment generator. For instance, you can prepend the randomized letters to a positive adjective or phrase.

    local function generateCompliment()
        local randomizedString = shuffleLetters()
        local compliment = "You are " .. randomizedString .. " amazing!"
        return compliment
    end
    
    -- Example usage:
    local randomCompliment = generateCompliment()
    print(randomCompliment) -- Output: "You are sjoda amazing!"
    

Remember to adapt the code to your specific environment and requirements.

AI generated ahh response ^^^

I don’t know much about dealing with strings, but I think you can do string.split(yourString,""), loop through the returned table randomly, and put it together in a single string.

local yourString = "Test string??"
local randomizedString = ""

local returnedTable = string.split(yourString,"")
while #returnedTable > 0 do
    local randomIndex = math.random(1,#returnedTable)
    local char = returnedTable[randomIndex]
    table.remove(returnedTable,randomIndex)
    randomizedString = randomizedString..char
end
3 Likes