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

L2PacketHack Форум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела! Обсуждение багов Lineage ЗАПРЕЩЕНО!

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 27.04.2009, 21:56   #1
Пользователь
 
Аватар для z0mbie
 
Регистрация: 13.03.2009
Сообщений: 41
Сказал Спасибо: 26
Имеет 1 спасибку в 1 сообщении
z0mbie пока неопределено
По умолчанию Напишите скрипт плиз!

Напишите пожалуйста юлин скрипт под интерлюд.

Код:
{ Юля Сегодня, 11:46
Помню этот небольшой скриптик принес мне просто бешеное богатсво на сервере
где я играла, но поскольку я больше не играю, то выкладываю в массы суть
проста, программа ведет учет всех персов в округе, когда по вашему
персу-торговцу кликают, она пишет в френдчат ему предложение купить стрелу
и обешание за это рассказать анекдотик. за покупку программа конечно же как
и обешала рассказывает анекдотик. как показывает практика, самая идеальная
цена чтобы клиенты купили как можно больше ваших стрел, для х1 - это не
более 3к, для х5 - 10к. а для привлечения внимания именно к вашему
торговцу, в титуле (для этого вам надо быть в клане) постоянно мигает
рожица и надпись "АНЕКДОТЫ". Все анекдоты грузяться с папки c:\l2jokes (в
аттаче уже готовый архив с 237 анекдотами), каждый анекдот в отдельном
файле, не более 255 символов. Пользуйтесь на здоровье
}
// copyright (c) 2006, 2007 Puella

var curpos: byte;
    TITLE_DATA2: array [0..16] of string;

const
  jokes_max = 237;

var
  f: TStringList;
  jokes: array [1..jokes_max] of string;
  jokes_real: integer;
  IDs: array [1..2000] of cardinal;
  Names: array [1..2000] of String;
  count: Integer;
  MyID: Cardinal;
  MyName: String;
  m: TMemo;
  t: TTimer;

  InTimer: Boolean;

procedure OnTimerProc;
begin
  InTimer := true;
  buf := #$55;
  WriteS(MyName);
  WriteS(TITLE_DATA2[curpos]);
  SendToServer;

  curpos := curpos + 1;
  if curpos > 16 then curpos := 0;

  InTimer := false;
end;

procedure Init;
var i: byte;
begin
  randomize;
  count := 0;

  f := TStringList.Create;
  jokes_real := 0;
  for i := 1 to jokes_max do
  begin
    try
      f.LoadFromFile('C:\l2jokes\' + IntToStr(i) + '.txt');
      jokes_real := jokes_real + 1;
    except
    end;
    jokes[jokes_real] := f.Text;
  end;
  f.free;

  TITLE_DATA2[0] := '@(o_O)@';
  TITLE_DATA2[1] := '@(O_o)@';
  TITLE_DATA2[2] := '@(o_O)@';
  TITLE_DATA2[3] := '@(O_o)@';
  TITLE_DATA2[4] := '';
  TITLE_DATA2[5] := 'ANEKDOTI';
  TITLE_DATA2[6] := '';
  TITLE_DATA2[7] := 'ANEKDOTI';
  TITLE_DATA2[8] := '';
  TITLE_DATA2[9] := 'ANEKDOTI';
  TITLE_DATA2[10] := '';
  TITLE_DATA2[11] := '@(o_O)@';
  TITLE_DATA2[12] := '@(O_o)@';
  TITLE_DATA2[13] := '@(o_O)@';
  TITLE_DATA2[14] := '@(O_o)@';
  TITLE_DATA2[15] := '@(o_O)@';
  TITLE_DATA2[16] := '@(O_o)@';

  curpos := 0;

  t := TTimer.Create(nil);
  t.Enabled := false;
  t.Interval := 2000;
  t.OnTimer := @OnTimerProc;

  ShowTab;

  m:=TMemo.Create(UserTab);
  m.parent:=UserTab;
  m.align:=alClient;
  m.ReadOnly:=true;
  m.ScrollBars:=ssBoth;
  m.lines.add('Анекдотов загружено: ' + inttostr(jokes_real));
end;

procedure Free;
begin
  m.Free;
  HideTab;

  t.OnTimer := nil;
  t.Enabled := false;
  t.Interval := 0;
  t.Free;
end;

function FindPlayer(ObjID: cardinal): integer;
var k: cardinal;
begin
  result := -1;
  if Count > 0 then
    for k := 1 to Count do
      if IDs[k] = ObjID then
      begin
        result := k;
        break
      end;
end;

var
  i, k: integer;
  objid: cardinal;
  name: string;
begin
  if FromServer then
  case pck[1] of
    #$64:
    begin
      i := 2;
      if ReadD(i) = 380 then {S1_PURCHASED_S3_S2_s}
      begin
        i := i + 4*2;
        name := ReadS(i);
        if (name = '') then
        begin
          // внесем в лог (blacklist)
          m.Lines.Add(TimeToStr(now)+': '+name+' purchased (BLACKLISTED)');
        end
        else
        begin
          while (InTimer = true) do i := i;

          buf := #$CC;
          i := int(random * jokes_real) + 1;
          WriteS(jokes[i]);
          WriteS(name);
          SendToServer;

          if (Length(m.Lines.Text) > 60000) then m.Lines.Text := '<cleared>';
          // внесем в лог
          m.Lines.Add(TimeToStr(now)+': '+name+' purchased');
          m.Lines.Add('> ' + jokes[i]);
        end;
      end
    end;

    #$03: // CharInfo
    begin
      i := 4 + 4 * 4 - 2;
      objid := ReadD(i);

      i := FindPlayer(ObjID);

      if i = -1 then
      begin
        i := 4 + 4 * 5 - 2;
        name := ReadS(i);
        // blacklist
        if (name = '') then
        begin
          // (none)
        end
        else begin
          // добавление
          count := count + 1;
          IDs[count] := ObjID;
          Names[count] := name;
          //m.Lines.Add(IntToStr(count) + ' - ' + Format('%x', [ObjId])+' = '+ Names[count]);
        end;
      end;
    end;

    #$04: //UserInfo
    begin
      i := 2 + 4*4;
      MyID := ReadD(i);
      MyName := ReadS(i);
      t.Enabled := true;
    end;

    #$12: // ObjectDelete
    begin
      i := 2;
      objid := ReadD(i);

      i := FindPlayer(objid);

      if i <> -1 then
      begin
        IDs[i] := IDs[count];
        Names[i] := Names[count];
        count := count - 1;
      end
    end;

    #$29: //TargetSeleted
    begin
      i := 2;
      objid := ReadD(i);

      if ReadD(i) <> MyID then exit;

      i := FindPlayer(objid);

      if i <> -1 then
      begin
        while (InTimer = true) do i := i;

        buf := #$CC;
        WriteS('Привет, '+names[i]+'! Я бот! Купи у меня стрел и я, в благодарность за это, расскажу тебе анекдот или стишок на тему LineAge2! ;)');
        WriteS(names[i]);
        SendToServer;
        // внесем в лог
        m.Lines.Add(TimeToStr(now)+': '+names[i]);
      end
    end;
  end;
end.
__________________
Баги и читы для Lineage II ---> http://chiter.winbb.ru
z0mbie вне форума   Ответить с цитированием
Старый 27.04.2009, 22:59   #2
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от z0mbie Посмотреть сообщение
Напишите пожалуйста юлин скрипт под интерлюд.
Почитай форум, по изучай пакеты. Замени в скрипте ID пакетов на интерлюдские.
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 27.04.2009, 23:10   #3
Местный
 
Аватар для Xardas
 
Регистрация: 14.11.2008
Сообщений: 114
Сказал Спасибо: 5
Имеет 5 спасибок в 5 сообщенях
Xardas пока неопределено
По умолчанию

что то я сомневаюсь, что на этом ты сделаешь кучу денег на шоке. Например потому что онлайн Шоков упал более чем вдвое...
Xardas вне форума   Ответить с цитированием
Старый 28.04.2009, 11:02   #4
Пользователь
 
Аватар для z0mbie
 
Регистрация: 13.03.2009
Сообщений: 41
Сказал Спасибо: 26
Имеет 1 спасибку в 1 сообщении
z0mbie пока неопределено
По умолчанию

Цитата:
Сообщение от NLObP Посмотреть сообщение
Почитай форум, по изучай пакеты. Замени в скрипте ID пакетов на интерлюдские.
Немогу найти ID пакетов.Форум читал но так ничего и не понял

Добавлено через 51 секунду
Цитата:
Сообщение от Xardas Посмотреть сообщение
что то я сомневаюсь, что на этом ты сделаешь кучу денег на шоке. Например потому что онлайн Шоков упал более чем вдвое...
Я играю не на шоке а на lineage-game.ru
__________________
Баги и читы для Lineage II ---> http://chiter.winbb.ru

Последний раз редактировалось z0mbie, 28.04.2009 в 11:02. Причина: Добавлено сообщение
z0mbie вне форума   Ответить с цитированием
Старый 28.04.2009, 13:24   #5
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от z0mbie Посмотреть сообщение
Немогу найти ID пакетов
Формат пакетов для Интерлюдии описан в файле packetsT0.ini, который есть в составе пакетхака и лежит в папке ./settings/

ps: пакеты описаны не все и не все верно.
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 28.04.2009, 14:57   #6
Пользователь
 
Аватар для DzumoHu4
 
Регистрация: 28.06.2008
Сообщений: 73
Сказал Спасибо: 7
Имеет 24 спасибок в 16 сообщенях
DzumoHu4 пока неопределено
По умолчанию

Есть идея по интереснее, в общем человек кликает по торговцу ему в приват предложение отгодать загадку, он пишет ответ если совпадает то трейд и игроку выиграш
DzumoHu4 вне форума   Ответить с цитированием
Старый 28.04.2009, 19:18   #7
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

DzumoHu4, можно уж тогда в шаут орать загадки,допустим, первые 3 ПМ а правильных засчитывать, подсчитыват количество очков в конце викторины и выдавать приз победителю.
QaK вне форума   Ответить с цитированием
За это сообщение QaK нажился спасибкой от:
Старый 28.04.2009, 20:08   #8
Пользователь
 
Аватар для z0mbie
 
Регистрация: 13.03.2009
Сообщений: 41
Сказал Спасибо: 26
Имеет 1 спасибку в 1 сообщении
z0mbie пока неопределено
По умолчанию

Я вот этот скрипт пробовал:
Бот рассказывающий анекдоты если у него кто то купил 1 соску .
Создайте папку C:\l2jokes запишите анекдоты в файлы 1.txt, 2.txt и тд.
jokes_max = 100; здесь поставьте количество анекдотов помните что длинна анекдота не должна превышать 255 символов.
MyName:='bobrul'; Поменяйте на своё имя.
if ReadD(i) = 1152 then {S1_PURCHASED_S3_S2_s} поменяйте ID соски С воин на любой другой предмета который будете продавать.
delphi Код:
const jokes_max = 15; var TITLE_DATA2: array [0..16] of string; IDs: array [1..2000] of cardinal; Names: array [1..2000] of String; jokes: array [1..jokes_max] of string; InTimer: Boolean; curpos: byte; f: TStringList; t: TTimer; m: TMemo; MyName: String; count: Integer; MyID: Cardinal; jokes_real: integer; procedure OnTimerProc; begin   InTimer := true;   buf := #$0B;   WriteS(MyName);   WriteS(TITLE_DATA2[curpos]);   SendToServer;   curpos := curpos + 1;   if curpos > 16 then curpos := 0;   InTimer := false; end; procedure Init; var i: byte; begin MyName:='Ruslan'; curpos := 0; randomize;   count := 0;   f := TStringList.Create;   jokes_real := 0;   for i := 1 to jokes_max do   begin     try       f.LoadFromFile('C:\l2jokes\' + IntToStr(i) + '.txt');       jokes_real := jokes_real + 1;     except     end;     jokes[jokes_real] := f.Text;   end;   f.free; //Создаю таймер t := TTimer.Create(nil);   t.Enabled := false;   t.Interval := 700;   t.OnTimer := @OnTimerProc;   TITLE_DATA2[0] := '@(o_O)@';   TITLE_DATA2[1] := '@(O_o)@';   TITLE_DATA2[2] := '@(o_O)@';   TITLE_DATA2[3] := '@(O_o)@';   TITLE_DATA2[4] := '';   TITLE_DATA2[5] := 'ANEKDOTI';   TITLE_DATA2[6] := '';   TITLE_DATA2[7] := 'ANEKDOTI';   TITLE_DATA2[8] := '';   TITLE_DATA2[9] := 'ANEKDOTI';   TITLE_DATA2[10] := '';   TITLE_DATA2[11] := '@(o_O)@';   TITLE_DATA2[12] := '@(O_o)@';   TITLE_DATA2[13] := '@(o_O)@';   TITLE_DATA2[14] := '@(O_o)@';   TITLE_DATA2[15] := '@(o_O)@';   TITLE_DATA2[16] := '@(O_o)@';   ShowTab;   //Создаю TMemo   m:=TMemo.Create(UserTab);   m.parent:=UserTab;   m.align:=alClient;   m.ReadOnly:=true;   m.ScrollBars:=ssBoth;   m.lines.add('Анекдотов загружено: ' + inttostr(jokes_real)); end; procedure Free; begin   t.OnTimer := nil;   t.Enabled := false;   t.Interval := 0;   t.Free;   m.Free;   HideTab; end; function FindPlayer(ObjID: cardinal): integer; //Ищет ObjID в массиве IDs var k: cardinal; begin   result := -1;   if Count > 0 then     for k := 1 to Count do       if IDs[k] = ObjID then       begin         result := k;         break       end; end; var i: integer; objid: cardinal; name: string; begin if FromServer then   case pck[1] of      #$31: // CharInfo     begin      i := 18; //В етой позиции находиться ObjectID в пакете CharInfo      objid := ReadD(i);      i := FindPlayer(ObjID);      if i = -1 then       begin       i := 22; //В етой позиции находиться Name в пакете CharInfo       name := ReadS(i);       // Добавление имени в массив ников IDs это ObjectID и Names это Name        if (name = '') then         begin           // (none)         end         else begin         count := count + 1;         IDs[count] := ObjID;         Names[count] := name;         m.Lines.Add(IntToStr(count) + ' - ' + Format('%x', [ObjId])+' = '+ Names[count]);         end;       end;     end;     #$32: //UserInfo Ищет мой ObjectID     begin       i := 18;       MyID := ReadD(i);       i := 22;       MyName := ReadS(i);       //Включает таймер бегущей строки в том случае если мой ObjectID найден       //Тогда начинает работать бегущая строка       t.Enabled := true;     end;     #$23: //TargetSeleted     begin       i := 2;       objid := ReadD(i);       if ReadD(i) <> MyID then exit;       i := FindPlayer(objid);       if i <> -1 then       begin         buf := #$49;         WriteS('Привет, '+names[i]+'! Я бот! Купи у меня сосок и я, в благодарность за это, расскажу тебе анекдот или стишок на тему LineAge2! ;)');         WriteD(2);         WriteS(names[i]);         SendToServer;         // в лог         m.Lines.Add(TimeToStr(now)+': '+names[i]+'Взял вас в таргет.');         end;         end;         #$08: // ObjectDelete     begin       i := 2;       objid := ReadD(i);       i := FindPlayer(objid);       if i <> -1 then       begin         IDs[i] := IDs[count];         Names[i] := Names[count];         count := count - 1;       end;     end;      #$62:     begin       i := 2;       if ReadD(i) = 1152 then {S1_PURCHASED_S3_S2_s}       begin         i := i + 4*2;         name := ReadS(i);           buf := #$49;           i := int(random * jokes_real) + 1;           WriteS(jokes[i]);           WriteD(2);           WriteS(name);           SendToServer;           if (Length(m.Lines.Text) > 1000) then m.Lines.Text := '<cleared>';           // внесем в лог           m.Lines.Add(TimeToStr(now)+': '+name+' purchased');           m.Lines.Add('> ' + jokes[i]);         end;     end; end; end.
Но у меня всё время ошибка выходит. Мой ник руслан. 15 анекдотов. Нада ли быть в клане чтобы этот скрипт работал?
__________________
Баги и читы для Lineage II ---> http://chiter.winbb.ru

Последний раз редактировалось QaK, 28.04.2009 в 21:49.
z0mbie вне форума   Ответить с цитированием
Старый 29.04.2009, 01:15   #9
Пользователь
 
Аватар для DzumoHu4
 
Регистрация: 28.06.2008
Сообщений: 73
Сказал Спасибо: 7
Имеет 24 спасибок в 16 сообщенях
DzumoHu4 пока неопределено
По умолчанию

Цитата:
Сообщение от QaK Посмотреть сообщение
DzumoHu4, можно уж тогда в шаут орать загадки,допустим, первые 3 ПМ а правильных засчитывать, подсчитыват количество очков в конце викторины и выдавать приз победителю.
Здорово, правда врятли кто то догадается что "Апельсин в ящике" это официальное поздравление президента украины с Новым Годом, или "Самый быстрый звёздный воин"(ответ) Черновецкий
DzumoHu4 вне форума   Ответить с цитированием
Старый 29.04.2009, 17:57   #10
Пользователь
 
Аватар для z0mbie
 
Регистрация: 13.03.2009
Сообщений: 41
Сказал Спасибо: 26
Имеет 1 спасибку в 1 сообщении
z0mbie пока неопределено
По умолчанию

Цитата:
Сообщение от NLObP Посмотреть сообщение
Формат пакетов для Интерлюдии описан в файле packetsT0.ini, который есть в составе пакетхака и лежит в папке ./settings/

ps: пакеты описаны не все и не все верно.
А в файле ItemsID id вещей для интерлюд?
__________________
Баги и читы для Lineage II ---> http://chiter.winbb.ru
z0mbie вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack



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

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


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

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

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