RU/Resource:Voice

From Multi Theft Auto: Wiki
Revision as of 17:25, 18 May 2012 by Vincent (talk | contribs) (Created page with "{{RU/Resource page}} Внедрение поддержки голосовой связи в версии 1.1 идет вместе с базовым, но гибким скрип...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Внедрение поддержки голосовой связи в версии 1.1 идет вместе с базовым, но гибким скриптовым интерфейсом для него.

Цель ресурса Voice - предоставить типичный интерфейс, основанный на базовом внутреннем скриптинге MTA, для доступа к простому функционалу, который пользователь ожидает от голосового чата, включая возможность создавать разные каналы (в т.ч. для команд) и "глушить" игроков.

Ресурс Voice на данный момент не обладает GUI-интерфейса для заглушения других игроков на клиентской стороне, но это будет реализовано.

Концепция

Ресурс Voice предоставляет возможность распределять по каналам. Канал - способ контроля над тем, с кем вы можете разговаривать и кого можете слышать. Есть три основных типа каналов:

  • Скриптовый канал: Канал, установленный функцией setPlayerChannel, он имеет формат номера. Игроки канала 1 не моугт слышать игроков из канала 2.
  • Командный канал: У скриптов нет доступа к этому типа каналов, но он достаточно похож на скриптовый канал. Этот тип канала автоматически задается в зависимости от настройки распределения по командам setting. Когда игроки находятся в команде, getPlayerChannel будет возвращать элемент команды. Игроки одного командного канала не могут слышать игроков другого командного канала. В равной степени, игроки из командного канала не могут слышать игркоов из скриптового канала.
  • "Root" (корневой) канал: Игроки помещаются в этот канал по умолчанию. Этот канал связан с концепцией элемента root, и getPlayerChannel вернет root (корневой) элемент. Когда игрок в root канале, его слышат все игроки сервера. Как бы то ни было, он не сможет слышать игроков ни из командного канала, ни из скриптового канала.



Настройки

Все настройки могут изменены через MTA'шыне функции set(), изменение meta.xml ресурса или изменение settings.xml.


Иконки чата

  • Имя настройки: show_chat_icon
  • Описание: Булевая переменная, которая позволяет вам включать или выключать иконку голосового чата, возникающую над игроком, когда он говорит.
  • XML-образец:
    <setting name="show_chat_icon" value="[false]"/>

Автораспределение по командам

  • Имя настройки: autoassign_to_teams
  • Описание: Булевая переменная, которая позволяет вам включать или выключать автораспределение игроков по каналом их команд ресурсом voice.
  • XML-образец:
    <setting name="autoassign_to_teams" value="[false]"/>



Клиентский функции скриптинга

Все указанные функции скриптинга - клиентские и затрагивают только local player (локального игрока). Все функции должны вызываться с использованием функции call.

isPlayerMuted

Эта функция позволяет определять, заглушен ли удаленный игрок у локального игрока. Другими словами, могу ли я слышать этого самого удаленного игрока?

bool exports.voice:isPlayerMuted ( player playerToCheck )
  • playerToCheck: Игрок, слышимость которого вы хотите проверить

Возвращает булевую переменную - true если заглушен, иначе false'.


setPlayerMuted

Эта функция позволяет вам заглушить удаленного игрока у локального игрока. Проще говоря, я могу заглушить у себя этого игрока, когда захочу.

bool exports.voice:setPlayerMuted ( player playerToMute, bool muted )
  • playerToMute: Игрок, которого вы хотите заглушить или разглушить
  • muted : Булевая переменная, отвечающая за то, будет ли игрок заглушен или разглушен, где true для заглушения, false - наоборот.

Воавращает true, если операция прошла успешно, иначе - false.




Серверные функции скриптинга

Все указанные функции скриптинга - серверные и затрагивают всех игроков без исключения. Все функции должны вызываться с использованием функции call.

isPlayerMuted

Функция позволяет вам проверять игрока на заглушенность для всего сервера.

bool exports.voice:isPlayerMuted ( player playerToCheck )
  • playerToCheck: Игрок, заглушенность которого вы хотите проверить

Возвращает true если он заглушен, иначе - false'


setPlayerMuted

Эта функция позволяет заглушить игрока для всех на сервере.

bool exports.voice:setPlayerMuted ( player playerToMute, bool muted )
  • playerToMute: Игрок, которого вы хотите заглушить или разглушить
  • muted : Булевая переменная, отвечающая за то, будет ли игрок заглушен или разглушен. true для заглушения, false для разглушения.

Возвращает true, если операция прошла успешно, иначе - false.


getPlayerMutedByList

Эта функция позволяет вам заправшивать список всех игроков, кто заглушил указанного игрока.

table exports.voice:getPlayerMutedByList( player playerToCheck )
  • playerToCheck: Игрок, на заглушенность которого вы хотите проверить игроков сервера

Возвращает таблицу игрков, заглушивших указанного игрока.


getPlayerChannel

Эта функция позволяет вам запросить, в каком канале голосового чата находится игрок.

int/element exports.voice:getPlayerChannel ( player playerToCheck )
  • playerToCheck: Игрок, канал нахождения которого вы хотите запросить

Возвращает целове число - ID канала, в котором он находится, элемент команды, если игрок находится в ее канала или root (корневой) элемент, если канал не указан.


setPlayerChannel

TЭта функция позволяет вам переместить указанного игрока в другой канал.

bool exports.voice:setPlayerChannel ( player playerToCheck, [ int channelID ] )
  • playerToCheck: Игрок, которого вы хотите переместить
  • channelID : Опционально: ID канала, в который вы хотите переместить игрока. Неуказание данного аргумента позволит ресурсу Voice автоматичсеки распорядиться игроком (напр. авто-распределить в канал команды).

Возвращает true, если операция успешна, иначе - false.


getPlayersInChannel

Эта функция позволяет вам запросить лист игроков, находищихся в определенном канале.

table exports.voice:getPlayersInChannel ( int channelID )
  • channelID : ID канала, лист игроков, находищихся в котором, вы хотите запросить.

Возвращает таблицу игроков, находящихся в указанном канале.


getNextEmptyChannel

Эта функция позволяет вам получить ID следующего полностью пустого канала, позволяя с легкостью создавать новые

int getNextEmptyChannel ( )

Возвращает целое число - номер первого канала, который оказался полностью пустым.