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

"Оживляем" бота

@ganj, там другая слегка функция,тут же идет скрипт
 
поднял хайд? раньше видел его, а теперь нет :frog:
 
таки збс тема, додумать бы для фул пака...
да и параллельно со скриптом бегать от моба вокруг пати мемберов (где-то на форуме есть)
 
Этот скрипт лежит на lineage2bot ?
 
@bawl, @Ivanius слил его, за что был забанен, но pcoder попросил его разбанить. Сейчас проверил, скрипт все еще висит на lineage2bot.net, что заставляет задуматься...
 
@Krickt, Понял, помогаю по возможности. Но времени не особо много свободного, поэтому - постоянно тут сидеть - не получается.

Понял правила, ну что ж поделать, за годик может и насобираем на хайд)
 
Можно попробовать
тоже скачать хочу
Спасибо.
 
не понимаю воссторженных отзывов по поводу этого скрипта (Рандомизация движений начинается если чар никуда не движется и цель мертва или цели вообще нет.)
при паралельном запуске скрипт+фарм(боевой режим), бот ведет себя как бот и все время в боевом режиме, имхо полезнее функция рандомизация движения при перемещении бота к мобу.
 
а можно чтоб начиналась рандомизация когда появляется рядом чар *INV* ?
 
Когда-то создавал подобную ф-ю для перемещения к заданным точкам -
(бежит в случайную точку лежащую на окружности радиусом radius, с центром в координатах x,y,z)

function MoveTo(x,y,z:integer;radius:integer = randomRadius):boolean;
var
_x,_y,_z:integer;
angle:integer;
begin
print(x.tostring+' : '+y.tostring+' : '+z.tostring);
angle:=round(random*360);
_x:=round(x+radius*(cos(angle)));
_y:=round(y+radius*(sin(angle)));
_z:=z;
print(_x.tostring+' : '+_y.tostring+' : '+_z.tostring);
result:=Engine.MoveTo(_x,_y,_z);
end;

radius - разброс - брался из глобальной переменной, либо - если условия местности того требовали (например, бег по мостикам) - указывался при вызове.
 
Больше интересует как подобную функцию вставить в основное тело и зациклить нормально, т.к почему-то на другие процедуры скрипт забивает. Тупо шагает туда сюда и все.
 
savant написал(а):
Данную процедуру нужно запускать параллельным потоком с потоком основного скрипта (через script.newthread).
 
@BreadfanLock, это понятно, допустим вставляю поток в свое тело и после того как бафф кончается или чар в городе встает , работает только поток с рандом мувом и все он не бежит дальше делать дела)

begin
Script.NewThread(@randommove); delay(50);
while true do begin
delay(100);
if (user.dead)then begin check_death;
delay(100);
path_to_GK;
delay(100);
return_path;
delay(100);
end;
delay(100);
if not User.Buffs.ById(5637, Obj) then begin check_buff;
delay(100);
path_to_GK;
delay(100);
return_path;
delay(100);
end;
delay(100);
if not Inventory.User.ByID(2508, Item) then begin
delay(100);
Engine.Facecontrol(0,False);
delay(100);
CheckAttackingMobs;
delay(100);
engine.useitem(736);
delay(25000);
Script.Stop;
delay(100);
end;
end;
end.
 
@CMAK, я конечно ни на что не намекаю, но раз ты вынес одну функцию в отдельный поток, зачем ты оставляешь в главном теле скрипта бесконечный цикл?
5438988_m.png
 
Сори я неделю еще вникаю в эту тему , разве если я уберу бесконечный цикл , то все условия будут в цикле?
 
@CMAK, Нет, я о том что было бы хорошо вынести бесконечный цикл из главного тела скрипта во второй поток.
Не знаю как устроены потоки в адреналине (как полноценные параллельные потоки или же как-то иначе), но это может спасти тебя от непонятных глюков в скрипте.
 
Так и не разобрался, как сделать , чтобы работало корректно, рандом мув работает, но цикл не начинает если допустим умер
 
Назад
Сверху