 |
|

18.02.2022, 19:33
|
|
Новичок
Регистрация: 03.08.2007
Сообщений: 11
С нами:
9879517
Репутация:
1
|
|
Сделай лучше и выложи сюда
|
|
|

18.02.2022, 21:24
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
Сообщение от vegas~
Сделай лучше и выложи сюда
Работает с любой однобайтовой ***ней которую ты в нее запихнешь(при условии что у тебя такая же локаль стоит)
C++:
Код:
auto
tolower
=
[
]
(
char
*
string
,
std
::
size_t str_size
)
->
void
{
std
::
use_facet
>
(
std
::
locale
(
)
)
.
tolower
(
string
,
string
+
str_size
)
;
}
Или например вот так:
C++:
Код:
auto
tolower
=
[
]
(
std
::
string
&
str
)
->
void
{
std
::
transform
(
str
.
begin
(
)
,
str
.
end
(
)
,
[
]
(
unsigned
char
c
)
{
return
std
::
tolower
(
c
)
;
}
)
;
}
|
|
|

05.04.2022, 22:27
|
|
Познающий
Регистрация: 12.03.2022
Сообщений: 40
С нами:
2197267
Репутация:
13
|
|
возвращает z координаты на определенных координатах
C++:
Код:
float
FindGroundZForPosition
(
float
fX
,
float
fY
)
{
DWORD dwFunc
=
0x569660
;
FLOAT fReturn
=
0
;
_asm
{
push fY
push fX
call dwFunc
fstp fReturn
add esp
,
8
}
return
fReturn
;
}
|
|
|

05.04.2022, 22:29
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
Сообщение от Slppp
возвращает z координаты на определенных координатах
C++:
Код:
float
FindGroundZForPosition
(
float
fX
,
float
fY
)
{
DWORD dwFunc
=
0x569660
;
FLOAT fReturn
=
0
;
_asm
{
push fY
push fX
call dwFunc
fstp fReturn
add esp
,
8
}
return
fReturn
;
}
Спасибо мы тоже умеем смотреть в сорсы МТА и любим обмазываться ассемблером.
C++:
Код:
float
fZ
=
(
(
float
(
__cdecl
*
)
(
float
,
float
)
)
0x569660
)
(
fX
,
fY
)
;
|
|
|

25.07.2022, 22:27
|
|
Постоянный
Регистрация: 20.03.2021
Сообщений: 666
С нами:
2711257
Репутация:
83
|
|
функция воспроизводит аудио из URL через эмуляцию rpc
C++:
Код:
void
playAudioStreamFromUrl
(
char
url
[
]
)
{
BitStream audio
;
audio
.
Write
(
(
UINT8
)
strlen
(
url
)
)
;
audio
.
Write
(
url
,
strlen
(
url
)
)
;
audio
.
Write
(
(
UINT8
)
0
)
;
SF
->
getRakNet
(
)
->
emulateRecvRPC
(
41
,
&
audio
)
;
}
пример использования
пример:
Код:
playAudioStreamFromUrl
(
ссылка
)
;
|
|
|

01.09.2022, 11:35
|
|
Постоянный
Регистрация: 20.03.2021
Сообщений: 666
С нами:
2711257
Репутация:
83
|
|
меняет ссылку, на которую отправляется информация о краше
C++:
Код:
void
SetCrashReportLink
(
const
char
*
link
)
{
DWORD protect
;
VirtualProtect
(
reinterpret_cast
(
reinterpret_cast
(
GetModuleHandleA
(
"samp.dll"
)
)
+
0xD7374
)
,
strlen
(
link
)
,
PAGE_EXECUTE_READWRITE
,
&
protect
)
;
std
::
strcpy
(
reinterpret_cast
(
reinterpret_cast
(
GetModuleHandleA
(
"samp.dll"
)
)
+
0xD7374
)
,
link
)
;
//R2 - 0xD7384, R3 - 0xE9654, R4 - 0xE9674, 03DL - 0xB6E4
VirtualProtect
(
reinterpret_cast
(
reinterpret_cast
(
GetModuleHandleA
(
"samp.dll"
)
)
+
0xD7374
)
,
strlen
(
link
)
,
protect
,
&
protect
)
;
}
функция возвращает ссылку на текущий аудиострим
C++:
Код:
reinterpret_cast
(
reinterpret_cast
(
GetModuleHandleA
(
"samp.dll"
)
)
+
0x11A2F8
)
;
//R2 - 0x11A2F8, R3 - 0x12E378, R4- 0x12E4A0, 03DL - 0x16C4B8
|
|
|

13.09.2022, 09:03
|
|
Познавший АНТИЧАТ
Регистрация: 29.09.2018
Сообщений: 1,292
С нами:
4012500
Репутация:
138
|
|
Сообщение от Savchik Blazer
меняет ссылку, на которую отправляется информация о краше
C++:
Код:
void
SetCrashReportLink
(
const
char
*
link
)
{
DWORD protect
;
VirtualProtect
(
reinterpret_cast
(
reinterpret_cast
(
GetModuleHandleA
(
"samp.dll"
)
)
+
0xD7374
)
,
strlen
(
link
)
,
PAGE_EXECUTE_READWRITE
,
&
protect
)
;
std
::
strcpy
(
reinterpret_cast
(
reinterpret_cast
(
GetModuleHandleA
(
"samp.dll"
)
)
+
0xD7374
)
,
link
)
;
//R2 - 0xD7384, R3 - 0xE9654, R4 - 0xE9674, 03DL - 0xB6E4
VirtualProtect
(
reinterpret_cast
(
reinterpret_cast
(
GetModuleHandleA
(
"samp.dll"
)
)
+
0xD7374
)
,
strlen
(
link
)
,
protect
,
&
protect
)
;
}
функция возвращает ссылку на текущий аудиострим
C++:
Код:
reinterpret_cast
(
reinterpret_cast
(
GetModuleHandleA
(
"samp.dll"
)
)
+
0x11A2F8
)
;
//R2 - 0x11A2F8, R3 - 0x12E378, R4- 0x12E4A0, 03DL - 0x16C4B8
какой в этом смысл?
да и вообще вроде до вызова этой функции не доходит

|
|
|

22.10.2022, 17:30
|
|
Участник форума
Регистрация: 21.07.2020
Сообщений: 280
С нами:
3059886
Репутация:
68
|
|
Генерация рандомной строки без массива с буквами и рандомного выбора из его, аргумент len это длина строки а str это строка(указывать не обязательно)
но если хотите сделать что то типа : RandomString -> ... то впишите в аргумент "RandomString -> "
piska:
[CODE]
std
::
string
random_string
(
std
::
uint32_t
len
,
std
::
string str
=
""
)
noexcept
{
srand
(
GetTickCount
(
)
)
;
//можете юзать time(0), но у меня подключен Windows.h так шо мне пох
for
(
std
::
uint32_t
iter
=
0
;
iter
|
|
|

11.11.2022, 18:39
|
|
Участник форума
Регистрация: 16.08.2017
Сообщений: 110
С нами:
4600979
Репутация:
83
|
|
Read text from showdialog and other compressed strings on 03dl, reading textlen was corrupting the text
чтение текста из showdialog и других сжатых строк в 03dl, чтение textlen разрывает текст
C++:
Код:
case
RPC_ShowDialog
:
{
traceLastFunc
(
"RPC_ShowDialog"
)
;
//UINT16 wDialogID, UINT8 bDialogStyle, UINT8 bTitleLength, char[] szTitle, UINT8 bButton1Len, char[] szButton1, UINT8 bButton2Len, char[] szButton2, CSTRING szInfo
BitStream
bsData
(
rpcParams
->
input
,
rpcParams
->
numberOfBitsOfData
/
8
,
false
)
;
WORD dialogId
;
uint8_t
style
,
titleLen
,
button1Len
,
button2Len
;
char
title
[
257
]
,
button1
[
257
]
,
button2
[
257
]
,
text
[
4096
]
;
bsData
.
Read
(
dialogId
)
;
bsData
.
Read
(
style
)
;
bsData
.
Read
(
titleLen
)
;
bsData
.
Read
(
title
,
titleLen
)
;
title
[
titleLen
]
=
'\0'
;
bsData
.
Read
(
button1Len
)
;
bsData
.
Read
(
button1
,
button1Len
)
;
button1
[
button1Len
]
=
'\0'
;
bsData
.
Read
(
button2Len
)
;
bsData
.
Read
(
button2
,
button2Len
)
;
button2
[
button2Len
]
=
'\0'
;
bsData
.
Write
(
0
)
;
bsData
.
Read
(
text
)
;
text
[
0
]
=
'\0'
;
stringCompressor
->
DecodeString
(
text
,
4096
,
&
bsData
)
;
addMessageToChatWindow
(
"Decoded: %s "
,
text
)
;
}
|
|
|

18.02.2023, 23:54
|
|
Участник форума
Регистрация: 19.01.2017
Сообщений: 130
С нами:
4901705
Репутация:
98
|
|
Simple samp query using imgui server address and socket api
Код:
ImGui::Begin("Server Info");
// Create a socket to communicate with the server
int sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
// Specify the server's address and port
sockaddr_in addr = { 0 };
addr.sin_family = AF_INET;
addr.sin_port = htons(7777);
inet_pton(AF_INET, "127.0.0.1", &addr.sin_addr);
// Send a SAMP Query packet to the server
char query[] = { 'S', 'A', 'M', 'P', ' ', '0', 'x', '54', '4F', '4D', '50', '\0' };
sendto(sock, query, sizeof(query), 0, (sockaddr*)&addr, sizeof(addr));
// Wait for a response from the server
char buffer[2048] = { 0 };
int len = sizeof(sockaddr_in);
recvfrom(sock, buffer, sizeof(buffer), 0, (sockaddr*)&addr, &len);
// Parse the response and display the server info
ImGui::Text("Server Name: %s", buffer + 11);
ImGui::Text("Players Online: %d", *(int*)(buffer + 19));
ImGui::Text("Game Mode: %s", buffer + 23);
ImGui::Text("Language: %s", buffer + 39);
ImGui::Text("Weather: %d", *(int*)(buffer + 43));
ImGui::Text("Time: %d:%02d", *(int*)(buffer + 47), *(int*)(buffer + 51));
ImGui::Text("Ping: %d", *(int*)(buffer + 83));
ImGui::End();
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|