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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 09.03.2011, 23:09   #1
Местный
 
Регистрация: 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   #2
Пользователь
 
Аватар для 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   #3
Местный
 
Регистрация: 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:54   #4
Местный
 
Регистрация: 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 вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack



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

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


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

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

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