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

Скриптинг Форум посвещенный созданию скриптов для L2PacketHack

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 15.10.2008, 10:21   #1
Новичок
 
Регистрация: 05.10.2008
Сообщений: 10
Сказал Спасибо: 4
Имеет 1 спасибку в 1 сообщении
creaDo пока неопределено
По умолчанию диалог с нпс

При розговоре с нпс ГК получаю хтмлку что-то вроде:
HTML: <html><body><font color="LEVEL">Gatekeeper Karin:</font><br>Вы закончили ваши дела? Если у вас всё ещё есть что продать, и вы хотите что то купить я могу вновь открыть дверь измерений.<br><a action="bypass -h 9081690ddf308712">Переместиться на другой этаж</a><br><a action="bypass -h 34cc702de1aee003">Задание</a>
</body></html>

как отсюда можно выдернуть ключик? (9081690ddf308712)
Ключ постоянно меняеться, ниче лучше чем переливать его в buf по байтово нипридумал, мб есть какие-то другие варианты?
длина 16 символов (32 байта)

сделал вариант для первой кнопки.

delphi Код:
var n, t:integer;  st:string;   procedure fly(k:integer); begin buf:=#$23; for n:=0 to 31 do begin writec(readc(n+k)); end; writeH(0); sendtoserver; end; function find(d:integer):integer; begin result:=0 for n:=1 to d do if (result=0) and (pck[n-6]=#$2d) and (pck[n-4]=#$68) and (pck[n-2]=#$20) then result:=n; end; begin  if (FromServer) and (pck[1]=#$19) then  fly(find(668));
да и еше где можно выдирнуть розмер пакета? пх его знает, есть какая-то переменная где храниться размер пакета?

Последний раз редактировалось creaDo, 15.10.2008 в 10:25. Причина: Добавлено сообщение
creaDo вне форума   Ответить с цитированием
Старый 15.10.2008, 11:57   #2
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

http://coderx.ru/showthread.php?p=14512#post14512 - скрипт на скупку свитков в КХ, http://coderx.ru/showthread.php?t=143&page=4 - скрипт на скупку семян, в обоих скриптах есть процедура поиска ключей команд и подсчета их количества. Длина пакета - length(pck)
__________________
На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."

А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Breadfan вне форума   Ответить с цитированием
Старый 15.10.2008, 14:42   #3
Местный
 
Аватар для PanAm
 
Регистрация: 18.01.2008
Сообщений: 286
Сказал Спасибо: 24
Имеет 133 спасибок в 80 сообщенях
PanAm
По умолчанию

Алгоритм в примерах не ахти
в фастскрипте достаточно функций для работы со строками
читайте fs.rtf

Строковые функции
function Length(s: String): Integer
Длина строки

function Copy(s: String; from, count: Integer): String
Возвращает подстроку из строки с заданной позиции заданной длины

function Pos(substr, s: String): Integer
Позиция подстроки в строке

procedure Delete(var s: String; from, count: Integer)
Удаляет подстроку из строки с заданной позиции заданной длины

procedure Insert(s: String; var s2: String; pos: Integer)
Добавляет первую строку ко второй строке

function Uppercase(s: String): String
Перевод строки в верхний регистр

function Lowercase(s: String): String
Перевод строки в нижний регистр

function Trim(s: String): String
Удаляет окружающие пробелы из строки

function NameCase(s: String): String
Перевод первого символа в верхний регистр

function CompareText(s, s1: String): Integer
Сравнение строк

function Chr(i: Integer): Char
Возвращает символ с заданным номером

function Ord(ch: Char): Integer
Возвращает номер заданного символа

procedure SetLength(var S: String; L: Integer)
Устанавливает длину строки

Вполне хватит для поиска подстроки для алгоритма без вложенного цикла
PanAm вне форума   Ответить с цитированием
За это сообщение PanAm нажился 3 спасибками от:
Старый 15.10.2008, 16:00   #4
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

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

А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Breadfan вне форума   Ответить с цитированием
Старый 16.10.2008, 14:55   #5
Местный
 
Аватар для PanAm
 
Регистрация: 18.01.2008
Сообщений: 286
Сказал Спасибо: 24
Имеет 133 спасибок в 80 сообщенях
PanAm
По умолчанию

я наверно так написал бы
как пример работы со строками, в работе не проверялся
delphi Код:
//Анализ HTML кода procedure HTMLParsing(S : string); var   p : integer;     //позиция в тексте   code : string; begin   p := Pos('bypass -h ', S);     //находим   while p > 0 do begin         //а вдруг не нашли     code := copy(S, p+10, 16);   //в Code копируем кусок из 16 символов,                                  //пропуская 'bypass -h '     /////////////////////////////////////////////////     // ....  тут ваш код для обработки строки code     /////////////////////////////////////////////////     Delete(S, 1, p+26);          //удаляем обработанный кусок строки     p := Pos('bypass -h ', S);   //ищем дальше   end;             //кстати тут точка с запятой не нужна,                      //но форум тогда не подсвечивает end end; Var   HTML : String; begin   if FromServer and (pck[1]=#$19) then begin     HTML := ReadS(6); //Считываем текст диалога     HTMLParsing(HTML) //и передаем на анализ   end;           //и тут ; не надо )))) end.

Последний раз редактировалось PanAm, 20.10.2008 в 16:14. Причина: Добавлено сообщение
PanAm вне форума   Ответить с цитированием
За это сообщение PanAm нажился 2 спасибками от:
Старый 18.10.2008, 22:20   #6
Новичок
 
Регистрация: 05.10.2008
Сообщений: 10
Сказал Спасибо: 4
Имеет 1 спасибку в 1 сообщении
creaDo пока неопределено
По умолчанию

ПОлучай спасибку. Еше 1 вопросик:
После каких функций в end надо ставить ; а после каких ненадо?
(не в етом с крипте а вообще)
creaDo вне форума   Ответить с цитированием
Старый 20.10.2008, 14:59   #7
Местный
 
Аватар для PanAm
 
Регистрация: 18.01.2008
Сообщений: 286
Сказал Спасибо: 24
Имеет 133 спасибок в 80 сообщенях
PanAm
По умолчанию

чесно говоря хз
не найду сейчас точного описания, тут почитайне
http://wm-help.net/books-online/prin...3/22873-3.html
начало статьи описывает немного синтаксис паскаля.
Вобсчем, главное перед ELSE не ставить.

Последний раз редактировалось PanAm, 20.10.2008 в 15:24.
PanAm вне форума   Ответить с цитированием
Старый 23.10.2008, 09:49   #8
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

creaDo, после end нельзя ставить точку с запятой только если за ним идёт else в блоке if ... then begin ... end else begin ... end;
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
За это сообщение xkor нажился спасибкой от:
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг



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

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


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

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

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