Форум работает в тестовом режиме. Все данные были перенесены со старого сайта 2018 года. Некоторая информация может быть недоступна, например вложения или хайды. Просьба сообщать о данных случаях через функционал "Жалоба", прямо под постом, где отсуствуют данные из хайда или проблемы с вложением.
Могут быть проблемы в "выкидыванием" с форума (слетевшей авторизацией). Нужно собрать статистику таких случаев.
Есть Тема, куда можете сообщить о проблемах с сайтом либо просто передать привет.

Подскажите чуть чуть по простенькому скрипту

Рег
6 Авг 2017
Сообщения
1
Реакции
0
Всем привет, так как хайд не позволяет взять скрипт на курицу, начал писать сам и сталкнулся с проблемой, когда прихожу к ящерицам что бы бить 30 итемов, я попробовал прописать что бы включались настройки моего персонажа в адриналине, но он все равно не начинает бить мобов, и второй вопрос можно ли как нибудь прописать что бы по достижению необходимого кол-ва итемов персонаж продолжал выполнение квеста дальше, или только через delay с "запасом"? Буду благодарен за помощь!
var
Npc: TL2Npc;
begin
Delay(2500);
Engine.Settarget(30827);
Delay(1500);
Engine.Dlgopen;
Delay(2000);
Engine.DlgSel(8);
Delay(1500);
Engine.DlgSel(1);
Delay(1500);
Engine.BypassToServer('00');
Delay(1500);
Engine.MoveTo(-14840, 123432, -3096);
Engine.MoveTo(-15208, 123384, -3088);
Engine.MoveTo(-15208, 123368, -3088);
Delay(2500);
Engine.Settarget(30321);
Delay(1500);
Engine.Dlgopen;
Delay(2000);
Engine.DlgSel(1);
Delay(1500);
Engine.DlgSel(1);
Delay(1500);
Engine.NPCTrade(false,[168,1]);
Delay(1500);
Engine.BypassToServer('00');
Delay(1500);
Engine.MoveTo(-14904, 123432, -3088);
Engine.MoveTo(-13928, 123336, -3104);
Engine.Settarget(30827);
Engine.Dlgopen;
Delay(2000);
Engine.DlgSel(8);
Delay(1500);
Engine.DlgSel(1);
Delay(1500);
Engine.BypassToServer('00');
Delay(1500);
Engine.MoveTo(-15896, 124184, -3104);
Engine.MoveTo(-17560, 123992, -3136);
Engine.MoveTo(-19512, 122808, -3264);
Engine.MoveTo(-20024, 122888, -3312);
Engine.MoveTo(-20984, 123160, -3424);
Delay(1500);
Engine.Loadconfig('Lilu'); //меняем на свой или удаляем если настроено
Delay(1500);
Engine.FaceControl(0, true);
Delay(10000);
Engine.FaceControl(0, false);
Delay(1500);
 
Если в профиле указано поиск цели по карте, то следует задать зону командой Engine.LoadZone ('имя зоны.zmap'); а зону создать по карте (ну как обычно и сохранить с названиес которое впишешь в команду). Да можно создать проверку на кол-во квестовых итемов в инвентаре.
 
Может дело в


Engine.Loadconfig('Lilu'); //меняем на свой или удаляем если настроено
Delay(1500);
Engine.FaceControl(0, true);
Delay(10000);
Engine.FaceControl(0, false);
Delay(1500);

т.е. включаем АИ, ждем 10 секунд и выключаем XD

Насчет достижения количества кв.итемов - зависит от используемой версии Адреналина, если сломаная 1.71, то забей, там проще ориентироватса на количество убитых мобов, взяв с запасом (хотя если вручную не открывать инвентарь во время выполнения квеста - то может Inventory.Quest.ByID и прокатит).
Если же у тебя нормальная версия, то Inventory.Quest.ByID(id,TL2Item) - вернет истину если есть предмет с таким ИД, и поместит его в TL2Item

Вот кусочек из скрипта кстати -

while( (Inventory.Quest.ByID(QuestItemId, item) = false) or (item.count < 30)) do begin
if(lastcount <> item.count) then begin
tempStr:= 'Осталось набить шт:' + IntToStr(30 - item.count);
Print(tempStr);
end;

Это должно быть (по идее) вместо твоего Delay(10000)
 
Многие не понимают, просто всталяют и у них не пашет, lastcount, tempstr являются переменными, которые нужно вводить после var, и ласткаунт не пашет так как он не обновляет свое значение. И в конце поставь делей ( снизит нагрузку).
 
Назад
Сверху