PDA

Просмотр полной версии : точка скилов


Rash
15.02.2011, 16:53
Добрый время суток! Интересует следущее, возможно ли пакетами или скриптом точить скилы на максимум, если книги не ограничены? Скриптов на точку оружия куча,а вот на скилы не слышал. Есть ли он и какой именно пакет отвечает за енчант скила, не за инфу об улучшении. Хроника Фрея

J-Fobos
15.02.2011, 19:00
Добрый день) Заточка скилов с помощью скриптов возможна, на форуме есть 2 примера такого скрипта, но они немного староваты (для С4 и Т0). За заточку скила отвечает пакет реквест енчант скил (посмотреть структуру пакета можно Packets*.ini).

червь
24.02.2011, 23:16
const
nik='Ник';
Enchant=15;

var
SubID, SkillID, SkillLvl, CurrEnch, Type1: integer;

//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if FromServer and ((pck[1]=#$62) and (pck[3]=#$05)) then case pck[2] of
#$A0: //точнулся
if CurrEnch<Enchant then
begin
CurrEnch:=CurrEnch+1;
Buf:=#$D0;
WriteH(SubID);
WriteD(SkillID);
WriteD(SkillLvl+CurrEnch);
SendToServerEx(nik);
end;
#$A1: //не точнулся
begin
CurrEnch:=1;
Buf:=#$D0;
WriteH(SubID);
WriteD(SkillID);
WriteD(SkillLvl+CurrEnch);
SendToServerEx(nik);
end;
end;

if FromClient and ((pck[1]=#$D0) and (pck[2]=#$0F)) then
begin
SubID:=ReadH(2);
SkillID:=ReadD(4);
SkillLvl:=ReadD(8)-1;
CurrEnch:=1;
end;
end.

Помоему под фрею какраз переделывал, попробуй

wimax
01.03.2011, 04:25
Const
// ============= НАСТРОЙКИ ===============
NickName = ''; //ник
MaxEnchantLevel = 20; //до какого уровоня точить
// =======================================

// задержка между точками в сек.
interval = 0;
// отладочные сообщения
MainDebug = false;
var
CurLevel: integer;
tick: integer;
SKillID: integer;

procedure Init; //Вызывается при включении скрипта
begin
CurLevel := -1;
end;


// пауза в секундах
function Wait(var tick: integer; Timewait: Integer): Boolean; // сквозная проверка без остановки скрипта
var
t: integer;
begin
result:=false;
t:=Round(Time*86400);
if t>(tick+Timewait) then begin
if tick>0 then result:=true;
tick:=t;
end;
end;

//###################### Сообщения #############################################
// послать сообщение в чат себе
procedure SendMsg_to_Chat(ChatType: integer; msg:string); // отправка системных сообщений клиенту
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS(NickName);
WriteS(msg);
SendToClientEx(NickName);
end;
// послать отладочное сообщение себе
procedure DebugMsg(msg:string);
begin
if MainDebug then
SendMsg_to_Private(msg);
end;
// послать сообщение себе в приват
procedure SendMsg_to_Private(msg:string);
begin
SendMsg_to_Chat(2,msg);
end;

//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if pck = '' then exit;
// Т.к. использоваться будет только для одного чара, остальных сразу отсеиваем
if ConnectName<>NickName then Exit;

// пакет - сообщение со статусом заточки
if FromServer and (pck[1]=#$62) and (pck[3]+pck[4]+pck[5] = HStr('05 00 00')) then begin
if (pck[2] = #$A0)or(pck[2] = #$A1)then begin
SKillID := ReadD(14);
CurLevel := ReadD(18);
// заточка была не удачной, обнуляем текущий уровень заточки
if pck[2] = #$A1 then
CurLevel := (CurLevel div 100)*100; // округляем
DebugMsg('SKillID='+inttostr(SKillID)+'; CurLevel='+inttostr(CurLevel));
if (CurLevel mod 100) >= MaxEnchantLevel then
CurLevel := -1;
tick := 0;
Wait(tick, interval);
end;
end;

// Можно закомментировать "and Wait(tick, interval)", точиться будет намного быстрее,
// только ощущение такое, что шанс точки меньше, хотя может и показалось
if (CurLevel >= 0) then begin
DebugMsg('точим');
buf := HStr('D0 0F 00');
WriteD(SKillID);
WriteD(CurLevel+1);
SendToServerEx(NickName);
CurLevel := -1;
end;
end.
Проверял на фреии работает не забывай что сп не вечное =)

Добавлено через 35 секунд
оправка в чат не работает сам поправиш если надо

Добавлено через 5 минут
P.S добавте етот скрипт в жыстокии скриптинг а то уже тем нащет скрипта точки скилов полно надоедает отвечать одно и тоже.
Учимся юзать поиск!

Rash
08.03.2011, 22:32
не запускается, в чём может быть проблема

wimax
09.03.2011, 21:43
не запускается, в чём может быть проблема

руки крюки? оО

Rash
10.03.2011, 02:16
всё закрывается и выбирает большую ошибку где много совсем не понятных буквочек циферок

wimax
10.03.2011, 03:04
всё закрывается и выбирает большую ошибку где много совсем не понятных буквочек циферок
1.ты на чара зашол?
2.пх потключился?
3.ник в скрипте вписал?


пишы больше инфы мы тут не телепаты

Rash
10.03.2011, 17:21
скрипт червя дисконектит через 5-7 точек скила, скрипт вимакса просто 0 действий. Выбрал скрипт , всё заполнил как надо , выбираю скил, начинаю точить и никаких действий со стороны скрипта нет. В чём может быть проблема, тут же проще простого ,но не работает!?

wimax
10.03.2011, 22:39
1.дисконект иза спама пакетами интевал ставит
2.мой не пашыт ибо точнуть 1 раз для примера надо

Rash
10.03.2011, 23:14
Нет, на счёт первого скрипта - доходит до точки которая фейл,ломает скил в 0 и дисконект.
Что касается твоего скрипта, запустил всё, всключил скрипт, выбрал скил точнул раз два пять десять - ничего, сменил ид скила ,точнул раз новый скил,снова ничего.

PaulGreatest
11.03.2011, 19:39
Под Интерлюд бы скрипт

Rash
11.03.2011, 20:07
Под Интерлюд бы скрипт

пошутил? скриптов хоть утопись http://coderx.ru/showthread.php?t=476

PaulGreatest
11.03.2011, 21:00
пошутил? скриптов хоть утопись http://coderx.ru/showthread.php?t=476Имею ввиду для заточки скилов)

Rash
12.03.2011, 00:47
wimax, скрипт работает! НО не полностью! запустил скрипт,точнул на 1, скрипт точнул его на 2 и тут всё! он не выделяет следущую точку,а пытается снова точить на ту же +2 +2 +2 и пока мышкой в нужную ячейку не тыкнешь ничего не произойдёт! _http://s008.radikal.ru/i304/1103/d3/3d2be0295f51.jpg Подскажи что изменить надо в скрипте? или может сам внеси изменения! Буду очень признателен,давно мучаюсь =(

wimax
12.03.2011, 06:26
Const
NickName = 'твой нИК!';
MaxEnchantLevel = Доскольки точить ЧИСЛО;

interval = 0; //Интервал между точкой
MainDebug = false; // ПИСАТТЬ СОБОЩЕНИЯ В ЧАТ ИЛИ НЕТ ДА-true НЕТ-false

var
CurLevel: integer;
tick: integer;
SKillID: integer;

procedure Init; //Вызывается при включении скрипта
begin
CurLevel := -1;
end;


function Wait(var tick: integer; Timewait: Integer): Boolean; // сквозная проверка без остановки скрипта
var
t: integer;
begin
result:=false;
t:=Round(Time*86400);
if t>(tick+Timewait) then begin
if tick>0 then result:=true;
tick:=t;
end;
end;

procedure SendMsg_to_Chat(ChatType: integer; msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS(NickName);
WriteS(msg);
SendToClientEx(NickName);
end;
// послать отладочное сообщение себе
procedure DebugMsg(msg:string);
begin
if MainDebug then
SendMsg_to_Private(msg);
end;
// послать сообщение себе в приват
procedure SendMsg_to_Private(msg:string);
begin
SendMsg_to_Chat(2,msg);
end;

begin
if pck = '' then exit;
// Т.к. использоваться будет только для одного чара, остальных сразу отсеиваем
if ConnectName<>NickName then Exit;

// пакет - сообщение со статусом заточки
if FromServer and (pck[1]=#$62) and (pck[3]+pck[4]+pck[5] = HStr('05 00 00')) then begin
if (pck[2] = #$A0)or(pck[2] = #$A1)then begin
SKillID := ReadD(14);
CurLevel := ReadD(18);
// заточка была не удачной, обнуляем текущий уровень заточки
if pck[2] = #$A1 then
CurLevel := (CurLevel div 100)*100; // округляем
DebugMsg('SKillID='+inttostr(SKillID)+'; CurLevel='+inttostr(CurLevel));
if (CurLevel mod 100) >= MaxEnchantLevel then
CurLevel := -1;
tick := 0;
Wait(tick, interval);
end;
end;

// Можно закомментировать "and Wait(tick, interval)", точиться будет намного быстрее,
// только ощущение такое, что шанс точки меньше, хотя может и показалось
if (CurLevel >= 0) and Wait(tick, interval) then begin
DebugMsg('точим');
buf := HStr('D0 0F 00');
WriteD(SKillID);
WriteD(CurLevel+1);
SendToServerEx(NickName);
CurLevel := -1;
end;
end.

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

RedNaxLex
12.03.2011, 21:24
че то у меня все также вручную надо точить( и по одному, да. консты изменил под себя...

Rash
12.03.2011, 22:08
скрипт работает,но через раз, из за спама пакетами перестаёт точить часто, если поставить интервал 1 , то быстрее состаришься пока он заточит) но всё жё лучше что-то ,чем ничего )

RedNaxLex
12.03.2011, 22:32
Да я тебе говорю, вообще отказывается работать. Хроны эпилог, может из за этого...

Rash
13.03.2011, 04:14
проверь написание своего ника в скрипте, там должен быть такой же реестр букв - большие маленькие

RedNaxLex
13.03.2011, 07:46
С реестром все правильно, я там специально строку с false заменил, true поставид чтоб инфа приходила. Приходит, ид скила, и еще что то, постоянно на 1.

Ver0na
13.03.2011, 14:21
Ребята выложе плз скрипт для автозаточки скилов под ИТ. Всю ночь сидел искал везде и везде пишут умники одно и тоже "Юзай поиск"-хотя я его и юзаю или его какойто маразм а по делу 0. Везде на грацыю на ит нигде не нашол. У кого есть выложите плз

wimax
13.03.2011, 21:39
скрипт работает,но через раз, из за спама пакетами перестаёт точить часто, если поставить интервал 1 , то быстрее состаришься пока он заточит) но всё жё лучше что-то ,чем ничего )

время поменше попробуй 0.5 например

Добавлено через 1 минуту
Ребята выложе плз скрипт для автозаточки скилов под ИТ. Всю ночь сидел искал везде и везде пишут умники одно и тоже "Юзай поиск"-хотя я его и юзаю или его какойто маразм а по делу 0. Везде на грацыю на ит нигде не нашол. У кого есть выложите плз

а сам переписать не как?

RedNaxLex
14.03.2011, 17:29
я если ставлю задержку 0.5 то при компиляции скрипта вылазит ошибка вот в этом месте
Wait(tick, interval);

Rash
14.03.2011, 19:21
integer прописано) 0.5 не катит так)

RedNaxLex
14.03.2011, 23:57
interval =) и в констах и в коде... так что хз в чем трабл...

wimax
15.03.2011, 14:35
поправь значет в коде интервал здейло не в секундах а в мили секундах

Добавлено через 3 минуты
Round(Time*86400)-- ето 1 секунда подели чесло на два а интервал оставь 1

Rash
15.03.2011, 16:43
для хф4 скрипт пойдёт?)

wimax
15.03.2011, 17:34
не знаю если пакеты не поменяли то пойдет

g1oom08
23.03.2011, 03:10
ребят кстате тож перестали работать боты (енчантер скилов) при обновлении....мб эт шифрация?
(Играю на ГФ все работало отлично,но в скорем поставили защиту и все перестало работать) 0 реакции со стороны ботов...

Rash
23.03.2011, 12:17
рано или поздно с введением защиты что-то перестаёт работать

g1oom08
23.03.2011, 19:17
хотелось бы спросить,а как настроить бот под свой серв...где имено нужно вписывать оприделеный захват пакета при енчатне скила? в какой строке?

const
nik='ник чара';
Enchant=15;

var
SubID, SkillID, SkillLvl, CurrEnch: integer;

procedure Init; //Вызывается при включении скрипта
begin

end;

procedure OnTimer01(Sender: TObject);
begin

end;

procedure Free; //Вызывается при выключении скрипта
begin
CurrEnch:=0;
end;

procedure OnConnect(WithClient: Boolean); //Вызывается при установке соединения
begin

end;

procedure OnDisonnect(WithClient: Boolean); //Вызывается при потере соединения
begin

end;

//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if FromServer and (pck[1]=#$62) then case pck[2] of
#$A0: //точнулся
if CurrEnch<Enchant then
begin
CurrEnch:=CurrEnch+1;
Buf:=#$D0;
WriteH(SubID);
WriteD(SkillID);
WriteD(SkillLvl+CurrEnch);
SendToServerEx(nik);
end;
#$A1: //не точнулся
begin
CurrEnch:=1;

Buf:=#$D0;
WriteH(SubID);
WriteD(SkillID);
WriteD(SkillLvl+CurrEnch);
SendToServerEx(nik);

end;
end;

if FromClient and (pck[1]=#$D0) then
begin
SubID:=ReadH(2);
SkillID:=ReadD(4);
SkillLvl:=ReadD(8)-1;
CurrEnch:=1;
end;
end.

angel653922
01.04.2011, 13:35
рано или поздно с введением защиты что-то перестаёт работать

EmL
01.08.2011, 11:00
Лучше отпровляйте пакеты,т.к скрипты не на всех серверах работают.

7C 22 0e 00 00 01 00 00 00 00 00 00 00
7C 23 0e 00 00 01 00 00 00 00 00 00 00
7C 24 0e 00 00 01 00 00 00 00 00 00 00

начинаете вращаться с бешенной скоростью
4A010000000F000000

Добавлено через 2 минуты
п.с у кого есть скрипт рабочий на 100% для грации финал?)

Angel
08.11.2012, 04:48
g1oom08, вешается ваш скрипт на 45-ой строке.
версия PH - l2phx.3.5.34.176
сервер shock-world, хроники непонятно какие, клиент Hight Five.
скрин: http://i.da.am/8547.png
хочу точить скилы простыми точками скилов.
может тема обсуждалась на форуме, я не нашел, просьба ткнуть носом.

заранее благодарю!

Добавлено через 23 часа 31 минуту
EmL, ваш совет мне очень помог! обошелся без скрипта,а вопрос заточки оказывается давно (втихаря!) решается на этом комплексе серверов причем достаточно старой версией l2phx 3.4.1.83 взятой отсюда же:
h**p://coderx.ru/downloads.php?do=file&id=34