BASS_DEVSOFTWARE
31.03.2020, 23:37
RLWG_Readme (3).pngBASS_DEVSOFTWARE · 31 Мар 2020 в 22:37' data-fancybox="lb-post-474515" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/52241/" style="cursor: pointer;" title="RLWG_Readme (3).png">
https://forum.antichat.xyz/attachments/27474515/
Играя в GTA Online, спасибо карантину, я обратил внимание на погоду, которая шла в игре: дождь, я бы сказал ливень.
Я люблю такую погоду, и когда она начинается в игре, я скорее рад. Но суть не в этом.
Тут меня осенило - как было бы круто, будь погода в игре такой же, как у меня за окном!
Солнце? В игре солнечно. Дождь? И так далее, по аналогии.
Если для реализации этого в GTA Online мне нужно было бы нанимать хакера, который, как минимум, хакнул нубо-рп 3000 раз, то для САМПа я и сам сварганю за пару чашек кофе.
Хоть я сам и не играю уже в САМП, считайте это подгоном специально для вас😀
Хочу представить вам творение, аналогов которого просто нет.
https://forum.antichat.xyz/attachments/27474515/
RealLife Weather in the Game
По старинке, все исходники и мануал по установке на английском языке на моём гитхабе (https://github.com/BassTechnologies/RLWG-DHT11).
Screenshot_30.pngBASS_DEVSOFTWARE · 31 Мар 2020 в 22:37' data-fancybox="lb-post-474515" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/52251/" style="cursor: pointer;" title="Screenshot_30.png">
https://forum.antichat.xyz/attachments/27474515/
Введение
Если вы знакомы с моим предыдущим проектом Circle Storage (https://www.blast.hk/threads/50678/), то вы уже знакомы отчасти с темой Arduino. Если же нет, ознакомьтесь с ним и возвращайтесь сюда.
RLWG- смесь Ардуино и АХК. Я считаю, что если использовать AHK для игр, то только в таких проектах. Техническая часть - Arduino Uno, Ethernet Shield и DHT11.
Последнее - это датчик температуры и влаги, который и поможет нам определять текущую обстановку за окном.
Алгоритм
Программная часть предусматривает 3 параметра: текущее время, влага и температура. Определяемая влага и температура имеют 3 состояния: низкая, нормальная и высокая.
Низкая влага, высокая температура и т.д. Если на часах 9 вечера, нормальная влага и низкая температура - будет пасмурная погода, а то и вовсе дождь. Если в то же время показатели влаги и температуры будут другими - будет и другая погода.
У нас есть 4 отрезка времени
К каждому отрезку времени 3 условия на температуру
К каждому условию температуры 3 условия влаги
Довольно гибкие настройки, не находите?
09_00 - 17_59 (1).pngBASS_DEVSOFTWARE · 31 Мар 2020 в 22:37' data-fancybox="lb-post-474515" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/52243/" style="cursor: pointer;" title="09_00 - 17_59 (1).png">
https://forum.antichat.xyz/attachments/27474515/
Настройка
Ethernet Shield устанавливаем поверх Arduino Uno. Датчик влаги подключаем к питанию Шилда и логический выход тыкаем в 7 пин.
Нам понадобится Ethernet кабель. Если у вас роутер, один конец втыкаем в него, а другой в Шилд. Если ноут, в принципе то же самое. Это нам необходимо, чтобы создать локальную сеть на нашем вайфае. Заходим на мой гитхаб, качаем прошивку и открываем IDE. В ней необходимо изменить 1 параметр: это локальный IP Шилда. Как его найти:
Open Arduino IDE
File - Example codes - Ethernet - DhcpAdressPrinter
C++:
IPAddress
ip
(
192
,
168
,
0
,
70
)
;
// Your ethernet local ip.
Заливаем прошивку в ардуинку. Теперь скачиваем исходник AHK и открываем его в блокноте. В нём также меняем локальный ip на свой.
AutoHotKey:
local_ip
(
192
,
168
,
0
,
70
)
; // Your ethernet local ip.
Помимо этого, можно изменить параметры:
AutoHotKey:
rechecktime
:=
"5000"
//
Время опроса ahk скриптом нашего локального сервера
.
5
секунд
.
wetlist
:=
{
low_wet
:
{
low
:
20
,
high
:
49
}
,
okey_wet
:
{
low
:
50
,
high
:
79
}
,
high_wet
:
{
low
:
80
,
high
:
100
}
}
//
Параметр низкой влаги идёт от
20
до
49
,
средней влаги от
50
до
79
,
повышенной влаги от
80
до
100.
temperaturelist
:=
{
low_temp
:
{
low
:
-
40
,
high
:
-
1
}
,
okey_temp
:
{
low
:
0
,
high
:
25
}
,
high_temp
:
{
low
:
26
,
high
:
40
}
}
//
Параметр низкой температуры идёт от
-
40
до
-
1
,
средней температуры от
0
до
25
и повышенной температуры от
26
до
40
AutoHotKey:
[CODE]
; Внутри у нас есть 4 условия на время: от 9 до 17:59, 18 до 20:59, 21 до 23:59, 00:00 до 8:59
if
(
clocks
>=
9
&&
clocksmin
>=
0
)
&&
(
clocks
Применение
Подключаем питание к ардуинке, Ethernet кабель уже подключен. Открываем в браузере локальный ip, что вы указывали в прошивке. Если у вас вайфай - это можно сделать и с телефона. Вы должны увидеть страницу, которая будет иметь примерно такой вид:
https://forum.antichat.xyz/attachments/27474515/
Если всё получилось - отлично! В противном случае ищите причину ошибки в интернете.
Итак, у нас 2 параметра: Температура (20 *C) и Влажность (29%). В текущий момент это мои показатели в комнате. В вашем случае, выставьте наш бутерброд на балкон, предварительно запитав батарейкой-другой и свесьте датчик на улицу (для более точного отображения). Вы можете сделать это через переходники ПАПА-МАМА, но в своём случае я взял 2 провода, которые свистнул на практике в колледже, и разрезав на 3 максимально одинаковых отрезка подключил их к ардуинке и датчику с помощью изоленты (карантин, радиомагазины закрыты).
Теперь запускаем RLWG.ahk, не забываем про UDF. Меню никакого нет, в трее есть иконка для управления. Заходим в игру, вероятно погода уже изменилась.
Теперь, при изменении погоды на улице, скрипт изменит её и для вас в игре. Если пойдёт дождь - поднимется влага - пойдёт дождь в игре.
(см. со звуком 😉)
Завершение
Надеюсь, моя реализация воодушевит хотя бы одного читающего эту статью.
Даст понять, что даже во что-то старое можно вдохнуть жизнь (только пожалуйста, хватит клепать копии скриптов на смену погоды, однострочные биндеры и др. шлак)
Напомню, что на гитхабе (https://github.com/BassTechnologies/RLWG-DHT11)где и лежат все исходники - есть функция поставить https://forum.antichat.xyz/attachments/27474515/ (https://github.com/BassTechnologies/RLWG-DHT11) проекту.
Это я так, к слову...
Спасибо что прочитали до конца. Хорошего настроения, здоровья и сил пережить этот карантин!
https://forum.antichat.xyz/attachments/27474515/
Играя в GTA Online, спасибо карантину, я обратил внимание на погоду, которая шла в игре: дождь, я бы сказал ливень.
Я люблю такую погоду, и когда она начинается в игре, я скорее рад. Но суть не в этом.
Тут меня осенило - как было бы круто, будь погода в игре такой же, как у меня за окном!
Солнце? В игре солнечно. Дождь? И так далее, по аналогии.
Если для реализации этого в GTA Online мне нужно было бы нанимать хакера, который, как минимум, хакнул нубо-рп 3000 раз, то для САМПа я и сам сварганю за пару чашек кофе.
Хоть я сам и не играю уже в САМП, считайте это подгоном специально для вас😀
Хочу представить вам творение, аналогов которого просто нет.
https://forum.antichat.xyz/attachments/27474515/
RealLife Weather in the Game
По старинке, все исходники и мануал по установке на английском языке на моём гитхабе (https://github.com/BassTechnologies/RLWG-DHT11).
Screenshot_30.pngBASS_DEVSOFTWARE · 31 Мар 2020 в 22:37' data-fancybox="lb-post-474515" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/52251/" style="cursor: pointer;" title="Screenshot_30.png">
https://forum.antichat.xyz/attachments/27474515/
Введение
Если вы знакомы с моим предыдущим проектом Circle Storage (https://www.blast.hk/threads/50678/), то вы уже знакомы отчасти с темой Arduino. Если же нет, ознакомьтесь с ним и возвращайтесь сюда.
RLWG- смесь Ардуино и АХК. Я считаю, что если использовать AHK для игр, то только в таких проектах. Техническая часть - Arduino Uno, Ethernet Shield и DHT11.
Последнее - это датчик температуры и влаги, который и поможет нам определять текущую обстановку за окном.
Алгоритм
Программная часть предусматривает 3 параметра: текущее время, влага и температура. Определяемая влага и температура имеют 3 состояния: низкая, нормальная и высокая.
Низкая влага, высокая температура и т.д. Если на часах 9 вечера, нормальная влага и низкая температура - будет пасмурная погода, а то и вовсе дождь. Если в то же время показатели влаги и температуры будут другими - будет и другая погода.
У нас есть 4 отрезка времени
К каждому отрезку времени 3 условия на температуру
К каждому условию температуры 3 условия влаги
Довольно гибкие настройки, не находите?
09_00 - 17_59 (1).pngBASS_DEVSOFTWARE · 31 Мар 2020 в 22:37' data-fancybox="lb-post-474515" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/52243/" style="cursor: pointer;" title="09_00 - 17_59 (1).png">
https://forum.antichat.xyz/attachments/27474515/
Настройка
Ethernet Shield устанавливаем поверх Arduino Uno. Датчик влаги подключаем к питанию Шилда и логический выход тыкаем в 7 пин.
Нам понадобится Ethernet кабель. Если у вас роутер, один конец втыкаем в него, а другой в Шилд. Если ноут, в принципе то же самое. Это нам необходимо, чтобы создать локальную сеть на нашем вайфае. Заходим на мой гитхаб, качаем прошивку и открываем IDE. В ней необходимо изменить 1 параметр: это локальный IP Шилда. Как его найти:
Open Arduino IDE
File - Example codes - Ethernet - DhcpAdressPrinter
C++:
IPAddress
ip
(
192
,
168
,
0
,
70
)
;
// Your ethernet local ip.
Заливаем прошивку в ардуинку. Теперь скачиваем исходник AHK и открываем его в блокноте. В нём также меняем локальный ip на свой.
AutoHotKey:
local_ip
(
192
,
168
,
0
,
70
)
; // Your ethernet local ip.
Помимо этого, можно изменить параметры:
AutoHotKey:
rechecktime
:=
"5000"
//
Время опроса ahk скриптом нашего локального сервера
.
5
секунд
.
wetlist
:=
{
low_wet
:
{
low
:
20
,
high
:
49
}
,
okey_wet
:
{
low
:
50
,
high
:
79
}
,
high_wet
:
{
low
:
80
,
high
:
100
}
}
//
Параметр низкой влаги идёт от
20
до
49
,
средней влаги от
50
до
79
,
повышенной влаги от
80
до
100.
temperaturelist
:=
{
low_temp
:
{
low
:
-
40
,
high
:
-
1
}
,
okey_temp
:
{
low
:
0
,
high
:
25
}
,
high_temp
:
{
low
:
26
,
high
:
40
}
}
//
Параметр низкой температуры идёт от
-
40
до
-
1
,
средней температуры от
0
до
25
и повышенной температуры от
26
до
40
AutoHotKey:
[CODE]
; Внутри у нас есть 4 условия на время: от 9 до 17:59, 18 до 20:59, 21 до 23:59, 00:00 до 8:59
if
(
clocks
>=
9
&&
clocksmin
>=
0
)
&&
(
clocks
Применение
Подключаем питание к ардуинке, Ethernet кабель уже подключен. Открываем в браузере локальный ip, что вы указывали в прошивке. Если у вас вайфай - это можно сделать и с телефона. Вы должны увидеть страницу, которая будет иметь примерно такой вид:
https://forum.antichat.xyz/attachments/27474515/
Если всё получилось - отлично! В противном случае ищите причину ошибки в интернете.
Итак, у нас 2 параметра: Температура (20 *C) и Влажность (29%). В текущий момент это мои показатели в комнате. В вашем случае, выставьте наш бутерброд на балкон, предварительно запитав батарейкой-другой и свесьте датчик на улицу (для более точного отображения). Вы можете сделать это через переходники ПАПА-МАМА, но в своём случае я взял 2 провода, которые свистнул на практике в колледже, и разрезав на 3 максимально одинаковых отрезка подключил их к ардуинке и датчику с помощью изоленты (карантин, радиомагазины закрыты).
Теперь запускаем RLWG.ahk, не забываем про UDF. Меню никакого нет, в трее есть иконка для управления. Заходим в игру, вероятно погода уже изменилась.
Теперь, при изменении погоды на улице, скрипт изменит её и для вас в игре. Если пойдёт дождь - поднимется влага - пойдёт дождь в игре.
(см. со звуком 😉)
Завершение
Надеюсь, моя реализация воодушевит хотя бы одного читающего эту статью.
Даст понять, что даже во что-то старое можно вдохнуть жизнь (только пожалуйста, хватит клепать копии скриптов на смену погоды, однострочные биндеры и др. шлак)
Напомню, что на гитхабе (https://github.com/BassTechnologies/RLWG-DHT11)где и лежат все исходники - есть функция поставить https://forum.antichat.xyz/attachments/27474515/ (https://github.com/BassTechnologies/RLWG-DHT11) проекту.
Это я так, к слову...
Спасибо что прочитали до конца. Хорошего настроения, здоровья и сил пережить этот карантин!