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

Фарм бота на зоне с маршрутом Подскажите

Рег
15 Июл 2016
Сообщения
16
Реакции
0
Суть скрипта такова

Умер в Город
выключил Панель
бафнулся
телепорт
бежит на топ спот
прибежал - включил зону - Включил панель

Хочу после Включения панели Добавить Маршрут что бы он бегал по нему туда и обратно и при этом вел фарм
Помогите под киньте идеью что бы это работало скрипт ниже

Я так понимаю как то нужно поставить цикл На маршрут что бы после включения панели он его по кругу крутил пока не умер -а как умер скрипт сначала выключил панель,бафнулся,телепорт, бежит на топ спот,включил зону,Включил панель, По бежал по маршруту И ведет фарм туда и обратно, пока не умрет Умер Все по кругу

var obj: TL2NPC;
obj2: TL2Effect;

Enemy: TL2Live;
Begin
while delay(6000) do begin // бесконечный цикл


if User.Dead then // умер- вырубаем интерфейс, возврат в город и пауза 15 секунд
begin
Engine.FaceControl(0,false);
Engine.gohome;
delay(15000);
end;

if user.inrange(146272, -58176, -2976, 250, 150) //возле хранилища
then
begin
Engine.MoveTo(147727, -57141, -2807);
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;

Engine.MoveTo(117096, 76904, -2688);
Engine.SetTarget(000); // берем в таргет НПЦ с ИД( можно имя в скобках 'имя'
Engine.DlgOpen(); // открываем диалоговое окно
delay(500);
Engine.DlgSel(0);
delay(500);
Engine.DlgSel(0);
delay(500);


Engine.MoveTo(145562, -81643, -5459);
Engine.MoveTo(146536, -82216, -5936);
Engine.MoveTo(147848, -83224, -5744);
Engine.MoveTo(148904, -82936, -5600);
Engine.MoveTo(148328, -84232, -5416);
Engine.MoveTo(147768, -85416, -5248);
Engine.MoveTo(147160, -86744, -5120);
Engine.MoveTo(146424, -88392, -4928);
Engine.MoveTo(145992, -89528, -4688);
Engine.MoveTo(147433, -89388, -4560);
Engine.MoveTo(148312, -88264, -4544);


engine.loadzone('123');

Engine.FaceControl(0,true); // пришли на, спот врубили интерфейс и фармим
delay(6000);
end;
end.



Админу Добра.
Всем Спасибо!
 
fan1k написал(а):
Хочу после Включения панели Добавить Маршрут что бы он бегал по нему туда и обратно и при этом вел фарм
Ну...Во время бега наврятли получится бить мобов. Хотя, если заморочиться, то возможно. Тебе в катах из комнаты в комнату бегать?
Попробуй через интерфейс настроить Combat Zone → Move using patch. Я сам не пользовался этой функцией, но видел видео, работало отлично. Мобов когда бежит не бьет.

Если все-таки скриптом нужно реализовать, то придумай условие при котором персонаж будет бежать по маршуту на другой спот. Например если мобов меньше < 1 или задержку просто поставь delay (подобрать путем тестирования, за сколько времени спот чистишь).
 
локация кетра,
мне нужно что бы пока бегал бил, ну двигался к точке
 
fan1k написал(а):
локация кетра, мне нужно что бы пока бегал бил, ну двигался к точке
Нужно чтобы именно бил? Или только отбивался от агров? Опиши подробнее процесс, как ты это видишь.
 
я ищу выходы При по постоянном запуске скрипта, Бот пытаеться убежать с топ спота зоны

я хочу чтобы бот как прибегает задал себе новую цель и не уходил с нее Цель маршрут + фарм

вот скрипт мой
Умер в Город
выключил Панель
бафнулся
телепорт
бежит на топ спот
прибежал - включил зону - Включил панель


хочу что бы после включения панели
он двигался по маршруту и бил мобов,
полноценый фарм


конкретнее

допустим вот маршрут

Engine.MoveTo(145562, -81643, -5459);
Engine.MoveTo(146536, -82216, -5936);
Engine.MoveTo(147848, -83224, -5744);
Engine.MoveTo(148904, -82936, -5600);
Engine.MoveTo(148328, -84232, -5416);
Engine.MoveTo(147768, -85416, -5248);
Engine.MoveTo(147160, -86744, -5120);
Engine.MoveTo(146424, -88392, -4928);
Engine.MoveTo(145992, -89528, -4688);
Engine.MoveTo(147433, -89388, -4560);
Engine.MoveTo(148312, -88264, -4544);

Этот маршрут будет стоять после включение панели бота
мне нужно что бы после включения ПАнели, бот двиваглся в этих точках, можно даже не много рандомизировать их
я так понимать нужно как то поставить на маршрут на зоне ПРИРОРИТЕТ
что бы в конце скрипта как он дошел до места включание панели он задал себе новый циклк только маршрута на топ споте
а если умер он грузить скрипт с начала с точков респов и пошел заново

баф,гк, бежит на топ спот, открыл зону, включил панель... ( И нужно что бы он задал новый маршрут который будет крутить этот маршрут по кругу и бить мобов и при мерно при держаться маршрута )

Если я ставлю скрипт на авто запуск то бот при бегает на топ спот и в какой то момент он начинает пытаться убежать с зоны ( я так понимаю скрипт же запущен цикл повтора и когда точка бега на топ спот рядом он начинает от клоняться от зоны фармы

вот я и думаю можно-ли в одном скрипте два цикла сделать обший цикл повтора и в нутри на маршрут тоже повтор цикла




Если я ох*ел вы так и скажите))) у меня губа не дура мечтать много можно)
хочеться просто уметь доводить дело до ума

чтобы ботов можно было оставить на целый день и не брать в голову что он там как АУТИСТ носиться по поляне
убегая с поляны
 
var obj: TL2NPC;
obj2: TL2Effect;
Enemy: TL2Live;
Begin
engine.loadzone('123');
Engine.FaceControl(0,true); // пришли на, спот врубили интерфейс и фармим
while delay(6000) do begin // бесконечный цикл
if not User.dead then continue;
напиши так вначале может поможет
 
это получается так ?

var obj: TL2NPC;
obj2: TL2Effect;

Enemy: TL2Live;
Begin
while delay(6000) do begin // бесконечный цикл


if User.Dead then // умер- вырубаем интерфейс, возврат в город и пауза 15 секунд
begin
Engine.FaceControl(0,false);
Engine.gohome;
delay(15000);
end;

if user.inrange(146272, -58176, -2976, 250, 150) //возле хранилища
then
begin
Engine.MoveTo(147593, -58103, -3007);
Engine.MoveTo(147727, -57141, -2807);
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;
if user.inrange(145264, -57680, -2976, 250, 150) //возле хранилища 2
then
begin
Engine.MoveTo(145588, -56926, -3007);
Engine.MoveTo(146673, -56095, -2807);
Engine.MoveTo(147543, -56054, -2807);
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;
if user.inrange(145696, -57696, -2976, 250, 150) //возле хранилища 3
then
begin
Engine.MoveTo(145510, -56930, -3007);
Engine.MoveTo(146499, -56202, -2807);
Engine.MoveTo(147481, -56031, -2807);
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;
if user.inrange(144944, -55392, -2976, 250, 150) //самый край
then
begin
Engine.MoveTo(145153, -56813, -3007);
Engine.MoveTo(145569, -56855, -3007);
Engine.MoveTo(146467, -56271, -2807);
Engine.MoveTo(147566, -56034, -2807);
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;
if user.inrange(144752, -56752, -2976, 250, 150) //самый край
then
begin
Engine.MoveTo(145534, -56884, -3007);
Engine.MoveTo(146265, -56418, -2807);
Engine.MoveTo(147407, -56063, -2807);
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;

//восточная лестница
if user.inrange(149120, -58064, -2976, 250, 150) //магазин
then
begin
Engine.MoveTo(147706, -58107, -3007);
Engine.MoveTo(147751, -56737, -2807);
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;
if user.inrange(150400, -56752, -2976, 250, 150) //самый край
then
begin
Engine.MoveTo(149935, -56870, -3007);
Engine.MoveTo(149139, -56390, -2807);
Engine.MoveTo(147929, -56063, -2807);
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;
if user.inrange(150704, -55744, -2976, 250, 150) //самый край 2
then
begin
Engine.MoveTo(149935, -56870, -3007);
Engine.MoveTo(149139, -56390, -2807);
Engine.MoveTo(147929, -56063, -2807);
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;

//северная лелтница
if user.inrange(147680, -58208, -2976, 250, 150) //низ центр лестницы
then
begin
Engine.MoveTo(147727, -57141, -2807);
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;
if user.inrange(148288, -58304, -2976, 250, 150) //низ центр лестницы чуть правее
then
begin
Engine.MoveTo(147738, -58050, -3007);
Engine.MoveTo(147727, -57141, -2807);
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;
if user.inrange(147232, -58480, -2976, 250, 150) //низ центр лестницы чуть левее
then
begin
Engine.MoveTo(147677, -58063, -3007);
Engine.MoveTo(147727, -57141, -2807);
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;
if user.inrange(149088, -56256, -2776, 250, 150)
then
begin
Engine.MoveTo(147854, -56054, -2807);
Engine.MoveTo(147934, -55354, -2760);
end;

//площадь
if user.inrange(146832, -55904, -2776, 250, 150) //площадь слева от лестницы
then
begin
Engine.MoveTo(147529, -56046, -2807);
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;
if user.inrange(146368, -56256, -2776, 250, 150) //площадь слева от лестницы 2
then
begin
Engine.MoveTo(147529, -56046, -2807);
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;
if user.inrange(147664, -56464, -2776, 250, 150) //площадь центр
then
begin
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;
if user.inrange(147680, -56928, -2776, 250, 150) //площадь центр 2
then
begin
Engine.MoveTo(147810, -56110, -2807);
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;
if user.inrange(148560, -55904, -2776, 250, 150) //площадь справа от лестницы
then
begin
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;
if user.inrange(149872, -57424, -2976, 250, 150)
then
begin
Engine.MoveTo(149897, -56910, -2979);
Engine.MoveTo(149230, -56412, -2779);
Engine.MoveTo(147939, -55999, -2772);
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;
if user.inrange(144960, -56224, -2976, 250, 150)
then
begin
Engine.MoveTo(145458, -56853, -2979);
Engine.MoveTo(146343, -56326, -2779);
Engine.MoveTo(147625, -55995, -2772);
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;
if user.inrange(144496, -55088, -2976, 250, 150)
then
begin
Engine.MoveTo(145327, -56873, -2979);
Engine.MoveTo(146337, -56445, -2779);
Engine.MoveTo(147533, -55963, -2766);
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;
if user.inrange(145392, -56960, -2976, 250, 150)
then
begin
Engine.MoveTo(146347, -56305, -2779);
Engine.MoveTo(147514, -56003, -2772);
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;

Engine.MoveTo(117096, 76904, -2688);
Engine.SetTarget(31275); // берем в таргет НПЦ с ИД( можно имя в скобках 'имя'
Engine.DlgOpen(); // открываем диалоговое окно
delay(500);
Engine.DlgSel(5);
delay(500);
Engine.DlgSel(6);
delay(500);


Engine.MoveTo(145562, -81643, -5459);
Engine.MoveTo(146536, -82216, -5936);
Engine.MoveTo(147848, -83224, -5744);
Engine.MoveTo(148904, -82936, -5600);
Engine.MoveTo(148328, -84232, -5416);
Engine.MoveTo(147768, -85416, -5248);
Engine.MoveTo(147160, -86744, -5120);
Engine.MoveTo(146424, -88392, -4928);
Engine.MoveTo(145992, -89528, -4688);
Engine.MoveTo(147433, -89388, -4560);
Engine.MoveTo(148312, -88264, -4544);

var obj: TL2NPC;
obj2: TL2Effect;
Enemy: TL2Live;
Begin
engine.loadzone('123');
Engine.FaceControl(0,true); // пришли на, спот врубили интерфейс и фармим
while delay(6000) do begin // бесконечный цикл
if not User.dead then continue;

end;
end.


Нету такой возможности проверить Адрик не работает опять защита.
 
fan1k написал(а):
я ищу выходы При по постоянном запуске скрипта, Бот пытаеться убежать с топ спота зоны
Эта проблема легко решается командой if user.inrange (координаты тп с города, с радиусом 150). При добавлении этой команды перестанет убегать с фарм зоны. Пример :

if user.inrange (координаты тп с города, с радиусом 150) then begin
//тут точки координат....
end;
А насчет бега по зоне и фарма я так и не понял, как ты видишь сам процесс. Можно сделать чтобы через определенное время менялись точки бега, можно по порядку можно рендом. Либо же при каком условии будет срабатывать бег в другую точку, если нет мобов в каком-то радиусе или меньше 1 моба, или через время, да много вариантов. Много тонкостей которых ты не обьяснил. Только учти, я много кода писать не буду :)
Продумай условие смены точки хорошо, а то паровозы можно собирать...Я могу написать на свое усмотрение, но скорее всего тебе такой вариант не подойдет, потому как я не знаю ни твоего бафа, ни эквипа, ни количества мобов у вас на сервере, ни их статы. В общем, конкретики от тебя нужно.
А еще мне интересно чем тебя не устраивает просто фарм ближних мобов в фарм зоне?
 
fan1k написал(а):
это получается так ?
var obj: TL2NPC;
obj2: TL2Effect;

Enemy: TL2Live;
Begin
engine.loadzone('123');
Engine.FaceControl(0,true); // пришли на, спот врубили интерфейс и фармим
while delay(6000) do begin // бесконечный цикл

if not user.dead then continue;
if User.Dead then // умер- вырубаем интерфейс, возврат в город и пауза 15 секунд
begin
Engine.FaceControl(0,false);
Engine.gohome;
delay(15000);
end;

if user.inrange(146272, -58176, -2976, 250, 150) //возле хранилища
then
begin
Engine.MoveTo(147727, -57141, -2807);
Engine.MoveTo(147936, -55368, -2760); //возле гк
end;

Engine.MoveTo(117096, 76904, -2688);
Engine.SetTarget(000); // берем в таргет НПЦ с ИД( можно имя в скобках 'имя'
Engine.DlgOpen(); // открываем диалоговое окно
delay(500);
Engine.DlgSel(0);
delay(500);
Engine.DlgSel(0);
delay(500);


Engine.MoveTo(145562, -81643, -5459);
Engine.MoveTo(146536, -82216, -5936);
Engine.MoveTo(147848, -83224, -5744);
Engine.MoveTo(148904, -82936, -5600);
Engine.MoveTo(148328, -84232, -5416);
Engine.MoveTo(147768, -85416, -5248);
Engine.MoveTo(147160, -86744, -5120);
Engine.MoveTo(146424, -88392, -4928);
Engine.MoveTo(145992, -89528, -4688);
Engine.MoveTo(147433, -89388, -4560);
Engine.MoveTo(148312, -88264, -4544);


engine.loadzone('123');

Engine.FaceControl(0,true); // пришли на, спот врубили интерфейс и фармим
delay(6000);
end;
end.
 
Назад
Сверху