PDA

Просмотр полной версии : [Function] AudioMessage - воспроизведение текста голосом



Osetin
05.05.2013, 16:04
С помощью этого урока Вы научитесь воспроизводить текст голосом
В команду (например в /s) добавим это:


AudioMessage(playerid, 60, "Ваш текст"); // 60 - дальность

И в самый низ мода:


stock AudioMessage(playerid, rad, str[])
{
new Float:px, Float:py, Float:pz;
GetPlayerPos(playerid, px, py, pz);
new world = GetPlayerVirtualWorld(playerid);
static const translate_str1[] = "http://translate.google.kg/translate_tts?ie=UTF-8&q=",
translate_str2[] = "&tl=ru&prev=input";
new stream[(sizeof(translate_str1)-1)+128+(sizeof(translate_str2)-1)+1];
stream = translate_str1, strcat(stream, str), strcat(stream, translate_str2);
new i = GetMaxPlayers();
do{
if(IsPlayerInRangeOfPoint(--i, rad, px, py, pz) && (GetPlayerVirtualWorld(i) == world))
PlayAudioStreamForPlayer(i, stream);
}while(i!=0);
return 1;
}

--JohnsOn--
08.05.2013, 12:47
Норм. Ставлю плюс

Salvacore
10.05.2013, 16:15
Хорошо)

Artiom
20.02.2014, 02:15
А можно привести пример работы? и полный листинг) Спасибо

DeimoS
20.02.2014, 09:38
А можно привести пример работы? и полный листинг) Спасибо

Открываем Google Translate (https://translate.google.ru/?hl=ru&tab=wT) и устанавливаем на выходе русский текст. Далее пишем любое слово в окне слева и жмём под окном справа на динамик. Подобное и получится.
P.S. Не советовал бы подобное ставить. При больших лагах на сервере ничего не будет слышно + насилие над игроками с плохим интернетом (и слышно для них будет с запозданием, и трафик тратиться будет на воспроизведение дорожки).

KakbeYura
20.02.2014, 21:47
Видел давно, правда там не было по расстоянию, а всем игрокам.
Функция замечательная, но вот если игрок выключает звук в игре - ничего не поделаешь.
И плюс к тому дикция тут не идеальная :mosking:

DeimoS
20.02.2014, 21:58
Видел давно, правда там не было по расстоянию, а всем игрокам.
Функция замечательная, но вот если игрок выключает звук в игре - ничего не поделаешь.
И плюс к тому дикция тут не идеальная :mosking:

Дикция правится удвоением нужной согласной. Например, если бот ставит ударение на "а" в слове "книга", просто делаем так: "книига". Вроде, правит сию проблему