Инжект по чему то не видит некоторые сообщения сервера….
При ловле рыбы сообщения где ловить и нехрена не поймал Видит
А что поймал Нет
В клиенте видно и то и другое.
Лыжи не едут только у меня или это у всех?
Проблема с Cliloc
Moderators: Murderator+, Murderator
Yoko wrote:чтобы не передавать много букв стандартного сообщения, передаётся только номер сообщения. потом клиент может выдать его сам используя выставленный пользователем "родной" язык, например английский.
Увидеть эти номера ты можешь при помощи журнала инжекта, если я не ошибаюсь. Используй команду ,showjournal
Команду ,showjournal я знаю
Можно мне уже звание дать эксперт журнала
Стоит у меня как раз русский клилок (переведенный мутантом, ибо мат сплошной в переводе)
Правда сегодня дали для SE нормальный
Про уни код тоже знаю, только я играю на UOGamers. А там в стафе русских нет 100%.
Глюк это однозначно.
Аналогично и в самураях и на аос (при этом клилок у них разный, у самураев больше фраз)
А в общих чертах инжект вполне работоспособен с клиентами до 4.0.6
На более свежих многие действия вызывают краш. Не скрипты,
а именно действия
Можно мне уже звание дать эксперт журнала
Стоит у меня как раз русский клилок (переведенный мутантом, ибо мат сплошной в переводе)
Правда сегодня дали для SE нормальный
Про уни код тоже знаю, только я играю на UOGamers. А там в стафе русских нет 100%.
Глюк это однозначно.
Аналогично и в самураях и на аос (при этом клилок у них разный, у самураев больше фраз)
А в общих чертах инжект вполне работоспособен с клиентами до 4.0.6
На более свежих многие действия вызывают краш. Не скрипты,
а именно действия
Вот как сервер RunUO передает сообщения в клиенту
Как читает их инжа не понял…
Толи в открытых исходниках ни как или туплю?
Описания пакета 0хС1 тоже не нашел
Как читает их инжа не понял…
Толи в открытых исходниках ни как или туплю?
Описания пакета 0хС1 тоже не нашел
Code: Select all
public sealed class MessageLocalized : Packet
{
private static MessageLocalized[] m_Cache_IntLoc = new MessageLocalized[15000];
private static MessageLocalized[] m_Cache_CliLoc = new MessageLocalized[100000];
private static MessageLocalized[] m_Cache_CliLocCmp = new MessageLocalized[5000];
public static MessageLocalized InstantiateGeneric( int number )
{
MessageLocalized[] cache = null;
int index = 0;
if ( number >= 3000000 )
{
cache = m_Cache_IntLoc;
index = number - 3000000;
}
else if ( number >= 1000000 )
{
cache = m_Cache_CliLoc;
index = number - 1000000;
}
else if ( number >= 500000 )
{
cache = m_Cache_CliLocCmp;
index = number - 500000;
}
MessageLocalized p;
if ( cache != null && index >= 0 && index < cache.Length )
{
p = cache[index];
if ( p == null )
cache[index] = p = new MessageLocalized( Serial.MinusOne, -1, MessageType.Regular, 0x3B2, 3, number, "System", "" );
}
else
{
p = new MessageLocalized( Serial.MinusOne, -1, MessageType.Regular, 0x3B2, 3, number, "System", "" );
}
return p;
}
public MessageLocalized( Serial serial, int graphic, MessageType type, int hue, int font, int number, string name, string args ) : base( 0xC1 )
{
if ( name == null ) name = "";
if ( args == null ) args = "";
if ( hue == 0 )
hue = 0x3B2;
this.EnsureCapacity( 50 + (args.Length * 2) );
m_Stream.Write( (int) serial );
m_Stream.Write( (short) graphic );
m_Stream.Write( (byte) type );
m_Stream.Write( (short) hue );
m_Stream.Write( (short) font );
m_Stream.Write( (int) number );
m_Stream.WriteAsciiFixed( name, 30 );
m_Stream.WriteLittleUniNull( args );
}
}
а это ренесанс
пакет немного иной
пакет немного иной
Code: Select all
0xC1 Packet
Last Modified on Sunday, 30-Jan-2000
Predefined Message (Variable # of bytes (always 0x32 at present))
· BYTE cmd
· BYTE[2] len (0x32)
· BYTE[4] id
· BYTE[2] body
· BYTE type (6 – lower left, 7 on player)
· BYTE[2] hue
· BYTE[2] font
· BYTE[2] type (0x0007 so far)
· BYTE[2] message number (0xA120 base)
· 0xA12D – “You cannot use skills.”
· 0xA2E2 – “But that’s not dead!”
· 0xA5F3 – “Help request aborted.”
· 0xA5F0 – “Please enter a brief description (up to 40 characters) of your problem:”
· BYTE[0x20] – speaker’s name
Server message
Note, type could be part of message number…