Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Hito

Pages: [1] 2 3 ... 81
1
Всё - разобрался...
Code: (clickermann) [Select]
S := pIntArr(_mas^)[0];

2
В общем мучу опять dll-ку для этого всего, но хоть убей - не могу вспомнить, как в dll принимать параметры, передаваемые скриптом кликера?
Вот вызов dll-ки из кликера:
Code: (clickermann) [Select]
CALL("data.dll", 7)А вот код dll:
Code: (clickermann) [Select]
library data;

uses
  Windows,
  SysUtils,
  DateUtils;

//------------------------------------------------------------------------------
// Основное тело функции, идет на экспорт, вызывается из кликера
function execute( _mas: pInteger; _size: Integer): Integer; export; stdcall;
type
   pIntArr = array[0..0] of Integer;

var
   S: Integer;
   Res: TDateTime;
   gmd: string;

begin
   S := // Как сюда присвоить параметр, отправленный кликером - "7"?
   Res:= IncDay(Now, S); // увеличиваем текущую дату на S дней
   result :=  StrToInt(Copy (DateToStr(Res), 7, 4)+Copy (DateToStr(Res), 4, 2)+Copy (DateToStr(Res), 1, 2));
end;
//------------------------------------------------------------------------------

// список экспорта
exports execute;

begin
   // тело пусто
end.
Как в dll-ке, переменной "S", передать параметр из скрипта - "7"?

3
Мы можем как-то получить дату, в формате - ггггммдд, которая будет через 7 дней?

4
На строку
Code: (clickermann) [Select]
EXECUTE("mspaint.exe", "screens\Мир()\волшебный город\БР.bmp")выдаёт ошибку - Файл "F:\scripts\Dragon Knight\WM New x32\screens\Мир()\волшебный.png" не найден...

Старайся пути делать без пробелов. В винде если путь содержит пробелы, он должен заключаться в кавычки. Это не прихоть кликера, Cmd/bat так работает.
Поэтому такие пути нужно собирать с кавычками
Code: (clickermann) [Select]
EXECUTE("mspaint.exe", STRCONCAT(CHAR(34), "screens\Мир()\волшебный город\БР.bmp", CHAR(34)))

Аааа... Вон оно чё... Благодарю...

5
В принципе я проблему свою уже решил через FREADDATA... Мне нужно было, чтобы скрипт сравнил несколько изображений и на их основе создал еще одно, в котором цветными остались бы только те пиксели, которые не изменялись во всех сравниваемых картинках. Так как у нас кликер не умеет в свой буфер вставлять картинки из папок, чтоб их сравнить, я думал сделать, чтоб он эти картинки в паинте открывал для анализа. Но, пока ждал ответа, получилось сделать через FREADDATA.

6
Запустить можно только исполняемый файл. Bmp - не исполняемый.
Может ты хотел открыть файл в паинте?
Code: (clickermann) [Select]
EXECUTE("mspaint.exe", "ТвойФайл.bmp")

На строку
Code: (clickermann) [Select]
EXECUTE("mspaint.exe", "screens\Мир()\волшебный город\БР.bmp")выдаёт ошибку - Файл "F:\scripts\Dragon Knight\WM New x32\screens\Мир()\волшебный.png" не найден...

7
Чего запустить?

Я вроде сказал - чего... bmp-файл...

8
Мы можем как-то запустить bmp-файл из папки в paint-е?

9
Намутил скрипт для одной игры, запущенной на виртуальной машине. Скрипт полностью сбоеустойчив и практически вечен - можно месяц не заглядывать в виртуалку, а потом открыть и "снимать сливки". Но столкнулся с одной проблемой... Чем дольше открыта игра и чем больше в ней производится действий, тем больше она раздувается и тем больше занимает рабочую память, от чего игра начинает лагать и так далее. Появилась надобность в контроле рабочей памяти и, исходя из полученных данных, решение - перезапустить игру, или даже винду. В связи с этим, намутил dll-ку...

https://disk.yandex.ru/d/0mNmOUFZ6eLDCw

Исходный код dll-ки...

Code: (clickermann) [Select]
library loading_memory;

uses
  Windows,
  SysUtils;

//------------------------------------------------------------------------------
// Основное тело функции, идет на экспорт, вызывается из кликера
function execute( _mas: pInteger; _size: Integer): Integer; export; stdcall;
type
   pIntArr = array[0..0] of Integer;

var
   Status: TMemoryStatus;

begin
   Status.dwLength := sizeof(TMemoryStatus);
   GlobalMemoryStatus(Status);
   result :=  Status.dwMemoryLoad; // присваиваем возвращаемое значение
end;
//------------------------------------------------------------------------------

// список экспорта
exports execute;

begin
   // тело пусто
end.

Вызов dll-ки в Clickermann-е...

Code: (clickermann) [Select]
CALL("loading_memory.dll")
LOGWRITE ("Загруженность памяти = ",$_return1,"%")
WAITMS(50)

10
http://crapware.aidf.org/forum/index.php?topic=5742.msg37593#msg37593

"к етой теме появился новый вопрос. С IF_PIXEL_IN можно сделать так что если находит несколька одинаковых цветов то после нажатие на одно место - переходила на другой а не кликала по несколько раз туда же , пока не проподёт етот цвет? и как ето сделать?"

Code: (clickermann) [Select]
$nuzhniy_cvet_pikselya = // подставляем цвет пикселя
$minimalnoe_kolichestvo_piksley = // подставляем нужное, минимальное количество пикселей



GETSCREEN ($x1,$y1, $x2,$y2)
SCANPXL($ARR_SCAN, $x1,$y1, $x2,$y2, $nuzhniy_cvet_pikselya)
$kolichestvo_piksley = ARRSIZE($ARR_SCAN)/2
UNDEFINE($ARR_SCAN)
IF($kolichestvo_piksley >= $minimalnoe_kolichestvo_piksley)
   IF($click = 0)
      // кликаем, куда надо
      $click = 1
   END_IF
else
   $click = 0
END_IF



WAITMS(50)

11
В ней куча окошек. Если одно из них активно(далее окноА) - надо запустить скрипт.

Сорри... Я, до того, как написать свой ответ, вот это упустил. Ну, ты бы скрин сбросил примера, так людям проще было бы совет тебе дать...

12
можно ли узнать на каком окне фокус в терминале не анализом цвета

http://crapware.aidf.org/forum/index.php?topic=4097.0

dramster-у там спасибо скажи )) Я до сих пор его вариантом пользуюсь.

13
А разве это сообщение не должно быть в отделе - "Биржа"? И вообще - это про кликерманн...?

14
А че пропал-то?  ;D Вкурил - для чего все это?  ;D ;D ;D Я только с утра вкурил...  ;D На сколько редко ошибается? Сколько поинтов максимально собирал? ))
Я уже уходя с работы тему увидел. Набросал скрипт, потестил, сделал ещё 3 варианта и свалил домой. А дома у меня выходные  :D поэтому такие конкурсы не для меня. Нафиг это олимпиадное программирование на время.

Ну, там просто если залогиниться, то становится видно, что это всё ради реальных лаве ))))

15

Изучи вот это: (правда примечание тут ошибочное)


Code: (clickermann) [Select]
if (FExists($path)=0) // Тут у нас по сути получается - if (FExists("screens\Цех")=0). Это условие "звучит" так - "Если этих папок нет"
Жаль, что когда тут просят помощи, в итоге приходится тратить время, на ссылки в справку кликера, которую вы похоже даже не открываете. Я в свое время хоть и ставил на уши этот форум своими вопросами, эту справку читал и перечитывал раз 300 и потом уже доставал своими вопросами о том, что я никак не мог понять...

Причина очень простая. Ты не указал версию кликера под которую писал скрипт. Нужно всегда указывать версии ПО, особенно если используешь не релизные версии.
FExists появилась только в 4.14 (и FCREATE там же), а версия 4.14 с бэты так и не вылезла. Человек наверняка использует версию 4.13.

Да просто кликер уже не развивается и я забыл про версии.

Pages: [1] 2 3 ... 81