Перейти к содержанию

Скрипт на сдачу квест итемов


Рекомендуемые сообщения

Попытался следуя гайду по написанию скриптов создать простенький скрипт что бы создавать скелеты по квесту грим коллектор (лоу квест в глудио)

Но ничего не работает. Посмотрите пожалуйста где я мог ошибиться.

Вот один вариант:

procedure Qw;
begin
    Engine.SetTarget(30342);
    Engine.DlgOpen();
    delay(1500);
    Engine.BypassToServer('npc_268471337_Quest');
    delay(1500);
    Engine.BypassToServer('Quest _325_GrimCollector varsak_q0325_03.htm');
    delay(1500);
end;

Вот второй вариант:

             procedure Qw;
begin
  Engine.SetTarget(30342);
  Engine.MoveToTarget(-20);
  delay(1500);
  Engine.DlgOpen;
  delay(1500);
  Engine.DlgSel(1);
  delay(1500);
  Engine.DlgSel(1);
  delay(1500);
end;

 

Ссылка на сообщение
Поделиться на другие сайты

Второй вариант можно без процедуры сделать.

Если без, то выглядеть будет примерно так:

begin
  Engine.SetTarget(30342); 
  delay(1500);
  Engine.DlgOpen;
  delay(1500);
  Engine.DlgSel(1);
  delay(1500);
  Engine.DlgSel(1);
  delay(1500);
end;

если с процедурой, то вот так:

procedure quest();
begin
  Engine.SetTarget(30342);
  delay(1500);
  Engine.DlgOpen;
  delay(1500);
  Engine.DlgSel(1);
  delay(1500);
  Engine.DlgSel(1);
  delay(1500);
end;

begin
  Script.NewThread(@quest);
end.

 

Изменено пользователем hanador2249
Ссылка на сообщение
Поделиться на другие сайты

Благодарствую за помощ!

Методом научного тыка получилось сделать рабочий скрипт:

 procedure quest();
begin
  Engine.SetTarget(30342);
  delay(1000);
  Engine.MoveToTarget(-20);
  delay(1000);
  Engine.DlgOpen;
  delay(1000);
  Engine.DlgSel(1);
  delay(1000);
  Engine.BypassToServer('Quest _325_GrimCollector varsak_q0325_03.htm');
  delay(1000);
end;

begin
  Script.NewThread(@quest);
end.

Сейчас пойду читать как его запустить по кругу с помощью цикла

Вот как вы советовали обернул квест через while:

 procedure quest();
while delay(1000) do begin;
  begin
    Engine.SetTarget(30342);
    delay(1000);
    Engine.MoveToTarget(-20);
    delay(1000);
    Engine.DlgOpen;
    delay(1000);
    Engine.DlgSel(1);
    delay(1000);
    Engine.BypassToServer('Quest _325_GrimCollector varsak_q0325_03.htm');
    delay(1000);
  end;

  begin
    Script.NewThread(@quest);
  end;
end.  

но такой вариант не работает. выдает ошибку прям на строчке с while

Ссылка на сообщение
Поделиться на другие сайты
On 02.12.2023 at 01:41, Antiput said:

Благодарствую за помощ!

Методом научного тыка получилось сделать рабочий скрипт:


 procedure quest();
begin
  Engine.SetTarget(30342);
  delay(1000);
  Engine.MoveToTarget(-20);
  delay(1000);
  Engine.DlgOpen;
  delay(1000);
  Engine.DlgSel(1);
  delay(1000);
  Engine.BypassToServer('Quest _325_GrimCollector varsak_q0325_03.htm');
  delay(1000);
end;

begin
  Script.NewThread(@quest);
end.

Сейчас пойду читать как его запустить по кругу с помощью цикла

Вот как вы советовали обернул квест через while:


 procedure quest();
while delay(1000) do begin;
  begin
    Engine.SetTarget(30342);
    delay(1000);
    Engine.MoveToTarget(-20);
    delay(1000);
    Engine.DlgOpen;
    delay(1000);
    Engine.DlgSel(1);
    delay(1000);
    Engine.BypassToServer('Quest _325_GrimCollector varsak_q0325_03.htm');
    delay(1000);
  end;

  begin
    Script.NewThread(@quest);
  end;
end.  

но такой вариант не работает. выдает ошибку прям на строчке с while

while delay(1000) do
  begin
Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...