Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Packet PROTOCOL_BASE_NOTICE_ACK(662)
#1
PROGRAMMATOR.
У меня как то странно работает данный пакет.
Структура у меня получилось такая.
Код:
10 байт
writeH(); 2 байта длина сообщения в чате
writeS();Само сообщений
writeH();2 байта для анонсера
writeS();Сам анонсер
при этом он у меня выводит какие то иероглифы.
И не можешь подсказать как сменить кадировку на новом клиенте?
Ответ
#2
Открой иду\олю набери "Arial".... увидишь Unicode
Тык >Unicode<
Ответ
#3
Boris2105, не нужно её менять, он понимает Unicode. У тебя просто структура не правильная.

[SRC="csharp"]namespace PiercingBlow.Auth.Network.Send
{
class PROTOCOL_BASE_NOTICE_ACK : Packet
{
ServerNotice notice;

public PROTOCOL_BASE_NOTICE_ACK(ServerNotice notice)
{
this.notice = notice;
}

public override void WriteImpl()
{
Write<ushort>(0);
Write<int>(notice.Greeting.Color);
Write<int>(notice.Announcement.Color);
Write<ushort>(notice.Greeting.Text.Length);
WriteUnicode(notice.Greeting.Text);
Write<ushort>(notice.Announcement.Text.Length);
WriteUnicode(notice.Announcement.Text);
}
}
}
[/SRC]
Ответ
#4
PROGRAMMATOR Написал:Boris2105, не нужно её менять, он понимает Unicode. У тебя просто структура не правильная.

[SRC="csharp"]namespace PiercingBlow.Auth.Network.Send
{
class PROTOCOL_BASE_NOTICE_ACK : Packet
{
ServerNotice notice;

public PROTOCOL_BASE_NOTICE_ACK(ServerNotice notice)
{
this.notice = notice;
}

public override void WriteImpl()
{
Write<ushort>(0);
Write<int>(notice.Greeting.Color);
Write<int>(notice.Announcement.Color);
Write<ushort>(notice.Greeting.Text.Length);
WriteUnicode(notice.Greeting.Text);
Write<ushort>(notice.Announcement.Text.Length);
WriteUnicode(notice.Announcement.Text);
}
}
}
[/SRC]

не помогло(
[Изображение: ji3_xW7vqeA.jpg]
Ответ
#5
[Изображение: sVv3J.png]
[Изображение: blKLG.png]
:confused:

Скинь код метода WriteS.
Ответ
#6
PROGRAMMATOR Написал:[Изображение: sVv3J.png]
[Изображение: blKLG.png]
:confused:

Скинь код метода WriteS.
Код:
protected internal void writeS(string name, int count)
        {
            if (name != null)
            {
                writeB(Encoding.GetEncoding(1251).GetBytes(name));
                writeB(new byte[count - name.Length]);
            }
        }
Ответ
#7
Ну тут типо того

Код:
public void WriteUnicode(string text, int count)
        {
            if (text != null)
            {
                WriteB(Encoding.GetEncoding(1200).GetBytes(text));
                WriteB(new byte[count - (text.Length * 2)]);
            }
        }
Ответ
#8
Awiion Написал:Ну тут типо того

Код:
public void WriteUnicode(string text, int count)
        {
            if (text != null)
            {
                WriteB(Encoding.GetEncoding(1200).GetBytes(text));
                WriteB(new byte[count - (text.Length * 2)]);
            }
        }

Спасибо , все работает)
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Packet Encrypt ManuelDev 1 3,112 09-04-2019, 06:46 PM
Последний пост: ManuelDev
  how to descrypt packet pb client version current bmzproject 6 2,081 03-04-2019, 04:17 AM
Последний пост: bmzproject
  How to fix Packet Ping Opcode 97 Udp 3 BallDev 0 1,405 11-28-2018, 08:42 PM
Последний пост: BallDev
  UDP3 Send-back packet ManuelDev 3 1,909 06-29-2018, 12:18 PM
Последний пост: ManuelDev
  Need Packet Structure Lastest Client garsia 0 1,157 06-07-2018, 01:43 AM
Последний пост: garsia
  Help me UDP3 Before send packet to player bmzproject 0 1,174 05-14-2018, 02:26 PM
Последний пост: bmzproject
  Point Blank unknown packet AlikoD 10 3,233 03-21-2017, 09:30 PM
Последний пост: ManuelDev
  Where do i find this progress bar packet bola 4 1,388 01-12-2017, 09:01 PM
Последний пост: bola
  Packet 3084 ? Probably LOBBY_GET_ROOMINFO_ACK or GET_ROOMINFOADD_ACK bola 3 1,723 10-27-2016, 05:45 PM
Последний пост: PROGRAMMATOR
  what is the meaning of packet PROTOCOL_GET_CUR_MEDAL_SET_INFO_ACK bola 1 1,215 10-22-2016, 07:59 AM
Последний пост: bola

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


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