Регистрация Главная Пользователи Все разделы прочитаны
Сообщения за день Справка Регистрация

[B]l2phx вопрос[/B]

-

Общение и обсуждение, архив Lineage 2

- Cобытия, информация, вопросы и ответы по Lineage 2

Ответ
 
Опции темы
Старый 26.11.2009, 00:08   #1
 Разведчик
Аватар для Lafisarrr
 
Lafisarrr неизвестен в этих краяхLafisarrr неизвестен в этих краях
Регистрация: 01.11.2009
Сообщений: 36
Популярность: -189
Сказал(а) спасибо: 10
Поблагодарили 22 раз(а) в 8 сообщениях
 
По умолчанию [B]l2phx вопрос[/B]

как узнать айди пухи и заточки мне для этого скрипта
Код:
//by creaDO
//Скрипт заточки под Камаель
//Автоматизация заточки предметов до необходимого уровня by NLObP
//Адаптированая под Gracia by CreaDo

//Этот скрипт помогает в рутине, когда разрешено пользователям 100% точить до
//большой величины, скажем до +200, ручками то замучаешься точить. :)

//Затачиваем по очереди все предметы с Weapon ID пока не переломаем или не заточим

//Необходимо затариться оружием, заточками и валерьянкой
//Открываем инвентарь для инициализации скрипта
//Социальное действие YES начать
//Социальное действие NO остановиться

//Enjoy!

{Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.}

//******************************************************************************
const
  Name='PKPKPKPKPKPKPKPK';
  Scroll=29712; // 959 - ItemID Scroll Enchant Weapon (Grade S)
  Weapon=27264; // 9866 - ItemID Dinasty dager focus (Grade S80)
  MaxEnchLvl=10; //max уровень заточки
  max=80;    //max количество предметов в базе
var
//  WpnObjID:  array[1..maxwpn,1..maxwpn] of integer;    //Weapon ObjID
  WpnBase:  array[1..2,1..max] of integer;    //Weapon ObjID,lvl
  ScrlBase: integer;    //Scroll ObjID
  add: boolean; //прошла заточка?
  timer: TTimer;
  CurEnchLvl, ColvoWpn, ColvoScrl, CurWpn, CurScrl: integer;
//******************************************************************************
procedure Init; //Вызывается при включении скрипта
var
  i:integer;
begin
  //Enchant:=false;
  CurEnchLvl:=0;
  timer:=TTimer.Create(nil);
  timer.OnTimer:=@OnTimerHP;
  timer.enabled:=false;
  timer.interval:=4000; //время задержки
  Say('Для инициализации скрипта, откройте инвентарь');
end;
//******************************************************************************
procedure Free; //Вызывается при выключении скрипта
begin
  WpnBase:=nil;
  ScrlBase:=nil;
  timer.Free;
end;
//******************************************************************************
procedure Say(msg:string);
begin
  buf:=hstr('4A 00 00 00 00');
  WriteD(2);
  WriteS(Name);
  WriteS(msg);
  SendToClientEx(Name);
end;
//******************************************************************************
procedure CreateItemBase; //пакет 1B, Создает базу ObjectID по ItemID
var
  i, ss, sc, ww, j, ObjID, ItemID, lvl, ListCount: integer;
begin
  ss:=1; //индекс в массиве скроллов
  ww:=1; //индекс в массиве предметов
  j:=4; //смещение для ListCount
  ListCount:=ReadH(j); //количество итемов не должно превышать max!
  if ListCount>max then ListCount:=max;
  j:=8; //смещение для ObjectID
  //Пробегаем по Инвентарю и сохраняем ObjectID соответствующие необходимым ItemID
  for i:=1 to ListCount do begin
     ObjID:=ReadD(j);      //ObjectID
     ItemID:=ReadD(j);    //ItemID
     j:=j+4;
     sc:=readD(j);
     j:=j+10;
     Lvl:=ReadH(j);    //Level
     say(inttostr(lvl));
     case ItemID of
        scroll: begin
        ss:=sc;
        ScrlBase:=ObjID;
//                        Say('ColvoScrl='+IntToStr(ss));
        end;
        weapon: begin
            WpnBase[1,ww]:=ObjID;
            WpnBase[2,ww]:=lvl;
            ww:=ww+1;
//            Say('ColvoWpn='+IntToStr(ww));
        end;
     end;
     j:=j+44   //Gracia
//    j:=j+2; //для С4
//    j:=j+10; //для Интерлюдии
  end;
  ColvoWpn:=ww-1;
  ColvoScrl:=ss;
  Say('>ColvoWpn='+IntToStr(ColvoWpn)+' ColvoScrl='+IntToStr(ColvoScrl)+' CurEnchLvl='+IntToStr(CurEnchLvl));
end;
    //******************************************************************************
procedure UpdateItemBase; //пакет 27, Создает базу ObjectID по ItemID
var
  i, ii, j, ss, sc, ww, ObjID, ItemID, Lvl, ListCount, UpdType: integer;
begin
  ListCount:=ReadH(2); //количество итемов
  //Пробегаем по Инвентарю и сохраняем пары ObjectID - Lvl
  j:=4; //смещение для действия с предметом 1-добавлен 2-изменен 3-удален
//  Say('Апдейт базы!');
  for i:=1 to ListCount do begin
    UpdType:=ReadH(j);
    j:=j+2;
     ObjID:=ReadD(j);      //ObjectID
     ItemID:=ReadD(j);    //ItemID
     j:=j+4;
     sc:=readD(j);
     j:=j+10;
     Lvl:=ReadH(j);    //Level
//    Say('Предмет! ObjectID='+IntToStr(ObjID)+' ItemID='+IntToStr(ItemID));
    case UpdType of
      1:case ItemID of
          weapon: begin
            ColvoWpn:=ColvoWpn+1;
            //Say('Добавили предмет! ObjectID='+IntToStr(ObjID)+' ItemID='+IntToStr(weapon));
            for ii:=1 to max do
              if WpnBase[1,ii]=0 then begin WpnBase[1,ii]:=ObjID; WpnBase[2,ii]:=lvl; end;
          end;
          scroll: begin ss:=ss+1;
          if ScrlBase=0 then ScrlBase:=ObjID;
          end;
      end;
      2:case ItemID of
          weapon:
            for ii:=1 to max do
              if WpnBase[1,ii]=ObjID then begin WpnBase[2,ii]:=lvl; say(inttostr(WpnBase[2,ii])); end;
          scroll:   sc:=ss;
            //Say('Внимание! Изменения в скролле!?');
      end;
      //удален
      3:case ItemID of
          weapon: begin
             ColvoWpn:=ColvoWpn-1;
             for ii:=1 to max do
              if WpnBase[1,ii]=ObjID then begin WpnBase[1,ii]:=0; WpnBase[2,ii]:=0; end;
              //Say('Удаляем предмет! ObjectID='+IntToStr(ObjID)+' ItemID='+IntToStr(weapon));
          end;
          scroll: begin
             ColvoScrl:=ColvoScrl-1;
             for ii:=1 to max do
              if ScrlBase=ObjID then ScrlBase:=0;
              //Say('Удаляем скролл! ObjectID='+IntToStr(ObjID)+' ItemID='+IntToStr(scroll));
          end;
      end;
    end;
    j:=j+44;
//    j:=j+2; //для С4
//    j:=j+10; //для Интерлюдии
  end;
//  Say('>>ColvoWpn='+IntToStr(ColvoWpn)+' ColvoScrl='+IntToStr(ColvoScrl)+' CurEnchLvl='+IntToStr(CurEnchLvl));
end;
//******************************************************************************
function GetNextWeapon: integer; //Выдает ObjID предмета, если  не найден в базе, выдает -1,
//достигли макс уровня заточки -2, подбираем мин текущий уровень заточки -3
var
  i: integer;
begin
  Result:=-1;
  if CurEnchLvl>=MaxEnchLvl then begin
    Result:=-2;
    exit;
  end;
  for i:=1 to max do begin
    //находим первый подходящий предмет
    if (WpnBase[1,i]<>0) and (WpnBase[2,i]<=CurEnchLvl) then begin
      Result:=WpnBase[1,i];
      exit;
    end;
  end;
  CurEnchLvl:=CurEnchLvl+1;
  Result:=-3;
end;
//******************************************************************************
function GetNextScroll: integer; //Выдает ObjID скролла, если  не найден в базе, выдает -1
var
  i: integer;
begin
  Result:=-1;
  for i:=1 to max do begin
    //находим первый подходящий предмет
    if (ScrlBase<>0) then begin
      Result:=ScrlBase;
      exit;
    end;
  end;
end;
//******************************************************************************
procedure UseItem(ObjectID: integer);
begin
  buf:=#$19;
  WriteD(ObjectID);
  WriteD(0);
  SendToServerEx(Name);
end;
//******************************************************************************
procedure RequesEnchantItem(ObjectID: integer);
begin
  buf:=#$5F;
  WriteD(ObjectID);
  SendToServerEx(Name);
end;
//******************************************************************************
procedure OnTimerHP(Sender: TObject);
var
  wpn, scrl:integer;
begin
    if ColvoScrl=0 then begin
      Say('Кончились скроллы! Прервано!');
      timer.enabled:=false;
      exit;
    end;
    if ColvoWpn=1 then begin
      Say('Остался последний предмет! Прервано!');
      timer.enabled:=false;
      exit;
    end;
    Scrl:=GetNextScroll;
    if scrl=-1 then begin
      Say('Нет такой заточки! Прервано!');
      timer.enabled:=false;
      exit;
    end;
    Wpn:=GetNextWeapon;
    case wpn of
    -1: begin
          Say('Нет такого предмета! Прервано!');
          timer.enabled:=false;
          exit;
       end;
    -2: begin
          Say('Достигли максимальный уровень заточки! Прервано!');
          timer.enabled:=false;
          exit;
        end;
    -3: begin
          //Say('Подбираем текущий уровень заточки!');
          timer.enabled:=true;
          exit;
        end;
    end;
    //************************************************
    UseItem(Scrl);
    RequesEnchantItem(Wpn);
    //************************************************
    Say('Заточили предмет! Weapon='+IntToStr(Wpn));
end;
//******************************************************************************
// вызывается при приходе каждого пакета, если скрипт включен
//******************************************************************************
begin
  //****************************************************************************
  //не обрабатываем пустые пакеты
  if pck='' then exit;
  //****************************************************************************
  //социальное действие yes для начало точки
  if FromClient and (ConnectName=Name) and (pck=HStr('34 06 00 00 00')) then begin
    CurEnchLvl:=0;
    Say('Команда Старт!!!');
    timer.enabled:=true;
  end;
  //****************************************************************************
  //социальное действие no для начало точки
  if FromClient and (ConnectName=Name) and (pck=HStr('34 05 00 00 00')) then begin
    Say('Команда Стоп!!!');
    timer.enabled:=false;
  end;
  //****************************************************************************
  //ItemList
  if FromServer and (ConnectName=Name) and (pck[1]=#$11) then CreateItemBase; //создание базы предметов
//  if (ColvoWpn=0) or (ColvoScrl=0) then exit; //если нет базы итемов, скрипт дальше не пустит
  //****************************************************************************
  //если удалились предметы, стираем в базе предметов пары ObjectID - ItemID
  if FromServer and (ConnectName=Name) and (pck[1]=#$21) then UpdateItemBase; //Обновление базы, если принят пакет на удаление предмета
end.
таму кто поможет жму бальшое спасибо
________________
Помог? тыкай спасибо КТО знает баги или дюы шок ворлда отпишите в личку

Последний раз редактировалось Lafisarrr; 26.11.2009 в 00:17.
  Ответить с цитированием
Старый 26.11.2009, 00:20   #2
Заблокирован
 Старший сержант
Аватар для GraNIT
 
GraNIT излучает ауруGraNIT излучает ауруGraNIT излучает ауруGraNIT излучает ауруGraNIT излучает ауруGraNIT излучает ауру
Регистрация: 27.07.2009
Сообщений: 237
Популярность: 578
Сказал(а) спасибо: 593
Поблагодарили 329 раз(а) в 147 сообщениях
Отправить сообщение для GraNIT с помощью ICQ Отправить сообщение для GraNIT с помощью Skype™
 
По умолчанию Re: [B]l2phx вопрос[/B]

кинь на землю, положи в ВХ, одень/сними её...там будет ID вещи.
  Ответить с цитированием
Старый 26.11.2009, 00:25   #3
 Разведчик
Аватар для Lafisarrr
 
Lafisarrr неизвестен в этих краяхLafisarrr неизвестен в этих краях
Регистрация: 01.11.2009
Сообщений: 36
Популярность: -189
Сказал(а) спасибо: 10
Поблагодарили 22 раз(а) в 8 сообщениях
 
По умолчанию Re: [B]l2phx вопрос[/B]

Цитата:
Сообщение от GraNITПосмотреть сообщение
кинь на землю, положи в ВХ, одень/сними её...там будет ID вещи.

где там ? в скрипте или в хлапексев пакете, если в хлапексе то там зашифровано как расшифровать ?
________________
Помог? тыкай спасибо КТО знает баги или дюы шок ворлда отпишите в личку
  Ответить с цитированием
Старый 26.11.2009, 01:04   #4
 Разведчик
Аватар для Клерик
 
Клерик на правильном пути
Регистрация: 22.11.2009
Сообщений: 8
Популярность: 20
Сказал(а) спасибо: 20
Поблагодарили 5 раз(а) в 4 сообщениях
 
По умолчанию Re: [B]l2phx вопрос[/B]

[Ссылки могут видеть только зарегистрированные пользователи. ]

Устнови все что отмечено на скрине в своем пакет хаке, все как должно быть для твоего сервера, если все же пакеты не дешифрованы, тогда ты никак не узнаешь айди, и никакой скрипт не поможет.
________________
Адм. l2-community
СМ CheatPortal
  Ответить с цитированием
Старый 26.11.2009, 17:33   #5
Заблокирован
 Старший сержант
Аватар для GraNIT
 
GraNIT излучает ауруGraNIT излучает ауруGraNIT излучает ауруGraNIT излучает ауруGraNIT излучает ауруGraNIT излучает ауру
Регистрация: 27.07.2009
Сообщений: 237
Популярность: 578
Сказал(а) спасибо: 593
Поблагодарили 329 раз(а) в 147 сообщениях
Отправить сообщение для GraNIT с помощью ICQ Отправить сообщение для GraNIT с помощью Skype™
 
По умолчанию Re: [B]l2phx вопрос[/B]

В самой проге розшифровываеться пакет, если не понял - кидай пакет сюда.
  Ответить с цитированием
Старый 27.11.2009, 07:28   #6
Читер-спонсор
 Старший сержант
Аватар для Fix
 
Fix душа компанииFix душа компанииFix душа компанииFix душа компанииFix душа компанииFix душа компанииFix душа компанииFix душа компании
Регистрация: 15.08.2009
Сообщений: 218
Популярность: 1020
Сказал(а) спасибо: 196
Поблагодарили 140 раз(а) в 84 сообщениях
Отправить сообщение для Fix с помощью ICQ Отправить сообщение для Fix с помощью Skype™
 
По умолчанию Re: [B]l2phx вопрос[/B]

кажется он понял)
________________
  Ответить с цитированием
Старый 27.11.2009, 13:31   #7
 Разведчик
Аватар для xnobx
 
xnobx скоро будет известенxnobx скоро будет известенxnobx скоро будет известенxnobx скоро будет известен
Регистрация: 03.08.2008
Сообщений: 42
Популярность: 342
Сказал(а) спасибо: 37
Поблагодарили 166 раз(а) в 37 сообщениях
 
По умолчанию Re: [B]l2phx вопрос[/B]

Очищаеш пакет лист ---одеваеш пушку или шмотку --появится пакет useitem --в нём смотри object id вот и всё!!
  Ответить с цитированием
Старый 28.11.2009, 01:15   #8
Заблокирован
 Старший сержант
Аватар для GraNIT
 
GraNIT излучает ауруGraNIT излучает ауруGraNIT излучает ауруGraNIT излучает ауруGraNIT излучает ауруGraNIT излучает ауру
Регистрация: 27.07.2009
Сообщений: 237
Популярность: 578
Сказал(а) спасибо: 593
Поблагодарили 329 раз(а) в 147 сообщениях
Отправить сообщение для GraNIT с помощью ICQ Отправить сообщение для GraNIT с помощью Skype™
 
По умолчанию Re: [B]l2phx вопрос[/B]

Цитата:
Сообщение от xnobxПосмотреть сообщение
Очищаеш пакет лист ---одеваеш пушку или шмотку --появится пакет useitem --в нём смотри object id вот и всё!!

ObjID не покатит , надо ItemID, имхо обжект меняеться, ну ещё как вариант ему зайти в otemsID.ini в l2phx и найти нужную вещь - там будет написан её ID.
  Ответить с цитированием
Ответ

Опции темы

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
l2phx NeVeLoK Скрипты и перехват пакетов 1 25.10.2009 06:05
L2phx St1 Общение и обсуждение, архив Lineage 2 22 09.10.2009 22:32
l2phx pomalilka Общение и обсуждение, архив Lineage 2 7 27.09.2009 19:22
l2phx N1xTeR Скрипты и перехват пакетов 6 05.07.2009 05:39

Заявление об ответственности / Список мошенников

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

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net