Расчитано на пвп серваки и изобилие блес точек...
Использование: включаем скрипт, включаем скрипт << СМОТРЕТЬ
забиваем ник и уровень точки, точим нужную шмотку на +1(не важно со скольки), скрипт запоминает необходимые данные, 1е соц действие включает и выключает автозаточку. 1е соц действие << СМОТРЕТЬ
Скорость заточки выставлена 500мс(+2 в секунду), можно ускорять или замедлять в зависимости от сервака...
mks, Спасибо за скриптик очень полезный! тока у меня на серваке напряг с блесками, а твой скриптик новую пуху с рюкзака не берет если сломает первую серв финал
mks, Спасибо за скриптик очень полезный! тока у меня на серваке напряг с блесками, а твой скриптик новую пуху с рюкзака не берет если сломает первую серв финал
Нет, в том-то его и простота, если дописывать что б пуху брал из рюгзака он слегка увеличится, может на досуге допишу....
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 предмета).
Скрипт выдаёт ошибку:
PHP код:
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 безопасно.
Последний раз редактировалось dev, 21.06.2009 в 18:27.
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 предмета).
Скрипт выдаёт ошибку:
PHP код:
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 вещи...скрипт пашет у меня и у моих друзей...но есть какие то немнонятный проблемки...но у меня всё отлично....
Вот выложы мой скрипт со своими данными...и я скажу в чем у тя проблема...
Почитай пр системы счисления: двоичная, десятичная, шестнадцатеричная.
12 в десятичной - это 0С в шестнадцатеричной системе счисления.
PS: загляни в настройки пакетхака, там есть переключатель.
2 NLObP: Сори за тупняк... Ну не вышел из меня программист, учился на дизигнера
2 HORSE: Давно скрипт проверял на работоспособность?)
PHP код:
//Объявление переменных 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 - состояние предмета // Была мысль, что проблема кроется тут.
Скриптом точил вчера...всё пашет...
Вот мой скрипт
Код HTML:
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 ставить - опасно для вещи (может переточить)...
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.
Последний раз редактировалось dev, 23.06.2009 в 04:20.