PDA

Просмотр полной версии : Автозаточка, просто и сердито!


Страницы : 1 [2]

TAMBIK
29.08.2009, 23:02
блин кажеться удалили гритинг из действий
1е соц действие включает и выключает автозаточку.
http://s06.radikal.ru/i179/0908/98/b3e74274bcd3.jpg (http://www.radikal.ru)

NLObP
30.08.2009, 01:20
Refresher^xD, поставь галочку Kamael-Hellbound-Gracia в Общих настройках. Получается у тебя сейчас с сервером типа Интерлюд работатет. Нижняя галочка T2 - Gracia Final отвечает за показ и расшифровку пакетов в логе только.

Refresher^xD
30.08.2009, 01:43
Refresher^xD, поставь галочку Kamael-Hellbound-Gracia в Общих настройках. Получается у тебя сейчас с сервером типа Интерлюд работатет. Нижняя галочка T2 - Gracia Final отвечает за показ и расшифровку пакетов в логе только.
спасибо большое все получилось только времени больше надо ставить ато кикнули))

Добавлено через 14 минут
А как сделать чтобы после ломания пухи он сам точил???? сорь если этот вопрос был в других темах

Refresher^xD
01.09.2009, 19:40
ребят так как сделать так чтобы если он сломал предмет сам жал на начать а не останавливался

TAMBIK
01.09.2009, 20:09
Refresher^xD,
это надо делать как в скрипте заточка у
NLObP,
проверку рюкзака чтоб по ид вещи запомнить все обжектид вещей
после поломке отправлять пакет с обжектид новой вещи

NLObP
01.09.2009, 23:14
Refresher^xD, morozik, скрипт на заточку одного предмета блессед заточками, если вдруг используешь простые заточки, то предмет пропадает и скрипт необходимо инициировать с самого начала в ручную для другого предмета. Читайте внимательно, для чего предназначен скрипт.

Refresher^xD
02.09.2009, 13:16
а можите этот скриптик подбросить а то вообще не шарю в скриптах

Эга
02.09.2009, 23:10
const
nik='Fallen";
Enchant=40;

var
UseItem, SelectItem, EnchantItem: string;
Count, CurrentEnch, key, ItemID: integer;
Timer01: TTimer;


procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=2100;
end;

procedure OnTimer01(Sender: TObject);
begin
case key of
1: begin
buf:=UseItem;
SendToServerEx(nik);
buf:=SelectItem;
SendToServerEx(nik);
end;
2: begin
buf:=EnchantItem;
SendToServerEx(nik);
end;
end;
end;

procedure Free;
begin
Timer01.free;
count:=0;
CurrentEnch:=0;
end;

begin
if FromServer and (pck[1]=#$87) then case ReadD(2) of
0: begin
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
3: CurrentEnch:=0;
end;
if FromServer and (pck[1]=#$FE) then
if ReadD(4)=ItemID then key:=2 else key:=1;

if FromClient and (pck[1]=#$19) then UseItem:=pck;
if FromClient and (pck[1]=#$D0) then
begin
ItemID:=ReadD(4);
SelectItem:=pck;
end;
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
if FromClient and (pck[1]+pck[2]=#$56#$0C) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.


Ребята помагите пожалуйста я не когда не пользовался скриптами вот прочитал меня за интересовала что мне делать я все вставил написал ник и поставил уровень заточки отметил галочку нажимаю кнопку Тест lnit но не чего не происходит в чем моя ошибка если кто знает помогите моя ася 216993572

alexteam
02.09.2009, 23:17
ошибка в
нажимаю кнопку Тест lnit

отметь галкой скрипт.

mks
03.09.2009, 00:48
Эга, в первом посте объяснено что делать после установки галки напротив скрипта, если грация файнал найди в этой теме(гдет в районе середины) скрипт с двумя таймерами, тот что ты пытаешься использовать не везде корректно работает

Эга
03.09.2009, 02:09
Эга, в первом посте объяснено что делать после установки галки напротив скрипта, если грация файнал найди в этой теме(гдет в районе середины) скрипт с двумя таймерами, тот что ты пытаешься использовать не везде корректно работает

Чтот я ваще не догнал когда я запускаю тест лнит то не каких действий ваще не происходит

TAMBIK
06.09.2009, 07:54
Пожалуйста помогите не как не могу догнать мучаюсь уже больше недели и не фига не получается =(
1е соц действие включает и выключает автозаточку (http://coderx.ru/showpost.php?p=36606&postcount=251)

вот так надо поставить галочку
http://img7.imageshost.ru/imgs/090906/f2f439cf30/de9a9.jpeg (http://imageshost.ru/)

Эга
06.09.2009, 23:42
http://dump.ru/viewer/preview/biggest/3371191.jpg (http://dump.ru/file/3371191)
Если плохо видно вот сылка на норм изображения
http://dump.ru/file/3371191
Делаю все так же и не пойму поч не рботает

TAMBIK
06.09.2009, 23:42
Эга,
Расчитано на пвп серваки и изобилие блес точек...
Использование: забиваем ник и уровень точки,включаем скрипт,<<=СТАВИМ ГАЛОЧКУ точим нужную шмотку на +1(не важно со скольки), скрипт запоминает необходимые данные, 1е соц действие включает и выключает автозаточку.
ГДЕ НАПИСАНО ТЕСТ ИНИТ
сори за красный невыдержал

Эга
07.09.2009, 00:06
ГДЕ НАПИСАНО ТЕСТ ИНИТ
сори за красный невыдержал[/QUOTE]

Вот смотри заснул скрипт написал ник уровень точки поствил галку на против скрипта и что дальше то делать ?(извини за тупость)

//nlobp: читай первый пост от Мкс и что Тамбик пишет, только внимательно.

Эга
07.09.2009, 01:54
Я сталкнулся с новой проблемкой у мня скрипт заработал но когда он начинает точить то сразу выкидывает с игры и пишет что гм будет оповещен

Добавлено через 2 минуты
ууу все я разабрался всем спасибо за помощ примногом блогодарен

Добавлено через 3 минуты

nik='Ник';
Enchant=1;

var
UseItem, SelectItem, EnchantItem: string;
Count, CurrentEnch, key, ItemID: integer;
Timer01: TTimer;


procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=False;
Timer01.interval:=2500;
end;

procedure OnTimer01(Sender: TObject);
begin
case key of
1: begin
buf:=UseItem;
SendToServerEx(nik);
buf:=SelectItem;
SendToServerEx(nik);
end;
2: begin
buf:=EnchantItem;
SendToServerEx(nik);
end;
end;
end;

procedure Free;
begin
Timer01.free;
count:=0;
CurrentEnch:=0;
end;

begin
if FromServer and (pck[1]=#$87) then case ReadD(2) of
0: begin
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=true;
end;
3: CurrentEnch:=0;
end;
if FromServer and (pck[1]=#$FE) then
if ReadD(4)=ItemID then key:=2 else key:=1;

if FromClient and (pck[1]=#$19) then UseItem:=pck;
if FromClient and (pck[1]=#$D0) then
begin
ItemID:=ReadD(4);
SelectItem:=pck;
end;
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
if FromClient and (pck[1]+pck[2]=#$56#$0C) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.
вот пакет для грация финал что бы вас не выкидывало с игры

Добавлено через 31 минуту
У меня такая проблемка какую бы я не ставил скорость заточки лн поточит минут 5 и потом выкидывает с игры и пишет что гм будует оповещен не кто не знает как можно это исправить ?

mks
07.09.2009, 01:59
Эга, я ж говорил найти скрипт в этой теме, для финала используй скрипт с двумя таймерами: http://coderx.ru/showpost.php?p=34588&postcount=184

Эга
07.09.2009, 02:27
Эга, я ж говорил найти скрипт в этой теме, для финала используй скрипт с двумя таймерами: http://coderx.ru/showpost.php?p=34588&postcount=184

Все равно кикает

Добавлено через 5 минут
он 1 рас точит и киакет

mks
07.09.2009, 02:29
Эга, ну что уж тут поделаешь, ява сборки разные, к каждой свой подход нужен, общего вида скрипта для них быть не может в принципе

2502444
13.09.2009, 14:11
Здрастувте,я вот решыл попробовать скрипт на l2rx.com Hellbound загрузил скрипт и выбило стандартную ошыбку,после чего заточило вещь на +1 и потеряло соединение с игрой,попробывал ищо рас тоже самое если кто сталкивалься с етим или же пробывал скрипт на Релаксе отпишыте.

TAMBIK
13.09.2009, 21:01
какой скрипт их много
и что ты считаешь под стандартной ошибкой
скрин ошибки
версия l2phx

2502444
14.09.2009, 20:04
1.Было использовано l2 phx 3.4.1.83 скачаную с етого сайта
2.Было использовано скрипт

const
nik='PalevoO';
Enchant=16;

var
UseItem, EnchantItem: string;
Count, CurrentEnch: integer;
Timer01: TTimer;

procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=500;
end;

procedure OnTimer01(Sender: TObject);
begin
buf:=UseItem;
SendToServerEx(nik);
buf:=EnchantItem;
SendToServerEx(nik);
end;

procedure Free;
begin
Timer01.free;
count:=0;
CurrentEnch:=0;
end;

begin
if FromServer and (pck[1]=#$87) then case ReadD(2) of
0: begin
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
2: CurrentEnch:=0;
end;
if FromClient and (pck[1]=#$19) then UseItem:=pck;
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
if FromClient and (pck=#$34#$02#$00#$00#$00) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.
Нечего в нём нетрогал только прописал ник чара и уровень заточки
3.Сервер на котором использовался скрипт l2rx.com Hellbound.
4.Зделал всё по иструкцые:
Запустил скрипт,вбил ник чара,уровень заточки,поставил галочку напротив скрипта заточил вещь на +1 и нажал 1е соц. действие после чего заточило мою вещь ищо на +1 и розорвало соединение с игрой....
В l2phx написало такую ошыбку
http://s48.radikal.ru/i120/0909/9b/3921d3980226t.jpg (http://radikal.ru/F/s48.radikal.ru/i120/0909/9b/3921d3980226.png.html)
Повторял всё ето пару раз тоже самое происходило!
Помогите плиз скажы что не так!
Зарание благодарен!

TAMBIK
14.09.2009, 20:38
2502444,

здесь напиши больше
Timer01.interval:=500;

500=0.5сек
1000=1сек
возможно маленький интервал между заточкой

RinZo
14.09.2009, 23:57
подскажите пожалуйста этот скрипт работает на la2dark.oo.lv и с какой програмой? и как его там запустить?)

2502444
15.09.2009, 20:55
2502444,

здесь напиши больше
Timer01.interval:=500;

500=0.5сек
1000=1сек
возможно маленький интервал между заточкой

Поставил 1000 непомогло,поставил 2000 тоже не помогло,поставил 2300 пока нормально.Я так понял етот скрипт всеголиш автоматизирует процес точки,просто начиная с Камаеля процес долгий,посравнению с интерлюд,а скрипт облегчает ето.100 заточок ушло и результата я недостиг (лук +16 не заточил =( )

NLObP
15.09.2009, 21:55
Я так понял етот скрипт всеголиш автоматизирует процес точки
Именно это и делает скрипт! Ничего другого потустороннего.

Yeap
26.09.2009, 09:04
Использовал l2 phx 3.5.23.141 скачаная с этого сайта
Сервер http://www.l2fod.ru/ Грация Финал
Использовал скрипт :
const
nik='xxxx';
Enchant=16;

var
UseItem, SelectItem, EnchantItem: string;
Count, CurrentEnch, key, ItemID: integer;
Timer01: TTimer;


procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=2100;
end;

procedure OnTimer01(Sender: TObject);
begin
case key of
1: begin
buf:=UseItem;
SendToServerEx(nik);
buf:=SelectItem;
SendToServerEx(nik);
end;
2: begin
buf:=EnchantItem;
SendToServerEx(nik);
end;
end;
end;

procedure Free;
begin
Timer01.free;
count:=0;
CurrentEnch:=0;
end;

begin
if FromServer and (pck[1]=#$87) then case ReadD(2) of
0: begin
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
3: CurrentEnch:=0;
end;
if FromServer and (pck[1]=#$FE) then
if ReadD(4)=ItemID then key:=2 else key:=1;

if FromClient and (pck[1]=#$19) then UseItem:=pck;
if FromClient and (pck[1]=#$D0) then
begin
ItemID:=ReadD(4);
SelectItem:=pck;
end;
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
if FromClient and (pck[1]+pck[2]=#$56#$0C) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.
Почему то l2 phx 3.5.23.141 не распознает запущенный клиент Линейки.
Пробовал более старую версию 3.4.1.83,она я так понял не распознает првальное Id предметов. Подскажите что делать?

TAMBIK
26.09.2009, 10:22
Почему то l2 phx 3.5.23.141 не распознает запущенный клиент Линейки.
ответ по этому ищи на форуме есть тема
может настройки неправильно

Yeap
26.09.2009, 14:34
Вообщем заработало все..но...работало все примерно минут 40..потом в чате написалось что мол кикает меня и инфа передана ГМ..и теперь как только начинаю точить при помощи пнх..сразу пишет эту фразу и кикает,как то можно это обойти?

TAMBIK
26.09.2009, 16:25
Yeap

2502444,

здесь напиши больше
Timer01.interval:=500;

500=0.5сек
1000=1сек
возможно маленький интервал между заточкой

Yeap
26.09.2009, 18:15
Вот так ща выглядит скрипт и все равно кикает!
const
nik='Reconnect';
Enchant=20;

var
UseItem, SelectItem, EnchantItem: string;
CurrentEnch: integer;
key: boolean;
Timer01, Timer02: TTimer;

procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=3000;

Timer02:=TTimer.Create(nil);
Timer02.OnTimer:=@OnTimer02;
Timer02.enabled:=false;
Timer02.interval:=3000;
end;

procedure OnTimer01(Sender: TObject);
begin
case key of
false: begin
buf:=UseItem;
SendToServerEx(nik);
Timer02.enabled:=true;
end;
true: begin
buf:=EnchantItem;
SendToServerEx(nik);
end;
end;
key:=not(key);
end;

procedure OnTimer02(Sender: TObject);
begin
buf:=SelectItem;
SendToServerEx(nik);
Timer02.enabled:=false;
end;

procedure Free;
begin
Timer01.free;
Timer02.free;
CurrentEnch:=0;
key:=false;
end;

begin
if FromServer and (pck[1]=#$87) then case ReadD(2) of
0: begin
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
3: CurrentEnch:=0;
end;
if FromClient and (pck[1]=#$19) then UseItem:=pck;
if FromClient and (pck[1]=#$D0) then SelectItem:=pck;
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
if FromClient and (pck[1]+pck[2]=#$56#$0C) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.

Добавлено через 35 минут
Лог пнх

26.09.2009 21:04:45 Стартует L2ph v3.5.24.142
26.09.2009 21:04:45 На 7788 зарегистрирован локальный сервер
26.09.2009 21:05:10 Надёжно пропатчен новый клиент l2.exe (3900)
26.09.2009 21:05:22 (Inject.dll) Коннект на 79.174.64.104:2106 проигнорирован
26.09.2009 21:05:24 (Inject.dll) Перехвачен коннект на 79.174.64.104:7777
26.09.2009 21:05:24 ServerListen: Обнаружено новое соединение.
26.09.2009 21:05:24 Тунель ($16840160) создан
26.09.2009 21:05:24 Тунель ($16840160) запущен для чтения с сокета № 228
26.09.2009 21:05:24 Тунель ($16840160), Серверный сокет № 228 / Клиентский сокет № 312, Соединение с 79.174.64.104:7777 .....
26.09.2009 21:05:24 Тунель ($16840160), Серверный сокет № 228 / Клиентский сокет № 312, Соединение установлено с 79.174.64.104:7777
26.09.2009 21:05:27 Имя соединения для тунеля ($16840160): Reconnect
26.09.2009 21:06:10 Тунель ($16840160) Отвалились от клиента
26.09.2009 21:06:10 Тунель ($16840160) Отвалились от сервера
26.09.2009 21:06:10 Тунель ($16840160) уничтожен

Elzas
29.09.2009, 02:12
Извиняюсь , вот нашел интересный скрипт, на вашем форуме. Играю на Interlude - Funsworld.ru . Оружие затачивается только блессами , поскольку они только ипродаются . Смысл заточки таков : Заточка при ломании скидывается не на 0 , а на 10 . Пробывал много скриптов на блесс ниодин не работал . Вот взял скрипт для Interlude от TRAMBIK (а) . Заработало ! Это очень обрадовало . Но теперь поевилась проблемка . Я так смотрю которая в хорошом репертуаре . Заточка не останавливается. Очень прошу помочь , вас ( людей которые действительно хорошо в этом розбераються ) сам не смог ничего изменить и задать нормального вида . Зарание огромное спасибо.
Пользуюсь : l2phx.3.4.1.83 .

Сам скрипт , "код" :
const
nik='pixel';
Enchant=13;

var
UseItem, EnchantItem: string;
Count, CurrentEnch: integer;
Timer01: TTimer;

procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=800;
end;

procedure OnTimer01(Sender: TObject);
begin
buf:=UseItem;
SendToServerEx(nik);
buf:=EnchantItem;
SendToServerEx(nik);

end;

procedure Free;
begin
Timer01.free;
count:=0;
CurrentEnch:=0;
end;

begin
if FromServer and (pck[1]=#$81) then case ReadD(2) of
0: begin
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
2: CurrentEnch:=0;
end;


if FromClient and (pck[1]=#$14) then UseItem:=pck;
if FromClient and (pck[1]=#$58) then EnchantItem:=pck;
if FromClient and (pck=#$1B#$02#$00#$00#$00) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.

EnchantResult (результаты с пакетов ) +10 , +11 , +12

81 0A 00 00 00

Tип: 0x81 (EnchantResult)
Pазмер: 5+2
Время прихода: 00:08:29:906
0002 d result: 10 (0x0000000A)

81 0B 00 00 00

Tип: 0x81 (EnchantResult)
Pазмер: 5+2
Время прихода: 00:08:58:171
0002 d result: 11 (0x0000000B)

81 0C 00 00 00

Tип: 0x81 (EnchantResult)
Pазмер: 5+2
Время прихода: 00:09:40:015
0002 d result: 12 (0x0000000C)

P.S хоть подскажите в каком направление двигатся что бы исправить ошибку . Зарание огромное спасибо .! ) ;)

TAMBIK
29.09.2009, 09:21
Вот взял скрипт для Interlude от TRAMBIK (а)
это не мой скрипт
попробуй вот так
if FromServer and (pck[1]=#$81) then case ReadD(2) of
0: begin
CurrentEnch:=CurrentEnch+1;
end;
Enchant:begin
Timer01.enabled:=false;
end;
end;

neonv1
03.10.2009, 06:37
Помогите в грации финал. Активно использую скрипт на заточку.
const nik='xxx';
Enchant=27;

var
UseItem, SelectItem, EnchantItem: string;
CurrentEnch: integer;
key: boolean;
Timer01, Timer02: TTimer;

procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=3370;

Timer02:=TTimer.Create(nil);
Timer02.OnTimer:=@OnTimer02;
Timer02.enabled:=false;
Timer02.interval:=500;
end;

procedure OnTimer01(Sender: TObject);
begin
case key of
false: begin
buf:=UseItem;
SendToServerEx(nik);
Timer02.enabled:=true;
end;
true: begin
buf:=EnchantItem;
SendToServerEx(nik);
end;
end;
key:=not(key);
end;

procedure OnTimer02(Sender: TObject);
begin
buf:=SelectItem;
SendToServerEx(nik);
Timer02.enabled:=false;
end;

procedure Free;
begin
Timer01.free;
Timer02.free;
CurrentEnch:=0;
key:=false;
end;

begin
if FromServer and (pck[1]=#$87) then case ReadD(2) of
0: begin
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
3: CurrentEnch:=0;
end;
if FromClient and (pck[1]=#$19) then UseItem:=pck;
if FromClient and (pck[1]=#$D0) then SelectItem:=pck;
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
if FromClient and (pck[1]+pck[2]=#$56#$0C) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.
Подправте пожалуйста. В игре появились изменения. Надо добавить, чтоб когда оружие сбрасывалось на 0 скрипт посылал мой пакет.:confused:

neonv1
03.10.2009, 18:54
neonv1,

Надо добавить, чтоб когда оружие сбрасывалось на 0
скрипт посылал мой пакет

скрипт послал твой пакет:tease:
правильно заданый вопрос содержит ответ
Извиняюсь. За транслит.
Когда неудачная заточка блес скролом оружия, скрипт посылает пакет на диалог нпс, нпс мне точит оружие на 10 и.т.д. Диалог пакет найду а вот вписать в скрипт не получается.

TAMBIK
04.10.2009, 07:18
Когда неудачная заточка блес скролом оружия, скрипт посылает пакет на диалог нпс, нпс мне точит оружие на 10 и.т.д. Диалог пакет найду а вот вписать в скрипт не получается.
те надо два пакета
1 пакет-от клиента диалог с нпс,
2 пакет-от сервера что те заточили на 10
здесь
begin
if FromServer and (pck[1]=#$87) then case ReadD(2) of
0: begin
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
3: CurrentEnch:=0;

делаем так
begin
if FromServer and (pck[1]=#$87) then case ReadD(2) of
0: begin
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
3:begin
Timer01.enabled:=false;
buf:=hstr(' 1 пакет ');
SendToServerEx(nik);
end;
end;
if FromServer and (pck[1]=#$ПЕРВЫЕ ДВЕ ЦИФРЫ 2 пакета) then begin
Timer01.enabled:=true;
CurrentEnch:=10;// уровень до какого точит нпс
end;

if FromServer and (pck[1]=#$FE) then
if ReadD(4)=ItemID then key:=2 else key:=1;

if FromClient and (pck[1]=#$19) then UseItem:=pck;

не известен 2 пакет так что пока совет такой

TAMBIK
04.10.2009, 16:00
neonv1,
куча пакетов
а ты сказал один
те дано направление
лучше всего посылать как и в игре чаром

в скрипте пакет зпомнить так
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
по аналогие делать свои

neonv1
04.10.2009, 19:35
neonv1,
куча пакетов
а ты сказал один
те дано направление
лучше всего посылать как и в игре чаром

в скрипте пакет зпомнить так
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
по аналогие делать свои
const nik='neonv1';
Enchant=20;

var
UseItem, SelectItem, EnchantItem: string;
CurrentEnch: integer;
key: boolean;
Timer01, Timer02: TTimer;

procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=3370;

Timer02:=TTimer.Create(nil);
Timer02.OnTimer:=@OnTimer02;
Timer02.enabled:=false;
Timer02.interval:=500;
end;

procedure OnTimer01(Sender: TObject);
begin
case key of
false: begin
buf:=UseItem;
SendToServerEx(nik);
Timer02.enabled:=true;
end;
true: begin
buf:=EnchantItem;
SendToServerEx(nik);
end;
end;
key:=not(key);
end;

procedure OnTimer02(Sender: TObject);
begin
buf:=SelectItem;
SendToServerEx(nik);
Timer02.enabled:=false;
end;

procedure Free;
begin
Timer01.free;
Timer02.free;
CurrentEnch:=0;
key:=false;
end;

begin
if FromServer and (pck[1]=#$87) then case ReadD(5) of //(5) зачем вставил хз интуиция правельно?
0: begin
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
3:begin
Timer01.enabled:=false;
buf:=hstr('1F 87 04 01 10 2C 41 02 00 A2 23 FF FF 24 F5 FF FF 00'); // Action
SendToServerEx(nik);
end;
4: begin
Timer01.enabled:=false;
buf:=hstr('23 6E 00 70 00 63 00 5F 00 32 00 36 00 38 00 35 00 30 00 32 00 31 00 35 00 31 00 5F 00 51 00 75 00 65 00 73 00 74 00 20 00 39 00 39 00 39 00 39 00 39 00 39 00 5F 00 4E 00 50 00 43 00 45 00 6E 00 63 00 68 00 61 00 6E 00 74 00 00 00'); // болтаем с нпс
SendToServerEx(nik);
end;
5: begin
Timer01.enabled:=false;
buf:=hstr('23 51 00 75 00 65 00 73 00 74 00 20 00 39 00 39 00 39 00 39 00 39 00 39 00 5F 00 4E 00 50 00 43 00 45 00 6E 00 63 00 68 00 61 00 6E 00 74 00 20 00 63 00 68 00 6F 00 6F 00 73 00 65 00 5F 00 69 00 74 00 65 00 6D 00 00 00'); // далее ботлтаем
SendToServerEx(nik);
end;
6: begin
Timer01.enabled:=false;
buf:=hstr('23 51 00 75 00 65 00 73 00 74 00 20 00 39 00 39 00 39 00 39 00 39 00 39 00 5F 00 4E 00 50 00 43 00 45 00 6E 00 63 00 68 00 61 00 6E 00 74 00 20 00 65 00 6E 00 63 00 68 00 61 00 6E 00 74 00 49 00 74 00 65 00 6D 00 5F 00 32 00 36 00 38 00 35 00 32 00 36 00 30 00 39 00 35 00 00 00'); // диалог выбора какой шмот заточить
SendToServerEx(nik);
end;
end;
if FromServer and (pck[1]=#$23) then begin
Timer01.enabled:=true;
CurrentEnch:=10;// уровень до какого точит нпс
end;

if FromClient and (pck[1]=#$19) then UseItem:=pck;
if FromClient and (pck[1]=#$D0) then SelectItem:=pck;
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
if FromClient and (pck[1]+pck[2]=#$56#$0C) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.

1-это правлино ли я вставил эти пакеты?
2-чет ваще ничего не работает
А как-то еще химичил чето первый пакет отсылался и то без команды запускалось все:D. в итоге кик с серва гм информед часто так, норм с ГМ познакомился. Сказал что на заточку много нажымал:spiteful:. Типа так быстрее:spiteful:.

jpg
06.10.2009, 00:20
Пробывал все 3 скрипта что лежат на форуме, от Хорс, Мкс и Нлубп.
при скрипте от Мкс не происходит ничего, поменял в нем немного пакет 1соц действия... теперь у меня отсылается в огромном колличестве пакеты логаута, причем я не могу открыть и посмотреть сам пакет.
скрипт от Нлубп
Проблема в айтимайди листе, он не видит его вообще.
Скрипт от Хорс
нее понял как он работает...
Сервер Глация Финал. походу ява.
Вот пакеты точки Д пушки (денег не хватило на Ы xD)
серверу отправляем при нажатии точки
0C 2F 4E 08 10 00 00 00 00
сервер отвечает
7C AF 19 00 00
ставим пушку в окно точки
43 4C 00 DD 4D 08 10
сервер отвечает
FE 81 00 DD 4D 08 10
нажимаем кнопку точки
65 DD 4D 08 10 00 00 00 00
сервер отвечает
87 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
18 70 49 08 10 01 00 00 00 0E 00 00 00 ED 3B 00 00

jpg
06.10.2009, 01:37
TAMBIK, так что же мне делать... куда какой пакет?

neonv1
06.10.2009, 08:30
В общим заточился на полуавтомате, пришлось ручками по нпс щелкать, да ну и пофиг:D. И так делать нечего, боты, скрипты, :eek:. Но всеже добить надо скрипт.
const nik='xxx';
Enchant=15;

var
UseItem, SelectItem, EnchantItem: string;
CurrentEnch: integer;
key: boolean;
Timer01, Timer02: TTimer;

procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=3370;

Timer02:=TTimer.Create(nil);
Timer02.OnTimer:=@OnTimer02;
Timer02.enabled:=false;
Timer02.interval:=500;
end;

procedure OnTimer01(Sender: TObject);
begin
case key of
false: begin
buf:=UseItem;
SendToServerEx(nik);
Timer02.enabled:=true;
end;
true: begin
buf:=EnchantItem;
SendToServerEx(nik);
end;
end;
key:=not(key);
end;

procedure OnTimer02(Sender: TObject);
begin
buf:=SelectItem;
SendToServerEx(nik);
Timer02.enabled:=false;
end;

procedure Free;
begin
Timer01.free;
Timer02.free;
CurrentEnch:=0;
key:=false;
end;

begin
if FromServer and (pck[1]=#$87) then case ReadD(2) of
0: begin
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;

3:begin
Timer01.enabled:=false;
buf:=hstr('1F 87 04 01 10 2C 41 02 00 A2 23 FF FF 24 F5 FF FF 00');
SendToServerEx(nik);
end;
end;
if FromServer and (pck[1]=#$23) then begin
Timer01.enabled:=true;
CurrentEnch:=10;// уровень до какого точит нпс
end;
end.
Тут замысел работал, покет посылался после неудачной заточки на общение с нпс. Я в скриптах не очень методом тыка пытался что-то добавить, застрял на том что скрип работает сразу без каманды т.е он еще ничего не запомнил что я буду точить и меня кикало с серва - чуть бан не хватанул отмазался;). Этого мало-то одного пакета, 4 надо послать только потом шмотка на 10 затачивается. Да а как еще команду теперь впихнуть чтоб запускалось. Жду помощи.:russian_ru:.

Alexhdg
06.10.2009, 19:33
Народ а на серваке vlineage.ru ваще етот скрипт работает? Я все вродь сделал, нажимаю на скрипт а у меня критует и реконект с сервом, и сам l2phx вылетает с неизвестной ошибкой.

kosyar
19.10.2009, 19:49
помогите как прекрутить пакеты чисто покетами простомушто на сервере в тарфике какаята каша.
немного по ковырявшись я нашол нужные пакеты но не знаю как их подкрутить к скрипту.(сервер грация финал)

0C 8A 53 17 10 00 00 00 00 - нажимает на заточку
43 4C 00 64 48 17 10 - вставляет оружие в окно заточки
65 64 48 17 10 00 00 00 00 - затачивает

както страно но пакет itemlist оставили не тронутым и уровень заточки показываетца там в статусе EnchantLevel
пробывал под писать вот так не помогает

1: begin
buf:=HStr ('0C 8A 53 17 10 00 00 00 00');
SendToServerEx(nik);
buf:= HStr ('43 4C 00 64 48 17 10');
SendToServerEx(nik);
end;
2: begin
buf:=HStr ('65 64 48 17 10 00 00 00 00');
SendToServerEx(nik);
end;

TAMBIK
19.10.2009, 20:19
kosyar
вот у тебя какие пакеты. выделено номера пакетов

0C 8A 53 17 10 00 00 00 00 - нажимает на заточку
43 4C 00 64 48 17 10 - вставляет оружие в окно заточки
65 64 48 17 10 00 00 00 00 - затачивает

меняй выделеное в скрипте на номера своих пакетов

if FromClient and (pck[1]=#$19) then UseItem:=pck;//нажимает на заточку
if FromClient and (pck[1]=#$D0) then// вставляет оружие в окно заточки
begin
ItemID:=ReadD(4);
SelectItem:=pck;
end;
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;//затачивает

Goodwin
23.10.2009, 09:06
Здравствуйте! Пользуюсь скриптом под грацию , он работает , но иногда остонавливаеться и перестает точить =( Подскажите в чем проблема ...
Макс заточка стоит на 20 , он остонавливаеться произвольно иногда на 5-и иногда на 2-ух.

neonv1
05.11.2009, 00:35
Здравствуйте! Пользуюсь скриптом под грацию , он работает , но иногда остонавливаеться и перестает точить =( Подскажите в чем проблема ...
Макс заточка стоит на 20 , он остонавливаеться произвольно иногда на 5-и иногда на 2-ух.
втыкни deley ему, может поможет.

ARHARUP
18.11.2009, 19:33
При отправке скрипта l2phx вылетает с ошибкой
http://i077.radikal.ru/0911/0a/9f7ea6fa39d5.jpg
Как исправить?

TAMBIK
18.11.2009, 19:56
ARHARUP,
При отправке скрипта
его не надо никуда отправлять

Lukito
28.11.2009, 21:21
прошу помощи в переделке скрипта под сервер

моя версия:
const
nik='nik';
Enchant=5;

var
UseItem, EnchantItem: string;
Count, CurrentEnch: integer;
Timer01: TTimer;

procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=5000;
end;

procedure OnTimer01(Sender: TObject);
begin
buf:=UseItem;
SendToServerEx(nik);
buf:=EnchantItem;
SendToServerEx(nik);
end;

procedure Free;
begin
Timer01.free;
count:=0;
CurrentEnch:=0;
end;

begin
if FromServer then
begin
case pck[1] of
#$62: begin
if (ReadD[02]=62) or (ReadD[02]=63) then
CurrentEnch:=CurrentEnch+1
else
if ReadD[02]=1517 then
CurrentEnch:=0;
if CurrentEnch=Enchant then
Timer01.enabled:=false;
end;
end;
end;
if FromClient and (pck[1]=#$19) then UseItem:=pck;
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
if FromClient and (pck=#$34#$02#$00#$00#$00) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.
Пакет Enchant Result и InventoryUpdate переделан админами и не показывает результата точки и уровня заточки предмета соответственно.

Я решил сделать с помощью просмотра пакета 62(системное сообщение об удачности\неудачности заточки),где значение 62 и 63 в строке 2 выдаются при удачной заточке и 1517 при неудачной.
При компиляции скрипта выдает ошибку "Array type required". Ошибка в строке 38("if (ReadD[02]=62) or (ReadD[02]=63 then").
Тут мои знания языка закончились и пришлось региться на форуме и писать вам ;)

Добавлено:
Разобрался в чем проблема- скобки у ReadD были квадратные...
Невнимательность это нехорошо....

Foil
29.11.2009, 15:50
Подскажите плз!
Вотмой скрипт:const
nik='FoiL';
Enchant=15;

var
UseItem, EnchantItem: string;
Count, CurrentEnch: integer;
Timer01: TTimer;

procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=500;
end;

procedure OnTimer01(Sender: TObject);
begin
buf:=UseItem;
SendToServerEx(nik);
buf:=EnchantItem;
SendToServerEx(nik);
end;

procedure Free;
begin
Timer01.free;
count:=0;
CurrentEnch:=0;
end;

begin
if FromServer and (pck[1]=#$87) then
begin
CurrentEnch:=ReadD(2);
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
if FromClient and (pck[1]=#$19) then UseItem:=pck;
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
if FromClient and (pck=#$34#$02#$00#$00#$00) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.
Я запускаю L2PacketHack потом Линейдж(tbs.org.ru); у мну ловит соединение!я добавлюю скрипт в скрипты в проге!
Дальше Обьянсните плз! Как запустить 1 соц действие(поподробней плз:)) Короч напишите что мне делать после того как добавил скрипт!

TAMBIK
29.11.2009, 16:43
Foil,
Прочитать тему - найдешь ответ

Foil
29.11.2009, 17:48
блин, хоть примерно напиши! Я шарился по теме, нашел! но не могу всеровно врубится! попродробней как сделать напиши !а !
if FromServer and (pck[1]=#$87) then
begin
CurrentEnch:=ReadD(2);
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
вот соц действие да? че с ним сделать чтобі начало работать? как его включить? если можно розжевать ато я в скрипте не шарю)

Lukito
29.11.2009, 18:48
соц.действие - это действие из вкладочки "Действия" в игре,например Приветствие

TAMBIK
29.11.2009, 18:54
Foil,

ПРОЧИТАТЬ НЕ СУДЬБА ???????????????????????????
http://coderx.ru/showpost.php?p=36606&postcount=251

на такой вопрос блокировать

Foil
29.11.2009, 19:34
Харашо сделал так: включил прогу, активировал скрипт зашел в игру( ник в соединениях не появился и появилось 0___ и прочерки) в игре жму приветсвие; и не вижу изменений! как узнать точить ли оно или нет? когда закончит?

Добавлено через 1 минуту
пуха как была на +1 так и осталась

TAMBIK
29.11.2009, 20:14
Foil, зашел в игру( ник в соединениях не появился и появилось 0___ и прочерки)нет ника неробит

Foil
29.11.2009, 20:47
а как сделать чтоб работало?

TAMBIK
29.11.2009, 20:53
Foil,
http://coderx.ru/forumdisplay.php?f=31
читать и самому делать

главное начни а тамте посоветуют

Pirat48
03.12.2009, 19:33
Всё пашет тока на 6-10 точит дальше стопорится приходится всё заного ....
Чё не так то?из за чего это может быть?

Добавлено через 8 минут
и можно сделать что бы сам точил а не тыкать на кнопку?

TAMBIK
03.12.2009, 21:00
Pirat48,
он должен сам точить
до уровня какой вы задали

Pirat48
03.12.2009, 23:28
Pirat48,
он должен сам точить
до уровня какой вы задали

а чё я не так делаю снул скрипт включил ,заточил на 1 1соц действие ну да появляется окно заточки там предмет на этом станет.
Грация финал.
а иногда тупа окно появляется и не чё не происходит как это исправить?

hackbozb
04.12.2009, 23:14
Опиши ошибку или что там у тебя поподробнее, что "станет", какое окно появляется? проверь чтоб все параметры были прописаны правильно, имя и тому подобные вещи.....

Pirat48
05.12.2009, 17:40
Короче,я всё сделал правильно ведь она работала))
затачиваю на +1
жму соц дейстивие (1)
потом появляется "окошко это" и как повезёт!
может появлсятся с оружием внутри уже тоесть остаётся ок нажать так как дальше не чего не происходит.
или просто появится тип заточить вещь тут надо оружие кинуть но оно изчезает и всё приходтся заного.

TAMBIK
05.12.2009, 20:10
Pirat48,
const
nik='TAMBIK';
Enchant=6;

var
UseItem, SelectItem, EnchantItem: string;
Count, CurrentEnch, key, ItemID: integer;
Timer01: TTimer;
Timer02: TTimer;

procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=600;// Время выбора свитка и предмета

Timer02:=TTimer.Create(nil);
Timer02.OnTimer:=@OnTimer02;
Timer02.enabled:=false;
Timer02.interval:=3300;// Время между заточкой
key:=0;
end;
procedure Free;
begin
Timer01.free;
Timer02.free;
count:=0;
CurrentEnch:=0;
end;

procedure OnTimer01(Sender:TObject);
begin
case key of
1:begin
buf:=UseItem;
SendToServerEx(nik);
inc(key);
end;
2:begin
buf:=SelectItem;
SendToServerEx(nik);
Timer01.enabled:=false;
Timer02.enabled:=true;
key:=0;
end;
end;
end;
procedure OnTimer02(Sender:TObject);
begin
buf:=EnchantItem;
SendToServerEx(nik);
key:=1;
Timer02.enabled:=false;
Timer01.enabled:=true;
end;
begin
if FromServer and (pck[1]=#$87) then case ReadD(2) of
0: begin
CurrentEnch:=(CurrentEnch + 1);
if (CurrentEnch = Enchant) then Timer01.enabled:=false;
end;
3: CurrentEnch:=0;
end;
if FromClient and (pck[1]=#$19) then UseItem:=pck;
if FromClient and (pck[1]=#$D0) then
begin
ItemID:=ReadD(4);
SelectItem:=pck;
end;
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
if FromClient and (pck[1]+pck[2]=#$56#$0C) then
begin
key:=1;
Timer01.enabled:=true;
pck:='';
end;
end.

Pirat48
07.12.2009, 14:50
TAMBIK
НЕ останавливается на указаной цифре

TAMBIK
07.12.2009, 21:03
TAMBIK
НЕ останавливается на указаной цифре
cмотри пакет
87=EnchantResult:d(Result)
что приходит
когда заточил предмет

Pirat48
08.12.2009, 14:04
На окне заточки под16 а пушка в это время на 3-6 смотря ка поломается.
Извини я не такой опытный где их смотреть?? и как отфильтровать если над?
этот 87=EnchantResult:d(Result)

TAMBIK
08.12.2009, 20:06
Pirat48,
в подписи у меня
Настройки 3.4.1.100 и Выше

Pirat48
08.12.2009, 21:12
Pirat48,
в подписи у меня
Настройки 3.4.1.100 и Выше

этот пакет так и называется?))

Добавлено через 1 минуту
он от сервера? идёт?

Добавлено через 1 минуту
ну посматрел на пакет там протсо 87 и нули....

TAMBIK
08.12.2009, 22:12
вкл скрипт
предмет точить с 0

ну посматрел на пакет там протсо 87 и нули...
даже если отменил ? сломал ??

Pirat48
09.12.2009, 12:58
вкл скрипт
предмет точить с 0

ну посматрел на пакет там протсо 87 и нули...
даже если отменил ? сломал ??

ща посмотрю. при заточке да 87 при отмене и поломке не смотрел
ща сделаю))

TAMBIK
15.12.2009, 01:31
l2rx

// Заточить предмет один раз
// СТАРТ нажать соцдействие ДА
// СТОП нажать соцдействие НЕТ
// Kamael-Hellbound
const
nik='TAMBIK'; //<<== пишем свой НИК
Enchant=16; //<<== пишем Уровень Заточки

var
Timer01: TTimer;
Timer02: TTimer;
UseItem,EnchantItem:string;
LVL,ObjectID,count:integer;
autostart:Boolean;
//========================
procedure SendMsg2(msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(3);// <<= куда выводить сообщения -> пати чат
WriteS('');
WriteS(msg);
SendToClientEx(nik);
end;
//=======================
procedure Init;
begin
ObjectID:=-1;
LVL:=0;
autostart:=false;

Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=1300; //<<== время выбора свитка

Timer02:=TTimer.Create(nil);
Timer02.OnTimer:=@OnTimer02;
Timer02.enabled:=false;
Timer02.interval:=1300; //<<== время заточки
SendMsg2( ' Привет от TAMBIKa' );
end;
procedure Free;
begin
Timer01.free;
Timer02.free;
end;
//=======================
procedure OnTimer01(Sender:TObject);
begin
buf:=UseItem;
SendToServerEx(nik);
Timer01.enabled:=false;
end;
//=======================
procedure OnTimer02(Sender:TObject);
begin
buf:=EnchantItem;
SendToServerEx(nik);
Timer02.enabled:=false;
end;
//=======================
procedure InventoryUpdate;
begin
if (ReadD(8) = ObjectID) then begin
LVL:=ReadH(34);
SendMsg2( ' Enchant = '+IntToStr(LVL)+' свитков : '+IntToStr(ReadH(94))+'' );
end;
if (ReadD(82) = ObjectID) then begin
LVL:=ReadH(108);
SendMsg2( ' Enchant = '+IntToStr(LVL)+' свитков : '+IntToStr(ReadH(20))+' ' );
end;
if (LVL < Enchant) and autostart then Timer01.enabled:=true;
if (LVL = Enchant) then SendMsg2( ' ПРЕДМЕТ ЗАТОЧЕН ! ! !' );
SendMsg2( '............' );
end;
begin

if FromServer and (pck[1]=#$21) then InventoryUpdate;
if FromServer and autostart and (pck[1]=#$7C) then Timer02.enabled:=true;
if FromClient and (pck[1]=#$19) then begin UseItem:=pck;end;
if FromClient and (pck[1]=#$5F) and (ReadD(2) > -1) then begin
ObjectID:=ReadD(2);
EnchantItem:=pck;
end;
if FromClient and (pck[1]+pck[2]=#$34#$05) then autostart:=false;
if FromClient and (pck[1]+pck[2]=#$34#$06) then begin
autostart:=true;
Timer01.enabled:=true;
pck:='';
end;
end.

KMAX
29.12.2009, 16:12
Ув.Тамbik
Не поможеш ли с написанием скрипта вот под такую задачу!

Нам необходимо купить точки!

Проблема заключаеться в том что - для того чтобу купить эти точки нам необходимо поменять имеющиеся у нас колы на адены а именно мы меняем 20 колов на 2000000000 (2ккк) аден и на эти адены покупаем точки а это выходит ровно 100 точек - а этот обмен колов на адены и последущая покупка занимает очень и очень много времени!

Вот собственно и нужен скрипт для автоматизации этих действий!

Все действия происходят на l2rx.com (не сочтите за рекламу) у некого КОТА!

TAMBIK
29.12.2009, 17:50
KMAX,
ПОСМОТРИ
http://coderx.ru/showthread.php?t=2942

d1emmmm
27.02.2010, 06:42
В общем понравился скрипт, разобрался и проверил - доволен ;)
На моем сервере есть евент точки, т.е можно носить только одно оружие и покупать 24 точки за 6 часов. Точки не проблема, а вот с оружием хотелось бы повозиться.

Mks, TAMBIK, как привязать скрипт, чтобы он покупал автоматически оружие после неудачной точки? ID и диалог я думаю пропишу, но вот в каком моменте скрипта его писать надо? Помогите плз.

Pavel777777
06.03.2010, 13:23
Народ помогите плиз... Зашёл в игру, на серв, запустил прогу, сделал скрипт:
const
nik='Paveljordan';
Enchant=30;

var
UseItem, EnchantItem: string;
Count, CurrentEnch: integer;
Timer01: TTimer;

procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=500;
end;

procedure OnTimer01(Sender: TObject);
begin
buf:=UseItem;
SendToServerEx(nik);
buf:=EnchantItem;
SendToServerEx(nik);
end;

procedure Free;
begin
Timer01.free;
count:=0;
CurrentEnch:=0;
end;

begin
if FromServer and (pck[1]=#$87) then case ReadD(2) of
0: begin
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
2: CurrentEnch:=0;
end;
if FromClient and (pck[1]=#$19) then UseItem:=pck;
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
if FromClient and (pck=#$34#$02#$00#$00#$00) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.

Поставил галочку на нём, развернул окно, купил заточку, заточил пуху на +1, в соц действиях да, но ничего не точится...
Скажите плиз в чём у меня тут проблема?

DASSHooligan
06.03.2010, 20:47
Прив всем! У меня проблемка со скриптом выставил уровень заточки +16(точил блесками) После пого как заточка слетает(сбрасывается в ноль) в окошке заточки ничего не меняется пушка слетела на 12, а скрипт этого не видит и точит дальше, останавливается после того как в окошке заточки написано +16, но сама пушка до +16 не заточена. В чем может быть дело? Как это исправить? Поискал в теме ответа не нашел.
Окошко заточки:
http://s58.radikal.ru/i160/1003/62/529486739598.jpg
Сама пушка:
http://s40.radikal.ru/i089/1003/7b/afe7822b25af.png

leonid
17.03.2010, 17:37
вот скрипт на автозаточку скажите плиз что не так. List index out of bounds (1).
const
nik='Butovskiy';
Enchant=13;

var
UseItem, EnchantItem: string;
Count, CurrentEnch: integer;
Timer01: TTimer;

procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=500;
end;

procedure OnTimer01(Sender: TObject);
begin
buf:=UseItem;
SendToServerEx(nik);
buf:=EnchantItem;
SendToServerEx(nik);
end;

procedure Free;
begin
Timer01.free;
count:=0;
CurrentEnch:=0;
end;

begin
if FromServer and (pck[1]=#$87) then
begin
CurrentEnch:=ReadD(2);
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
if FromClient and (pck[1]=#$19) then UseItem:=pck;
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
if FromClient and (pck=#$34#$02#$00#$00#$00) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.
когда ставлю галочку напротив скрипта выдаёт это List index out of bounds (1).

hash
30.03.2010, 10:53
Помогите доработать этот скрипт:
const
nik='123';
Enchant=20;

var
UseItem, EnchantItem: string;
Count, CurrentEnch: integer;
Timer01: TTimer;

procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=500;
end;

procedure OnTimer01(Sender: TObject);
begin
buf:=UseItem;
SendToServerEx(nik);
buf:=EnchantItem;
SendToServerEx(nik);
end;

procedure Free;
begin
Timer01.free;
count:=0;
CurrentEnch:=0;
end;

begin
if FromServer and (pck[1]=#$87) then
begin
CurrentEnch:=ReadD(2);
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
if FromClient and (pck[1]=#$19) then UseItem:=pck;
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
if FromClient and (pck=#$34#$02#$00#$00#$00) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;

end.
Требуется следуещее:
Заточка вещи на заданный уровень простыми скролами, далее переход на заточку блесс скролами, при фейле начинать все сначала.

Leon1
15.04.2010, 17:59
При использовании скрипта вылетает ошибка, скрин:
http://i062.radikal.ru/1004/39/9738a2699cbb.jpg

Sashafaq
15.04.2010, 18:13
проверь правильность ввода переменных

a1a2
17.04.2010, 12:41
все не прочел, но мб все равно что нибудь посоветуете, в общем играю на пвп серве , естественно точить ручками оч оч напряжно поэтому начинаю осваивать пакетхак ну в принципе все норм но после 9 пакета выкидывает с игры (просто логаут)
лог пакетхака
18.04.2010 11:36:56 Стартует L2phx 3.4.1.83
18.04.2010 11:36:56 Успешно загрузили inject.dll
18.04.2010 11:36:56 Thread Start: основной поток ServerListen 316/2392
18.04.2010 11:36:56 На 56574 зарегистрирован локальный сервер
18.04.2010 11:36:59 Библиотека inject.dll успешно выгружена
18.04.2010 11:37:01 Альтернативно пропатчен новый клиент l2.exe (1052)
18.04.2010 11:37:15 Коннект на 213.5.30.5:2106 проигнорирован
18.04.2010 11:37:17 Перехвачен коннект на 213.5.30.4:7777
18.04.2010 11:37:17 Thread Start: поток сервера Thread[0].SH 468/1520 SSock=364
18.04.2010 11:37:17 Thread Start: поток клиента Thread[0].CH 480/3128 CSock=492
18.04.2010 11:37:18 Считываем имя соединения...
18.04.2010 11:37:18 Имя соединения:Waterbot
18.04.2010 11:38:16 Disconnect: отвалился клиент Thread[0].CH 480/3128 CSock=492
18.04.2010 11:38:16 Сохраняем лог пакетов...
18.04.2010 11:38:16 Disconnect: отвалился сервер Thread[0].SH 468/1520 SSock=364
18.04.2010 11:38:16 Thread Exit: поток клиента Thread[0].CH 480/3128 CSock=492
18.04.2010 11:38:16 Thread Exit: поток сервера Thread[0].SH 468/1520 SSock=364

ZISTORM
07.05.2010, 23:53
Люди, подскажите пжст почему скрипт точит только 1 раз, потом открывает окно заточки и все?

ildarado
13.05.2010, 12:03
Использую 4-й скрипт от mks. Приходят такие пакеты:http://img.uz/s?fdch1g
const
nik='WoWoWo';
Enchant=24;

var
UseItem, SelectItem, EnchantItem: string;
Count, CurrentEnch, key, ItemID: integer;
Timer01: TTimer;


procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=2500;
end;

procedure OnTimer01(Sender: TObject);
begin
case key of
1: begin
buf:=UseItem;
SendToServerEx(nik);
buf:=SelectItem;
SendToServerEx(nik);
end;
2: begin
buf:=EnchantItem;
SendToServerEx(nik);
end;
end;
end;

procedure Free;
begin
Timer01.free;
count:=0;
CurrentEnch:=0;
end;

begin
if FromServer and (pck[1]=#$87) then case ReadD(2) of
0: begin
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
3: CurrentEnch:=0;
end;
if FromServer and (pck[1]=#$0C) then
if ReadD(4)=ItemID then key:=2 else key:=1;

if FromClient and (pck[1]=#$FE) then UseItem:=pck;
if FromClient and (pck[1]=#$65) then
begin
ItemID:=ReadD(4);
SelectItem:=pck;
end;
if FromClient and (pck[1]=#$87) then EnchantItem:=pck;
if FromClient and (pck[1]+pck[2]=#$56#$0C) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.
Правельно ли я все сделал и это за строчка
if FromClient and (pck[1]+pck[2]=#$56#$0C) then???

Azhole
13.08.2010, 00:33
//J-Fobos: Вариант "сделайте все за меня и чтоб работало" здесь не прокатит :angel:
Но помочь не откажемся, спрашивайте что интересует, подскажем.
Раз на то пошло, основы программирования у меня есть но только на языке C++.
Многие функции я просто не перевариваю(здесь нужна помошь, где мне получить эту базу епрст).Что то я находил но там явно не для новичков гайд.
const
nik='xxxx';
Enchant=16;

var
Useitem2:string; //х3 мои домыслы гм шоп в моём инвентори
UseItem, SelectItem, EnchantItem: string;//обьявляем переменные , которые будут изьяты и потока строкой
CurrentEnch: integer;//непонятно
key: boolean; // не знаю как работате наверное возращает значение true/false или 1\0 ...
Timer01, Timer02: TTimer;

procedure Init; // как я понял главный модуль скрипта
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=3000;

Timer02:=TTimer.Create(nil);
Timer02.OnTimer:=@OnTimer02;
Timer02.enabled:=false;
Timer02.interval:=500;

end;

procedure OnTimer01(Sender: TObject);
begin
case key of
false: begin
buf:=UseItem;
SendToServerEx(nik);
Timer02.enabled:=true;
end;
true: begin
buf:=EnchantItem;\\шмотка которую энчатим присвоили переменной буф(буфер?)
SendToServerEx(nik);
end;
end;
key:=not(key); \\ обнуляем переменную?
end;

procedure OnTimer02(Sender: TObject);
begin
buf:=SelectItem;
SendToServerEx(nik);
Timer02.enabled:=false;
end;

procedure Free;\\соц действие )))
begin
Timer01.free;
Timer02.free;
CurrentEnch:=0;
key:=false;
end;
//проверка на что та причём работает постоянно я х3 (
//мне нужна такаяже только на кол. точек в инвенторе предположения где будет проверка, сразу при использование
UseItem (как я понял сама точка) поставить счётчик (или тут в моде таймер) и крч если Useitem<=0 то ... то используем Useitem2
а далее шаримся по гм шопу (появляется меню ну тут я не знаю как работать с менюшками , толи остаются пакеты с разделами , либо самому вписывать а далее всё как обычно в меню Scrolls выбираем точку строго покупаем 50 и дальше точим точим) ...
//вобще программа очень заинтересовала но здесь нету материала от которого можна отталкнутся по крайней мере на виду.
begin
if FromServer and (pck[1]=#$87) then case ReadD(2) of
0: begin
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
3: CurrentEnch:=0;
end;
if FromClient and (pck[1]=#$19) then UseItem:=pck;
if FromClient and (pck[1]=#$D0) then SelectItem:=pck;
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
if FromClient and (pck[1]+pck[2]=#$56#$0C) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.

J-Fobos
22.08.2010, 12:50
Раз на то пошло, основы программирования у меня есть но только на языке C++.
Многие функции я просто не перевариваю(здесь нужна помошь, где мне получить эту базу епрст).Что то я находил но там явно не для новичков гайд.
В прикрепленных темах есть вся нужная информация. Конечно она сделана не в виде гайдов, а как справочник. Вот тот прокоментирую тот скрипт что вы скинули:
const
nik='xxxx'; //константа с именем чара
Enchant=16; //константа с желаемым уровнем заточки

var
Useitem2:string; //переменная в скрипте не используется. Кажется автор скрипта просто забыл ее убрать, строку вообще можно удалить
UseItem, SelectItem, EnchantItem: string;//обьявляем переменные , которые будут изьяты и потока строкой
CurrentEnch: integer;//уровень заточки предмета в данный момент
key: boolean;//так как вы и написали, либо тру, либо фелс
Timer01, Timer02: TTimer; //два таймера

procedure Init; //это не главный модуль скрипта, это процедура которая выполняется при старте скрипта. В данном случаи в ней задаются парамерты работы 2-х таймеров.
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false; //таймер сначала выключен
Timer01.interval:=3000;

Timer02:=TTimer.Create(nil);
Timer02.OnTimer:=@OnTimer02;
Timer02.enabled:=false; //таймер сначала выключен
Timer02.interval:=500;

end;

procedure OnTimer01(Sender: TObject); //процеруда которая вылняется первым таймером
begin
case key of
false: begin
buf:=UseItem;//переменная buf испоьзуется для отправки пакета, что в этой переменной бубет находится то и отправится на сервер/клиент
SendToServerEx(nik); // отправка buf на сервер
Timer02.enabled:=true; //вклчюаем второй таймер
end;
true: begin
buf:=EnchantItem;
SendToServerEx(nik);//отправка buf на сервер
end;
end;
key:=not(key); // меняем значение переменной, с тру на фелс или с фелс на тру
end;

procedure OnTimer02(Sender: TObject); //процеруда которая вылняется первым таймером
begin
buf:=SelectItem;
SendToServerEx(nik);
Timer02.enabled:=false; //выклчюем второй таймер
end;

procedure Free; //процедура которая выполняется при остановке скрипта, в данном случаи освобождаем память от таймеров
begin
Timer01.free;
Timer02.free;
CurrentEnch:=0; //не нужная строка, при закрытии скрипта переменная исчезнет
key:=false; //не нужная строка, при закрытии скрипта переменная исчезнет
end;


//все ниже написанные строки будут выполнятся при перхвате каждого пакета
//это значит что за секунду они будут выпонятся раз 20-30, в зависимости от количества пакетов что придут от сервера и которые отправит клиент

//материал есть и не спрятанный. абсолютно вся нужная информация находится в закреплнных темах этого и соседних разделов, а также в справке к программе

begin
if FromServer and (pck[1]=#$87) then case ReadD(2) of
0: begin
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
3: CurrentEnch:=0;
end;
if FromClient and (pck[1]=#$19) then UseItem:=pck;
if FromClient and (pck[1]=#$D0) then SelectItem:=pck;
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
if FromClient and (pck[1]+pck[2]=#$56#$0C) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.

°Exzest°
20.12.2011, 21:00
Можно ли сделать так в этом скрипте, чтоб точилась не одна вещь, а к примеру в инвентаре 4 меча и каждый меч подгонялся под топ точку другого?

FixGM
25.02.2012, 15:51
Использую 4 скрипт от МКС
Вот пакеты при точке с +3 на +4
19 D8 7C 50 40 00 00 00 00 (UseItem)
D0 4C 00 BA 90 50 40 (RequestExTryToPutEnchantTargetItem)
5F BA 90 50 40 00 00 00 00 (RequestEnchantItem)
87 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (EnchantResult)
Вот поломка с +4 на 0
те же 1-ые 3
87 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (EnchantResult)

Результат. На +5 вещь сломалась. Далее точнулась с 0 на 1 и скрипт остановился. Визуально доспех точен на +5, реально +1.


скрин пока вставить не получается, вот просто ссылка
http://saveimg.ru/show-image.php?id=a5a880f3313099a54ed39e7fc03029ae




const
nik='BigMen';
Enchant=5;

var
UseItem, SelectItem, EnchantItem: string;
CurrentEnch: integer;
key: boolean;
Timer01, Timer02: TTimer;

procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=3000;

Timer02:=TTimer.Create(nil);
Timer02.OnTimer:=@OnTimer02;
Timer02.enabled:=false;
Timer02.interval:=500;
end;

procedure OnTimer01(Sender: TObject);
begin
case key of
false: begin
buf:=UseItem;
SendToServerEx(nik);
Timer02.enabled:=true;
end;
true: begin
buf:=EnchantItem;
SendToServerEx(nik);
end;
end;
key:=not(key);
end;

procedure OnTimer02(Sender: TObject);
begin
buf:=SelectItem;
SendToServerEx(nik);
Timer02.enabled:=false;
end;

procedure Free;
begin
Timer01.free;
Timer02.free;
CurrentEnch:=0;
key:=false;
end;

begin
if FromServer and (pck[1]=#$87) then case ReadD(2) of
0: begin
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
3: CurrentEnch:=0;
end;
if FromClient and (pck[1]=#$19) then UseItem:=pck;
if FromClient and (pck[1]=#$D0) then SelectItem:=pck;
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
if FromClient and (pck[1]+pck[2]=#$56#$0C) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.



Что в скрипте изменить, чтоб корректно работал?
(Может еще какие-нибудь входящие пакеты выложить?)

Pinko
26.02.2012, 11:38
3: CurrentEnch:=0;
1: CurrentEnch:=0;

Piter12
26.02.2012, 12:35
Подскажите что может быть Скрипты автоточка отрабатывают только один раз в атоматическом режиме, далее приходится давить на соц действие да либо на точку разок нажать и всё нормально ещё разок точнёт. Всё приятно но хочется полного автоматизма.
Я так понял там проблема с Time03 , он включатся не хочет , а втот почему я не знаю:)
Скрипт во вложении так он не влазит в одно сообщение кому интересно посмотрите.
Играю на грации финалке.

Я так понял знающих нет. Печально:) Будим надеется что хоть кто то поможет.

FixGM
26.02.2012, 13:50
to Pinko
Спасибо, помогло, теперь точит до нужного уровня и останавливается (правда, с визуализацией тоже самое, ну и фиг с ней).

Сразу возникает следующая потребность.
Как заставить точить следующую аналогичную вещь до заданного уровня? Может проще доработать этот скрипт или все-таки использовать другой?

kai5510
23.06.2012, 12:00
а де скачать??

Добавлено через 8 минут
е как скачать

Добавлено через 12 минут
mks, а как скачать прогу?

Аргишт
07.04.2013, 15:56
как скачать?

Opofes
29.04.2013, 18:40
Прошу прощение за такие нуб вопросы но я первый раз обращаюсь к таким вещам как читы и все что сними связанно! Подскажите вот этот скрипт куда вообще помещать то нужно .. чет я думал думал и не как не могу понять как может программа называться для скрипта этого на заточку! дайте ссылку где скачать. и ещё, на High Five будит работать авто точка?