Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг
Войти через OpenID

Скриптинг Форум посвещенный созданию скриптов для L2PacketHack

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 01.04.2009, 02:01   #1
Рыцарь
 
Аватар для mks
 
Регистрация: 21.09.2007
Сообщений: 376
Сказал Спасибо: 11
Имеет 218 спасибок в 106 сообщенях
mks пока неопределено
По умолчанию Автозаточка скиллов

закупаемся книжками, выставляем уровень заточки и ник
точим на +1, скрипт продолжает пока не точнет до указанного уровня
ЗЫ точить надо с нуля, иначе счетчик не правильно считать начнет

delphi Код:
const    nik='xxxxx';    Enchant=13; 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.
mks вне форума   Ответить с цитированием
За это сообщение mks нажился 8 спасибками от:
Старый 01.04.2009, 13:16   #2
Пользователь
 
Регистрация: 05.02.2009
Сообщений: 62
Сказал Спасибо: 1
Имеет 18 спасибок в 9 сообщенях
lexayar пока неопределено
По умолчанию

В тему выложу свою версию такого скрипта. Сделано на скорую руку, есть лишние моменты, легко переделать, чтоб работало для всех подключенных персонажей, и не надо было указывать ник. Основное отличие от предыдущего скрипта - не важен начальный уровень заточки, остальное почти все также:
delphi Код:
// @ LexaYar  v.1.0 от 2009.03.18 // Скрипт на точку скилов под hellbound // Настраиваем параметры скрипта: Имя персонажа и Максимальный уровень заточки // Включаем скрипт, подходим к НПЦ, у которого точим скилы, выбираем точить нужный скил, // после чего скрипт автоматически продолжает его точить до тех пор пока не будет // достигнут нужный уровень заточки, либо пока не кончатся книги, либо exp. // Остановить работу скрипта можно только сняв галку с его имени в Пакетхаке. Const   // ============= НАСТРОЙКИ ===============   NickName = 'Ваш ник';   MaxEnchantLevel = 7;   // =======================================   // задержка между точками в сек.   interval = 0;   // отладочные сообщения   MainDebug = false; var   CurLevel: integer;   tick: integer;   SKillID: integer; procedure Init; //Вызывается при включении скрипта begin   CurLevel := -1; end; procedure Free; //Вызывается при выключении скрипта begin 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(ChatType);   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.

Последний раз редактировалось lexayar, 01.04.2009 в 13:31.
lexayar вне форума   Ответить с цитированием
За это сообщение lexayar нажился 6 спасибками от:
Старый 23.01.2010, 06:13   #3
Новичок
 
Регистрация: 23.01.2010
Сообщений: 1
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
HaxaJl пока неопределено
По умолчанию

Цитата:
Сообщение от lexayar Посмотреть сообщение
В тему выложу свою версию такого скрипта. Сделано на скорую руку, есть лишние моменты, легко переделать, чтоб работало для всех подключенных персонажей, и не надо было указывать ник. Основное отличие от предыдущего скрипта - не важен начальный уровень заточки, остальное почти все также:
delphi Код:
// @ LexaYar  v.1.0 от 2009.03.18 // Скрипт на точку скилов под hellbound // Настраиваем параметры скрипта: Имя персонажа и Максимальный уровень заточки // Включаем скрипт, подходим к НПЦ, у которого точим скилы, выбираем точить нужный скил, // после чего скрипт автоматически продолжает его точить до тех пор пока не будет // достигнут нужный уровень заточки, либо пока не кончатся книги, либо exp. // Остановить работу скрипта можно только сняв галку с его имени в Пакетхаке. Const   // ============= НАСТРОЙКИ ===============   NickName = 'Ваш ник';   MaxEnchantLevel = 7;   // =======================================   // задержка между точками в сек.   interval = 0;   // отладочные сообщения   MainDebug = false; var   CurLevel: integer;   tick: integer;   SKillID: integer; procedure Init; //Вызывается при включении скрипта begin   CurLevel := -1; end; procedure Free; //Вызывается при выключении скрипта begin 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(ChatType);   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.
Скрипт в принцепе работает только когда скил стачивает дисконектит, сервер la2world.ru
HaxaJl вне форума   Ответить с цитированием
Старый 16.02.2010, 23:11   #4
Новичок
 
Регистрация: 16.02.2010
Сообщений: 1
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
zomgz пока неопределено
По умолчанию

Цитата:
Сообщение от HaxaJl Посмотреть сообщение
Скрипт в принцепе работает только когда скил стачивает дисконектит, сервер la2world.ru
такаяже проблема, сделайте так чтоб не критавало(((
zomgz вне форума   Ответить с цитированием
Старый 10.04.2009, 14:19   #5
Новичок
 
Аватар для Vklu4atel^^
 
Регистрация: 19.03.2009
Сообщений: 18
Сказал Спасибо: 16
Имеет 0 спасибок в 0 сообщенях
Vklu4atel^^ пока неопределено
По умолчанию

первий скрипт под кие хроны??
Vklu4atel^^ вне форума   Ответить с цитированием
Старый 15.04.2009, 02:16   #6
Рыцарь
 
Аватар для mks
 
Регистрация: 21.09.2007
Сообщений: 376
Сказал Спасибо: 11
Имеет 218 спасибок в 106 сообщенях
mks пока неопределено
По умолчанию

Цитата:
Сообщение от Vklu4atel^^ Посмотреть сообщение
первий скрипт под кие хроны??
грация 2
mks вне форума   Ответить с цитированием
Старый 25.04.2009, 23:23   #7
Новичок
 
Регистрация: 27.07.2008
Сообщений: 4
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
korp пока неопределено
По умолчанию

А под Интерлюде есть?
korp вне форума   Ответить с цитированием
Старый 25.04.2009, 23:57   #8
Рыцарь
 
Аватар для mks
 
Регистрация: 21.09.2007
Сообщений: 376
Сказал Спасибо: 11
Имеет 218 спасибок в 106 сообщенях
mks пока неопределено
По умолчанию

Цитата:
Сообщение от korp Посмотреть сообщение
А под Интерлюде есть?
под интерлюд не писал, может у кого и есть....
mks вне форума   Ответить с цитированием
Старый 27.04.2009, 01:02   #9
Новичок
 
Регистрация: 19.04.2009
Сообщений: 11
Сказал Спасибо: 2
Имеет 0 спасибок в 0 сообщенях
Auromy пока неопределено
По умолчанию

У меня скрипт под грацию не заработал

Добавлено через 23 часа 47 минут
А как сделать в скрипте в первом задержку? А то он точит без остановки и сбивается

Последний раз редактировалось Auromy, 27.04.2009 в 01:02. Причина: Добавлено сообщение
Auromy вне форума   Ответить с цитированием
Старый 27.04.2009, 01:31   #10
Рыцарь
 
Аватар для mks
 
Регистрация: 21.09.2007
Сообщений: 376
Сказал Спасибо: 11
Имеет 218 спасибок в 106 сообщенях
mks пока неопределено
По умолчанию

Цитата:
Сообщение от Auromy Посмотреть сообщение
А как сделать в скрипте в первом задержку? А то он точит без остановки и сбивается
тоесть сбивается? по подробней....
mks вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 12:38.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!