Картинка в памяти через запрос на сайт

#Kai-

Известный
Автор темы
705
292
Получаю запросом - тык

Lua:
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(0) end
        --Запрос
        asyncHttpRequest('GET', "http://test.loc/news.php", nil --[[Аргументы запроса]],
        function(response)
        NewsPict = response.text:match("<span class=\"news1\">(.+)</span>")
        end,
        function(err)
        end)
    while true do
    wait(0)
    end
end

Все как должно быть:

Lua:
imgui.OnInitialize(function()
    renderImage.News = imgui.CreateTextureFromFileInMemory(NewsPict, #NewsPict)
end)

Но картинка просто белая...


Картинка получается путем > тык
Если просто сохранять в самом скрипте все замечательно отображается
Сохранял в текстовик весь код картинки, соответствие 100%.
 

Вложения

  • news.zip
    5.7 KB · Просмотры: 9
Решение
D
как-то так
Lua:
local imgui = require 'mimgui'
local effil = require 'effil'

imgui.OnInitialize(function()
    logo = imgui.CreateTextureFromFileInMemory(_logo, #_logo)
end)

function asyncHttpRequest(method, url, args, resolve, reject)
   local request_thread = effil.thread(function (method, url, args)
      local requests = require 'requests'
      local result, response = pcall(requests.request, method, url, args)
      if result then
         response.json, response.xml = nil, nil
         return true, response
      else
         return false, response
      end
   end)(method, url, args)

   if not resolve then resolve = function() end end
   if not reject then reject = function() end end

   lua_thread.create(function()...

#Kai-

Известный
Автор темы
705
292
Хз тогда, не видя, говорить сложно
Может кто другой поможет.

Как вариант библиотеки effil и requests могут быть кривые, перекачай
так одновременно, отдельный твой код робит, а в моем скрипте нет.
Не могу показать код, большой проект.
Да ладно, я понял что можно таким способом картинки показывать, просто принципиально не хотел качать для пользователя для каждой новости.
 

#Kai-

Известный
Автор темы
705
292
Хз тогда, не видя, говорить сложно
Может кто другой поможет.

Как вариант библиотеки effil и requests могут быть кривые, перекачай
Пиздец. Заработало, перезагрузил скрипт - нихуя.
Ответ слишком долго видимо доходил...
 
  • Нравится
Реакции: deleted-user-422095

#Kai-

Известный
Автор темы
705
292
Хз тогда, не видя, говорить сложно
Может кто другой поможет.

Как вариант библиотеки effil и requests могут быть кривые, перекачай
Приветствую...
А есть какой-то вариант чтобы картинка после того как ответ приходит, сама в "прямом эфире" менялась.
Сделал костыль, отображение NoImage картинки пока запрос не прошел, как проходит опять белая картинка, если открывать скрипт до выполнения запроса.
Если сначало дождаться загрузки, а потом открыть скрипт, собственно все нормально

Я так понимаю это из-за
Lua:
imgui.OnInitialize(function()
 
D

deleted-user-422095

Гость
А есть какой-то вариант чтобы картинка после того как ответ приходит, сама в "прямом эфире" менялась.
До такого ещё не дошел.
Как вариант, загружать в вечном цикле и проверять ответ через handler чтобы не было пролага
чтобы не таскать с собой редкий effil, заменил на copas(чаще всего он у юзера уже есть)
 
  • Нравится
Реакции: #Kai-

#Kai-

Известный
Автор темы
705
292
До такого ещё не дошел.
Как вариант, загружать в вечном цикле и проверять ответ через handler чтобы не было пролага
чтобы не таскать с собой редкий effil, заменил на copas(чаще всего он у юзера уже есть)
Ясно, спасибо и на этом, будем думать...
 

Quasper

Известный
834
354
До такого ещё не дошел.
Как вариант, загружать в вечном цикле и проверять ответ через handler чтобы не было пролага
чтобы не таскать с собой редкий effil, заменил на copas(чаще всего он у юзера уже есть)
не вариант загружать картинку в беск цикле она будет белой и с дичайшими просадками по фпс либо же скрипт сдохнет от утечки памяти
 

#Kai-

Известный
Автор темы
705
292
не вариант загружать картинку в беск цикле она будет белой и с дичайшими просадками по фпс либо же скрипт сдохнет от утечки памяти
сам же ответил, что не вариант
UPD тока проснулся, не вдуплил о чем ты...
Без запятых сложно уловить мысль...
 
Последнее редактирование:
D

deleted-user-422095

Гость
не вариант загружать картинку в беск цикле она будет белой и с дичайшими просадками по фпс либо же скрипт сдохнет от утечки памяти
а костылем? Отдельный цикл. При первом запуске в память загружает изначальную картинку в переменную, затем отдельным циклом раз в 10-20 секунд проверять на изменение/обновлять переменную
 

#Kai-

Известный
Автор темы
705
292
а костылем? Отдельный цикл. При первом запуске в память загружает изначальную картинку в переменную, затем отдельным циклом раз в 10-20 секунд проверять на изменение/обновлять переменную
Я пока забил на это, другой работы много.

В теории можно при выполнении запроса запускать обновление переменной, OnFrame если пихать обновление, лагает что пиздец, но вроде обновлялась картинка.
 
  • Нравится
Реакции: deleted-user-422095