RU/onPlayerConnect: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
mNo edit summary  | 
				mNo edit summary  | 
				||
| Line 49: | 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 - проверяет, было ли отменено последнее завершённое событие