Ошибка в окне загрузки

  • Автор темы Автор темы nesss
  • Дата начала Дата начала

nesss

Единомышленник
Участник
Сообщения
138
Розыгрыши
0
Решения
3
Репутация
-2
Реакции
14
Баллы
130
Всем привет, столкнулся с ошибкой, после выбора чара и нажатии на кнопку "Начать" показывает лого загрузки и не чего не происходит, при нажатии ALT+TAB выбрасывает ошибку :
2024.5.18 14:24:53
OS : Windows Vista 6.2 (Build: 9200)
CPU : GenuineIntel PentiumPro-class processor @ 2402 MHz with 2047MB RAM
Video : AMD Radeon HD 8730M (1404)

General protection fault!

History: NConsoleWnd::ExecuteShortcutCommand <- NConsoleWnd::HandleKeyboardInput <- NConsoleWnd::HookShortCutKey <- NConsoleWnd::DispatchWndMsgX <- NConsoleWnd::DispatchWndMsg <- UWindowsViewport::ViewportWndProc <- WWindow::StaticProc <- DispatchMessage <- 000803FA 256 <- MessagePump <- MainLoop
Что это может быть?
 
General protection fault! - это битый клиент ( т.е.патч не подходит).
 
Та в том то и дело, что патч я сам собираю для своего сервера, в каком файле может быть беда? я просто только начал изучать сам клиент.
 
Та в том то и дело, что патч я сам собираю для своего сервера, в каком файле может быть беда? я просто только начал изучать сам клиент.
да понятно что сам правил. Вспоминай как только появилась ошибка какой/какие последние файлы правил.
 
Я же полностью папку System заменил на новую, все так же
 
кроме систем еще систем текстур есть. Со сборкой же должен был быть патч.
 
Сборка моя личная с нуля пишу, менял и сис текстуры и вообще что угодно с клиентом уже делал, все равно зависает на картинке Loading и не чего не происходит, если жму Esc вылетает та ошибка, что скинул в 1 посте
 
Сборка моя личная с нуля пишу, менял и сис текстуры и вообще что угодно с клиентом уже делал, все равно зависает на картинке Loading и не чего не происходит, если жму Esc вылетает та ошибка, что скинул в 1 посте
Нигде не косячил с предметами? Зависать при входе на перса может если криво поменял стартовые предметы. Или у перса остались предметы , которые удалил и т.п. Попробуй чистый аккаунт для начала.
 
Нет предметов вообще на персе, их вообще еще не существует, чары голые
 
Нет предметов вообще на персе, их вообще еще не существует, чары голые
Вспоминай, что еще делал и это отображается у перса. Может приветствие в окне при входе. Если дело не в клиенте то это должны быть твои косяки.
 
Сборка моя личная с нуля пишу, менял и сис текстуры и вообще что угодно с клиентом уже делал, все равно зависает на картинке Loading и не чего не происходит, если жму Esc вылетает та ошибка, что скинул в 1 посте
А до этого на твоей сборке в мир вообще пускало?
 
в логах сервера есть что то?
Нет, ошибок нет, все чисто, как жму Esc вылетает ошибка, я перезахожу, сервер отлично работает, проверял пакеты, все четко.

Вспоминай, что еще делал и это отображается у перса. Может приветствие в окне при входе. Если дело не в клиенте то это должны быть твои косяки.
Не чего, последнее что написал, так это поток, который следит за игровым временем, то есть там же сутки идут 4 реальных часов, вот эго написал, он отлично работает.
Потом пакет написал установки неба по игровому времени:
Java:
/**
 * <b>Пакет данных</b><br><br>
 * <small>Пакет предназначен для отправки клиенту.</small><br><br>
 * <b>Отправляет данные:</b><br><br>
 * <small>* Номер неба.</small><br><br>
 */
public class SkyInfo extends PacketWriteC {

    public static final SkyInfo REGULAR_SKY = new SkyInfo(256);
    public static final SkyInfo DUSK_SKY = new SkyInfo(257);
    public static final SkyInfo DAWN_SKY = new SkyInfo(258);

    private final int id;

    /**
     * @return небо относительно времени на сервере.
     */
    public static SkyInfo getSky() {

        final int worldTime = WorldTime.getInstance().getGameHour();
        if (worldTime >= 4 && worldTime <= 5) return DAWN_SKY;
        else if (worldTime > 5 && worldTime < 20) return REGULAR_SKY;
        else return DUSK_SKY;

    }

    /**
     * <b>Конструктор</b><br>
     * <small>Выполняет действия при создании нового экземпляра класса.</small>
     * @param id номер неба.
     */
    public SkyInfo(int id) { this.id = id; }

    /**
     * <b>Описание</b><br>
     * <small>Формирует пакет данных для отправки клиенту.</small>
     */
    @Override
    public void write() {

        writeByte(0xf8);
        writeShort(id);

    }
    
}

И пакет с инфой о персонаже которого выбрал в окне выбора персонажа и нажал на кнопку "Играть":
Java:
/**
 * <b>Пакет данных</b><br><br>
 * <small>Пакет предназначен для отправки клиенту.</small><br><br>
 * <b>Отправляет данные:</b><br><br>
 * <small>* Разрешение на создания нового персонажа.</small><br><br>
 */
public class CharacterSelected extends PacketWriteC {

    private final Player player;
    private final int sessionId;

    /**
     * <b>Конструктор</b><br>
     * <small>Выполняет действия при создании нового экземпляра класса.</small>
     * @param player объект игрока (персонажа) в игре.
     * @param sessionId идентификатор сессии клиента.
     */
    public CharacterSelected(Player player, int sessionId) {

        this.player = player;
        this.sessionId = sessionId;

    }

    /**
     * <b>Описание</b><br>
     * <small>Формирует пакет данных для отправки клиенту.</small>
     */
    @Override
    public void write() {

        writeByte(0x15);
        writeString(player.getName());
        writeInt(player.getId());
        writeString(player.getTittle());
        writeInt(sessionId);
        writeInt(player.getClan());
        writeInt(0x00);
        writeInt(player.getSex());
        writeInt(player.getRace());
        writeInt(player.getActiveClass());
        writeInt(0x01);
        writeInt(player.getX());
        writeInt(player.getY());
        writeInt(player.getZ());
        writeDouble(player.getCharacterStatus().getCurrentHp());
        writeDouble(player.getCharacterStatus().getCurrentMp());
        writeInt(player.getCharacterStatus().getSp());
        writeLong(player.getCharacterStatus().getExp());
        writeInt(player.getCharacterStatus().getLevel());
        writeInt(0x00);
        writeInt(0x00);
        writeInt(player.getCharacterStatus().getsInt());
        writeInt(player.getCharacterStatus().getsStr());
        writeInt(player.getCharacterStatus().getsCon());
        writeInt(player.getCharacterStatus().getsMen());
        writeInt(player.getCharacterStatus().getsDex());
        writeInt(player.getCharacterStatus().getsWit());

        for (int i = 0; i < 30; i++) writeInt(0x00);

        writeInt(0x00);
        writeInt(0x00);
        writeInt(WorldTime.getInstance().getGameTime());
        writeInt(0x00);
        writeInt(player.getActiveClass());
        writeInt(0x00);
        writeInt(0x00);
        writeInt(0x00);
        writeInt(0x00);

    }

}
А до этого на твоей сборке в мир вообще пцскало?
Нет, вот только сегодня дошел до этого, пакеты прописал, и вот такая штука вылетает ))
 
Нет, ошибок нет, все чисто, как жму Esc вылетает ошибка, я перезахожу, сервер отлично работает, проверял пакеты, все четко.


Не чего, последнее что написал, так это поток, который следит за игровым временем, то есть там же сутки идут 4 реальных часов, вот эго написал, он отлично работает.
Потом пакет написал установки неба по игровому времени:
Java:
/**
 * <b>Пакет данных</b><br><br>
 * <small>Пакет предназначен для отправки клиенту.</small><br><br>
 * <b>Отправляет данные:</b><br><br>
 * <small>* Номер неба.</small><br><br>
 */
public class SkyInfo extends PacketWriteC {

    public static final SkyInfo REGULAR_SKY = new SkyInfo(256);
    public static final SkyInfo DUSK_SKY = new SkyInfo(257);
    public static final SkyInfo DAWN_SKY = new SkyInfo(258);

    private final int id;

    /**
     * @return небо относительно времени на сервере.
     */
    public static SkyInfo getSky() {

        final int worldTime = WorldTime.getInstance().getGameHour();
        if (worldTime >= 4 && worldTime <= 5) return DAWN_SKY;
        else if (worldTime > 5 && worldTime < 20) return REGULAR_SKY;
        else return DUSK_SKY;

    }

    /**
     * <b>Конструктор</b><br>
     * <small>Выполняет действия при создании нового экземпляра класса.</small>
     * @param id номер неба.
     */
    public SkyInfo(int id) { this.id = id; }

    /**
     * <b>Описание</b><br>
     * <small>Формирует пакет данных для отправки клиенту.</small>
     */
    @Override
    public void write() {

        writeByte(0xf8);
        writeShort(id);

    }
   
}

И пакет с инфой о персонаже которого выбрал в окне выбора персонажа и нажал на кнопку "Играть":
Java:
/**
 * <b>Пакет данных</b><br><br>
 * <small>Пакет предназначен для отправки клиенту.</small><br><br>
 * <b>Отправляет данные:</b><br><br>
 * <small>* Разрешение на создания нового персонажа.</small><br><br>
 */
public class CharacterSelected extends PacketWriteC {

    private final Player player;
    private final int sessionId;

    /**
     * <b>Конструктор</b><br>
     * <small>Выполняет действия при создании нового экземпляра класса.</small>
     * @param player объект игрока (персонажа) в игре.
     * @param sessionId идентификатор сессии клиента.
     */
    public CharacterSelected(Player player, int sessionId) {

        this.player = player;
        this.sessionId = sessionId;

    }

    /**
     * <b>Описание</b><br>
     * <small>Формирует пакет данных для отправки клиенту.</small>
     */
    @Override
    public void write() {

        writeByte(0x15);
        writeString(player.getName());
        writeInt(player.getId());
        writeString(player.getTittle());
        writeInt(sessionId);
        writeInt(player.getClan());
        writeInt(0x00);
        writeInt(player.getSex());
        writeInt(player.getRace());
        writeInt(player.getActiveClass());
        writeInt(0x01);
        writeInt(player.getX());
        writeInt(player.getY());
        writeInt(player.getZ());
        writeDouble(player.getCharacterStatus().getCurrentHp());
        writeDouble(player.getCharacterStatus().getCurrentMp());
        writeInt(player.getCharacterStatus().getSp());
        writeLong(player.getCharacterStatus().getExp());
        writeInt(player.getCharacterStatus().getLevel());
        writeInt(0x00);
        writeInt(0x00);
        writeInt(player.getCharacterStatus().getsInt());
        writeInt(player.getCharacterStatus().getsStr());
        writeInt(player.getCharacterStatus().getsCon());
        writeInt(player.getCharacterStatus().getsMen());
        writeInt(player.getCharacterStatus().getsDex());
        writeInt(player.getCharacterStatus().getsWit());

        for (int i = 0; i < 30; i++) writeInt(0x00);

        writeInt(0x00);
        writeInt(0x00);
        writeInt(WorldTime.getInstance().getGameTime());
        writeInt(0x00);
        writeInt(player.getActiveClass());
        writeInt(0x00);
        writeInt(0x00);
        writeInt(0x00);
        writeInt(0x00);

    }

}

Нет, вот только сегодня дошел до этого, пакеты прописал, и вот такая штука вылетает ))
Не все требуемые для входа пакеты значит реализовал.
 
Ну по алгоритму 2 пакета сервер отправляет клиенту при выборе чара и нажатии на кнопку "Играть" Я отправил 2 пакета, первый связан с небом, второй инфа о персонаже, сейчас тестить буду еще
 
Назад
Сверху