Как получить пользователя по идентификатору и отключить пользователя
Это мой код Но пользователь = ноль
Как получить пользователя по идентификатору и отключить пользователя?
Zone zone = (Zone)event.getParameter(SFSEventParam.ZONE);
User user = zone.getUserById(1);
this.getApi().disconnectUser(user,ClientDisconnectionReason.IDLE);
1 ответ
Вы получаете пользователя по id = 1, идентификатор может быть недействительным, идентификатор, который SFS дает каждому пользователю, может отличаться, это не похоже на массив, который начинается с 0, он может меняться каждый раз, когда кто-то подключается или отключается, когда игрок подключается к sfs, он принимает идентификатор, когда он отключается, кто-то еще может взять его, вы можете получить идентификатор пользователя следующим образом:
Collection<User> users = getParentExtension().getParentZone().getUserList();
while (users.iterator().hasNext())
{
int id = users.iterator().next().getId();
}
а затем использовать функцию отключения, чтобы отключить его, или просто использовать пользователя из коллекции, чтобы отключить его.