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

Баф

Рег
15 Янв 2016
Сообщения
9
Реакции
0
Надеюсь эта тема не продублируется. Создавал аналог но не нашел его на форуме, быть может что то сделал не так.

Есть вот такой простой скриптик (достался от прежнего владельца Адрика)

var
BF:TL2Buff;
begin
while true do
begin
if Engine.GetUser().Buffs.ByID(1355,BF) = false then
begin
Engine.InviteParty('BD');
Delay(5000);
Engine.DismissParty('BD');
Engine.InviteParty('SVS');
Delay(5000);
Engine.DismissParty('SVS');
Delay(125000);
end;
end;

end.

Все танцует и поет вроде нормально. Теперь сам вопрос: Как припаять сюда еще и VK. До строки Delay(125000); смысла я понимаю нет варка вписать, нужно отдельный промежуток времени ему ставить. Вот только как это сделать....

Сразу скажу я полный чайник как в Английском так и в Скриптовом. Пожалуйста поподробней.
 
var
BF:TL2Buff;

Procedure BDSVS;
begin
while true do
begin
if Engine.GetUser().Buffs.ByID(1355,BF) = false then
begin
Engine.InviteParty('BD');
Delay(5000);
Engine.DismissParty('BD');
Engine.InviteParty('SVS');
Delay(5000);
Engine.DismissParty('SVS');
Delay(125000);
end;
delay(3000);
end;
end;

Procedure VK;
begin
while true do
begin
if Engine.GetUser().Buffs.ByID(666,BF) = false then
begin
Engine.InviteParty('VK');
Delay(10000);
Engine.DismissParty('VK');
Delay(19*60*1000);
end;
delay(3000);
end;
end;

begin
script.newthread(@BDSVS);
delay(500);
script.newthread(@VK);
end.

Вместо 666 вставь какой-нибудь ид бафа варка.
 
@savant, спасибо.
Ид не обязателен, на варке настроен пати баф с >59 секунды. пусть крутит все так сказать что падает. Так же и денсы даются.
Ткните меня носом в кнопку спасибо. Хоть убивайте, а я её не найду никак.

Раз уж зашла речь об id бафа, поинтересуюсь а как его узнать? Мы же не о названии скила щас говорим?
 
Makcber написал(а):
Раз уж зашла речь об id бафа, поинтересуюсь а как его узнать? Мы же не о названии скила щас говорим?
В адрике персонаж => умения => бафы на мне
 
Не буду создавать новую тему , но хочется маленько довести до ума этот скриптик горячей клавишей.
Нашел в одной из тем вот эти строчки:

Engine.FaceControl(0,true); //turn on bot вкл
Engine.FaceControl(0,false); //turn off bot выкл


Подскажите как и это припаять? желательно через Num клавиши если можно.

Сам пробовал но что то не работает... (
 
@Makcber, бот запускается через клавишу insert
 
@PalmaDeMajorka, Insert вкл\выкл всех ботов в пати активного окна. END вкл\выкл только активное окно.
 
@savant, вопросик появился.

Вопрос 1 - Как пользоваться вот этой строкой

if Engine.GetUser().Buffs.ByID(1355,BF) = false then

заменял (1355,BF) на (271,BF) он же танец воителя, но окна никак не хотят петь и плясать.

Вопрос 2 - Как будет выглядеть этаже строка если нужно забить туда несколько танцев и песен?

Вопрос 3 - Основной вопрос. Суть проблемы вот в чем: Основное окно доросло до уровня Сапорта и пара качаться всем вместе уже. Жаба душит давать не по 5 бафов с бд и свс. Нужно что бы порядок действий был таков - БД СВС находятся в пати / СВС ливает с пати / БД дает денс и выходит с пати / СВС присоединяется к пати и поет / БД присоединяется к пати / качаемся 2 мин / и все по новой.

После некоторых размышлений получил вот что:

BF:TL2Buff;
begin
while true do
begin
if Engine.GetUser().Buffs.ByID(247,BF) = false then
begin

Engine.DismissParty('БД');
Engine.DismissParty('СВС');
Delay(25000);
Engine.InviteParty('СВС');
Delay(10000);
Engine.DismissParty('СВС');
Engine.InviteParty('БД');
Delay(10000);
Engine.InviteParty('СВС');
Engine.InviteParty('БД');
Delay(1*95*1000);
end;
end;

end.

Но что то в этом скрипте не доработано, а именно бафы даются через настройки пати бафа а не строкой выше сказанной и нельзя ли сделать что бы всегда висели бафы от бд и свс? В моем скрипте основные бафы от бд даются с мертвой зоной так сказать примерно в 15-20 сек пока не упадут бафы свса.
Надеюсь понятно объяснил что я хочу)
 
@Makcber,
1) Это строка проверяет, отсутствует ли у пользователя баф с указанным ИД. В твоем примере, если танец воителя присутствует, то петь и танцевать никто не будет, т.к. адрик проверяет отсутствие бафа, а не присутствие.
2) А зачем забивать туда несколько танцев? Забей ИД одного. Если он спал, то значит спали (или скоро спадут) и все остальные. Делай небольшую задержку (чтобы спали остальные танцы) и бафайся.
3) Тут тяжело переделать текущий код под твой запрос. Суть в том, что у тебя идет проверка на отсутствие бафа, но если бд в пачке, то в случае отсутствия бафа - он автоматом начнет плясать и адрик возможно неуспеет это заметить и не зайдет в тело цикла. Я бы вырубил интерфейсы на БД и СВС и каждому написал по небольшому скрипту. Но наверное возможно сделать и легче. У меня сейчас просто голова не работает, я на обеде)))
 
Вопрос все еще открыт. Пока пытаюсь что-то слепить подходящее из готовых тем на форуме но безуспешно.
 
Назад
Сверху