Продолжить playSound() Cheat Engine Lua

В Cheat Engine для воспроизведения звукового файла wav мы можем использовать playSound(). Я пытаюсь воспроизвести звук для азбуки Морзе:

test = '.... . .-.. .-.. ---/.-- --- .-. .-.. -..'

for i= 1, #test do
 chr = string.sub(test, i, i)
 if chr == '.' then
  playSound(findTableFile("dot.wav"))
 elseif chr == '-' then
  playSound(findTableFile("dash.wav"))
 elseif chr == 's' then
  playSound(findTableFile("shortpause.wav"))
 elseif chr == ' ' then
  playSound(findTableFile("mediumpause.wav"))
 elseif chr == '/' then
  playSound(findTableFile("longpause.wav"))
 end
end

Но звук играет только первый 'chr'. Как воспроизвести все символы «chr» по их определенному звуку?


person JoeFern    schedule 06.02.2020    source источник
comment
Что-то странное, пробую запустить код еще раз и работает воспроизведение всего этого звука. Итак, мне просто нужно добавить время задержки примерно на полсекунды между звуками каждого персонажа из-за слишком быстрого воспроизведения звука. Как я могу это сделать? С помощью таймера? Как?   -  person JoeFern    schedule 06.02.2020


Ответы (1)


Проблема решена:

test = '.... . .-.. .-.. ---/.-- --- .-. .-.. -..'

function playMorse()
 for i= 1, #test do
  chr = string.sub(test, i, i)
   if chr == '.' then
    playSound(findTableFile("dot.wav"))
    sleep(300)
   elseif chr == '-' then
    playSound(findTableFile("dash.wav"))
    sleep(300)
   elseif chr == 's' then
    playSound(findTableFile("shortpause.wav"))
    sleep(300)
   elseif chr == ' ' then
    playSound(findTableFile("mediumpause.wav"))
    sleep(300)
   elseif chr == '/' then
    playSound(findTableFile("longpause.wav"))
    sleep(300)
   end
 end
end

playMorse()
person JoeFern    schedule 06.02.2020