RU/getPlayerCount

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

[[{{{image}}}|link=|]] Примечание: #getElementsByType("player") работает так же, как эта функция, но работает и на стороне клиента, в отличие от этой функции.

Синтаксис

int getPlayerCount ( )

Синтаксис ООП Помогите! Я не понимаю, что это!

Метод: Player.getCount(...)

Возвращает

Возвращает количество игроков, подключенных к серверу в качестве int.

Пример

В этом примере выводится сообщение в чате с количеством игроков, подключенных к серверу, когда игрок входит или выходит.

function playerCount ( )
	outputChatBox ( "В данный момент " .. getPlayerCount() .. " игроков на сервере!" )
end
addEventHandler ( "onPlayerJoin", getRootElement(), playerCount )
addEventHandler ( "onPlayerQuit", getRootElement(), playerCount )

Общая реализация getPlayerCount

getElementsByType("player") возвращает таблицу со списком игроков, подключенных к серверу, поэтому подсчитывая количество записей в таблице (с помощью оператора #) мы получим такой же результат, как и при использовании этой функции, но данный метод работает также в клиентской части. Однако, более эффективно использовать встроенные функции сервера.

Click to collapse [-]
Общая реализация (клиент и сервер)
local originalGetPlayerCount = getPlayerCount -- Сохраняем оригинальную функцию getPlayerCount в переменную

function getPlayerCount()
    -- Если переменная originalGetPlayerCount определена, это значит, что функция выполняется на стороне сервера
    -- Следующая строка возвращает результат оригинальной функции, если она определена. Если нет, то подсчитывается количество элементов таблицы ''player'' (для работы на клиентской части)
    return originalGetPlayerCount and originalGetPlayerCount() or #getElementsByType("player")
end

Смотрите также