Dev.Sobolev
Дебютант
И так, думаю каждый при отыгровке своей роли писал в чат вместе с сообщением и тональность, к примеру:
Имя_Фамилия: [грубый голос] текст отыгровки.
Я решил облегчить все это, и написать определенную систему...В общем, тольность/интонацию голоса вашего персонажа можно будет настроить и не вбивать каждый раз в чат, или же вставлять его...Для кого-то это покажется не нужным, ну а кто-то захочет облегчить игру своим игрокам на сервере.
*Съедает определенное количество символов в чате, желательно использовать с системой переносов слов на следующею строку.
Перейдем к самой системе:
Ко всем переменным:
Ко всем константам:
Далее идем в public OnPlayerText, и вставляем туда код:
Теперь идем в паблик диалогов, и вставляем этот код в него:
*У вас может быть на case.
Далее идем в public OnPlayerCommandText(playerid, cmdtext[]), и вставляем туда нашу команду для вызовать диалога, дабы там настроить тональность:
*Чтобы перевести команду на нужный вам процессор просто скопируйте строку вызова диалога и вставьте в свою команду.
ID диалогов поменяйте на свои, не занятые, иначе система будет работать не корректно.
А так же, не забывайте обнулять переменные:
Либо в public OnPlayerConnect(playerid), либо public OnPlayerDisconnect(playerid, reason)
Имя_Фамилия: [грубый голос] текст отыгровки.
Я решил облегчить все это, и написать определенную систему...В общем, тольность/интонацию голоса вашего персонажа можно будет настроить и не вбивать каждый раз в чат, или же вставлять его...Для кого-то это покажется не нужным, ну а кто-то захочет облегчить игру своим игрокам на сервере.
*Съедает определенное количество символов в чате, желательно использовать с системой переносов слов на следующею строку.
Перейдем к самой системе:
Ко всем переменным:
PHP:
new tonalped[MAX_PLAYERS], znasdial[MAX_PLAYERS];
PHP:
#define COLOR_LIGHTGREEN 0x9ACD32FF //светло-зеленый
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;}
*Чтобы перевести команду на нужный вам процессор просто скопируйте строку вызова диалога и вставьте в свою команду.
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;
Последнее редактирование:
