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

2 страниц V  1 2 >  
Ответить в эту темуОткрыть новую тему
> Автоматическая Запись В Скрипт. Можно Ли ?
dojo
сообщение 24.7.2011, 9:51
Сообщение #1


**

Neophyte
Сообщений: 21
Регистрация: 19.7.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.819
Возраст: 44



Есть скрипт
set #c1.0 1921855
set #c2.0 3584139
set #c3.0 0
set #c4.0 0
..................
move x.y - координата на точку
sendex ^a - захват цвета точки.

Можно ли сделать так что бы цвет точки автоматически записывался в set #c1.0 и т.д. Тоесть нажимается ctrl+a и автоматом идет запись в заранее указаный мною set.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 24.7.2011, 10:07
Сообщение #2


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Чет я не понял - т.е. Ctrl+A надо чтоб из скрипта нажималось?
а просто
get color #color #x #y [abs]
не подходит?


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
dojo
сообщение 24.7.2011, 11:42
Сообщение #3


**

Neophyte
Сообщений: 21
Регистрация: 19.7.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.819
Возраст: 44



Смысл такой.
Что бы идентифицировать символ я сверяю цвета присуще этому символу.
Допустим
if 287, 183 16777215 and 288 , 209 16777215 and 293, 192 16777215
Если данное условие выполнится то значит там стоит определенный символ. В данном случае цифра 3.
Далее мне нужно дать понять скрипту что выпал данный символ.

для этого я использую
set #c1.0 0 - запись символа
set #c2.0 0
set #c3.0 0
set #c4.0 0

я не могу просто указать
if 287, 183 16777215 and 288 , 209 16777215 and 293, 192 16777215
start_script
end_if - тоесть если символ есть то идет запуск скрипта, так как там идет комбинация символов и поэтому нужно найденые символы запоминать и для этого я их заключаю в set #.Что бы упростить ввод символов я для каждого символа определил свой цвет ,точнее цветовой номер.
Вот мне и нужно что бы
set #c1.0 0 автоматически записывал цвет. Вроде обьяснил ситуацию. Определяю цвет с помощью sendex ^a и нужный цвет уже записан в буфере\пилоте (не знаю как правильно назвать). Сейчас решаю проблему так, что второй пилот нажимает на нужный set нажимает на цвет в пилоте который определяет символ.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 24.7.2011, 11:59
Сообщение #4


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



так и не понял зачем жать Ctrl+A из скрипта, если есть простая команда get color, которая получает цвет точки в указанных координатах.

Также было бы неплохо озвучить задачу вобщем - может что посоветовали бы


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
dojo
сообщение 24.7.2011, 12:53
Сообщение #5


**

Neophyte
Сообщений: 21
Регистрация: 19.7.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.819
Возраст: 44



Цитата(Zeleax @ 24.7.2011, 11:59) *

так и не понял зачем жать Ctrl+A из скрипта, если есть простая команда get color, которая получает цвет точки в указанных координатах.

Также было бы неплохо озвучить задачу вобщем - может что посоветовали бы


Задача заключается в игре в карточные игры...По цвету я определяю масть и номер карты.
set#1
set#2
set#3
set#4 Это и есть номера какие карты выпали. Цвета означают какую либо карту. Для кажой карты я выбрал свой уникальный цвет. Допустим туз пик это 255. далее идентификаторы подставляются в set. После подставления скрипт запускается и идет поиск комбинаций. Поэтому нужно всегда запускать скрипт когда выпадает каждая карта. Когда раунд закончен все сеты нулятся. (Привожу все к 0). Сейчас буду думать насчет get color.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
ubik
сообщение 24.7.2011, 18:16
Сообщение #6


****

Apprentice
Сообщений: 120
Регистрация: 10.3.2010
Группа: Пользователи
Наличность: 0
Пользователь №: 12.550
Возраст: 26



игра браузерная? или есть клиент?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
_LESTAT_
сообщение 24.7.2011, 19:25
Сообщение #7


****

Apprentice
Сообщений: 103
Регистрация: 12.3.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.512
Возраст: 25



Сколько читал тему, так и непонял задачу, чего хочет автор достич.
тебе уже раза три сказали используй get color и записывай цвета в скрипт и никаких ctrl+a ненадо.

Опиши точней что ты хочешь сделать , добавь в спойлер пару скриншотов из игры, с разными мастями чтобы понять , что изменяться., можешь крагуми обвести важные участки, куда обратить внимание, и объясни на нем, что ты и где хочешь определить, тебе подскажут как сделать это проще всего.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
dojo
сообщение 27.7.2011, 10:43
Сообщение #8


**

Neophyte
Сообщений: 21
Регистрация: 19.7.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.819
Возраст: 44



Не могли бы помочь немного с get color #color #x #y [abs].
Как можно осуществитть что бы через get color #color #x #y [abs]. можно бло записывать в
set #1
set #2
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 27.7.2011, 11:46
Сообщение #9


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Код
set #x 325
set #y 788
get color #c1 #x #y
msg В точке #x #y цвет равен #c1


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
_LESTAT_
сообщение 28.7.2011, 10:01
Сообщение #10


****

Apprentice
Сообщений: 103
Регистрация: 12.3.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.512
Возраст: 25



Помогите с нубским вопросом пожалуйста и мне не хочется из-за такого незначительного вопроса плодить новую тему.
Есть строковая $ok переменная с координатами допустим 450, 300 .
Нужно из этой переменной добыть числа Х и У . И записать каждое в свою переменную.
Тоесть есть:
$ok 450, 300
А надо получить:
#x 450
#y 300
Как это попроще сделать подскажите.
А то записал в массив строку, и щас во затупил, как из этого массива, достать координаты X и Y , и каждую записать в свою переменную.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 28.7.2011, 15:22
Сообщение #11


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Цитата(_LESTAT_ @ 28.7.2011, 10:01) *

Помогите с нубским вопросом пожалуйста и мне не хочется из-за такого незначительного вопроса плодить новую тему

А вопрос-то не нубский! Х.з. как такое сделать! (IMG:style_emoticons/default/smile.gif)


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 28.7.2011, 15:47
Сообщение #12


***********

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



вариантов несколько. можно попробовать через буфер распарсить либо через get word.

добавил выделение слова из строки по его порядковому номеру, с помощью ключевого слова Word в команде Get. get word $var #pos $string
Если слова с заданным номером не существует, то будет возвращена пустая строка. Если указано отрицательное число, то будет возвращена исходная строка без указанного количества слов вначале. Если переменная ранее не существовала, то она создается.

Так же можно использовать:
set clipboard %var
get clipboard %arr
Это разложит по словам текст содержашийся в переменной $var в массив %arr.


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


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Про get word я и забыл =\
а как избавиться от запятой после 450?
Код
450, 300


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 28.7.2011, 17:10
Сообщение #14


***********

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



если именно числа, то можно исользовать get number


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


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Цитата(DarkMaster @ 28.7.2011, 17:10) *

если именно числа, то можно исользовать get number

то что надо! спасибо! (IMG:style_emoticons/default/smile.gif)


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
_LESTAT_
сообщение 29.7.2011, 8:29
Сообщение #16


****

Apprentice
Сообщений: 103
Регистрация: 12.3.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.512
Возраст: 25



Не работает ! (IMG:style_emoticons/default/sad.gif)
Код
set $ok 351, 187
get number #g1nx 1 $ok
get number #g1ny 2 $ok  


Пишет "не могу определить имя переменной". Что я не так делаю, подскажите, желательно с примером ! И кстате эту тему с переводом строковых в числовые, можно в полезные советы добавить, если будет подробный ответ.

================================
Добавлено спустя 20 минут , зря я понадеялся что будет так просто, чтож тогда вот так.
Код
set $ok 351, 187
get word $X1 1 $ok
get word $Y1 2 $ok    
set #g1nx $x1
set #g1ny $y1
msg #g1nx и #g1ny

При условии, что трогать буфер обмена я принципиально не хотел, так как там часто сохранены более важные данные, и терять их не хотелось из-за такой мелочи, то я пришел вот к этому, и это работает , переводит строку с координатами 351, 187 , в два отдельных числа и раскладывает их по переменным. Запятая не помешала, она куда то растворилась, так что хотябы лишнего get number не пришлось добавлять.
Хочу заметить, что неплохобы было упростить перевод таких строк в числа, в будущих версиях пилота.
Пожалуйста добавте команду strtoint или get strtoint , которая одной строкой переводина бы такие строки в числовые переменные, например в массив бы записывала. Типа
get strtoint %int $ok
или для нелюбителей в массивы просто в переменные
get strtoint #c1, #c2, #c3, #cn $ok
Само собой все кроме чисел в строке игнорируется и в переменные попадают только числа.
Это было бы куда удобней чем сегодняшнее решение, хотя мой пример примитивен, можно и помудреней придумать. Например чтобы доставить только те числа которые надо.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 29.7.2011, 9:39
Сообщение #17


***********

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



я бы немного по-другому вопрос поставил. хорошо бы, чтобы ифы, форы и вайлы уже начали кушать строковую переменную в качестве обоих координат и запятой. что-то вроде
set $coor 435, 582
If $coor #color


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


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Код
set $k 351, 187
set clipboard $k
get clipboard %arr
msg %arr[1 1] // 351
msg %arr[1 2] // 187
end_script


Другой вопрос - зачем это обычно нужно? (в скриптах пилота)

З.Ы.: а вообще будем ждать возможности подключать свои модули. Вот тогда будет где разгуляться )


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
_LESTAT_
сообщение 29.7.2011, 10:10
Сообщение #19


****

Apprentice
Сообщений: 103
Регистрация: 12.3.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.512
Возраст: 25



Цитата(DarkMaster @ 29.7.2011, 9:39) *

я бы немного по-другому вопрос поставил. хорошо бы, чтобы ифы, форы и вайлы уже начали кушать строковую переменную в качестве обоих координат и запятой. что-то вроде
set $coor 435, 582
If $coor #color

Да пожалуй поддержка условными операторами строковых переменных, с координатами, еще более все упростила, надеюсь это скоро добавят. Добавь это в тему "Для ТоДо"
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 29.7.2011, 10:14
Сообщение #20


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Тогда лучше бы вообще добавить возможность макроподстановки:
Код
set $s Hello world!
set $k msg $s
$$k // Появится окошко с текстом "Hello world!"

Такой вариант пригодился бы на все случаи жизни )


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 

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