Author Topic: Предложения по применению от новичков. Какой скрипт вам будет интересен?  (Read 49697 times)

0 Members and 1 Guest are viewing this topic.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
К сожалению пока кликер только умеет полностью стирать файл
STRWRITELN ("file", "str", [rewrite])
А в 4.5 версии даже стирать неумел

Остается только наращивать переменную считывая все строки

Code: (clickermann) [Select]
DEFINE($count, 1)
$a = StrReadln("input.txt", $count)
INC ($count, 1)

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Бабочки полёт будит тихую поляну в солнечном свету...

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
ABCEHKMOPTXYaceopxy
« Reply #32 on: November 22, 2012, 02:04:36 AM »
 В сетевых текстах  все чаще появляются слова, в которых сделана замена русских букв на похожие латинские.
 Причина не совсем понятна , но допускаю, что таким образом достигается т.н. "уникальность текста".
Однако, возникает проблема.
Дело в том, что орфографию таких корявых текстов проверять оч трудно.
Задача.
 Есть  сугубо русский текст.
 В словах могут  быть использованы , как английские , так и русские символы, которые у нас "совпадают" - H, M, T, A, B, C, X и т.д.(в шапке полный набор)
 (Русские символы занимают по 2 байта, английские - 1.)
 Если не трудно, подскажите  прототип скрипта (Кликерман), по замене вышеупомянутых лат. на русс.
Бабочки полёт будит тихую поляну в солнечном свету...

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Задача.
 Есть  сугубо русский текст.
 В словах могут  быть использованы , как английские , так и русские символы, которые у нас "совпадают" - H, M, T, A, B, C, X и т.д.(в шапке полный набор)
 (Русские символы занимают по 2 байта, английские - 1.)
 Если не трудно, подскажите  прототип скрипта (Кликерман), по замене вышеупомянутых лат. на русс.

Происходит это скорее всего при распознавании текста с картинки.
Такую задачу довольно легко можно решить с помощью программы Shtirlitz IV
В ней легко можно создать схему транслитерации.

Для этого, зайди в "Параметры" -> "Свойства" -> "Схемы транслитерации"
Пишешь там к примеру английскую О через равно русскую О (то есть что на что меняется)
Писать можно так
o=о
e=е
c=с

или так
o=о e=е c=с

или так
oec
оес

в общем по любому.

Как работать.
Копируешь текст в буфер, В штирлице жмешь Файл -> Буфер обмена. Далее WIN WIN->LAT и выбираешь свою схему.
Текст преобразуется.

PS: Кстати прога старая, дальше XP вряд ли будет работать.
« Last Edit: November 22, 2012, 04:01:09 AM by Oraven »

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Благодарю)
 Программа вопрос  решила.
Бабочки полёт будит тихую поляну в солнечном свету...

Сергей

  • Активный участник
  • ***
  • Posts: 159
    • View Profile
date.cms Version: 1.1
« Reply #35 on: December 07, 2012, 09:51:45 PM »
Новая версия скрипта возвращения даты для Clickermann v.4.7 Second Edition
  • Учтен фикс бага функции ROUND.
  • Добавлено явное преобразование из строки в число в массиве дней месяцев.
  • Все приведено к общему именному пространству.
Использовать так же
Отсутствую.

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Спасибо)
 п.с.
Кстати о "спасибо".
 Видел на других  форумах кнопку "спасибо".
 Можно ли у нас тут такое прикрутить?
Бабочки полёт будит тихую поляну в солнечном свету...

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Подскажите примерную схему  создания скрипта .
Есть экран браузерной игры  с разрушенными строениями. Этих строений может быть 50-100 шт.
Нужно опросить экран и запомнить все точки расположения этих строений.
Число  строений  и места их расположения  могут  быть  различными.
Бабочки полёт будит тихую поляну в солнечном свету...

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Вот есть такой скрипт. Делит зону поиска на квадраты и анализирует их по отдельности

Только нужно еще прикрутить запись найденных координат в файл
Code: (clickermann) [Select]
LOGCLEAR
// область поиска
$x1 = 19 // верхний левый угол
$y1 = 94
$x2 = 741 // нижний правый угол
$y2 = 693

// цвет
$color = 255

// отступ
$size = 10

// задержка "мс" минимум 1
$wait = 1
================================

getscreen
if_pixel_in($x1, $y1, $x2, $y2, $color)
$count = 0
//   move($_return1, $_return2)
  LOGWRITE("X: ", $_return1, " ","Y: ", $_return2)
  waitms($wait)

WHILE($var = 0)
$sY2 = $_return2 + $size
$sY1 = $_return2
$var2 = 0

WHILE($var2 = 0)
if_pixel_in($_return1 + $size, $sY1, $x2, $sY2, $color)
//   move($_return1, $_return2)
  LOGWRITE("X: ", $_return1, " ","Y: ", $_return2)
  waitms($wait)
INC($count, 1)
Else
  $var2 = 1
end_if
END_CYC

if_pixel_in($x1, $_return2 + $size, $x2, $y2, $color)
//   move($_return1, $_return2)
  LOGWRITE("X: ", $_return1, " ","Y: ", $_return2)
  waitms($wait)
Else
  $var = 1
end_if

INC($count, 1)

END_CYC
end_if

LOGWRITE("Количество: ", $count)

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Спасибо)
Поясните, если не трудно.
1. С какой целью  экран делится на квадраты?
 Насколько я понял из бесед на форуме, функция   if_pixel_in ,  получив  getscreen в память,   обегает экран слева направо и  сверху вниз.
2. Если  найденные координаты  предполагается использовать в этом же скрипте ( скажем во 2, или 3  его части), требуется ли отдельная запись в файл найденных параметров?
Можно ли  как-то генерировать новые переменные,  по мере нахождения объектов , а потом последовательно извлекать их из памяти ?
 
Бабочки полёт будит тихую поляну в солнечном свету...

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
1. Сделай простой пример. Нарисуй в паинте 3-4 кранные точки случайным образом. Настрой область поиска и цвет этих точек. А вот теперь важный параметр, "отступ". Отступ должен быть размером примерно с объект поиска. Например искомый объект имеет размер 30х40 пикс, значит отступ должен быть 40 пикс. Итак запусти скрипт и в логе, если все правильно настроено, запишется количество точек и их координаты.

2. К сожалению пока в кликермане нет массивов, поэтому координаты нужно записывать в файл, благо теперь функций для работы с текстом в файле хватает.
За место LOGWRITE("X: ", $_return1, " ","Y: ", $_return2) пропысываются нужные функции записи в файл

Хотя можно сразу производить действия над найденным объектом.

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
1. Сделай простой пример. Нарисуй в паинте
2.Хотя можно сразу производить действия над найденным объектом.
1. Благодарю за пояснения)
Все доступно и понятно .
2. В игре каждый объект ремонтируется 3-5 минут. Хотел сначала опросить  весь  экран и потом , через  всплывающее окно  периодически запускать вторую часть скрипта, занимаясь другими делами.
Хотя , если запускать на  всю ночь, то некритично  разумеется.
Бабочки полёт будит тихую поляну в солнечном свету...

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Подскажите примерную схему  создания скрипта .
Есть экран браузерной игры  с разрушенными строениями. Этих строений может быть 50-100 шт.
звучит интересно. что за игра?

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Бабочки полёт будит тихую поляну в солнечном свету...

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
По просьбе , написал типовые  скриптики , для облегчения входа в различные социальные сети.
Вроде бы все работает.
Скорее всего, это можно бы поместить и  в типовые алгоритмы.
Но хотелось, чтобы  предварительно корифеи посоветовали.
 Можно ли  убрать  ненужное, или что-то откорректировать?.

Code: (clickermann) [Select]


// Скрипт для автоматического открытия браузера Хром и авторизованного перехода на страницу "в контакте"
// Author: ЦИТРИН
// Version: 1.0 (19.12.2012)
#name "vk.com"
WAITMS (1024)
ss:
LCLICK(0,400)  //  что-то типа "в фокус"
WAITMS (150)
$HWnd = WNDFIND ("Google Chrome") // ищем, есть ли открытый хром
WAITMS (150)
if ($HWnd > 0)  // если уже есть открытый хром то
   WNDSTATE (WNDFIND("Google Chrome"), 1)   // если  вдруг окно хрома  было свернуто, -  разворачиваем
   waitms(750)
   WNDPOS (WNDFIND("Google Chrome"), 0,0 )  //  если вдруг  окно было не на месте, - ставим  окно в начальную позицию
   waitms(750)
   RCLICK(8,7)    //  раздвигаем окно  на максимум ( 1  шаг )
   WAITMS (550)
   LCLICK(24,109)   //  раздвигаем окно  на максимум (2  шаг)
   WAITMS (350)
   LCLICK(24,109)   //  дубль для верности
   WAITMS (350)
   $HWnd2 = WNDFIND ("Новая вкладка - Google Chrome")  // ищем новую вкладку
   WAITMS (750)
   if ($HWnd2 > 0)   // если обнаружилась, что уже есть чистая новая вкладка, то переход  к ff
      WAITMS (350)
      GOTO(ff)
   END_IF
   KEYDOWN (#CTRL) // разворачиваем новую вкладку , если  не нашли
   WAITMS (50)
   KEYDOWN (#T)
   WAITMS (50)
   KEYUP (#T)
   KEYUP (#CTRL)
ELSE
   WAITMS (150)
   EXECUTE("chrome.exe") //   открывем хром браузер, если был не открыт
   WAITMS(2500)
   GOTO(ss) // идем  в начало и проверяем браузер  на предмет наличия чистой вкладки
END_IF
ff:
WAITMS(1500)

LCLICK(140,42)  // активация
waitms(rnd(550,750))
$h = hget(140,42) // получаем HWND окна
SETKBLAYOUT($h, 1033) // устанавливаем английскую раскладку для окон
//..............................................................................
LCLICK(140,42)  // активация  адресной строки  хром
waitms(rnd(150,250))
//
///////////////////////////////
//
GOSUB(sub_A_D)
//
///////////////////////////////
//
LCLICK(140,42)  // активация
waitms(rnd(550,750))
//
///////////////////////////////
//
TOCLIP(StrReadln ("1234.txt", 1 )) // результат  1  строка из  файла 1234.тхт ( для ВК  http://vk.com/ )
waitms(rnd(150,250))
//
///////////////////////////////
//
LCLICK(140,42)  // активация
waitms(rnd(550,750))
//
///////////////////////////////
//
GOSUB (sub_CO_V) // введение адреса сайта   (1  строка из  файла 1234.тхт )
waitms(rnd(550,750))
//
//////////////////
//
GOSUB(sub_ENTER) // переход и ожидание открытия сайта
waitms(rnd(3550,4750))
//
///////////////////////////////
//
LCLICK(26,394)  // 
waitms(rnd(350,450))
//.............................................................................. 
LCLICK(248,133)  // b
waitms(rnd(150,250))
GOSUB(sub_A_D)
LCLICK(248,133)  // b
waitms(rnd(350,450))
TOCLIP(StrReadln ("1234.txt", 2)) // результат 2 строка из   файла 1234тхт  ( логин ffotto99@mail.ru )
waitms(rnd(650,750))
GOSUB (sub_CO_V) //  вставляем  логин из (2 строки  файла 1234тхт )
waitms(rnd(650,750))
//
///////////////////////////////
//
LCLICK(246,177)  // c
waitms(rnd(150,250))
GOSUB(sub_A_D)
LCLICK(246,177)  // c
waitms(rnd(150,250))
TOCLIP(StrReadln ("1234.txt", 3)) // результат 3 строка из   файла 1234тхт  ( пароль  7395solffg )
waitms(rnd(450,550))
GOSUB (sub_CO_V) //  вставляем  пароль из (3 строки  файла 1234тхт )
GOSUB(sub_ENTER)
//..............................................................................
//..............................................................................
//..............................................................................
SUB (sub_CO_V)
KEYDOWN(#CTRL)
waitms(rnd(150,250))
KEYDOWN(#V)
waitms(rnd(150,250))
KEYUP(#V)
waitms(rnd(150,250))
KEYUP(#CTRL)
waitms(rnd(2150,2250))
END_SUB
//..............................................................................
SUB (sub_ENTER)
KEYDOWN(#ENTER)
waitms(rnd(150,250))
KEYUP(#ENTER)
waitms(rnd(150,250))
END_SUB
//..............................................................................
SUB(sub_A_D)
KEYDOWN(#CTRL)
waitms(rnd(150,250))
KEYDOWN(#A)
waitms(rnd(150,250))
KEYUP(#A)
waitms(rnd(150,250))
KEYUP(#CTRL)
waitms(rnd(150,250))
KEYPRESS(#DELETE)
waitms(rnd(150,250))
END_SUB
halt // for single run
Ниже добавил вложение.
 Папку распаковать.
Записать папку в директорию проектов кликермана.
Поменять логин и пароль в файле 1234.тхт на свои
п.с.
Координаты окон для  логина и пароля будут точными только для сайта Вконтакте , открытого в браузере Хром.
 
Бабочки полёт будит тихую поляну в солнечном свету...