Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Скрипт для рыбалки на сервере с защитой от кликеров
Dimanans
сообщение 29.6.2021, 23:51
Сообщение #1


*

Registred
Сообщений: 1
Регистрация: 29.6.2021
Группа: Пользователи
Наличность: 0
Пользователь №: 20.004
Возраст: 30



На моем сервере защита от кликеров (kleft работает, кнопки не передаются)
Заморочился и разобрался со скриптом на рыбалку (переделал старый от ORLANGUR с этого форума)

Для работы скрипта нужно открыть окно L2 на пол экрана и открыть экранную клавиатуру windows
Так же стоит добавить в Uopilot - edit hotkeys - start script - удобную кнопку (я использую Shift+F5)

Далее по процессу - я на мультипрофе играю, вам, возможно лучше будет использовать бафера/танцора/свс с прокаченным петом (чтобы он мог убить появляющегося моба)

Суть - встаем на спот, приближаем камеру максимально в голову персонажа (чтобы при кликах, которые рандомно появляются в l2 из-за нажатий кнопок экранной клавиатуры не убегал со спота) и сочетанием клавиш запускаем скрипт.

В скрипте задаем координаты линии цифр (1-9) экранной клавиатуры (#keysLine), координаты и цвет окон рыбалки и полоски рыбалки. тут вам придется 1-2 раза запустить скрипт в холостую - он в лог выведет нужные вам цвета. посмотрите, когда окно откроется - какой цвет в логе будет и его подставите.

Далее каждый цикл скрипт жмет некст таргет и атаку петом (если вылез моб)
И через заданное время ребафа перепризывает пета и бафает его (баф в макрос запихните и макрос на кнопку)

Потом ищет открытое окно рыбалки. если его нет - открывает и ждет полоску таймера рыбалки.
Как только нашел полоску - анализирует ее с разницей в 1 секунду и принимает решение тянуть или подсекать. Тут пришлось заморочиться, т.к. полоска только кажется одноцветной (голубой), а сама состоит из кучи точек с близкими цветами. Но выяснилось, что все голубые цвета имеют индекс >10млн


Кнопки расположите на цифрах 1-9 и в настройках скрипта укажите соответствующие им на экранной клавиатуре координаты по оси Y
Ну и не забудьте задержку между шагами выполнения на 0 поменять

Код

//Скрипт на рыбалку by Dimanans

//------------------------------------------Options----------------------------------------------

//Координаты полоски статуса рыбы
set %FishBar_Pos [1 1]  788 //X start
set %FishBar_Pos [1 2]  672 //Y start
set %FishBar_Pos [2 1]  1010 //X end
set %FishBar_Pos [2 2]  672 //Y end

//Клавиши
set #KeysLine 900
set #Start_Fishing 1575
set #Pump 1450
set #Reel 1515
set #NextTarget 1645
set #SummonAttack 1700
set #Buffer 1770
set #TargetMagnus 1830
set #TargetMe 1900
set #Unsummon 1970
set #Summon 2040

//Другие опции
set #FishBar_Color1 9792032  //цвет полоски остатка хп рыбы (Голубой)
set %Window_Pos [1 1]  795 //X start - для определения окна рыбалки (коричневый заголовок)
set %Window_Pos [1 2]  437 //Y start
set #Window_Color 1515044  //цвет окна рыбалки
set #FishBar_Step 5 // шаг элемента массива при анализе полоски
set #MinytDoRebafa 15
set #FirstLaunch 0

//-----------------------------------------------СКРИПТ--------------------------------------------
set $timerStart timenow
set $timerEnd addminutes($timerStart #MinytDoRebafa)
set $timerEnd timestamp ($timerEnd)

:prov

log 'Новый шаг'

//некст таргет и атака конем  на случай появления монстра
kleft #NextTarget, #KeysLine abs
wait 50
kleft #NextTarget, #KeysLine abs
wait 50
kleft #SummonAttack, #KeysLine abs
wait 10

//проверка - не пора ли бафнуться
set $timer timenow
if $timer > $timerEnd or #FirstLaunch = 1
   set #FirstLaunch 0
   kleft #TargetMe, #KeysLine abs  //чтобы не бежать на коня - выделим себя
   wait 100
   kleft #Unsummon, #KeysLine abs
   wait 3000
   kleft #Summon, #KeysLine abs
   wait 1500
   kleft #TargetMe, #KeysLine abs  //чтобы не бежать на коня - выделим себя
   wait 100
   kleft #TargetMe, #KeysLine abs  //чтобы не бежать на коня - выделим себя
   wait 100
   kleft #TargetMagnus, #KeysLine abs
   //wait 100
   kleft #Buffer, #KeysLine abs
   set $timerStart timenow
   set $timerEnd addminutes($timerStart #MinytDoRebafa)
   set $timerEnd timestamp ($timerEnd)
   wait 15000

   goto prov
end_if
log 'Ребаф будет в ' + $timerEnd

set #try 0
:retry1

//проверка наличия окна рыбалки
get color #Col %Window_Pos [1 1], %Window_Pos [1 2] abs
if #Col <> #Window_Color
   log #Col
   log 'Не нашел активного окна рыбалки - кликаем для его запуска'
   kleft #Start_Fishing, #KeysLine abs //send $Start_Fishing
   set #try #try + 1
   wait 3000
   get color #Col %Window_Pos [1 1], %Window_Pos [1 2] abs
   log #Col
   if #Col <> #Window_Color
        if #try > 10
            log 'Не получилось открыть окно рыбалки - увеличьте задержку или разберитесь с местом рыбалки'
            end_script
        else
            log 'Не получилось открыть окно рыбалки - пробую еще раз. Попытка номер' + #try
            goto retry1
        end_if
   else
       log 'Окно рыбалки открыто. Ищем полоску таймера'
   end_if
end_if


//Ищем полоску таймера рыбалки
get color #Col %FishBar_Pos [1 1], %FishBar_Pos [1 2] abs
set #iter 0
While #Col <> #FishBar_Color1
    get color #Col %FishBar_Pos [1 1], %FishBar_Pos [1 2] abs
    //log #Col
    set #iter #iter +1
    If #iter > 3500
        log 'не Нашел полоску - проверка наличия окна рыбалки. Текущий цвет=' + #Col
        get color #Col %Window_Pos [1 1], %Window_Pos [1 2] abs
        if #Col <> #Window_Color
            log 'Окно рыбалки не нашлось. Идем в начало'
            goto prov
        end_if
        get color #Col %FishBar_Pos [1 1], %FishBar_Pos [1 2] abs
    end_if
    If #iter > 6000
        log 'не Нашел полоску - выход из скрипта. тут можно добавить аларм на телефон'
        end_script
    end_if
end_while
log 'Нашел полоску за ' +  #iter

//----------------------------------------------------------------------------------
//____________Регистрация изменений полоски_____________

set #i2 0
set #i1 %FishBar_Pos [1 1]
set #end %FishBar_Pos [2 1]
While #i1 < #end
    set #i2 #i2 +1
    get color #Col #i1, %FishBar_Pos [1 2] abs
    set #xxx div(#Col 10000)  //там куча рандомных цветов, но у голубых индекс >10млн
    if #xxx < 1000
        set %FishBar_Aray_Color [1 #i2] 0
    else
        set %FishBar_Aray_Color [1 #i2] 1
    end_if
    set %FishBar_Aray_Color2 [1 #i2] #Col
    set #i1 #i1 + #FishBar_Step  //44
end_while
log 'Записал массив 1'
wait 1000

set #i2 0
set #i1 %FishBar_Pos [1 1]
While #i1 < #end
    set #i2 #i2 +1
    get color #Col #i1, %FishBar_Pos [1 2] abs
    set #xxx div(#Col 10000)
    if #xxx < 1000
        set %FishBar_Aray_Color [2 #i2] 0
    else
        set %FishBar_Aray_Color [2 #i2] 1
    end_if
    set %FishBar_Aray_Color2 [2 #i2] #Col
    set #i1 #i1 + #FishBar_Step //44
end_while
log 'Записал массив 2'

//------------------------------------------------------------------------------------------------------------
//__________________проверка изменения полоски___________
set #Operation 0
For #i3 1 #i2
    set #uslov1 %FishBar_Aray_Color [1 #i3]
    set #uslov2 %FishBar_Aray_Color [2 #i3]
    log #i3 + ' | ' + #uslov1  + ' = ' + #uslov2   + ' | ' + #Operation + ' | ' + %FishBar_Aray_Color2 [1 #i3] + ' = ' + %FishBar_Aray_Color2 [2 #i3]
    if #uslov1  <> #uslov2
        set #Operation #Operation +1
    else
        set #Operation #Operation +0
    end_if
end_for
log 'Сверил массивы'
log #Operation
//-------------------------------------------------------------------------------------------------------------

//принятие решение куда кликать и клик
if #Operation = 0
    kleft #Pump, #KeysLine abs //send $Pump
    log 'Нажал Pump'
    wait 200      //этот таймер зависит от времени отката физ скилов
    //на него могут повлиять умения свс и лучника на откат
    //ставить под себя на глаз (время отката вашего умения - секунда, пока идет очередная сверка массивов)
else
    kleft #Reel, #KeysLine abs //send $Reel //Reeling
    log 'Нажал Reel'
    wait 200
    set #Operation 0
end_if
wait 2500  //ждем закрытия окна рыбалки

goto prov
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Nifos
сообщение 8.12.2021, 10:05
Сообщение #2


*

Registred
Сообщений: 1
Регистрация: 8.12.2021
Группа: Пользователи
Наличность: 0
Пользователь №: 20.146
Возраст: 24



Приветствую, можешь для чайника подсказать, я застрял на ____________Регистрация изменений полоски_____________ просто скрипт бегает по кругу, что там необходимо изменить?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 27.4.2024, 21:38
Designed by Nickostyle