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

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

nesss

Путник
Участник
Сообщения
129
Розыгрыши
0
Решения
3
Репутация
-2
Реакции
14
Баллы
85
Всем привет, столкнулся с ошибкой, после выбора чара и нажатии на кнопку "Начать" показывает лого загрузки и не чего не происходит, при нажатии 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 пакета, первый связан с небом, второй инфа о персонаже, сейчас тестить буду еще
 
Назад
Сверху Снизу