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

Проверка шага квеста

SARCAZM

Это что за покемон?
Команда форума
Рег
5 Июн 2015
Сообщения
1,446
Реакции
1
Trovo
SARCAZM
Код:
uses SysUtils;
procedure StatusQ(ID:integer=-1);
Var
i:integer;
stat:string;
begin
  Print('Инфо по квесту '+IntToStr(ID));
  for i:=1 to 32 do
  begin
    if Engine.QuestStatus(ID,i) then stat:='OK' else stat:=' -- ';
    Print('Шаг '+IntToStr(i)+' - '+stat);
  end;
end;

begin
  StatusQ(10323); // вместо 33333 вписываем ID  квеста
end.
 
@zaborosnosim, грубо говоря, шаг отображает нам, на каком этапе прохождения квеста мы находимся
шаг.jpg
 
@wassuup, в адрике справа где показывает список окружающих вкладка "Перонаж" - > "Информация" там квесты с ИД которые у тебя взяты на данный момент в той же последовательности что и в игре
 
А можно пример использования (хотя бы на "пальцах"), как заставить адрик выполнять скрипт на квест с последнего шага?
К примеру выполняется какой-то квест, шаг квеста номер три. Вынужденный релог(свет рубанули, инет или еще что-нибудь), запускаем скрипт на проверку шага, выявили на каком остановились. Как теперь заставить выполнять скрипт квеста с последнего шага?
Спасибо.
 
Я тоже не понял, процедура на проверку статуса квеста есть. А вот как шаги создавать?
 
@sasha282, Они уже созданы до тебя и записаны в игру (папка систем)
 
@Ivanius, Нет, я не то имел ввиду. Как скрипт будет видеть откуда ему продолжать квест? Или это не то о чем я подумал?
 
@sasha282, Как это как, алгоритмы и ветвления для этого и нужны, ставишь верное условие на этап квеста по томуже квест статусу и вперед, у меня так сделано штук 80 квестов, без этого никак ))
 
Уровень персонажа, координаты персонажа, наличие квестов, стадии квестов, квестовые итемы, итемы, которые даются по квестам - вот по всему этому можно узнать, на какой стадии персонаж.
 
@Ivanius, Я не могу понять зачем эта процедура и как ее использовать, если есть команда if Engine.QuestStatus(257,1) then begin , которая вроде бы работает (потестил немного). Единственное, не работает, когда нет квеста в инвентаре, тоесть ни при шаге "-1", ни при шаге "0" условие не срабатывает. Но я думаю это не страшно, можно что-то придумать.
 
@Krickt, я как раз на РПГ х7 тестил, все четко со стадиями квеста. Всеравно не пойму, процедура обращается все к той же команде, каким образом она поможет, если эта команда не работает. У меня на рпг бот перестает со временем видеть итемы квестовые, и поэтому стопорятся скрипты, по этой причине возникла потребность в шагах квеста. Я уже придумал как реализовать шаги в квестах, только нужно время для реализации. Мини тест был удачным )) Но с большим скриптом могут возникнуть проблемы...
 
@Krickt, ну наверно, та процедура, которая была выложена автором? С чего бы я что-то другое тут обсуждал. Я все еще не понял для чего она, и как ее использовать. Пока я вижу только в том плюс, что она пишет шаг квеста в чат. Сами шаги квеста можна сделать, я думаю, командой if Engine.QuestStatus(257,1) then begin , как я писал выше, мини тест был удачным )
 
@sasha282, Да вы наконец пришли к логике - а без нее в программировании никак. именно это мы и пытались Вам обьяснить про "обьяснение боту где он сейчас находится" (Engine.QuestStatus(257,1)) это какраз оно.
 
@Ivanius, понял вроде бы :) Не подскажите как прописать командой "если нет квеста" значения "-1" и "0" не работают? На РПГ почему-то всегда 1 шаг, хотя на самом деле уже 3 шага сделал. Наверно эту проблему имел ввиду Krickt
 
Назад
Сверху