L2PacketHackФорум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела!
Категорически запрещено:
* Просить пакеты/скрипты на шмот/адену/другие вещи;
* Просить (помочь) взломать/сломать сервак/аккаунт или раздеть/наказать кого-то на любом серваке;
* Просить научить работать с программой, если не понимаете элементарных вещей в отношениях клиент-сервер (так как, если вы их понимаете, то вопросов по основным возможностям программы быть недолжно);
* Все посты не удовлетворяющие этим запретам, а так же не относящиеся к теме будут удаляться при первой возможности.
* Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы.
* Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
* Данные запреты неподлежат обсуждению.
ну вот и выяснили) Воспользуйся готовыми функциями для пользования инвентарем... там в коментах все понятно расписано, дкмаю сможешь сделать http://coderx.ru/showthread.php?t=15
ребят подскажите что не так? или я слепая. но при включении скарипта "пнх" выдает ошибку.
Код:
const
Name='lLelee'; // свой ник
var
timer1: TTimer;
count:integer; //- счетчик
procedure Init; //вызывается при включении скрипта
begin
count:=1;
timer1:=TTimer.Create(nil);
timer1.OnTimer:=@OnTimer1; //
timer1.enabled:=false; //
timer1.interval:=1000;
end;
procedure Free; //вызывается при выключении скрипта
begin
timer1.Free;
end;
procedure Say(msg:string);
begin
buf:=hstr('4A 00 00 00 00');
WriteD(2);
WriteS(Name);
WriteS(msg);
SendToClientEx(Name);
end;
procedure OnTimer1(Sender: TObject);
begin
if count=1 then
begin
buf:=hstr('19 2A 42 30 10 00 00 00 00');
count:=2;
end
else begin
buf:=hstr('D0 4F 00 AC F4 30 10');
count:=1;
end;
SendToServerEx(Name);
end;
begin
//****************************************************************************
//не обрабатываем пустые пакеты
if pck='' then exit;
//****************************************************************************
//чоц дейтсвие "да" для начало спама пакетов
if FromClient and (ConnectName=Name) and (pck=HStr('34 06 00 00 00')) then begin
Say('Старт!!!');
timer1.enabled:=true;
end;
// соц действие "нет" для отключения спама
if FromClient and (ConnectName=Name) and (pck=HStr('34 05 00 00 00')) then begin
Say('Стопï!!!');
timer1.enabled:=false;
end;
end.
то есть после того как выдал ошибку скрипт не отключается, при нажатии на чоц действие "да" он пишит в пм что старт все нормально, а пакеты отпралять не хочет.
у меня получилось посылать пакеты после социального действия, но проблема в том что надо изменить какой то пакет чтобы точка останавливалась, вот сам скрипт если найдете способ остановки заточки поделитесь
Код:
const
Name='/свое имя/';
var
timer:TTimer;
procedure Init;
begin
timer:=TTimer.Create(nil);
timer.interval:=700;
timer.OnTimer:=@fireTimer;
timer.enabled:=false;
end;
procedure Free;
begin
timer.Free;
end;
procedure fireTimer(Sender: TObject);
begin
buf:=hstr('/пакет открытия точки/');
SendToServer;
buf:=hstr('/пакет вещи в слот/');
SendToServer;
buf:=hstr('/пакет завершения точки (для ускорения процеса)/');// необезательно
SendToServer;
end;
begin
//****************************************************************************
//не обрабатываем пустые пакеты
if pck='' then exit;
//****************************************************************************
//социальное действие yes для начало точки
if FromClient and (ConnectName=Name) and (pck=HStr('5A 06 00 00 00')) then begin
timer.enabled:=true;
end;
//****************************************************************************
//социальное действие no для начало точки
if FromClient and (ConnectName=Name) and (pck=HStr('5A 05 00 00 00 ')) then begin
timer.enabled:=false;
end;
if FromServer and (ConnectName=Name) and (pck = HStr('/Сюда пакет с нужной заточкой пухи!(это важно нада пральный пакет)/')) then begin
timer.enabled:=false;
end;
end.
Витя,
cудя по тем действияс как ты выложил скрипт, не работает остановка (
надо юзать Инвентарь
вот тут
Код:
if FromServer and (ConnectName=Name) and (pck = HStr('/Сюда пакет с нужной заточкой пухи!(это важно нада пральный пакет)/')) then begin
timer.enabled:=false;
надо поставить какойто пакет где показан уровень заточки чтоб скрипт при получении такого пакета останавливал таймер, но пробывал вставить изменены пакет InventoryUpdate но все ровно игнорирует
Потому, что не правильные данные используете или условия для остановки.
PS:
1. Проверяйте данные с помощью сообщений в чат и смотрите какими данными скрипт оперирует.
2. правьте скрипт и снова смотрите п.1.
3. и всё это до тех пор, пока не заработает правильно.
NLObP,
дкло в том что в системнон чате не пишится уровень заточки после точения, там пшится лишь "выберети предмет для заточки"
поэтому думаю с систмным чатом пролетаем, я уже думала про это (