-
Автор темы
- #1
1.5. Запрещено указывать название темы полностью или частично заглавными буквами. Это же относится к сообщениям на форуме.
Всем привет! Любите звуки после убийств, но, дядечка Габен их не добавляет? Нате вам такую приблуду. Запускаете где и когда угодно и кайфуете.
Вашему вниманию - GameState Integration (GSI) - это интерфейс, позволяющий сторонним приложениям получать данные о состоянии игры в режиме реального времени. Эта функция позволяет разработчикам интегрировать сторонние инструменты и системы для анализа матчей, стриминга, создания HUD-ов, и различных аналитических решений.
GSI работает через локальный сервер HTTP. Когда игра запущена, CS отправляет данные о состоянии игры на определённый URL, настроенный пользователем или разработчиком, в виде JSON-файла. Эти данные включают информацию о текущей игре, игроках, команде, оружии, бомбах и так далее.
То есть это официальная фишка игры, которую может юзать каждый без всякого риска получить VAC.
Что нужно сделать, чтобы скрипт работал:
По завершении всех этапов не спешим запускать скрипт. В строке №65 указан звуковой файл -
Итак, убеждаемся, что все сделали правильно, и теперь можно наконец-то запускать скрипт!
Как закрыть/выключить скрипт? — Нажмите клавишу END на клавиатуре или закройте его из Tray, как любой другой AHK-скрипт.
Как я уже говорил ранее, это официальный инструмент, созданный компанией Valve, который используют операторы на турнирах для отображения красивых световых и звуковых элементов в матчах в зависимости от ситуации. Если у вас есть устройства компаний SteelSeries, Razer и других, они также используют эту технологию для синхронизации подсветки с игровыми событиями. Исходя из этого, можно сделать вывод, что дядюшка Габен не такой уж и плохой человек, чего не скажешь о разрабах этой игры в целом.
Вашему вниманию - GameState Integration (GSI) - это интерфейс, позволяющий сторонним приложениям получать данные о состоянии игры в режиме реального времени. Эта функция позволяет разработчикам интегрировать сторонние инструменты и системы для анализа матчей, стриминга, создания HUD-ов, и различных аналитических решений.
GSI работает через локальный сервер HTTP. Когда игра запущена, CS отправляет данные о состоянии игры на определённый URL, настроенный пользователем или разработчиком, в виде JSON-файла. Эти данные включают информацию о текущей игре, игроках, команде, оружии, бомбах и так далее.
То есть это официальная фишка игры, которую может юзать каждый без всякого риска получить VAC.
Что нужно сделать, чтобы скрипт работал:
1. Создать конфигурационный файл .cfg, который будет храниться в папке csgo
- перейти по пути: <диск со Стимом>\Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg
- в папке cfg создать файл .cfg с названием gamestate_integration_t1ran со следующим содержимым:
cfg:
"GSI v1.0.0"
{
"uri" "http://127.0.0.1:3000"
"timeout" "1.0"
"buffer" "0.01"
"throttle" "0.01"
"heartbeat" "1.0"
"data"
{
"provider" "0"
"map" "0"
"round" "0"
"player_id" "1"
"player_weapons" "0"
"player_match_stats" "1"
"player_state" "0"
"allplayers_id" "0"
"allplayers_state" "0"
"allplayers_match_stats" "0"
}
}
- убеждаемся, что выполнили два предыдущих пункта правильно
- готово!
2. У кого не скачан, скачиваем AutoHotkey второй версии (именно второй, и никак иначе) -
Пожалуйста, авторизуйтесь для просмотра ссылки.
- создаем новый скрипт AutoHotkey, называем его и вставляем в него следующий код:
AutoHotkey v2.0.18:
#SingleInstance Force
OnExit CLOSE_ALL_PROCESS
psCode := "
(
# Создание HTTP-сервера на порту 3000
$listener = [System.Net.HttpListener]::new()
$listener.Prefixes.Add('http://127.0.0.1:3000/')
$listener.Start()
$dataStore = '' # Переменная для хранения данных
while ($true) {
# Ожидание запроса
$context = $listener.GetContext()
$request = $context.Request
$response = $context.Response
# Обработка POST-запроса
if ($request.HttpMethod -eq 'POST') {
# Чтение данных из потока запроса
$reader = New-Object System.IO.StreamReader($request.InputStream)
$data = $reader.ReadToEnd()
$dataStore = $data # Сохранение данных
# Отправка ответа
$responseString = 'Данные успешно приняты'
$buffer = [System.Text.Encoding]::UTF8.GetBytes($responseString)
$response.ContentLength64 = $buffer.Length
$response.OutputStream.Write($buffer, 0, $buffer.Length)
$response.OutputStream.Close()
}
elseif ($request.HttpMethod -eq 'GET') {
# Обработка GET-запроса
$responseString = $dataStore
$buffer = [System.Text.Encoding]::UTF8.GetBytes($responseString)
$response.ContentLength64 = $buffer.Length
$response.OutputStream.Write($buffer, 0, $buffer.Length)
$response.OutputStream.Close()
}
}
$listener.Stop()
$listener.Close()
)"
Run("powershell.exe -NoExit -ExecutionPolicy Bypass -WindowStyle Hidden -Command " psCode, , "Hide", &PID_PS_SCRIPT)
HttpRequest := ComObject("WinHttp.WinHttpRequest.5.1")
HttpRequest.Open("GET", "http://127.0.0.1:3000/", false)
old_kill := ""
old_steamid := ""
loop {
HttpRequest.Send()
Response := HttpRequest.ResponseText
if (start := RegExMatch(Response, '"steamid": "(\d+)"', &SubPat)) {
steamid := SubPat[1]
if (old_steamid = "") {
old_steamid := steamid
}
if (steamid != old_steamid) {
old_steamid := steamid
old_kill := ""
}
}
if (RegExMatch(Response, '"kills": (\d+)', &SubPat, start)) {
kill := SubPat[1]
if (old_kill = "") {
old_kill := kill
}
if (kill != old_kill) {
SoundPlay("mixkit-service-bell-931.wav", 0)
old_kill := kill
}
}
Sleep(1)
}
CLOSE_ALL_PROCESS(Exit, ExitApp)
{
ProcessClose(PID_PS_SCRIPT)
}
END::ExitApp()
- сохраняем
- готово!
SoundPlay("mixkit-service-bell-931.wav", 0)
. Вместо моего вы можете вставить любой другой на ваше усмотрение, но на всякий случай оставлю свой звуковой файл здесь, вдруг вам понравится звук.Итак, убеждаемся, что все сделали правильно, и теперь можно наконец-то запускать скрипт!
Как закрыть/выключить скрипт? — Нажмите клавишу END на клавиатуре или закройте его из Tray, как любой другой AHK-скрипт.
Как я уже говорил ранее, это официальный инструмент, созданный компанией Valve, который используют операторы на турнирах для отображения красивых световых и звуковых элементов в матчах в зависимости от ситуации. Если у вас есть устройства компаний SteelSeries, Razer и других, они также используют эту технологию для синхронизации подсветки с игровыми событиями. Исходя из этого, можно сделать вывод, что дядюшка Габен не такой уж и плохой человек, чего не скажешь о разрабах этой игры в целом.
Вложения
-
120.3 KB Просмотры: 8
Последнее редактирование: