Рандомные символы.

A S K I T

Активный
Автор темы
200
69
Версия MoonLoader
.026-beta
Приветикс.
Есть вот такая функция, которая даёт рандомные символы из таблицы символов cp1251:
Lua:
function getRandomWord(length)
    local word = ''
    for i = 1, length do
        word = word..string.char(math.random(65, 90))
    end
    return word
end

Она рандомизирует латинские(английские) буквы. Как к этому рандому добавить ещё и другие, допустим, цифры, кириллические символы, спец. символы(№%?!) ?
 
Решение
Мой быдловарик это создать массив с того что ты хочешь иметь там, и так же делать.
Lua:
local a = { [1] = "0", [2] = "1", [3] = "x" } 
function getRandomWord(length)
    local word = ''
    for i = 1, length do
        word = word..a[math.random(1, 3)]
    end
    return word
end
Но стоит понимать, что в ЛУА math.random очень плохо работает, и у тебя будет постоянно выбивать 1 и тот же пароль одной длины первым

T1cKz

Известный
595
245
Мой быдловарик это создать массив с того что ты хочешь иметь там, и так же делать.
Lua:
local a = { [1] = "0", [2] = "1", [3] = "x" } 
function getRandomWord(length)
    local word = ''
    for i = 1, length do
        word = word..a[math.random(1, 3)]
    end
    return word
end
Но стоит понимать, что в ЛУА math.random очень плохо работает, и у тебя будет постоянно выбивать 1 и тот же пароль одной длины первым
 
  • Нравится
Реакции: A S K I T

A S K I T

Активный
Автор темы
200
69
Мой быдловарик это создать массив с того что ты хочешь иметь там, и так же делать.
Lua:
local a = { [1] = "0", [2] = "1", [3] = "x" }
function getRandomWord(length)
    local word = ''
    for i = 1, length do
        word = word..a[math.random(1, 3)]
    end
    return word
end
Но стоит понимать, что в ЛУА math.random очень плохо работает, и у тебя будет постоянно выбивать 1 и тот же пароль одной длины первым
Попробую так, просто думал что есть более компактный вариант. Тему пока закрывать не буду.

А рандом я пофиксил с помощью math.randomseed(os.clock())
 

T1cKz

Известный
595
245
Попробую так, просто думал что есть более компактный вариант. Тему пока закрывать не буду.

А рандом я пофиксил с помощью math.randomseed(os.clock())
Насколько мне известно, кириллицу не вызывать способом который кидал ты
 

A S K I T

Активный
Автор темы
200
69
Насколько мне известно, кириллицу не вызывать способом который кидал ты
Можно, она в таблице от 192 до 255, строчными буквами, а в другом диапазоне - заглавными. Но не суть, я её не буду использовать, она почему-то не приводиться в верхний регистр с помощью функции.