|
|
| Line 1: |
Line 1: |
| {{RU/Server function}}
| |
| __NOTOC__
| |
| Эта функция возвращает количество игроков, подключенных к серверу.
| |
| {{Примечание|#getElementsByType("player") работает так же, как эта функция, но работает и на стороне клиента, в отличие от этой функции.}}
| |
| ==Синтаксис==
| |
| <syntaxhighlight lang="lua">
| |
| int getPlayerCount ( )
| |
| </syntaxhighlight>
| |
| {{RU/OOP||[[Player]].getCount||}}
| |
| ===Возвращает===
| |
| Возвращает количество игроков, подключенных к серверу в качестве [[int]].
| |
|
| |
|
| ==Пример==
| |
| В этом примере выводится сообщение в чате с количеством игроков, подключенных к серверу, когда игрок входит или выходит.
| |
| <syntaxhighlight lang="lua">
| |
| function playerCount ( )
| |
| outputChatBox ( "В данный момент " .. getPlayerCount() .. " игроков на сервере!" )
| |
| end
| |
| addEventHandler ( "onPlayerJoin", getRootElement(), playerCount )
| |
| addEventHandler ( "onPlayerQuit", getRootElement(), playerCount )
| |
| </syntaxhighlight>
| |
|
| |
| ==Общая реализация getPlayerCount==
| |
| ''getElementsByType("player")'' возвращает таблицу со списком игроков, подключенных к серверу, поэтому подсчитывая количество записей в таблице (с помощью оператора ''#'') мы получим такой же результат, как и при использовании этой функции, но данный метод работает также в клиентской части. Однако, более эффективно использовать встроенные функции сервера.
| |
| <section name="Общая реализация (клиент и сервер)" class="both" show="true">
| |
| <syntaxhighlight lang="lua">
| |
| local originalGetPlayerCount = getPlayerCount -- Сохраняем оригинальную функцию getPlayerCount в переменную
| |
|
| |
| function getPlayerCount()
| |
| -- Если переменная originalGetPlayerCount определена, это значит, что функция выполняется на стороне сервера
| |
| -- Следующая строка возвращает результат оригинальной функции, если она определена. Если нет, то подсчитывается количество элементов таблицы ''player'' (для работы на клиентской части)
| |
| return originalGetPlayerCount and originalGetPlayerCount() or #getElementsByType("player")
| |
| end
| |
| </syntaxhighlight>
| |
| </section>
| |
|
| |
| ==Смотрите также==
| |
| {{RU/Player functions}}
| |
|
| |
| [[en:getPlayerCount]]
| |