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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 08.07.2008, 23:10   #1
Новичок
 
Регистрация: 15.04.2008
Сообщений: 20
Сказал Спасибо: 4
Имеет 0 спасибок в 0 сообщенях
Miler пока неопределено
По умолчанию Следим за Рейд Боссами

Кто может зделать скрипт для рейдов. Суть такова.
Запускаеш окно с чаром или бота и он спамит таргет нужной цели (например /target Baium) и как тока он берёт его в таргет начинает спамить в пм определённому чару сообщения с определённым помежутком (пофик что). Ну и совсем было бы круто если бы ещё и звуковой сигнал можно было как-то впихнуть, но я не знаю можно ли через l2phx это зделать.

З.Ы. модеры плиз подправьте темку а то я малость опечатался

Последний раз редактировалось NLObP, 11.07.2008 в 04:00.
Miler вне форума   Ответить с цитированием
Старый 10.07.2008, 15:39   #2
Новичок
 
Регистрация: 15.04.2008
Сообщений: 20
Сказал Спасибо: 4
Имеет 0 спасибок в 0 сообщенях
Miler пока неопределено
По умолчанию

ID
25035 Shilen's Messenger Cabrio (Raid Boss )
29019 Antharas
29020 Baium (это когда он в камне и отображаеться как нпс) но могу спутать эти 2 ид (не нашол в файлах клиента расшифровку кто есть кто)
29025 Baium (это вроде када он моб)
29001 Queen Ant
25220 Death Lord Hallate (Raid Boss )
25054 Kernon (Raid Boss )
25126 Longhorn Golkonda (Raid Boss )

Добавлено через 10 минут
И если можно внести в скрипт несколько человек, которым будет слаться сообщения. NLObP, что-то наподобие той панельки, что ты делал для скрипта заточек, тока там графы выбора: мониторинг мобов, спискок людей кому отправлять, что отправлять и с какой переодичностью. А если, как сказал VORON можно зделать ещё и без клиента будет вообще идеально.

Последний раз редактировалось Miler, 10.07.2008 в 15:39. Причина: Добавлено сообщение
Miler вне форума   Ответить с цитированием
Старый 11.07.2008, 04:03   #3
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Вот в первом приближении. На РБ не проверял.
Как обычно, настраиваем скрипт для работы на своем сервере.
Изменяем:
Код:
Name='NLObP'; //Вписать сюда имя чара
//kID=1000000; //коэфф вычитаемый из NpcID C4  lagam.net
kID=1023000; //коэфф вычитаемый из NpcID C6 theAbyss.ru
Также, надо добавить/убавить/откорректировать в этих секциях для РБ и Игроков строчки вида:
Код:
ComboBoxNpc.Items.ADD('29019=Antharas');
delphi Код:
//......................................     //ComboBoxNpc     ComboBoxNpc := TComboBox.Create(Result);     ComboBoxNpc.Parent := GroupBox2;     ComboBoxNpc.Left    := 90;     ComboBoxNpc.Top     := 16;     ComboBoxNpc.Width   := 169;     ComboBoxNpc.Height  := 21;     ComboBoxNpc.Visible := TRUE;     ComboBoxNpc.Tag     := 0;     ComboBoxNpc.Enabled  := TRUE;     ComboBoxNpc.Hint     := 'Выбери из списка Рейд Босса';     ComboBoxNpc.ShowHint := TRUE;     ComboBoxNpc.Text       := 'ComboBoxNpc';     ComboBoxNpc.Font.Name  := 'Tahoma';     ComboBoxNpc.Font.Size  := 8;     ComboBoxNpc.Font.Color := clWindowText;     ComboBoxNpc.Color      := clWindow;     ComboBoxNpc.TabOrder   := 1;     ComboBoxNpc.TabStop    := TRUE;     ComboBoxNpc.Sorted     := FALSE;     ComboBoxNpc.ItemHeight  := 13;     ComboBoxNpc.Items.ADD('25035=Shilens Messenger Cabrio (Raid Boss)');     ComboBoxNpc.Items.ADD('29019=Antharas');     ComboBoxNpc.Items.ADD('29020=Baium (когда он в камне)');     ComboBoxNpc.Items.ADD('29025=Baium (когда он моб)');     ComboBoxNpc.Items.ADD('29001=Queen Ant');     ComboBoxNpc.Items.ADD('25220=Death Lord Hallate (Raid Boss)');     ComboBoxNpc.Items.ADD('25054=Kernon (Raid Boss )');     ComboBoxNpc.Items.ADD('25126=Longhorn Golkonda (Raid Boss)');     //test     ComboBoxNpc.Items.ADD('8573=Monakan Fishermens Guild Member');     ComboBoxNpc.ItemIndex  := 0;     ComboBoxNpc.OnClick     := @ComboBoxNpc_Click;     //......................................     //......................................     //ComboBoxPlayer     ComboBoxPlayer := TComboBox.Create(Result);     ComboBoxPlayer.Parent := GroupBox2;     ComboBoxPlayer.Left    := 90;     ComboBoxPlayer.Top     := 40;     ComboBoxPlayer.Width   := 169;     ComboBoxPlayer.Height  := 21;     ComboBoxPlayer.Visible := TRUE;     ComboBoxPlayer.Tag     := 0;     ComboBoxPlayer.Enabled  := TRUE;     ComboBoxPlayer.Hint     := 'Выбери из списка имя игрока, которому шлем сообщения';     ComboBoxPlayer.ShowHint := TRUE;     ComboBoxPlayer.Text       := 'ComboBoxPlayer';     ComboBoxPlayer.Font.Name  := 'Tahoma';     ComboBoxPlayer.Font.Size  := 8;     ComboBoxPlayer.Font.Color := clWindowText;     ComboBoxPlayer.Color          := clWindow;     ComboBoxPlayer.TabOrder       := 5;     ComboBoxPlayer.TabStop        := TRUE;     ComboBoxPlayer.Sorted         := FALSE;     ComboBoxPlayer.ItemHeight     := 13;     ComboBoxPlayer.Items.ADD('NLObP');     ComboBoxPlayer.ItemIndex          := 0;     ComboBoxPlayer.OnClick     := @ComboBoxPlayer_Click;     //......................................  


delphi Код:
//Следим за РБ by NLObP для L2PacketHack v.3.1.9+ by Xkor //version 0.2 от 11.07.2008г. program spy; {******************************************************************************** Возможности скрипта: -------------------- 0.1 + Панель управления; + Посылает приватное сообщение игроку, когда увидит РБ; Проверялось на TheAbyss.ru x300(interlude) Скрипт распространяется как есть, и я не несу ответственности за то, что ВЫ натворили у себя, его используя. MyICQ 402988808 ********************************************************************************} //............................................ //Список констант const   Name='Teremok'; //Вписать сюда имя чара   //установить константу в зависимости от типа игры (С4 или Интерлюд)   interlude=true; //Interlude - true, C4 - false   //kID=1000000; //коэфф вычитаемый из NpcID C4  lagam.net   kID=1023000; //коэфф вычитаемый из NpcID C6 theAbyss.ru //............................................ //Список переменных var   PlayerID, PlayerOID:integer;   PlayerName, TmpName, _message : string;   NpcID,NpcOID:integer;   ready : boolean;   timer : TTimer;   FormMain : TForm; //Создаваемая форма   Splitter1, Splitter2 : TSplitter;   Stats, Msg : TMemo;   Panel1 : TPanel;   GroupBox2 : TGroupBox;   Label2, Label4, Label12, Label13 : TLabel;   CheckBoxNpc : TCheckBox;   ComboBoxNpc : TComboBox;   ButtonStart, ButtonStop : TButton;   CheckBoxPlayer : TCheckBox;   ComboBoxPlayer : TComboBox;   EditNpcID, EditPlayerID, EditPlayerOID, EditNpcOID : TEdit;   Label1,  Label3 : TLabel;   Edit1,  Edit2 : TEdit; //............................................ //************************************* //Обработчики событий для элементов управления на форме //...................................... //CheckBoxNpc procedure CheckBoxNpc_Click(Sender: TCheckBox); //Event : OnClick begin   if CheckBoxNpc.Checked   then begin     EditNpcID.text:=Inttostr(NpcID); //inttostr(sumNpc(NpcID));     ComboBoxNpc.Enabled:=false; //выключаем   end else begin     NpcID:=0;               //отмена     NpcOID:=0;     ComboBoxNpc.Enabled:=true//включаем     EditNpcOID.Text:='0';     EditNpcID.text:='0';   end; end; //...................................... //...................................... //ComboBoxNpc procedure ComboBoxNpc_Click(Sender: TComboBox); //Event : OnClick begin     NpcID:=ExtractIDValues(ComboBoxNpc.Items.Strings[ComboBoxNpc.ItemIndex]); end; //...................................... //...................................... //CheckBoxPlayer procedure CheckBoxPlayer_Click(Sender: TCheckBox); //Event : OnClick begin   if CheckBoxPlayer.Checked   then begin     PlayerName:=TmpName;     ComboBoxPlayer.Enabled:=false; //выключаем   end else begin     PlayerID:=0;               //отмена     PlayerOID:=0;     ComboBoxPlayer.Enabled:=true//включаем   end; end; //...................................... //...................................... //ComboBoxPlayer procedure ComboBoxPlayer_Click(Sender: TComboBox); //Event : OnClick begin     TmpName:=ComboBoxPlayer.Items.Strings[ComboBoxPlayer.ItemIndex];     EditPlayerID.text:=TmpName; end; //...................................... //...................................... //ButtonStart procedure ButtonStart_Click(Sender: TButton); //Event : OnClick begin   if CheckBoxPlayer.Checked and CheckBoxNpc.Checked   then begin     msg.Lines.Add('Команда Старт!!!');     ready:=true; //готовы к работе     timer.interval:=strtoint(edit1.text);     //для версии 3.1.9+ можно попробовать отключить клиента     //Варнинг! Опасно для жизни! =)     //buf:=#$7E;     //SendToClientEx(Name);     ButtonStop.Enabled  := TRUE;     ButtonStart.Enabled  := FALSE;   end else     msg.Lines.Add('Для работы скрипта выбери РБ и Игрока'); end; //...................................... //...................................... //ButtonStop procedure ButtonStop_Click(Sender: TButton); //Event : OnClick begin   msg.Lines.Add('Команда Стоп!!!');   timer.enabled:=false;   ready:=false;   ButtonStop.Enabled  := FALSE;   ButtonStart.Enabled  := TRUE; end; //...................................... //...................................... procedure Edit1_Exit(Sender: TEdit); //Event : OnExit begin //  MyHPID:=ExtractIDValues(ComboBoxHPotion.Npcs.Strings[ComboBoxHPotion.ItemIndex]); //  EditHPotionID.Text:=Inttostr(FindNpc(MyHPID)); //  EditHPotionOID.text:=inttostr(NpcBase2[1,1]); end; //...................................... //************************************* procedure Free_FormMain; //Освобождаем ресурсы ... begin   TRY     if FormMain<>NIL then begin        FormMain.Free;        FormMain:=NIL;     end;   FINALLY   END; end; //Free_FormMain //======================== //======================== function Create_FormMain : TForm; //Создаем форму и соотв. компоненты на ней ... Var   Yes : boolean; begin   Yes := FALSE;   Result := TForm.Create(nil);   TRY     //------------------------     //Свойства формы     Result.Caption     := 'Spy by NLObP v.0.2';     Result.Left        := 397;     Result.Top         := 233;     Result.Width       := 581;     Result.Height      := 205;     Result.FormStyle   := fsNormal;     Result.Position    := poDesigned;     Result.BorderStyle := bsSizeable;     Result.BorderWidth := 0;     Result.WindowState := wsNormal;     Result.Color       := clBtnFace;     Result.Font.Name   := 'Tahoma';     Result.Font.Size   := 8;     Result.Font.Color  := clWindowText;     Result.Font.CharSet:= 1;     //------------------------     //......................................     //Splitter1     Splitter1 := TSplitter.Create(Result);     Splitter1.Parent := Result;     Splitter1.Align := alBottom;     Splitter1.Color := clBtnFace;     Splitter1.Left    := 0;     Splitter1.Top     := 103;     Splitter1.Width   := 573;     Splitter1.Height  := 3;     Splitter1.Visible := TRUE;     Splitter1.Tag     := 0;     //......................................     //......................................     //Splitter2     Splitter2 := TSplitter.Create(Result);     Splitter2.Parent := Result;     Splitter2.Align := alRight;     Splitter2.Color := clBtnFace;     Splitter2.Left    := 442;     Splitter2.Top     := 0;     Splitter2.Width   := 1;     Splitter2.Height  := 103;     Splitter2.Visible := TRUE;     Splitter2.Tag     := 0;     //......................................     //......................................     //Stats     Stats := TMemo.Create(Result);     Stats.Parent := Result;     Stats.Left    := 443;     Stats.Top     := 0;     Stats.Width   := 130;     Stats.Height  := 103;     Stats.Visible := TRUE;     Stats.Tag     := 0;     Stats.Enabled  := TRUE;     Stats.Hint     := '';     Stats.ShowHint := FALSE;     Stats.Font.Name  := 'Tahoma';     Stats.Font.Size  := 8;     Stats.Font.Color := clWindowText;     Stats.Color         := clWindow;     Stats.TabOrder      := 0;     Stats.TabStop       := TRUE;     Stats.Align         := alRight;     Stats.WordWrap      := TRUE;     Stats.Alignment     := taLeftJustify;     Stats.WantTabs      := FALSE;     Stats.WantReturns   := TRUE;     Stats.HideSelection := TRUE;     Stats.MaxLength     := 0;     Stats.OEMConvert    := FALSE;     Stats.ReadOnly      := FALSE;     Stats.ScrollBars    := ssNone;     //......................................     //......................................     //Msg     Msg := TMemo.Create(Result);     Msg.Parent := Result;     Msg.Left    := 0;     Msg.Top     := 106;     Msg.Width   := 573;     Msg.Height  := 65;     Msg.Visible := TRUE;     Msg.Tag     := 0;     Msg.Enabled  := TRUE;     Msg.Hint     := '';     Msg.ShowHint := FALSE;     Msg.Font.Name  := 'Tahoma';     Msg.Font.Size  := 8;     Msg.Font.Color := clWindowText;     Msg.Color         := clWindow;     Msg.TabOrder      := 1;     Msg.TabStop       := TRUE;     Msg.Align         := alBottom;     Msg.WordWrap      := TRUE;     Msg.Alignment     := taLeftJustify;     Msg.WantTabs      := FALSE;     Msg.WantReturns   := TRUE;     Msg.HideSelection := TRUE;     Msg.MaxLength     := 0;     Msg.OEMConvert    := FALSE;     Msg.ReadOnly      := FALSE;     Msg.ScrollBars    := ssNone;     //......................................     //......................................     //Panel1     Panel1 := TPanel.Create(Result);     Panel1.Parent := Result;     Panel1.Left    := 0;     Panel1.Top     := 0;     Panel1.Width   := 442;     Panel1.Height  := 103;     Panel1.Visible := TRUE;     Panel1.Tag     := 0;     Panel1.Enabled  := TRUE;     Panel1.Hint     := '';     Panel1.ShowHint := FALSE;     Panel1.Caption    := '';     Panel1.Align      := alClient;     Panel1.Color      := clBtnFace;     Panel1.Font.Name  := 'Tahoma';     Panel1.Font.Size  := 8;     Panel1.Font.Color := clWindowText;     Panel1.Font.CharSet := 1;     Panel1.BevelWidth   := 1;     Panel1.BorderWidth  := 0;     Panel1.BevelInner   := bvNone;     Panel1.BevelOuter   := bvRaised;     Panel1.TabOrder     := 2;     Panel1.TabStop      := FALSE;     Panel1.AutoSize     := FALSE;     //......................................     //......................................     //GroupBox2     GroupBox2 := TGroupBox.Create(Result);     GroupBox2.Parent := Panel1;     GroupBox2.Left    := 1;     GroupBox2.Top     := 1;     GroupBox2.Width   := 440;     GroupBox2.Height  := 101;     GroupBox2.Visible := TRUE;     GroupBox2.Tag     := 0;     GroupBox2.Enabled  := TRUE;     GroupBox2.Hint     := '';     GroupBox2.ShowHint := FALSE;     GroupBox2.Caption    := 'Настройки';     GroupBox2.Align      := alClient;     GroupBox2.Color      := clBtnFace;     GroupBox2.Font.Name  := 'Tahoma';     GroupBox2.Font.Size  := 8;     GroupBox2.Font.Color := clWindowText;     GroupBox2.Font.CharSet := 1;     GroupBox2.TabOrder     := 0;     GroupBox2.TabStop      := FALSE;     //......................................     //......................................     //Label1     Label1 := TLabel.Create(Result);     Label1.Parent := GroupBox2;     Label1.Left    := 10;     Label1.Top     := 70;     Label1.Width   := 58;     Label1.Height  := 13;     Label1.Visible := TRUE;     Label1.Tag     := 0;     Label1.Enabled  := TRUE;     Label1.Hint     := '';     Label1.ShowHint := FALSE;     Label1.Caption     := 'Период посылки:';     Label1.Transparent := TRUE;     Label1.WordWrap    := FALSE;     Label1.Alignment   := taLeftJustify;     Label1.Layout      := tlTop;     Label1.AutoSize    := TRUE;     Label1.Align       := alNone;     Label1.Font.Name   := 'Tahoma';     Label1.Font.Size   := 8;     Label1.Font.Color  := clWindowText;     Label1.Color       := clBtnFace;     //...................................... {    //......................................     //Label1     Label3 := TLabel.Create(Result);     Label3.Parent := GroupBox2;     Label3.Left    := 170;     Label3.Top     := 70;     Label3.Width   := 58;     Label3.Height  := 13;     Label3.Visible := TRUE;     Label3.Tag     := 0;     Label3.Enabled  := TRUE;     Label3.Hint     := '';     Label3.ShowHint := FALSE;     Label3.Caption     := 'Мин.:';     Label3.Transparent := TRUE;     Label3.WordWrap    := FALSE;     Label3.Alignment   := taLeftJustify;     Label3.Layout      := tlTop;     Label3.AutoSize    := TRUE;     Label3.Align       := alNone;     Label3.Font.Name   := 'Tahoma';     Label3.Font.Size   := 8;     Label3.Font.Color  := clWindowText;     Label3.Color       := clBtnFace;     //......................................}     //......................................     //Edit1     Edit1 := TEdit.Create(Result);     Edit1.Parent := GroupBox2;     Edit1.Left    := 99;     Edit1.Top     := 67;     Edit1.Width   := 60;     Edit1.Height  := 21;     Edit1.Visible := TRUE;     Edit1.Tag     := 0;     Edit1.Enabled  := TRUE;     Edit1.Hint     := 'Введи период посылки сообщения в мс';     Edit1.ShowHint := TRUE;     Edit1.Text       := '5000';     Edit1.Font.Name  := 'Tahoma';     Edit1.Font.Size  := 8;     Edit1.Font.Color := clWindowText;     Edit1.Color        := clWindow;     Edit1.TabOrder     := 5;     Edit1.TabStop      := TRUE;     Edit1.ReadOnly     := FALSE;     Edit1.MaxLength    := 0;     Edit1.AutoSize     := TRUE;     Edit1.OnExit     := @Edit1_Exit;     //...................................... {    //......................................     //Edit2     Edit2 := TEdit.Create(Result);     Edit2.Parent := GroupBox2;     Edit2.Left    := 199;     Edit2.Top     := 67;     Edit2.Width   := 60;     Edit2.Height  := 21;     Edit2.Visible := TRUE;     Edit2.Tag     := 0;     Edit2.Enabled  := TRUE;     Edit2.Hint     := 'Какого уровня смогли достичь';     Edit2.ShowHint := TRUE;     Edit2.Text       := '0';     Edit2.Font.Name  := 'Tahoma';     Edit2.Font.Size  := 8;     Edit2.Font.Color := clWindowText;     Edit2.Color        := clWindow;     Edit2.TabOrder     := 5;     Edit2.TabStop      := FALSE;     Edit2.ReadOnly     := TRUE;     Edit2.MaxLength    := 0;     Edit2.AutoSize     := TRUE;     //......................................}     //......................................     //Label2     Label2 := TLabel.Create(Result);     Label2.Parent := GroupBox2;     Label2.Left    := 416;     Label2.Top     := 19;     Label2.Width   := 18;     Label2.Height  := 13;     Label2.Visible := TRUE;     Label2.Tag     := 0;     Label2.Enabled  := TRUE;     Label2.Hint     := '';     Label2.ShowHint := FALSE;     Label2.Caption     := '';     Label2.Transparent := TRUE;     Label2.WordWrap    := FALSE;     Label2.Alignment   := taLeftJustify;     Label2.Layout      := tlTop;     Label2.AutoSize    := TRUE;     Label2.Align       := alNone;     Label2.Font.Name   := 'Tahoma';     Label2.Font.Size   := 8;     Label2.Font.Color  := clWindowText;     Label2.Color       := clBtnFace;     //......................................     //......................................     //Label4     Label4 := TLabel.Create(Result);     Label4.Parent := GroupBox2;     Label4.Left    := 416;     Label4.Top     := 43;     Label4.Width   := 18;     Label4.Height  := 13;     Label4.Visible := TRUE;     Label4.Tag     := 0;     Label4.Enabled  := TRUE;     Label4.Hint     := '';     Label4.ShowHint := FALSE;     Label4.Caption     := '';     Label4.Transparent := TRUE;     Label4.WordWrap    := FALSE;     Label4.Alignment   := taLeftJustify;     Label4.Layout      := tlTop;     Label4.AutoSize    := TRUE;     Label4.Align       := alNone;     Label4.Font.Name   := 'Tahoma';     Label4.Font.Size   := 8;     Label4.Font.Color  := clWindowText;     Label4.Color       := clBtnFace;     //......................................     //......................................     //Label12     Label12 := TLabel.Create(Result);     Label12.Parent := GroupBox2;     Label12.Left    := 273;     Label12.Top     := 3;     Label12.Width   := 33;     Label12.Height  := 13;     Label12.Visible := TRUE;     Label12.Tag     := 0;     Label12.Enabled  := TRUE;     Label12.Hint     := '';     Label12.ShowHint := FALSE;     Label12.Caption     := 'NpcOID';     Label12.Transparent := TRUE;     Label12.WordWrap    := FALSE;     Label12.Alignment   := taLeftJustify;     Label12.Layout      := tlTop;     Label12.AutoSize    := TRUE;     Label12.Align       := alNone;     Label12.Font.Name   := 'Tahoma';     Label12.Font.Size   := 8;     Label12.Font.Color  := clWindowText;     Label12.Color       := clBtnFace;     //......................................     //......................................     //Label13     Label13 := TLabel.Create(Result);     Label13.Parent := GroupBox2;     Label13.Left    := 349;     Label13.Top     := 3;     Label13.Width   := 35;     Label13.Height  := 13;     Label13.Visible := TRUE;     Label13.Tag     := 0;     Label13.Enabled  := TRUE;     Label13.Hint     := '';     Label13.ShowHint := FALSE;     Label13.Caption     := 'NpcID';     Label13.Transparent := TRUE;     Label13.WordWrap    := FALSE;     Label13.Alignment   := taLeftJustify;     Label13.Layout      := tlTop;     Label13.AutoSize    := TRUE;     Label13.Align       := alNone;     Label13.Font.Name   := 'Tahoma';     Label13.Font.Size   := 8;     Label13.Font.Color  := clWindowText;     Label13.Color       := clBtnFace;     //......................................     //......................................     //CheckBoxNpc     CheckBoxNpc := TCheckBox.Create(Result);     CheckBoxNpc.Parent := GroupBox2;     CheckBoxNpc.Left    := 18;     CheckBoxNpc.Top     := 18;     CheckBoxNpc.Width   := 66;     CheckBoxNpc.Height  := 17;     CheckBoxNpc.Visible := TRUE;     CheckBoxNpc.Tag     := 0;     CheckBoxNpc.Enabled  := TRUE;     CheckBoxNpc.Hint     := 'Поставить галочку если выбрал за кем следить';     CheckBoxNpc.ShowHint := TRUE;     CheckBoxNpc.Caption    := 'Рейд Босс';     CheckBoxNpc.Font.Name  := 'Tahoma';     CheckBoxNpc.Font.Size  := 8;     CheckBoxNpc.Font.Color := clWindowText;     CheckBoxNpc.Color       := clBtnFace;     CheckBoxNpc.TabOrder    := 0;     CheckBoxNpc.TabStop     := TRUE;     CheckBoxNpc.Checked     := FALSE;     CheckBoxNpc.AllowGrayed := FALSE;     CheckBoxNpc.State       := cbUnchecked;     CheckBoxNpc.OnClick     := @CheckBoxNpc_Click;     //......................................     //......................................     //ComboBoxNpc     ComboBoxNpc := TComboBox.Create(Result);     ComboBoxNpc.Parent := GroupBox2;     ComboBoxNpc.Left    := 90;     ComboBoxNpc.Top     := 16;     ComboBoxNpc.Width   := 169;     ComboBoxNpc.Height  := 21;     ComboBoxNpc.Visible := TRUE;     ComboBoxNpc.Tag     := 0;     ComboBoxNpc.Enabled  := TRUE;     ComboBoxNpc.Hint     := 'Выбери из списка Рейд Босса';     ComboBoxNpc.ShowHint := TRUE;     ComboBoxNpc.Text       := 'ComboBoxNpc';     ComboBoxNpc.Font.Name  := 'Tahoma';     ComboBoxNpc.Font.Size  := 8;     ComboBoxNpc.Font.Color := clWindowText;     ComboBoxNpc.Color      := clWindow;     ComboBoxNpc.TabOrder   := 1;     ComboBoxNpc.TabStop    := TRUE;     ComboBoxNpc.Sorted     := FALSE;     ComboBoxNpc.ItemHeight  := 13;     ComboBoxNpc.Items.ADD('25035=Shilens Messenger Cabrio (Raid Boss)');     ComboBoxNpc.Items.ADD('29019=Antharas');     ComboBoxNpc.Items.ADD('29020=Baium (когда он в камне)');     ComboBoxNpc.Items.ADD('29025=Baium (когда он моб)');     ComboBoxNpc.Items.ADD('29001=Queen Ant');     ComboBoxNpc.Items.ADD('25220=Death Lord Hallate (Raid Boss)');     ComboBoxNpc.Items.ADD('25054=Kernon (Raid Boss )');     ComboBoxNpc.Items.ADD('25126=Longhorn Golkonda (Raid Boss)');     //test     ComboBoxNpc.Items.ADD('8573=Monakan Fishermens Guild Member');     ComboBoxNpc.ItemIndex  := 0;     ComboBoxNpc.OnClick     := @ComboBoxNpc_Click;     //......................................     //......................................     //ButtonStart     ButtonStart := TButton.Create(Result);     ButtonStart.Parent := GroupBox2;     ButtonStart.Left    := 263;     ButtonStart.Top     := 67;     ButtonStart.Width   := 75;     ButtonStart.Height  := 25;     ButtonStart.Visible := TRUE;     ButtonStart.Tag     := 0;     ButtonStart.Enabled  := TRUE;     ButtonStart.Hint     := '';     ButtonStart.ShowHint := FALSE;     ButtonStart.Caption    := 'Start';     ButtonStart.Font.Name  := 'Tahoma';     ButtonStart.Font.Size  := 8;     ButtonStart.Font.Color := clWindowText;     ButtonStart.Font.CharSet := 1;     ButtonStart.TabOrder     := 2;     ButtonStart.TabStop      := TRUE;     ButtonStart.Cancel       := FALSE;     ButtonStart.ModalResult  := 0;     ButtonStart.OnClick     := @ButtonStart_Click;     //......................................     //......................................     //ButtonStop     ButtonStop := TButton.Create(Result);     ButtonStop.Parent := GroupBox2;     ButtonStop.Left    := 339;     ButtonStop.Top     := 67;     ButtonStop.Width   := 75;     ButtonStop.Height  := 25;     ButtonStop.Visible := TRUE;     ButtonStop.Tag     := 0;     ButtonStop.Enabled  := FALSE;     ButtonStop.Hint     := '';     ButtonStop.ShowHint := FALSE;     ButtonStop.Caption    := 'Stop';     ButtonStop.Font.Name  := 'Tahoma';     ButtonStop.Font.Size  := 8;     ButtonStop.Font.Color := clWindowText;     ButtonStop.Font.CharSet := 1;     ButtonStop.TabOrder     := 3;     ButtonStop.TabStop      := TRUE;     ButtonStop.Cancel       := FALSE;     ButtonStop.ModalResult  := 0;     ButtonStop.OnClick     := @ButtonStop_Click;     //......................................     //......................................     //CheckBoxPlayer     CheckBoxPlayer := TCheckBox.Create(Result);     CheckBoxPlayer.Parent := GroupBox2;     CheckBoxPlayer.Left    := 18;     CheckBoxPlayer.Top     := 41;     CheckBoxPlayer.Width   := 66;     CheckBoxPlayer.Height  := 23;     CheckBoxPlayer.Visible := TRUE;     CheckBoxPlayer.Tag     := 0;     CheckBoxPlayer.Enabled  := TRUE;     CheckBoxPlayer.Hint     := 'Поставить галочку если выбрал кому посылать сообщение';     CheckBoxPlayer.ShowHint := TRUE;     CheckBoxPlayer.Caption    := 'Игрок';     CheckBoxPlayer.Font.Name  := 'Tahoma';     CheckBoxPlayer.Font.Size  := 8;     CheckBoxPlayer.Font.Color := clWindowText;     CheckBoxPlayer.Color       := clBtnFace;     CheckBoxPlayer.TabOrder    := 4;     CheckBoxPlayer.TabStop     := TRUE;     CheckBoxPlayer.Checked     := FALSE;     CheckBoxPlayer.AllowGrayed := FALSE;     CheckBoxPlayer.State       := cbUnchecked;     CheckBoxPlayer.OnClick     := @CheckBoxPlayer_Click;     //......................................     //......................................     //ComboBoxPlayer     ComboBoxPlayer := TComboBox.Create(Result);     ComboBoxPlayer.Parent := GroupBox2;     ComboBoxPlayer.Left    := 90;     ComboBoxPlayer.Top     := 40;     ComboBoxPlayer.Width   := 169;     ComboBoxPlayer.Height  := 21;     ComboBoxPlayer.Visible := TRUE;     ComboBoxPlayer.Tag     := 0;     ComboBoxPlayer.Enabled  := TRUE;     ComboBoxPlayer.Hint     := 'Выбери из списка имя игрока, которому шлем сообщения';     ComboBoxPlayer.ShowHint := TRUE;     ComboBoxPlayer.Text       := 'ComboBoxPlayer';     ComboBoxPlayer.Font.Name  := 'Tahoma';     ComboBoxPlayer.Font.Size  := 8;     ComboBoxPlayer.Font.Color := clWindowText;     ComboBoxPlayer.Color          := clWindow;     ComboBoxPlayer.TabOrder       := 5;     ComboBoxPlayer.TabStop        := TRUE;     ComboBoxPlayer.Sorted         := FALSE;     ComboBoxPlayer.ItemHeight     := 13;     ComboBoxPlayer.Items.ADD('NLObP');     ComboBoxPlayer.Items.ADD('Teremok');     ComboBoxPlayer.ItemIndex          := 0;     ComboBoxPlayer.OnClick     := @ComboBoxPlayer_Click;     //......................................     //......................................     //EditNpcID     EditNpcID := TEdit.Create(Result);     EditNpcID.Parent := GroupBox2;     EditNpcID.Left    := 341;     EditNpcID.Top     := 16;     EditNpcID.Width   := 72;     EditNpcID.Height  := 21;     EditNpcID.Visible := TRUE;     EditNpcID.Tag     := 0;     EditNpcID.Enabled  := TRUE;     EditNpcID.Hint     := '';     EditNpcID.ShowHint := FALSE;     EditNpcID.Text       := '0';     EditNpcID.Font.Name  := 'Tahoma';     EditNpcID.Font.Size  := 8;     EditNpcID.Font.Color := clWindowText;     EditNpcID.Color        := clWindow;     EditNpcID.TabOrder     := 6;     EditNpcID.TabStop      := TRUE;     EditNpcID.ReadOnly     := TRUE;     EditNpcID.MaxLength    := 0;     EditNpcID.AutoSize     := TRUE;     //......................................     //......................................     //EditPlayerID     EditPlayerID := TEdit.Create(Result);     EditPlayerID.Parent := GroupBox2;     EditPlayerID.Left    := 341;     EditPlayerID.Top     := 40;     EditPlayerID.Width   := 72;     EditPlayerID.Height  := 21;     EditPlayerID.Visible := TRUE;     EditPlayerID.Tag     := 0;     EditPlayerID.Enabled  := TRUE;     EditPlayerID.Hint     := '';     EditPlayerID.ShowHint := FALSE;     EditPlayerID.Text       := '0';     EditPlayerID.Font.Name  := 'Tahoma';     EditPlayerID.Font.Size  := 8;     EditPlayerID.Font.Color := clWindowText;     EditPlayerID.Color        := clWindow;     EditPlayerID.TabOrder     := 7;     EditPlayerID.TabStop      := TRUE;     EditPlayerID.ReadOnly     := TRUE;     EditPlayerID.MaxLength    := 0;     EditPlayerID.AutoSize     := TRUE;     //......................................     //......................................     //EditPlayerOID     EditPlayerOID := TEdit.Create(Result);     EditPlayerOID.Parent := GroupBox2;     EditPlayerOID.Left    := 263;     EditPlayerOID.Top     := 40;     EditPlayerOID.Width   := 72;     EditPlayerOID.Height  := 21;     EditPlayerOID.Visible := TRUE;     EditPlayerOID.Tag     := 0;     EditPlayerOID.Enabled  := TRUE;     EditPlayerOID.Hint     := '';     EditPlayerOID.ShowHint := FALSE;     EditPlayerOID.Text       := '0';     EditPlayerOID.Font.Name  := 'Tahoma';     EditPlayerOID.Font.Size  := 8;     EditPlayerOID.Font.Color := clWindowText;     EditPlayerOID.Color        := clWindow;     EditPlayerOID.TabOrder     := 8;     EditPlayerOID.TabStop      := TRUE;     EditPlayerOID.ReadOnly     := TRUE;     EditPlayerOID.MaxLength    := 0;     EditPlayerOID.AutoSize     := TRUE;     //......................................     //......................................     //EditNpcOID     EditNpcOID := TEdit.Create(Result);     EditNpcOID.Parent := GroupBox2;     EditNpcOID.Left    := 264;     EditNpcOID.Top     := 16;     EditNpcOID.Width   := 72;     EditNpcOID.Height  := 21;     EditNpcOID.Visible := TRUE;     EditNpcOID.Tag     := 0;     EditNpcOID.Enabled  := TRUE;     EditNpcOID.Hint     := '';     EditNpcOID.ShowHint := FALSE;     EditNpcOID.Text       := '0';     EditNpcOID.Font.Name  := 'Tahoma';     EditNpcOID.Font.Size  := 8;     EditNpcOID.Font.Color := clWindowText;     EditNpcOID.Color        := clWindow;     EditNpcOID.TabOrder     := 9;     EditNpcOID.TabStop      := TRUE;     EditNpcOID.ReadOnly     := TRUE;     EditNpcOID.MaxLength    := 0;     EditNpcOID.AutoSize     := TRUE;     //......................................     Yes := TRUE;   FINALLY     if not Yes then begin        //Освобождаем ресурсы, если неудачно ...        if Result<>NIL then begin           Result.Free;           Result:=NIL;        end;     end;   END;   msg.Lines.Add('...');   Stats.Lines.Add('Запускаем окно с чаром или бота. Он следит за нужной целью и как только он увидит цель (пакет NpcInfo) начинает спамить в пм определённому чару, с определённым помежутком времени');   Result.Show; end; //Create_FormMain //======================== //======================== procedure Init; //Вызывается при включении скрипта var   i:integer; begin   FormMain:=Create_FormMain;   timer:=TTimer.Create(nil);   timer.OnTimer:=@OnTimer;   timer.enabled:=false;   timer.interval:=10000; //время задержки   ready:=false; end; //...................................... //****************************************************************************** procedure Free; //Вызывается при выключении скрипта begin //  NpcBase:=nil; //нельзя так делать с массивом   timer.Free;   //достаточно освободить форму   Free_FormMain; end; //...................................... //*************************************************************** //только для Пакетхак v.3.1.9+ procedure OnConnect(WithClient: Boolean); //Вызывается при установке соединения begin   NoFreeOnClientDisconnect;   NoFreeOnServerDisconnect; end; //...................................... //****************************************************************************** //38=Say2:s(Text)d(Type)s(Target) procedure Say2(msg:string); begin   buf:=#$38;   WriteS(msg);   WriteD(2);   WriteS(PlayerName);   SendToServerEx(Name); end; //...................................... //*************************************************************** function ExtractIDValues(sData: string): integer; var   s: string;   i,j: integer; begin   i:=0;   s:=sData;   i:=pos('=',s);   if i>=0 then     s:=copy(s,1,i-1);   try     result:=strtoint(s);   except     result:=0;   end; end; //............................................ //****************************************************************************** procedure OnTimer(Sender: TObject); begin   msg.Lines.Add('Шлём сообщение PlayerName='+PlayerName);   //msg.Lines.Add(_message);   say2(_message); end; //...................................... //****************************************************************************** // вызывается при приходе каждого пакета, если скрипт включен //****************************************************************************** begin   //****************************************************************************   //не обрабатываем пустые пакеты   if pck='' then exit;   //......................................   //****************************************************************************   if FromServer and ready then //если готовы то проверяем   case pck[1] of       //***************************************************************       //пакет Die (моб умер)       //06=Die:h(CharID)d(d)d(HAsHideout)d(HasCastle)d(flags)d(sweepable)d(access)       #$06: begin          msg.Lines.Add('S>Пакет Die #$06 ObjectID='+IntToStr(ReadD(2)));          if (NpcOID=ReadD(2)) then begin             msg.Lines.Add('Убили моба ObjectID='+IntToStr(NpcOID)+' в '+TimeToStr(time));             _message:='Убили '+ComboBoxNpc.Items.Strings[ComboBoxNpc.ItemIndex]+' в '+TimeToStr(time);          end;       end;       //***************************************************************       //12=DeleteObject:d(ObjectID)d(d)       #$12: begin         msg.Lines.Add('S>C $12 DeleteObject '+inttostr(ReadD(2)));         if (NpcOID=ReadD(2)) then begin           msg.Lines.Add('Пропал ожидаемый моб ObjectID='+IntToStr(NpcOID)+' в '+TimeToStr(time));           _message:='Пропал '+ComboBoxNpc.Items.Strings[ComboBoxNpc.ItemIndex]+' в '+TimeToStr(time);         end;       end;       //***************************************************************       //16=NpcInfo:d(ObjectID)d(NpcTypeID)d(IsAttackable)d(X)d(Y)d(Z)d(Heading)       //d(d)d(Maspd)d(Paspd)d(runSpd)d(walkSpd)d(swimRSpd)d(swimWSpd)d(flRSpd)       //d(flWSpd)d(FlyRSpd)d(FlyWSpd)f(ProperMul)f(Paspd)f(CollisRadius)       //f(CollisHeight)d(RHand)d(d)d(LHand)b(nameabove)b(isRun)b(isInFight)       //b(isAlikeDead)b(isSummoned)s(Name)s(Title)d(d)d(d)d(karma)d(abnEffect)       //d(d)d(d)d(d)d(d)b(c)b(Team)f(collisRadius)f(collisHeight)d(d)       #$16: begin         msg.Lines.Add('S>Пакет NpcInfo #$16 NpcOID='+inttostr(ReadD(2))+' NpcID='+inttostr(ReadD(6)));         if (NpcID=ReadD(6)-kID) then begin           NpcOID:=ReadD(2);           EditNpcOID.text:=inttostr(NpcOID);           timer.enabled:=true;           msg.Lines.Add('Появился ожидаемый моб NpcID='+IntToStr(NpcID)+' в '+TimeToStr(time));           _message:='Появился '+ComboBoxNpc.Items.Strings[ComboBoxNpc.ItemIndex]+' в '+TimeToStr(time);         end;       end;   end; end.

Последний раз редактировалось NLObP, 11.07.2008 в 12:48.
NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился 6 спасибками от:
Старый 11.07.2008, 12:27   #4
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от Miler Посмотреть сообщение
Протестил, что-то у меня не работает. ИД брал из npcname-e.dat . тестил на мобе 20670=Crimson Drake и ещё несколько. Пакеты нпс инфо идут, а в пм нечего не пишеться.
kID=1023000; //коэфф вычитаемый из NpcID C6 theAbyss.ru
Коэффициент соответствует твоему серверу? Посмотри в NpcInfo какие ID стоят. Лучше всего проверять где есть 1-2 NPC, тогда можно точно коэффициент найти.
Чтобы слал в ПМ надо старт нажать.

Заменил скрипт, теперь при отлове NpcInfo будет показывать NpcID.

Последний раз редактировалось NLObP, 11.07.2008 в 12:49.
NLObP вне форума   Ответить с цитированием
Старый 11.07.2008, 18:46   #5
Новичок
 
Регистрация: 15.04.2008
Сообщений: 20
Сказал Спасибо: 4
Имеет 0 спасибок в 0 сообщенях
Miler пока неопределено
По умолчанию

Приходит несколько пакетов
S>Пакет NpcInfo #$16 NpcOID=1221649889 NpcID=1020670
S>Пакет NpcInfo #$16 NpcOID=1222677125 NpcID=1020668
S>Пакет NpcInfo #$16 NpcOID=1218485145 NpcID=1020674
S>Пакет NpcInfo #$16 NpcOID=1221650090 NpcID=1020669
S>Пакет NpcInfo #$16 NpcOID=1222685839 NpcID=1021000
Как расчитываеться kID из них?
Miler вне форума   Ответить с цитированием
Старый 11.07.2008, 19:32   #6
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от Miler Посмотреть сообщение
NpcID=1020670
Это, если отнять 1000000, будет 20670.

Запускаешь скрипт. Выходишь в место, где 1-2 NPC. Имена их знаешь. Берешь их NpcID и вычисляешь.

NpcID (от сервера) - коэфф. = NpcID который должен быть у тех 1-2 NPC которых видишь рядом.

Последний раз редактировалось NLObP, 11.07.2008 в 19:53.
NLObP вне форума   Ответить с цитированием
Старый 11.07.2008, 20:00   #7
Новичок
 
Регистрация: 15.04.2008
Сообщений: 20
Сказал Спасибо: 4
Имеет 0 спасибок в 0 сообщенях
Miler пока неопределено
По умолчанию

Я всё настроил просто пара вещей наясна была. Как я понял из строки NpcID мы вычетаем ID и остаток и есть KID (до меня просто не дошло). Терь всё пашет на все 100%, офигенная вещь получилась спс. А как подправить, чтобы отправляло в пм нескольким людят сразу поочереди?
Miler вне форума   Ответить с цитированием
Старый 11.07.2008, 20:10   #8
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от Miler Посмотреть сообщение
Я всё настроил просто пара вещей наясна была. Как я понял из строки NpcID мы вычетаем ID и остаток и есть KID (до меня просто не дошло). Терь всё пашет на все 100%, офигенная вещь получилась спс. А как подправить, чтобы отправляло в пм нескольким людят сразу поочереди?
Да имено так. Главное знать настоящий NpcID.

Можно Say2 исправить, и заранее руками в скрипте прописать кому слать.
В инит пропиши

Код:
PlayerName:='012';
PlayerName1:='123';
PlayerName2:='234';
PlayerName3:='345';
а процедуру так исправь
Код:
procedure Say2(msg:string);
begin
  buf:=#$38;
  WriteS(msg);
  WriteD(2);
  WriteS(PlayerName);
  SendToServerEx(Name);
  buf:=#$38;
  WriteS(msg);
  WriteD(2);
  WriteS(PlayerName2);
  SendToServerEx(Name);
  buf:=#$38;
  WriteS(msg);
  WriteD(2);
  WriteS(PlayerName3);
  SendToServerEx(Name);
end;
С панельки гиморно добавлять. Это еще комбобоксы добавить надо. Может и из одного можно несколько, я не знаю.

ЗЫЖ проверок только нет, что игрок введен, не проколись. Переменная PlayerName обязательно должна быть инициализирована!

Последний раз редактировалось NLObP, 11.07.2008 в 20:14.
NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился спасибкой от:
Старый 12.07.2008, 06:52   #9
Новичок
 
Регистрация: 15.04.2008
Сообщений: 20
Сказал Спасибо: 4
Имеет 0 спасибок в 0 сообщенях
Miler пока неопределено
По умолчанию

Сегодня ночью тестил на Shilens Messenger Cabrio. Всё обалденно сработало!! Когда рейд появился он начал спамить, что он тут, када его увели написало что пропал, ну и када мы его завалили написало в чат что рейд труп) Для тех кто будет юзать советую зделать так:
Запускаете скрипт на чара и пусть он шлёт сообщения на бота, а в боте поставьте, чтобы када ему пишут в пм он издавал сигнал.
Miler вне форума   Ответить с цитированием
Старый 13.07.2008, 02:04   #10
Новичок
 
Регистрация: 15.04.2008
Сообщений: 20
Сказал Спасибо: 4
Имеет 0 спасибок в 0 сообщенях
Miler пока неопределено
По умолчанию

Тут другое. Нафига колоть баюма, надо его фармить) А скрипт универсален для любого моба (рейда). Тоесть очень легко паляться антквин, рейды на нублеса и другие. Не приходиться тупо альтабться сматреть када где рейд появился. И очень удобно что пишет время када он появился и када он умер. ТОесть если тя даже небыло на нём ты легко можеш посчитать когда рейд будет в следующий раз.мне от так пишет:
18:50:06 Gnum : Появился 20674=Doom Knight в 18:50:06
18:50:08 Gnum : Появился 20674=Doom Knight в 18:50:07
18:50:10 Gnum : Убили 20674=Doom Knight в 18:50:10
Для проверки на них тестил.

Добавлено через 12 минут
Возникла загвоздка. В тои на 3 или других этажах када врубаеш скрип он начинает с бешенной скоростью получать пакеты.
S>Пакет NpcInfo
Наверно это из за того что он и на соседних этажах захватывает мобов. И пакетхак начинает жрать кучю оперативы. Спустя 10 мин он есть 40%
цп и чем дальше тем хуже. У кого есть какие идеи решения проблемы?

Последний раз редактировалось Miler, 13.07.2008 в 02:04. Причина: Добавлено сообщение
Miler вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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