RU/onPlayerConnect: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 22: | Line 22: | ||
Если это событие [[RU/Event system#Отмена событий|отменено]], игрок будет отключён с сообщением об ошибке, указывающим причину, указанную в функции [[RU/cancelEvent|cancelEvent]], или "Disconnected: server refused the connection", если ни одна из причин не указана. | Если это событие [[RU/Event system#Отмена событий|отменено]], игрок будет отключён с сообщением об ошибке, указывающим причину, указанную в функции [[RU/cancelEvent|cancelEvent]], или "Disconnected: server refused the connection", если ни одна из причин не указана. | ||
== | ==Примеры== | ||
'''Пример 1'''. В этом примере запрещается подключение игроков, использующих ник ''Player'' или, в противном случае, выводятся некоторые данные о подключающемся игроке. | '''Пример 1'''. В этом примере запрещается подключение игроков, использующих ник ''Player'' или, в противном случае, выводятся некоторые данные о подключающемся игроке. | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
Line 36: | Line 36: | ||
addEventHandler("onPlayerConnect", getRootElement(), playerConnect) | addEventHandler("onPlayerConnect", getRootElement(), playerConnect) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
'''Пример 2'''. В этом примере закрывается соединение, если игрок старую версию MTA (ниже 1.0.3). | '''Пример 2'''. В этом примере закрывается соединение, если игрок старую версию MTA (ниже 1.0.3). | ||
Line 48: | Line 49: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{RU/See also/Server event|Player events|События игрока}} | {{RU/See also/Server event|RU/Player events|События игрока}} | ||
[[en:onPlayerConnect]] | [[en:onPlayerConnect]] |
Latest revision as of 18:42, 5 December 2017
Это событие вызывается, когда игрок пытается подключиться к серверу.
Важное примечание: Никогда, ни при каких обстоятельствах не следует изменять игрока, возвращаемого функцией 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 )
Смотрите также
События игрока
- onPlayerBan
- onPlayerChat
- onPlayerPrivateMessage
- onPlayerConnect
- onPlayerChangeNick
- onPlayerLogin
- onPlayerLogout
- onPlayerDamage
- onPlayerJoin
- onPlayerQuit
- onPlayerSpawn
- onPlayerWasted
- onPlayerTarget
- onPlayerVehicleEnter
- onPlayerVehicleExit
- onPlayerWeaponFire
- onPlayerWeaponSwitch
- onPlayerMarkerHit
- onPlayerMarkerLeave
- onPlayerPickupHit
- onPlayerPickupUse
- onPlayerClick
- onPlayerContact
- onPlayerStealthKill
- onPlayerMute
- onPlayerUnmute
- onPlayerCommand
Функции событий
Серверные функции
- getCancelReason - получает причину отмены события
- triggerClientEvent - позволяет вызвать срабатывание события, предварительно созданного на клиенте
- triggerLatentClientEvent - аналог triggerClientEvent, но скорость передачи может быть ограничена
Клиентские функции
- triggerLatentServerEvent - аналог triggerServerEvent, но скорость передачи может быть ограничена
- triggerServerEvent - позволяет вызвать срабатывание события, предварительно созданного на сервере
Общие функции
- addEvent - позволяет зарегистрировать своё собственное событие
- addEventHandler - прикрепляет к событию обработчик
- cancelEvent - останавливает автоматическую внутреннюю обработку события
- cancelLatentEvent - останавливает автоматическую внутреннюю обработку скрытого события
- getEventHandlers - получает прикреплённые функции из события и присоединённый элемент из текущего lua-скрипта
- getLatentEventHandles - получает текущие скрытые события в очереди
- getLatentEventStatus - получает состояние одного скрытого события в очереди
- removeEventHandler - открепляет от события обработчик
- triggerEvent - вызывает срабатывание указанного события для указанного элемента в дереве элементов
- wasEventCancelled - проверяет, было ли отменено последнее завершённое событие