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

скрипт на призывного рб

Рег
20 Ноя 2015
Сообщения
14
Реакции
0
Помогите вот пытался сделать скрипт на вызывного рб. Но почемоту он не добегает до точки и делает сое. Заранее благодарен
begin
Engine.SetTarget(31275); // Татьяна
Engine.DlgOpen;
Engine.DlgSel(1);
delay (1000);
Engine.DlgSel(9);
delay(5000);
Engine.CancelTarget;
if (User.DistTo(125705, -40798, -3744) < 1000) then Engine.MoveTo(125705, -40798, -3744);
if (User.DistTo(125496, -40904, -3696) < 1000) then Engine.MoveTo(125496, -40904, -3696);
Engine.SetTarget(31378); // Наран Ашанук
Engine.DlgOpen;
delay(500);
Engine.DlgSel(1);
delay(500);
Engine.DlgSel(2);
delay(500);
Engine.DlgSel(1);
delay(3000);
Engine.UseItem(736,false);
delay(15000);
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.SetTarget(31275); // Татьяна
Engine.DlgOpen;
// тут записываем диалог
Engine.DlgSel(3);
delay(500);
Engine.DlgSel(2);
delay(500);
Engine.DlgSel(3);
delay(5000);
Engine.CancelTarget;
Engine.MoveTo(107997, -52211, -2392);
delay(500);
Engine.MoveTo(108584, -52808, -2496);
delay(500);
Engine.MoveTo(109048, -53320, -2632);
delay(500);
Engine.SetTarget(31379); // Удан Мардуи
Engine.DlgOpen;
Engine.DlgSel(1);
Engine.DlgSel(1);
Engine.UseItem(736);
delay (15000);
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.SetTarget(31275); // Татьяна
Engine.DlgOpen;
// тут записываем диалог
Engine.DlgSel(3);
delay(500);
Engine.DlgSel(2);
delay(500);
Engine.DlgSel(4);
delay(5000);
Engine.CancelTarget;
if (User.DistTo(149777, -80110, -5568) < 1000) then Engine.MoveTo(149777, -80110, -5568);
if (User.DistTo(150072, -79944, -5568) < 1000) then Engine.MoveTo(150072, -79944, -5568);
if (User.DistTo(149224, -81320, -5616) < 1000) then Engine.MoveTo(149224, -81320, -5616);
if (User.DistTo(149096, -81512, -5616) < 1000) then Engine.MoveTo(149096, -81512, -5616);
Engine.SetTarget(31559); // Сундук Азефы
Engine.DlgOpen;
// тут записываем диалог
Engine.DlgSel(1);
delay(500);
Engine.DlgSel(1);
delay(500);
Engine.UseItem(736);
delay (15000);
Engine.CancelTarget;
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.SetTarget(31275); // Татьяна
Engine.DlgOpen;
// тут записываем диалог
Engine.DlgSel(3);
delay(500);
Engine.DlgSel(2);
delay(500);
Engine.DlgSel(3);
Engine.CancelTarget;
if (User.DistTo(108680, -52888, -2496) < 1000) then Engine.MoveTo(108680, -52888, -2496);
if (User.DistTo(108888, -53112, -2576) < 1000) then Engine.MoveTo(108888, -53112, -2576);
if (User.DistTo(109064, -53336, -2632) < 1000) then Engine.MoveTo(109064, -53336, -2632);
Engine.SetTarget(31379); // Удан Мардуи
Engine.DlgOpen;
// тут записываем диалог
Engine.DlgSel(1);
delay(500);
Engine.DlgSel(1);
delay(500);
Engine.CancelTarget;
Engine.DlgSel(1);
delay(500);
Engine.DlgSel(1);
Engine.UseItem(736);
end.
 
очень информативное описание и хорошее оформление

на каком из шагов он юзает сое? Что за РБ?

А еще у меня вытекают глаза, от такого форматирования и оформления

У тебя в скрипте 4 раза используется СОЕ, я не понимаю в чем у тебя проблема.
 
скрипт на доработку оформления и метки в каком приблизительно месте проблема.
 
1. Это квест на призывного рб в кетре
2. Делает сое в деревне кетре когда нужно подойти к сундуку поговорить, но он не добегая до сундука использует тп, а должен после разговора с ним делать сое. (Все выполнено через нобл тп)
Engine.SetTarget(31275); // Татьяна
Engine.DlgOpen;
// тут записываем диалог
Engine.DlgSel(3);
delay(500);
Engine.DlgSel(2);
delay(500);
Engine.DlgSel(3);
delay(5000);
Engine.CancelTarget;
Engine.MoveTo(107997, -52211, -2392);
delay(500);
Engine.MoveTo(108584, -52808, -2496);
delay(500);
Engine.MoveTo(109048, -53320, -2632);
delay(500);
Engine.SetTarget(31379); // Удан Мардуи
Engine.DlgOpen;
Engine.DlgSel(1);
Engine.DlgSel(1);
Engine.UseItem(736);
delay (15000);
 
@Firstdamage, delay сделай, проверку на координаты и шага квеста. Я ленивый просто бы делай воткнул.
У тебя тут, грубо говоря, тупо за 1 сек происходят 4 действия(Но это грубо говоря, как я замечал на каждую строку без задержки уходит 1-2сек). Думаешь сервер и твой инет успевает все это сделать?)

Код:
 Engine.DlgOpen;
  Engine.DlgSel(1);
  Engine.DlgSel(1);
  Engine.UseItem(736);
  delay (15000);
 
@Firstdamage, Здрасте.

после Engine.MoveTo Задержка не нужна. Он и так будет туда бежать с необходимой задержкой. Но с задержкой он будет явно останавливаться дергаться в конечной точке. ( у меня так)

После выполнения любых действий необходима задержка миниумм 100 мс ( delay(100); ) при диалоге с НПС я на моем сервере ставлю целых 1000 т.к. лагает часто.


Вот проверка на статус квеста:
Код:
While not Engine.QuestStatus( 'ID квеста' , 'Шаг квеста' ) do
  begin
     Engine.DlgOpen;
     delay (100);
     Engine.DlgSel(1);
     delay (100);
     Engine.DlgSel(1);
     delay (100);
     Engine.UseItem(736);
     delay (5000);
  end;
 
@Krickt, а откуда можно узнать что действие ждет своего завершения?
 
Krickt написал(а):
нужна только когда сама функция не ожидает окончания своего выполнения
а откуда можно узнать что функция ждет своего завершения?
 
Назад
Сверху