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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 13.05.2009, 13:00   #1
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию Скрипт собирать Рекомендации

Скрипт собирать Рекомендации.для ХБ
в башку стукнуло наверно над в туалет
СУТЬ переделать скрипты расказывающие анекдоты
на собирание РЕКов.
В титул пишу За РЕК скажу Анекдот
чел рекает и ему в пм анекдот.норм наверн будит
я туп могу ток поменять в скрипте чтото как писать незнаю неумею необучен
анекдоты два скрипта как основа для примера
delphi Код:
//by VORON //скрипт который рассказывает анекдоты без бана: /////////////////////////////////////////////////////////////////////////// var temp: array [1..20] of string; timer1: TTimer; x: integer; procedure Init; //Вызывается при включении скрипта begin timer1:=TTimer.Create(nil); timer1.OnTimer:=@OnTimer; // timer1.enabled:=true; // timer1.interval:=1000; temp[1]:='" Водка в стиле IT: '; temp[2]:='0.1л - demo '; temp[3]:='0.25л - trial version '; temp[4]:='0.5л - personal edition '; temp[5]:='0.7л - professional edition '; temp[6]:='1.0л - network edition '; temp[7]:='1.75л - enterprise '; temp[8]:='3л - for small business '; temp[9]:='5л - corporate edition '; temp[10]:='Бутыль самогона - home edition '; temp[11]:='"На посошок" - Service pack '; temp[12]:='Рассол с утра - Recovery tool '; temp[13]:='Закуска - plugins '; temp[14]:='Пиво - patch '; temp[15]:='Coca-cola, Fanta, 7 UP - trojan viruses'; temp[16]:=''; x:=1; end; procedure OnTimer(Sender: TObject); begin /// if temp[x] <> '' then begin buf:=hstr('38'); writes(temp[x]); buf:=buf + hstr('01 00 00 00'); ///9- али // 3-пати // 01 - общий sendtoserverex('ник'); end; x:=x+1; if x>= 19 then x:=19; //ЭТА СТРОКА ДЛЯ ТОГО ЧТОБ XELAT заценил глубину мысли! незнаю я синтаксиса-) и учиться лень-) там какойто АНТИЛ надо применять-) а зачем? и так все пашет. end; procedure Free; //Вызывается при выключении скрипта begin timer1.Free; end; //основная часть скрипта //вызывается при приходе каждого пакета если скрипт включен begin end.
delphi Код:
{ Юля Сегодня, 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.
TAMBIK вне форума   Ответить с цитированием
Старый 13.05.2009, 14:20   #2
Рыцарь
 
Аватар для Grinch
 
Регистрация: 29.02.2008
Сообщений: 928
Сказал Спасибо: 127
Имеет 130 спасибок в 93 сообщенях
Grinch пока неопределено
По умолчанию

и в бан через некоторое время а так неплохая идея
Grinch вне форума   Ответить с цитированием
Старый 13.05.2009, 15:43   #3
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

Практический смысл какой - синий ник?
QaK вне форума   Ответить с цитированием
Старый 13.05.2009, 19:43   #4
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

Цитата:
Сообщение от QaK Посмотреть сообщение
Практический смысл какой - синий ник?
УГУ

Добавлено через 2 минуты
Цитата:
Сообщение от Grinch Посмотреть сообщение
и в бан через некоторое время а так неплохая идея
а за что я ручками в пм пишу анектод или мож частушку аль какой афоризм выдам
а в катах посадить ботов выдам инфу где мамон
за мамоном следить как за РБ по скрипту
и титул Узнай где мамон за рек
А моно продавца Купи соску узнай где мамон

Последний раз редактировалось TAMBIK, 14.05.2009 в 11:27. Причина: Добавлено сообщение
TAMBIK вне форума   Ответить с цитированием
Старый 13.05.2009, 20:18   #5
Местный
 
Аватар для KrazyKeNNy
 
Регистрация: 14.06.2008
Сообщений: 163
Сказал Спасибо: 4
Имеет 115 спасибок в 49 сообщенях
KrazyKeNNy пока неопределено
По умолчанию

Не, лучше цитаты с баша сразу.
__________________
Американский форум - задаешь вопрос тебе на него отвечают.
Израильский форум - задаешь вопрос тебе отвечают вопросом.
Русский форум - задаешь вопрос и тебе 2 часа объясняют какой ты мудак.
KrazyKeNNy вне форума   Ответить с цитированием
Старый 13.05.2009, 20:24   #6
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

ток где ник брать приходт токо пакет
Код:
Tип: 0x62 (SystemMessage)
Pазмер: 23+2
Время прихода: 19:17:09:109
0002 d MsgID: Вы получили рекомендацию от $c1. ID:831 (0x033F)
0006 d typesCount: 1 (0x00000001)
Код:
62 3F 03 00 00 01 00 00 00 00 00 00 00 54 00 70 00 4F 00 54 00 00 00
TAMBIK вне форума   Ответить с цитированием
Старый 13.05.2009, 20:25   #7
Местный
 
Регистрация: 11.03.2008
Сообщений: 529
Сказал Спасибо: 10
Имеет 111 спасибок в 71 сообщенях
Xa4ik пока неопределено
По умолчанию

Проще возле ГК поставить и клняьчить как нубы %target дай рек.
Xa4ik вне форума   Ответить с цитированием
Старый 13.05.2009, 20:27   #8
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

Цитата:
Сообщение от Xa4ik Посмотреть сообщение
Проще возле ГК поставить и клняьчить как нубы %target дай рек.
а эт заработу рек
TAMBIK вне форума   Ответить с цитированием
Старый 13.05.2009, 20:49   #9
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

TAMBIK, ну вот 54 00 70 00 4F 00 54 00 00 00 и есть ник)
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
За это сообщение xkor нажился спасибкой от:
Старый 14.05.2009, 00:13   #10
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

0x49 (Say2) пакет
Код:
49 40 04 40 04 40 04 40 04 40 04 40 04 40 04 40 04 00 00 02 00 00 00 54 00 70 00 4F 00 54 00 00 00
Код:
Tип: 0x49 (Say2)
Pазмер: 33+2
Время прихода: 22:46:31:703
0002 s Text: рррррррр
0020 d Type: 2 (0x00000002)
0024 s Target: TpOT
вроде так
поправьте пожалуста нубу
delphi Код:
// переделан из скрипта Анекдоты без бана автор by VORON // скрипт за РЕК Анекдот автор TAMBIK // опробован на ХБ var  temp: array [1..20] of string;  Name: String;  i,x: integer; procedure Init; //Вызывается при включении скрипта begin temp[1]:='Пиво без водки деньги на ветер '; temp[2]:='Кто некурит и непьет тот до 100 лет живет'; temp[3]:='Учиться.Учиться.Учиться= говорил дед Ленин'; temp[4]:='0.5л - personal edition '; temp[5]:='0.7л - professional edition '; temp[6]:='1.0л - network edition '; temp[7]:='1.75л - enterprise '; temp[8]:='3л - for small business '; temp[9]:='5л - corporate edition '; temp[10]:='Бутыль самогона - home edition '; temp[11]:='"На посошок" - Service pack '; temp[12]:='Рассол с утра - Recovery tool '; temp[13]:='Закуска - plugins '; temp[14]:='Пиво - patch '; temp[15]:='Coca-cola, Fanta, 7 UP - trojan viruses'; temp[16]:=''; x:=1; end; procedure Free; //Вызывается при выключении скрипта begin end; procedure OnConnect(WithClient: Boolean); //Вызывается при установке соединения begin end; procedure OnDisonnect(WithClient: Boolean); //Вызывается при потере соединения begin end; //основная часть скрипта //вызывается при приходе каждого пакета если скрипт включен begin  if FromServer and (pck[1]=#$62)and (pck[2]=#$3F) then begin    i:=14;    Name:=ReadS(i);  if temp[x] <> '' then    buf := #$49;    WriteS(temp[x]);    WriteD(2);    WriteS(Name);     SendToServer;   x:=x+1;  if x>= 19 then x:=19;  end; end.

Последний раз редактировалось TAMBIK, 31.05.2009 в 12:22. Причина: изм скрипта
TAMBIK вне форума   Ответить с цитированием
Ответ

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


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

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

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


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

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

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