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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 18.12.2007, 02:02   #111
Рыцарь
 
Аватар для VORON
 
Регистрация: 06.08.2007
Сообщений: 209
Сказал Спасибо: 6
Имеет 67 спасибок в 34 сообщенях
VORON пока неопределено
По умолчанию

//*************************СЛЕДИМ ЗА ХП и МП******************************************
//следим за ХП КОМАНДИРА
if FromServer and (pck[1]=#$0e) and (ConnectName = NameKom) then
if (pck[2] + pck[3] + pck[4] + pck[5] = IDKomandos) and (pck[6]=#$04) then
begin
CurHPKom:=(ord(pck[15]) * 256 + ord(pck[14]));

if (CurHPKom < round(MaxHPKom*0.7)) then
if (tick1 = 1) then
begin
buf:=hstr('04') + IDKomandos + Bot1X + Bot1Y + Bot1Z + hstr('00');
SendToServerEX(NameBot1);
buf:=hstr('2F C1 04 00 00 00 00 00 00 00');
SendToServerEX(NameBot1);
delay(500);
buf:=hstr('04') + IDKomandos + Bot1X + Bot1Y + Bot1Z + hstr('00');
SendToServerEX(NameBot1);
end;

лмиты узнаем из пакета ЮЗЕР ИНФО ИНФО...


//*************************УЗНАЕМ ЛИМИТЫ ХП и МП***********************************************
//из пакета UserInfo который приходит во время бафа и не только

//КОМАНДИР
if FromServer and (pck[1]=#$04) and (ConnectName = NameKom) then
begin
i:=22;
tempS:=readS(i);
i:=i+48;
MaxHPKom:=readD(i);
CurHPKOM:=readD(i);
MaxMPKom:=readD(i);
CurMPKOM:=readD(i);
end;
__________________
Цитата:
Сообщение от pybukon
прежде чета попросить я немнога раскажу чтоб вы понили как мне плоха
Цитата:
Сообщение от Byrger
А как сделать мой скрипт бесконечным?
Цитата:
Сообщение от XKOR
.. каждый день ионизированной ногой протирает больную)
Цитата:
Сообщение от PsyR
Вылоджите пожалуйста скрипт на рыбалку желательно что бы сам в ВХ клал адаптированый под шоки и так же скрипт на ТТ рец, тоже с диалогами
VORON вне форума   Ответить с цитированием
Старый 18.12.2007, 02:26   #112
Гость
 
Сообщений: n/a
По умолчанию рыбалко

NLObP
Спасибо тебе огромное за скрпты, это то что я целый день сегодня искал. У нас просто хитрый антибот стоит, поэтому приходиться както выкручиваться. С l2ph ещё не до конца разобрался, но коечто уже понял. Но проблема вот в чём: я никак не могу запустить эти скрипты. Пробовал и обычную версию и для люды (у мну с4 pts). l2ph318 выдаёт ошибку типа "access violidation at adress 00528f70 at module "l2phx.exe". Read of adres 0000000".
А версия 300 ругается на строчку SendToClientEx(Name);
Я уже не знаю вообще что мне делать. На какой версии работал этот скрипт? Я его просмотрл сам, он мне псц как понравился, всё просто и понятно. А запускаться не хочет ((
  Ответить с цитированием
Старый 18.12.2007, 10:17   #113
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию Re: ДА БУДЕТ БОТ!

Цитата:
Сообщение от NLObP
Если не ошибаюсь, то:
Код:
procedure StatsUpdate;
var
  i: integer;
begin
  for i:=0 to ReadD(6)-1 do
    case pck[i*8+10] of
      #$09: CurHP:=ReadD(i*8+14);
      #$0A: MaxHP:=ReadD(i*8+14);
      #$0B: CurMP:=ReadD(i*8+14);
      #$0C: MaxMP:=ReadD(i*8+14);
      #$21: CurCP:=ReadD(i*8+14);
      #$22: MaxCP:=ReadD(i*8+14);
    end;
end;
Воо, только хотел спросить, прям мысли читаешь =)
Тогда другой вопрос: какие параметры, кроме хп,цп,мп мона выдрать из Статус Апдейт? #$11, например это что?

З.Ы. Данная расшифровка для С4 или ИЛ?
QaK вне форума   Ответить с цитированием
Старый 18.12.2007, 11:34   #114
Пользователь
 
Регистрация: 15.11.2007
Сообщений: 67
Сказал Спасибо: 4
Имеет 2 спасибок в 2 сообщенях
boyan
По умолчанию

каждый со своей колокольни короче..
тогда пойдем по другому.. в примере от mks в считывание учавствуют разные цифры:
//считываем текущие и максимальные значения CP и HP
if FromServer and (pck[1]+pck[6]=#$0E#$04) then
begin
CurHP:=ReadD(14);
MaxHP:=ReadD(22);
CurCP:=ReadD(30);
MaxCP:=ReadD(38);
end;


А вот сдесь, как я понимаю, считывание идет по 1:

//КОМАНДИР
if FromServer and (pck[1]=#$04) and (ConnectName = NameKom) then
begin
i:=22;
tempS:=readS(i);
i:=i+48;
MaxHPKom:=readD(i); //тут Я как понимаю i=70!?!?
CurHPKOM:=readD(i); //и тут
MaxMPKom:=readD(i); //и тут
CurMPKOM:=readD(i); //и тут
end;

где логика? кто нить объясните..
boyan вне форума   Ответить с цитированием
Старый 18.12.2007, 12:11   #115
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

Цитата:
Сообщение от boyan
//тут Я как понимаю i=70!?!?
тут i=80+длина строки tempS
QaK вне форума   Ответить с цитированием
Старый 18.12.2007, 14:38   #116
Пользователь
 
Регистрация: 15.11.2007
Сообщений: 67
Сказал Спасибо: 4
Имеет 2 спасибок в 2 сообщенях
boyan
По умолчанию

Я хочу считать количество МП, максимальное и на данный момент =) т.е. в предыдущем своем посте я спрашивал, какие циферки поставить вместо Х и У - чтобы считать =)
boyan вне форума   Ответить с цитированием
Старый 18.12.2007, 16:14   #117
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

На, держи, ме мучайся =) :D
Код:
const NameKom='УБЕР-ПАПКО-НАГИБАТЕЛЬ';
var CurHP,MaxHp,CurMP,MaxMP,CurCP,MaxCP:integer

procedure StatsUpdate;
var
  i: integer;
begin
  for i:=0 to ReadD(6)-1 do
    case pck[i*8+10] of
      #$09: CurHP:=ReadD(i*8+14);
      #$0A: MaxHP:=ReadD(i*8+14);
      #$0B: CurMP:=ReadD(i*8+14);
      #$0C: MaxMP:=ReadD(i*8+14);
      #$21: CurCP:=ReadD(i*8+14);
      #$22: MaxCP:=ReadD(i*8+14);
    end;
end;
//============================
//Основная часть скрипта
//Вызывается при приходе любого пакета
begin
if FromServer and (pck[1]=#$0E) and (ConnectName = NameKom)
                     then StatsUpdate;
end.
QaK вне форума   Ответить с цитированием
Старый 18.12.2007, 16:30   #118
Пользователь
 
Регистрация: 15.11.2007
Сообщений: 67
Сказал Спасибо: 4
Имеет 2 спасибок в 2 сообщенях
boyan
По умолчанию Re:

Цитата:
Сообщение от lQaKl
На, держи, ме мучайся =) :D
Код:
const NameKom='УБЕР-ПАПКО-НАГИБАТЕЛЬ';
Пасип! =)
пысы: интересный у тебя ник =)
boyan вне форума   Ответить с цитированием
Старый 22.12.2007, 17:29   #119
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию Re: ДА БУДЕТ БОТ!

Цитата:
Сообщение от lQaKl
Тогда другой вопрос: какие параметры, кроме хп,цп,мп мона выдрать из Статус Апдейт? #$11, например это что?

З.Ы. Данная расшифровка для С4 или ИЛ?
Это для ИЛ
Код:
	private static final String _S__0E_STATUSUPDATE = "[S] 0E StatusUpdate";
	public final static int LEVEL = 0x01;
	public final static int EXP = 0x02;
	public final static int STR = 0x03;
	public final static int DEX = 0x04;
	public final static int CON = 0x05;
	public final static int INT = 0x06;
	public final static int WIT = 0x07;
	public final static int MEN = 0x08;

	public final static int CUR_HP = 0x09;
	public final static int MAX_HP = 0x0a;
	public final static int CUR_MP = 0x0b;
	public final static int MAX_MP = 0x0c;

	public final static int SP = 0x0d;
	public final static int CUR_LOAD = 0x0e;
	public final static int MAX_LOAD = 0x0f;

	public final static int P_ATK = 0x11;
	public final static int ATK_SPD = 0x12;
	public final static int P_DEF = 0x13;
	public final static int EVASION = 0x14;
	public final static int ACCURACY = 0x15;
	public final static int CRITICAL = 0x16;
	public final static int M_ATK = 0x17;
	public final static int CAST_SPD = 0x18;
	public final static int M_DEF = 0x19;
	public final static int PVP_FLAG = 0x1a;
	public final static int KARMA = 0x1b;

	public final static int CUR_CP = 0x21;
	public final static int MAX_CP = 0x22;
В пакете StatusUpdate приходит лишь часть данных, по всей видимости изменяемых в данный момент.

Добавлено спустя 11 минут 35 секунд:
Цитата:
Сообщение от boyan
Цитата:
Сообщение от NLObP
Если не ошибаюсь, то:
Код:
procedure StatsUpdate;
var
  i: integer;
begin
  for i:=0 to ReadD(6)-1 do
    case pck[i*8+10] of
      #$09: CurHP:=ReadD(i*8+14);
      #$0A: MaxHP:=ReadD(i*8+14);
      #$0B: CurMP:=ReadD(i*8+14);
      #$0C: MaxMP:=ReadD(i*8+14);
      #$21: CurCP:=ReadD(i*8+14);
      #$22: MaxCP:=ReadD(i*8+14);
    end;
end;
вот своим этим постом, ты еще больше все запутал =)
Объясняю. Так как пакет StatusUpdate это:
Код:
0E=StatusUpdate:h(ObjectID)d(AttribCount)d(AttrID)d(AttrValue)
Берем из шестой позиции количество атрибутов (AttribCount). Проходим в цикле по пакету и сверяем код аттрибута (AttrID) из пакета с необходимыми нам атрибутом. Если совпало,то считываем величину этого аттрибута (AttrValue). Далее делаем необходимые проверки и действия...

По поводу ReadD(i)
ReadC(var index:integer):byte - читает из переменной pck байт
ReadH(var index:integer):word - читает из переменной pck число (2 байта) (v. 3.1.8+)
ReadD(var index:integer):integer - читает из переменной pck число (4 байта)
ReadF(var index:integer):double - читает из переменной pck число c плавающей запятой(8 байт) (v. 3.1.8+)
ReadS(var index:integer):string - читает из переменной pck строку (в пакете строка unicode нультерминированная, а результирующая строка обычная паскалевская)
Index - начальная позиция чтения, которая модифицируется функцией (сдвигается на число считанных байт)
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 22.12.2007, 23:42   #120
Рыцарь
 
Аватар для VORON
 
Регистрация: 06.08.2007
Сообщений: 209
Сказал Спасибо: 6
Имеет 67 спасибок в 34 сообщенях
VORON пока неопределено
По умолчанию Re:

Цитата:
Сообщение от boyan
каждый со своей колокольни короче..
тогда пойдем по другому.. в примере от mks в считывание учавствуют разные цифры:
//считываем текущие и максимальные значения CP и HP
if FromServer and (pck[1]+pck[6]=#$0E#$04) then
begin
CurHP:=ReadD(14);
MaxHP:=ReadD(22);
CurCP:=ReadD(30);
MaxCP:=ReadD(38);
end;


А вот сдесь, как я понимаю, считывание идет по 1:

//КОМАНДИР
if FromServer and (pck[1]=#$04) and (ConnectName = NameKom) then
begin
i:=22;
tempS:=readS(i);
i:=i+48;
MaxHPKom:=readD(i); //тут Я как понимаю i=70!?!?
CurHPKOM:=readD(i); //и тут
MaxMPKom:=readD(i); //и тут
CurMPKOM:=readD(i); //и тут
end;

где логика? кто нить объясните..
мне кажется переменная I применяющаяся во втором случае автоматически увеличивает свое значение на 4 байта.. когда применяется в качестве аргумента функции READD(xxxx)...
а ваще функция READD(XXX) - ето такой зверь который считывает строку в ИНТИГЕР ФОРМАТЕ начиная с указанного в скобках порядкового байта из пакета PCK и причем если в качестве аргумента использавалось не число а переменная то она автоматически увеличивает своё значение.. для удобства ламеров.. но ламеров ета фишка лиш путает... считывает она ровно 4 БАЙТА.. и на ету величину увеличивает переменную которая применяется в качестве аргумента в скобках...

Цитата:
Сообщение от boyan
MaxHPKom:=readD(i); //тут Я как понимаю i=70!?!?
ты неправильно понял...
ибо до етого мы пременили функцию READS(xxx) с аргументом "i" и ета переменная увеличила своё значение на длинну строки которую считала... а считала она- ХЗ сколько байт... нам не известно.. но известно точно что до окончания строки.. окончание строки ето зверь- заканчивающийся на '00 00' функция READS(xxx) считывает строку с указанного в скобках порядкового номера байта до символа окончания строки в стринговую переменную...
__________________
Цитата:
Сообщение от pybukon
прежде чета попросить я немнога раскажу чтоб вы понили как мне плоха
Цитата:
Сообщение от Byrger
А как сделать мой скрипт бесконечным?
Цитата:
Сообщение от XKOR
.. каждый день ионизированной ногой протирает больную)
Цитата:
Сообщение от PsyR
Вылоджите пожалуйста скрипт на рыбалку желательно что бы сам в ВХ клал адаптированый под шоки и так же скрипт на ТТ рец, тоже с диалогами
VORON вне форума   Ответить с цитированием
Ответ

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


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

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

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


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

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

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