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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 05.10.2007, 22:00   #1
Новичок
 
Регистрация: 05.10.2007
Адрес: Украина
Сообщений: 19
Сказал Спасибо: 0
Имеет 23 спасибок в 13 сообщенях
DeVolf пока неопределено
По умолчанию Кружок нубов(Вопрос-Ответ)

//QaK:отдельная тема по подкючению пакетхака к серверу >>>>>>>>тут
любые вопросы по данной тематике в этом топе будут удаляться без предупреждения.


Код:
const
mp='8A 1B 15 01 10';
hp='8A 1A 15 01 10';
begin
if fromclient and (pck[1]=#$38#$F5#$00#$EF#$00#$00#$00#$03#$00#$00#$00) then
begin
buf:=hstr(hp);
SendToServer;
end;
if fromclient and (pck[2]=#$33#$F5#$00#$EF#$00#$40#$00#$03#$00#$00#$00) then
begin
buf:=hstr(mp);
SendToServer;
end;
end.
где я ошибся?

Последний раз редактировалось QaK, 30.08.2010 в 18:56.
DeVolf вне форума   Ответить с цитированием
За это сообщение DeVolf нажился 6 спасибками от:
Старый 07.06.2011, 08:43   #1741
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

гГ че там насчет в байты пялитса? А это - чье? Жми сюда!!
__________________
На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."

А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Breadfan вне форума   Ответить с цитированием
Старый 07.06.2011, 08:54   #1742
Местный
 
Регистрация: 11.06.2010
Сообщений: 644
Сказал Спасибо: 119
Имеет 85 спасибок в 77 сообщенях
dyh9l пока неопределено
По умолчанию

Breadfan, ну блиа) я тока начинал знакомство с пх некто ж мну не учил что можно по другому )))))
__________________
dyh9l вне форума   Ответить с цитированием
Старый 07.06.2011, 08:58   #1743
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

и второе - чтоб верно считать read'ом - надо формат строк знать. Ты знаешь аионский формат? я - нет. так что уж лучше делать "как оно работает", чем "так будет красивее, но хз как оно работает".
__________________
На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."

А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Breadfan вне форума   Ответить с цитированием
Старый 07.06.2011, 08:59   #1744
Местный
 
Регистрация: 11.06.2010
Сообщений: 644
Сказал Спасибо: 119
Имеет 85 спасибок в 77 сообщенях
dyh9l пока неопределено
По умолчанию

Цитата:
Сообщение от Breadfan Посмотреть сообщение
и второе - чтоб верно считать read'ом - надо формат строк знать. Ты знаешь аионский формат? я - нет. так что уж лучше делать "как оно работает", чем "так будет красивее, но хз как оно работает".
на расшифровку поглядеть вот тебе и формат строки)
__________________
dyh9l вне форума   Ответить с цитированием
Старый 07.06.2011, 09:30   #1745
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

от и что ему проще: обозначить в условии так как оно есть, или, чтобы комутотам угодить - лезть неизвестно куда, высматривая форматы (не факт что в инишках - от той самой нужной сборки) - и переписывать код, не зная заранее "а будет ли оно живое"?
__________________
На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."

А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Breadfan вне форума   Ответить с цитированием
За это сообщение Breadfan нажился спасибкой от:
Старый 08.06.2011, 01:00   #1746
Местный
 
Регистрация: 23.02.2009
Сообщений: 319
Сказал Спасибо: 72
Имеет 60 спасибок в 45 сообщенях
Kilatif пока неопределено
По умолчанию

Breadfan, с одной стороны ты прав, с другой - так привязываться к константам.. По мне это не очень хорошо. Для начала конечно не плохо, но если идти дальше, то я думаю ему самому будет легче разбивать эту вот ерунду на Read'ы и Write'ы по структурам тексать. Например, будет у него пакет на 60 байтов, какого-нибудь маленького itemlist'а и что, он будет так же вот по 60 байт переписывать? Поэтому лучше конечно сразу разбираться так, что бы было понятно, но потом упрощать для дальнейших изменений, т.е. создавать 1 скрипт для различных условий (но иногда это означает усложнят код, что, на мой взгляд, не существенный минус, если во всем разобраться)
Kilatif вне форума   Ответить с цитированием
Старый 08.06.2011, 01:33   #1747
Местный
 
Аватар для Deffol
 
Регистрация: 17.02.2011
Сообщений: 118
Сказал Спасибо: 51
Имеет 2 спасибок в 2 сообщенях
Deffol пока неопределено
По умолчанию

Помогите тогда разобраться
Вот у меня есть слово например, первый 4 байта это вроде ID на сообшение в чат, потом идет само сообщение, например это /брбр
Как мне сделать, чтоб Read, считывал это слово в чате?
вот у меня слово
'delphi' Код:
('B9 57 76 00 2F 00 31 04 40 04 31 04 40 04 00 00')
там 12 пар байтов, я не знаю как их считать

Добавлено через 2 минуты
там даже 10 байтов слова, 2 пары нулей, это не относится к слову, я не знаю, что это, какой то ID

Последний раз редактировалось Deffol, 08.06.2011 в 01:33. Причина: Добавлено сообщение
Deffol вне форума   Ответить с цитированием
Старый 08.06.2011, 02:16   #1748
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,224
Сказал Спасибо: 4
Имеет 229 спасибок в 182 сообщенях
SeregaZ пока неопределено
По умолчанию

delphi Код:
if FromServer and (pck[1]=#$4A) and (pck[6]=#$03) //пати чат просят рес   then begin      j:=10;                 // j - стартовая позиция указателя      //CharOID:=ReadD(j);   // -- OID перса      //TextType:=ReadD(j); //-- индекс чата в котором пишется текст      nick:=ReadS(j);    //-- считывается ник, и, одновременно, указатель байта сдвигается на его длинну, т.е после выполнения команды будет j:=j+(длинна_блока_оканчивающегося "00 00")      text:=ReadS(j);    //-- считываем текст сообщения      if (text='рес') then begin         idtelasmerti:=pck[2]+pck[3]+pck[4]+pck[5]; //вычисление айди того, кто просит рес, то есть он труп         buf:=HStr('04 ') + idtelasmerti;  //наведение таргета на этот труп. палевно, так как я не указал координаты трупа, но зато работает.         SendToServer;         rabota:='resurect';      end      else begin         if (text='хил') then begin            rabota:='heal';         end;         if (text='стоп') then begin            rabota:='';         end;         if (text='офф') then begin            rabota:='';            Timer01.enabled:=false;            buf:=HStr('46')//рестарт            SendToServer;         end;      end;   end;

кусочек кода из моего проекта.
__________________
хочу картинку в подпись!

Последний раз редактировалось Breadfan, 08.06.2011 в 08:48.
SeregaZ вне форума   Ответить с цитированием
Старый 08.06.2011, 02:39   #1749
Местный
 
Регистрация: 23.02.2009
Сообщений: 319
Сказал Спасибо: 72
Имеет 60 спасибок в 45 сообщенях
Kilatif пока неопределено
По умолчанию

Deffol, два последних байта нулей - обычно так обозначается конец строки, т.к. строка может быть любого размера, то как-то нужно конец обозначить - вот и обозначили двумя байтами нулей при WideString (в такой строке 2 байта определяют 1 символ), как у тебя собственно или еще может быть 1 пара нулей, если это обычная строка (1 символ = 1 байт) Я считаю все что связанно с считыванием строк нужно считывать именно через ReadS, т.к. эта процедура сама определяет где у тебя строка кончается. А именно у тебя это будет так:

Код:
...
var pos : integer; //позиция для чтения в твоем пакете
    x : integer; //ID на сообщение в чат
    s : string; //твоя строка
...
begin
  pos := 1;//ставим позицию для чтения с первого байта пакета;
  x := ReadD(pos); //читаем 4 байта ID и переменная pos сразу сместится на 4 байта и станет равна 5
  s := ReadS(pos);// считывает строку в переменную s и смещает курсор pos на количество считанных байт
end;
...
А если тебе нужно считать только строку в данном случае это будет выглядеть так:
...
pos := 5;
s := ReadS(pos);
...

Вроде нигде не ошибся

Последний раз редактировалось Kilatif, 08.06.2011 в 02:42.
Kilatif вне форума   Ответить с цитированием
За это сообщение Kilatif нажился спасибкой от:
Старый 08.06.2011, 09:53   #1750
Местный
 
Аватар для Deffol
 
Регистрация: 17.02.2011
Сообщений: 118
Сказал Спасибо: 51
Имеет 2 спасибок в 2 сообщенях
Deffol пока неопределено
По умолчанию

кому как конечно, но мне кажется, что легче весь пакет добавить
места меньше занимает и я лучше понимаю, что к чему
Deffol вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack



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

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


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

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

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