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

7 страниц V « < 2 3 4 5 6 > »   
Ответить в эту темуОткрыть новую тему
> Полезные Советы, Практическое применение. Настройка запуска.
Zeleax
сообщение 7.2.2012, 13:39
Сообщение #61


*********

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



Цитата
добавил функцию установки текущей раскладки клавиатуры 'set $var setlayout (layout)'. возвращает 1 если установка раскладки прошла удачно, в противном случае 0. 'layout' можно указывать четырех-восьми символьным шестнадцатеричным значением.

Пример использования:
Код
// печатаем одной строкой текста: Вася.Пупкин@gmail.com

set $var setlayout (0419) // включили русскую раскладку
sendex Dfcz/Gegrby // Вася.Пупкин (смотрим на клавиатуру)
set $var setlayout (0409) // включили английскую раскладку
sendex ~2gmail.com // @gmail.com

Список языков для setlayout:
0419 - русский;
0409 - английский;
0422 - украинский;
0423 - белорусский

Иногда sendex начинает глючить. Тогда нужно закрыть и снова запустить UOPilot.

Сообщение отредактировал Zeleax - 12.2.2012, 13:38


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


*********

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



Цитата(ortego @ 9.2.2012, 16:03) *

Помогите, есть ли команда какая либо, чтоб в игре пилот делал поворот камеры в сторону, тоесть нажал правую кнопку мыши и провел в право ?


Зажатие правой кнопки мыши и движение в сторону
Код
set linedelay 1 // устанавливаем задержку времени между строк скрипта в мс
wait 1000 // немного подождем в начале скрипта (необязательно)
get mouse_pos #x #y // получаем текущие координаты курсора мыши
set #n 10 // число перемещений мыши в сторону
set #step 15 // шаг перемещения курсора мыши
set #dir 1 // направление движения курсора мыши: 1 направо, -1 налево

set #step_i ( #dir ) * #step // вычисляем шаг с учетом направления
set #iEnd #x + ( #n * #step ) * #dir // конечная координата X курсора мыши

kright_down #x #y // зажимаем правую кнопку мыши
for #i #x #iEnd #step_i
   move #i #y // перемещаем курсор с заданным шагом
   wait 100 // задержка в мс между перемещениями
end_for
kright_up #iEnd #y // отпускаем правую кнопку мыши
end_script // конец скрипта


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


*********

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



Цитата(DarkMaster @ 10.2.2012, 12:23) *

Некоторые приложения в свернутом/не активном состоянии не обрабатывают клики клавиатуры (зачастую бОльшая часть приложения переходит в режим ожидания для снижения нагрузки).
тут вариантов к сожалению не много. на вин ХР иногда можно быо обмануть подобные приложения. Делаем активным окно в которое необходимо посылать нажатия, наводим мышкой на панели задач правее кнопки "пуск" на это самое окно, нажимаем один раз левой кнопкой мышки по окну на панели задач. Далее все работало, однако были и грабли - приложение обрабатывало все нажатия не только пилота, но и человека. Т.е. если печатать в блокноте, то в это время чар будет носиться и кутяпликов убивать.


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


*********

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



Не используйте goto для выхода из цикла for, т.к. при повторном входе в этот цикл произойдет ошибка (спасибо DarkMaster и zavas за информацию). Исправлено начиная с версии 2.31
Пример
Код
:start
for #i 1 5 // тут будет ошибка после использования goto внутри цикла
  if #i = 3
     msg Используем goto
     goto after
  else
     gosub after_end
  end_if
end_for
:after
msg Вне цикла i = #i

for #j 1 2 // работает нормально
   msg Цикл j = #j
end_for

goto start
end_script

:after_end
   msg test
return


Сообщение отредактировал Zeleax - 4.11.2012, 23:57


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


***********

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



gosub тоже низя. Из-за этого пришлось переписывать в свое время управляющий блок скрипта. Возможно было связано с break внутри подпрограммы, точно не помню, но грабли были точно.


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


***********

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



Нахождение целой части квадратного корня:
Код
set #x 549846
set #min 1
set #raznostb 1

:start
set #x #x - #min
if #x > #min
set #min #min + 2
goto start
end_if
set #rezult (#min + 1) / 2
msg #rezult
stop_script


Сообщение отредактировал Zeleax - 4.11.2012, 23:59


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


*****

Journeyman
Сообщений: 357
Регистрация: 5.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.217



Цитата(DarkMaster @ 12.2.2012, 13:02) *

gosub тоже низя. Из-за этого пришлось переписывать в свое время управляющий блок скрипта. Возможно было связано с break внутри подпрограммы, точно не помню, но грабли были точно.

Как раз с gosub проблем не возникало. Потому что выхода из цикла, как такового нет, т.к. return возвращает в цикл...
Перебегая из задней двери троллейбуса в переднюю- повторная плата за проезд не взимается. Троллейбус все тот же.


--------------------
В обычном программировании: любое значение может быть преобразовано в тип string
В программировании Pilot: любое значение должно быть типа имейдж.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
esqado
сообщение 6.3.2012, 9:19
Сообщение #68


*****

Journeyman
Сообщений: 357
Регистрация: 5.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.217



Проверка ввода символов на не числовые значения. Например для торговли.
Торговать словами могут только политики (IMG:style_emoticons/default/biggrin.gif)
При вводе символов, отличных от цифр, в переменную #number записывается число -1.

Три копейки

Код
set $number prompt (Дави на кнопки)
set #number hex2dec ($number)
if #number < 0
   msg Введенные значения не числовые = $number
else
   msg Введены числовые значения = $number
end_if


end_script



--------------------
В обычном программировании: любое значение может быть преобразовано в тип string
В программировании Pilot: любое значение должно быть типа имейдж.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 7.3.2012, 14:20
Сообщение #69


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Цитата
set #number hex2dec ($number)

а чем не нравится 'get number'?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 7.3.2012, 16:13
Сообщение #70


*********

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



Цитата(zavas @ 7.3.2012, 14:16) *
Можно ли использовать системное время?

Код
msg Сейчас  hour : min : sec - day / month / year 
end_script


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


*********

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



Пример скрипта для сортировки одномерного массива по возрастанию элементов

Скрипт сортировки одномерного массива
Код
// Инициализация массива
set %m[1] 5
set %m[2] 3
set %m[3] 10
set %m[4] 1
set %m[5] 7
set #n size(%m) // число строк в массиве

gosub print_array
msg Сейчас сделаем сортировку...
// Сортируем массив
for #i 1 #n
   set #min %m[#i]
   set #imin #i
   set #ii #i + 1
   for #j #ii #n
      if %m[#j] < #min
         set #min %m[#j]
         set #imin #j
      end_if  
   end_for
   // меняем местами минимальный элемент с текущим, используя промежуточную #z
   set #z %m[#i]
   set %m[#i] %m[#imin]
   set %m[#imin] #z  
end_for

gosub print_array

end_script

:print_array
// Соберем все элементы в одну текстовую строку
set $s // пустая строка
for #i 1 #n
   set $s $s  %m[#i] // добавляем каждый элемент в конец строки  
end_for
msg Массив M содержит #n элементов: $s
return


Сообщение отредактировал Zeleax - 16.3.2012, 20:52


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


*********

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



Цитата(rogtrip @ 21.3.2012, 20:32) *

Нашел программу Synergy, очень доволен.
Можно 1 мышкой и клавой управлять всеми компами, так же можно настроить: нажимаю у себя кнопку и нужная кнопка нажимается на нужном компе.
У кого пару компов юзайте, очень удобная программа.


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


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



панелька для изменения адресов параметров чара и прочих переменных, считываемых из памяти приложения при обращении к ним, открывается при выборе клиента 'custom'
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 7.4.2012, 23:18
Сообщение #74


*********

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



Цитата(zavas @ 7.4.2012, 22:04) *

Есть строка:
set $string П е ч а т н а я ~ м а ш и н к а
как узнать количество символов (не считая пробелов)?

Ответ:
Код
set $s a b c
set #sz size($s)
set #n 0
for #i 1 #sz
  set $c copy($s #i 1)
  if $c != " "
    set #n #n + 1
  end_if
end_for
msg В строке $s всего #n символа(-ов) кроме пробела
end_script


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


*****

Journeyman
Сообщений: 357
Регистрация: 5.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.217



Чуть-чуть расширил пример остатка от деления от Zeleax
Чёт-нечёт

set #a 33
set #b 10
set #c #a - ( #a / #b ) * #b
set #x #c - (#c / 2) * 2
if #x = 1
set $evenOdd Не чётное
else
set $evenOdd Чётное
end_if
msg Остаток от деления #a на #b равен #c /nЧисло $evenOdd

end_script


--------------------
В обычном программировании: любое значение может быть преобразовано в тип string
В программировании Pilot: любое значение должно быть типа имейдж.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 18.4.2012, 7:05
Сообщение #76


*********

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



Цитата(_LESTAT_ @ 17.4.2012, 23:38) *

Вот придумал тихий запуск:
Код
set %mas [ 1 1 ] activex.Run("cmd /c start http:/
set %mas [ 1 2 ] /ya.ru", 0, true);
set %js [1] var activex = new ActiveXObject("WScript.Shell");
set %js [2] %mas [1]
save_array %js "c:\Temp.js"
ExecAndWait wscript "c:\Temp.js"
//DeleteFile  "c:\Temp.js"
end_script


В пилоте сильно нехватает команды DeleteFile, чтобы тихо удалять временные файлы. Я понимаю, что можно удалять через командную строку, то тогда смысл в тихом запуске пропадает. Пожалуйста добавте такую полезную мелоч, в следующей версии.
Если микрофайлик Temp.js в корне вам мешает, а моргающее 0.3-1сек черное окошко нет, то замените строку //DeleteFile "c:\Temp.js" на exec cmd /c del "c:\Temp.js"


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


*********

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



Программу Ybex Clipboard удобно использовать для передачи содержимого буфера обмена между двумя компьютерами. Она поддерживает как текстовые, так и графические данные.
Для получения доступа к удаленному буферу нужно лишь завести бесплатную учетную запись на сайте http://ybex.com и указать ее данные на каждом ПК, а также установить на них соответствующую программу. После этого все объединенные таким образом машины смогут использовать единый буфер обмена.

Сообщение отредактировал Zeleax - 19.4.2012, 9:54


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


*********

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



Что такое массивы и с чем их едят (IMG:style_emoticons/default/smile.gif)
ссылка


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


***********

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



Вычисление дня недели

1 пн, 2 вт, 3 ср, 4 чт, 5 пт, 6 сб, 7 вск
Код

// В переменные #year, #month, #day
// помещаются соответственно
// год, месяц, число.
// В качестве примера взята текущая дата.
set #year  Year
set #month Month
set #day   Day
gosub dayOfWeek
msg #dayofWeek
stop_script

:dayOfWeek
   if #month > 2 // Расчет текущего (сегодня) дня недели.
      set #month #month -2
      set #century #year / 100
      set #year #year - #century * 100
   else
      set #month #month 10
      set #year #year - #year / 100 * 100 - 1
      set #century #y / 100
   end_if
   set #dayOfWeek #day + ( ( 13 * #month - 1 ) / 5 ) + #year + ( #year / 4 ) + ( #century / 4 ) - 2 * #century
   set #dayOfWeek #dayOfWeek - #dayOfWeek / 7 * 7
   if #dayOfWeek < 0
      set #dayOfWeek #dayOfWeek + 7
   end_if
return


Дополнение от zavas к скрипту DarkMaster'а "название дня недели"
название дня

set %day[1] Понедельник
set %day[2] Вторник
set %day[3] Среда
set %day[4] Четверг
set %day[5] Пятница
set %day[6] Суббота
set %day[7] Воскресенье

msg %day[#dayOfWeek]


Сообщение отредактировал Zeleax - 28.5.2012, 11:31


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


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Цитата
избавиться от абсолютного адреса при сохранении скринов

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

7 страниц V « < 2 3 4 5 6 > » 
Ответить в эту темуОткрыть новую тему
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0

 

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