Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
PROTOCOL_BATTLE_TIMERSYNC_ACK
#11
Boris2105 Написал:а все теперь понял, прости что надо разжевывать .
еще один вопрос.
бой начинается, но вот клиент поле пакета респауна не отправляет никаких запросов, то есть вообще ничего.

[Изображение: fJdKgi9ievY.jpg]

Ну видя потому, что бой начался, респ прошел, инфы по игрокам нет, смотри SM_ROOM_GET_SLOTINFO, видима там косяк..
Ответ
#12
Awiion Написал:Ну видя потому, что бой начался, респ прошел, инфы по игрокам нет, смотри SM_ROOM_GET_SLOTINFO, видима там косяк..

так я же использую твою структуру

[Изображение: VsNsX0nxA7c.jpg]

Код:
WriteH(0);  // Инк
            WriteC(16); // Количество слотов

            for (int i = 0; i < 16; i++)
            {
                Write<Byte>(8);                  // Статус
                Write<Byte>(9);                  // Ранг
                Write<Int32>(1);                 // Клан Ид
                Write<Int32>(1);                 // Клан Роль
                Write<Byte>(9);                  // Клан Ранг
                Write<Byte>(3);                  // Клан лого 1
                Write<Byte>(4);                  // Клан лого 2
                Write<Byte>(5);                  // Клан лого 3
                Write<Byte>(6);                  // Клан лого 4
                Write<Byte>(1);                  // Премиум
                Write<Int32>(0);                 // Купоны
                Write<Byte>(new byte[5]);   // Инк
                Write<Byte>(new byte[34]); // Имя клана
                Write<Byte>(0);                 // Инк
                Write<Byte>(225);              // Инк
            }

            Write<Byte>(0); //Главный слот игрока
Ответ
#13
Awiion;411841 Написал:Этот пакет отвечает за конец боя....
когда таймер Time<1, сработают пакеты, об окончание боя
Этот пакет лучше всего игнорировать и не обращать внимание на его данные. Расчёт окончания боя нужно проводить на сервере.

Boris2105;411846 Написал:так я же использую твою структуру
У слота статус меняешь? В бою у него должен быть 15.
Ответ
#14
PROGRAMMATOR Написал:Этот пакет лучше всего игнорировать и не обращать внимание на его данные. Расчёт окончания боя нужно проводить на сервере.


У слота статус меняешь? В бою у него должен быть 15.

уже меняю , но вот только ботов все равно нету и запросов от клиента больше не идет.
[Изображение: 3sWo12UkVF4.jpg]
Ответ
#15
Не видел я ботов с рангом ГМ и состоящих в клане.
Когда перестанешь прописывать "статичные данные" в пакетах - эта проблема исчезнет.
Ответ
#16
PROGRAMMATOR Написал:Не видел я ботов с рангом ГМ и состоящих в клане.
Когда перестанешь прописывать "статичные данные" в пакетах - эта проблема исчезнет.

а ну этих ботов я взял из команды 4game :redlol::redlol:
Ответ
#17
PROGRAMMATOR Написал:У слота статус меняешь? В бою у него должен быть 15.

Можно подробней, как его сменить в бою на 15
Ответ
#18
Empert, игровой клиент на разных этапах присылает серверу пакеты PROTOCOL_BATTLE_PRESTARTBATTLE_REQ и PROTOCOL_BATTLE_STARTBATTLE_REQ соответственно, в них нужно проставлять необходимый State слоту игрока и отправлять PROTOCOL_ROOM_GET_SLOTINFO_ACK всем игрокам, чтобы они были в курсе этого изменения.
Ответ
#19
PROGRAMMATOR Написал:Empert, игровой клиент на разных этапах присылает серверу пакеты PROTOCOL_BATTLE_PRESTARTBATTLE_REQ и PROTOCOL_BATTLE_STARTBATTLE_REQ соответственно, в них нужно проставлять необходимый State слоту игрока и отправлять PROTOCOL_ROOM_GET_SLOTINFO_ACK всем игрокам, чтобы они были в курсе этого изменения.

статус
Ответ
#20
[SRC="csharp"] public enum SlotState : byte
{
Empty = 0,
Closed = 1,
Setting = 5,
Normal = 8,
Ready = 9,
Load = 10,
PreStart = 12,
PreBattle = 14,
Battle = 15,
}
[/SRC]
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 2 Гость(ей)