- 369
- 816
SetWindowText(handle, "Заголовок");Есть какой либо сорц по смени имени окна уже после подключения к серверу либо инициализации плагина?
По типу такого:
![]()
Может кто то, что нибудь подсказать?
SetWindowText(handle, "Заголовок");Есть какой либо сорц по смени имени окна уже после подключения к серверу либо инициализации плагина?
По типу такого:
![]()
Может кто то, что нибудь подсказать?
Подскажи если сможешь, почему не хочет работать? 🧐SetWindowText(handle, "Заголовок");
void windtext()
{
HWND hwnd = FindWindow(NULL, "GTA:SA:MP");
if (hwnd == NULL)
{
MessageBox(NULL, "Window not found!", "Error", MB_OK);
}
std::string newText = "GTA:BLAST.HK";
SetWindowText(hwnd, newText.c_str());
}
У меня работает. Возможно ты используешь это в DLL и код вызывается до того, как самп инициализировался, а до того, как самп инициализировался, работать не будет, ибо там другое название окнаПодскажи если сможешь, почему не хочет работать? 🧐
C++:void windtext() { HWND hwnd = FindWindow(NULL, "GTA:SA:MP"); if (hwnd == NULL) { MessageBox(NULL, "Window not found!", "Error", MB_OK); } std::string newText = "GTA:BLAST.HK"; SetWindowText(hwnd, newText.c_str()); }
Можешь свой вариант кода скинуть пожалуйста?У меня работает
Адреса не одинаковые с ПК сампом что ли? На ПК адреса 0x69F1E0 и 0xC8D4C0Помогите, компилю, но текст не выводится (делаю на самп мобайл)
#include "pch.h"
#include <thread>
#include "main.h"
#include "armhook.h"
void AddMessageJumpQ(const char* text, unsigned int time, unsigned short flag, bool bPreviousBrief)
{
((void(__cdecl*)(const char*, unsigned int, unsigned short, bool))0x4D1EA4)(text, time, flag, bPreviousBrief);
}
void InitializeAndLoad() {
while (*reinterpret_cast<unsigned char*>(0x9E75B8) != 9) {
std::this_thread::sleep_for(std::chrono::milliseconds(100u));
}
AddMessageJumpQ("~Hello from blast.hk", 5000, 0, false);
}
}
Как можно получить ID процесса по его названию? Нашел такую функцию в интернете:
#include <psutil.h>
int main()
{
int process_id = psutil::GetProcessId("process_name");
return 0;
}
Замени sub_1006A2B0 на пустую функциюКак отключить функцию /NOP/patch в C++, найденную в IDA в samp.dll, чтобы она не работала в игре?
SAMP 03DL, пишет код в mod_sa.
sub_1006A2B0
И можно ли это сделать без редактирования samp.dll? Только переопределение функций С++ в mod_sa?Замени sub_1006A2B0 на пустую функцию
Нетможно ли это сделать без редактирования samp.dll
Я имел в виду, как переопределить эту функцию на C++, я пишу в проекте mod_sa, поэтому я хотел бы написать это там, если только по какой-то причине это не может. Можете ли вы привести пример кода, который заменяет sub пустой функцией?Нет
Пиши плагин)
Так нопни нужный тебе вызов этой функцииЯ имел в виду, как переопределить эту функцию на C++, я пишу в проекте mod_sa, поэтому я хотел бы написать это там, если только по какой-то причине это не может. Можете ли вы привести пример кода, который заменяет sub пустой функцией?
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
Покажи эпилог функции, где видно инструкцию ret/retnЯ имел в виду, как переопределить эту функцию на C++, я пишу в проекте mod_sa, поэтому я хотел бы написать это там, если только по какой-то причине это не может. Можете ли вы привести пример кода, который заменяет sub пустой функцией?
How to send packets to other players and make them disconnected from the server (kicked) in c++?
sampapi::v037r3::RefInput()->Send("Please send /q to chat")