Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Тольность голоса в чате.

Статус
В этой теме нельзя размещать новые ответы.

Dev.Sobolev

Дебютант
И так, думаю каждый при отыгровке своей роли писал в чат вместе с сообщением и тональность, к примеру:
Имя_Фамилия: [грубый голос] текст отыгровки.

Я решил облегчить все это, и написать определенную систему...В общем, тольность/интонацию голоса вашего персонажа можно будет настроить и не вбивать каждый раз в чат, или же вставлять его...Для кого-то это покажется не нужным, ну а кто-то захочет облегчить игру своим игрокам на сервере.
*Съедает определенное количество символов в чате, желательно использовать с системой переносов слов на следующею строку.
Перейдем к самой системе:
Ко всем переменным:

PHP:
new tonalped[MAX_PLAYERS], znasdial[MAX_PLAYERS];
Ко всем константам:
PHP:
#define 	COLOR_LIGHTGREEN 	0x9ACD32FF	//светло-зеленый
Далее идем в public OnPlayerText, и вставляем туда код:
PHP:
    new string[128];new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(znasdial[playerid] != 0){
    if(znasdial[playerid] == 1) { format(tonalped, sizeof(tonalped), "грубый голос");  }
    if(znasdial[playerid] == 2) { format(tonalped, sizeof(tonalped), "тихий голос");   }
    if(znasdial[playerid] == 3) { format(tonalped, sizeof(tonalped), "охрипший голос");}
    if(znasdial[playerid] == 4) { format(tonalped, sizeof(tonalped), "звонкий голос"); }
    if(znasdial[playerid] == 5) { format(tonalped, sizeof(tonalped), "громкий голос"); }
    format(string, sizeof(string), "%s:{DB7093}[%s]{FFFFFF} %s ", sendername, tonalped, text);}//этот формат будет использоваться если игрок установил тональность.
    else format(string, sizeof(string), "%s: %s ", sendername, text);//этот формат будет использоваться если у игрока все по дефолту.
    SendClientMessageToAll(COLOR_WHITE, string);//замените на свою функцию, по дефоту пишет в общий чат.
Теперь идем в паблик диалогов, и вставляем этот код в него:
*У вас может быть на case.

PHP:
    if(dialogid == 1)
    {
        if(response){
            if(listitem == 0)
            {
            znasdial[playerid] = 1;
            SendClientMessage(playerid, COLOR_LIGHTGREEN, "Вы выбрали тональность: Грубый голос.");
            }
            if(listitem == 1)
            {
            znasdial[playerid] = 2;
            SendClientMessage(playerid, COLOR_LIGHTGREEN, "Вы выбрали тональность: Тихий голос.");
            }
            if(listitem == 2)
            {
            znasdial[playerid] = 3;
            SendClientMessage(playerid, COLOR_LIGHTGREEN, "Вы выбрали тональность: Охрипший голос.");
            }
            if(listitem == 3)
            {
            znasdial[playerid] = 4;
            SendClientMessage(playerid, COLOR_LIGHTGREEN, "Вы выбрали тональность: Звонкий голос.");
            }
            if(listitem == 4)
            {
            znasdial[playerid] = 5;
            SendClientMessage(playerid, COLOR_LIGHTGREEN, "Вы выбрали тональность: Громкий голос.");
            }
            if(listitem == 5)
            {
            Dialog(playerid,2,DIALOG_STYLE_MSGBOX,"Информация о голосе","{ffffff}С помощь данной функции Вы сожите установить интонацию голоса своему персонажу\nЧтобы выбрать/изменить интонацию просто выберите другую\nИнтонация восстанавливается по-умолчанию после окончания сессии.","Закрыть","");}
            }
        return 1;}
Далее идем в public OnPlayerCommandText(playerid, cmdtext[]), и вставляем туда нашу команду для вызовать диалога, дабы там настроить тональность:
*Чтобы перевести команду на нужный вам процессор просто скопируйте строку вызова диалога и вставьте в свою команду.

PHP:
    if (strcmp("/tonal", cmdtext, true, 10) == 0)//
    {
          Dialog(playerid,1,DIALOG_STYLE_LIST,"Тональность голоса","Грубый голос\nТихий голос\nОхрипший голос\nЗвонкий голос\nГромкий голос\n{1e90ff}Информация","Выбрать","Закрыть");
        return 1;
    }

ID диалогов поменяйте на свои, не занятые, иначе система будет работать не корректно.
А так же, не забывайте обнулять переменные:
Либо в public OnPlayerConnect(playerid), либо public OnPlayerDisconnect(playerid, reason)
PHP:
tonalped[playerid] = 0;
znasdial[playerid] = 0;
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу