Начинающий
- Статус
- Оффлайн
- Регистрация
- 1 Ноя 2021
- Сообщения
- 129
- Реакции
- 19
Код:
local http = require'gamesense/http'
local renderer = renderer
local image_url = "гитхаб ссылка"
local image_path = "csgo/test.png" -- cs folder
local texture_id = nil
-- Проверка: текущая директория игры
print("Загрузка изображения через HTTP...")
http.get(image_url, function(success, response)
print("http.get завершен.")
if not success then
print("Ошибка: не удалось выполнить запрос")
return
end
if response.status ~= 200 then
print("HTTP ошибка: " .. response.status)
return
end
-- Проверка первых байтов PNG
local header = string.sub(response.body, 1, 8)
if header ~= "\137PNG\r\n\26\n" then
print("Файл не начинается с сигнатуры PNG, получено:", header)
writefile("debug_response.txt", response.body) -- сохрани HTML в файл для отладки
return
end
-- Записываем PNG в файл
local success_write = pcall(function()
writefile(image_path, response.body)
end)
if not success_write then
print("Ошибка при записи PNG в файл: " .. image_path)
return
end
print("PNG успешно записан в файл:", image_path)
-- Читаем PNG из файла
local file_data = nil
local success_read = pcall(function()
file_data = readfile(image_path)
end)
if not success_read or not file_data then
print("Ошибка при чтении PNG из файла.")
return
end
print("Файл прочитан. Попытка декодировать PNG...")
local ok, rgba, w, h = pcall(function()
return renderer.load_png(file_data)
end)
if not ok or not rgba then
print("Ошибка при декодировании PNG.")
return
end
local tex_ok, tex_id = pcall(function()
return renderer.load_rgba(rgba, w, h)
end)
if not tex_ok or not tex_id then
print("Не удалось загрузить текстуру.")
return
end
texture_id = tex_id
print("Текстура загружена. ID:", texture_id)
end)
client.set_event_callback("paint", function()
if texture_id then
renderer.texture(texture_id, 100, 100, 64, 64, 255, 255, 255, 255)
else
renderer.text(100, 100, 255, 0, 0, 255, "-", 0, "Ожидание загрузки PNG...")
end
end)
При запуске (там норм ссылка на гит для загрузки)
он выдает мне через client.log в консоль такую отладку:
[gamesense] http.get завершен.
[gamesense] PNG успешно записан в файл:csgo/softiq_test.png
[gamesense] Файл прочитан. Попытка декодировать PNG...
[gamesense] Ошибка при декодировании PNG.
Как исправить?