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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 27.03.2008, 02:48   #1
Гость
 
Сообщений: n/a
Печаль что не так в скрипте?

Проблемма которая возникла мне самому непонятно коре за основу был взят скрипт рыбалки NLObP вырезано все лишнее и добавлено что по малому количесву мп бот садится потом встает и дальше ловит так вот написано все. работает на ура. но вот как начил добавлять веши чтобы он мог стабильно работать с другими скриптами типа ( if (ConnectName=Name) and ... SendToClientEx(Name)) скрипт отказался работать и выдовал ошибку такую которая возникает когда нет этого чара среди пропатченых хлп. счем может быть это связано?
Код:
//Автоматизация ловли рыбы by NLObP редакция LaFiN
//Необходимо затариться удочкой и крючками
//выучить соответствующие скиллы
//Социальное действие YES  - начать
//Социальное действие NO  - остановиться
//Enjoy!

const
  fish='2F 20 05 00 00 00 00 00 00 00';
  pump='2F 21 05 00 00 00 00 00 00 00';
  reel='2F 22 05 00 00 00 00 00 00 00';
  sit='45 00 00 00 00 00 00 00 00 00';
  name='bppppp';

var
  CharID:String;
  timer1: TTimer;
  status:boolean;
  SocialID, MaxHP, CurHP, MaxMP, CurMP, i: Integer;

procedure Init; //Вызывается при включении скрипта
begin
  timer1:=TTimer.Create(nil);
  timer1.OnTimer:=@OnTimer1;
  timer1.enabled:=false;
  timer1.interval:=1800; //время задержки
end;

procedure Free; //Вызывается при выключении скрипта
begin
  timer1.Free;
end;

procedure SendMsg(msg:string);
begin
  buf:=#$4A;
  WriteD(0);
  WriteD(10);
  WriteS('');
  WriteS(msg);
  SendToClientEx(Name);
end;

procedure Siting;
begin
  buf:=HStr(sit);
  SendToServerEx(Name);
end;

procedure Fishing;
begin
  buf:=HStr(fish);
  SendToServerEx(Name);
end;

procedure Pumping;
begin
  buf:=HStr(pump);
  SendToServerEx(Name);
end;

procedure Reeling;
begin
  buf:=HStr(reel);
  SendToServerEx(Name);
end;

procedure OnTimer1(Sender: TObject);
begin
    Fishing;
    timer1.enabled:=false;
end;
procedure StUp;
begin
  if (ConnectName=Name) and FromServer and (pck[1]=#$0e) and (pck[2] + pck[3] + pck[4] + pck[5] + pck[6] = CharID + #$02) then 
  begin
    CurMP:=ReadD(14);
    SendMsg(IntToStr(CurMP));
    if (CurMP = MaxMP) and (Status = false) then
    begin
      Siting;
      Status:=true;
      Fishing;
    end;
  end;
end;

//******************************************************************************
// вызывается при приходе каждого пакета, если скрипт включен
//******************************************************************************
begin
  if (ConnectName=Name) and FromServer then SendMsg('Run');
  //не обрабатываем пустые пакеты
  if pck='' then exit;
  //****************************************************************************
  
  if (ConnectName=Name) and FromServer and (pck[1]=#$04) then
  begin
    CharID:=pck[18]+pck[19]+pck[20]+pck[21];
    i:=22;
    i:=i+(Length(Name)*2+2)+48;
    MaxHP:=ReadD(i);
    CurHP:=ReadD(i);
    MaxMP:=readD(i);
    CurMP:=readD(i);
    if (CurMP < round(MaxMP*0.3)) then
    begin
      Status:=false;
      timer1.enabled:=false;
      Siting;
    end;
  end;
  StUp;
  if (ConnectName=Name) and FromClient and (pck[1]=#$1B) then
    begin
      SocialID:=ReadD(2);
	  case SocialID of
        //социальное действие Yes для начала ловли
        6:begin
          Status:=true;
          Fishing;
          SendMsg('Run');
        end;
        //социальное действие No для окончания
        5:begin
          Status:=false;
          timer1.enabled:=false;
          SendMsg('Stop');
        end;
      end;
    end;
    if Status=true then begin
       //FishinHPRegen
       if (ConnectName=Name) and FromServer and (pck[1]+pck[2]=#$FE#$16) and (pck[16]=#$00) then Pumping;
       if (ConnectName=Name) and FromServer and (pck[1]+pck[2]=#$FE#$16) and (pck[16]=#$01) then Reeling;
       //FishingEnd
       if (ConnectName=Name) and FromServer and (pck[1]+pck[2]=#$FE#$14) then timer1.enabled:=true;
    end
    else exit;
end.
  Ответить с цитированием
Старый 27.03.2008, 08:41   #2
Рыцарь
 
Аватар для dmitry501
 
Регистрация: 01.10.2007
Сообщений: 293
Сказал Спасибо: 42
Имеет 50 спасибок в 37 сообщенях
dmitry501 пока неопределено
По умолчанию

Ничего не понял.
Напиши еще раз, но по-русски.
__________________
Цитата:
Сообщение от Stas
...Ну на хрена ты меня посылаешь гууглить или искать 140 страниц описанных где-то комманд, если я уже в сотый раз объясняю, что хочу облегчить труд многим, я же эти доводы подробно описал...
dmitry501 вне форума   Ответить с цитированием
Старый 27.03.2008, 09:16   #3
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

Цитата:
Сообщение от LaFiN
но вот как начил добавлять веши чтобы он мог стабильно работать с другими скриптами типа ( if (ConnectName=Name) and ... SendToClientEx(Name)) скрипт отказался работать и выдовал ошибку такую которая возникает когда нет этого чара среди пропатченых хлп.
По русски напиши действия, которые ты совершаешь, ожидаемый результат и рельный результат (как получается на самом деле), а то из этой белиберды ничего не понятно.
QaK вне форума   Ответить с цитированием
Старый 27.03.2008, 19:20   #4
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию Re: что не так в скрипте?

Цитата:
Сообщение от LaFiN
Проблемма которая возникла мне самому непонятно коре за основу был взят скрипт рыбалки NLObP вырезано все лишнее и добавлено что по малому количесву мп бот садится потом встает и дальше ловит так вот написано все. работает на ура. но вот как начил добавлять веши чтобы он мог стабильно работать с другими скриптами типа ( if (ConnectName=Name) and ... SendToClientEx(Name)) скрипт отказался работать и выдовал ошибку такую которая возникает когда нет этого чара среди пропатченых хлп. счем может быть это связано?
Я правильно понял - в name='bot1', а ты играешь чаром bot2 и появляется ошибка?
Так и должно быть, по крайней мере в версии 3.1.8, если запустить скрипт не для того чара.
Это ( if (ConnectName=Name) and ... SendToClientEx(Name)) надо, чтобы скрипт был привязан к определенному чару с name='имя_чара_для _которого_скрипт'. В противном случае скрипт обрабатывает все пакеты от всех чаров которые запущены в других окнах и всех чаров рядом.
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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