[Piercing Blow] PROTOCOL_BASE_MAP_MATCHINGLIST - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Point Blank (Piercing Blow)

Point Blank (Piercing Blow)
Общие вопросы по написанию эмулятора. General questions on developing emulator. При поддержке: Lucera 2 - разработка Java Interlude

Ответ
Опции темы
Непрочитано 07.01.2018, 01:46   #1
Забанен за кидаловo/обман/развод

Автор темы (Топик Стартер) PROTOCOL_BASE_MAP_MATCHINGLIST

Как сделать так чтобы пакет отсылал всю информацию но частями например по 800 байт
В данный момент сделано так PROTOCOL_BASE_MAP_MATCHINGLIST_PART_1, PROTOCOL_BASE_MAP_MATCHINGLIST_PART_2, PROTOCOL_BASE_MAP_MATCHINGLIST_PART_3
С магазином тоже самое , а нужно чтобы из всего списка отсылал определенное количество и не всегда одинаковое количество.
Подскажите где искать подобное.
Boris2105 вне форума Ответить с цитированием
Непрочитано 07.01.2018, 10:19   #2
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: PROTOCOL_BASE_MAP_MATCHINGLIST

На оффе по 100 элементов отправляет в PROTOCOL_BASE_MAP_MATCHINGLIST_ACK.

public static class ListExtensions
{
    public static IEnumerable<IEnumerable<T>> Split<T>(this IEnumerable<T> list, int limit)
    {
        return list.Select((item, inx) => new { item, inx })
            .GroupBy(x => x.inx / limit)
            .Select(g => g.Select(x => x.item));
    }
}
 
Code: C#


var parts = maps.Split(100);
 
foreach (var part in parts)
{
    var list = part.ToList();
 
    Response(new PROTOCOL_BASE_MAP_MATCHINGLIST_ACK(list));
}
 
Code: C#
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 07.01.2018, 19:58   #3
Забанен за кидаловo/обман/развод

Автор темы (Топик Стартер) Re: PROTOCOL_BASE_MAP_MATCHINGLIST

а в ack что слать тогда?
Boris2105 вне форума Ответить с цитированием
Непрочитано 07.01.2018, 21:31   #4
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: PROTOCOL_BASE_MAP_MATCHINGLIST

Связки режимов и карт. Данные у тебя есть, разбери их для начала.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 07.01.2018, 22:17   #5
Забанен за кидаловo/обман/развод

Автор темы (Топик Стартер) Re: PROTOCOL_BASE_MAP_MATCHINGLIST

Цитата:
Сообщение от PROGRAMMATOR Посмотреть сообщение
Связки режимов и карт. Данные у тебя есть, разбери их для начала.
структура пакета разобрал, просто один раз её послать или как?
Boris2105 вне форума Ответить с цитированием
Непрочитано 07.01.2018, 22:49   #6
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: PROTOCOL_BASE_MAP_MATCHINGLIST

у тебя есть список режимов, его разбиваешь на списки по 100 элементов.

Отправляй части. В самом пакете, как видно из сниффа:

// short
// byte - количество режимов для текущей части
 
foreach (var mode in modes)
{
	// ...
}
 
// int - если это последняя часть, то 1, иначе 0.
// short - сколько режимов было отправлено
// short - общее количество режимов
 
Code: C#
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 11:06. Часовой пояс GMT +3.

Вверх