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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 21.05.2008, 01:34   #1
Новичок
 
Регистрация: 24.11.2007
Сообщений: 10
Сказал Спасибо: 17
Имеет 1 спасибку в 1 сообщении
Sergey
По умолчанию Продажа интемов...

Здесь у мя возник вопрос. Как продать какие либо интемы с инвентаря до магаза. Смотрел скрипт на рыбалку:

delphi Код:
procedure OnMoveTo1(Sender: TObject); begin   case mov of     //-------------------------------------------------     //продаем фишерману все что можно     //-------------------------------------------------     500: begin       //мы у фишермана, продаем все ненужное       if SellingItemID=6917 then begin         MoveTo1.enabled:=false;         info.Lines.Add('Всё продали!');         //mov:=16;         //info.Lines.Add('Бежим на берег...');       end;       if ReadyToSell then exit; //если еще не продали предыдущую вещь, то выходим сразу       if FishermanOID<>0 then begin         if FindItem(SellingItemID)<>0 then begin //продаем 6920=Recipe: Greater Fish Oil (100%)           TargetAttacker(FishermanOID); //фишермана в таргет           info.Lines.Add('Готовы продть:'+inttostr(SellingItemID));           ReadyToSell:=true; //готовы продавать           inc(SellingItemID);         end else begin           msg.Lines.Add('Нет такого предмета:'+inttostr(SellingItemID));           inc(SellingItemID);         end;       end;     end;   end; end; begin     //****************************************************************************     //не обрабатываем пустые пакеты     if pck='' then exit;     //****************************************************************************     //продажа состоит из следующих шагов:     //1. таргет  на продавце, пауза, снова таргет     //2. приходит s0F=NpcHtmlMessage:d(MessageID)s(HTML)d(d)     //3. шлем выбранный пункт из меню c21=RequestBypassToServer:s(Cmd)     //4. приходит s10=SellList:d(Money)h(ListID)w(ListCount)w(ItemType1)h(ObjectID)i(ItemID)d(Count)w(ItemType2)w(h)d(ItemBodyPart)w(EnchantLevel)w(h)w(h)d(refPrice)     //5. FindItem(ID) найдем OID, Count нужной вещи по ID     //6. шлем c1E=RequestSellItem:h(ListID)d(SellCount)h(ObjectID)i(ItemID)d(Count)     //****************************************************************************     if ReadyToSell and (FishermanOID<>0) then begin       if (ConnectName=Name) and FromServer then begin         case pck[1] of           //после того как мы взяли в таргет продавца приходит этот пакет           //s0F=NpcHtmlMessage:d(MessageID)s(HTML)d(d)           #$0F: begin             msg.Lines.Add('S>Пакет NpcHtmlMessage #$0F');             if ReadD(2)=FishermanOID then begin               //шлем запрос выбора пункта - продажа               //c21=RequestBypassToServer:s(Cmd)               RequestByPassToServer(prodai1+inttostr(FishermanOID)+prodai2);               msg.Lines.Add('C>Пакет RequestBypassToServer #$21');             end;           end;           //после выбора пункта - продажа, приходит этот пакет           //s10=SellList:d(Money)h(ListID)w(ListCount)w(ItemType1)h(ObjectID)i(ItemID)d(Count)w(ItemType2)w(h)d(ItemBodyPart)w(EnchantLevel)w(h)w(h)d(refPrice)           #$10: begin             msg.Lines.Add('S>Пакет SellList #$11');             ListID:=ReadD(6); //запоминаем, он все время разный             msg.Lines.Add('ListID='+inttostr(ListID));             //шлем запрос на продажу             //c1E=RequestSellItem:h(ListID)d(SellCount)h(ObjectID)i(ItemID)d(Count)             msg.Lines.Add('C>Пакет RequestSellItem #$1E');             //продадим первый из списка             msg.Lines.Add('FindItem: OID:'+IntToStr(ItemBase2[1,1])+' ID:'+IntToStr(ItemBase2[2,1])+' Count:'+IntToStr(ItemBase2[3,1]));             RequestSellItem(ItemBase2[1,1],ItemBase2[2,1],ItemBase2[3,1]);             ReadyToSell:=false;           end;         end;       end;     end;   end;   //****************************************************************************   if (ConnectName=Name) and FromClient then begin     case pck[1] of       #$1B: begin         msg.Lines.Add('C>Пакет RequestSicialAction #$1B');         case ReadD(2) of           9: begin //waiting             SellingItemId:=6904;             mov:=500;             moveto1.enabled:=true;             info.Lines.Add('Продадим все наловленное!!!');             //не передаем серверу             pck:='';           end;         end;       end;     end;   end; end.

И мне хочится на данный момент максимум упростить скрипт. Насколько это возможно, чесно сказать я еше плохо по пакетам и скрипто писании (но есть успехи).
Хотелосьбы попросить вашей помоши в разборе и написании максимально простого скрипта продажи. Конешно если есть время (пожалуста не шлите в тему ДА БУДЕТ БОТ) то там все так сказать в куче. А мне хочиться разобраться во всем отдельно и потом ваять многострочного тяжелавеса
Sergey вне форума   Ответить с цитированием
Старый 21.05.2008, 14:37   #2
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

вот в кратце что надо сделать
delphi Код:
продажа состоит из следующих шагов: 1. таргет на продавце, пауза, снова таргет (c04=Action, c04=Action) 2. приходит s0F=NpcHtmlMessage:d(MessageID)s(HTML)d(d) 3. шлём выбранный пункт из меню c21=RequestBypassToServer:s(Cmd) 4. приходит s10=SellList:d(Money)h(ListID)w(ListCount)w(ItemTy pe1)h(ObjectID)i(ItemID)d(Count)w(ItemType2)w(h)d( ItemBodyPart)..., из него сохраняем для работы ListID 5. У себя в инвентаре ищем OID и Count нужной вещи по её ID 6. шлем c1E=RequestSellItem:h(ListID)d(SellCount)h(ObjectI D)i(ItemID)d(Count)
NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился спасибкой от:
Ответ

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



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

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


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

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

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