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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 01.04.2009, 13:16   #1
Пользователь
 
Регистрация: 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   #2
Новичок
 
Регистрация: 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   #3
Новичок
 
Регистрация: 16.02.2010
Сообщений: 1
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
zomgz пока неопределено
По умолчанию

Цитата:
Сообщение от HaxaJl Посмотреть сообщение
Скрипт в принцепе работает только когда скил стачивает дисконектит, сервер la2world.ru
такаяже проблема, сделайте так чтоб не критавало(((
zomgz вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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