PDA

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


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

mks
21.05.2009, 11:19
Расчитано на пвп серваки и изобилие блес точек...
Использование: включаем скрипт,
включаем скрипт (http://coderx.ru/showpost.php?p=37139&postcount=262) << СМОТРЕТЬ
забиваем ник и уровень точки, точим нужную шмотку на +1(не важно со скольки), скрипт запоминает необходимые данные, 1е соц действие включает и выключает автозаточку.
1е соц действие (http://coderx.ru/showpost.php?p=36606&postcount=251) << СМОТРЕТЬ
Скорость заточки выставлена 500мс(+2 в секунду), можно ускорять или замедлять в зависимости от сервака...

>>>

const
nik='xxxx';
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.

<<<

Переделал для тех у кого 1й скрипт работает, но не останавливается заточив до указанного уровня:

>>>

const
nik='xxxx';
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.

<<<


Переделал слегка для Грации Файнал.
Холява закончилась, если выставляешь интервал заточки меньше чем 2100мс получаешь авто-бан(возможно не везде так)

>>>

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.

<<<

для Грации Файнал.
4-й скрипт от mks
добавлен 2й таймер (http://coderx.ru/showpost.php?p=34061&postcount=149)

motograd
21.05.2009, 23:02
Подскажите у меня не то4иться.
Всё сделал правильно вписал ник,3ато4ку,поставил галочку развернул l2 заточил на +1 и эфекта никакова!
Др скрипты ра6отают
серв gracia p2
Подскажите что я не так делаю?

Grinch
21.05.2009, 23:09
Подскажите что я не так делаю?
1-е соц действие видимо не делашь раз не описал это :)

mks
21.05.2009, 23:11
Подскажите у меня не то4иться.
Всё сделал правильно вписал ник,3ато4ку,поставил галочку развернул l2 заточил на +1 и эфекта никакова!
Др скрипты ра6отают
серв gracia p2
Подскажите что я не так делаю?
а 1е соцдействие нажал? оно включает и выключает автозаточку

motograd
22.05.2009, 13:25
Я ставлю енчянт например 20 а пуха всё равно точится после 20 почемуто
Подскажите почему?

Grinch
22.05.2009, 14:07
ты какой способ перехвата юзаешь?

motograd
22.05.2009, 14:20
Обычный перехват тк LSP перехват почемуто не включяется

MaRK
23.05.2009, 12:48
КУ ЛЮДИ ПОМОГИТЕ
//Grinch пишите по русски ваш албанский никому не нужен

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

const
nik='RIDERR';
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:=80;
end;

procedure OnTimer01(Sender: TObject);
begin
buf:=UseItem;
SendToServerEx(nik);
buf:=EnchantItem;
SendToServerEx(nik);
if CurrentEnch=Enchant-1 then Timer01.enabled:=false;
end;

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

begin
if FromServer and (pck[1]=#$87) then CurrentEnch:=ReadD(2);
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.

ау люди че у меня не правильно с скриптом помогите плизз =) я просто в скрипте нуб =)

//mks: еще просьба если вставляете скрипты использовать следующий вид:
[ HIGHLIGHT="DELPHI" ] СКРИПТ [ /HIGHLIGHT ] без пробелов

mks
23.05.2009, 15:02
MaRK, все у тебя нормально со скриптом, если следуешь инструкции и ниче не происходит, то возможны 2 варианта: у тебя вообще л2пх работает на серве?(коннект перехватывает? имя персонажа правильно отображает?), и второй вариант(я уже сталкивался с таким на одном пвп серваке) - пакеты заточки изменены специально что б не юзали скрипты на автозаточку, в этом случаи скрипт переделывать надо.
ЗЫ Скрипт 100% рабочий, использовался на нескольких разных серверах грации 2

OoJokeRoO
28.05.2009, 00:35
на интерлюде пашет?

Добавлено через 11 минут
и простите за нубство, но что за 1е соц действие?))

NLObP
28.05.2009, 00:42
и простите за нубство, но что за 1е соц действие?
Greeting

mks
28.05.2009, 01:41
на интерлюде пашет?

нет, работает на хрониках начиная с камаэль

pixel
28.05.2009, 10:16
Сервер Hellbound,соединение перехватывает нормально,ник отобр.норм.,вот скрипт:
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);
if CurrentEnch=Enchant-1 then Timer01.enabled:=false;
end;

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

begin
if FromServer and (pck[1]=#$87) then CurrentEnch:=ReadD(2);
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.
При запуске скрипта l2ph вылетает со стандартной ошибкой "отправлять/не отправлять". Соединение с сервером рвётся.
В чём загвоздка?

OoJokeRoO
28.05.2009, 11:50
блиннн
тогда никто незнает скрипта на интерлюд?) оч надо, серв весь переточеный ппц))

xXxMassarakshxXx
28.05.2009, 12:00
перерыл ввесь форум но такого скрипта на интерлюд так и не нашол, у меня на сервере если пуха сгорает то заточка не на 0 прыгает а на 30 поетому скрипт NLObP не прокатит,виснет l2phx(гугл тоже не помог,дайте скриптец если у кого есть плиз =)

QaK
28.05.2009, 12:47
дайте скриптец если у кого есть плиз =)ни у кого нету, если только самому адаптировать под свой сервак

xXxMassarakshxXx
28.05.2009, 13:20
ни у кого нету, если только самому адаптировать под свой сервак

я в скриптинге не селен ,сам не напишу (
//QaK: учиьтся, учиться и еще раз учиться

Devik
31.05.2009, 11:22
Cпасибо за скриптик, но есть одна загвоздка,столкнулся с такой же проблемой как некий "motograd", ответа на его вопрос не нашел, решил ещё раз спросить. Поставил енчат на "7", но он продолжает точить дальше, попробовал так же подставить числа переведеные в байты,но уже другой эффект, допустим ставлю енчат "5", тогда он точит не до посинения, а просто 5 раз. Использую LSP перехват. Не подскажите в чем тут проблемка?

Ga6pueL
31.05.2009, 13:40
Подскажите пожулуйста что над делать если скрипт на точку на грации не видет моего персонажа...что надо делать??????

Grinch
31.05.2009, 14:03
читать FaQ

TAMBIK
31.05.2009, 14:03
вроде так под ИНТЕРЛЮД
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.

mks
01.06.2009, 14:13
Cпасибо за скриптик, но есть одна загвоздка,столкнулся с такой же проблемой как некий "motograd", ответа на его вопрос не нашел, решил ещё раз спросить. Поставил енчат на "7", но он продолжает точить дальше, попробовал так же подставить числа переведеные в байты,но уже другой эффект, допустим ставлю енчат "5", тогда он точит не до посинения, а просто 5 раз. Использую LSP перехват. Не подскажите в чем тут проблемка?
эт надо смотреть че от сервера идет после заточки, уже не раз попадал на серваки где тупо не приходит пакет EnchantResult, а если нет этого пакета, то текущая заточка в скрипте всегда будет равна 0, что не позволит выполницо условию выключения таймера заточки

uFoZz
03.06.2009, 23:04
помогите плиз) только запускаю скрипт и вылетает ошибка, чё делать?(
http://imageshost.ru/links/29646a6bdd6319af363e065d0e5d143e
http://imageshost.ru/links/29646a6bdd6319af363e065d0e5d143e

xXxMassarakshxXx
04.06.2009, 12:32
забей на ету ошибку,просто нажми ок и продолжай работать со скриптом. TAMBIK спску нажал,щя буду испытывать) Есть одно но в скрипте на интерлюд, включаю скрипт делаю все как положено,но он открывает заточку но не точит а в логах пишет 100тни сообщений - выберите предмет для заточки.

uFoZz
04.06.2009, 17:35
та если бы он ещё работал =)
чё за первое соц действие?))))
к примеру запустил я скрипт и чё дальше делать что бы оно начало точить?))
//nlobp:читаем тему не по диагонали, а все сообщения. Конкретно про соц.действие здесь (http://coderx.ru/showpost.php?p=30931&postcount=11).

vovanchikst
07.06.2009, 14:42
У меня таже проблема походу не приходит пакет EnchantResult, и поетому итем продолжает точится выше заданого числа. Возможно переделать как то скрипт что всё работало?

mks
07.06.2009, 16:16
У меня таже проблема походу не приходит пакет EnchantResult, и поетому итем продолжает точится выше заданого числа. Возможно переделать как то скрипт что всё работало?

Ну здесь есть как минимум 2 варианта: придумать как вытащить текущую заточку предмета из пакета InventoryUpdate, либо тупо добавить счетчик в таймер, примерно так:
CurrentEnch:=CurrentEnch+1;
только в этом случаи точить всегда с нуля

NLObP
07.06.2009, 16:47
Киньте лог пакетов с заточкой чего-нибудь до +4 или +5 (лучше с руофа или птс сервака). У меня на локальном ява сервере Грация в пакете EnchantResult всего три значения 0-улучшили, 1-сломали, 2-сбросило в 0.

HORSE
07.06.2009, 19:29
а кто знает как будет выглядеть пакет заточки вещи на +10...оч нужно для скрипта....или как его узнать??

Добавлено через 1 час 53 минуты
Расчитано на пвп серваки и изобилие блес точек...
Использование: включаем скрипт, забиваем ник и уровень точки, точим нужную шмотку на +1(не важно со скольки), скрипт запоминает необходимые данные, 1е соц действие включает и выключает автозаточку.
Скорость заточки выставлена 500мс(+2 в секунду), можно ускорять или замедлять в зависимости от сервака...

const
nik='xxxx';
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);
if CurrentEnch=Enchant-1 then Timer01.enabled:=false;
end;

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

begin
if FromServer and (pck[1]=#$87) then CurrentEnch:=ReadD(2);
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.


ЗЫ сожалею, но прошлую тему случайно рубанул, сильно не бейте плз
//Чтобы не флудить
//QaK:Гы-гы, Акелла промахнулся, Акелла промахнулся =)
эммм...я в скрипте не могу понять одного....где команда активации точки по нажатию 1 соц. действия????

mks
07.06.2009, 20:31
а кто знает как будет выглядеть пакет заточки вещи на +10...оч нужно для скрипта....или как его узнать??

На хрониках начиная с камаэль механизм заточки состоит из 2х пакетов:
UseItem -использование свитка заточки
EnchantItem -выбор затачиваемой весчи
не важно на сколько точишь, пакеты от клиента идут одни и те же что на +5, что на +65535


эммм...я в скрипте не могу понять одного....где команда активации точки по нажатию 1 соц. действия????

if FromClient and (pck=#$34#$02#$00#$00#$00) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;

HORSE
07.06.2009, 20:39
тогда как в этом скрипте сделать что бы он остановился когда заточит на +11????....


const
Name='HORSE';
var
timer:TTimer;
x:byte; //определение, какоде действие по счету мы совершаем

procedure Init;
begin
timer:=TTimer.Create(nil);
timer.interval:=150;
timer.OnTimer:=@fireTimer;
timer.enabled:=true;
x:=1;//сначала х=1
end;

procedure Free;
begin
timer.Free;
end;

procedure fireTimer(Sender: TObject);
begin
case x of
1:begin
buf:=hstr('0C 85 FD 7C 11 00 00 00 00');
SendToServerEx(Name);
inc(x);
end;
2:begin
buf:=hstr('65 C7 99 01 10 00 00 00 00');
SendToServerEx(Name);
x:=1;
end;
end;{case}
end;

begin
if FromServer and (ConnectName=Name)
and (pck = HStr('87 0A 00 00 00 0A 00 00 00 0A 00 00 00'))
then
timer.enabled:=false;
end.


Я проверил скрипт робочий, но он так сказать "Не видит конца"...дочит до бесконечности....

mks
07.06.2009, 21:04
тогда как в этом скрипте сделать что бы он остановился когда заточит на +11????....

Добавь в таймер переменную и увеличивай ее с одним проходом на 1, туда же добавь условие выключения таймера если ее величина достигнет +11

например мой скрипт писался для случая где в пакете EnchantResult приходит уровень заточки....
а вообще лучше сделай что дядька попросил:
Киньте лог пакетов с заточкой чего-нибудь до +4 или +5 (лучше с руофа или птс сервака). У меня на локальном ява сервере Грация в пакете EnchantResult всего три значения 0-улучшили, 1-сломали, 2-сбросило в 0.

HORSE
08.06.2009, 00:02
эм...у меня уже башка не варит как его дописать и как сделать всё это...
И у меня при заточке появляеться только 2 пакета: открытие точки и заточка....где мне взять результат точки?!
ИЛи скажите почему у меня ваш скрипт не пашет?!...у друга пашет - у меня нет....не можем рощобраться в чем дело...ничего кроме ника и уровня точки не меняю, вкл.скрипт,точу что то,вкл 1 соц действие...и ничего не происходит...уже третий день ковыряюсь с этими скриптами...=((((

Добавлено через 2 часа 52 минуты
Короче пробывал я это сделать...у меня не получилось...мозги уже кипят...
может кто поможет с этим кусочком :"Добавь в таймер переменную и увеличивай ее с одним проходом на 1, туда же добавь условие выключения таймера если ее величина достигнет +11" ????плиззз

mks
08.06.2009, 00:44
HORSE, выложи сюда лог пакетов при заточке, в любом случаи надо для начала узнать че тебе приходит в EnchantResult

HORSE
08.06.2009, 00:59
пакеты от сервера или клиента?

mks
08.06.2009, 01:08
все пакеты, возсользуйся кнопкой "сохранить лог"

HORSE
08.06.2009, 01:21
http://slil.ru/27736671
Купил Династи Неклю...точил с 0 до 4 вроде...
Только я не могу понять как вы в той "матрице" что то розберете...

mks
08.06.2009, 01:32
http://slil.ru/27736671
Только я не могу понять как вы в той "матрице" что то розберете...
есть кнопка "загрузить лог" ;)

HORSE
08.06.2009, 01:35
ааааааа=)))точно...что то я после 3-х безсонных ночей туплю=(((

mks
08.06.2009, 01:51
HORSE, выложи лог что б заточка повышалась а потом сбросилась на 0, например +4,+5,+6,0
чет твои пакеты никаким хроникам не соответствуют
только я уже завтра гляну, спать охота...

HORSE
08.06.2009, 11:52
эмм...ок..завтра кину...что бы тя не нагружать...
Сервер megal2.ru

Добавлено через 9 часов 56 минут
Вот (http://depositfiles.com/files/039eqdzjp)
Заточку начал с +3...и слетело на +7 или +8...

NLObP
08.06.2009, 11:57
Купил Династи Неклю...точил с 0 до 4 вроде...
Только я не могу понять как вы в той "матрице" что то розберете...

Глянул лог. Сервак я понял Грация, ID пакетов изменены.

Tип: 0x0C (UseItem)
Pазмер: 9+2
Время прихода: 23:17:40:921
0002 d ObjectID: 431973704 (0x19BF6548)
0006 d ?: 0 (0x00000000)

Tип: 0x65 (RequestEnchantItem)
Pазмер: 9+2
Время прихода: 23:17:50:531
0002 d ObjectID: 431973704 (0x19BF6548)
0006 d ?: 0 (0x00000000)
в пакете
Tип: 0x87 (EnchantResult)
Pазмер: 13+2
Время прихода: 23:17:50:921
0002 d Result: 3 (0x00000003)
0006 d Result: 3 (0x00000003)
0010 d Result: 3 (0x00000003)
по крайней мере до +3 видно соответствие увеличения до 3 и сброс в 0 после фейла. Так что приведенный тобой скрипт должен работать, только надо ObjectID смотреть чтобы правильные были.

PS: А ещё лучше поменять в скрипте от mks на это
if FromServer and (pck[1]=#$87) then CurrentEnch:=ReadD(2);
if FromClient and (pck[1]=#$0C) then UseItem:=pck;
if FromClient and (pck[1]=#$65) then EnchantItem:=pck;

HORSE
08.06.2009, 12:14
Скрипт mks у меня пашет...но как то корявенько...
А мой скрипт тоже пашет, но как я говорил, я не знаю как пакетом указать степень заточки и скрипт точит,ломает до тех пор пока не скончаться точки....мне посоветовали сделать с таймером, но я увы в этом не могу розобраться...не получаеться=(((

NLObP
08.06.2009, 12:29
HORSE, был бы один и нормальный сервер, тогда можно было бы голову ломать, а так админы на каждом сервере своё мутят.

Выбирай степень заточенности из пакета Tип: 0x21 (InventoryUpdate) или Tип: 0x11 (ItemList)

HORSE
08.06.2009, 14:03
поймал такой пакетик от сервера

21 01 00 02 00 00 00 48 65 BF 19 F0 24 00 00 01
00 00 00 01 00 00 00 02 00 00 00 00 00 08 00 00
00 04 00 00 00 00 00 00 00 FF FF FF FF FE FF FF
FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00

я наблюдал за процесом точки...вот та подчеркнутая цыфра означает уровень точки шмотки...а тогда какой пакет будет "пакетом ограничения точения"???

Добавлено через 20 минут
PS: А ещё лучше поменять в скрипте от mks на это
if FromServer and (pck[1]=#$87) then CurrentEnch:=ReadD(2);
if FromClient and (pck[1]=#$0C) then UseItem:=pck;
if FromClient and (pck[1]=#$65) then EnchantItem:=pck;[/QUOTE]
Последний кусок скрипта поменять???
Тогда же мне кажеться придеться крутить структуру скрипта,дописать переменные...или же ент??:confused:

artemx1
08.06.2009, 15:39
я играю на l2rx.com l2pbx работет нормально видит пакеты и тдт но когда я в скрипт вписываю свойо имя и нажымаю выполнить получаю пару сек лагает потом дисконект ето фикс ?

NLObP
08.06.2009, 16:54
поймал такой пакетик от сервера

21 01 00 02 00 00 00 48 65 BF 19 F0 24 00 00 01
00 00 00 01 00 00 00 02 00 00 00 00 00 08 00 00
00 04 00 00 00 00 00 00 00 FF FF FF FF FE FF FF
FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00

Да похоже на то. Вот расшифровка твоего пакета
Tип: 0x21 (InventoryUpdate)
Pазмер: 77+2
Время прихода: 15:48:20:078
0002 h Count: 1 (0x0001)
[Начало повторяющегося блока 1/1]
0004 h UpdateType: 2 (0x0002)
0006 h ItemType1: 0 (0x0000)
0008 d ObjectID: 431973704 (0x19BF6548)
0012 d ItemID: Ожерелье Династии ID:9456 (0x24F0) (0x000024F0)
0016 d LocationSlot: 1 (0x00000001)
0020 d Quantity: 1 (0x00000001)
0024 h ItemType2: 2 (0x0002)
0026 h CustomType1: 0 (0x0000)
0028 h Equipped: 0 (0x0000)
0030 d BodyPart: 8 (0x00000008)
0034 h EnchantLevel: 4 (0x0004)
0036 h CustType2: 0 (0x0000)
0038 d AugmentationBonus: 0 (0x00000000)
0042 d Mana: -1 (0xFFFFFFFF)
0046 d AttackAttrElement: -2 (0xFFFFFFFE)
0050 d AttackAttrElementVal: 0 (0x00000000)
0054 d DefAttrFire: 0 (0x00000000)
0058 d DefAttrWater: 0 (0x00000000)
0062 d DefAttrWind: 0 (0x00000000)
0066 d DefAttrEarth: 0 (0x00000000)
0070 d DefAttrHoly: 0 (0x00000000)
0074 d DefAttrUnholy: 0 (0x00000000)
[Конец повторяющегося блока 1/1]

Примерно так

if FromServer then
begin
case pck[1] of
#$21: begin //InventoryUpdate
if (ReadD[12]=ID_предмета) and (ReadD[34]=уровень заточки) then что_хотим_сделать;
end;
end;

Добавлено через 34 секунды
Последний кусок скрипта поменять???

Да, просто поменяй как написано.

mks
08.06.2009, 17:23
Переделал слегка для Грации Файнал.
Холява закончилась, если выставляешь интервал заточки меньше чем 2100мс получаешь авто-бан(возможно не везде так)

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.

HORSE
08.06.2009, 19:29
решил всё таки добить свой скрипт...
но у меня ругаеться на end. в конце...
ЧТо я сделал не так???
const
Name='HORSE';
var
timer:TTimer;
x:byte; //определение, какоде действие по счету мы совершаем

procedure Init;
begin
timer:=TTimer.Create(nil);
timer.interval:=150;
timer.OnTimer:=@fireTimer;
timer.enabled:=true;
x:=1;//сначала х=1
end;

procedure Free;
begin
timer.Free;
end;

procedure fireTimer(Sender: TObject);
begin
case x of
1:begin
buf:=hstr('5F 48 65 BF 19 00 00 00 00 ');
SendToServerEx(Name);
inc(x);
end;
2:begin
buf:=hstr('5F 48 65 BF 19 00 00 00 00 ');
SendToServerEx(Name);
x:=1;
end;
end;{case}

if FromServer then
begin
case pck[1] of
#$21: begin //InventoryUpdate
if (pck[12]=9456) and (pck[34]=5) then timer.enabled:=false;;
end;
end.

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

Да, просто поменяй как написано.
ох я как поменял...нажал соц действие как полезли окна в Пакетнику...это было штото...
Дело в том что у меня скрипт mks оч переборчивый...или это из за серва или из за серва...ставишь значение +7 первый раз оно точит на +7...но когда точнул что то другое на +1 - нажал ХЕЛЛО то оно уже точит на +8...может потому что в системном окошке пишет- улучшение предмета на +7 было успешно произведено?!)))

mks
08.06.2009, 20:10
HORSE, у тебя перед end. не хватает end; одного
и вообще как может pck[12]=9456?

HORSE
08.06.2009, 20:40
HORSE, у тебя перед end. нехватает end; одного
const
Name='HORSE';
var
timer:TTimer;
x:byte; //определение, какоде действие по счету мы совершаем

procedure Init;
begin
timer:=TTimer.Create(nil);
timer.interval:=150;
timer.OnTimer:=@fireTimer;
timer.enabled:=true;
x:=1;//сначала х=1
end;

procedure Free;
begin
timer.Free;
end;

procedure fireTimer(Sender: TObject);
begin
case x of
1:begin
buf:=hstr('5F 48 65 BF 19 00 00 00 00 ');
SendToServerEx(Name);
inc(x);
end;
2:begin
buf:=hstr('5F 48 65 BF 19 00 00 00 00 ');
SendToServerEx(Name);
x:=1;
end;
end;{case}

if FromServer then
begin
case pck[1] of
#$21: begin //InventoryUpdate
if (pck[12]=9456) and (pck[34]=5) then timer.enabled:=false;;
end;
end;
end.
Всё равно выделяет end.
Пишет:- Ошибка:';' expected...
Ииии...мне всё равно кажеться в скрипте напортачил....

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

if (pck[12]=ID_предмета) and (pck[34]=уровень заточки) then что_хотим_сделать;

(pck[34]=уровень заточки)
Вот меня интерисует этот момент...в каком виде писать уровень заточки:обычным числом, в байтах,пакетом???

alexteam
08.06.2009, 21:22
Почитай содержимое PacketsT1.ini для начала особенно коментарии в начале. и это (http://l2phx.pp.ru/arhive/l2ph_help/index.htm#page=WhatNeedKnowToWriteCrypts.htm).
ибо pck[12] это byte
а id предмета и уровень его заточки это word т.е. 4 байта.

HORSE
08.06.2009, 21:27
типа мне неправильно написал NLObP ???
Я что то не вдуплю...я ваще тупой епта=(((

vovanchikst
08.06.2009, 22:17
Вот мой лог. Я уже говорил у меня точится выше заданного числа. http://depositfiles.com/files/ave148o1v
//nlobp:пишите хроники и на сколько точили, а то непонятно.

mks
08.06.2009, 23:30
типа мне неправильно написал NLObP ???
Я что то не вдуплю...я ваще тупой епта=(((
я думаю это просто была очепятка со стороны NLObP
имелось в виду:
if (ReadD(12)=ID_предмета) and (ReadD(34)=уровень заточки) then что_хотим_сделать;
а да, ID предмета и уровень заточки тут писать в десятичном виде (как обычные люди считают) :)

const
Name='HORSE';
var
timer:TTimer;
x:byte; //îïðåäåëåíèå, êàêîäå äåéñòâèå ïî ñ÷åòó ìû ñîâåðøàåì

procedure Init;
begin
timer:=TTimer.Create(nil);
timer.interval:=150;
timer.OnTimer:=@fireTimer;
timer.enabled:=true;
x:=1;//ñíà÷àëà õ=1
end;

procedure Free;
begin
timer.Free;
end;

procedure fireTimer(Sender: TObject);
begin
case x of
1:begin
buf:=hstr('5F 48 65 BF 19 00 00 00 00 ');
SendToServerEx(Name);
inc(x);
end;
2:begin
buf:=hstr('5F 48 65 BF 19 00 00 00 00 ');
SendToServerEx(Name);
x:=1;
end;
end;{case}
end;

//кусок ниже ты получается влепил в таймер, пришлось расставить еще пару end; и begin;
begin
if FromServer then
begin
case pck[1] of
#$21: begin //InventoryUpdate
if (ReadD(12)=9456) and (ReadD(34)=5) then timer.enabled:=false;;
end;
end;
end;
end.

ЗЫ в алгоритм твоего скрипта не вникал, поправил синтаксис

NLObP
09.06.2009, 00:54
я думаю это просто была очепятка со стороны NLObP
имелось в виду:
if (ReadD(12)=ID_предмета) and (ReadD(34)=уровень заточки) then что_хотим_сделать;
а да, ID предмета и уровень заточки тут писать в десятичном виде (как обычные люди считают
Точно! Это я ступил малость. :D

mks
09.06.2009, 00:55
Переделал для тех у кого 1й скрипт работает, но не останавливается заточив до указанного уровня:

const
nik='xxxx';
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.

NLObP
09.06.2009, 01:06
vovanchikst, твой лог очень похож на мой сервак (java Грация), для которого делал скрипт.

Последовательность пакетов, в основном такая
1. c0x19 (UseItem) - выбор свитка
2. s0x62 (SystemMessage)
3. s0x7C (ChooseInventoryItem)
4. c0x5F (RequestEnchantItem) - выбор оружия
5. s0x62 (SystemMessage)
6. s0x87 (EnchantResult) - результат улучшения
7. s 0x11 (ItemList)

Тип: 0x87 (EnchantResult)
Размер: 13+2
Время прихода: 20:02:42:625
0002 d Result: 2 (0x00000002), где 0 - прошла заточка, 2 - сбросило в 0

mks
09.06.2009, 01:15
vovanchikst, на 2мегабайта лог)
последний скрипт у тебя должен нормально работать

HORSE
09.06.2009, 01:52
Переделал для тех у кого 1й скрипт работает, но не останавливается заточив до указанного уровня:

const
nik='xxxx';
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.


У меня твой скрипт теперь точно не видит конца...раньше он с раза второго понимал до скольки точить, а этот точит пока точки не кончаться...

Добавлено через 11 минут
я думаю это просто была очепятка со стороны NLObP
имелось в виду:
if (ReadD(12)=ID_предмета) and (ReadD(34)=уровень заточки) then что_хотим_сделать;
а да, ID предмета и уровень заточки тут писать в десятичном виде (как обычные люди считают) :)

const
Name='HORSE';
var
timer:TTimer;
x:byte; //îïðåäåëåíèå, êàêîäå äåéñòâèå ïî ñ÷åòó ìû ñîâåðøàåì

procedure Init;
begin
timer:=TTimer.Create(nil);
timer.interval:=150;
timer.OnTimer:=@fireTimer;
timer.enabled:=true;
x:=1;//ñíà÷àëà õ=1
end;

procedure Free;
begin
timer.Free;
end;

procedure fireTimer(Sender: TObject);
begin
case x of
1:begin
buf:=hstr('5F 48 65 BF 19 00 00 00 00 ');
SendToServerEx(Name);
inc(x);
end;
2:begin
buf:=hstr('5F 48 65 BF 19 00 00 00 00 ');
SendToServerEx(Name);
x:=1;
end;
end;{case}
end;

//кусок ниже ты получается влепил в таймер, пришлось расставить еще пару end; и begin;
begin
if FromServer then
begin
case pck[1] of
#$21: begin //InventoryUpdate
if (ReadD(12)=9456) and (ReadD(34)=5) then timer.enabled:=false;;
end;
end;
end;
end.

ЗЫ в алгоритм твоего скрипта не вникал, поправил синтаксис

Ввел все данные..точит отлично...не перетачивает=))))
Можете забирать)))СКРИПТ РОБОЧИЙ!!!!!!!!!!
БОЛЬШОЕ СПАСИБО mks и NLObP за то что сделали почти всё=))))И не послали меня на *** :cool:!!!!!

NLObP
09.06.2009, 02:08
У меня твой скрипт теперь точно не видит конца...раньше он с раза второго понимал до скольки точить, а этот точит пока точки не кончаться...

Это потому, что на твоем сервере в пакете 87 идет прямое указание на сколько заточили.

mks
09.06.2009, 13:56
Подправил скрипт в 1м посте, перенес условие выключения таймера из тела таймера в основную часть скпипта, это должно решить проблему периодической неостановки затачивания. Добавил туда же еще два скрипта, один для серверов где в EnchantResult не приходит величина заточки и второй переделанный под грацию файнал.

HORSE
09.06.2009, 17:07
гы...у меня все твои скрипты перетачивают...=)))только мой норм точит)))

CapsLock
09.06.2009, 18:03
Я пробовал скрипт на автоточку с вашего сайта,вставлял его в папку scripts в папке l2 phx. У меня высвечивалось соединение,потом я тыкал на скрипт автозаточки(т.е. ставил галочку) и я ставил на старт, у меня он ничего не делал.Я знаю, что у меня ошибка в чём то, но просто не могу догадаться. Можете дать мне ссылку на l2 phx имнно для интерлюда, а то я скачиваю то грацию,то ещё чё нить) .Помогите плз

HORSE
09.06.2009, 18:16
Эм...вот те Шаги для скрипта:
1.Вкл.Хлапекс.
2.Зайди в игру.
3.Проверь совпадает ли у тя имя соединение с ником в игре.(если играешь на грации то убери галочку в хлапексе Gracia off serv).
4.Ставишь галочку в скрипте.
5. Точишь шмотку на +1.
6. Нажимаешь 1 соц действие (HELLO) ...

563ert
09.06.2009, 19:58
Ребят В новом исправлении точится столько раз сколько написано в точится Enchant=9-например тут будет точить 9 раз и потом перестаёт

CapsLock
09.06.2009, 20:20
ладно,это понятно(спс)
а вот любой же l2 phx работает на интерлюд?или же нужен настроенный на интерлюд L2 phx?

Добавлено через 4 минуты
и ещё:чё за соц действие?)
просто приведи пример) ну или по конкретнее)

NLObP
09.06.2009, 21:32
HORSE, не называй программу xkor'а - хлапексом, он ведь может обидеться!

HORSE
09.06.2009, 21:34
HORSE, не называй программу xkor'а - хлапексом, он ведь может обидеться!
Понял-принял:D

CapsLock
09.06.2009, 21:36
вы меня то не забыли?)
соц.объект- по конкретнее плз

NLObP
09.06.2009, 21:37
CapsLock, на интерлюдии будет работать любой пакетхак (3.1.8, 3.2.0, и выше) при наличии подходящего для твоего сервера inject.dll. Не забудь его правильно настроить (смотри мануал).

CapsLock
09.06.2009, 21:50
т.е. получается , что если у меня версия Л2 phx 3.4.1.61, то возможно из-за этого у меня не врубается скрипт на автоточ?
мог бы оставить ссылку на 3.1.8 или выше? пожалуста

NLObP
09.06.2009, 22:21
CapsLock, скрипты (любые) будут работать, если выполняется условие - в списке соединений написано имя чара. Это условие выполенено?

Указанная тобой версия это и есть в моём предложении "и выше".

CapsLock
09.06.2009, 22:43
соединение есть,там высвечено имя моего чара, НО: я скачал версию 3.2.0-за чара не входит, а за версию 3.4.1.61. заходит. изза этого авто точка не робит,почему?

563ert
10.06.2009, 00:59
1.mks твой второй скрипт точит столько раз сколько указано в Enchant=

mks
10.06.2009, 01:02
1.mks твой второй скрипт точит столько раз сколько указано в Enchant=

он точит пока не заточит на столько сколько там указано

HORSE
10.06.2009, 02:52
Серваки разные просто,админы шаманят над ними по разному...- вот что я понял за 5 дней мучений...

CapsLock
10.06.2009, 22:19
парни помагите реально) плиз,
я включаю л2phx, захожу в л2,проверяю соединение,(все норм),дальше ставлю галочку на скрипте, точу +1 в л2, на 1 соц действии стоит команда Hello,я загружмаю скрипт на автозаточку,и тыкаю выполнить скрипт, вылетает ошибка.
у мну 3 версии l2phx. 318 319 320
почему у мну вылетает эррор, после того как я выполняю выполнить, может мне в скрипте что нить нужно дописатЬ??? я хз, я пытался... нифига, например там вместо ника были "хххх" я вставил свой ник, enchant=подставил нужное кол-во, что дальше?) спасайте паарни ))

1oO
10.06.2009, 22:23
У меня проблема с скриптом для грации финал
делаю всё по инструкции но после того как нажимаю на соц действие (включение скрипта) нажимается заточка,выбирается итем а сам процесс заточки не идёт, или вобще не хочет выбирать итем после того как активирвал заточку.
http://dump.ru/file/2880175
лог

может кто нить подскажет в чём дело?

mks
10.06.2009, 23:44
1oO, попробуй, подправил по твоему логу

const
nik='xxxx';
Enchant=16;

var
UseItem, SelectItem, EnchantItem: string;
Count, CurrentEnch: integer;
key: boolean;
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
0: begin
buf:=UseItem;
SendToServerEx(nik);
buf:=SelectItem;
SendToServerEx(nik);
key:=not(key);
end;
1: begin
buf:=EnchantItem;
SendToServerEx(nik);
key:=not(key);
end;
end;
end;

procedure Free;
begin
Timer01.free;
count:=0;
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.

1oO
11.06.2009, 00:57
1oO, попробуй, подправил по твоему логу

спс за старания но при активации скрипта через социальное действие заточка активируется, итем ложится а сам процесс не хочет идти. Причём если в прошлом скрипте при отмене заточки он всёравно продолжал пытатся что то заточить не выставляя предмет, то в этом просто ноль реакции когда жмёшь "Канцел" на менюшке с заточкой

mks
11.06.2009, 02:02
1oO, один вопрос - когда скрипт запускаешь соц.действием, открывается выбор затачиваемой шмотки, шмотка туда выставляется автоматом?

1oO
11.06.2009, 08:05
1oO, один вопрос - когда скрипт запускаешь соц.действием, открывается выбор затачиваемой шмотки, шмотка туда выставляется автоматом?

да, в последнем скрипте шмотка выставляется автоматом и в том который в 1 после не выставляется вобще

mks
11.06.2009, 10:40
да, в последнем скрипте шмотка выставляется автоматом и в том который в 1 после не выставляется вобще
мм... значит должен работать, дома буду гляну

1oO
11.06.2009, 22:11
мм... значит должен работать, дома буду гляну

http://www.l2tns.com/ вот сервер на всякий случай :)

Добавлено через 10 часов 36 минут
up

Активация заточки
19 30 8B 29 10 00 00 00 00
Переност итема в менюшку
D0 4C 00 2F 6F 1E 10
Енчатинг итема
5F 2F 6F 1E 10 00 00 00 00


вроде всё правильно но не хочет нажимать "Ок"

может у кого нить есть ItemsID.ini для грации финал?? простоу меня не хочет открывать файл клиента с списком итемов, пробовал скрипт NLObPа но там не показывает список итемов скорее всего из за того что ItemsID.ini не подходит под грацию финал, пробовал вписывать свои идшники в ItemsID.ini но всёравно не видит :(

mks
11.06.2009, 23:56
вроде всё правильно но не хочет нажимать "Ок"

В том-то и дело что все норм, единственной причиной неработоспособности может быть только сам серв.
Скорей всего, сервер просто выжидает паузу которую выдерживает клиент(полоска просесса заточки)
Так что увелич интервал в таймере для начала до 5000мс, я думаю скрипт начнет работать, а потом уменьшай пока не перестанет работать и вычислишь какую задержку минимум можно оставить

1oO
12.06.2009, 18:40
mks, может ты попробуешь переделать скрипт для грации финал(который ты уже написал) под мой сервер? просто я понял что ты взял за основу 1 скрипт которя я понял для интерлюда? просто 3 скрипт нажимает на "Ок" но не выставляет итем в менюшку

mks
12.06.2009, 22:54
mks, может ты попробуешь переделать скрипт для грации финал(который ты уже написал) под мой сервер? просто я понял что ты взял за основу 1 скрипт которя я понял для интерлюда? просто 3 скрипт нажимает на "Ок" но не выставляет итем в менюшку
скрипт писал на своем л2г, учел все
сорри, могу помочь только морально

izbrannu
12.06.2009, 23:46
ща попробую скрипт... mks ты скрипт делал под грацию ПАРТ 1 или ПАРТ 2???:o

DarkBrain
13.06.2009, 18:23
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);
if CurrentEnch=Enchant-1 then Timer01.enabled:=false;
end;

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

begin
if FromServer and (pck[1]=#$81) then CurrentEnch:=ReadD(2);
if FromClient and (pck[1]=#$14) then UseItem:=pck;
if FromClient and (pck[1]=#$1B) then EnchantItem:=pck;
if FromClient and (pck=#$1B#$02#$00#$00#$00) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.
Поправте плиз скриптец для интерлюда... А то включаю скрипт, а оно: выбирите предмет для заточки....

DrBro
17.06.2009, 23:38
mks, Спасибо за скриптик очень полезный! тока у меня на серваке напряг с блесками, а твой скриптик новую пуху с рюкзака не берет если сломает первую :( серв финал

mks
18.06.2009, 12:34
mks, Спасибо за скриптик очень полезный! тока у меня на серваке напряг с блесками, а твой скриптик новую пуху с рюкзака не берет если сломает первую :( серв финал
Нет, в том-то его и простота, если дописывать что б пуху брал из рюгзака он слегка увеличится, может на досуге допишу....

HORSE
18.06.2009, 13:53
сходи пивка попей на досуге лучше=))ты и так много сделал)))

DrBro
18.06.2009, 20:18
mks, Был бы оченень признателен :)


HORSE, нефиГГ агитировать к пьянству ценные кадры форума!все правильно: досуг надо проводить с пользой для общества)

dev
21.06.2009, 18:17
Ответ сервера (Megal2.ru) - 3 пакета:

1.Tип: 0x21 (InventoryUpdate): Кол-во оставшихся заточек

21 01 00 02 00 04 00 D6 4E 04 10 B2 19 00 00 0B 00 00 00 24 01 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

2.Tип: 0x21 (InventoryUpdate): Информация о затачиваемом предмете, с текущим уровнем заточки

21 01 00 02 00 01 00 56 2D 0B 10 D7 24 00 00 0C 00 00 00 01 00 00 00 01 00 00 00 01 00 00 10 00 00 05 00 00 00 00 00 00 00 FF FF FF FF FE FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

3.Tип: 0x87 (EnchantResult): Текущий уровень заточки предмета

87 05 00 00 00 05 00 00 00 05 00 00 00


Вопрос:
Ранее для остановки скрипта можно было зацепиться за 0x87, проверить по 0012 d (id предмета), теперь вместо 0012 d отдаёт 000С d (id предмета).

Скрипт выдаёт ошибку:
http://myproject.st8.ru/773.jpg


const
Name='******';
var
timer:TTimer;
x:byte; //ii?aaaeaiea, eaeiaa aaenoaea ii n?aoo iu niaa?oaai

procedure Init;
begin
timer:=TTimer.Create(nil);
timer.interval:=150;
timer.OnTimer:=@fireTimer;
timer.enabled:=true;
x:=1;//nia?aea o=1
end;

procedure Free;
begin
timer.Free;
end;

procedure fireTimer(Sender: TObject);
begin
case x of
1:begin
buf:=hstr('5F 48 65 BF 19 00 00 00 00 ');
SendToServerEx(Name);
inc(x);
end;
2:begin
buf:=hstr('5F 48 65 BF 19 00 00 00 00 ');
SendToServerEx(Name);
x:=1;
end;
end;{case}
end;

//кусок ниже ты получается влепил в таймер, пришлось расставить еще пару end; и begin;
begin
if FromServer then
begin
case pck[1] of
#$21: begin //InventoryUpdate
if (ReadD(0C)=9456) and (ReadD(34)=5) then timer.enabled:=false;;
end;
end;
end;
end.


Забавно то, что при составлении пакета id вещи показывается в 0012 d, но когда пакет приходит с сервера - пх показывает id в 000С d.

В связи с чем скрипт точит не останавливаясь, пока не заканчиваются заточки.

[+] Если установить таймер менее чем на 2500 - вещь временами ломается на +4, при том, что на сервере +4 безопасно.

HORSE
21.06.2009, 20:24
Ответ сервера (Megal2.ru) - 3 пакета:

1.Tип: 0x21 (InventoryUpdate): Кол-во оставшихся заточек

21 01 00 02 00 04 00 D6 4E 04 10 B2 19 00 00 0B 00 00 00 24 01 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

2.Tип: 0x21 (InventoryUpdate): Информация о затачиваемом предмете, с текущим уровнем заточки

21 01 00 02 00 01 00 56 2D 0B 10 D7 24 00 00 0C 00 00 00 01 00 00 00 01 00 00 00 01 00 00 10 00 00 05 00 00 00 00 00 00 00 FF FF FF FF FE FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

3.Tип: 0x87 (EnchantResult): Текущий уровень заточки предмета

87 05 00 00 00 05 00 00 00 05 00 00 00


Вопрос:
Ранее для остановки скрипта можно было зацепиться за 0x87, проверить по 0012 d (id предмета), теперь вместо 0012 d отдаёт 000С d (id предмета).

Скрипт выдаёт ошибку:
http://myproject.st8.ru/773.jpg


const
Name='******';
var
timer:TTimer;
x:byte; //ii?aaaeaiea, eaeiaa aaenoaea ii n?aoo iu niaa?oaai

procedure Init;
begin
timer:=TTimer.Create(nil);
timer.interval:=150;
timer.OnTimer:=@fireTimer;
timer.enabled:=true;
x:=1;//nia?aea o=1
end;

procedure Free;
begin
timer.Free;
end;

procedure fireTimer(Sender: TObject);
begin
case x of
1:begin
buf:=hstr('5F 48 65 BF 19 00 00 00 00 ');
SendToServerEx(Name);
inc(x);
end;
2:begin
buf:=hstr('5F 48 65 BF 19 00 00 00 00 ');
SendToServerEx(Name);
x:=1;
end;
end;{case}
end;

//кусок ниже ты получается влепил в таймер, пришлось расставить еще пару end; и begin;
begin
if FromServer then
begin
case pck[1] of
#$21: begin //InventoryUpdate
if (ReadD(0C)=9456) and (ReadD(34)=5) then timer.enabled:=false;;
end;
end;
end;
end.


Забавно то, что при составлении пакета id вещи показывается в 0012 d, но когда пакет приходит с сервера - пх показывает id в 000С d.

В связи с чем скрипт точит не останавливаясь, пока не заканчиваются заточки.

[+] Если установить таймер менее чем на 2500 - вещь временами ломается на +4, при том, что на сервере +4 безопасно.
На МЕГЕ безопасная +3..это во первых...во вторых если я ставлю таймер выше 150 - скрипт не успевает ловить уровень заточик и перетачивает...в третьих - не правильно устанавливаешь ID вещи...теость ты точнул вещь - тебе должен прийти пакет от сервера где будет написано лвл точки, и вещь...там ясно написано ID вещи...скрипт пашет у меня и у моих друзей...но есть какие то немнонятный проблемки...но у меня всё отлично....
Вот выложы мой скрипт со своими данными...и я скажу в чем у тя проблема...

NLObP
22.06.2009, 00:40
теперь вместо 0012 d отдаёт 000С d (id предмета)
Почитай пр системы счисления: двоичная, десятичная, шестнадцатеричная.
12 в десятичной - это 0С в шестнадцатеричной системе счисления.
PS: загляни в настройки пакетхака, там есть переключатель.

dev
22.06.2009, 05:24
2 NLObP: Сори за тупняк... Ну не вышел из меня программист, учился на дизигнера ;)

2 HORSE: Давно скрипт проверял на работоспособность?)
//Объявление переменных
const
Name='dev'; //Имя чара
var
timer:TTimer; //Инициация таймера
x:byte; //Стартовое значение как я понимаю

procedure Init; //Вызывается при включении скрипта
begin
timer:=TTimer.Create(nil); //Создаётся объект таймера
timer.interval:=150; //Присваиваем значение параметру интервала
timer.OnTimer:=@fireTimer; //Вызов процедуры
timer.enabled:=true; //По умолчанию на момент начала работы скрипта таймер активен
x:=1; //Стартовое значение как я понимаю, вот только не пойму... (x:byte; / x:=1;) Что есть что?)
end;

procedure Free; //Вызывается при выключении скрипта
begin
timer.Free; //Кукожим таймер чтоли?)
end;

procedure fireTimer(Sender: TObject); //...
begin
case x of
1:begin
//buf:=hstr('5F EC 4C 0B 10 00 00 00 00 '); //Пакет юза энча на нужный предмет
//Однако В данном случае будут приходить пакеты ошибочного действия
buf:=hstr('19 D6 4E 04 10 00 00 00 00 '); //Пакет юза энча
SendToServerEx(Name);
inc(x);
end;
2:begin
buf:=hstr('5F EC 4C 0B 10 00 00 00 00 '); //Пакет юза энча на нужный предмет
SendToServerEx(Name);
x:=1;
end;
end;{case} //Что значит "{case}"?
end;

// Проверка состояния предмета (я взялся точить след. предмет: Серьга Династии (ID:9455))
begin
if FromServer then
begin
case pck[1] of
#$21: begin //InventoryUpdate
if (ReadD(12)=9455) and (ReadD(34)=5) then timer.enabled:=false;; //12 - ID, 34 - уровень энча
end;
end;
end;
end.


// Скрипт не видит конца и продолжает точить, даже если условия (+5) выполнены.
// Пакетов типа 0x21 приходит 2:
// 1 - оставшиеся энчи
// 2 - состояние предмета
// Была мысль, что проблема кроется тут.
PS по дефолту в конфах быдлоявы энч на +4 безопасен
PS в процессе мануальной заточки ниже 4 не ломалось


thx, NLObP, HORSE.

HORSE
22.06.2009, 14:43
Скриптом точил вчера...всё пашет...
Вот мой скрипт
const
Name='HORSE'; //сюда свой ник
var
timer:TTimer;
x:byte;

procedure Init;
begin
timer:=TTimer.Create(nil);
timer.interval:=120; //скорость точки
timer.OnTimer:=@fireTimer;
timer.enabled:=true;
x:=1;
end;

procedure Free;
begin
timer.Free;
end;

procedure fireTimer(Sender: TObject);
begin
case x of
1:begin
buf:=hstr('19 38 97 03 10 00 00 00 00'); //пакет активации точки
SendToServerEx(Name);
inc(x);
end;
2:begin
buf:=hstr('5F C7 99 01 10 00 00 00 00'); //пакет заточки вещи
SendToServerEx(Name);
x:=1;
end;
end;{case}
end;

begin
if FromServer then
begin
case pck[1] of
#$21: begin //InventoryUpdate
if (ReadD(12)=9426)// ID вещи
and (ReadD(34)=9)// предел заточки
then timer.enabled:=false;;
end;
end;
end;
end.

Конечно бывает хлапа зависает...но это оч редко...главное всё правильно вписать и ждать счастья...ЗЫ: не советую наймер ниже 150 ставить - опасно для вещи (может переточить)...

dev
23.06.2009, 04:11
const
characterName='dev';
itemID=9428; // InventoryUpdate
enchant=9;
speed=250;

var
timer:TTimer;
x:byte;

procedure Init;
begin
timer:=TTimer.Create(nil);
timer.interval:=speed;
timer.OnTimer:=@fireTimer;
timer.enabled:=true;
x:=1;
end;

procedure Free;
begin
timer.Free;
end;

procedure fireTimer(Sender: TObject);
begin
case x of
1:begin
buf:=hstr('19 C6 64 D4 10 00 00 00 00'); // UseItem
SendToServerEx(characterName);
inc(x);
end;
2:begin
buf:=hstr('5F FD BC 02 10 00 00 00 00'); // RequestEnchantItem
SendToServerEx(characterName);
x:=1;
end;
end;{case}
end;

begin
if FromServer then
begin
case pck[1] of
#$21: begin // InventoryUpdate
if (ReadD(12)=itemID) and (ReadD(34)=Enchant) then timer.enabled:=false;
end;
end;
end;
end.


Ядро от mks.
Модификация ядра от HORSE.
Конечный продукт от dev.

Enjoy. ;)

rembrant88
23.06.2009, 04:26
dev, вот это правда "Автозаточка, просто и сердито!" как и говорится в шапке темы, а главное что всё понятно и работает на ура!!)) ОГРОМНОЕ СПАСИБО!!!))

dev
23.06.2009, 21:05
Обновил, дополнил:

// Ядро от mks.
// Модификация ядра от HORSE.
// Конечный продукт от dev.
// http://coderx.ru/showthread.php?t=1684

// Настройики
const
characterName='dev'; // Имя персоонажа
useEnchant=hstr('19 E6 C0 09 10 00 00 00 00'); // [0x19 (UseItem)]
requestEnchant=hstr('5F E2 22 09 10 00 00 00 00'); // [0x5F (RequestEnchantItem)]
itemID=9421; // ID предмета [0x21 (InventoryUpdate)]
enchant=10; // До сколько скрипт должен заточить указанный предмет
speed=150; // Скорость заточки
start=2; // Соц. действие hello, запускает скрипт
stop=3; // Соц. действие victory, остонавливает скрипт

// Ниже ничего можно не трогать
var
timer:TTimer;
x:byte;

procedure Init;
begin
timer:=TTimer.Create(nil);
timer.interval:=speed;
timer.OnTimer:=@fireTimer;
timer.enabled:=false;
x:=1;
end;

procedure Free;
begin
timer.Free;
end;

procedure fireTimer(Sender: TObject);
begin
case x of
1:begin
buf:=useEnchant;
SendToServerEx(characterName);
inc(x);
end;
2:begin
buf:=requestEnchant;
SendToServerEx(characterName);
x:=1;
end;
end;{case}
end;

begin
if FromClient then
begin
case pck[1] of
#$34: begin
if (ReadD(2)=start) then timer.enabled:=true;
if (ReadD(2)=stop) then timer.enabled:=false;
end;
end;
end;
if FromServer then
begin
case pck[1] of
#$21: begin
if (ReadD(12)=itemID) and (ReadD(34)=Enchant) then timer.enabled:=false;
end;
end;
end;
end.

HORSE
23.06.2009, 21:49
Потестим.....
P.S. не пали меня на меге)))
И...вот тебе мой совет...точи быстрее всё...скоро новую защиту поставят...

dev
24.06.2009, 02:13
Давно обещали поставить... Пока как видишь работает всё на ура)

SyMaSvoD
04.07.2009, 19:00
Обновил, дополнил:

// Ядро от mks.
// Модификация ядра от HORSE.
// Конечный продукт от dev.
// http://coderx.ru/showthread.php?t=1684

// Настройики
const
characterName='dev'; // Имя персоонажа
useEnchant=hstr('19 E6 C0 09 10 00 00 00 00'); // [0x19 (UseItem)]
requestEnchant=hstr('5F E2 22 09 10 00 00 00 00'); // [0x5F (RequestEnchantItem)]
itemID=9421; // ID предмета [0x21 (InventoryUpdate)]
enchant=10; // До сколько скрипт должен заточить указанный предмет
speed=150; // Скорость заточки
start=2; // Соц. действие hello, запускает скрипт
stop=3; // Соц. действие victory, остонавливает скрипт

// Ниже ничего можно не трогать
var
timer:TTimer;
x:byte;

procedure Init;
begin
timer:=TTimer.Create(nil);
timer.interval:=speed;
timer.OnTimer:=@fireTimer;
timer.enabled:=false;
x:=1;
end;

procedure Free;
begin
timer.Free;
end;

procedure fireTimer(Sender: TObject);
begin
case x of
1:begin
buf:=useEnchant;
SendToServerEx(characterName);
inc(x);
end;
2:begin
buf:=requestEnchant;
SendToServerEx(characterName);
x:=1;
end;
end;{case}
end;

begin
if FromClient then
begin
case pck[1] of
#$34: begin
if (ReadD(2)=start) then timer.enabled:=true;
if (ReadD(2)=stop) then timer.enabled:=false;
end;
end;
end;
if FromServer then
begin
case pck[1] of
#$21: begin
if (ReadD(12)=itemID) and (ReadD(34)=Enchant) then timer.enabled:=false;
end;
end;
end;
end.


слушай что то у меня не получаеться. пробовал не фига не точиться. играю на серве lineagetwo.ru. опиши плиз по подробно как пользоваться скприптом. что и какие данные куда вписывать)

Imperial2008
11.07.2009, 21:10
Обновил, дополнил:

// Ядро от mks.
// Модификация ядра от HORSE.
// Конечный продукт от dev.
// http://coderx.ru/showthread.php?t=1684

// Настройики
const
characterName='dev'; // Имя персоонажа
useEnchant=hstr('19 E6 C0 09 10 00 00 00 00'); // [0x19 (UseItem)]
requestEnchant=hstr('5F E2 22 09 10 00 00 00 00'); // [0x5F (RequestEnchantItem)]
itemID=9421; // ID предмета [0x21 (InventoryUpdate)]
enchant=10; // До сколько скрипт должен заточить указанный предмет
speed=150; // Скорость заточки
start=2; // Соц. действие hello, запускает скрипт
stop=3; // Соц. действие victory, остонавливает скрипт

// Ниже ничего можно не трогать
var
timer:TTimer;
x:byte;

procedure Init;
begin
timer:=TTimer.Create(nil);
timer.interval:=speed;
timer.OnTimer:=@fireTimer;
timer.enabled:=false;
x:=1;
end;

procedure Free;
begin
timer.Free;
end;

procedure fireTimer(Sender: TObject);
begin
case x of
1:begin
buf:=useEnchant;
SendToServerEx(characterName);
inc(x);
end;
2:begin
buf:=requestEnchant;
SendToServerEx(characterName);
x:=1;
end;
end;{case}
end;

begin
if FromClient then
begin
case pck[1] of
#$34: begin
if (ReadD(2)=start) then timer.enabled:=true;
if (ReadD(2)=stop) then timer.enabled:=false;
end;
end;
end;
if FromServer then
begin
case pck[1] of
#$21: begin
if (ReadD(12)=itemID) and (ReadD(34)=Enchant) then timer.enabled:=false;
end;
end;
end;
end.


Нет, ну все работает отлично, за исключением того, что:
1. Необходимо вписывать вручную хексы, что не очень удобно...
2. Самое главное, не работает остановка по достижению определонного значения точки...
Гляньте, плиз что с последним пунктом, так как отладить его нормально я точно не смогу.
Заранее благодарю)

mks
12.07.2009, 15:41
Нет, ну все работает отлично, за исключением того, что:
1. Необходимо вписывать вручную хексы, что не очень удобно...
2. Самое главное, не работает остановка по достижению определонного значения точки...
Гляньте, плиз что с последним пунктом, так как отладить его нормально я точно не смогу.
Заранее благодарю)

1. В первых 3х скриптах ниче вписывать не надо, ни хексы, ни ид.
2. Если юзаешь 1й скрипт и заточка не останавливается, то юзай 2й, если не останавливается ни в 1м ни во 2м, что мало вероятно, выкладывай сюда лог пакетов будем править под твой серв....

Imperial2008
12.07.2009, 16:05
1. В первых 3х скриптах ниче вписывать не надо, ни хексы, ни ид.
2. Если юзаешь 1й скрипт и заточка не останавливается, то юзай 2й, если не останавливается ни в 1м ни во 2м, что мало вероятно, выкладывай сюда лог пакетов будем править под твой серв....

Такс с 1 я уже разобрался))) Нормально все) Ошибка была за мной - не вписывал верный ID - вписывал Object вместо Item. Ты говоришь, что в первом (втором) не надо вписывать ничего (ну кроме ника чара), объясни мне (я не профи))) как скрипт будет понимать что нужно точить? А то я так кидаю делаю соц действие и все, больше ничего не происходит) Буду очень-очень благодарен если объяснишь)

mks
12.07.2009, 16:09
Точишь на +1, скрипт запоминает пакеты юзайтем(использование свитка заточки) и реквэстэнчант(выбор затачиваемого предмета), и после нажатия на 1е соц.действие продолжает точить автоматом то что ты точнул вручную последний раз

Imperial2008
12.07.2009, 19:42
Точишь на +1, скрипт запоминает пакеты юзайтем(использование свитка заточки) и реквэстэнчант(выбор затачиваемого предмета), и после нажатия на 1е соц.действие продолжает точить автоматом то что ты точнул вручную последний раз

Все работает) Спасибо большое)

Добавлено через 1 час 55 минут
Точишь на +1, скрипт запоминает пакеты юзайтем(использование свитка заточки) и реквэстэнчант(выбор затачиваемого предмета), и после нажатия на 1е соц.действие продолжает точить автоматом то что ты точнул вручную последний раз

Но ты знаешь и в первои и во втором случае у меня заточка пролетает дальше (скрипт не останавливается((((

mks
12.07.2009, 19:53
Imperial2008, выкладывай лог пакетов при удачной заточке и сбросе на 0, например лог при заточке +2, +3, слетела на 0

Dixson
12.07.2009, 20:25
Сервер Интерлюд,использую скрипт "by NLObP version 0.6" всё нормально точит,но при неудачной заточке Блессом,шмотка сбрасывается на значение +10,а не на 0! И после этого пнх тупо виснет! Помогите,что делать?

Imperial2008
13.07.2009, 01:06
Imperial2008, выкладывай лог пакетов при удачной заточке и сбросе на 0, например лог при заточке +2, +3, слетела на 0

Ага, стоп, кажется немного начинаю понимать...дело в том, что уже останавливается скрипт (как бы это странно не звучало))) Но другая проблема, из-за того, что сервер подлагивает, бывает что скрипт на 1 - 2 перетачивает чем нужно...можно конечно поменять таймер, но тогда и точится будет намного дольше((( Все что я описал верно или хотя бы может такое быть?? Просто лог прийдется выдерать (ну чтоб вы не искали), а одновременных действий там столько (даже фильтр не помогает))

mks
13.07.2009, 01:20
Imperial2008, да лог получается не надо, раз он останавливается перетачивая на 1 или 2, лагает у тебя конкретно) таймер-то пашет независимо от лагов, и не смотрит на то, пришел ли пакет от сервера EnchantResult, посему либо точи быстро но с риском, либо замедляй таймер, либо точи быстро выставив на 2 ниже, потом вручную дотачивай)

Hiton
13.07.2009, 19:01
Играю на сервере Интерлюд,запускал скрипты выложены в этой теме большинство робочие ну а меньшенство как я поднял под грацию но во всех скриптах одна проблема,вижу у многих такая была,не останавливается скрипт после точения на заданое число.Юзаю l2phx 3.4.1.83 пакет с результатом точки не приходит.

HORSE
13.07.2009, 19:08
Играю на сервере Интерлюд,запускал скрипты выложены в этой теме большинство робочие ну а меньшенство как я поднял под грацию но во всех скриптах одна проблема,вижу у многих такая была,не останавливается скрипт после точения на заданое число.Юзаю l2phx 3.4.1.83 пакет с результатом точки не приходит.
Тогда скрипт нужно переписывать под твой сервер...а что приходит после того как заточил что то, какой пакет??

Hiton
13.07.2009, 19:18
Когда точу получаю 2 пакета Use Item и RequestEnchantItem после этого нечего нету.

mks
13.07.2009, 19:33
Когда точу получаю 2 пакета Use Item и RequestEnchantItem после этого нечего нету.
интересуют пакеты не только от клиента, но и от сервера

Hiton
13.07.2009, 19:42
Хм...тупонул с самого начала что выключил отображение пакетов сервера результат всётаки приходит вот такие пакеты приходят при точке:UseItem,SystemMessage,ChooselInventoryItem,R equestEnchantItem,SystemMessage,StatusUpdate,Encha ntResult,ItemListPacket,UserInfo.

mks
13.07.2009, 21:06
Хм...тупонул с самого начала что выключил отображение пакетов сервера результат всётаки приходит вот такие пакеты приходят при точке:UseItem,SystemMessage,ChooselInventoryItem,R equestEnchantItem,SystemMessage,StatusUpdate,Encha ntResult,ItemListPacket,UserInfo.
Ты пологаешь этого достаточно что б тебе помочь?
Лови пакеты и точи че-нидь пока на 0 не сбросится, потом в л2пх есть кнопка сохранить лог, сохрани в файл и выкладывай, я не экстасенс....

Hiton
13.07.2009, 21:19
http://depositfiles.com/files/ub5mqftgw вот

mks
13.07.2009, 21:39
Ну жди, дома буду посмотрю, это какие хроники?

Hiton
13.07.2009, 21:44
Интерлюд.И ище такой вопрос правда не по этой теме нашел в другой теме скрипт под названием "Автоматизация заточки предметов до необходимого уровня by NLObP" запустил нормально пашет но как увидел при заточке прога попросту начала зависать но потом оказалось что она начала зависать как только ломала обе пушки какие точила...Я так думаю это из за того что на том сервере где я играю после поломки пушки блесс точкой пушка спадает до 10 и прога попросту непонимает этого...

mks
13.07.2009, 21:53
если это интерлюд не пойму как скрипты из этой темы у тебя могут работать вообще

Hiton
13.07.2009, 22:06
Не знаю...както работают,но не совсем корректно.

Добавлено через 2 минуты
Я так понимаю все вопросы по поводу программы "Автоматизация заточки предметов до необходимого уровня by NLObP" нада ждать непосредственно NLObP ?????

mks
13.07.2009, 22:09
да, тот ведь его скрипт, и желательно ждать в соответствующей теме

Hiton
13.07.2009, 22:13
Ок,а NLObP есть или он уехал отдыхать кудато ???

Алексей
14.07.2009, 01:32
Хотелося чтобы ети скрипты работали на интерлюде, TAMBIK попытался ето зделать, и его скрипт на етой странице http://coderx.ru/showthread.php?t=1684&page=3
В отличии от остальных, при соц действии 1 начинает открывать окно заточки, после чего в чате постоянно выскакивает надпись "выберите предмет для заточки"
Может ктонибудь возьметься доделать етот скрипт чтобы он работал так же как финальный HOURSа dev'a & NLObP'a только на интерлюд?

Hiton
14.07.2009, 09:48
Алексей заходи сюда http://coderx.ru/showthread.php?t=476&page=16 там будет "Скрипт на заточку" смотри пост от 3xdimon у него полностью робочий скрипт для серверов где вещь после точки блессом спадает на 10 или на иную цифру.Но если нада скрипт для точа обычными точками бери скрипт от NLObP у него тоже рабочий.

QaK
15.07.2009, 10:20
Алексей, переносим обсуждение сюда:http://coderx.ru/showthread.php?t=1909 з.ы. поправил тот скрипт. Дальше давай сам подумай. Почистил темку от флуда.

Boom
15.07.2009, 11:04
Куда вводить эти скрипты??))Я нуп играю всего 1 месяц)) плз напишите.

mks
15.07.2009, 11:07
Куда вводить эти скрипты??))Я нуп играю всего 1 месяц)) плз напишите.
Mожно в игровой чат, но лучше почитать форум....

TAMBIK
15.07.2009, 11:32
Хотелося чтобы ети скрипты работали на интерлюде, TAMBIK попытался ето зделать, и его скрипт на етой странице http://coderx.ru/showthread.php?t=1684&page=3
В отличии от остальных, при соц действии 1 начинает открывать окно заточки, после чего в чате постоянно выскакивает надпись "выберите предмет для заточки"
Может ктонибудь возьметься доделать етот скрипт чтобы он работал так же как финальный HOURSа dev'a & NLObP'a только на интерлюд?

поправил ошибся в номере пакета EnchantItem скрипт на основе 2 скрипта
от mks

Алексей
15.07.2009, 13:31
Если поправил, ты выложил бы хоть)

Breadfan
15.07.2009, 13:49
а переделывается все элементарно - просто изменять ID пакетов согласно своих хроник

TAMBIK
15.07.2009, 14:06
Если поправил, ты выложил бы хоть)
а ссылка в вашем сообщение
НЕ для Интерлюда непойдет
Tип: 0x14 (UseItem)
Pазмер: 9+2
Время прихода: 14:05:32:875
0002 d ObjectID: 1074832266 (0x4010A38A)
0006 d d: 0 (0x00000000)

меняется
0002 d ObjectID: 1074832266 (0x4010A38A

http://coderx.ru/showpost.php?p=132&postcount=3

Boom
15.07.2009, 15:27
Научите меня пользоваться скриптами пишите в Асю 594902164.

QaK
15.07.2009, 15:31
началось в колхозе утро :confused:

Amorality
15.07.2009, 21:21
Использую 3ий скрипт для финала, в итоге он спамит в систем чате "Выберите предмет для улучшения" а сам предмет не выбирает.

Пакеты от клиента при заточке идут в таком порядке:
19 5A 7A 02 10 00 00 00 00
Tип: 0x19 (UseItem)
Pазмер: 9+2
Время прихода: 20:06:24:552
0002 d ObjectID: 268597850 (0x10027A5A)
0006 d Unknown: 0 (0x00000000)

D0 4C 00 52 79 02 10
Tип: 0xD0 (Unknown)
Pазмер: 7+2
Время прихода: 20:06:26:171
0002 h subID: 76 (0x004C)

5F 52 79 02 10 00 00 00 00
Tип: 0x5F (RequestEnchantItem)
Pазмер: 9+2
Время прихода: 20:06:28:973
0002 d ObjectID: 268597586 (0x10027952)

--------

В свою очередь сервер нормально возвращает ответ в ЕнчантРесульте, если заточилось 0, если сфейлилось, то 3:
87 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Tип: 0x87 (EnchantResult)
Pазмер: 17+2
Время прихода: 20:17:47:956
0002 d Result: 0 (0x00000000)

Может кто что подсказать?

mks
15.07.2009, 21:51
Amorality, да, я этот скрипт давно переделал, т.к. не на всех финалах работал, вот только подправить в 1м посте не получилось, т.к. лимит сообщений уменьшили до 3к символов), домой приеду выложу сюда

Amorality
16.07.2009, 00:36
mks,
Жду с нетерпением.)

Добавлено через 2 часа 16 минут
Еси не секрет, когда ждать выкладывания скрипта? Это сегодня будет? :)

mks
16.07.2009, 02:38
Amorality, ой.. сори задержался)
собственно вот, пробуй:
скрипт для грации файнал

const
nik='xxxx';
Enchant=16;

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

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

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

procedure Free;
begin
Timer01.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.

Amorality
16.07.2009, 05:43
mks,
В целом механизм работает, но так, что смысла от него мало..
ТОчит несколько раз, а потом забывает положить в отсек вещь и меня кикает с сервера со словами "Гм вкурсе, удачи". Может потому что он слишком быстро отправляет пакеты? Увеличение задержки вплоть до 5 сек. проблему не решило.. Однако может стоит еще добавить задержку в пол секунды перед тем, как ПНХ ложит вещь в отсек? А то мне кажется он просто не успевает.

Или проверять, лежить ли вещь в отсеке, если лежит, то только тогда нажимать "Точить", если нет, то ложить снова.. иначе будет кикать.

Попровь плз скрипт, надеюсь поможешь.

mks
16.07.2009, 10:53
Amorality,
Однако может стоит еще добавить задержку в пол секунды перед тем, как ПНХ ложит вещь в отсек?
Да попробуй, изначально я делал там задержку, но при тестах убедился что на моем сервере она не нужна.
Или проверять, лежить ли вещь в отсеке, если лежит, то только тогда нажимать "Точить", если нет, то ложить снова.. иначе будет кикать.
можно и так попробовать
у меня ща нет возможности тестить, так что пробуй, если че получаться не будет я помогу

NLObP
16.07.2009, 12:14
Уважаемые! Вам дали отправную точку. Остальные исправления для конкретного сервера делайте сами. Почему не можете понять, что у топискастера может не быть возможности, времени или желания править каждую запятую?

PS: От полученных результатов не откажемся.

Amorality
16.07.2009, 18:23
Дайте плз какие-нить советы чтоли, куда вообще копать для проверки нахождения вещи в отсеке точки..

Ну или как добавить промежуток в данном скрипте, если он уже реализован через Timer, not и case?

mks
16.07.2009, 18:35
Ну поскольку этот промежуток я думаю не следует делать таким же большим как и в основном таймере, считаю будет лучше добавить второй таймер, ща сотрудники свалят попробуем

Amorality
16.07.2009, 19:01
mks,
Ну а проверить наличие в слоте похоже невозможно.. ничего подобного не приходит и не уходит в пакетах.

mks
16.07.2009, 19:24
Amorality, добавил 2й таймер, в данном скрипте получается идет пакет UseItem, 500ms, SelectItem, 2500ms(этот интервал равен интервал 1го таймера минус интервал 2го), EnchantItem.
Пробуй, скрипт в блокноте писал)

const
nik='xxxx';
Enchant=16;

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.

Amorality
17.07.2009, 00:52
mks,
Все пашет, спасибо большое :)

DarkSnake
18.07.2009, 13:42
День добрый. Решил вот юзануть срипт на автозаточку с 2мя таймерами, в итоге через 5,10,15 мин кикает уведомляя что я кабы пользуюсь нелегальной программой, увеличение тамера 1 и 2 ни к чему не приводитк кроме как, еще быстрее выскакивает ошибка. в чем трабла и как решить ее? http://tbs.org.ru/ вот серв

emrik
18.07.2009, 13:58
такая же самая ошибка на этом сервере, сборка L2Jserver зделайте плиз скрипт для этого сервера

HORSE
18.07.2009, 17:09
пишите скрипты сами под свой сервер....уже столько разных скриптов было выложено, что я уже не знаю как можно не додуматься склепать скрипт самому!

DarkSnake
18.07.2009, 18:06
Ды лан подправить эт своими кривульками мона, нужно правд знать что исправлять вот и интересуюсь в чем загвоздка

HORSE
18.07.2009, 21:51
попробуй пару скриптов....сровняй...попробуй пошаманить...нашаманил - не пашет???...выложы сюда...поможем....
P.S. на ошибках учаться..=)

emrik
18.07.2009, 22:46
Может кто то склепать под этот сервер скрипт рабочий? tbs.org.ru

mks
18.07.2009, 23:32
Блять!
Скрипты и так до опупения простые, еще пару дибильных мэссаг увижу, тему закрою нах!

emrik
18.07.2009, 23:57
mks чего нервничать, если скрипты не работают на этом сервере, я незнаю как их изменить, я не имею право написать про помощь чтобы кто то зделал именно для этого сервера? или вы тут самый умный?

mks
19.07.2009, 00:05
emrik, ну, в чем проблема, нужно адекватное описение ситуации, и желательно лог пакетов

RedSkyShamrik
19.07.2009, 00:29
Я могу обьяснить в чом проблемма на данном сервере, сам на нём решил протестить скрипт.
Заметил 1 вещь, при заточке оружия\шмота ( когда подтвердил, но индикатор не дошол до конца ещё) если ткнуть на точку, вылетает клиент.
Я пришол к выводу что по истечению некого времени, заточка открывается раньше чем был окончин предыдущий Энчант и естественно клиент выбивает.

emrik
19.07.2009, 00:38
у меня вообще такая ситуация, как только ставлю галочку на скрипт чтобы он работал, вылетает клиент и хлапекс закрывается(

RedSkyShamrik
19.07.2009, 00:42
3.4.1.61 там работает без проблем, ставиш галочку в настройках на против Kamael и фсё.
По теме, чтобы клиент не вылетал есть 1 решение - после открытия скрола, пушка должна выбиратся спустя 2 секунды, это жалкая попытка фикса со стороны администрации сервера. Я бы сделал, но в скриптах под l2ph noop =(

mks
19.07.2009, 00:51
День добрый. Решил вот юзануть срипт на автозаточку с 2мя таймерами, в итоге через 5,10,15 мин кикает уведомляя что я кабы пользуюсь нелегальной программой, увеличение тамера 1 и 2 ни к чему не приводитк кроме как, еще быстрее выскакивает ошибка. в чем трабла и как решить ее? http://tbs.org.ru/ вот серв
Бывает такая маза, но чет я не вкурю пока из-за чего....

XotuTo4utc9I
21.07.2009, 06:06
Проблема с http://tbs.org.ru/ запустил скрипт скорость поставил 3100 вроде нормально точилось, ....минут через 5 бан...что делать? если ставил скорость 4000 то через пару минут скрипт переставал точить... :(

mks
21.07.2009, 13:15
XotuTo4utc9I, пользуйся скриптом с двумя таймерами

XotuTo4utc9I
21.07.2009, 17:49
эм....я новичек в этом...не подскажите как...2ой таймер поставить?....

Grafin
21.07.2009, 19:10
Парни объясните новичку где конкретно прописывать первое соц.действие"hello"? Как правильно запускать скрипт? Что нужно изменить кроме ника и уровня точки? Вроде все делаю как пишут кроме сой действа
P.S. НЕ СОЧТИТЕ ЗА ФЛУД!!!

TAMBIK
21.07.2009, 21:47
Парни объясните новичку где конкретно прописывать первое соц.действие"hello"? Как правильно запускать скрипт? Что нужно изменить кроме ника и уровня точки? Вроде все делаю как пишут кроме сой действа
P.S. НЕ СОЧТИТЕ ЗА ФЛУД!!!
Окошко с действиями действо-hello где ручкой машиш привет

AlekseiNik
23.07.2009, 21:09
Ребята!Помогите написать скрипт на авто заточку на пвп сервер!Там скорее всего изменены ID скролов.Сервер la2.kgts.ru

Botovod1236
23.07.2009, 22:05
народ кому не сложно обьясните в асю что делать с этими скриптами 86266600

TAMBIK
24.07.2009, 00:32
Botovod1236,
напечатать на папиросной бумаге сделать папиросу набить табаком и курить курить курить курить курить

Br1tva
26.07.2009, 03:04
1е соц действие чет не понял что это поясните плиз:eek:

Добавлено через 1 час 13 минут
У меня вообще скрипты не работают. Когда выполнить нажимаю дак phx сразу ошидку выдает и закрывается

Nikit0s
26.07.2009, 04:30
У меня тоже самое, играю там же как и бритва, только на их 2 проекте ГФ tbs.org.ru
Подключается норм, ник видит норм, посылает/отправляет пакеты норм, а при запуске скрипта - "отправить или не отправить" отчет :(
Юзаю версию 3.4.1.83

Добавлено через 1 минуту
Юзаю 3 скрипт

TAMBIK
26.07.2009, 10:54
Br1tva,
Nikit0s,
Использование: включаем скрипт, забиваем ник и уровень точки, точим нужную шмотку на +1(не важно со скольки), скрипт запоминает необходимые данные, 1е соц действие включает и выключает автозаточку.

mks
26.07.2009, 11:17
Ща, надеюсь добрый админ даст возможность, перепишу 1й пост, нынче лимиты не позволяют корректить(
Заранее, для долбаков, не надо пытаться остановить скрипт нажатием на 1е соц действие в тот момент когда он уже остановился, это тупо , защиту от дибилов не делал, пока....
ЗЫ хотя ниче делать и не буду, иначе сущность темы не будет соответсвовать идее

ZeGnor
26.07.2009, 13:34
у меня проблема, запускаю скрипт с ником и с уровнем точки, далее точу шмот на +1, делаю 1е соц вействие и ничего не происходит...
сервер http://l2inc.eu/

Добавлено через 42 секунды
может из-за того что обычной точкой а не блесс ?

TAMBIK
26.07.2009, 16:26
Ща, надеюсь добрый админ даст возможность, перепишу 1й пост, нынче лимиты не позволяют корректить(
Заранее, для долбаков, не надо пытаться остановить скрипт нажатием на 1е соц действие в тот момент когда он уже остановился, это тупо , защиту от дибилов не делал, пока....
ЗЫ хотя ниче делать и не буду, иначе сущность темы не будет соответсвовать идее

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

AlekseiNik
26.07.2009, 17:36
Побывал все скрипты которые находятся здесь!Запускаю ХП,LA2,ставлю галочку возле скрипта,точу пуху +1 нажатием на 1е соц действие.И ВСЕ!!!!!!!Дальше не чего не происходит!Побывал менять переменные так же нечего не дало!Сервер http://la2.kgts.ru.Подскажите что делать?

mks
26.07.2009, 17:55
точки должны быть стопкой ? сам непробовал но по всему так
полюбому

Добавлено через 1 минуту
AlekseiNik, сервер интерлюд, скрипты для камаэль+

TAMBIK
26.07.2009, 18:00
Побывал все скрипты которые находятся здесь!Запускаю ХП,LA2,ставлю галочку возле скрипта,точу пуху +1 нажатием на 1е соц действие.И ВСЕ!!!!!!!Дальше не чего не происходит!Побывал менять переменные так же нечего не дало!Сервер http://la2.kgts.ru.Подскажите что делать?

http://coderx.ru/showpost.php?p=34505&postcount=18

TAMBIK
26.07.2009, 23:21
я немного глянул если скрипт вкл соцдейство тогда я туп. это 3 скрипт
if FromClient and (pck[1]+pck[2]=#$56#$0C) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;

AlekseiNik
27.07.2009, 06:36
Нет сервер Kamael это точно, а на странице http://la2.kgts.ru в заголовке скорее всего не та информация!Так как клиент стоит Kamael!

Nikit0s
27.07.2009, 19:06
Юзаю 3 скрипт
Скрипт останавливается через определенное время :(
Нужно опять нажать "Начать" на окне точки

Добавлено через 19 минут
Упс, ошибон допустил исправил тот пост
P.S. время в скрипте изменил до 3100, ибо на 2100 - тюрьма

Добавлено через 1 минуту
И в 3 скрипте кстати вкл и выкл скрипта делает ТОЛЬКО 1 соц действие

mks
28.07.2009, 01:18
const
nik='xxxx';
Enchant=16;

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.

Imperial2008
28.07.2009, 02:58
Юзаю скрипт на грация финал..
Вроде все нормально, но когда скрипт точит вещь +2, то он сам останавливается. Смотрю на пакеты - скрипт не отсылает пакет на енханс. Что делать?

mks
28.07.2009, 13:18
Imperial2008, если честно я ниче не понял

Imperial2008
28.07.2009, 19:03
Imperial2008, если честно я ниче не понял

Сорри только щас заметил ошибку. Дело в том, что скрипт делает только одну заточку (то есть +1) и все, останавливается. Потом открывается сново окно, вставляются предметы, но заточить не нажимается (не отправляется пакет енханс). На форуме я смотрел что вроде это сервер выдерживает 5000 мск, я поднял таймер до этого времени но ничего не происходит. Пакеты верны.

AlekseiNik
29.07.2009, 06:20
Выражаю большое спасибо!За скрипты теперь у меня у меня первые 2 скрипта точат и оба не останавливаются на указанном уровне заточки!Подскажите что делать!?Перепробовал все скрипты с изменениями, положительного результата так и не увидел!

Doberman
31.07.2009, 15:42
Вопрос : Де взять Itemsid.ini для финала?
А то не видит скрипт вещи S80 S84,мож есть у кого?

NLObP
31.07.2009, 17:34
Вопрос : Де взять Itemsid.ini для финала?
А то не видит скрипт вещи S80 S84,мож есть у кого?

Дописать недостающие итемы самостоятельно.

Doberman
31.07.2009, 21:06
Ясн,зделал =).
Вопрос, где в этом скрипте устанавливается скорость энчата?
Я так и непонял где устанавливать скорость энчата,единственное что я там нашол
begin
FormMain:=Create_FormMain;
//Enchant:=false;
CurEnchLvl:=0;
timer:=TTimer.Create(nil);
timer.OnTimer:=@OnTimer;
timer.enabled:=false;
timer.interval:=500; //время задержки

ShowInf:=TTimer.Create(nil);
ShowInf.OnTimer:=@OnShowInfo;
ShowInf.enabled:=true;
ShowInf.interval:=1000; //время задержки

StartTime:=time;
good:=0;
broken:=0;
ready:=false;
//RequestItemList вызываем инвентарь
buf:=hstr('14');
SendToServerEx(Name);
StringList:=TStringList.Create;
ItemsName:=TStringList.Create;
try
ItemsName.LoadFromFile('itemsid.ini');
except
msg.Lines.Add('itemsid.ini не найден!');
exit;
end;
Подскажите плиз. А то ели точит )

helpme777
31.07.2009, 21:08
парни, я играю на сервере mordred.ru . И там точка стоит 1 адену безоп точка 20к она же и максимальная. Но вот одно но я вхожу на сервер активирую скрипт все как положено и нет никакого эффекта. Прошу помочь мне-нубу. Жалко сервер такой нашел а так и не смог воспользоваться вашим чудным скриптом!:eek:

NLObP
01.08.2009, 00:37
Я так и непонял где устанавливать скорость энчата


timer.interval:=500; //время задержки

здесь

v0ltag3
01.08.2009, 13:26
парни, я играю на сервере mordred.ru . И там точка стоит 1 адену безоп точка 20к она же и максимальная. Но вот одно но я вхожу на сервер активирую скрипт все как положено и нет никакого эффекта. Прошу помочь мне-нубу. Жалко сервер такой нашел а так и не смог воспользоваться вашим чудным скриптом!:eek:

http://coderx.ru/downloads.php?do=file&id=24 вот это попробуй

Добавлено через 1 минуту
Ясн,зделал =).
Вопрос, где в этом скрипте устанавливается скорость энчата?
Я так и непонял где устанавливать скорость энчата,единственное что я там нашол

Подскажите плиз. А то ели точит )

если поставишь меньше будет банить, в моём скрипте менять скорость инчанта здесь:
#$FE: begin
if pck[2]=#$81
then begin
flagFE:=true;
delay (2000);
exit;
end;

helpme777
01.08.2009, 14:35
вот что получилось в этом скрипте: Автоматизация заточки by NLObP!
Команда Старт!!!
Прервано!
Команда Старт!!!
Прервано!
Команда Старт!!!
Прервано!
Почему прервано?

NLObP
01.08.2009, 17:14
helpme777, потому, что не соблюдены условия для выполнения скрипта. Условия - читай внимательно, что написано в скрипте и в ветке про него.

helpme777
01.08.2009, 19:06
helpme777, потому, что не соблюдены условия для выполнения скрипта. Условия - читай внимательно, что написано в скрипте и в ветке про него.
мб я не те айди указывал вот l2.ini :
http://www.mordred.ru/l2.ini

Добавлено через 36 минут
http://dump.ru/file/3152498 мой скрипт поправьте

Добавлено через 12 минут
парни я смогу без скрипта только скажите как сделать чтобы все заточки были в инвентаре все в одном квадратике может у кого есть софт скиньте плиз

Doberman
01.08.2009, 19:10
v0ltag3, я в твоём скрипте менял скорость,где подсказал
NLObP,
timer.interval:=500; //время задержки
Поставил там "3" стало гораздо быстрее точить.
Попробую где ты говориш поредоктировать),мож незабанит)
#$FE: begin
if pck[2]=#$81
then begin
flagFE:=true;
delay (2000);
exit;
end;

helpme777
01.08.2009, 19:23
doberman Сервер работает зайди плиз посмотри

Doberman
02.08.2009, 01:13
Попробывал все скрипты выложэнные в этой теме,не один не работает =), Только вот единственный от TAMBIK
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.
И то после нажатия 1соц действия,над юзнуть точку чтоб он точнул,а сам автоматом нехочет ).
Я знаю что данные скрипты выкладывались под блесс точи,но мне интерестно почему они нехотят точить простыми точками.
На ХБ блесами точил на ура,а на Т0 простыми немогу,поидее должножэ работать)
Подскажите как подредактировать дан скрипт чтоб он автоматом точил)

TAMBIK
02.08.2009, 12:27
ЭТО НЕ МОЙ


точки должны быть в стопке

Nikit0s
02.08.2009, 13:15
парни я смогу без скрипта только скажите как сделать чтобы все заточки были в инвентаре все в одном квадратике может у кого есть софт скиньте плиз
бгг, ну начнем с того что это зависит от хроник и типа заточки >_> или ты каким то софтом собираешься изменить сервер часть?

v0ltag3
02.08.2009, 13:55
Doberman, Проверка на задержку есть только в Гарции Финал, а в ранее нету, и мой скрипт не будет работать на парт2 вроде)

Добавлено через 25 минут
вот что получилось в этом скрипте: Автоматизация заточки by NLObP!
Команда Старт!!!
Прервано!
Команда Старт!!!
Прервано!
Команда Старт!!!
Прервано!
Почему прервано?

if (sumitem(ItemID)<=1) then begin
найди в скрипте эту строчку и поменяй 1 на 0

Doberman
02.08.2009, 14:49
ЭТО НЕ МОЙ


точки должны быть в стопке

А кто выкладывал ? ))) http://coderx.ru/showthread.php?t=1684&page=3
Точн,ступил)))), а какая строка в скрипте отвечает за точки(за их местоположэние"стопка" или "разбросаны"),и как можн подредактировать.
v0ltag3, Doberman, Проверка на задержку есть только в Гарции Финал, а в ранее нету, и мой скрипт не будет работать на парт2 вроде)
Ну я не пытаюсь его заюзать на п2 =)

v0ltag3
02.08.2009, 14:56
что за сервер?

Grinch
02.08.2009, 15:49
А кто выкладывал ? ))) http://coderx.ru/showthread.php?t=1684&page=3
Точн,ступил)))), а какая строка в скрипте отвечает за точки(за их местоположэние"стопка" или "разбросаны"),и как можн подредактировать.
v0ltag3,
Ну я не пытаюсь его заюзать на п2 =)

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

Doberman
02.08.2009, 16:24
Grinch, стопка - это когда точки лежат в 1 ячейке типа как на руоффе хз с каких хроник это пошло, пример стопки - адена ресурсы куски рецепты точки
и соответсвенно методом скрипта ты стопку не сделаешь за это сервер отвечает.
Да это я прекрастно понимаю ))),стопка с пошла с ХБ,т.к на камаэлях я неиграл =),мож и с них.
v0ltag3, что за сервер?
Сервер Интерлюдия.
Я вот что хочю то,чтобы скриптом можно было точить точами не из "стопки",он точит,ток постоян приходится юзать точку.
Посоветуете скрипт от "NLObP,без вопросов отличный скрипт,работает.
Просто он неудобен тем что на серверах с высокой мин заточкой,точить два предмета оч медленно.
А так бы идеально,1 предмет и погнал точить),ток вот где подправить его я незнаю(

v0ltag3
02.08.2009, 17:33
А так бы идеально,1 предмет и погнал точить),ток вот где подправить его я незнаю(


if (sumitem(ItemID)<=1) then begin
найди в скрипте эту строчку и поменяй 1 на 0

EnD1
02.08.2009, 17:43
Вообщем люди, невыходит, выбивает вот такое:
http://s40.radikal.ru/i087/0908/69/e70759c3c120.png
Полный текст ошибки:
http://dump.ru/file/3156723
Interlude хроники

TAMBIK
02.08.2009, 17:49
Interlude хроники

САМ ОТВЕТИЛ.

EnD1
02.08.2009, 17:49
тоексть на интерлюде неработает?

Doberman
02.08.2009, 18:28
тоексть на интерлюде неработает?

Для интерлюдии вот только единственный норм скрипт
http://coderx.ru/downloads.php?do=file&id=24
лучше пока нет.
Если кто подскажэт как подредактировать скрипт котор я выкладывал в предыдущих постах то будет.

EnD1
02.08.2009, 18:49
этот у меня тоже неработает((

v0ltag3
02.08.2009, 20:03
зашёл на мордред, без никаких проблем, скрипт работает. Включай мозг и Гогого!

Doberman
02.08.2009, 20:52
зашёл на мордред, без никаких проблем, скрипт работает. Включай мозг и Гогого!

Да,там всё работает эт известно )))),только единственная проблема,скорость нельзя ставить меньше чем
timer.interval:=1000; //время задержки
а то кикает в тюрьму :D

v0ltag3
03.08.2009, 00:00
хм..... странно, я без задержек точу о_О

Doberman
03.08.2009, 01:37
хм..... странно, я без задержек точу о_О

Эт как так?)

L1ke
07.08.2009, 13:16
Помогите плз з атозаточкой на mordred.ru виложите норм скрипт для бистрова точения , зарание спасибо .

helpme777
07.08.2009, 17:26
его уже выложили читай выше

helpme777
08.08.2009, 11:14
на мордреде я делаю так: покупаю 3 випон точки в магазине отлавливаю пакет посылать его каждые 3000 мс. Включаю скрипт потом он норм точит через пять минут пакетхак Не отвечает и зависает что делать?

se321
08.08.2009, 23:36
пробую этот скрипт через l2PacketHack v3.5.13.122, в первых строчках вписываю ник и требуемую заточку, ставлю галочку около скрипта, кидаю точку на пуху и хлопаю в ладоши (в игре) и ничего не происходит, что я делаю не так? сервак интерлюд.

Doberman
11.08.2009, 05:14
пробую этот скрипт через l2PacketHack v3.5.13.122, в первых строчках вписываю ник и требуемую заточку, ставлю галочку около скрипта, кидаю точку на пуху и хлопаю в ладоши (в игре) и ничего не происходит, что я делаю не так? сервак интерлюд.

Эти скрипты под хб,грацию

mks
11.08.2009, 18:04
пробую этот скрипт через l2PacketHack v3.5.13.122, в первых строчках вписываю ник и требуемую заточку, ставлю галочку около скрипта, кидаю точку на пуху и хлопаю в ладоши (в игре) и ничего не происходит, что я делаю не так? сервак интерлюд.
громче хлопать просто надо!

TAMBIK
11.08.2009, 18:47
mks,
да напиши в начале большими буквами
Эти скрипты под хб,грацию
на интерлюде и с4 неробит

xaBik
12.08.2009, 17:31
Вопрос такой, у меня всё отлично пашет, но ID у всех заточек разный. Вставляю в отправку вот это:
14 61 72 0E 10 00 00 00 00 (Открытие самой заточки) второе число (61) это число меняется у заточек, всё остальное постоянно. Есть ли возможность сделать так, чтобы прога сама меняла это значение от 01-99. потому что если я вручную вставляю туда число, скажем 36, то пушка точится ... а так ничего не происходит.
58 55 86 0E 10 (непосредственно заточка итема)

drovishki
12.08.2009, 19:00
громче хлопать просто надо!

:D:D:D:D:

ake1a
15.08.2009, 04:50
Уважамые скриптописальщики и так даее возникла пороблема... надеюсь поможете чу чуть... использую пакетхак l2phx.3.5.15.126.... сервер грация финал(ява) скрипт на автозаточку от "MKS" (спасибо Аффффтору)работает... как прерываеться не знаю не замечал.... ставлю на точ... все точит норм... выключаю манитор иди гулять ...прихожу с улицы... и вижу просто ТУПО рабочий стол компа и все... тоесть ла2 сама каким то макаром закрываеться или хрен пойми что с ней происходит.... ни крит ошибки ничего просто рабочий стол и все ((... помигите плз... Может кто и сталкивался с такой ошибкой....???
P.S. Постоянно ла2 закрываеться автоматом... или кикает или хз что происходит... так пробывал более 5 раз:(

Grinch
15.08.2009, 10:48
ake1a, из-за лага сети мог возникнуть спам пакета за который можно получить автокик с сервера или сама программка у тя не стабильно работает, в принципе я раньше считал что понимаю как железки работают, но с недавнего времени понял что на стабильность приложений так же влияет блок питание, точней пыль в нём ) и в целом чистота внутрях блока.

//alexteam: Пропадающее соединение более вероятно.

Acdsee
15.08.2009, 14:47
Расчитано на пвп серваки и изобилие блес точек...
Использование: включаем скрипт, забиваем ник и уровень точки, точим нужную шмотку на +1(не важно со скольки), скрипт запоминает необходимые данные, 1е соц действие включает и выключает автозаточку.
Скорость заточки выставлена 500мс(+2 в секунду), можно ускорять или замедлять в зависимости от сервака...
[/highlight]

Пробовал на Абисе Тестовом, что-то не работает, открываю скрипт, точу пушку на +1 жму 1 соц действие и ноль реакции =/

mks
15.08.2009, 23:49
Acdsee, на сколько я помню после интерлюда абис не менял хроники, а скрипты для ХБ и выше

KMAX
27.08.2009, 20:27
Уважаемые "скриптеры" помогите подправить скрипт находящийся в этой теме под сервер l2rx.com
уже все пробовал но он все равно перетачивает предмет
помогите пожалуйсто!!!(

TAMBIK
27.08.2009, 21:59
их в теме три
что за сервер хроники ?

Refresher^xD
28.08.2009, 04:45
я Полный нуб в скриптах сделал все как по инструкции заточил +1 а толку 0 сервак прога конектиться нормально к серверу

KMAX
28.08.2009, 10:58
Сервер l2rx.com
Хроники Lineage 2 Kamael-Hellbound

да в теме их 3 все работают но все перетачивают(

TAMBIK
28.08.2009, 11:04
KMAX,
вот такой пакет от сервера
87=EnchantResult:
покажи как выглядит

KMAX
28.08.2009, 11:05
пакет на заточку?

TAMBIK
28.08.2009, 11:07
просто поймай эт пакет когда точиш
в нем приходит результат заточил или нат

KMAX
28.08.2009, 11:09
секундочку!

TAMBIK
28.08.2009, 11:12
KMAX,
и 21 пакет от сервера

KMAX
28.08.2009, 11:19
87-ой пакет такой - 87 00 00 00 00

21-ый пакет такой - 21 02 00 02 00 04 00 85 DD 1C 40 B1 19 00 00 00 00 00 00 91 02 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 86 DD 1C 40 D0 28 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 80 00 00 00 04 00 00 00 00 00 00 00 FF FF FF FF FE FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

TAMBIK
28.08.2009, 11:26
KMAX,
заточил на сколько ?
и что точил?

KMAX
28.08.2009, 11:31
это был "икарус десперсер критикал дамаг" вообщем икарус даг а точился он с +3 до +4

TAMBIK
28.08.2009, 11:52
KMAX,
87-ой пакет такой - 87 00 00 00 00
это пришло когда точил с 3 на 4 так ?

KMAX
28.08.2009, 12:43
да
что то не так
может еще раз проверить?

Добавлено через 30 минут
KMAX,
87-ой пакет такой - 87 00 00 00 00
это пришло когда точил с 3 на 4 так ?

там вообщи на любой точке выдаёт один и тотже 87-ой пакет

mks
28.08.2009, 14:04
Инструкция написана, причем не надо быть нубом что б не понять, достаточно быть долбоебом

KMAX
28.08.2009, 16:07
Инструкция написана, причем не надо быть нубом что б не понять, достаточно быть долбоебом

Че ты так плохо про себя то пишеш!

Refresher^xD
29.08.2009, 10:57
Ребят может быт ья не правильно делаю но все-таки запускаю l2phx http://s55.radikal.ru/i150/0908/66/962ceefc6b86.jpg (http://www.radikal.ru) потом ставлю галочку напротив скрипта точу на +1 и дальше ничего не происходит

mks
29.08.2009, 11:03
Че ты так плохо про себя то пишеш!
а тебе умник бан на месяц
ой, уже успели забанить на неделю до меня, ну лан... так тому и быть
и еще, дабы не флудили, если че, мое умозаключение не было направлено в чью-то сторону лично, посему думаю если кто-то обиделся, то напрасно

NLObP
29.08.2009, 22:52
Refresher^xD, после включения скрипта и заточки на +1, первое социальное действие (Greetings) давил?

Refresher^xD
29.08.2009, 22:53
http://i043.radikal.ru/0908/27/24bcadd3eeee.jpg (http://www.radikal.ru) http://s54.radikal.ru/i144/0908/17/acd606c71146.jpg (http://www.radikal.ru) http://s07.radikal.ru/i180/0908/2d/a5943f57c575.jpg (http://www.radikal.ru)
Все равно не получается может быть я не правильно настроил программу (мб процесс не правильный я захожу в прогу потом в л2 в прогу включаю галку напротив скрипта потом точу на +1 и жму гритинг) сервер http://birinium.org/