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

Скрипт OGG walker [баф/тп/закупка возврат на спот]


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

небольшой скрипт для L2walker 10.8.6.

Возможности

  • Проверка Buff (Dance of Fire[Id=274]) - если buff спал, используем SoE;
  • В городе проверяет банки и SoE, если чего-то не хватает идет и докупает!
  • Накладывает buff!
  • Возвращается на спот через телепорт!

Настройки

Настройка бота будет не затруднительна если прочесть мануал по командам!

В основном там необходимо изменить точки для возврата на спот, проверяемый скил buff и можно поменять сами buff опираясь на свой вкус и диалог NPC!

Для корректной работы скрипта убирайте галочку "Real Map"

//ОСНОВНОЙ ЦИКЛ ПРОГРАММЫ
LABEL(MAIN)
CharBuffs(Dance of Fire[Id=274]) 
{
DELAY(5000)
JMP(MAIN)    
}
//END MAIN


//ЕСЛИ MAIN ВЫШЕЛ ИЗ ЦИКЛА (НЕТ БАФА)
//ПРОВЕРЯЕМ ПОЗИЦИЮ ПЕРСОНАЖА В ГОРОДЕ
//POS
LABEL(POS)
DELAY(2000)
SET(FIGHTSTOP) // стоп бой
DELAY(2000)
Set(L2Walker,Disable)
DELAY(2000)
CharStatus(STAND,==,0)
{
ChangeWaitType(1)
}
DELAY(1000)
POSOUTRANGE(82536,53864,-1488,3800)
{
DELAY(1000)
USEITEM(Scroll of Escape[ID=736]) //телепорт в город
DELAY(15000) // ждем

POSOUTRANGE(82536,53864,-1488,4800) // проверим в городе или нет
{
DELAY(10000)
JMP(POS)
}


//END POS

//ПРОвЕРЯЕМ НУЖНыЕ ПРЕДМЕТЫ (СОЕ БАнКИ И ПРОЧЕЕ)
LABEL(ITEM)
ITEMCOUNT(Healing Potion[ID=1061],<,2)
{
DELAY(2000)
JMP(BUY)
}
ITEMCOUNT(Scroll of Escape[ID=736],<,2)
{
DELAY(2000)
JMP(BUY)
}
//END ITEM

//РЕБАф У НПС (ОРЕН)
LABEL(BUFF)
ITEMCOUNT(Scroll: Recovery (Grade D)[ID=8595],>,1)//ВДРУГ УМЕРЛИ  И НУЖНО УБРАТЬ DP
{
USEITEM(Scroll: Recovery (Grade D)[ID=8595])
}
CharStatus(STAND,==,0)
{
ChangeWaitType(1)
}
DELAY(2000)
MOVETO(82424, 53768, -1488)
DELAY(15000)
NPCSEL(Jacquard[ID=35639])
DELAY(1000) 
NPCDLG(Jacquard[ID=35639]) 
DELAY(15000) 
DLGSEL(Атакующий) // НУЖНЫЙ ПАК
DELAY(1000)
CharStatus(STAND,==,0)
{
ChangeWaitType(1)
}
DELAY(2000)
DLGSEL(CP HP MP)
DELAY(5000)
DLGSEL(Сменить цель)
DELAY(1000)
CharBuffs(Dance of Fire[Id=274]) 
{
DELAY(5000)
JMP(TP)
}
DELAY(5000)
JMP(BUFF)  
//END BUFF

//ТЕЛЕПОРТ НА СПОТ
LABEL(TP)
CharStatus(STAND,==,0)
{
ChangeWaitType(1)
}
NPCSEL(Valentina[ID=7177])
DELAY(1000)
NPCDLG(Valentina[ID=7177])
DELAY(10000) 
DLGSEL(Телепорт) 
DELAY(5000)
DLGSEL(Plains of the Lizardmen - 0 Adena)
DELAY(2000)
MOVETO(87496, 83976, -3056)
MOVETO(87016, 81368, -3472)
SET(FIGHTSTART)
Set(L2Walker,Enable)
DELAY(5000)
JMP(MAIN)
//END TP

//Покупка НУЖНЫХ ПРЕДМЕТОВ
LABEL(BUY)
CharStatus(STAND,==,0)
{
ChangeWaitType(1)
}
DELAY(3600)
//БЕЖЫМ К НИПУ
MOVETO(82424, 53768, -1488)
DELAY(4000)
MOVETO(80536, 53992, -1552)
DELAY(4000)
MOVETO(80376, 55048, -1544)
DELAY(4000)
MOVETO(79640, 55000, -1544)
DELAY(4000)
MOVETO(79544, 55016, -1544)
//ПОКУПАЕМ
DELAY(1000)
NPCSEL(Sara[ID=7180])
DELAY(5000)
NPCDLG(Sara[ID=7180])
DELAY(5000)  
DLGSEL(Купить снадобья и минералы)
DELAY(10000)
BUYITEM(Scroll of Escape[ID=736],5;Healing Potion[ID=1061],100;)
DELAY(4000)
MOVETO(79640, 55000, -1544)
DELAY(4000)
MOVETO(80376, 55048, -1544)
DELAY(4000)
MOVETO(80536, 53992, -1552)
DELAY(4000)
MOVETO(82424, 53768, -1488)
DELAY(15000)
JMP(BUFF)

Скрипт несет большую часть нагрузки именно на закупку и buff! все остальное переделываем под себя!

  • Like 1
Ссылка на сообщение
Поделиться на другие сайты
  • 3 месяца спустя...
2 hours ago, Kingsley said:



CharBuffs (Dance of Fire [Id = 274]) 

This command is check buff and do something in { }

But which command that i can check if i dont have buff ? Can you help me out ?

Yes, syntax is:

CHARBUFFS (Buffname [ID=xxx]) // i prefer to use with ID only. NOt only it's more convenient, but minimizes chances to make a typo
{
//what to do when buff is on
}

There are some mentions that this statement can be reversed by !CharBuffs, but as far as I remember it didn't work for me so only proper way to use it to me is

LABEL(buffcheck)
CharBuffs([ID=1068]) //might
{
delay(5000)
JMP(buffcheck)
}
//What to do if the buff is gone
blah blah blah

JMP buffcheck

-check every 5 secons if buff is present

-if not, break the cycle and perform some steps

-when finished, resume buff check cycle

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

i want to use buff "Shield" to check buff.

i found in folder  WPF/Data/packet a file name T2SkillID.ini,  "Shield" buff have "ID=410" . i tried to add buff ID into script but seen its not correct :D  and i also saw the skill ID of "42C=Might"      and  "112=Dance of Fire" are not the same ID of you guys :( 

P/s: I can't edit my previous post :(

Ссылка на сообщение
Поделиться на другие сайты
On 22.06.2021 at 21:13, Kingsley said:

i want to use buff "Shield" to check buff.

i found in folder  WPF/Data/packet a file name T2SkillID.ini,  "Shield" buff have "ID=410" . i tried to add buff ID into script but seen its not correct :D  and i also saw the skill ID of "42C=Might"      and  "112=Dance of Fire" are not the same ID of you guys :( 

P/s: I can't edit my previous post :(

Use databases. I prefer l2j.ru (there's an English version there too). Search for skill you need and look for id in page address. For instance:

http://l2j.ru/test/index.php?p=19&skid=1040

So ID here is 1040

Изменено пользователем Intervence
  • Like 1
Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

Scroll: Recovery (Grade D)[ID=8595] Не проверяет к-во и не закупает в магазине. Незнаю с чем это связано. Скопировал название и ИД из IG бота, всё тоже самое

Ссылка на сообщение
Поделиться на другие сайты
6 minutes ago, Гражданин said:

Scroll: Recovery (Grade D)[ID=8595] Не проверяет к-во и не закупает в магазине. Незнаю с чем это связано. Скопировал название и ИД из IG бота, всё тоже самое

а почему он должен закупать ?

Ссылка на сообщение
Поделиться на другие сайты
3 minutes ago, OneFinal said:

а почему он должен закупать ?

Ну я написал по подобию

ITEMCOUNT(Scroll: Recovery (Grade D)[ID=8595],<,2)
{
NPCDLG(Lara[ID=30063])
DELAY(2000)
DLGSEL(Купить снадобья и минералы)
DELAY(2000)
BUYITEM(Scroll: Recovery (Grade D)[ID=8595],1)
}
DELAY(2000)

Нет ни проверки, ни закупки, если проверку закомментировать. Банки и свитки покупает, а эту хрень нехочет, как будто она особенная

Ссылка на сообщение
Поделиться на другие сайты
40 minutes ago, Гражданин said:

Банки и свитки покупает, а эту хрень нехочет, как будто она особенная

Все покупается.  Учи азы скриптописания.

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

Интересные дела выяснились. В Волкере ООГ в файле T2Items есть ошибка.

Там стоит такая сточка:

2188=Scroll: Recovery (Grade D)

2188 это шестнадцатеричное число. Однако ID=8595 при переводе в HEX будет равно 2193, что соответствует Herb of Power.

Заменил в скрипте строчку на 

BUYITEM(Herb of Power[ID=8595],1)

Теперь она нормально покупает скролл.

Можно попробовать поменять местами названия, но как мне кажется, хербы тоже будут не на своём месте. 

Поменял местами, перезапустил WPF, пока полёт нормальный

Могу выложить файлик кому лень руками ковырять, но тут кругом ограничения на форматы прикреплений

Изменено пользователем Гражданин
Ссылка на сообщение
Поделиться на другие сайты
3 minutes ago, Гражданин said:

 

Короче ничего этот файлик не даёт, придётся в скриптах использовать название хербов.

открою тебе секрет, если ты напишешь
 

BUYITEM(asdasd[ID=8595],1)

он тоже купит

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

Я пробовал, он просто пропускает команду.

Как и ITEMCOUNT(Scroll: Recovery (Grade D)[ID=8595],<,10)  и  ITEMCOUNT(Scroll: Recovery (Grade D)[ID=8595],>,10) оба не выполняют код в скобках (при любом к-ве скролов в инвентаре)

Ссылка на сообщение
Поделиться на другие сайты
4 minutes ago, Гражданин said:

Я пробовал, он просто пропускает команду.

Как и ITEMCOUNT(Scroll: Recovery (Grade D)[ID=8595],<,10)  и  ITEMCOUNT(Scroll: Recovery (Grade D)[ID=8595],>,10) оба не выполняют код в скобках (при любом к-ве скролов в инвентаре)

дааа... сложно тебе живется наверно

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

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

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

@Гражданинне думал устроиться тестировщиком? У тебя неплохо получается ломать то, что вроде бы неплохо работает хD

Казалось бы: используй id, name, или name[id], но использовать связку, где name != id,  это сильно))

Изменено пользователем Intervence
Ссылка на сообщение
Поделиться на другие сайты
2 minutes ago, Intervence said:

@Гражданинне думал устроиться тестировщиком? У тебя неплохо получается ломать то, что вроде бы неплохо работает хD

Ну ты же не знаешь, кто я и чем занимаюсь.

Ссылка на сообщение
Поделиться на другие сайты
4 minutes ago, Гражданин said:

Ну ты же не знаешь, кто я и чем занимаюсь.

Не знаю, конечно. Иначе сказал бы нечто вроде: "бросай кфс, становись тестировщиком". Я же задал вопрос иначе

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

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

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

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

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

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

Войти

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

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