RU/onPlayerConnect

From Multi Theft Auto: Wiki
Jump to navigation Jump to search

Это событие вызывается, когда игрок пытается подключиться к серверу.

[[{{{image}}}|link=|]] Важное примечание: Никогда, ни при каких обстоятельствах не следует изменять игрока, возвращаемого функцией getPlayerFromName, перед событием onPlayerJoin, дабы избежать десинхронизации (например, setPlayerName).

Параметры

string playerNick, string playerIP, string playerUsername, string playerSerial, int playerVersionNumber, string playerVersionString
  • playerNick. Текущий ник игрока.
  • playerIP. Текущий IP-адрес игрока.
  • playerUsername: Имя пользователя сообщества игроков.
  • playerSerial. Серийный номер игрока.
  • playerVersionNumber: Версия MTA игрока в чистой цифровой форме. Например, 256 для 1.0, 257 для 1.0.1 и т.д.
  • playerVersionString: Версия MTA игрока в сортируемой строковой форме. То же, что и возвращаемое значение функции getPlayerVersion.

Источник

Источником этого события является клиентский корневой элемент.

Отмена эффекта

Если это событие отменено, игрок будет отключён с сообщением об ошибке, указывающим причину, указанную в функции cancelEvent, или "Disconnected: server refused the connection", если ни одна из причин не указана.

Примеры

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

function playerConnect(playerNick, playerIP, playerUsername, playerSerial, playerVersionNumber)
    if playerNick == "Player" then
        cancelEvent(true,"Ник \"Player\" запрещается использовать! Пожалуйста, измените его на другой. Вы можете изменить свой ник в меню \"Настройки\" во вкладке \"Мультиплеер\".")
    else
        outputChatBox(playerNick.." только что подключился к серверу.")
        outputChatBox("IP-адрес: "..playerIP..", имя пользователя: "..playerUsername..", серийный номер: "..playerSerial..".")
    end
end

addEventHandler("onPlayerConnect", getRootElement(), playerConnect)


Пример 2. В этом примере закрывается соединение, если игрок старую версию MTA (ниже 1.0.3).

addEventHandler("onPlayerConnect", getRootElement(),
    function(_,_,_,_, clientVersion )
        if clientVersion < 259 then
            cancelEvent(true, "Обновите Multi Theft Auto перед тем, как присоединиться к серверу." )
        end
    end
)

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

События игрока

Функции событий