Сброник полезных скриптов

Модератор: IvaniuS

Аватара пользователя
IvaniuS
Администратор
Сообщения: 1372
Зарегистрирован: Пн янв 12, 2015 10:58 am
Контактная информация:

Вт мар 31, 2015 10:29 am


Мой Сайт, Тут есть все скрипты: 1-85, Заточка, Аугмент и много чего другого
skype: live:ivanius51
вопросы по СКРИПТАМ, не программированию - БЕСПЛАТНО!

Аватара пользователя
IvaniuS
Администратор
Сообщения: 1372
Зарегистрирован: Пн янв 12, 2015 10:58 am
Контактная информация:

Вт мар 31, 2015 10:38 am

Код: Выделить всё

var 
  str1, str2, str3: string; 
  P: Integer; 
begin 
      str1 := '[email protected]'; // Наш пример email адреса 
      str2 := '@'; // До этого символа мы будем потом вырезать логин 
      P := Pos(str2, str1) - 1; // Узнали длину строки от начала до символа '@'. В нашем примере это будет 11 
      str3 := Copy(str1, 0, P); // Теперь в переменной str3 хранится наш логин без '@mail.ru' 
      print(str3); // Выводим результат 
end.  
Еще 1 хороший пример:
DevolaR писал(а):

Код: Выделить всё

var InpStr, TxtOut :string; //объявление строковых переменных
var TxtPoint :integer; //объявление Числа
Begin

while true do begin //начало цикла
  InpStr:=engine.dlgtext; //закидываем текст окна в строковую переменную
  TxtPoint:=Pos('L>999', InpStr); //находим позицию необходимого для отправки куска
  TxtOut:=('00 '+Copy(InpStr, TxtPoint+2, 5)); //формируем строку ответа
  if copy(TxtOut, 4, 1)='9' then
    begin
    Engine.BypassToServer(TxtOut); //отправка результата
    end else print('no antibot now'); // необязательный вывод в лог
Delay(15000); //задержка
end;
end.
тема http://forum.lineage2bot.net/viewtopic. ... lit=bypass

Мой Сайт, Тут есть все скрипты: 1-85, Заточка, Аугмент и много чего другого
skype: live:ivanius51
вопросы по СКРИПТАМ, не программированию - БЕСПЛАТНО!

Аватара пользователя
IvaniuS
Администратор
Сообщения: 1372
Зарегистрирован: Пн янв 12, 2015 10:58 am
Контактная информация:

Вт мар 31, 2015 10:44 am

Код: Выделить всё

function MobsAttacking : Boolean;//Атакуют ли нас мобы?
 var i, n: Integer;
 begin
   n := 0;
    for i := 0 to NpcList.Count - 1 do
      if (NpcList.Items(i).Target = User) and not NpcList.Items(i).Dead then inc(n);
   Result := n > 0;
 end;

function inDanger: boolean;//Есть ли рядом с нами паравоз : работает только на 50%!!!!!
var mobsInTrain,minMobs,i,j: integer;
begin
Result := false;
minMobs := 3;//кол-во мобов
    for i:=0 to charlist.count-1 do begin
        mobsInTrain := 0;
        if (user.distto(charlist.items(i)) < 3000) and charlist.items(i).moved then begin //close, runing
            for j:=0 to npclist.count-1 do begin
                if (npclist.items(j).target = charlist.items(i)) and (charlist.items(i).distto(npclist.items(j)) < 1500) then inc(mobsInTrain);
                if (mobsInTrain >= minMobs) then begin
                    Result := true;
                    exit;
                end;
            end;
        end;
    end;
end;

Мой Сайт, Тут есть все скрипты: 1-85, Заточка, Аугмент и много чего другого
skype: live:ivanius51
вопросы по СКРИПТАМ, не программированию - БЕСПЛАТНО!

Аватара пользователя
IvaniuS
Администратор
Сообщения: 1372
Зарегистрирован: Пн янв 12, 2015 10:58 am
Контактная информация:

Вт мар 31, 2015 10:49 am

Код: Выделить всё

function CheckDeath: Boolean;//Проверка на смерть
begin
  Result:=false;
    if User.Dead then //умерли
    begin
        Result:=true;
        Print('Bot Umer');//печатаем в лог
        Delay(1000);
        Engine.FaceControl(0,false);//выключаем бота
        Engine.GoHome;//встаем в город
        Delay(10000);//отдыхаем
    end;
end;

Мой Сайт, Тут есть все скрипты: 1-85, Заточка, Аугмент и много чего другого
skype: live:ivanius51
вопросы по СКРИПТАМ, не программированию - БЕСПЛАТНО!

Аватара пользователя
IvaniuS
Администратор
Сообщения: 1372
Зарегистрирован: Пн янв 12, 2015 10:58 am
Контактная информация:

Вт мар 31, 2015 10:55 am

Код: Выделить всё

begin
  while delay(500) do 
	begin
		Engine.ConfirmDialog(false);  // отказ  true согласие
		//Также именно ЭТА команда отвечает за принятие\отказ (респа,трейда и т.д. не только ивенты)
    delay(10000);
  end;
end.
Evilvaet писал(а): советую отказ,так как согласие будет регать на все ивенты

Мой Сайт, Тут есть все скрипты: 1-85, Заточка, Аугмент и много чего другого
skype: live:ivanius51
вопросы по СКРИПТАМ, не программированию - БЕСПЛАТНО!

Аватара пользователя
IvaniuS
Администратор
Сообщения: 1372
Зарегистрирован: Пн янв 12, 2015 10:58 am
Контактная информация:

Вт мар 31, 2015 11:59 am

Evilvaet писал(а):Если адены больше 250 000 то шлем почту

Код: Выделить всё

if inventory.User.ByID(57, Item) and (Item.count > 250000) then
begin
Engine.SendMail('Ник', 'тема', 'комент',[id,кол-во,id,кол-во,id,кол-во,id,кол-во,id,кол-во,id,кол-во]); 
delay(1000);
end;  

Мой Сайт, Тут есть все скрипты: 1-85, Заточка, Аугмент и много чего другого
skype: live:ivanius51
вопросы по СКРИПТАМ, не программированию - БЕСПЛАТНО!

Аватара пользователя
IvaniuS
Администратор
Сообщения: 1372
Зарегистрирован: Пн янв 12, 2015 10:58 am
Контактная информация:

Вт мар 31, 2015 12:13 pm

Код: Выделить всё

uses Classes, TCP;
var
  Head: TStringList;
  Socket: TTCPBlockSocket;
  i: integer;

procedure OnFree;
begin
  Head.Free;
  Socket.Free;
end;
  
begin
  Head := TStringList.Create;
  Head.Add('GET / HTTP/1.1');            //Создаем запрос, который пошлем серверу
  Head.Add('Accept: */*');
  Head.Add('Accept-Encoding: gzip, deflate');
  Head.Add('Host: http://www.google.ru');
  Head.Add('Connection: Keep-Alive');
  Head.Add(#10#13);

  Socket := TTCPBlockSocket.Create;      //Создаем сокет
  Socket.connect('173.194.71.94', '80'); //конектим к google
  if Socket.LastError <> 0 then exit;    //Если произошла ошибка, выходим
  Socket.SendString(Head.text);          //Отправляем наши данные

  Head.Clear;
  Head.DelimitedText := Socket.RecvString(5000); //Получаем ответ
  for i := 0 to Head.Count-1 do          //Показываем ответ 
    print(Head.Strings[i]);
end.

Мой Сайт, Тут есть все скрипты: 1-85, Заточка, Аугмент и много чего другого
skype: live:ivanius51
вопросы по СКРИПТАМ, не программированию - БЕСПЛАТНО!

Аватара пользователя
IvaniuS
Администратор
Сообщения: 1372
Зарегистрирован: Пн янв 12, 2015 10:58 am
Контактная информация:

Вт мар 31, 2015 12:26 pm

WinAPI - пример использования.
В данном примере, используются 4 системных функции которые находятся системных DLL Windows.

1. MessageBox >> см.описание у microsoft
2. ShellExecute >> см.описание у microsoft
3. FindWindow >> см.описание у microsoft
4. SetWindowText >> см.описание у microsoft

Скрипт выводит диалог, после нажатия "ОК" запускает Калькулятор, ищет его окно и меняет текст.

Код: Выделить всё

function MessageBoxW(hWnd: integer; Text, Caption: PChar; uType: integer): integer; stdcall; external 'user32.dll';
function ShellExecuteW(hwnd: integer; lpOperation, lpFile, lpParameters, lpDirectory: PChar;  nShowCmd: integer): integer; stdcall; external 'Shell32.dll';
function FindWindowW(lpClassName, lpWindowName: PChar): integer; stdcall; external 'user32.dll';
function SetWindowTextW(hWnd: integer; lpString: PChar): boolean; stdcall; external 'user32.dll';

var H: integer;
begin  
  MessageBoxW(0, 'HELLO !', 'Пример WinAPI', 0);
  ShellExecuteW(0, 'open', 'calc', nil, nil, 0);
  Delay(500); // даем время запуститься калькулятору
  H := FindWindowW(nil,'Калькулятор');
  SetWindowTextW(H, 'Shadow - WinAPI DEMO');  
end.
Потоки:

Код: Выделить всё

function TerminateThread(hThread: THandle; dwExitCode: integer): Boolean; stdcall;external 'kernel32';
function CloseHandle(hObject: THandle):boolean; stdcall;external 'kernel32';
function SuspendThread(hThread: THandle):boolean; stdcall;external 'kernel32';
function ResumeThread(hThread: THandle):boolean; stdcall;external 'kernel32';
procedure Schet;
var 
  i:integer;
begin
  while true do 
  begin
    Delay(1000);
    Print(i);
    inc(i);
  end;
  EndThread(0);
end;

var
  th:THandle;
  TID: cardinal;

procedure onfree;
begin
  TerminateThread(th,0);
  CloseHandle(th);
end; 
begin
  th:=beginthread(nil, 0, @Schet, nil, 0, TID);
  delay(10000);
end.

Мой Сайт, Тут есть все скрипты: 1-85, Заточка, Аугмент и много чего другого
skype: live:ivanius51
вопросы по СКРИПТАМ, не программированию - БЕСПЛАТНО!

Аватара пользователя
IvaniuS
Администратор
Сообщения: 1372
Зарегистрирован: Пн янв 12, 2015 10:58 am
Контактная информация:

Вт апр 14, 2015 3:59 pm

Код: Выделить всё

uses sysutils,classes;
begin
   while Engine.Status = lsOnline do begin
      if (ChatMessage.ChatType = mtPrivate) and ChatMessage.Unread then //непрочитанное сообщение тип чата mtPrivate=ПМ mtParty  mtAll=белый 
      begin
        if (ChatMessage.Text = 'пати плз') then  Engine.InviteParty(ChatMessage.Sender, ldRandom); //текстом - делаем
        if (ChatMessage.Text = 'бпк') then  engine.useskill(3521); //текстом - делаем
      end;
    delay(2000);
   end;
end.

Мой Сайт, Тут есть все скрипты: 1-85, Заточка, Аугмент и много чего другого
skype: live:ivanius51
вопросы по СКРИПТАМ, не программированию - БЕСПЛАТНО!

Аватара пользователя
IvaniuS
Администратор
Сообщения: 1372
Зарегистрирован: Пн янв 12, 2015 10:58 am
Контактная информация:

Чт апр 16, 2015 8:35 pm

Код: Выделить всё

const
  WeaponID:=4233;//ID Itema оружия
var
  item: TL2Item;

begin
while delay(500) do //Два раза в секунду
  if inventory.user.byid(WeaponID, item) and not (Item.Equipped) then begin
    Delay(500);
    Engine.UseItem(WeaponID);
    Delay(800);
  end;
end.

Мой Сайт, Тут есть все скрипты: 1-85, Заточка, Аугмент и много чего другого
skype: live:ivanius51
вопросы по СКРИПТАМ, не программированию - БЕСПЛАТНО!

Ответить