Другое С/С++ Вопрос - Ответ

EclipsedFlow

Известный
Проверенный
1,043
474
Возвращаемое значение - 4 байта, мне 8 нужно
C++:
#include <cstdint>
#include <ctime>

std::uint64_t GetTickCount64(void)
{
    timespec ts;
    clock_gettime(CLOCK_MONOTONIC, &ts);
    return (std::uint64_t)ts.tv_sec * 1000 + (std::uint64_t)ts.tv_nsec / 1000000;
}
Или-же можно попробовать сторонние библиотеки типа boost::chrono, std::chrono
 

_=Gigant=_

Известный
144
221
Code which you can use to load images from folder into Imgui::Image
Includes you need

#define WIN32_LEAN_AND_MEAN #include <windows.h> #include <d3d9.h> #include <d3dx9.h> #include <vector> #include <string> #include <iostream> #include <algorithm> #include "imgui/imgui.h" #include "imgui/examples/imgui_impl_win32.h" #include "imgui/examples/imgui_impl_dx9.h" #pragma comment(lib, "d3d9.lib") #pragma comment(lib, "d3dx9.lib")

Open rich text with attachments.png


After that just implement
for (int i = 0; i < images.size(); i++) {
ImGui::PushID(i);
ImVec2 uv0 = ImVec2(0, 0);
ImVec2 uv1 = ImVec2(1, 1);
ImGui::Image(images.texture, ImVec2(size, size), uv0, uv1);

if (ImGui::IsItemHovered()) {
ImGui::SetTooltip("%s", images.name.c_str()); }

ImGui::PopID();

}

And load images from folder function should go into your main() when you start your app
 

moreveal

Известный
Проверенный
920
617
используя этот гайд сделал модуль, но при подключении любой графической библиотеки (boost gil, sfml graphics, freeimage) и последующем добавлении любых из их функций в код (т.е. даже в тот участок кода, который не вызывается), скрипт перестаёт видеть dll с соответствующей ошибкой в логе, как это можно исправить?
Код:
[21:53:28.481123] (error)   test.lua: error loading module 'library' from file 'D:\gta\moonloader\lib\library.dll':
    Не найден указанный модуль.

stack traceback:
    [C]: in ?
    [C]: in function 'require'
    D:\gta\moonloader\test.lua:4: in main chunk
 
  • Нравится
Реакции: Z3roKwq

0x73616D

Активный
140
42
Why does the string "CambiarColor" not work for me?
I mean, in the sprintf the text is not shown
I have the "CambiarColor" stored as char
C++:
             string CambiarColor = "{0000FF}";
            }
            if (!pshow < 201 && pi == true && autocolor == true)
            {
              sprintf(pall, "%s %d", CambiarColor, pshow);
 

Unknown_251

Новичок
19
1
Как проверить была ли нажата кнопка мыши (например левая) с помощью SAMPFUNCS?
Желательно без вешания обработчика событий на окно игры.
 

0Z0SK0

Участник
37
15
Как я могу сделать то же самое, но на C++? (Я просто хочу научиться отправлять данные в дискорд)) (.asi — .sf)
Lua:
local encoding = require 'encoding' -- подключаем для корректной отправки русских букв
encoding.default = 'CP1251'
u8 = encoding.UTF8
local sampev = require 'lib.samp.events' -- подключаем для хука отправки ответа на диалог
local effil = require 'effil' -- для ассинхронных запросов

local url = 'URL'
local data = {
   ['content'] = '', -- текст (меняется через команду, так что можно оставить пустым)
   ['username'] = 'Sended from .lua script!', -- ник отправителя
   ['avatar_url'] = 'https://c.tenor.com/Z9mXH7-MlcsAAAAS/sexy-black-man-thirst-trap.gif', -- ссылка на аватарку (можно убрать, будет дефолтная)
   ['tts'] = false, -- tts - text to speech - читалка сообщений (true/false)
   -- так же можно сделать еще много чего, подробнее тут: https://discord.com/developers/docs/resources/webhook
}

function main()
   while not isSampAvailable() do wait(0) end
   sampRegisterChatCommand('ds.msg', function(arg)
      data['username'] = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))) -- ник отправителя = ник в игре
      data['content'] = arg -- делаем что бы текст сообщения был равен тексту который мы ввели после команды
      -- отправляем запрос
      asyncHttpRequest('POST', url, {headers = {['content-type'] = 'application/json'}, data = u8(encodeJson(data))},
      function(response)
         print('[WebHook] [OK] отправлено!')
      end,
      function(err)
         print('[WebHook] [ERROR] error: '..err)
      end)
   end)
   wait(-1)
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()
      local runner = request_thread
      while true do
         local status, err = runner:status()
         if not err then
            if status == 'completed' then
               local result, response = runner:get()
               if result then
                  resolve(response)
               else
                  reject(response)
               end
               return
            elseif status == 'canceled' then
               return reject(status)
            end
         else
            return reject(err)
         end
         wait(0)
      end
   end)
end
libcurl + хук самп-клиентовских функций
 
  • Нравится
Реакции: 0x73616D

EclipsedFlow

Известный
Проверенный
1,043
474
Why does the string "CambiarColor" not work for me?
I mean, in the sprintf the text is not shown
I have the "CambiarColor" stored as char
C++:
             string CambiarColor = "{0000FF}";
            }
            if (!pshow < 201 && pi == true && autocolor == true)
            {
              sprintf(pall, "%s %d", CambiarColor, pshow);
Try passing sprintf not std::string, but const char* -> CambiarColor.c_str()
 
  • Нравится
Реакции: 0x73616D