Расчитано на пвп серваки и изобилие блес точек...
Использование: включаем скрипт, включаем скрипт << СМОТРЕТЬ
забиваем ник и уровень точки, точим нужную шмотку на +1(не важно со скольки), скрипт запоминает необходимые данные, 1е соц действие включает и выключает автозаточку. 1е соц действие << СМОТРЕТЬ
Скорость заточки выставлена 500мс(+2 в секунду), можно ускорять или замедлять в зависимости от сервака...
// Заточить предмет один раз
// СТАРТ нажать соцдействие ДА
// СТОП нажать соцдействие НЕТ
// Kamael-Hellbound
const
nik='TAMBIK'; //<<== пишем свой НИК
Enchant=16; //<<== пишем Уровень Заточки
var
Timer01: TTimer;
Timer02: TTimer;
UseItem,EnchantItem:string;
LVL,ObjectID,count:integer;
autostart:Boolean;
//========================
procedure SendMsg2(msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(3);// <<= куда выводить сообщения -> пати чат
WriteS('');
WriteS(msg);
SendToClientEx(nik);
end;
//=======================
procedure Init;
begin
ObjectID:=-1;
LVL:=0;
autostart:=false;
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=1300; //<<== время выбора свитка
Timer02:=TTimer.Create(nil);
Timer02.OnTimer:=@OnTimer02;
Timer02.enabled:=false;
Timer02.interval:=1300; //<<== время заточки
SendMsg2( ' Привет от TAMBIKa' );
end;
procedure Free;
begin
Timer01.free;
Timer02.free;
end;
//=======================
procedure OnTimer01(Sender:TObject);
begin
buf:=UseItem;
SendToServerEx(nik);
Timer01.enabled:=false;
end;
//=======================
procedure OnTimer02(Sender:TObject);
begin
buf:=EnchantItem;
SendToServerEx(nik);
Timer02.enabled:=false;
end;
//=======================
procedure InventoryUpdate;
begin
if (ReadD(8) = ObjectID) then begin
LVL:=ReadH(34);
SendMsg2( ' Enchant = '+IntToStr(LVL)+' свитков : '+IntToStr(ReadH(94))+'' );
end;
if (ReadD(82) = ObjectID) then begin
LVL:=ReadH(108);
SendMsg2( ' Enchant = '+IntToStr(LVL)+' свитков : '+IntToStr(ReadH(20))+' ' );
end;
if (LVL < Enchant) and autostart then Timer01.enabled:=true;
if (LVL = Enchant) then SendMsg2( ' ПРЕДМЕТ ЗАТОЧЕН ! ! !' );
SendMsg2( '............' );
end;
begin
if FromServer and (pck[1]=#$21) then InventoryUpdate;
if FromServer and autostart and (pck[1]=#$7C) then Timer02.enabled:=true;
if FromClient and (pck[1]=#$19) then begin UseItem:=pck;end;
if FromClient and (pck[1]=#$5F) and (ReadD(2) > -1) then begin
ObjectID:=ReadD(2);
EnchantItem:=pck;
end;
if FromClient and (pck[1]+pck[2]=#$34#$05) then autostart:=false;
if FromClient and (pck[1]+pck[2]=#$34#$06) then begin
autostart:=true;
Timer01.enabled:=true;
pck:='';
end;
end.
__________________
Тут не форум гадалок, если ты делаешь все правильно и по пунктам - то все должно работать
Ув.Тамbik
Не поможеш ли с написанием скрипта вот под такую задачу!
Нам необходимо купить точки!
Проблема заключаеться в том что - для того чтобу купить эти точки нам необходимо поменять имеющиеся у нас колы на адены а именно мы меняем 20 колов на 2000000000 (2ккк) аден и на эти адены покупаем точки а это выходит ровно 100 точек - а этот обмен колов на адены и последущая покупка занимает очень и очень много времени!
Вот собственно и нужен скрипт для автоматизации этих действий!
Все действия происходят на l2rx.com (не сочтите за рекламу) у некого КОТА!
В общем понравился скрипт, разобрался и проверил - доволен
На моем сервере есть евент точки, т.е можно носить только одно оружие и покупать 24 точки за 6 часов. Точки не проблема, а вот с оружием хотелось бы повозиться.
Mks, TAMBIK, как привязать скрипт, чтобы он покупал автоматически оружие после неудачной точки? ID и диалог я думаю пропишу, но вот в каком моменте скрипта его писать надо? Помогите плз.
Народ помогите плиз... Зашёл в игру, на серв, запустил прогу, сделал скрипт:
delphi Код:
const
nik='Paveljordan';
Enchant=30;
var
UseItem, EnchantItem: string;
Count, CurrentEnch: integer;
Timer01: TTimer;
procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=500;
end;
procedure OnTimer01(Sender: TObject);
begin
buf:=UseItem;
SendToServerEx(nik);
buf:=EnchantItem;
SendToServerEx(nik);
end;
procedure Free;
begin
Timer01.free;
count:=0;
CurrentEnch:=0;
end;
beginif FromServer and(pck[1]=#$87)thencase ReadD(2)of0: 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)thenbegin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.
Поставил галочку на нём, развернул окно, купил заточку, заточил пуху на +1, в соц действиях да, но ничего не точится...
Скажите плиз в чём у меня тут проблема?
Последний раз редактировалось QaK, 09.03.2010 в 19:25.
Причина: Не полностью описал проблему
Прив всем! У меня проблемка со скриптом выставил уровень заточки +16(точил блесками) После пого как заточка слетает(сбрасывается в ноль) в окошке заточки ничего не меняется пушка слетела на 12, а скрипт этого не видит и точит дальше, останавливается после того как в окошке заточки написано +16, но сама пушка до +16 не заточена. В чем может быть дело? Как это исправить? Поискал в теме ответа не нашел. Окошко заточки:
var UseItem, EnchantItem: string; Count, CurrentEnch: integer; Timer01: TTimer;
procedure Init; begin Timer01:=TTimer.Create(nil); Timer01.OnTimer:=@OnTimer01; Timer01.enabled:=false; Timer01.interval:=500; end;
procedure OnTimer01(Sender: TObject); begin buf:=UseItem; SendToServerEx(nik); buf:=EnchantItem; SendToServerEx(nik); end;
procedure Free; begin Timer01.free; count:=0; CurrentEnch:=0; end;
begin if FromServer and (pck[1]=#$87) then 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.
Требуется следуещее:
Заточка вещи на заданный уровень простыми скролами, далее переход на заточку блесс скролами, при фейле начинать все сначала.