[Помощь] Использование API overlay.ahk
|
|
denial19 |
Дата: Среда, 23.08.2017, 00:40 | Сообщение # 1
|
Боец
Сообщений: 107
Статус: Offline
|
Привет потенциальный помощник. Убил просто тучу времени, никак не могу разобраться в overlay.ahk, огромный потенциал в его использование есть у ahk. Суть в том что беру уже готовый код допустим AHK HUD, компилирую его и он работает. Создаются боксы, тексты, линии, все есть. Но при попытке создание чего-либо своего не получается хотя вроде все функции расписаны. Пример Text_Overlay := TextCreate(Tahoma, 8, true, false, 100, 100,0xFFFFFFFF,"test",true, true) Может есть какая-то функция вывода содержимого? Функция начальствующие отрисовки кадра. Может проблема в компиляции. Пробовал абсолютно все версии этого API, пробовал несколько способов компиляции. Всё равно функции по типу такой не работают и я не могу получить картинку на выходе. #Include overlay.ahk Text_Overlay := TextCreate(Tahoma, 8, true, false, 100, 100,0xFFFFFFFF,"TEST",true, true) TextSetShown(Text_Overlay, true)
Для помощи отпишите пример создания текста TEST на экране.
Сообщение отредактировал denial19 - Среда, 23.08.2017, 11:42 |
|
|
|
aknqkzxlcs_21 |
Дата: Среда, 23.08.2017, 07:39 | Сообщение # 2
|
Боец
Сообщений: 57
Статус: Offline
|
Tahoma в кавычки возьми
мой пример отображения даты и времени в игре:
Код date := A_DD "." A_MM "." A_YYYY " " A_Hour ":" A_Min ":" A_Sec text_overlay := TextCreate("Times New Roman", 10, true, false, 20, 180, 0xFFFFFF00, date, true, true)
Сообщение отредактировал aknqkzxlcs_21 - Среда, 23.08.2017, 07:41 |
|
|
|
denial19 |
Дата: Среда, 23.08.2017, 13:08 | Сообщение # 3
|
Боец
Сообщений: 107
Статус: Offline
|
Пример кода, который не работает.
Код h:: text_overlay := TextCreate("Times New Roman", 10, true, false, 20, 180, 0xFFFFFF00, "TEST", true, true) return
j:: DestroyAllVisual() return Ты просто пишешь создание объекта и после нет никакой процедуры вывод отдельной? Мб нужно как-то компилировать по другому? Попробуй этот код скомпилировать и запустить.Добавлено (23.08.2017, 13:08) --------------------------------------------- РЕШЕНО! Необходима компиляция обязательная через AHK2EXE в ANSI32.
|
|
|
|
aknqkzxlcs_21 |
Дата: Среда, 23.08.2017, 13:22 | Сообщение # 4
|
Боец
Сообщений: 57
Статус: Offline
|
пример кода работает, гонял с ним почти год у меня все без компиляции работает, возможно тебе просто требовался запуск в кодировке ANSI (я-то с юникодом спокойно играю, откуда у вас всех эти проблемы лезут не пойму...), компилировать необязательно
|
|
|
|
Vlad0sZ |
Дата: Суббота, 26.08.2017, 13:21 | Сообщение # 5
|
Новичок
Сообщений: 5
Статус: Offline
|
Мда-мс. Такая странная проблема. Все делаю по твоему коду, aknqkzxlcs_21, но ничего не выводится. Может быть у меня API кривой? Да нет, скачивал вроде нормальную версию с хаба. Как именно активируется отрисовка текста? Просто задать переменную? Или нужно как-то эту переменную "подтолкнуть" :D?
|
|
|
|
belyankin12 |
Дата: Суббота, 26.08.2017, 16:15 | Сообщение # 6
|
Боец
Сообщений: 69
Статус: Offline
|
Задается id текста. Грубо говоря переменная := функция создания текста. Все, текст отображен. АХК должен быть обязательно ANSI 32 bit, кстати компиляция необязательна, Дениал, посмотри в тему с UDF, я там свою проблему описывал, парень для меня скинул старую версию апи, он заработал сразу же на ура, я тоже мучился с этими новыми апи...
|
|
|
|
denial19 |
Дата: Воскресенье, 27.08.2017, 04:29 | Сообщение # 7
|
Боец
Сообщений: 107
Статус: Offline
|
Цитата Vlad0sZ ( ) Может быть у меня API кривой?
Цитата belyankin12 ( ) кстати компиляция необязательна, Компиляция обязательна. Я не знаю с чем это связанно, но на 64-бит винде я компилировал даже при подключении UDF, сейчас же на х86 приходиться компилировать при подключении .dll библиотек. Vlad0sZ, .dll должен быть в папке со скриптом и компилируй скрипт.
|
|
|
|
belyankin12 |
Дата: Воскресенье, 27.08.2017, 09:22 | Сообщение # 8
|
Боец
Сообщений: 69
Статус: Offline
|
.dll написан на 32 бит, потому на 64 бит вообще работать не будет. Согласись, что постоянно править код и компилировать неудобно, потому попробуй то что я предложил, я не вижу проблем в том устарелом API кроме того что нет и без того ненужных SetParam.
|
|
|
|
aknqkzxlcs_21 |
Дата: Воскресенье, 27.08.2017, 12:30 | Сообщение # 9
|
Боец
Сообщений: 57
Статус: Offline
|
Цитата denial19 ( ) Компиляция обязательна не путай людей, это только у тебя так (ну и, возможно, еще у некоторого 1% людей). Либо ты что-то не то делаешь, либо твоей системе не хватает каких-то библиотек/дистрибутивов API DLL или dx9_overlay.dll собраны в 32-битном режиме, поэтому компиляция или запуск скрипта в 64-битном режиме будут бесполезными и не дадут никакого эффекта, кроме ошибки "библиотека не найдена" (не удалось загрузить библиотеку)
Сообщение отредактировал aknqkzxlcs_21 - Воскресенье, 27.08.2017, 12:33 |
|
|
|
Vlad0sZ |
Дата: Воскресенье, 27.08.2017, 14:18 | Сообщение # 10
|
Новичок
Сообщений: 5
Статус: Offline
|
То есть в принципе, на 64-х разрядной винде можно забыть об Апи?
|
|
|
|
belyankin12 |
Дата: Воскресенье, 27.08.2017, 14:27 | Сообщение # 11
|
Боец
Сообщений: 69
Статус: Offline
|
Нет, не на системе х64, а на АХК х64. Система может быть любая - у меня 64 бит все идёт норм. ПРосто АХК должен быть 32 бит.
|
|
|
|
denial19 |
Дата: Воскресенье, 27.08.2017, 19:26 | Сообщение # 12
|
Боец
Сообщений: 107
Статус: Offline
|
У меня вообще MacBook Pro) И винда эмулируется в parallels. Так что я таких костылей повидал. Все перепробовал, не компилируется само приходиться постоянно тратить время на ручную компиляцию.
|
|
|
|
belyankin12 |
Дата: Воскресенье, 27.08.2017, 20:16 | Сообщение # 13
|
Боец
Сообщений: 69
Статус: Offline
|
Хэхэ, с этого и нужно было начинать)
|
|
|
|
Vlad0sZ |
Дата: Понедельник, 28.08.2017, 12:47 | Сообщение # 14
|
Новичок
Сообщений: 5
Статус: Offline
|
Все действительно получилось. Проблема была в координатах (Походу выводилось за экраном). Теперь мне нужна ваша помощь. Как узнать координаты экрана именно в samp? Допустим у меня разрешение 1366x768 - в переменную вставляю центр - 683, 384. Текст выводится примерно на координатах экрана 1180x500
|
|
|
|
belyankin12 |
Дата: Понедельник, 28.08.2017, 17:24 | Сообщение # 15
|
Боец
Сообщений: 69
Статус: Offline
|
MouseGetPos, x, y и потом Clipboard := "" . x . " " . y . "". Наводишь курсором куда-то и тыкаешь, координаты будут в буфере обмена, только бывает не под курсором появляется текст, у меня он всегда правее и ниже курсора.
|
|
|
|