понедельник, февраля 11, 2008

Внутренние события SmartFoxServer

При определенных обстоятельствах SmartFoxServer генерирует внутренние события, которые можно обработать методом handleInternalEvent(event), где event.name - имя события, event.* - параметры события.

События:

fileUpload - клиент загрузил на сервер файл используя клиентское SFS API.
files - массив объектов со свойствами fileName(имя, под которым файл сохранился на сервере) и originalName (оргигнальное имя файла на клиенте)
user - объект User пользователя, пославшего файл.

loginRequest - генерируется в момент авторизации пользователя в зоне сервера. Только для скриптов уровня зоны. Только при включенной опции зоны customLogin.
nick - имя пользователя (java.lang.String)
pass - пароль пользователя (java.lang.String)
chan - объект сокет-канала соединения

logOut - генерируется, когда пользователь выходит из зоны.
roomIds - список всех комнат, в которых был пользователь (только для уровня зоны) (Java array)
playerIndexes - список всех номеров слотов, которые были у игрока до выхода (только для уровня зоны) (Java array)
uid - идентификатор вышедшего пользователя (java.lang.String)
chan - объект сокет-канала соединения
oldPlayerIndex - номер слота игрока для текущей комнаты (только для уровня комнаты)

newRoom - создана новая комната в зоне (только для уровня зоны).
room - объект новой комнаты

pubMsg - послано публичное сообщение.
room - объект комнаты
user - объект пользователя пославшего сообщение
msg - сообщение (java.lang.String)

privMsg - послано публичное сообщение.
room - объект комнаты
sender - объект пользователя пославшего сообщение
recipient - объект пользователя принимающего сообщение
msg - сообщение (java.lang.String)

roomLost - уничтожена комната в зоне (только для уровня зоны) .
roomId - идентификатор уничтоженной комнаты

spectatorSwitched - наблюдатель переключился в пользователя.
user - объект User пользователя, ставшего игроком
playerIndex - номер слота

userExit - пользователь покинул комнату зоны.
uid - идентификатор пользователя (java.lang.String)
oldPlayerIndex - номер слота игрока (java.lang.String)
room - объект комнаты, которую покинул пользователь

userJoin - пользователь вошел в комнату зоны.
user - объект User пользователя
room - объект Room комнаты

userLost- генерируется, когда пользователь непредсказуемо отключается от сервера.
roomIds - список всех комнат, в которых был пользователь (только для уровня зоны) (Java array)
playerIndexes - список всех номеров слотов, которые были у игрока до выхода (только для уровня зоны) (Java array)
uid - идентификатор вышедшего пользователя (java.lang.String)
oldPlayerIndex - номер слота игрока для текущей комнаты (только для уровня комнаты)
ЗАМЕЧЕНО: Если пользователь выходит непредсказуемо в момент события userLost, данные getAllUsers(), а так же getSpectatorCount() и getUserCount() еще старые и обновляются позже.

Комментариев нет: