Вернуться   CoderX :: Forums > Lineage II > L2PacketHack
Войти через OpenID

L2PacketHack Форум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела! Обсуждение багов Lineage ЗАПРЕЩЕНО!

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 09.03.2011, 21:40   #21
Пользователь
 
Аватар для michonik
 
Регистрация: 21.01.2011
Сообщений: 49
Сказал Спасибо: 8
Имеет 8 спасибок в 6 сообщенях
michonik пока неопределено
По умолчанию

Возникла такая трабла ,при правке чата две последние строки пакета это ник перса и само сообщение. Так вот строки меняют длинну в зависимости от ника и байт начала сообщения смещается, отчего некоректно они отображаются. Как с этим бороться? Или хотябы как определить первый байт сообщения? Пример:
MAIIINHNCTKA:NCTKA
4A E8 97 F0 10 00 00 00 00 4D 00 41 00 49 00 49 00 49 00 4E 00 48 00 4E 00 43 00 54 00 4B 00 41 00 00 00 48 00 69 00 00 00
Omanderonn
4A 63 76 05 10 11 00 00 00 4F 00 6D 00 61 00 6E 00 64 00 65 00 72 00 6F 00 6E 00 00 00 12 04 22 04 21 04 20 00 10 04 40 04 3A 04 43 04 20 00 2B 00 37 00 20 00 41 04 20 00 21 04 10 04 20 00 3F 04 3C 04 20 00 31 00 41 00 4C 00 49 00 4E 00 4B 00 41 00 31 00 00 00
Жирным выделены байт начала ника и самого сообщения
__________________
Пока мы убиваем время,
время убивает нас...
Слова начальника: Ну как, все планеты победил?
michonik вне форума   Ответить с цитированием
Старый 09.03.2011, 22:24   #22
Местный
 
Регистрация: 23.02.2009
Сообщений: 319
Сказал Спасибо: 72
Имеет 60 спасибок в 45 сообщенях
Kilatif пока неопределено
По умолчанию

Цитата:
Сообщение от michonik Посмотреть сообщение
Возникла такая трабла ,при правке чата две последние строки пакета это ник перса и само сообщение. Так вот строки меняют длинну в зависимости от ника и байт начала сообщения смещается, отчего некоректно они отображаются. Как с этим бороться? Или хотябы как определить первый байт сообщения? Пример:
MAIIINHNCTKA:NCTKA
4A E8 97 F0 10 00 00 00 00 4D 00 41 00 49 00 49 00 49 00 4E 00 48 00 4E 00 43 00 54 00 4B 00 41 00 00 00 48 00 69 00 00 00
Omanderonn
4A 63 76 05 10 11 00 00 00 4F 00 6D 00 61 00 6E 00 64 00 65 00 72 00 6F 00 6E 00 00 00 12 04 22 04 21 04 20 00 10 04 40 04 3A 04 43 04 20 00 2B 00 37 00 20 00 41 04 20 00 21 04 10 04 20 00 3F 04 3C 04 20 00 31 00 41 00 4C 00 49 00 4E 00 4B 00 41 00 31 00 00 00
Жирным выделены байт начала ника и самого сообщения
Чат криво отображается тоже из-за несоответствия пакетов, если ты об этом В принципе, решение этому есть буквально 1-2 страницей раньше этого топика, где J-Fobos мне помог решить такую же проблему.
Kilatif вне форума   Ответить с цитированием
Старый 09.03.2011, 23:05   #23
Пользователь
 
Аватар для michonik
 
Регистрация: 21.01.2011
Сообщений: 49
Сказал Спасибо: 8
Имеет 8 спасибок в 6 сообщенях
michonik пока неопределено
По умолчанию

Цитата:
Сообщение от Kilatif Посмотреть сообщение
Чат криво отображается тоже из-за несоответствия пакетов, если ты об этом В принципе, решение этому есть буквально 1-2 страницей раньше этого топика, где J-Fobos мне помог решить такую же проблему.
Это немного другая проблема. Иероглифы побеждены благодаря
buf:=#$4A;
WriteD(0);
WriteD(type);// чтобы чат разделялся на общий, пм и тд
WriteS('');
WriteS(' '+Msg+#0+#0+#0+#0);;(от Фбоса, за что ему респект)
SendToClientEx(name);
Дальше я подставляю в msg:
msg1:=ReadS(10);//ник
msg2:=ReadS(24);//сообщение НО ВОТ ЭТОТ № БАЙТА ВСЕ ВРЕМЯ МЕНЯЕТСЯ
type:=ReadD(6);
SendMsg2((msg1)+':'+(msg2));
Как мне узнать первый байт сообщения в пакете?
Если нада выложу весь скрипт
__________________
Пока мы убиваем время,
время убивает нас...
Слова начальника: Ну как, все планеты победил?

Последний раз редактировалось michonik, 09.03.2011 в 23:08.
michonik вне форума   Ответить с цитированием
Старый 09.03.2011, 23:09   #24
Местный
 
Регистрация: 11.06.2010
Сообщений: 644
Сказал Спасибо: 119
Имеет 85 спасибок в 77 сообщенях
dyh9l пока неопределено
По умолчанию

Цитата:
Сообщение от michonik Посмотреть сообщение
Это немного другая проблема. Иероглифы побеждены благодаря
buf:=#$4A;
WriteD(0);
WriteD(type);// чтобы чат разделялся на общий, пм и тд
WriteS('');
WriteS(' '+Msg+#0+#0+#0+#0);;(от Фбоса, за что ему респект)
SendToClientEx(name);
Дальше я подставляю в msg:
msg1:=ReadS(10);//ник
msg2:=ReadS(24);//сообщение НО ВОТ ЭТОТ № БАЙТА ВСЕ ВРЕМЯ МЕНЯЕТСЯ
type:=ReadD(6);
SendMsg2((msg1)+':'+(msg2));
Как мне узнать первый байт сообщения в пакете?
Если нада выложу весь скрипт
a:=10;
msg1:=ReadS(a);
msg2:=ReadS(a);

если я правильно тебя понял
__________________
dyh9l вне форума   Ответить с цитированием
За это сообщение dyh9l нажился спасибкой от:
Старый 09.03.2011, 23:26   #25
Пользователь
 
Аватар для michonik
 
Регистрация: 21.01.2011
Сообщений: 49
Сказал Спасибо: 8
Имеет 8 спасибок в 6 сообщенях
michonik пока неопределено
По умолчанию

Цитата:
Сообщение от dyh9l Посмотреть сообщение
a:=10;
msg1:=ReadS(a);
msg2:=ReadS(a);

если я правильно тебя понял
Нет, msg1:=ReadS(10); /это ник, ево начало 10 й байт пакета
msg2:=ReadS(х); /тело сообщения
но а у них разные, тоесть
4A 00 00 00 00 11 00 00 00 00 00 20 00 20 00 56 00 65 00 72 00 6E 00 65 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
черное ник, и он начинается всегда с 10 байта
а цветное это сообщение и оно начинается с другова байта в зависимости от длинны ника. ППЦ, как быть?
!!!
Все разобрался! Спасибо dyh9l! Походу выполнения операции переменная а изменяется.
msg1:=ReadS(a);//а=10
msg2:=ReadS(a);//а=скока нада
Только теперь почемуто длинные сообщения не выводит полностью
__________________
Пока мы убиваем время,
время убивает нас...
Слова начальника: Ну как, все планеты победил?

Последний раз редактировалось michonik, 09.03.2011 в 23:40.
michonik вне форума   Ответить с цитированием
Старый 09.03.2011, 23:54   #26
Местный
 
Регистрация: 23.02.2009
Сообщений: 319
Сказал Спасибо: 72
Имеет 60 спасибок в 45 сообщенях
Kilatif пока неопределено
По умолчанию

Цитата:
Сообщение от michonik Посмотреть сообщение
Нет, msg1:=ReadS(10); /это ник, ево начало 10 й байт пакета
msg2:=ReadS(х); /тело сообщения
но а у них разные, тоесть
4A 00 00 00 00 11 00 00 00 00 00 20 00 20 00 56 00 65 00 72 00 6E 00 65 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
черное ник, и он начинается всегда с 10 байта
а цветное это сообщение и оно начинается с другова байта в зависимости от длинны ника. ППЦ, как быть?
!!!
Все разобрался! Спасибо dyh9l! Походу выполнения операции переменная а изменяется.
msg1:=ReadS(a);//а=10
msg2:=ReadS(a);//а=скока нада
Только теперь почемуто длинные сообщения не выводит полностью
Лично для меня проще пользоваться процедурой ReadMask; Пример на твоем пакете:

Код:
var temp : array [0..10] of variant;
...
...
ReadMask('DDSS', 2, temp);
...
...
Теперь у тебя в массиве temp будет хранится весь прочитанный пакет. Конкретно строки будут храниться в temp[2] (ник) и temp[3] (сообщение)
Kilatif вне форума   Ответить с цитированием
Старый 10.03.2011, 00:44   #27
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
Хорошо Волкер от vpnbot

Перенес посты из темы Кружок нубов(Вопрос-Ответ) чтоб был более менее порядок на форуме. Продолжим обсуждение тут
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber

Последний раз редактировалось J-Fobos, 10.03.2011 в 00:48.
J-Fobos вне форума   Ответить с цитированием
За это сообщение J-Fobos нажился спасибкой от:
Старый 10.03.2011, 00:54   #28
Местный
 
Регистрация: 11.06.2010
Сообщений: 644
Сказал Спасибо: 119
Имеет 85 спасибок в 77 сообщенях
dyh9l пока неопределено
По умолчанию

Цитата:
Сообщение от michonik Посмотреть сообщение
Нет, msg1:=ReadS(10); /это ник, ево начало 10 й байт пакета
msg2:=ReadS(х); /тело сообщения
но а у них разные, тоесть
4A 00 00 00 00 11 00 00 00 00 00 20 00 20 00 56 00 65 00 72 00 6E 00 65 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
черное ник, и он начинается всегда с 10 байта
а цветное это сообщение и оно начинается с другова байта в зависимости от длинны ника. ППЦ, как быть?
!!!
Все разобрался! Спасибо dyh9l! Походу выполнения операции переменная а изменяется.
msg1:=ReadS(a);//а=10
msg2:=ReadS(a);//а=скока нада
Только теперь почемуто длинные сообщения не выводит полностью
это смещение, можно еще как то поколдовать с length но у мну дружеских отношений с этой функцией не сложились) можешь по гуглить)
__________________
dyh9l вне форума   Ответить с цитированием
Старый 10.03.2011, 23:02   #29
Местный
 
Регистрация: 23.02.2009
Сообщений: 319
Сказал Спасибо: 72
Имеет 60 спасибок в 45 сообщенях
Kilatif пока неопределено
По умолчанию

Заметил одну интересную особенность, которая меня вводит просто в недоумение..... Я взял 8 чаров и 1 бота-бафера. Из этих 8 чаров, он не бафает только 1!!! (причем того, кого мне нужно =( )При этом чары самые ранзные. И классы разные и сокланы и не сокланы и лвлы разные. Я просто не понимаю почему так...

Добавлено через 20 часов 34 минуты
В общем что касается бафа сопартийцев... Я так и не понял в чем мой гном такой особенный и почему его единственного нормально не бафает, но. Что касается пакетов, то заметил что не бафает его тогда, когда на бафера приходит пакет PartySmallWindowAll (но это скорее всего из-за того что я там этот пакет коверкаю, что бы нормально отображались имена пати), НО тем не менее это не мешает ему бафать других чаров!!! а вот когда приходит пакет PartySmallWindowAdd На бафера, то бафает он вроде всех и без всяких проблем.

А на самом деле я не понимаю, он то бафает нормально то не бафает.... В общем китайский рандом) Зато я разобрался с авторесом. Когда умирает чар, приходит с сервера пакет Die, так вот что бы авторес работал нужно после CharID вставлять имя того кто умер

Последний раз редактировалось Kilatif, 10.03.2011 в 23:39. Причина: Добавлено сообщение
Kilatif вне форума   Ответить с цитированием
За это сообщение Kilatif нажился спасибкой от:
Старый 11.03.2011, 00:47   #30
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

Спасибо за авторес
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber
J-Fobos вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack


Опции темы
Опции просмотра

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

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


Часовой пояс GMT +4, время: 11:26.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!