1
Добавлена тема оформления "Clickermann" для кода с подсветкой синтаксиса. Выбирается из выпадающего списка "Код" (рядом с "цвет", "размер" и "шрифт") в режиме редактирования поста. Либо просто BB-тегом "code=clickermann"
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.
CALL("data.dll", 7)А вот код dll: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"?
На строку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)))
Запустить можно только исполняемый файл. Bmp - не исполняемый.
Может ты хотел открыть файл в паинте?Code: (clickermann) [Select]EXECUTE("mspaint.exe", "ТвойФайл.bmp")
EXECUTE("mspaint.exe", "screens\Мир()\волшебный город\БР.bmp")выдаёт ошибку - Файл "F:\scripts\Dragon Knight\WM New x32\screens\Мир()\волшебный.png" не найден...
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.CALL("loading_memory.dll")
LOGWRITE ("Загруженность памяти = ",$_return1,"%")
WAITMS(50)
$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)
В ней куча окошек. Если одно из них активно(далее окноА) - надо запустить скрипт.
можно ли узнать на каком окне фокус в терминале не анализом цвета
А че пропал-то?Я уже уходя с работы тему увидел. Набросал скрипт, потестил, сделал ещё 3 варианта и свалил домой. А дома у меня выходныеВкурил - для чего все это?
![]()
![]()
Я только с утра вкурил...
На сколько редко ошибается? Сколько поинтов максимально собирал? ))
поэтому такие конкурсы не для меня. Нафиг это олимпиадное программирование на время.
Изучи вот это: (правда примечание тут ошибочное)Code: (clickermann) [Select]if (FExists($path)=0) // Тут у нас по сути получается - if (FExists("screens\Цех")=0). Это условие "звучит" так - "Если этих папок нет"
Жаль, что когда тут просят помощи, в итоге приходится тратить время, на ссылки в справку кликера, которую вы похоже даже не открываете. Я в свое время хоть и ставил на уши этот форум своими вопросами, эту справку читал и перечитывал раз 300 и потом уже доставал своими вопросами о том, что я никак не мог понять...
Причина очень простая. Ты не указал версию кликера под которую писал скрипт. Нужно всегда указывать версии ПО, особенно если используешь не релизные версии.
FExists появилась только в 4.14 (и FCREATE там же), а версия 4.14 с бэты так и не вылезла. Человек наверняка использует версию 4.13.