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

 
Ответить в эту темуОткрыть новую тему
> Обращение К Переменным В Других Скриптах, Скрипт на заливку МП в Л2
Volv_S
сообщение 10.12.2009, 9:27
Сообщение #1


**

Neophyte
Сообщений: 33
Регистрация: 30.10.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 12.181
Возраст: 24



Всем привет, вот привожу цитатут из хэлпа по пилоту :

"При двух или более запущенных скриптах вы можете обращаться к переменным, определенным в других скриптах пилота. Синтаксис указания таких переменных следующий:
#i.2 - обращаемся к переменной #i из скрипта, находящегося в окне номер 2."

В чем суть проблемы - я пытаюсь написать скрипт на автоматическую заливку мп (грубо говоря ипользую ЕЕ как бота), для это я сделал 2 скрипта:

Первый скрипт я привязываю к окну ДД и он основан определении цвета полоски маны, - при определённых условиях этот скрипт должен нажать нужную мне кнопку в скрипте №2, который привязан к окну ЕЕ

СКРИПТ №1:

send $F3.1 // taregt EE
while_not 50, 58 4334608 // контроль МП у ДД (если условие не выполнено, то ЕЕ сама себя заливает)
Wait 800
send $F2.1 // заливка MП
End_while
send $F4.1 // target DD
While_not 135, 58 10828808 // контроль МП (заливка ДД до положения маны 80-85%)
wait 800
send $F2.1 800 // MP
End_while

СКРИПТ №2:

set $F2 F2 // MP
set $F3 F3 // target EE
set $F4 F4 // target DD

Суть проблемы в следующем - скрипты работаю оба, только вместо того, что бы нажимались кнопки в скрипте привязоном к ЕЕ нажимаются кнопки в окне ДД, тобишь первый скрипт понимает что ему нада нажать нужную кнопку, но жмет её не в том окне.

Кто знает как решитть эту проблему, пож отпишите - зарание СПАСИБО.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Destruction
сообщение 10.12.2009, 14:48
Сообщение #2


**********

Группа: Администраторы
Наличность: 1
Пользователь №: 1.833



Решение проблемы заключается в более внимательном чтении мануала.

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

Соответственно выглядеть может например так:
Код
set #k.1 1 // taregt EE
while_not 50, 58 4334608 // контроль МП у ДД (если условие не выполнено, то ЕЕ сама себя заливает)
Wait 800
set #k.1 2 // заливка MП
End_while
set #k.1 3 // target DD
While_not 135, 58 10828808 // контроль МП (заливка ДД до положения маны 80-85%)
wait 800
set #k.1 2 // MP
End_while

Код
if #k = 1
  send F3
  set #k = 0
end_if
if #k = 2
  send F2
  set #k = 0
end_id
if #k = 3
  send F4
  set #k = 0
end_if


PS: Для решения задачи достаточно одного скрипта.


--------------------
Discord: tatikom
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Volv_S
сообщение 10.12.2009, 16:23
Сообщение #3


**

Neophyte
Сообщений: 33
Регистрация: 30.10.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 12.181
Возраст: 24



Пытаюсь запустить 2-а выше изложеных скрипта и у меня ничего не выходит. Моя проблема состоит в том, что я не понимаю смысла задачи переменных, и как они считываются в других скриптах.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Polkovnik
сообщение 15.1.2010, 20:04
Сообщение #4


**

Neophyte
Сообщений: 23
Регистрация: 31.3.2009
Группа: Пользователи
Наличность: 0
Из: Я с Урала, г. Пермь.
Пользователь №: 11.698
Возраст: 54



Цитата(Volv_S @ 10.12.2009, 19:23) *

Пытаюсь запустить 2-а выше изложеных скрипта и у меня ничего не выходит. Моя проблема состоит в том, что я не понимаю смысла задачи переменных, и как они считываются в других скриптах.

Чтобы использовать переменные из одного окна используя их в другом окне необходимо чтобы скрипт не завершал работу. Для этого приходится делать его циклическим.

//--------------------------------- скрипт окна № 0
:Start
If_not 50, 58 4334608 //Если в этой точке изменился цвет и он не 4334608
Set #upmana 0 // 1. переменная #upmana бадет = 0
Wait 2s // 2. пусть проверка осуществляется через 2 сек
Goto Start // 3. Переход к началу скрипта снова проверять эту точку
end_if // иначе пункты 1, 2, 3 не будут выполняться а будет:
Wait 2s // подождём 2 сек
Set #upmana 1 // и переменная #upmana станет = 1
Goto Start // Переход к началу циклического скрипта
//----------------------------------

Пристегиваем этот скрипт к магу и в зависимости от цвета точки 50, 58 переменная будет принимать значение или 1 или 0. Значение этой переменной можно использовать в другом склипте:

//--------------------------------- скрипт окна № 2 для ше заливка маны
:Start2
If #upmana.0=0 //Если переменная #upmana с окна 0 = 0
Send F10 // выполнить макрос в котором - выбрать мага и залить ему ману
end_if // а таже
Send F11 // выполнить макрос в котором - выбрать мага и бежать за ним (бить)
Wait 500 // подождать 500 мс
Goto Start // Переход к началу циклического скрипта
//---------------------------------

Примечание: возможно прийдется каждый раз править цвет точки в поз. 50, 58. Ввиду плавающего цвета прозрачных стуктур окон, меняющих свой цвет при каждом запуске игры.
Неодходимо также после настройки игры изменить атрибуты файла WindowsInfo.ini на "чтение только" в котором храниться информация о расположении окон. Это позволит закрепить их на определенных местах.
Анологично можно ресать ХП бишом - контролировать полоску хп.
Помогать бить моба вторым персом - если полоска моба еще красная и он не сдох (IMG:style_emoticons/default/biggrin.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Volv_S
сообщение 16.1.2010, 0:16
Сообщение #5


**

Neophyte
Сообщений: 33
Регистрация: 30.10.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 12.181
Возраст: 24



Спасиба за скрипты, но все это я уже реализовал немного по-другому, такжепри помощи 2х скриптов.

Скрипт для ДД:

set #k 3 // taregt EE
while_not 50, 58 4334608 // контроль МП у ДД (если условие не выполнено, то ЕЕ сама себя заливает)
End_while
set #k 0
wait 1000
set #k 4 // target DD
While_not 135, 58 10828808 // контроль МП (заливка ДД до положения маны 80-85%)
End_while
set #k 0
wait 1000

Скрипт для ЕЕ:
set timer
send F3 300 // таргет ЕЕ
send F5 300 // пов на ЕЕ
while timer < 24000
send F2 900 // самореген ЕЕ
end_while
send F4 300 //таргет ДД
send F5 300 // пов ДД
start_script 0 //старт скрипта по определению цвета полоски маны
wait 300
while timer < 260000
if #k.0 = 3
send F3 300 // таргет ЕЕ
send F2 800 // заливка МП
end_if
if #k.0 = 4
send F4 300 //таргет ДД
send F2 800 // заливка мп
end_if
end_while
stop_script 0 //остоновка скрипта по определению цвета полоски маны
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Polkovnik
сообщение 16.1.2010, 21:21
Сообщение #6


**

Neophyte
Сообщений: 23
Регистрация: 31.3.2009
Группа: Пользователи
Наличность: 0
Из: Я с Урала, г. Пермь.
Пользователь №: 11.698
Возраст: 54



Да, еще полезную весчь можно пилотом реализовать! Это подбор дроппа сразу всеми персами! Если набил много и не хочешь время терять! Пусть все персы во всех окнах его подбирают и бегут за основным. (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 

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