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

приоритеты.

Рег
20 Ноя 2015
Сообщения
94
Реакции
0
Всем привет!
Вопрос таков. Как реализовать приоритеты по профессиям в уже готовых скриптах?
К примеру в том же самом скрипте на ресскил. Допустим одновременно встают 2 мага - сорк и мм.
Как сделать так, чтобы он выделял именно мма в таргет?
 
Одновременно встать не могут.

Встает ММ. Берешь его в таргет.
Встает Сорк. Проверяешь, что у тебя щас ММ в таргете и ты его взял недавно -> Не берешь сорка в таргет.
Ну как-то так надо мутить.
 
@Krickt, Зайдем с другой стороны) Как реализовать клинс по приоритетам(биш->ее->маг->овер)?) Спасибо за ответ!
 
@Nevada, ставь 2 реса одина на мма второй на сорка и ставишь галочку до исп 2-3 сек и усе,если мм и сорк будут падать одновременно мма будет ресать первым
 
Сортировку мне делать лень, но оно в интернете есть.
Крч не так просто, как ты наверно думал.
Код:
const
  ClassPriorityList: array of integer = [
    // ID класса, приоритет
    35, 1,
    65, 2,
    67, 2
  ];


type
  TGroupItem = packed record
    Ch: TL2Char;
    Rating: integer;
  end;
  TGroup = packed record
    Items: array [0..8] of TGroupItem;
    Count: integer;
  end;
  
var
  i, j: integer;
  Group: TGroup;


procedure SortGroup;
begin


end;


begin
  while (true) do
  begin
    delay(10);
    // формируем свой список группы с дополнительным полем Rating
    Group.Count:= 0;
    for i:= 0 to Party.Chars.count - 1 do
    begin
      inc(Group.Count);
      Group.Items[i].Ch:= Party.Chars.items(i);
      Group.Items[i].Rating:= 0;
      // находим класс в списке классов и выставляем Rating по приоритету класса
      for j:= 0 to high(ClassPriorityList) do
      begin
        if (Group.Items[i].Ch.ClassID = ClassPriorityList[j]) then
        begin
          Group.Items[i].Rating:= ClassPriorityList[j + 1]; 
          break;
        end;
        inc(j); // увеличиваем дополнительно, чтобы по i был ID класса
      end;
    end;


    // Сортируем
    SortGroup;


    // Все, теперь наша пати отсортирована по классам, можем использовать
    for i:= 0 to Group.Count - 1 do
      print(Group.Items[i].Ch.name);
  end;
end.
 
@Krickt, вдруг так не настроит,придется интерфейсом,пусть будет!
 
@ganj, интерфейсом адрика я не пользуюсь очень давно)
@Krickt, спасибо большое за ответ) Ща попробую переварить скриптик, что ты скинул)
 
Назад
Сверху