Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 1 по 10 из 10
  1. #1
    Аватар для Kazoox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.04.2014
    Сообщений
    121
    Репутация:
    3 ±

    PlayAudioStreamForPlayer

    Приветствую, проблема такая: если проигрывать игроку какое-нибудь слово на английском или цифры и т.д - всё работает хорошо, но если на русском - тишина, но ссылку в чат пишет, как бы идёт проигрывание (звук в игре включен и т.д).
    PHP код:
    PlayAudioStreamForPlayer(playerid,"http://translate.google.kg/translate_tts?ie=UTF-8&q=Привет&tl=ru"); 
    Кто-нибудь сталкивался с такой проблемой? Заранее благодарен.

  2. #2
    Аватар для bred
    Пользователь

    Статус
    Оффлайн
    Регистрация
    28.04.2014
    Адрес
    Moscow
    Сообщений
    45
    Репутация:
    12 ±
    Цитата Сообщение от Kazoox Посмотреть сообщение
    Приветствую, проблема такая: если проигрывать игроку какое-нибудь слово на английском или цифры и т.д - всё работает хорошо, но если на русском - тишина, но ссылку в чат пишет, как бы идёт проигрывание (звук в игре включен и т.д).
    PHP код:
    PlayAudioStreamForPlayer(playerid,"http://translate.google.kg/translate_tts?ie=UTF-8&q=Привет&tl=ru"); 
    Кто-нибудь сталкивался с такой проблемой? Заранее благодарен.
    В коде ведь написано translate.- значит перевод. Смотря с какого языка у тебя стоит. если Англ по умолч, значит производит)
    Такой фигней не занимался

  3. #3
    Аватар для Caypen
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.03.2014
    Сообщений
    104
    Репутация:
    16 ±
    PHP код:
                format(string3[i],1024,"http://translate.google.kg/translate_tts?ie=UTF-8&q=%s&tl=ru&prev=input",string);
                    
    PlayAudioStreamForPlayer(i,string3[i]); 
    А под конец вместо string свое слово вставляй ну или если Onplayertext,то Text, будет работать со всеми языками,но произношение Русское
    Захожу на pro-pawn.ru - чувствую себя обычным пользователем
    Захожу на gawno-info.ru - чувствую себя самым великим гением
    (С) Caypen

  4. #4
    Аватар для Kazoox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.04.2014
    Сообщений
    121
    Репутация:
    3 ±
    Цитата Сообщение от Caypen Посмотреть сообщение
    PHP код:
                format(string3[i],1024,"http://translate.google.kg/translate_tts?ie=UTF-8&q=%s&tl=ru&prev=input",string);
                    
    PlayAudioStreamForPlayer(i,string3[i]); 
    А под конец вместо string свое слово вставляй ну или если Onplayertext,то Text, будет работать со всеми языками,но произношение Русское
    Пробовал с OnPlayerText - не работает, только цифры и английские символы произносит.

  5. #5
    Аватар для Caypen
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.03.2014
    Сообщений
    104
    Репутация:
    16 ±
    Цитата Сообщение от Kazoox Посмотреть сообщение
    Пробовал с OnPlayerText - не работает, только цифры и английские символы произносит.
    странно,не знаю тогда.
    Захожу на pro-pawn.ru - чувствую себя обычным пользователем
    Захожу на gawno-info.ru - чувствую себя самым великим гением
    (С) Caypen

  6. #6
    Аватар для Snoop_Dog
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.02.2014
    Сообщений
    65
    Репутация:
    0 ±
    В любое место мода
    PHP код:
    stock AudioMessage(playeridradstr[])
    {
        new 
    Float:pxFloat:pyFloat:pz;
        
    GetPlayerPos(playeridpxpypz);
        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_str1strcat(streamstr), strcat(streamtranslate_str2);
        new 
    GetMaxPlayers();
        do{
            if(
    IsPlayerInRangeOfPoint(--iradpxpypz) && (GetPlayerVirtualWorld(i) == world))
                
    PlayAudioStreamForPlayer(istream);
        }while(
    i!=0);
        return 
    1;

    В public OnPlayerText
    ищешь где у тебя произносит слово
    Обычно так у меня:
    PHP код:
    if(RPChat)
        {
              if(
    GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { ApplyAnimation(playerid,"PED","IDLE_CHAT",4.1,0,1,1,0,1000,1); }
            
    format(stringsizeof(string), "%s: %s"GN(playerid), text);
            
    SetPlayerChatBubble(playeridtext0x6495EDFF20.010000);
            
    ProxDetector(20.0playeridstring,COLOR_SERYI,COLOR_SERYI2,COLOR_SERYI3,COLOR_SERYI4,COLOR_SERYI5);
            return 
    false;
        } 
    И после ProxDetector вставляешь
    PHP код:
    AudioMessage(playerid60text); // 60 - дальность 
    60- это дальность откуда будет слышно,меняй на своё,
    за место text можно например поставить слово:
    AudioMessage(playerid, 60, "Добро пожаловать на такой то сервер");

    Объяснил?
    Последний раз редактировалось Snoop_Dog; 18.05.2014 в 13:16.

  7. #7
    Аватар для Kazoox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.04.2014
    Сообщений
    121
    Репутация:
    3 ±
    Цитата Сообщение от Snoop_Dog Посмотреть сообщение
    В любое место мода
    PHP код:
    stock AudioMessage(playeridradstr[])
    {
        new 
    Float:pxFloat:pyFloat:pz;
        
    GetPlayerPos(playeridpxpypz);
        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_str1strcat(streamstr), strcat(streamtranslate_str2);
        new 
    GetMaxPlayers();
        do{
            if(
    IsPlayerInRangeOfPoint(--iradpxpypz) && (GetPlayerVirtualWorld(i) == world))
                
    PlayAudioStreamForPlayer(istream);
        }while(
    i!=0);
        return 
    1;

    В public OnPlayerText
    ищешь где у тебя произносит слово
    Обычно так у меня:
    PHP код:
    if(RPChat)
        {
              if(
    GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { ApplyAnimation(playerid,"PED","IDLE_CHAT",4.1,0,1,1,0,1000,1); }
            
    format(stringsizeof(string), "%s: %s"GN(playerid), text);
            
    SetPlayerChatBubble(playeridtext0x6495EDFF20.010000);
            
    ProxDetector(20.0playeridstring,COLOR_SERYI,COLOR_SERYI2,COLOR_SERYI3,COLOR_SERYI4,COLOR_SERYI5);
            return 
    false;
        } 
    И после ProxDetector вставляешь
    PHP код:
    AudioMessage(playerid60text); // 60 - дальность 
    60- это дальность откуда будет слышно,меняй на своё,
    за место text можно например поставить слово:
    AudioMessage(playerid, 60, "Добро пожаловать на такой то сервер");

    Объяснил?
    Все равно, русские символы игнорирует, просто молчит, но ссылку в чат выбивает, а звука нет.

  8. #8
    Аватар для Snoop_Dog
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.02.2014
    Сообщений
    65
    Репутация:
    0 ±
    Странно у меня все работает, произносит то что я напиши хоть на русском хоть и на английском

  9. #9
    Аватар для Kazoox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.04.2014
    Сообщений
    121
    Репутация:
    3 ±
    Цитата Сообщение от Snoop_Dog Посмотреть сообщение
    Странно у меня все работает, произносит то что я напиши хоть на русском хоть и на английском
    Вот! Должно ведь, а не работает, я всё правильно делаю...

  10. #10
    Аватар для Kazoox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.04.2014
    Сообщений
    121
    Репутация:
    3 ±
    Выручайте.

    - - - Добавлено - - -

    Всё, уже помогли, решение - вот такая функция:
    PHP код:
    stock ReproductionOfText(playerid,str[])
    {
        new 
    st1[700],st2[140];
        
    strcat(st2,str);
        for(new 
    istrlen(st2); li++) {
            switch(
    st2[i]) {
                case 
    'А','а'strcat(st1"%D0%B0");
                case 
    'Б','б'strcat(st1"%D0%B1");
                case 
    'В','в'strcat(st1"%D0%B2");
                case 
    'Г','г'strcat(st1"%D0%B3");
                case 
    'Д','д'strcat(st1"%D0%B4");
                case 
    'Е','е'strcat(st1"%D0%B5");
                case 
    'Ё','ё'strcat(st1"%D1%91");
                case 
    'Ж','ж'strcat(st1"%D0%B6");
                case 
    'З','з'strcat(st1"%D0%B7");
                case 
    'И','и'strcat(st1"%D0%B8");
                case 
    'Й','й'strcat(st1"%D0%B9");
                case 
    'К','к'strcat(st1"%D0%BA");
                case 
    'Л','л'strcat(st1"%D0%BB");
                case 
    'М','м'strcat(st1"%D0%BC");
                case 
    'Н','н'strcat(st1"%D0%BD");
                case 
    'О','о'strcat(st1"%D0%BE");
                case 
    'П','п'strcat(st1"%D0%BF");
                case 
    'Р','р'strcat(st1"%D1%80");
                case 
    'С','с'strcat(st1"%D1%81");
                case 
    'Т','т'strcat(st1"%D1%82");
                case 
    'У','у'strcat(st1"%D1%83");
                case 
    'Ф','ф'strcat(st1"%D1%84");
                case 
    'Х','х'strcat(st1"%D1%85");
                case 
    'Ц','ц'strcat(st1"%D1%86");
                case 
    'Ч','ч'strcat(st1"%D1%87");
                case 
    'Ш','ш'strcat(st1"%D1%88");
                case 
    'Щ','щ'strcat(st1"%D1%89");
                case 
    'Ъ','ъ'strcat(st1"%D1%8A");
                case 
    'Ы','ы'strcat(st1"%D1%8B");
                case 
    'Ь','ь'strcat(st1"%D1%8C");
                case 
    'Э','э'strcat(st1"%D1%8D");
                case 
    'Ю','ю'strcat(st1"%D1%8E");
                case 
    'Я','я'strcat(st1"%D1%8F");
                default: 
    strcat(st1st2[i]);
            }
        }
        static const 
    translate_str1[] = "http://translate.google.kg/translate_tts?ie=UTF-8&q="translate_str2[] = "&tl=ru&prev=input";
        static 
    stream[sizeof(translate_str1) + sizeof(translate_str2) + sizeof(st1)];
        
    stream translate_str1strcat(stream,st1), strcat(stream,translate_str2);
        
    PlayAudioStreamForPlayer(playerid,stream);
        return 
    true;

    P.S автор Sonic & Tracer

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •