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

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

Описание темы:SM_ENTER_ROOM

Ответ
Опции темы
Непрочитано 23.05.2016, 18:21   #1
Пользователь

Автор темы (Топик Стартер) Помогите с комнатами при входе игрока вылетает клиент

Создал комнату. При попытке зайти 2 игроку в комнату у него вылетел клиент.
Смена настроек комнаты появляються лишнии игрока переход игрока за другую команду пропадает ник
Помогите мне пожалуйста)))
Код:
 /*
 * Java Server Emulator Project Blackout / PointBlank
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * Authors: DarkSkeleton, sjke, Felixx
 * Copyright (C) 2013 PBDev™
 */

package ru.pb.game.network.client.packets.server;

import ru.pb.core.models.Clan;
import ru.pb.core.models.Player;
import ru.pb.core.models.RoomSlot;
import ru.pb.game.network.client.packets.ServerPacket;

/**
 * Неизместный пакет, отправляется вместе с пекетов авторизации
 *
 * @author sjke
 */
public class SM_ROOM_PLAYER_ENTER extends ServerPacket {

	private final RoomSlot slot;

	public SM_ROOM_PLAYER_ENTER(RoomSlot slot) {
		super(0xF45);
		this.slot = slot;
	}

	@Override
	public void writeImpl() {
	/*	writeD(slot.getId());
		writeC(slot.getState().ordinal());
		writeC(slot.getPlayer() == null ? 0 : slot.getPlayer().getRank());
		writeC(0x2d);
		writeC(0x40);
		writeB(new byte[10]);
		writeC(slot.getPlayer() == null || slot.getPlayer().getClan() == null ? 255 : slot.getPlayer().getClan().getLogo1());
		writeC(slot.getPlayer() == null || slot.getPlayer().getClan() == null ? 255 : slot.getPlayer().getClan().getLogo2());
		writeC(slot.getPlayer() == null || slot.getPlayer().getClan() == null ? 255 : slot.getPlayer().getClan().getLogo3());
		writeC(slot.getPlayer() == null || slot.getPlayer().getClan() == null ? 255 : slot.getPlayer().getClan().getLogo4());
		writeC(slot.getPlayer() == null || slot.getPlayer().getClan() == null ? 0 : slot.getPlayer().getClan().getColor());
		writeB(new byte[6]); //TEST?
		writeS(slot.getPlayer() == null || slot.getPlayer().getClan() == null ? "" : slot.getPlayer().getClan().getName(), Clan.CLAN_NAME_SIZE);
		writeS(slot.getPlayer() == null ? "" : slot.getPlayer().getName(), Player.MAX_NAME_SIZE);
		writeC(slot.getPlayer() == null ? 0 : slot.getPlayer().getColor());*/
        writeD(slot.getId());
        writeC(slot.getState().ordinal());
        writeH(slot.getPlayer() == null ? 0 : slot.getPlayer().getRank());
        writeB(new byte[8]);
        writeC(slot.getPlayer() == null || slot.getPlayer().getClan() == null ? 255 : slot.getPlayer().getClan().getLogo1());
        writeC(slot.getPlayer() == null || slot.getPlayer().getClan() == null ? 255 : slot.getPlayer().getClan().getLogo2());
        writeC(slot.getPlayer() == null || slot.getPlayer().getClan() == null ? 255 : slot.getPlayer().getClan().getLogo3());
        writeC(slot.getPlayer() == null || slot.getPlayer().getClan() == null ? 255 : slot.getPlayer().getClan().getLogo4());
        writeC(slot.getPlayer() == null || slot.getPlayer().getClan() == null ? 0 : slot.getPlayer().getClan().getColor());
        writeS(slot.getPlayer() == null || slot.getPlayer().getClan() == null ? "" : slot.getPlayer().getClan().getName(), Clan.CLAN_NAME_SIZE);
        writeC(slot.getId());
        writeC(slot.getPlayer().getName().length());
       // writeH(0);
        writeC(0);
        writeH(slot.getPlayer().getName().length()+1);
        writeS(slot.getPlayer() == null ? "" : slot.getPlayer().getName());
        writeC(slot.getPlayer() == null ? 0 : slot.getPlayer().getColor());
slawa560 вне форума Ответить с цитированием
Непрочитано 23.05.2016, 18:32   #2
Аватар для Awiion

По умолчанию Re: Помогите с комнатами при входе игрока вылетает клиент

slawa560, Идентично PROTOCOL_LOBBY_CREATE_ROOM_ACK, PROTOCOL_ROOM_GET_SLOTINFO_ACK
Awiion вне форума Отправить сообщение для Awiion с помощью Skype™ Ответить с цитированием
Непрочитано 23.05.2016, 18:38   #3
Пользователь

Автор темы (Топик Стартер) Re: Помогите с комнатами при входе игрока вылетает клиент

Что?

Добавлено через 1 минуту
Все что выше этого writeD(slot.getId());
writeC(slot.getState().ordinal());
writeH(slot.getPlayer() == null ? 0 : slot.getPlayer().getRank());
writeB(new byte[8]);
writeC(slot.getPlayer() == null || slot.getPlayer().getClan() == null ? 255 : slot.getPlayer().getClan().getLogo1());
writeC(slot.getPlayer() == null || slot.getPlayer().getClan() == null ? 255 : slot.getPlayer().getClan().getLogo2());
writeC(slot.getPlayer() == null || slot.getPlayer().getClan() == null ? 255 : slot.getPlayer().getClan().getLogo3());
writeC(slot.getPlayer() == null || slot.getPlayer().getClan() == null ? 255 : slot.getPlayer().getClan().getLogo4());
writeC(slot.getPlayer() == null || slot.getPlayer().getClan() == null ? 0 : slot.getPlayer().getClan().getColor());
writeS(slot.getPlayer() == null || slot.getPlayer().getClan() == null ? "" : slot.getPlayer().getClan().getName(), Clan.CLAN_NAME_SIZE);
writeC(slot.getId());
writeC(slot.getPlayer().getName().length());
// writeH(0);
writeC(0);
writeH(slot.getPlayer().getName().length()+1);
writeS(slot.getPlayer() == null ? "" : slot.getPlayer().getName());
writeC(slot.getPlayer() == null ? 0 : slot.getPlayer().getColor());
В коментарьях !!

Последний раз редактировалось slawa560; 23.05.2016 в 18:40. Причина: Добавлено сообщение
slawa560 вне форума Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
pw - клиент вылетает zarkady Клиентская часть 1 19.06.2012 15:12
как убрать окно при входе в клиент IIuoHeP Игровой клиент 4 07.04.2011 16:58
Клиент вылетает в ОС =( DrPooH Aion 2 18.02.2011 22:05
Клиент вылетает после выбора перса Lelia Lineage II 8 23.01.2009 19:29


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

Вверх