Перейти к содержанию

CE 6.6 Голосовое озвучивание опций


MasterGH

Рекомендуемые сообщения

В CE 6.6 появились функции озвучивания текста

 

Цитата

speak(text, waittilldone OPTIONAL): Speaks a given text.  If waitTillDone is true the thread it's in will be frozen till it is done
speak(text, flags): Speaks a given text using the given flags. https://msdn.microsoft.com/en-us/library/speechplatform_speakflags.aspx
speakEnglish(text, waittilldone OPTIONAL) - will try the English voice by wrapping the given text into an XML statement specifying the english voice. Will not say anything if no Egnlish language is present. Do not use SPF_IS_NOT_XML flag and SPF_PARSE_SSML won't work in this situation

 

Пример 1. Для CE Lua консоли

Скрытый текст

speak("God mode activated", true)
speak("God mode deactivated", true)

 

Где

Параметр text - текст.

Параметр waittilldone - озвучивание помещается в очередь. Если параметр не писать, то будет false

 

Теперь в игре можно слышать, что включилась определенная опция или была выключена.

 

Пример 2. Для CE Autoassembler

Скрытый текст

[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem:

originalcode:
mov [test.exe+5B5A4],100

exit:
jmp returnhere

"test.exe"+5464A:
jmp newmem
nop
returnhere:

{$Lua}
speakEnglish("God mode activated")
{$Asm}

[DISABLE]

"test.exe"+5464A:
inc [test.exe+5B5A4]
//Alt: db FF 05 A4 B5 45 00

dealloc(newmem)
{$Lua}
speakEnglish("God mode deactivated")
{$Asm}
  • Плюс 3
Ссылка на комментарий
Поделиться на другие сайты

45 минуты назад, MasterGH сказал:

В CE 6.6 появились функции озвучивания текста

ОХ ты. ;)

Только ради этого теперь перейду с 6.5 на 6.6 на следующих выхожных.

Ссылка на комментарий
Поделиться на другие сайты

В 24.10.2016в10:02, aliast сказал:

А нельзя это как-то приспособить для озвучивания числовых значений из памяти?

Скрытый текст

local lastValue = 0
local speachTimer = createTimer(nil)
speachTimer.Interval = 100
speachTimer.OnTimer = UpdateTimer

function UpdateTimer()
   local someValue = readInteger('test.exe+5B5A4')
   if(lastValue ~= someValue) then
      lastValue = someValue
      speakEnglish('Value is '.. someValue)
   end
end

 

 

Ссылка на комментарий
Поделиться на другие сайты

Ага, работает. Только, блин, по английски уши плохо воспринимают :)

Upd: speakRusian прекрасно работает с русским :grin:

Изменено пользователем aliast
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.