04-14-2017, 09:28 PM
PROTOCOL_ROOM_GET_SLOTINFO_ACK
|
04-14-2017, 10:18 PM
PROTOCOL_BATTLE_READYBATTLE_REQ приходит от клиента, после того, как он решил вступить в бой. Соответственно проставляешь клиенту статус Ready (9). Если бой уже начался или условия начала боя соблюдены (имеется необходимое количество игроков со статусом Ready) то нужно присвоить игроку\ам статус Load (10).
PROTOCOL_BATTLE_PRESTARTBATTLE_REQ при получении от клиента устанавливаешь ему статус PreStart (12) и как только очередь игроков со статусом Load закончится, меняешь статус комнаты на PreBattle: [SRC="csharp"]public void PreStartBattleRequest(Account account) { account.SetState(SlotState.PreStart); if (GetAccounts(SlotState.Load).Count() < 1) { SetState(RoomState.PreBattle); } } [/SRC] После этого от клиентов ждёшь пакет PROTOCOL_BATTLE_STARTBATTLE_REQ устанавливаешь ему статус PreBattle, а комнате Battle и можешь стартовать раунд. При старте раунда естественно устанавливаешь статус Battle и у самого клиента. Только нужно дождаться всей очереди и запускать раунд уже всем подключившимся, а то кто-то будет раньше других появляться в бою.
04-14-2017, 11:02 PM
PROGRAMMATOR, а сейчас в Piercing Blow магазин вообще никак не изменить или есть какие то варианты?
04-15-2017, 01:14 AM
Зачем? Он меняется всё так же пакетами. Shop.dat - это кэш магазина.
|
« Предыдущая | Следующая »
|
Возможно похожие темы ... | |||||
Тема | Автор | Ответы | Просмотры | Последний пост | |
PROTOCOL_ROOM_GET_SLOTINFO_ACK | 15 | 2,741 |
08-10-2017, 01:29 PM Последний пост: Awiion |
||
PROTOCOL_ROOM_GET_SLOTINFO_ACK | 29 | 4,866 |
06-13-2016, 05:16 PM Последний пост: PROGRAMMATOR |
||
Структура PROTOCOL_ROOM_GET_SLOTINFO_ACK | 1 | 1,566 |
04-01-2016, 09:25 AM Последний пост: PROGRAMMATOR |
Пользователи, просматривающие эту тему: 2 Гость(ей)