Модератор раздела "Создание скриптов для читов"
-
Автор темы
- #1
всем привет я хачу расказать как делать уведамления в центре уведамлений виндав
Deadli0001 lenin123 loonata мне нужна вашэ мнение как вам норм тема тока себе не пастите пж
code_language.lua:
--#requirements
local ffi = require("ffi")
--#region: end
--#ffi
ffi.cdef[[
typedef int BOOL;
typedef unsigned int DWORD;
typedef unsigned int UINT;
typedef intptr_t HANDLE;
typedef intptr_t HWND;
typedef intptr_t HICON;
typedef intptr_t HINSTANCE;
typedef struct {int Data[4];} GUID;
typedef struct {
DWORD cbSize;
HWND hWnd;
UINT uID;
UINT uFlags;
UINT uCallbackMessage;
HICON hIcon;
char szTip[128];
DWORD dwState;
DWORD dwStateMask;
char szInfo[256];
union {
UINT uTimeout;
UINT uVersion;
};
char szInfoTitle[64];
DWORD dwInfoFlags;
GUID guidItem;
HICON hBalloonIcon;
} NOTIFYICONDATAA;
BOOL Shell_NotifyIconA(
int dwMessage,
NOTIFYICONDATAA * lpData
);
HICON LoadIconA(
HINSTANCE hInstance,
intptr_t IconCode
);
BOOL DestroyIcon(
HICON hIcon
);
]]
--#region: end
--#notify on round start
local tray_icon_code = 32515
local balloon_icon_code = 32518
local tray_icon_handle = ffi.C.LoadIconA(0, tray_icon_code)
local balloon_icon_handle = ffi.C.LoadIconA(0, balloon_icon_code)
local notify_icon_data = ffi.new("NOTIFYICONDATAA")
notify_icon_data.cbSize = ffi.sizeof(notify_icon_data)
notify_icon_data.uFlags = 1 + 2
notify_icon_data.hIcon = tray_icon_handle
notify_icon_data.uVersion = 4
notify_icon_data.hBalloonIcon = balloon_icon_handle
ffi.load("shell32").Shell_NotifyIconA(0, notify_icon_data)
ffi.load("shell32").Shell_NotifyIconA(4, notify_icon_data)
local function copy_string(dest_array_ptr, str)
ffi.copy(dest_array_ptr, (str or ""):sub(1, ffi.sizeof(dest_array_ptr) - 1))
end
local function show_notification(text, title)
notify_icon_data.uFlags = 1 + 2 + 16
notify_icon_data.dwInfoFlags = 4 + 32
copy_string(notify_icon_data.szInfoTitle, title)
copy_string(notify_icon_data.szInfo, text)
ffi.load("shell32").Shell_NotifyIconA(1, notify_icon_data)
end
--gamesense part
local raw_hwnd = utils.find_signature("engine.dll", "8B 0D ?? ?? ?? ?? 85 C9 74 16 8B 01 8B") or error("Invalid signature #1")
local raw_insn_jmp_ecx = utils.find_signature("gameoverlayrenderer.dll", "FF E1") or error("Invalid signature #3")
local raw_GetForegroundWindow = utils.find_signature("gameoverlayrenderer.dll", "FF 15 ?? ?? ?? ?? 3B C6 74") or error("Invalid signature #4")
local hwnd_ptr = ((ffi.cast("uintptr_t***", ffi.cast("uintptr_t", raw_hwnd) + 2)[0])[0] + 2)
local insn_jmp_ecx = ffi.cast("int(__thiscall*)(uintptr_t)", raw_insn_jmp_ecx)
local GetForegroundWindow = (ffi.cast("uintptr_t**", ffi.cast("uintptr_t", raw_GetForegroundWindow) + 2)[0])[0]
function get_csgo_window()
return hwnd_ptr[0]
end
function get_foreground_window()
return insn_jmp_ecx(GetForegroundWindow)
end
--konec parta allo naxyi
function notify_user()
local csgo_hwnd = get_csgo_window()
if get_foreground_window() ~= csgo_hwnd then
show_notification("text", "title")
return true
end
return false
end
--#region: end
notify_user()
Deadli0001 lenin123 loonata мне нужна вашэ мнение как вам норм тема тока себе не пастите пж