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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 16.09.2009, 12:00   #1
Местный
 
Аватар для Sashafaq
 
Регистрация: 03.05.2008
Адрес: Ростов-на-Дону
Сообщений: 214
Сказал Спасибо: 19
Имеет 24 спасибок в 18 сообщенях
Sashafaq пока неопределено
По умолчанию assist

Вот кое как сдела скрипт для управления окнами лучиников
но оч тормозит обработка пакетов при масс замесе чую что можно както оптимизировать это дело )
Код:
var
IDPartyMember: String; //ИД командира
CoordLykX, CoordLykY, CoordLykZ :String; //координаты бота
CoordLytX, CoordLytY, CoordLytZ :String; //координаты бота
CoordKomandX, CoordKomandY, CoordKomandZ :String; // координаты командира
Mob, MobX, MobY, MobZ :String; // координаты моба и его ид
Lyk, Komandos, Lyt : String; // Имена


procedure bRun;
begin
          //выделяем командира, эмулируя щелчек мыши
          buf:=hstr('1F') + IDPartyMember + CoordLykX + CoordLykY + CoordLykZ + hstr('00');
          SendToServerEX(Lyk);
          buf:=hstr('1F') + IDPartyMember + CoordLykX + CoordLykY + CoordLykZ + hstr('00');
          SendToServerEX(Lyk);
end;

procedure bRun1;
begin
          //выделяем командира, эмулируя щелчек мыши
          buf:=hstr('1F') + IDPartyMember + CoordLytX + CoordLytY + CoordLytZ + hstr('00');
          SendToServerEX(Lyt);
          //бежим за командиром эмулируя повторный щелчек мыши по таргету
          buf:=hstr('1F') + IDPartyMember + CoordLytX + CoordLytY + CoordLytZ + hstr('00');
          SendToServerEX(Lyt);
end;
procedure Assist;
begin
          buf:=hstr('1F') + Mob + MobX + MobY + MobZ + hstr('00');
          SendToServerEX(Lyk);
          buf:=hstr('1F') + Mob + MobX + MobY + MobZ + hstr('00');
          SendToServerEX(Lyk);
end;
procedure Assist1;
begin
          buf:=hstr('1F') + Mob + MobX + MobY + MobZ + hstr('00');
          SendToServerEX(Lyt);  
          buf:=hstr('1F') + Mob + MobX + MobY + MobZ + hstr('00');
          SendToServerEX(Lyt);
end;


procedure Init; //Вызывается при включении скрипта
begin
     Lyk:='Lyk';
     Komandos:='Komand';
     Lyt:='KLyt';
end;

Последний раз редактировалось Sashafaq, 16.09.2009 в 13:06.
Sashafaq вне форума   Ответить с цитированием
Старый 16.09.2009, 12:01   #2
Местный
 
Аватар для Sashafaq
 
Регистрация: 03.05.2008
Адрес: Ростов-на-Дону
Сообщений: 214
Сказал Спасибо: 19
Имеет 24 спасибок в 18 сообщенях
Sashafaq пока неопределено
По умолчанию

Код:
begin
     if pck='' then exit;

     //если от сервака принят пакет с ИД и Координатами членов пати то
     if FromServer and (ConnectName=Komandos) and (pck[1]=#$BA) then
     begin
          //запоминаем ИД командира
          IDPartyMember:=pck[6] + pck[7] + pck[8] + pck[9];
     end;
      //если принят пакет от сервера со сменой таргета командиром                                                    
     if FromServer and (ConnectName=Lyk) and (pck[1]=#$23) and (pck[2] + pck[3] + pck[4] + pck[5] = IDPartyMember) then
     begin 
        Mob:= pck[6] + pck[7] + pck[8] + pck[9];
        MobX:= pck[10] + pck[11] + pck[12] + pck[13];
        MobY:= pck[14] + pck[15] + pck[16] + pck[17];
        MobZ:= pck[18] + pck[19] + pck[20] + pck[21];
     end;
   //если принят пакет от клиента с кординатами бафера то

    if FromClient and (ConnectName=Lyk) and (pck[1]=#$59) then
   begin
        //запоминаем координаты
        CoordLykX:= pck[2] + pck[3] + pck[4] + pck[5];
        CoordLykY:= pck[6] + pck[7] + pck[8] + pck[9];
        CoordLykZ:= pck[10] + pck[11] + pck[12] + pck[13];
   end;
       if FromClient and (ConnectName=Lyt) and (pck[1]=#$59) then
   begin
        //запоминаем координаты
        CoordLytX:= pck[2] + pck[3] + pck[4] + pck[5];
        CoordLytY:= pck[6] + pck[7] + pck[8] + pck[9];
        CoordLytZ:= pck[10] + pck[11] + pck[12] + pck[13];
   end;
   //далее идут управляющие команды

   //если КОМАНДИР пишет в любой чат цифру "1" бежим за ним
   if FromClient and (ConnectName=Komandos)and (pck[1]=#$49) then
      if (pck[2]=#$31) and (pck[3]=#$00) then
      begin
           //убиваем этот пакет, чтоб сервер его не получил
           pck:='';
           bRun;
           bRun1;
           exit;
      end;
      //если цифру 2 то берем асист по нему
   if FromClient and (ConnectName=Komandos)and (pck[1]=#$49) then
      if (pck[2]=#$32) and (pck[3]=#$00) then
      begin
           //убиваем этот пакет, чтоб сервер его не получил
           pck:='';
           Assist;
           Assist1;
           exit;
      end;

//          if FromClient and (ConnectName=Komandos)and (pck[1]=#$1f) and (pck[2] + pck[3] + pck[4] + pck[5] = Mob) then
//      begin
//           //убиваем этот пакет, чтоб сервер его не получил
//           Assist;
//           Assist1;
//          exit;
//      end;
// эта часть для авто асиста при отправке пакета атаки от командира 
end.
2 часть скрипта
Sashafaq вне форума   Ответить с цитированием
Старый 16.09.2009, 12:15   #3
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

Код:
const
  myName = 'Lyk';  // Имя 

//=====================================
procedure bRun;
begin
 buf:=#$1F;
  WriteD(IDPartyMember);
  WriteD(CoordLykX);
  WriteD(CoordLykY);
  WriteD(CoordLykZ); 
  SendToServerEx(myName);
end;
//====================================
//если от сервака принят пакет с ИД и Координатами членов пати то
     if FromServer and (ConnectName=Komandos) and (pck[1]=#$BA) then
     begin
          //запоминаем ИД командира
          IDPartyMember:=ReadD(6);
     end;
//если принят пакет от клиента с кординатами бафера то

    if FromClient and (ConnectName=Lyk) and (pck[1]=#$59) then
   begin
        //запоминаем координаты
        CoordLykX:=ReadD(2);
        CoordLykY:=ReadD(6);
        CoordLykZ:=ReadD(10);
   end;
__________________
Тут не форум гадалок, если ты делаешь все правильно и по пунктам - то все должно работать
TAMBIK вне форума   Ответить с цитированием
За это сообщение TAMBIK нажился спасибкой от:
Старый 16.09.2009, 12:25   #4
Местный
 
Аватар для Sashafaq
 
Регистрация: 03.05.2008
Адрес: Ростов-на-Дону
Сообщений: 214
Сказал Спасибо: 19
Имеет 24 спасибок в 18 сообщенях
Sashafaq пока неопределено
По умолчанию

если я так весь скрипт перепишу скорость обработки увеличится? а то если около 10 человек начинает сразу чето делать в радиусе начинаются задержки в ла 2 думаю из за медленной обдумки
Sashafaq вне форума   Ответить с цитированием
Старый 16.09.2009, 23:31   #5
Местный
 
Аватар для Sashafaq
 
Регистрация: 03.05.2008
Адрес: Ростов-на-Дону
Сообщений: 214
Сказал Спасибо: 19
Имеет 24 спасибок в 18 сообщенях
Sashafaq пока неопределено
По умолчанию

Код:
// Прописываем имена ботов сюда
const
Lyk = 'Bot2';
Komandos = 'Kom';
Lyt = 'Bot1';
var
IDPartyMember: integer; //ИД командира
CoordLykX, CoordLykY, CoordLykZ :Integer; //координаты бота
CoordLytX, CoordLytY, CoordLytZ :integer; //координаты бота
CoordKomandX, CoordKomandY, CoordKomandZ :integer; // координаты командира
Mob, MobX, MobY, MobZ :integer; // координаты моба и его ид

procedure bRun;
begin
 buf:=#$1F;
  WriteD(IDPartyMember);
  WriteD(CoordLykX);
  WriteD(CoordLykY);
  WriteD(CoordLykZ);
  WriteC(0); 
  SendToServerEX(Lyk);
  buf:=#$1F;
  WriteD(IDPartyMember);
  WriteD(CoordLykX);
  WriteD(CoordLykY);
  WriteD(CoordLykZ);
  WriteC(0); 
  SendToServerEX(Lyk);              
end;
procedure bRun1;
begin
 buf:=#$1F;
  WriteD(IDPartyMember);
  WriteD(CoordLytX);
  WriteD(CoordLytY);
  WriteD(CoordLytZ);
  WriteC(0); 
  SendToServerEX(Lyt);
  buf:=#$1F;
  WriteD(IDPartyMember);
  WriteD(CoordLytX);
  WriteD(CoordLytY);
  WriteD(CoordLytZ);
  WriteC(0); 
  SendToServerEX(Lyt);              
end;

procedure Assist;
begin
buf:=hstr('1F'); 
  WriteD(Mob);
  WriteD(MobX);
  WriteD(MobY);
  WriteD(MobZ);
  WriteC(0);          
  SendToServerEX(Lyk);
end;

procedure Assist1;
begin
buf:=hstr('1F'); 
  WriteD(Mob);
  WriteD(MobX);
  WriteD(MobY);
  WriteD(MobZ);
  WriteC(0);          
  SendToServerEX(Lyt);
end;

begin
   if pck='' then exit;
   //если от сервака принят пакет с ИД и Координатами членов пати то
     if FromServer and (ConnectName=Komandos) and (pck[1]=#$BA) then
     begin
          //запоминаем ИД командира
          IDPartyMember:=ReadD(6);
     end;       
         //если принят пакет от клиента со сменой таргета командиром   
    if FromServer and (ConnectName=Lyk) and (pck[1]=#$23) and (ReadD(2) = IDPartyMember) then     
    begin
        Mob:=ReadD(6);
        MobX:=ReadD(10);
        MobY:=ReadD(14);
        MobZ:=ReadD(18);     
     end;       
        //записываем координаты бота при приходе пакета о изменении позиции
 if FromClient and (ConnectName=Lyk) and (pck[1]=#$59) then
   begin
   CoordLykX:=ReadD(2);
   CoordLykY:=ReadD(6);
   CoordLykZ:=ReadD(10);
   end;
        // для второго бота
  if FromClient and (ConnectName=Lyt) and (pck[1]=#$59) then
   begin
   CoordLytX:=ReadD(2);
   CoordLytY:=ReadD(6);
   CoordLytZ:=ReadD(10);
   end; 
   
   if FromClient and (ConnectName=Komandos) and (pck[1]=#$49) then
      if (pck[2]=#$31) and (pck[3]=#$00) then
      begin
           //убиваем этот пакет, чтоб сервер его не получил
           pck:='';
           bRun;
           bRun1;
           exit;
      end;
      
   if FromClient and (ConnectName=Komandos)and (pck[1]=#$49) then
      if (pck[2]=#$32) and (pck[3]=#$00) then
      begin
           //убиваем этот пакет, чтоб сервер его не получил
           pck:='';
           Assist;
           Assist1;
           exit;
      end;
end.
Sashafaq вне форума   Ответить с цитированием
Ответ

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


Опции темы
Опции просмотра

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

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


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

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

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