|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.08.2010, 16:23 | #561 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Это чего за экзотика ?
Код:
Код:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
19.08.2010, 21:22 | #562 |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
Было на данный участок кода подозрение, но не придал особого значения этому.
У меня возникли вопросы по данной системе проверки на подленность: 1. Сможет ли пользователь набрать все три нарушения, если в каждом из них мы отправляем в L1 и перед обработкой команд делаем предварительный сброс d := 0. Максимум, по моему мнению, можно набрать только два или вообще одно. Может просто переводить в L1 без принятия каких-либо мер 2. В самом конце таймера после восстановления Caption формы я после подсчёта нарушений закрываю соединение с нарушителем, как в этом случае поступить с обновлением списка юзеров Последний раз редактировалось Shouldercannon; 20.08.2010 в 13:10. |
21.08.2010, 12:14 | #563 |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
2. Как можно реализовать третью иконку - иконку админа? Первым действие скорее всего нужно добавить какой-нибудь разделитель или символ здесь
Код:
|
21.08.2010, 17:23 | #564 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Сброс d := 0 должен быть только в конце условия в основном таймере:
Код:
Закрытие с сервера канала пользователя вызовет ServerSocketClientDisconnect, обновление списка и опрос на авторизацию выполнится автоматически. С иконками статусов и пр. я вроде уже пояснял как быть. Вот создание строки списка: StrUserList := StrUserList + UserMas[i].Name + Chr(152); Четко зная, что первые несколько байт - системные, можно легко вносить в список и все коды на иконки и состояния: StrUserList := StrUserList + UserMas[i].Rank + UserMas[i].StatIcon + UserMas[i].Name + Chr(152); При расшифровке на стороне пользователя вы точно знаете, что все, что между знаками разделения, не является ником, а лишь символы поле двух первых, один из которых отвечает за ранг пользователя (обычный/админ), а второй за состояние пользователя (отошел, занят, недоступен, готов поболтать и пр.), вам 9-и вариантов хватит и для первого и для второго системного кодирования.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
21.08.2010, 17:55 | #565 |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
1, Не буду делать подсчёт нарушений так как закрывать соединение бесполезно это только вызовет на клиенте автопереподключение и лишнее обновление списка юзеров. Банить нарушителя тоже бесполезно. С клиента не так часто могут приходить неверные пакеты, это больше относится к программам, в которых на нужный IP:Port начинает посылаться всякий мусор на сервер.
2. Пояснение иконки статуса читал. Сейчас попробую разобраться. UserMas[i].Rank это будет string и равен 1 // Админ. Код:
Код:
Код:
Код:
Последний раз редактировалось Shouldercannon; 21.08.2010 в 22:28. |
22.08.2010, 01:47 | #566 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Если пользователь нарушил достаточно, его нужно выбросить и записать в банлист, его повторное подключение будет игнорироваться.
Rank - ранг: сервер, пользователь, администратор, нужны иконки в ImageList, они должны именоваться соответственно. В любой момент можно у клиента по пришедшему списку и символам до ника определить номер картинки, через StrToInt, будет число его присвоить к UItems.ImageIndex.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
22.08.2010, 13:03 | #567 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
Разобраться с иконками оказалось проще чем я думал.
Цитата:
Клиент Код:
Код:
Последний раз редактировалось Shouldercannon; 22.08.2010 в 13:46. |
|
23.08.2010, 17:17 | #568 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
А зачем отмечать в списке off-line пользователей? ...нет в списке и все, значит нет на связи, подключится - появится в списке.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
23.08.2010, 19:39 | #569 |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
Я не знаю, вы предложили данный способ и если я правильно понял, то юзер, которого нет в сети будет иметь другую иконку (если оно того требует) и не будет сбрасываться при обновлении списка, но если это не нужно, то не буду делать.
|
23.08.2010, 20:03 | #570 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Юзер, которого нет в сети не может иметь иконку, он не подключен к серверу, его нет в списке пользователей, ...андерстенд?
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
обновление в блоге - Создание клиент-сервера | Pblog | Обсуждение статей | 0 | 03.10.2007 17:12 |
обновление в блоге - Диплом. Создание и продвижение сайта - готовь сани летом, а дипл | Pblog | Обсуждение статей | 0 | 31.08.2007 20:00 |
обновление в блоге - USB Холодильник | Pblog | Обсуждение статей | 0 | 25.06.2007 14:13 |
обновление в блоге - О ярлыках | Pblog | Обсуждение статей | 0 | 27.05.2007 03:17 |