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

> Нужна помощь с goto и gosub, Uopilot
redn
сообщение 7.2.2025, 15:29
Сообщение #1


*

Registred
Сообщений: 3
Регистрация: 5.2.2025
Группа: Пользователи
Наличность: 0
Пользователь №: 20.902
Возраст: 19



Добрый день ! Впервые пишу на форум, подскажите пожалуйста, возникает проблема в коде - есть две функции if, каждая из которых заканчивается на goto/gosub, при этом, вторая функция, через gosub, всегда успешно находит метку и переходит к ней, а первая не видит метки вне зависимости от её имени или типа функции (не находит ни через goto, ни через gosub), как это можно исправить ?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
DarkMaster
сообщение 7.2.2025, 16:30
Сообщение #2


***********

Модератор UOPilot
Сообщений: 9.735
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29621
Пользователь №: 11.279



Дайте код. Без этого очень сложно.
Так же я настоятельно рекомендую переходить на lua синтаксис. Оставаться на старом типа синтаксиса смысле не имеет. Активируется помещением --lua в нулевую строку скрипта.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
redn
сообщение 8.2.2025, 4:03
Сообщение #3


*

Registred
Сообщений: 3
Регистрация: 5.2.2025
Группа: Пользователи
Наличность: 0
Пользователь №: 20.902
Возраст: 19



Цитата(DarkMaster @ 7.2.2025, 18:30) *

Дайте код. Без этого очень сложно.
Так же я настоятельно рекомендую переходить на lua синтаксис. Оставаться на старом типа синтаксиса смысле не имеет. Активируется помещением --lua в нулевую строку скрипта.

Код
set timer //установление таймера работы скрипта
if 897, 762 12429463 //проверка наличия окна награды
  move_smooth 902, 795 
  left 902, 795  //закрытие окна награды
end_if //проверка наличия окна награды
move_smooth 203, 39
//get color #color 1182, 70
//msg #color
if 203, 39 6381921 or 203, 39 14571307 or 203, 39 13107400 //проверка наличия второго слота в команде 305924 эпик 13107400 экзо 14571307 рар 33791 лег 
  left 468, 66  //нажатие кнопки My Miscrits 
  wait 1500 
  drag 787, 412 898, 633 //перенос второго слота в команде в инвентарь 
  wait 1000 
  left 1266, 860 //нажатие кнопки Save
end_if //проверка наличия второго слота в команде 
move_smooth 154, 63
if 157, 53 12434877 //проверка жив ли Мискрит 
  move_smooth 1672, 81 
  left 1672, 81 //нажатие кнопки Heal 
  wait 1000
end_if //проверка жив ли Мискрит
set #x 962 + random(2) //#x 970//#x 974//#x 961 + random(3)//#x 927 + random(3)//
set #y 489 + random(2) //#y 303//#y 373//#y 483 + random(3)//
move_smooth #x #y
left #x #y //нажатие на объект
wait 8000
if 897, 762 12429463  //проверка наличия окна награды 
  move_smooth 902, 795 
  left 902, 795 //закрытие окна награды
end_if //проверка наличия окна награды
if 930, 913 1627135 //проверка запуска боя 
  else //повторное нажатие на объект     
         wait 6000     
         move_smooth #x #y     
         left #x #y //повторное нажатие на объект     
         restart_script
end_if //проверка запуска боя
if 897, 762 12429463 //проверка наличия окна награды 
  move_smooth 902, 795 
  left 902, 795 //закрытие окна награды 
  restart_script
end_if //проверка наличия окна награды
set #x 672 + random(3)
set #y 933 + random(3)
if 1172, 22 6381921 and 1182, 70 19668 //проверка на Мискрита S+ ранга Обычной редкости 
  move_smooth #x #y 
  left #x #y //нажатие финалки 1
  wait 8500
  //move_smooth #x #y 
  //left #x #y //нажатие финалки 2 
  left 877, 954 //нажатие второй дд-кнопки
  wait 8000 
  move_smooth 954, 142 
  left 954, 142 //нажатие кнопки Capture
  gosub sss 
  wait 6000
end_if
if 1172, 22 6381921 and 1181, 69 2634736  //проверка на Мискрита A+ ранга Обычной редкости 
  move_smooth #x #y 
  left #x #y //нажатие финалки 1
  wait 8000
  move_smooth #x #y 
  //left #x #y //нажатие финалки 2
  left 877, 954 //нажатие второй дд-кнопки 
  wait 8500 
  left 954, 142 //нажатие кнопки Capture 
  wait 6000
  gosub capturecheck2
end_if
if 1172, 22 6381921 //проверка на Мискрита Обычной редкости
  move_smooth #x #y 
  left #x #y //нажатие финалки 1 
  wait 8500
  move_smooth #x #y 
  left #x #y //нажатие финалки 1 
  wait 8500 
  restart_script
end_if
move_smooth #x #y
left #x #y //нажатие финалки 1
wait 8500
move_smooth #x #y
left #x #y //нажатие финалки 2
wait 8000
//move_smooth 877, 954
//left 877, 954 //нажатие второй дд-кнопки
//wait 8000
//move_smooth 877, 954
//left 877, 954 //нажатие второй дд-кнопки 2
//move_smooth 1426, 931
//left 1426, 931 //перелистывание меню способностей
//wait 200
//move_smooth 1426, 931
//left 1426, 931 //перелистывание меню способностей
//wait 8000
//move_smooth 877, 954
//left 877, 954 //нажатие второй дд-кнопки 3
//wait 8000
//move_smooth 1339, 926
//left 1339, 926 //нажатие слабейшей атаки
//wait 8000
//move_smooth 1339, 926
//left 1339, 926 //нажатие слабейшей атаки
//wait 8000
move_smooth 954, 142
left 954, 142 //нажатие кнопки Capture
wait 6000
if 910, 536 867957 //проверка поимки Мискрита 
  move_smooth 926, 584 
  left 926, 584 //нажатие кнопки Skip 
  wait 4000 
  else //добивание не пойманного Мискрита     
         wait 6000     
         move_smooth #x #y     
         left #x #y //нажатие финалки 1     
         wait 8000     
         move_smooth #x #y     
         left #x #y //нажатие финалки 2
end_if //проверка поимки Мискрита
if 897, 762 12429463  //проверка наличия окна награды 
  move_smooth 902, 795 
  left 902, 795 //закрытие окна награды
end_if //проверка наличия окна награды
wait 2000
move_smooth 1019, 598 //нажатие кнопки Keep
left 1019, 598 //нажатие кнопки Keep
if timer > 20000 //проверка времени работы скрипта 
  restart_script 
  else //добивание не пойманного Мискрита
         move_smooth #x #y 
         left #x #y //добивание не пойманного Мискрита
end_if //проверка времени работы скрипта
end_script
/////////////////////////////////////////////////////////////
:capturecheck2
if 910, 536 867957 //проверка поимки Мискрита 
  move_smooth 926, 584 
  left 926, 584 //нажатие кнопки Skip 
wait 4000 
  else //добивание не пойманного Мискрита     
         wait 6000     
         move_smooth #x #y     
         left #x #y //нажатие финалки 1     
         wait 8000     
         move_smooth #x #y     
         left #x #y //нажатие финалки 2
end_if //проверка поимки Мискрита
if 897, 762 12429463  //проверка наличия окна награды 
  move_smooth 902, 795 
  left 902, 795 //закрытие окна награды
end_if //проверка наличия окна награды
wait 2000
set #a findcolor (1014, 452 1048, 481 1 1 (255) %close 2 )
if #a > 1 //проверка красной скорости Мискрита
  move_smooth 1019, 598 //нажатие кнопки Keep
  left 1019, 598 //нажатие кнопки Keep
  restart_script
end_if
move_smooth 903, 595
left 903, 595
wait 800
move_smooth 1026, 600
left 1026, 600
wait 500
restart_script
////////////////////////////////////////////////////////////////
:sss
wait 6000
if 910, 536 867957 //проверка поимки Мискрита 
  move_smooth 926, 584 
  left 926, 584 //нажатие кнопки Skip 
  wait 4000 
  else //добивание не пойманного Мискрита     
         wait 6000     
         move_smooth #x #y     
         left #x #y //нажатие финалки 1     
         wait 8000     
         move_smooth #x #y     
         left #x #y //нажатие финалки 2
end_if //проверка поимки Мискрита
if 897, 762 12429463  //проверка наличия окна награды 
  move_smooth 902, 795 
  left 902, 795 //закрытие окна награды
end_if //проверка наличия окна награды
wait 2000
move_smooth 1019, 598 //нажатие кнопки Keep
left 1019, 598 //нажатие кнопки Keep
if timer > 20000 //проверка времени работы скрипта 
  restart_script 
  else //добивание не пойманного Мискрита
         move_smooth #x #y 
         left #x #y //добивание не пойманного Мискрита
end_if //проверка времени работы скрипта
end_script

Цитата(DarkMaster @ 7.2.2025, 18:30) *

Дайте код. Без этого очень сложно.
Так же я настоятельно рекомендую переходить на lua синтаксис. Оставаться на старом типа синтаксиса смысле не имеет. Активируется помещением --lua в нулевую строку скрипта.

Спасибо за рекомендацию ! А чем lua лучше ? На первый взгляд кажется, что это просто переписывание здорового кода на схожий язык (

Сообщение отредактировал DarkMaster - 8.2.2025, 7:52
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения



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

 

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