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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 13.08.2008, 11:48   #1
Новичок
 
Аватар для Shadow
 
Регистрация: 06.08.2008
Сообщений: 27
Сказал Спасибо: 8
Имеет 11 спасибок в 7 сообщенях
Shadow пока неопределено
По умолчанию

Цитата:
Сообщение от NLObP Посмотреть сообщение
NLObP
Вобщем посмотрел в пакетах ОбджектИД продавцов, и пытался их отловить через скрипт, чтобы понять какой у них ИД, чтобы смещение вычислить. Так ничего и не получилось. Пользуюсь таргетом через явный ОИД. Чего скажешь по скрипту и предыдущему вопросу?
__________________
Shadows anywhere...
Shadow вне форума   Ответить с цитированием
Старый 13.08.2008, 22:39   #2
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от Shadow Посмотреть сообщение
Вобщем посмотрел в пакетах ОбджектИД продавцов, и пытался их отловить через скрипт, чтобы понять какой у них ИД, чтобы смещение вычислить. Так ничего и не получилось. Пользуюсь таргетом через явный ОИД. Чего скажешь по скрипту и предыдущему вопросу?
Иди в место где есть 1-2 NPC, там проще будет. Отследи пакеты NpcInfo и сравни NpcID в пришедших пакетах и из npcsid.ini для них же. Разница и будет kID.

Наприме Гиран-харбор, там три Npc:
delphi Код:
npcid.ini                                              NpcInfo 7878=Angelina Gatekeeper                      NpcTypeId: 1030878 7879=Felton Wharf Manager                    NpcTypeId: 1030879 8573=Monakan Fishermen's Guild Member   NpcTypeId: 1031573 kId = 1030878-7878 = 1023000
Пробуешь подсчитать разницу между тем что в NpcInfo и тем что должно быть и это будет kID. Понятно? Как определишь kID, тогда сможишь соотносить NpcID с NpcObjectId.

delphi Код:
#$16: begin         msg.Lines.Add('S>Пакет NpcInfo #$16'+inttostr(ReadD(2)));         //        OID       ID         AppendNpc(ReadD(2), ReadD(6)); //добавляем в базу данных         if (FishermanID=ReadD(6)-kID) then begin           EditFishermanOID.text:=inttostr(ReadD(2));           FishermanOID:=strtoint(EditFishermanOID.text);         end;       end;

По скрипту пока ничего не скажу, проверить работу негде.
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился спасибкой от:
Старый 14.08.2008, 01:34   #3
Новичок
 
Аватар для Shadow
 
Регистрация: 06.08.2008
Сообщений: 27
Сказал Спасибо: 8
Имеет 11 спасибок в 7 сообщенях
Shadow пока неопределено
Восклицание

2 NLObP
Все, спасибо, разобрался. Проблема была в том что у меня были неверные ID продавцов, которые мне выдал IG. Теперь нашел верные, смещение такое же.

Подскажи пожалуйста, как реализовать данный алгоритм:
  • Вводные: Мы знаем кол-во Аден, цену итема, и кол-во свободных слотов.
  • К примеру. Есть 2млрд Аден, цена АС 200млн, свободно 40 слотов.
Понятное дело что за раз мы столько не купим, поэтому я как понимаю нужно что-то типа этого:
Код:
начало
  запрос кол-ва аден
  если (ценашмотки*свободслотов<аден) то
   закупка по циклу на свободслоты
  иначе
   цикл до свободслотов 
    закупка на сколько хватит
    обмен денег
  конец
конец
Сейчас оно у меня в таком виде:
delphi Код:
procedure BuyItems(EmptySlots: integer); //тут видимо вообще не нужно указывать переменную, тк она глобальная var   Cnt, IoA: integer; //Item on Adena begin  if InBase then begin   AdenaCounter(CoLChangeCount, CanChange, CanBuy);   if CanChange then CoLChange;   TargetAttacker('Roy', RoyOID);   AdenaCounter(CoLChangeCount, CanChange, CanBuy);   IoA:=(trunc(Adena/ItemPrice)); // TargetAttacker(ObjectID);   RequestByPassToServer('menu_select?ask=-303&reply='+IntToStr(ItemListID));   delay(500); // ждем окно   if (IoA>EmptySlots) then begin    for Cnt:=1 to EmptySlots do begin     RequestMultiSellItem(ItemListID, ItemEntryID, BuyItemCount);     delay(BuyDelay);    end;   end else begin    for Cnt:=1 to IoA do begin     RequestMultiSellItem(ItemListID, ItemEntryID, BuyItemCount);     delay(BuyDelay);    end;   end;  end; end;

И всетаки, как сделать закупку чтобы с каждым итемом база обновлялась? А то происходит вот что:
Код:
Удаляем предмет!
i=51 ItemOID=1075255597 ItemID=959 кол-во=1 ItemLVL=0
Деньги закончились! Прервано!
Winnie ObjectID=1209014842 Player=1213259366
Покупаем ListID:576 EntryID:3 в кол-ве:100
{...
...
...}
Покупаем ListID:576 EntryID:3 в кол-ве:100
Roy ObjectID=1209014840 Player=1213259366
Задействовали скролл ScrollID=959 ScrollOID=1075255607
Изменяем параметры предмета!
i=95 ItemOID=1075227868 ItemID=4037 кол-во=3384753 ItemLVL=0
Изменяем параметры предмета!
i=73 ItemOID=1075227891 ItemID=57 кол-во=9691800 ItemLVL=0
{...
...
...}
i=95 ItemOID=1075227868 ItemID=4037 кол-во=3382853 ItemLVL=0
Изменяем параметры предмета!
i=73 ItemOID=1075227891 ItemID=57 кол-во=2089691800 ItemLVL=0
Покупаем ListID:559 EntryID:17 в кол-ве:1
Пробуем улучшить ItemID=6592 ItemOID=1075249921
Изменяем параметры предмета!
Тоесть сначала пробегает цикл, потом он успевает сменить таргет, и только после этого итемы начинают заносится в базу. Из-за этого было переполнение кошелька.
__________________
Shadows anywhere...
Shadow вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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