PDA

Просмотр полной версии : С/С++ Вопрос - Ответ


Страницы : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 [23] 24 25 26 27 28 29 30 31

kin4stat
28.09.2021, 19:26
Как выгрузить ASI из игрового процесса?


FreeLibrary

AdCKuY_DpO4uLa
29.09.2021, 23:32
Как указать модификатор глобального поиска "g"?

C++:






boost
::
regex
regular
(
"([\\d+\\s+])"
)
;

Rina Roleplay
01.10.2021, 03:12
How do I make an obscure silent aimbot?

четыреста четыре
01.10.2021, 15:10
как в сампапи добраться до онфут даты как в сф?

SF->getSAMP()->getPlayers()->pLocalPlayer->onFootData;

MrEnderStail
02.10.2021, 21:25
нужна помощь с кодом ( ниже ).

Задание :11 знаков после десятичной точки. Но я не пойму как получить 11 знаков после точки.

И если кто то знает скиньте руководство по типом данных( float double и тд. И как их использовать , комбинировать и тд)

дада:






#include
#include
#include
int
m
;
int
Z
;
int
X
;
int
B
;
int
C
;
float
V
;
;
int
main
(
void
)
{
setlocale
(
LC_CTYPE
,
"rus"
)
;
printf
(
"Введите m: "
)
;
scanf_s
(
"%d"
,
&
m
)
;
B
=
pow
(
3
*
m
,
2
)
;
X
=
sqrt
(
(
B
+
4
)
-
(
24
*
m
)
)
;
C
=
3
*
sqrt
(
m
)
-
2
/
sqrt
(
m
)
;
V
=
X
/
C
;
printf
(
"%d\n"
,
X
)
;
printf
(
"%d\n"
,
C
)
;
printf
(
"%f\n"
,
V
)
;
return
0
;
}

AdCKuY_DpO4uLa
03.10.2021, 00:27
нужна помощь с кодом ( ниже ).
Задание :11 знаков после десятичной точки. Но я не пойму как получить 11 знаков после точки.

И если кто то знает скиньте руководство по типом данных( float double и тд. И как их использовать , комбинировать и тд)

дада:






#include
#include
#include
int
m
;
int
Z
;
int
X
;
int
B
;
int
C
;
float
V
;
;
int
main
(
void
)
{
setlocale
(
LC_CTYPE
,
"rus"
)
;
printf
(
"Введите m: "
)
;
scanf_s
(
"%d"
,
&
m
)
;
B
=
pow
(
3
*
m
,
2
)
;
X
=
sqrt
(
(
B
+
4
)
-
(
24
*
m
)
)
;
C
=
3
*
sqrt
(
m
)
-
2
/
sqrt
(
m
)
;
V
=
X
/
C
;
printf
(
"%d\n"
,
X
)
;
printf
(
"%d\n"
,
C
)
;
printf
(
"%f\n"
,
V
)
;
return
0
;
}






C:






#include
#include
int
main
(
)
{
double
m
,
Z
,
X
,
B
,
C
,
V
;
printf
(
"Введите m: "
)
;
scanf
(
"%lf"
,
&
m
)
;
B
=
pow
(
3
*
m
,
2
)
;
X
=
sqrt
(
(
B
+
4
)
-
(
24
*
m
)
)
;
C
=
3
*
sqrt
(
m
)
-
2
/
sqrt
(
m
)
;
V
=
X
/
C
;
printf
(
"%0.11lf\n%0.11lf\n%0.11lf"
,
X
,
C
,
V
)
;
return
0
;
}

Dark_Knight
03.10.2021, 00:27
Ты про это?

1633206472552.pngDark_Knight · 2 Окт 2021 в 23:27' data-fancybox="lb-post-855542" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/116578/" style="cursor: pointer;" title="1633206472552.png">
https://forum.antichat.xyz/attachments/27855542/

DANIIL XPC
06.10.2021, 22:42
How can i remake this in c++ sf?

C++:






sampRegisterChatCommand
(
'kr'
,
k1d
)
function
k1d
(
params
)
if
params
~
=
nil then
lua_thread
.
create
(
function
(
)
sampSendChat
(
"text"
)
wait
(
2000
)
sampSendChat
(
"text2"
)
end
)
end
end

четыреста четыре
07.10.2021, 22:03
WarpCharIntoCar с луа в сампфунксе есть аналог?

legendabrn
08.10.2021, 20:04
How can i remake this in c++ sf?

C++:






sampRegisterChatCommand
(
'kr'
,
k1d
)
function
k1d
(
params
)
if
params
~
=
nil then
lua_thread
.
create
(
function
(
)
sampSendChat
(
"text"
)
wait
(
2000
)
sampSendChat
(
"text2"
)
end
)
end
end






C++:






#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS
#include
#include
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
void
CALLBACK
k1d
(
std
::
string params
)
{
std
::
thread
test
(
[
]
(
)
{
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"text"
)
;
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
milliseconds
(
2000
)
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"text2"
)
;
}
)
;
test
.
detach
(
)
;
}
void
CALLBACK
mainloop
(
)
{
static
bool
init
=
false
;
if
(
!
init
)
{
if
(
GAME
==
nullptr
&&
GAME
->
GetSystemState
(
)
!=
eSystemState
::
GS_PLAYING_GAME
&&
!
SF
->
getSAMP
(
)
->
IsInitialized
(
)
)
return
;
SF
->
getSAMP
(
)
->
registerChatCommand
(
"kr"
,
k1d
)
;
init
=
true
;
}
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD dwReasonForCall
,
LPVOID lpReserved
)
{
if
(
dwReasonForCall
==
DLL_PROCESS_ATTACH
)
SF
->
initPlugin
(
mainloop
,
hModule
)
;
return
TRUE
;
}

kin4stat
08.10.2021, 21:25
C++:






#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS
#include
#include
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
void
CALLBACK
k1d
(
std
::
string params
)
{
std
::
thread
test
(
[
]
(
)
{
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"text"
)
;
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
milliseconds
(
2000
)
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"text2"
)
;
}
)
;
test
.
detach
(
)
;
}
void
CALLBACK
mainloop
(
)
{
static
bool
init
=
false
;
if
(
!
init
)
{
if
(
GAME
==
nullptr
&&
GAME
->
GetSystemState
(
)
!=
eSystemState
::
GS_PLAYING_GAME
&&
!
SF
->
getSAMP
(
)
->
IsInitialized
(
)
)
return
;
SF
->
getSAMP
(
)
->
registerChatCommand
(
"kr"
,
k1d
)
;
init
=
true
;
}
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD dwReasonForCall
,
LPVOID lpReserved
)
{
if
(
dwReasonForCall
==
DLL_PROCESS_ATTACH
)
SF
->
initPlugin
(
mainloop
,
hModule
)
;
return
TRUE
;
}





Ага, здарова UB

четыреста четыре
08.10.2021, 22:21
Ага, здарова UB


а как надо?

kin4stat
08.10.2021, 22:28
самый красивый вариант

Информация - Полезные функции (https://www.blast.hk/threads/10970/post-419257)

uint8_t getPlayerWeaponModelID(int iPlayerID) { if (g_Players == NULL || iPlayerID SAMP_MAX_PLAYERS) return NULL; if (iPlayerID == g_Players->sLocalPlayerID) { if (g_Players->pLocalPlayer->pSAMP_Actor == NULL) return NULL...

www.blast.hk


or

самый уебанский вариант

Задержка (https://www.blast.hk/threads/98923/post-835052)

Пишу СФ плагин и вопрос, отправляю сообщение в чат но проблема, как сделать задержку между ними? Если использовать функции популярные то игру тупо фризит до тех пор пока все сообщения не отправятся

www.blast.hk


or

что-то между:

C++:






#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
#include
#include
#include
class
Timer
{
struct
TimerInfo
{
std
::
chrono
::
steady_clock
::
time_point start
;
std
::
chrono
::
milliseconds duration
;
std
::
function

callback
;
TimerInfo
(
std
::
chrono
::
steady_clock
::
time_point s
,
std
::
chrono
::
milliseconds dur
,
std
::
function

cb
)
:
start
(
s
)
,
duration
(
dur
)
,
callback
(
cb
)
{
}
}
;
public
:
static
Timer
&
Instance
(
)
{
static
Timer inst
;
return
inst
;
}
void
Update
(
)
{
using
namespace
std
::
chrono
;
for
(
auto
it
=
timers
.
begin
(
)
;
it
!=
timers
.
end
(
)
;
)
{
auto
&
timer
=
*
it
;
if
(
steady_clock
::
now
(
)
-
timer
.
start
>
timer
.
duration
)
{
timer
.
callback
(
)
;
timers
.
erase
(
it
++
)
;
}
else
{
++
it
;
}
}
}
void
AddTimer
(
std
::
function

callback
,
std
::
chrono
::
milliseconds duration
)
{
timers
.
emplace_back
(
std
::
chrono
::
steady_clock
::
now
(
)
,
duration
,
callback
)
;
}
std
::
list

timers
;
}
;
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
void
CALLBACK
k1d
(
std
::
string params
)
{
using
namespace
std
::
chrono_literals
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
0xFF00FF00
,
"text"
)
;
Timer
::
Instance
(
)
.
AddTimer
(
[
]
{
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
0xFFFF0000
,
"text2"
)
;
}
,
3
s
)
;
}
void
CALLBACK
mainloop
(
)
{
Timer
::
Instance
(
)
.
Update
(
)
;
static
bool
init
=
false
;
if
(
!
init
)
{
if
(
GAME
==
nullptr
&&
GAME
->
GetSystemState
(
)
!=
eSystemState
::
GS_PLAYING_GAME
&&
!
SF
->
getSAMP
(
)
->
IsInitialized
(
)
)
return
;
SF
->
getSAMP
(
)
->
registerChatCommand
(
"kr"
,
k1d
)
;
init
=
true
;
}
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD dwReasonForCall
,
LPVOID
)
{
if
(
dwReasonForCall
==
DLL_PROCESS_ATTACH
)
{
SF
->
initPlugin
(
mainloop
,
hModule
)
;
}
return
TRUE
;
}




P.S. код таймера был написан за 5 минут как proof of concept, кто хочет - оптимизируйте

kin4stat
09.10.2021, 00:35
[QUOTE="Phoenix"]

1.
Есть код, но увы он в некоторых числах работает не правильно, хелп плиз

#include
using namespace std;
int main()
{
long long n;
int reverse=0, rem;
//cout>n;
while(n!=0)
{
rem=n%10;
reverse=reverse*10+rem;
n/=10;
}
cout

C++:





[CODE]
#include
#include
#include
int
main
(
)
{
std
::
string in
{
}
;
std
::
cin
>>
in
;
bool
negative
=
false
;
if
(
in
[
0
]
==
'-'
)
{
negative
=
true
;
in
=
in
.
substr
(
1
)
;
}
std
::
reverse
(
in
.
begin
(
)
,
in
.
end
(
)
)
;
std
::
string out
=
std
::
to_string
(
std
::
stoll
(
in
)
)
;
if
(
negative
)
{
out
=
"-"
+
out
;
}
std
::
cout

THERION
22.10.2021, 15:23
Пытаюсь изменить

https://forum.antichat.xyz/attachments/27868038/

на

https://forum.antichat.xyz/attachments/27868038/

Если делать это через Сheat Engine то все работает прекрасно.

Программа которую я написал должна делать то же самое но не работает.




C:






#include
#include
#include
void
*
ptr
=
(
void
*
)
0x2A3F4D
;
// fix: 0x2A3F4D => 0x6A3F4D
char
patch
[
]
=
"\xB0\x05\x90\x90\x90\x90"
;
void
write_memory
(
void
)
{
DWORD old_prot
;
size_t size
=
sizeof
(
patch
)
-
1
;
VirtualProtect
(
ptr
,
size
,
PAGE_READWRITE
,
&
old_prot
)
;
memcpy
(
ptr
,
patch
,
size
)
;
VirtualProtect
(
ptr
,
size
,
old_prot
,
&
old_prot
)
;
}
int
__stdcall
DllMain
(
HMODULE module
,
DWORD reason
,
LPVOID reserved
)
{
if
(
reason
==
DLL_PROCESS_ATTACH
)
write_memory
(
)
;
return
1
;
}

legendabrn
22.10.2021, 15:31
Пытаюсь изменить

на

Если делать это через Сheat Engine то все работает прекрасно.
Программа которую я написал должна делать то же самое но не работает.
Если скомпилировать код ниже и закинуть в папку с игрой Asi-loader выдает:

C:






#include
#include
#include
void
write_memory
(
void
)
{
DWORD old_prot
;
void
*
ptr
=
(
void
*
)
0x2A3F4D
;
char
patch
[
]
=
"\xB0\x05\x90\x90\x90\x90"
;
size_t size
=
sizeof
(
patch
)
-
1
;
VirtualProtect
(
ptr
,
size
,
PAGE_READWRITE
,
&
old_prot
)
;
memcpy
(
ptr
,
patch
,
size
)
;
VirtualProtect
(
ptr
,
size
,
old_prot
,
&
old_prot
)
;
return
;
}
int
__stdcall
DllMain
(
HMODULE module
,
DWORD reason
,
LPVOID reserved
)
{
switch
(
reason
)
{
case
DLL_PROCESS_ATTACH
:
write_memory
(
)
;
break
;
}
return
1
;
}




Также пробовал написать тоже самое на Lua, но функции из библиотеки memory не работают

Lua:






local
wrt
=
require
(
'memory'
)
.
setint8
local
ptr
=
0x2A3F4D
local
result
=
wrt
(
ptr
+
0
,
0xB0
,
true
)
result
=
result
or
wrt
(
ptr
+
1
,
0x05
,
true
)
for
i
=
2
,
5
do
result
=
result
or
wrt
(
ptr
+
i
,
0x90
,
true
)
end
print
(
result
)
-- FALSE






C++:






void
write_memory
(
)
{
DWORD old_prot
;
void
*
ptr
=
reinterpret_cast

(
0x6A3F4D
)
;
char
patch
[
]
=
"\xB0\x05\x90\x90\x90\x90"
;
size_t size
=
sizeof
(
patch
)
-
1
;
VirtualProtect
(
ptr
,
size
,
PAGE_READWRITE
,
&
old_prot
)
;
memcpy
(
ptr
,
patch
,
size
)
;
VirtualProtect
(
ptr
,
size
,
old_prot
,
&
old_prot
)
;
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD ul_reason_for_call
,
LPVOID lpReserved
)
{
if
(
ul_reason_for_call
==
DLL_PROCESS_ATTACH
)
{
write_memory
(
)
;
}
return
TRUE
;
}




1634902404939.pnglegendabrn · 22 Окт 2021 в 14:31' data-fancybox="lb-post-868040" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/118747/" style="cursor: pointer;" title="1634902404939.png">
https://forum.antichat.xyz/attachments/27868040/

upd: не работало потому что, ты пытался перезаписать только адрес смещения а не статический адрес

AdCKuY_DpO4uLa
22.10.2021, 16:09
C++:






#include
#include
void
WriteBytes
(
const
unsigned
__int32
&
addr
,
const
std
::
vector

&
bytes
)
{
DWORD prot
;
VirtualProtect
(
(
void
*
)
addr
,
bytes
.
size
(
)
,
PAGE_EXECUTE_READWRITE
,
&
prot
)
;
memcpy
(
(
void
*
)
addr
,
bytes
.
data
(
)
,
bytes
.
size
(
)
)
;
VirtualProtect
(
(
void
*
)
addr
,
bytes
.
size
(
)
,
prot
,
&
prot
)
;
}
class
CPlugin
{
public
:
CPlugin
(
)
{
WriteBytes
(
0x6A3F4D
,
{
0xB0
,
0x05
,
0x90
,
0x90
,
0x90
,
0x90
}
)
;
//install patch
}
~
CPlugin
(
)
{
WriteBytes
(
0x6A3F4D
,
{
0x8A
,
0x86
,
0x8A
,
0x04
,
0x00
,
0x00
}
)
;
//remove patch if plugin unloaded
}
}
Plugin
;




так красивее🤨

leak.
22.10.2021, 16:18
всем прив, у кого-нибудь есть samp.idb/dll v0.3.7-R1 без обфускации кода?и вообще кто-нибудь убрал протекцию?

AdCKuY_DpO4uLa
22.10.2021, 16:19
у сампа нет обфускации

F0RQU1N and
22.10.2021, 16:20
всем прив, у кого-нибудь есть samp.idb/dll v0.3.7-R1 без обфускации кода?и вообще кто-нибудь убрал протекцию?



GitHub - NarutoUA/samp-idb: Collection of SA:MP IDA Pro databases (https://github.com/NarutoUA/samp-idb)

Collection of SA:MP IDA Pro databases. Contribute to NarutoUA/samp-idb development by creating an account on GitHub.

github.com


[C++] SAMP IDB - over 300 functions (https://www.blast.hk/redirect/aHR0cDovL3VnYmFzZS5ldS90aHJlYWRzL2Mtc2FtcC1pZGItb3 Zlci0zMDAtZnVuY3Rpb25zLjIwOTcwLw)

well i had that on google drive hope ill help someone with this it took me 1 week to do so dont blame me if theres something wrong https://drive.google.com/file/d/12TMY5OfLKtSmo6IhvFklFfvsK44kirLs/view?usp=sharing Important note: You need to use IDA Disassembler for use this file. but plz...

ugbase.eu


пользуйся гуглом

leak.
22.10.2021, 16:21
у сампа нет обфускации


есть, найс читаемый код :D

https://forum.antichat.xyz/attachments/27868069/

https://forum.antichat.xyz/attachments/27868069/

legendabrn
22.10.2021, 16:26
есть, найс читаемый код :D


так это псевдокод

выше скинули идб р1 на ugbase

kin4stat
22.10.2021, 17:50
у сампа нет обфускации


Есть, до 0.3.7 R3-1

AdCKuY_DpO4uLa
22.10.2021, 18:11
Есть, до 0.3.7 R3-1


значит я киборг, ибо ковыряю код сампа, будто там нет обфускации

MISTER_GONWIK
22.10.2021, 18:29
значит я киборг, ибо ковыряю код сампа, будто там нет обфускации


он не весь обфусцирован

kin4stat
22.10.2021, 19:09
значит я киборг, ибо ковыряю код сампа, будто там нет обфускации


Тот же конструктор CNetGame, некоторые рпц(клиентчек к примеру)

Jesus_Arts
24.10.2021, 11:51
а как надо?

Как реализовать? https://www.blast.hk/threads/12223/

legendabrn
24.10.2021, 12:06
а как надо?

Как реализовать? https://www.blast.hk/threads/12223/





Вот вариант получше.

C++:






auto
speedHackMenuMap
(
const
unsigned
__int32 ui32Status
,
const
float
*
pZoomSpeed
,
const
float
*
pMoveSpeed
)
->
void
{
/* CMenuManager::AdditionalOptionInput */
if
(
ui32Status
)
{
patchAddress
(
reinterpret_cast

(
0x57769A
)
,
&
pZoomSpeed
,
0x4
)
;
patchAddress
(
reinterpret_cast

(
0x5779C9
)
,
&
pZoomSpeed
,
0x4
)
;
patchAddress
(
reinterpret_cast

(
0x578652
)
,
&
pMoveSpeed
,
0x4
)
;
patchAddress
(
reinterpret_cast

(
0x5784B7
)
,
&
pMoveSpeed
,
0x4
)
;
patchAddress
(
reinterpret_cast

(
0x577E72
)
,
&
pMoveSpeed
,
0x4
)
;
patchAddress
(
reinterpret_cast

(
0x578322
)
,
&
pMoveSpeed
,
0x4
)
;
}
else
{
patchAddress
(
reinterpret_cast

(
0x57769A
)
,
"\xE4\x53\x86\x00"
,
0x4
)
;
patchAddress
(
reinterpret_cast

(
0x5779C9
)
,
"\xE4\x53\x86\x00"
,
0x4
)
;
patchAddress
(
reinterpret_cast

(
0x578652
)
,
"\x48\x8F\x85\x00"
,
0x4
)
;
patchAddress
(
reinterpret_cast

(
0x5784B7
)
,
"\x48\x8F\x85\x00"
,
0x4
)
;
patchAddress
(
reinterpret_cast

(
0x577E72
)
,
"\x48\x8F\x85\x00"
,
0x4
)
;
patchAddress
(
reinterpret_cast

(
0x578322
)
,
"\x48\x8F\x85\x00"
,
0x4
)
;
}
return
;
}

Musaigen
27.10.2021, 15:58
123:






enum
test
{
one
=
1
,
two
=
2
}
;




Подскажите пожалуйста, как вывести "one" или "two"



[CODE]
std::cout

memir
27.10.2021, 16:12
Спасибо, но это не то, именно само "one" а не 1


никак

kyrtion
27.10.2021, 16:22
Предлагай плиз

чего начинать изучать с нуля С++? книжечки, сайты, видео

луа знаю

memir
27.10.2021, 17:20
Предлагай плиз
чего начинать изучать с нуля С++? книжечки, сайты, видео
луа знаю


только книги, видео не смотри(русские, по крайней мере)

loganhackerdff
27.10.2021, 19:30
Например таким костылем: https://github.com/TsudaKageyu/minhook/blob/4a455528f61b5a375b1f9d44e7d296d47f18bb18/src/hook.c#L897
нормального метода не существует(добро пожаловать в C++)
UPD:
ну или вот:

How to convert an enum type variable to a string? (https://www.blast.hk/redirect/aHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNT A5MzQ2MC9ob3ctdG8tY29udmVydC1hbi1lbnVtLXR5cGUtdmFy aWFibGUtdG8tYS1zdHJpbmc)

How to make printf to show the values of variables which are of an enum type? For instance: typedef enum {Linux, Apple, Windows} OS_type; OS_type myOS = Linux; and what I need is something like

stackoverflow.com


или тут:

Удобное преобразование перечислений (enum) в строковые в С++ (https://www.blast.hk/redirect/aHR0cHM6Ly9oYWJyLmNvbS9ydS9jb21wYW55L25peC9ibG9nLz I3Nzc1Ny8)

У перечислений есть множество способов применения в разработке. Например, при создании игр они используются для программирования состояний персонажа или возможных направлений движения: enum State...

habr.com



Извините меня, https://github.com/Neargye/nameof

TheD1sl1ke
28.10.2021, 18:06
Всем привет. Недавно возникла потребность в чтении адресов памяти формата ProcessName.exe + abc (где abc - адрес памяти). Вот пример такого адреса памяти:

https://forum.antichat.xyz/attachments/27872379/

Раньше, для чтения обычных адресов памяти, я использовал ReadProcessMemory, но как использовать его в данной ситуации я не знаю. Заранее благодарю за помощь.

4el0ve4ik
28.10.2021, 19:00
Всем привет. Недавно возникла потребность в чтении адресов памяти формата ProcessName.exe + abc (где abc - адрес памяти). Вот пример такого адреса памяти:

Раньше, для чтения обычных адресов памяти, я использовал ReadProcessMemory, но как использовать его в данной ситуации я не знаю. Заранее благодарю за помощь.


Если у игры адрес статичный, то просто float abc = *reinterpret_cast(0x1412AD4);

либо использовать GetModuleHandle(0) для определения базового адреса и использовать

unsigned long base = *reinterpret_cast(GetModuleHandle(0));

float abc = *reinterpret_cast(base+0x1412AD4);

TheD1sl1ke
28.10.2021, 19:34
Если у игры адрес статичный, то просто float abc = *reinterpret_cast(0x1412AD4);
либо использовать GetModuleHandle(0) для определения базового адреса и использовать
unsigned long base = *reinterpret_cast(GetModuleHandle(0));
float abc = *reinterpret_cast(base+0x1412AD4);


Кажется это не мой случай, то что вы написали актуально для .dll, мне же требуется чтение без инжекта сторонних файлов в игру (external).

EclipsedFlow
28.10.2021, 21:57
Как можно записать подобное в С++ ?

Lua:






sampRegisterChatCommand
(
'hello'
,
function
(
)
-- Блок выполнения после ввода команды
end
)
-- Чтобы не создавать отдельно функцию для обработки, как можно записать подобное на C++

kin4stat
28.10.2021, 21:59
Как можно записать подобное в С++ ?

Lua:






sampRegisterChatCommand
(
'hello'
,
function
(
)
-- Блок выполнения после ввода команды
end
)
-- Чтобы не создавать отдельно функцию для обработки, как можно записать подобное на C++






C++:






sampapi
::
v037r3
::
RefInput
(
)
->
AddCommand
(
"huy"
,
[
]
(
const
char
*
arg
)
{
/* Блок выполнения после ввода команды */
}
)
;

EclipsedFlow
29.10.2021, 15:13
Как получить путь к папке c игрой?

F0RQU1N and
29.10.2021, 15:17
Как получить путь к папке c игрой?


он и так по стандарту в сф, а так:

C++:






std
::
filesystem
::
current_path
(
)
;

EclipsedFlow
29.10.2021, 16:31
Как можно скачать txt файл и записать в переменную, запись в переменную второстепенное, главное как скачать?

cURL?

DarkP1xel
29.10.2021, 16:36
Как можно скачать txt файл и записать в переменную, запись в переменную второстепенное, главное как скачать?
cURL?


Ты каждое действие спрашивать будешь?

Используя сокеты (recv) и запись полученных данных в файл (fstream), но тебе скорее подойдет URLDownloadToFile...

yung milonov
29.10.2021, 16:41
как получить координаты метки на карте с адекватной координатой Z?

loganhackerdff
29.10.2021, 16:43
как получить координаты метки на карте с адекватной координатой Z?


я хукаю рпс клик мап и там всё ок

DarkP1xel
29.10.2021, 16:48
как получить координаты метки на карте с адекватной координатой Z?


После получения координат, надо отрендерить сцену в месте где нужно получить правильную координату Z (CStreaming::LoadScene 0x40EB70/CStreaming::LoadSceneCollision 0x40ED80), а после используя функцию (CWorld::FindGroundZFor3DCoord 0x5696C0/CWorld::FindGroundZForCoord 0x569660) получить правильное значение.

kin4stat
29.10.2021, 17:57
он и так по стандарту в сф, а так:

C++:






std
::
filesystem
::
current_path
(
)
;





Вариант конечно хороший, но есть всякие пидорасы, которую эту папку меняют

Поэтому лучше GetModuleFilename + GetModuleHandle(0)

DarkP1xel
29.10.2021, 18:35
Вариант конечно хороший, но есть всякие пидорасы, которую эту папку меняют
Поэтому лучше GetModuleFilename + GetModuleHandle(0)


Лучше через peb -> ProcessParameters -> ImagePathName

loganhackerdff
29.10.2021, 20:50
Вариант конечно хороший, но есть всякие пидорасы, которую эту папку меняют
Поэтому лучше GetModuleFilename + GetModuleHandle(0)


В смысле папку поменять?

kin4stat
29.10.2021, 20:51
В смысле папку поменять?


всмысле текущий путь может меняться. Это даже игра делает во время загрузки

EclipsedFlow
30.10.2021, 03:23
При чтении строк библиотекой fstream, плагин СФ выводит иероглифы, как исправить?

loganhackerdff
30.10.2021, 10:47
При чтении строк библиотекой fstream, плагин СФ выводит иероглифы, как исправить?


Куда выводит? код? многобайтовая кодировка? что читаешь? может там и записаны иероглифы

EclipsedFlow
30.10.2021, 11:13
Куда выводит? код? многобайтовая кодировка? что читаешь? может там и записаны иероглифы


Пробовал в консоль и в чат выводить, многобайтовая кодировка стоит, читаю txt по строкам анг. буквы и цифры.

loganhackerdff
30.10.2021, 13:39
Пробовал в консоль и в чат выводить, многобайтовая кодировка стоит, читаю txt по строкам анг. буквы и цифры.


Код, поаж, мб флаги там неправильные

EclipsedFlow
30.10.2021, 21:14
"]

При компиляции вот такого кода ( SFPlugin )

cod:






#include
#include "main.h"
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
void
__stdcall
mainloop
(
)
void
CALLBACK
cmd_show_info_player
(
std
::
string param
)
;
{
if
(
param
.
empty
(
)
)
return
;
int
i
=
std
::
stoi
(
param
)
;
char
buf
[
128
]
;
stRemotePlayer
*
pPlayer
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
i
]
;
if
(
!
pPlayer
)
return
;
sprintf
(
buf
,
"Nickname - %s, Ping - %d, Score - %d, isNPC - %d, AFKState - %d"
,
pPlayer
->
szPlayerName
,
pPlayer
->
iPing
,
pPlayer
->
iScore
,
pPlayer
->
iIsNPC
,
pPlayer
->
pPlayerData
->
iAFKState
==
2
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
buf
)
;
}
;
{
static
bool
initialized
=
false
;
if
(
!
initialized
)
{
if
(
GAME
&&
GAME
->
GetSystemState
(
)
==
eSystemState
::
GS_PLAYING_GAME
&&
SF
->
getSAMP
(
)
->
IsInitialized
(
)
)
{
initialized
=
true
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"SAMPFUNCS Plugin loaded."
)
;
SF
->
getSAMP
(
)
->
registerChatCommand
(
"showinfo"
,
cmd_show_info_player
)
;
}
}
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD dwReasonForCall
,
LPVOID lpReserved
)
{
if
(
dwReasonForCall
==
DLL_PROCESS_ATTACH
)
SF
->
initPlugin
(
mainloop
,
hModule
)
;
return
TRUE
;
}




Выдаёт такую ошибку:

1>------ Сборка начата: проект: SFPlugin, Конфигурация: Release Win32 ------
1> main.cpp
1>main.cpp(9): error C2144: синтаксическая ошибка: перед "void" требуется ";"
1>main.cpp(10): error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
1>main.cpp(31): error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
========== Сборка: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========


Ну хотябы озы c++ поучи

[w0te]
30.10.2021, 21:24
Ну хотябы озы c++ поучи


ладно

kin4stat
30.10.2021, 21:39
"]

При компиляции вот такого кода ( SFPlugin )

cod:






#include
#include "main.h"
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
void
__stdcall
mainloop
(
)
void
CALLBACK
cmd_show_info_player
(
std
::
string param
)
;
{
if
(
param
.
empty
(
)
)
return
;
int
i
=
std
::
stoi
(
param
)
;
char
buf
[
128
]
;
stRemotePlayer
*
pPlayer
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
i
]
;
if
(
!
pPlayer
)
return
;
sprintf
(
buf
,
"Nickname - %s, Ping - %d, Score - %d, isNPC - %d, AFKState - %d"
,
pPlayer
->
szPlayerName
,
pPlayer
->
iPing
,
pPlayer
->
iScore
,
pPlayer
->
iIsNPC
,
pPlayer
->
pPlayerData
->
iAFKState
==
2
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
buf
)
;
}
;
{
static
bool
initialized
=
false
;
if
(
!
initialized
)
{
if
(
GAME
&&
GAME
->
GetSystemState
(
)
==
eSystemState
::
GS_PLAYING_GAME
&&
SF
->
getSAMP
(
)
->
IsInitialized
(
)
)
{
initialized
=
true
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"SAMPFUNCS Plugin loaded."
)
;
SF
->
getSAMP
(
)
->
registerChatCommand
(
"showinfo"
,
cmd_show_info_player
)
;
}
}
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD dwReasonForCall
,
LPVOID lpReserved
)
{
if
(
dwReasonForCall
==
DLL_PROCESS_ATTACH
)
SF
->
initPlugin
(
mainloop
,
hModule
)
;
return
TRUE
;
}




Выдаёт такую ошибку:

1>------ Сборка начата: проект: SFPlugin, Конфигурация: Release Win32 ------
1> main.cpp
1>main.cpp(9): error C2144: синтаксическая ошибка: перед "void" требуется ";"
1>main.cpp(10): error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
1>main.cpp(31): error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
========== Сборка: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========


У тебя явно написано где ошибка, чего не хватает, и почему не компилируется

yung milonov
30.10.2021, 23:18
как использовать loadSceneCollision/loadScene?

EclipsedFlow
31.10.2021, 00:48
Выводит какой-то бред, замахался с этим уже, помогите пожалуйста.

C++:






std
::
ifstream
file
(
license_txt
)
;
if
(
file
.
is_open
(
)
)
{
std
::
string lines
;
while
(
std
::
getline
(
file
,
lines
)
)
// Перебирает строки и потом сравнивает с hdd_now
{
if
(
lines
==
hdd_now
)
{
SF
->
Log
(
"Путь к файлу: %s\nHDD: %s\nТекст: %s"
,
license_txt
,
hdd_now
,
lines
)
;
msg
(
"Подписки куплена, приятного использования"
)
;
}
else
{
SF
->
Log
(
"Путь к файлу: %s\nHDD: %s\nТекст: %s"
,
license_txt
,
hdd_now
,
lines
)
;
msg
(
"Подписки нету, её нужно купить"
)
;
}
}
file
.
close
(
)
;
}




Скрин:

https://forum.antichat.xyz/attachments/27874348/

#Rin
31.10.2021, 01:13
Выводит какой-то бред, замахался с этим уже, помогите пожалуйста.

C++:






std
::
ifstream
file
(
license_txt
)
;
if
(
file
.
is_open
(
)
)
{
std
::
string lines
;
while
(
std
::
getline
(
file
,
lines
)
)
// Перебирает строки и потом сравнивает с hdd_now
{
if
(
lines
==
hdd_now
)
{
SF
->
Log
(
"Путь к файлу: %s\nHDD: %s\nТекст: %s"
,
license_txt
,
hdd_now
,
lines
)
;
msg
(
"Подписки куплена, приятного использования"
)
;
}
else
{
SF
->
Log
(
"Путь к файлу: %s\nHDD: %s\nТекст: %s"
,
license_txt
,
hdd_now
,
lines
)
;
msg
(
"Подписки нету, её нужно купить"
)
;
}
}
file
.
close
(
)
;
}




Скрин:


Для std::string следует использовать метод .c_str()

C++:






lines
.
c_str
(
)




Для выводы HDD скорее тебе требуется: "%X"

EclipsedFlow
31.10.2021, 01:32
Для std::string следует использовать метод .c_str()

C++:






lines
.
c_str
(
)




Для выводы HDD скорее тебе требуется: "%X"


Краш игры, и
https://forum.antichat.xyz/attachments/27874381/

kin4stat
31.10.2021, 01:33
Краш игры, и


когда в лог выводишь....

EclipsedFlow
31.10.2021, 01:35
когда в лог выводишь....


После проверки, 7 строка.

C++:






std
::
ifstream
file
(
license_txt
)
;
if
(
file
.
is_open
(
)
)
{
std
::
string lines
;
while
(
std
::
getline
(
file
,
lines
)
)
// Перебирает строки и потом сравнивает с hdd_now
{
if
(
lines
==
hdd_now
)
{
SF
->
Log
(
"Путь к файлу: %s\nHDD: %s\nТекст: %s"
,
license_txt
,
hdd_now
,
lines
)
;
msg
(
"Подписки куплена, приятного использования"
)
;
}
else
{
SF
->
Log
(
"Путь к файлу: %s\nHDD: %s\nТекст: %s"
,
license_txt
,
hdd_now
,
lines
)
;
msg
(
"Подписки нету, её нужно купить"
)
;
}
}
file
.
close
(
)
;
}

kin4stat
31.10.2021, 01:37
После проверки, 7 строка.

C++:






std
::
ifstream
file
(
license_txt
)
;
if
(
file
.
is_open
(
)
)
{
std
::
string lines
;
while
(
std
::
getline
(
file
,
lines
)
)
// Перебирает строки и потом сравнивает с hdd_now
{
if
(
lines
==
hdd_now
)
{
SF
->
Log
(
"Путь к файлу: %s\nHDD: %s\nТекст: %s"
,
license_txt
,
hdd_now
,
lines
)
;
msg
(
"Подписки куплена, приятного использования"
)
;
}
else
{
SF
->
Log
(
"Путь к файлу: %s\nHDD: %s\nТекст: %s"
,
license_txt
,
hdd_now
,
lines
)
;
msg
(
"Подписки нету, её нужно купить"
)
;
}
}
file
.
close
(
)
;
}






C++:






std
::
ifstream
file
(
license_txt
)
;
if
(
file
.
is_open
(
)
)
{
std
::
string lines
;
while
(
std
::
getline
(
file
,
lines
)
)
// Перебирает строки и потом сравнивает с hdd_now
{
if
(
lines
==
hdd_now
)
{
SF
->
Log
(
"Путь к файлу: %s\nHDD: %s\nТекст: %s"
,
license_txt
.
c_str
(
)
,
hdd_now
.
c_str
(
)
,
lines
.
c_str
(
)
)
;
msg
(
"Подписки куплена, приятного использования"
)
;
}
else
{
SF
->
Log
(
"Путь к файлу: %s\nHDD: %s\nТекст: %s"
,
license_txt
.
c_str
(
)
,
hdd_now
.
c_str
(
)
,
lines
.
c_str
(
)
)
;
msg
(
"Подписки нету, её нужно купить"
)
;
}
}
file
.
close
(
)
;
}

EclipsedFlow
31.10.2021, 13:37
При добавлении этой функции в исполнение, плагин SF не загружается вообще.

C++:






size_t
write_data_file
(
void
*
ptr
,
size_t size
,
size_t nmemb
,
FILE
*
stream
)
{
size_t written
=
fwrite
(
ptr
,
size
,
nmemb
,
stream
)
;
return
written
;
}
// Доп. функция, строка 14
void
download_file
(
)
{
std
::
string file_txt
=
game_directory
(
)
+
"\\SAMPFUNCS\\lic.txt"
;
CURL
*
curl
=
curl_easy_init
(
)
;
if
(
curl
)
{
FILE
*
fp
=
fopen
(
file_txt
.
c_str
(
)
,
"wb"
)
;
curl_easy_setopt
(
curl
,
CURLOPT_URL
,
"url"
)
;
curl_easy_setopt
(
curl
,
CURLOPT_WRITEFUNCTION
,
write_data_file
)
;
curl_easy_setopt
(
curl
,
CURLOPT_WRITEDATA
,
fp
)
;
CURLcode res
=
curl_easy_perform
(
curl
)
;
SF
->
Log
(
curl_easy_strerror
(
res
)
)
;
// Вывод лога
curl_easy_cleanup
(
curl
)
;
fclose
(
fp
)
;
}

F0RQU1N and
31.10.2021, 14:34
При добавлении этой функции в исполнение, плагин SF не загружается вообще.

C++:






size_t
write_data_file
(
void
*
ptr
,
size_t size
,
size_t nmemb
,
FILE
*
stream
)
{
size_t written
=
fwrite
(
ptr
,
size
,
nmemb
,
stream
)
;
return
written
;
}
// Доп. функция, строка 14
void
download_file
(
)
{
std
::
string file_txt
=
game_directory
(
)
+
"\\SAMPFUNCS\\lic.txt"
;
CURL
*
curl
=
curl_easy_init
(
)
;
if
(
curl
)
{
FILE
*
fp
=
fopen
(
file_txt
.
c_str
(
)
,
"wb"
)
;
curl_easy_setopt
(
curl
,
CURLOPT_URL
,
"url"
)
;
curl_easy_setopt
(
curl
,
CURLOPT_WRITEFUNCTION
,
write_data_file
)
;
curl_easy_setopt
(
curl
,
CURLOPT_WRITEDATA
,
fp
)
;
CURLcode res
=
curl_easy_perform
(
curl
)
;
SF
->
Log
(
curl_easy_strerror
(
res
)
)
;
// Вывод лога
curl_easy_cleanup
(
curl
)
;
fclose
(
fp
)
;
}





компиль курл статически

EclipsedFlow
31.10.2021, 15:01
компиль курл статически


Если я думаю правильно где-то была строка со слово Static, после инициализации библиотеки, её нежно добавить или как правильно?

#define CURL_STATICLIB

F0RQU1N and
31.10.2021, 15:15
Если я думаю правильно где-то была строка со слово Static, после инициализации библиотеки, её нежно добавить или как правильно?


CURL_STATICLIB в параметры препроцессора просто

F0RQU1N and
31.10.2021, 16:46
И это ради того чтобы скачать txt файл по прямой ссылке, еслиб lua можно было скрыть код - цены не было у него с его нынешней реализацией moonloader


URLDownloadToFilе не варик?

EclipsedFlow
31.10.2021, 16:53
URLDownloadToFilе не варик?


Нихера не работает друг, я уже как только не пробовал, failed и все



URLDownloadToFilе не варик?



https://www.dropbox.com/s/isml52bha6k6lhj/list.txt?dl=1 (https://www.blast.hk/redirect/aHR0cHM6Ly93d3cuZHJvcGJveC5jb20vcy9pc21sNTJiaGE2az ZsaGovbGlzdC50eHQ_ZGw9MQ)

Попробуй скачать через эту функцию, нифига блина

loganhackerdff
31.10.2021, 16:57
Нихера не работает друг, я уже как только не пробовал, failed и все


Значит не правильно ты используеш urldownloadtofile, надо там указывать адрес на файл, чтоб в конце было filename.txt

Там вроде цифру в конце надо менять, ты изменил? Когда с дропбокса качаеш

EclipsedFlow
01.11.2021, 01:25
Как проверить, если точка на экране для рендера, аналог isPointOnScreen() на Lua

kin4stat
01.11.2021, 01:38
Как проверить, если точка на экране для рендера, аналог isPointOnScreen() на Lua



C++:






CVector2D
get_screen_coords
(
CVector vecWorld
)
{
float
x
,
y
,
z
;
double
fRecip
;
const
D3DXMATRIX m
{
reinterpret_cast

(
0xB6FA2C
)
}
;
unsigned
long
dwLenX
=
*
reinterpret_cast

(
0xC17044
)
;
unsigned
long
dwLenY
=
*
reinterpret_cast

(
0xC17048
)
;
x
=
(
vecWorld
.
z
*
m
.
_31
)
+
(
vecWorld
.
y
*
m
.
_21
)
+
(
vecWorld
.
x
*
m
.
_11
)
+
m
.
_41
;
y
=
(
vecWorld
.
z
*
m
.
_32
)
+
(
vecWorld
.
y
*
m
.
_22
)
+
(
vecWorld
.
x
*
m
.
_12
)
+
m
.
_42
;
z
=
(
vecWorld
.
z
*
m
.
_33
)
+
(
vecWorld
.
y
*
m
.
_23
)
+
(
vecWorld
.
x
*
m
.
_13
)
+
m
.
_43
;
fRecip
=
1.0
/
z
;
x
*=
static_cast

(
fRecip
*
dwLenX
)
;
y
*=
static_cast

(
fRecip
*
dwLenY
)
;
return
{
x
,
y
}
;
}
bool
is_point_on_screen
(
CVector vecWorld
)
{
const
D3DXMATRIX m
{
reinterpret_cast

(
0xB6FA2C
)
}
;
const
unsigned
long
dwLenX
=
*
reinterpret_cast

(
0xC17044
)
;
const
unsigned
long
dwLenY
=
*
reinterpret_cast

(
0xC17048
)
;
float
z
;
z
=
(
vecWorld
.
z
*
m
.
_33
)
+
(
vecWorld
.
y
*
m
.
_23
)
+
(
vecWorld
.
x
*
m
.
_13
)
+
m
.
_43
;
return
z
>=
1.0f
;
}

EclipsedFlow
01.11.2021, 15:34
Вы выводит строку в игре

C++:






// mainloop
char
buf
[
128
]
;
sprintf
(
buf
,
"~r~Good send: ~w~%d~n~~r~Speed: ~w~%d"
,
unc_fuck
.
vehicleId
,
unc_fuck
.
speed
)
;
printStringNow
(
buf
,
300
,
NULL
,
false
)
;
//fuction
void
printStringNow
(
const
char
*
text
,
unsigned
int
time
,
unsigned
short
flag
,
bool
bPreviousBrief
)
{
(
(
void
(
__cdecl
*
)
(
const
char
*
,
unsigned
int
,
unsigned
short
,
bool
)
)
0x69F1E0
)
(
text
,
time
,
flag
,
bPreviousBrief
)
;
}

nullptr-
01.11.2021, 16:45
Подскажите патч Anti bike fall, этот не работает

C++:






memsafe
::
copy
(
(
void
*
)
0x522F6A
,
"\xE9\xA7\x03\x00\x00\x90"
,
6
)
;
memsafe
::
copy
(
(
void
*
)
0x4B3296
,
"\x90\x90\x90"
,
3
)
;

F0RQU1N and
01.11.2021, 16:55
Подскажите патч Anti bike fall, этот не работает

C++:






memsafe
::
copy
(
(
void
*
)
0x522F6A
,
"\xE9\xA7\x03\x00\x00\x90"
,
6
)
;
memsafe
::
copy
(
(
void
*
)
0x4B3296
,
"\x90\x90\x90"
,
3
)
;





посмотри в сурсах соба



Вы выводит строку в игре


??????

EclipsedFlow
01.11.2021, 16:59
посмотри в сурсах соба

??????


Не появляется строка

loganhackerdff
01.11.2021, 17:13
Вы выводит строку в игре

C++:






// mainloop
char
buf
[
128
]
;
sprintf
(
buf
,
"~r~Good send: ~w~%d~n~~r~Speed: ~w~%d"
,
unc_fuck
.
vehicleId
,
unc_fuck
.
speed
)
;
printStringNow
(
buf
,
300
,
NULL
,
false
)
;
//fuction
void
printStringNow
(
const
char
*
text
,
unsigned
int
time
,
unsigned
short
flag
,
bool
bPreviousBrief
)
{
(
(
void
(
__cdecl
*
)
(
const
char
*
,
unsigned
int
,
unsigned
short
,
bool
)
)
0x69F1E0
)
(
text
,
time
,
flag
,
bPreviousBrief
)
;
}





static

char buf[128];

sprintf(buf, "~r~Good send: ~w~%d~n~~r~Speed: ~w~%d", unc_fuck.vehicleId, unc_fuck.speed);

printStringNow(buf, 300, NULL, false);

в мейн луп



Подскажите патч Anti bike fall, этот не работает

C++:






memsafe
::
copy
(
(
void
*
)
0x522F6A
,
"\xE9\xA7\x03\x00\x00\x90"
,
6
)
;
memsafe
::
copy
(
(
void
*
)
0x4B3296
,
"\x90\x90\x90"
,
3
)
;






CLEO - NoBikeFall Pro (https://www.blast.hk/threads/54867/)

Описание: Не падать с байка с функцией падения в воде. Требования: CLEO 4.X+, gta_sa.exe US 1.0. Активация: NOBIKE (чит-код). Автор: @DarkP1xel

www.blast.hk

[w0te]
01.11.2021, 22:09
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cp pCommon.targets(637,5): error : Element has an invalid value of "DebugFull".

Как решить такую проблему?

"]

1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cp pCommon.targets(637,5): error : Element has an invalid value of "DebugFull".

Как решить такую проблему?


решил изменой DebugFull на /debug

EclipsedFlow
02.11.2021, 14:20
Как можно из float сделать CVector?

F0RQU1N and
02.11.2021, 14:36
Как можно из float сделать CVector?


float x = 1.f;

float y = 2.f;

float z = 3.f;

CVector(x,y,z);

kin4stat
02.11.2021, 14:58
float x = 1.f;
float y = 2.f;
float z = 3.f;
CVector(x,y,z);


CVector{ 1.f, 2.f, 3.f };

F0RQU1N and
02.11.2021, 15:13
CVector{ 1.f, 2.f, 3.f };


так он сказал именно флоат ему надо, цифры он и сам туда впихнуть может наверно

EclipsedFlow
02.11.2021, 20:31
Такая ситуация, запускаю гта, тестю сф на работоспособность, выгружаю через консоль сф плагин, меняю код и обратно компилирую, и гта с тёмным экраном и не разворачивается, как фиксануть?

Я кавказец
02.11.2021, 21:54
Такая ситуация, запускаю гта, тестю сф на работоспособность, выгружаю через консоль сф плагин, меняю код и обратно компилирую, и гта с тёмным экраном и не разворачивается, как фиксануть?



Совет - FIX | Краш при разворачивании игры (https://www.blast.hk/threads/84783/)

Есть 2 скрипта, которые смогут помочь в этом III.VC.SA.WindowedMode, Fake FullScreen Plugin или настройка SAMPFUNCS'a . Суть их в том что, при переключении alt+tab игра не сворачивается в полноэкранном режиме и в оконном, и располагается за тем окном что открыли, ниже видео с работой 1 скрипта...

www.blast.hk

-raymond-
03.11.2021, 00:54
поч крашит?

C++:






CPed
*
createdPed
=
GAME
->
GetPools
(
)
->
AddPed
(
GTAVC_PLAYER
)
;

EclipsedFlow
04.11.2021, 01:54
Как можно узнать координаты, id и т.д всех 3D текстов?

AdCKuY_DpO4uLa
04.11.2021, 02:17
при выгрузке dll через pfree "name" не вызывается

C++:






int
__stdcall
DllMain
(
HMODULE hModule
,
DWORD dwReason
,
LPVOID lpReserved
)
{
}




с dwReason равным DLL_PROCESS_DETACH.

DllMain вызывается только при закрытии игры.

С чем это может быть связано?



Как можно узнать координаты, id и т.д всех 3D текстов?


в структуре сампа stSAMP есть указатель на пулы, там есть пул 3D текстов





https://forum.antichat.xyz/attachments/27878624/

kin4stat
04.11.2021, 04:18
с dwReason равным DLL_PROCESS_DETACH.
DllMain вызывается только при закрытии игры.



https://forum.antichat.xyz/attachments/27878670/

AdCKuY_DpO4uLa
04.11.2021, 06:16
я просто переименовал плагин и всё заработало -_-

EclipsedFlow
04.11.2021, 13:53
C++:






// Regex не работает std::regex_search()
for
(
int
i
=
0
;
i

getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pText3D
->
iIsListed
[
i
]
!=
1
)
continue
;
stTextLabel Text3D
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pText3D
->
textLabel
[
i
]
;
if
(
std
::
regex_search
(
Text3D
.
pText
,
NULL
,
"([])"
)
)
{
}
}




https://forum.antichat.xyz/attachments/27878871/

legendabrn
04.11.2021, 14:09
C++:






// Regex не работает std::regex_search()
for
(
int
i
=
0
;
i

getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pText3D
->
iIsListed
[
i
]
!=
1
)
continue
;
stTextLabel Text3D
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pText3D
->
textLabel
[
i
]
;
if
(
std
::
regex_search
(
Text3D
.
pText
,
NULL
,
"([])"
)
)
{
}
}






C++:






for
(
int
i
=
0
;
i

getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pText3D
->
iIsListed
[
i
]
!=
1
)
continue
;
stTextLabel Text3D
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pText3D
->
textLabel
[
i
]
;
std
::
cmatch cm
;
if
(
std
::
regex_search
(
Text3D
.
pText
,
cm
,
"([])"
)
)
{
}
}

EclipsedFlow
04.11.2021, 14:12
C++:






for
(
int
i
=
0
;
i

getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pText3D
->
iIsListed
[
i
]
!=
1
)
continue
;
stTextLabel Text3D
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pText3D
->
textLabel
[
i
]
;
std
::
cmatch cm
;
if
(
std
::
regex_search
(
Text3D
.
pText
,
cm
,
"([])"
)
)
{
}
}






https://forum.antichat.xyz/attachments/27878892/

legendabrn
04.11.2021, 14:15
https://forum.antichat.xyz/attachments/27878896/

Код:






if (std::regex_search(Text3D.pText, cm, std::regex("([])")))

EclipsedFlow
04.11.2021, 14:59
Есть функция для проверки нахождения персонажа что он на координатах находиться?

Аналог луа - locateCharAnyMeans2d

F0RQU1N and
04.11.2021, 15:04
Есть функция для проверки нахождения персонажа что он на координатах находиться?


всм ну просто получи корды его и проверь то ли это место

EclipsedFlow
04.11.2021, 15:06
всм ну просто получи корды его и проверь то ли это место


Н луа так не работало, сейчас попробую тогда, либо если есть функция для проверки персонажа в определённом радиусе

loganhackerdff
04.11.2021, 15:20
при выгрузке dll через pfree "name" не вызывается

C++:






int
__stdcall
DllMain
(
HMODULE hModule
,
DWORD dwReason
,
LPVOID lpReserved
)
{
}




с dwReason равным DLL_PROCESS_DETACH.
DllMain вызывается только при закрытии игры.
С чем это может быть связано?

в структуре сампа stSAMP есть указатель на пулы, там есть пул 3D текстов


Че за самп апи?

EclipsedFlow
04.11.2021, 16:07
Как можно записать в переменную через regex, регулярка есть.

kin4stat
04.11.2021, 16:24
Как можно записать в переменную через regex, регулярка есть.


У вас есть проблема. Вы решил использовать регулярные выражения для ее разрешения. Теперь у вас две проблемы

AdCKuY_DpO4uLa
04.11.2021, 16:44
Че за самп апи?


Своë



Как можно записать в переменную через regex, регулярка есть.


По моим тестам выяснилось, что std::regex не дружит с кириллицей, поэтому лично я юзал регулярки с буста, там всё прекрасно работает

P. S. Возможно у тебя не так, возьми на всякий случай весь код с регулярной в try catch

F0RQU1N and
04.11.2021, 16:59
Как можно записать в переменную через regex, регулярка есть.


а что тебе нужно вообще сделать? мб как-то по другому это сделать можно

EclipsedFlow
04.11.2021, 18:22
Почему краш?

C++:






stTextLabel Text3D
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pText3D
->
textLabel
[
i
]
;
if
(
std
::
strstr
(
Text3D
.
pText
,
"Осталось"
)
)
{
// Осталось 01:09
char
min
,
sec
;
std
::
sscanf
(
Text3D
.
pText
,
"Осталось %s:%s"
,
&
min
,
&
sec
)
;
SF
->
Log
(
"Minute: %s | Second: %s"
,
min
,
sec
)
;
}

{$FANTOMCODER .cs}
04.11.2021, 18:26
При компиляции SFPlugin'a в лог выводится данная ошибка, и SFPlugin соответственно не компилируется, помогите решить



C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Mi crosoft.CppBuild.targets(439,5): error MSB8020: Не удается найти средства сборки для Visual Studio 2012 - Windows XP (набор инструментов платформы = "v110_xp"). Чтобы выполнить сборку с использованием средств сборки v110_xp установите средства сборки Visual Studio 2012 - Windows XP. Кроме того, можно выполнить обновление до текущей версии средств Visual Studio, перейдя в меню "Проект" или щелкнув решение правой кнопкой мыши и выбрав "Обновить решение...".

sc6ut
04.11.2021, 18:59
std::regex не дружит с кириллицей


все норм там, у тебя мб с кодировкой проблемы. сколько юзал регулярки не встречался с такими проблемами.



Почему краш?

C++:






stTextLabel Text3D
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pText3D
->
textLabel
[
i
]
;
if
(
std
::
strstr
(
Text3D
.
pText
,
"Осталось"
)
)
{
// Осталось 01:09
char
min
,
sec
;
std
::
sscanf
(
Text3D
.
pText
,
"Осталось %s:%s"
,
&
min
,
&
sec
)
;
SF
->
Log
(
"Minute: %s | Second: %s"
,
min
,
sec
)
;
}





возможно что-то из структур SAMP, Info, pPool, pText3D или сам текст Text3D.pText являтся nullptr, из-за чего случается краш. стоит проверить что все структуры и текст не являются nullptr. А вообще лучше использовать регулярки тут, т.к. твое условие может сработать и при "123 Осталось 123", а не только при том что тебе надо. (строить регулярки удобно можно на regex101.com (https://www.blast.hk/redirect/aHR0cHM6Ly9yZWdleDEwMS5jb20v)) так же

std::sscanf

является небезопасной. вот тебе короткий пример по работе с регулярками.

C++:





[CODE]
constexpr
auto
pText
=
"Осталось 01:09"
;
std
::
cmatch cm
;
std
::
regex
re
(
R"(Осталось\s+(\d+)\:(\d+))"
,
std
::
regex
::
icase
)
;
if
(
std
::
regex_match
(
pText
,
cm
,
re
)
)
{
auto
minutes
=
cm
[
1
]
.
str
(
)
;
auto
seconds
=
cm
[
2
]
.
str
(
)
;
std
::
cout

leak.
04.11.2021, 20:09
вот все на форуме пишут что в плагинах потоки лучше не юзать, самп похоже юзает, вызывает beginthread, так вот это может повлиять на игру при загрузке чего-либо?

#Northn
04.11.2021, 20:46
самп похоже юзает,


Используется только ракнетом



так вот это может повлиять на игру при загрузке чего-либо?



Состояние гонки. Race condition (https://www.blast.hk/redirect/aHR0cHM6Ly9wdnMtc3R1ZGlvLmNvbS9ydS9ibG9nL3Rlcm1zLz AwNDIvIzp-OnRleHQ9UmFjZSUyMGNvbmRpdGlvbi4s0LPQvtC90LrQuCUyMN C00LDQvdC90YvRhSUyMChkYXRhJTIwcmFjZSkuJnRleHQ90KHQ vtGB0YLQvtGP0L3QuNC1JTIw0LPQvtC90LrQuCUyMNCy0L7Qt9 C90LjQutCw0LXRgiUyMNGC0L7Qs9C00LAlMkMlMjDQutC-0LPQtNCwLNC4JTIw0LfQsNGH0LDRgdGC0YPRjiUyMNC40YUlMj DRgdC70L7QttC90L4lMjDQstGL0Y_QstC40YLRjC4)

Состояние гонки. Race condition. Другое название: гонки данных (data race). Ошибка программирования многозадачной системы, при которой работа системы зависит от того, в каком порядке выполняются части кода. Состояние гонки является классическим гейзенбагом. Состояние гонки возникает тогда, когда...

pvs-studio.com

{$FANTOMCODER .cs}
04.11.2021, 21:53
ПКМ по проекту -> Свойства -> Набор инструментов платформы


И что дальше?

EclipsedFlow
04.11.2021, 22:10
Получаю дистанцию от себя до 3Д текста, результат





https://forum.antichat.xyz/attachments/27879600/

C++:






float
GetDistance
(
D3DXVECTOR3 target
)
{
D3DXVECTOR3
player
(
PEDSELF
->
GetPosition
(
)
->
fX
,
PEDSELF
->
GetPosition
(
)
->
fY
,
PEDSELF
->
GetPosition
(
)
->
fZ
)
;
return
sqrt
(
(
player
.
x
-
target
.
x
)
*
(
player
.
x
-
target
.
x
)
+
(
player
.
y
-
target
.
y
)
*
(
player
.
y
-
target
.
y
)
+
(
player
.
z
-
target
.
z
)
*
(
player
.
z
-
target
.
z
)
)
;
}
float
distance
=
GetDistance
(
D3DXVECTOR3
(
Text3D
.
fPosition
[
0
]
,
Text3D
.
fPosition
[
1
]
,
Text3D
.
fPosition
[
2
]
)
)
;

DarkP1xel
04.11.2021, 22:12
Получаю дистанцию от себя до 3Д текста, результат

C++:






float
GetDistance
(
D3DXVECTOR3 target
)
{
D3DXVECTOR3
player
(
PEDSELF
->
GetPosition
(
)
->
fX
,
PEDSELF
->
GetPosition
(
)
->
fY
,
PEDSELF
->
GetPosition
(
)
->
fZ
)
;
return
sqrt
(
(
player
.
x
-
target
.
x
)
*
(
player
.
x
-
target
.
x
)
+
(
player
.
y
-
target
.
y
)
*
(
player
.
y
-
target
.
y
)
+
(
player
.
z
-
target
.
z
)
*
(
player
.
z
-
target
.
z
)
)
;
}
float
distance
=
GetDistance
(
D3DXVECTOR3
(
Text3D
.
fPosition
[
0
]
,
Text3D
.
fPosition
[
1
]
,
Text3D
.
fPosition
[
2
]
)
)
;





Получаешь дробное число, выводишь целое.

EclipsedFlow
05.11.2021, 00:38
Пишу бота для льна и хлопка, как только добегает до куста начинает кружиться вокруг его, как можно пофиксить?

Кто знающий в лс пожалуйста

nullptr-
05.11.2021, 17:37
Подскажите, почему при переводе игровых координат в экранные, транспорт рендерится в нулевых координатах мира? Проблема именно в транспорте, т.к. при рендере персонажей все нормально

https://forum.antichat.xyz/attachments/27880344/

четыреста четыре
08.11.2021, 22:03
consumeWindowMessage()с луа, есть ли аналог на C++?

F0RQU1N and
09.11.2021, 07:32
consumeWindowMessage()с луа, есть ли аналог на C++?


Хукни wndproc и возвращай false

EclipsedFlow
12.11.2021, 12:47
Как вывести наименьшее число float из массива std::vector distArray;

Пробовал через std::min_element(); но крашит, код ниже.

C++:






auto
result
=
std
::
minmax_element
(
distArray
.
begin
(
)
,
distArray
.
end
(
)
)
;
float
minValue
=
*
result
.
first
;
SF
->
Log
(
"%f"
,
minValue
)
;

AdCKuY_DpO4uLa
12.11.2021, 13:06
Как вывести наименьшее число float из массива std::vector distArray;
Пробовал через std::min_element(); но крашит, код ниже.

C++:






auto
result
=
std
::
minmax_element
(
distArray
.
begin
(
)
,
distArray
.
end
(
)
)
;
float
minValue
=
*
result
.
first
;
SF
->
Log
(
"%f"
,
minValue
)
;






C++:






auto
result
=
std
::
minmax_element
(
distArray
.
begin
(
)
,
distArray
.
end
(
)
,
[
]
(
float
a
,
float
b
)
{
return
(
a

Log
(
"min: %f, max: %f"
,
minValue
,
maxValue
)
;

kin4stat
12.11.2021, 15:44
C++:






auto
result
=
std
::
minmax_element
(
distArray
.
begin
(
)
,
distArray
.
end
(
)
,
[
]
(
float
a
,
float
b
)
{
return
(
a

Log
(
"min: %f, max: %f"
,
minValue
,
maxValue
)
;






C++:






auto
[
min
,
max
]
=
std
::
minmax_element
(
distArray
.
begin
(
)
,
distArray
.
end
(
)
,
std
::
less

{
}
)
;

F0RQU1N and
12.11.2021, 19:11
Как сделать бег вперёд и обычный бег SF?


эмуляция игровой клавиши

EclipsedFlow
12.11.2021, 19:13
эмуляция игровой клавиши


А строку самой эмуляции можно?

F0RQU1N and
12.11.2021, 20:15
А строку самой эмуляции можно?


SF->getGame()->emulateGTAKey();

EclipsedFlow
13.11.2021, 18:29
Как-то не корректно работает данная функция, вроде смотрю на точку, а она не рисуется

C++:






bool
isPointOnScreen
(
CVector vecWorld
)
{
const
D3DXMATRIX m
{
reinterpret_cast

(
0xB6FA2C
)
}
;
const
unsigned
long
dwLenX
=
*
reinterpret_cast

(
0xC17044
)
;
const
unsigned
long
dwLenY
=
*
reinterpret_cast

(
0xC17048
)
;
float
z
;
z
=
(
vecWorld
.
fX
*
m
.
_33
)
+
(
vecWorld
.
fY
*
m
.
_23
)
+
(
vecWorld
.
fZ
*
m
.
_13
)
+
m
.
_43
;
return
z
>=
1.0f
;
}
CVector tpos
=
{
x
,
y
,
z
}
;
if
(
isPointOnScreen
(
tpos
)
)
{
// Дальше рисуем фигуры...
}

Musaigen
13.11.2021, 19:12
Как-то не корректно работает данная функция, вроде смотрю на точку, а она не рисуется

C++:






bool
isPointOnScreen
(
CVector vecWorld
)
{
const
D3DXMATRIX m
{
reinterpret_cast

(
0xB6FA2C
)
}
;
const
unsigned
long
dwLenX
=
*
reinterpret_cast

(
0xC17044
)
;
const
unsigned
long
dwLenY
=
*
reinterpret_cast

(
0xC17048
)
;
float
z
;
z
=
(
vecWorld
.
fX
*
m
.
_33
)
+
(
vecWorld
.
fY
*
m
.
_23
)
+
(
vecWorld
.
fZ
*
m
.
_13
)
+
m
.
_43
;
return
z
>=
1.0f
;
}
CVector tpos
=
{
x
,
y
,
z
}
;
if
(
isPointOnScreen
(
tpos
)
)
{
// Дальше рисуем фигуры...
}






C++:






bool
isPointOnScreen
(
CVector
*
position
,
float
radius
)
{
auto
camera
=
*
reinterpret_cast

(
0xB6F028
)
;
return
reinterpret_cast

(
0x420D40
)
(
camera
,
position
,
radius
)
;
}

EclipsedFlow
13.11.2021, 23:06
C++:






bool
isPointOnScreen
(
CVector
*
position
,
float
radius
)
{
auto
camera
=
*
reinterpret_cast

(
0xB6F028
)
;
return
reinterpret_cast

(
0x420D40
)
(
camera
,
position
,
radius
)
;
}






C++:






// Не рисует, что не так?
CVector tpos
=
{
x
,
y
,
z
}
;
if
(
isPointOnScreen
(
&
tpos
,
1
)
)
{
SF
->
getRender
(
)
->
DrawPolygon
(
sc
[
0
]
,
sc
[
1
]
,
16
,
16
,
0
,
8
,
0xFF00FF00
)
;
SF
->
getRender
(
)
->
DrawLine
(
sc
[
0
]
,
sc
[
1
]
,
tsc
[
0
]
,
tsc
[
1
]
,
3
,
0xFF00FF00
)
;
SF
->
getRender
(
)
->
DrawPolygon
(
tsc
[
0
]
,
tsc
[
1
]
,
16
,
16
,
0
,
8
,
0xFF00FF00
)
;
}

Mr.Mastire222
14.11.2021, 01:02
Можно ли импротировать модели персонажей из гта са в unity и как если можете скажите

EclipsedFlow
15.11.2021, 02:18
Срочно те кто работал с хуками, как называется хук onRemove3DTextLabelвSFя не нашёл

vbg
15.11.2021, 17:11
Как проверить, активен ли диалог? (без сф)

kin4stat
16.11.2021, 15:31
Как получить название объекта допустим по ID?


У объектов нет названий же

EclipsedFlow
16.11.2021, 15:32
У объектов нет названий же


Ну как-то же делали рвх на руду в шахте, там название текстуры было наверное

1637062836588.pngEclipsedFlow · 16 Ноя 2021 в 14:32' data-fancybox="lb-post-889668" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/122544/" style="cursor: pointer;" title="1637062836588.png">
https://forum.antichat.xyz/attachments/27889668/

CleanLegend
16.11.2021, 15:40
Ну как-то же делали рвх на руду в шахте, там название текстуры было наверное


сами составляют список имён по id

legendabrn
16.11.2021, 16:03
сами составляют список имён по id


это названия .dff

kin4stat
16.11.2021, 19:31
Как получить название объекта допустим по ID?



SAMP-API/include/sampapi/0.3.7-R3-1/CObject.h at 93eb1452b0f2b9b8c540604d40e5727fabcea58f · BlastHackNet/SAMP-API (https://github.com/BlastHackNet/SAMP-API/blob/93eb1452b0f2b9b8c540604d40e5727fabcea58f/include/sampapi/0.3.7-R3-1/CObject.h#L28)

A library for interacting with functions, classes and structures of SA-MP client - BlastHackNet/SAMP-API

github.com

sc6ut
21.11.2021, 00:34
Помогите с регуляркой...

C++:






std
::
string
=
"status=false&version=1.0"
;
std
::
regex
(
"status=([\\w]*)\\sversion=([\\d\.\\d])"
)
;






C++:






constexpr
auto
test
=
"status=false&version=1.0"
;
std
::
regex
re
(
R"(^status=(true|false)&version=([0-9]+(?:[.][0-9]*)?|[.][0-9]+)$)"
,
std
::
regex
::
icase
)
;
std
::
cmatch cm
;
if
(
std
::
regex_match
(
test
,
cm
,
re
)
)
{
auto
status
=
cm
[
1
]
.
str
(
)
==
"true"
;
auto
version
=
std
::
stof
(
cm
[
2
]
.
str
(
)
)
;
}

sc6ut
21.11.2021, 01:06
Что я получаю:
Что получает сайт:


сама регулярка без скобок наружных, R"()" это raw строка чтобы не экранировать строку

а проблема у тебя с функией для вывода текста скорее всего, я код тестил перед тем как ответить, в нём проблем нет.

profgold
23.11.2021, 18:55
Как можно перехватить всё, что я отправляю серваку?

В том числе неизвестные рпц/пакеты/рандомный битсрим

Apsapeh
24.11.2021, 00:29
Есть ли нормальный способ парсить HTML (в особенности "href" в теге "a")?

Типа такого, только на C++:

Python:






# link - html документ
response
=
requests
.
get
(
link
)
soup
=
BeautifulSoup
(
response
.
text
,
'lxml'
)
quotes
=
soup
.
find_all
(
"a"
,
id
=
"im"
)
arg_result
.
append
(
quotes
[
0
]
.
get
(
"href"
)
)

F0RQU1N and
24.11.2021, 06:38
Терпения нету уже!!!
Парсю Json с помощью boost - Крашит Гта.


















А зачем ты юзаешь буст ради 1 джсона, можешь через регулярку получить version, либо другой ответ от серва сделать просто



Есть ли нормальный способ парсить HTML (в особенности "href" в теге "a")?

Типа такого, только на C++:

Python:






# link - html документ
response
=
requests
.
get
(
link
)
soup
=
BeautifulSoup
(
response
.
text
,
'lxml'
)
quotes
=
soup
.
find_all
(
"a"
,
id
=
"im"
)
arg_result
.
append
(
quotes
[
0
]
.
get
(
"href"
)
)





Тоже, можно через регулярки

kin4stat
24.11.2021, 14:57
Есть ли нормальный способ парсить HTML (в особенности "href" в теге "a")?

Типа такого, только на C++:

Python:






# link - html документ
response
=
requests
.
get
(
link
)
soup
=
BeautifulSoup
(
response
.
text
,
'lxml'
)
quotes
=
soup
.
find_all
(
"a"
,
id
=
"im"
)
arg_result
.
append
(
quotes
[
0
]
.
get
(
"href"
)
)






GitHub - lexborisov/myhtml: Fast C/C++ HTML 5 Parser. Using threads. (https://github.com/lexborisov/myhtml)

Fast C/C++ HTML 5 Parser. Using threads. Contribute to lexborisov/myhtml development by creating an account on GitHub.

github.com

Apsapeh
24.11.2021, 19:38
GitHub - lexborisov/myhtml: Fast C/C++ HTML 5 Parser. Using threads. (https://github.com/lexborisov/myhtml)

Fast C/C++ HTML 5 Parser. Using threads. Contribute to lexborisov/myhtml development by creating an account on GitHub.

github.com



Спасибо



Терпения нету уже!!!
Парсю Json с помощью boost - Крашит Гта.



















Попробуй через это (https://github.com/nlohmann/json) парсить

EclipsedFlow
26.11.2021, 00:46
ASI: Как можно сделать имитацию клавиш? (keybd_event не подходит), на подобие SF - (SF->getGame()->emulateGTAKey(key, state))

F0RQU1N and
26.11.2021, 02:36
ASI: Как можно сделать имитацию клавиш? (keybd_event не подходит), на подобие SF - (SF->getGame()->emulateGTAKey(key, state))


В плагин сдк вроде бы есть функа такая

EclipsedFlow
26.11.2021, 02:39
В плагин сдк вроде бы есть функа такая


Искал дружище, CPed, CPad - не нашёл

F0RQU1N and
26.11.2021, 05:33
Искал дружище, CPed, CPad - не нашёл


А причем тут cped?

EclipsedFlow
26.11.2021, 09:19
А причем тут cped?


Я предполагал где эта функция может быть

AdCKuY_DpO4uLa
26.11.2021, 17:08
ASI: Как можно сделать имитацию клавиш? (keybd_event не подходит), на подобие SF - (SF->getGame()->emulateGTAKey(key, state))



C++:






#pragma pack(push, 1)
class
CKeyboardState
{
public
:
short
FKeys
[
12
]
;
short
standardKeys
[
256
]
;
short
esc
;
short
insert
;
short
del
;
short
home
;
short
end
;
short
pgup
;
short
pgdn
;
short
up
;
short
down
;
short
left
;
short
right
;
short
scroll
;
short
pause
;
short
numlock
;
short
div
;
short
mul
;
short
sub
;
short
add
;
short
enter
;
short
decimal
;
short
num1
;
short
num2
;
short
num3
;
short
num4
;
short
num5
;
short
num6
;
short
num7
;
short
num8
;
short
num9
;
short
num0
;
short
back
;
short
tab
;
short
capslock
;
short
extenter
;
short
lshift
;
short
rshift
;
short
shift
;
short
lctrl
;
short
rctrl
;
short
lmenu
;
short
rmenu
;
short
lwin
;
short
rwin
;
short
apps
;
}
;
#pragma pack(pop)
(
*
(
CKeyboardState
*
)
0xB73190
)
.
up
=
255
;

kin4stat
26.11.2021, 17:25
Искал дружище, CPed, CPad - не нашёл


да ну

plugin-sdk/plugin_sa/game_sa/CPad.h at 998e2c57dbd313c34e5c943f4805e9088700ff01 · DK22Pac/plugin-sdk (https://github.com/DK22Pac/plugin-sdk/blob/998e2c57dbd313c34e5c943f4805e9088700ff01/plugin_sa/game_sa/CPad.h#L68)

An SDK for developing ASI/CLEO plugins for GTA San Andreas, GTA Vice City and GTA III - DK22Pac/plugin-sdk

github.com


plugin-sdk/plugin_sa/game_sa/CPad.cpp at 998e2c57dbd313c34e5c943f4805e9088700ff01 · DK22Pac/plugin-sdk (https://github.com/DK22Pac/plugin-sdk/blob/998e2c57dbd313c34e5c943f4805e9088700ff01/plugin_sa/game_sa/CPad.cpp#L13)

An SDK for developing ASI/CLEO plugins for GTA San Andreas, GTA Vice City and GTA III - DK22Pac/plugin-sdk

github.com

0xff
28.11.2021, 13:10
Как можно сделать автоматический перезапуск SA:MP после краша? Мне бы хотя бы теоретически понять как это должно работать 😅

CleanLegend
28.11.2021, 13:20
Как можно сделать автоматический перезапуск SA:MP после краша? Мне бы хотя бы теоретически понять как это должно работать 😅


Регаешь свой обработчик исключений, либо хукаешь самповский для проверки на краш, после вызываешь CreateProcess с параметрами как у лаунчера и закрываешь текущий процесс

legendabrn
28.11.2021, 14:10
Регаешь свой обработчик исключений, либо хукаешь самповский для проверки на краш, после вызываешь CreateProcess с параметрами как у лаунчера и закрываешь текущий процесс


забыл сказать про инжект samp.dll

LLIKOJIbHUK
29.11.2021, 14:15
Чё делать, если программа не распознает кириллицу?

Если друг кто не понял, то я имел ввиду кириллицу, которую я вывожу как текст

legendabrn
29.11.2021, 15:38
Чё делать, если программа не распознает кириллицу?

Если друг кто не понял, то я имел ввиду кириллицу, которую я вывожу как текст


консольное приложение ?

LLIKOJIbHUK
29.11.2021, 15:39
консольное приложение ?


Да

legendabrn
29.11.2021, 15:48
Да


setlocale (LC_ALL, "Russian");

LLIKOJIbHUK
29.11.2021, 16:18
setlocale (LC_ALL, "Russian");


Я так понимаю - это к конкретному коду пойдет. А можно ли сделать, чтобы это по умолчанию стояло везде?

PanSeek
29.11.2021, 16:29
Я так понимаю - это к конкретному коду пойдет. А можно ли сделать, чтобы это по умолчанию стояло везде?


Насколько знаю - нет. Это занимает одну строчку + один инклюд. Вроде ничего страшного..

C++:





[CODE]
#include
#include
int
main
(
)
{
setlocale
(
LC_ALL
,
"Russian"
)
;
std
::
cout



Если ты не про консоль, то гугли, обычно ответ находится на поверхности.

UPD: Можно еще изменить шрифт консоли.

LLIKOJIbHUK
29.11.2021, 17:06
setlocale (LC_ALL, "Russian");



[QUOTE="PanSeek"]

Насколько знаю - нет. Это занимает одну строчку + один инклюд. Вроде ничего страшного..

C++:





[CODE]
#include
#include
int
main
(
)
{
setlocale
(
LC_ALL
,
"Russian"
)
;
std
::
cout

C++:





[CODE]
#include
#include
int
main
(
)
{
setlocale
(
LC_ALL
,
"Russian"
)
;
std
::
cout



Р?С?РёР?РчС'

Press any key to continue . . .

бля, чет не пашет

legendabrn
29.11.2021, 17:35
[QUOTE="LLIKOJIbHUK"]

Хорошо, пусть будет. Спасибо всем

C++:





[CODE]
#include
#include
int
main
(
)
{
setlocale
(
LC_ALL
,
"Russian"
)
;
std
::
cout

https://forum.antichat.xyz/attachments/27900003/

LLIKOJIbHUK
29.11.2021, 17:37
блэт, и че делать? мб кодировку какую-то надо, как в луа?

kin4stat
29.11.2021, 18:24
В этом классе есть прыжок, я что-то не нашёл?

GTASA/Engine/CKeyboardState.h at master · jte/GTASA (https://github.com/jte/GTASA/blob/master/Engine/CKeyboardState.h)

Contribute to jte/GTASA development by creating an account on GitHub.

github.com



Бля у вас плюсеров начинающих в одно ухо влетело из другого вылетело чтоль?



да ну

plugin-sdk/plugin_sa/game_sa/CPad.h at 998e2c57dbd313c34e5c943f4805e9088700ff01 · DK22Pac/plugin-sdk (https://github.com/DK22Pac/plugin-sdk/blob/998e2c57dbd313c34e5c943f4805e9088700ff01/plugin_sa/game_sa/CPad.h#L68)

An SDK for developing ASI/CLEO plugins for GTA San Andreas, GTA Vice City and GTA III - DK22Pac/plugin-sdk

github.com


plugin-sdk/plugin_sa/game_sa/CPad.cpp at 998e2c57dbd313c34e5c943f4805e9088700ff01 · DK22Pac/plugin-sdk (https://github.com/DK22Pac/plugin-sdk/blob/998e2c57dbd313c34e5c943f4805e9088700ff01/plugin_sa/game_sa/CPad.cpp#L13)

An SDK for developing ASI/CLEO plugins for GTA San Andreas, GTA Vice City and GTA III - DK22Pac/plugin-sdk

github.com




plugin-sdk/plugin_sa/game_sa/CPad.h at 998e2c57dbd313c34e5c943f4805e9088700ff01 · DK22Pac/plugin-sdk (https://github.com/DK22Pac/plugin-sdk/blob/998e2c57dbd313c34e5c943f4805e9088700ff01/plugin_sa/game_sa/CPad.h#L32)

An SDK for developing ASI/CLEO plugins for GTA San Andreas, GTA Vice City and GTA III - DK22Pac/plugin-sdk

github.com

LLIKOJIbHUK
29.11.2021, 18:27
@kin4stat (https://www.blast.hk/members/161331/) спаси и меня плез, я тоже начинающий.

[QUOTE="LLIKOJIbHUK"]

C++:





[CODE]
#include
#include
int
main
(
)
{
setlocale
(
LC_ALL
,
"Russian"
)
;
std
::
cout

AdCKuY_DpO4uLa
29.11.2021, 19:20
так попробуй

C++:





[CODE]
#include
#include
int
main
(
)
{
setlocale
(
LC_ALL
,
"ru"
)
;
std
::
cout

LLIKOJIbHUK
29.11.2021, 19:39
[QUOTE="AdCKuY_DpO4uLa"]

так попробуй

C++:





[CODE]
#include
#include
int
main
(
)
{
setlocale
(
LC_ALL
,
"ru"
)
;
std
::
cout

https://forum.antichat.xyz/attachments/27900115/

Такая херня у меня вылезала, когда я где-то кирилличную букву поставил там где не надо...

Видимо это что-то с того розряда

EclipsedFlow
29.11.2021, 19:46
Такая херня у меня вылезала, когда я где-то кирилличную букву поставил там где не надо...
Видимо это что-то с того розряда


Тебе лучше Visual Studio установить, а не Visual Studio Code

Code предназначен для редактирование исходного кода, а Visual Studio так-же и будет тебе его компилировать

Вроде так

LLIKOJIbHUK
29.11.2021, 19:49
Тебе лучше Visual Studio установить, а не Visual Studio Code
Code предназначен для редактирование исходного кода, а Visual Studio так-же и будет тебе его компилировать


Это помойка тупая. Я там даже не нашел экран, который в вск захерачили прям у меня перед глазами

sc6ut
29.11.2021, 19:51
Это помойка тупая.


если у тебя извилин не хватает чтобы разобраться в интерфейсе программы, это значит не она помойка, а ты долбаеб

etereon
29.11.2021, 19:54
Я там даже не нашел экран, который в вск захерачили прям у меня перед глазами


Это диагноз.

LLIKOJIbHUK
29.11.2021, 19:56
Это диагноз.





Попробую.

Братан, я если че могу не сильно блестать умом в этом плане, но это какая-то полная ***ня))) в вск я хоть код мог писать. тут у меня просто черный экран

Тем временем, программу я починил. Надо было просто убрать кириллицу


Если ты можешь не только пиздеть, то найди мне тут кнопку создания.

Как по мне это так же тупо. как и менять велосипед, если в том, что есть сорвалась цепь и ты хз как её установить назад

etereon
29.11.2021, 20:03
Если ты можешь не только пиздеть, то найди мне тут кнопку создания.

Как по мне это так же тупо. как и менять велосипед, если в том, что есть сорвалась цепь и ты хз как её установить назад


Компьютер в окно выкинь, если ты файл на компьютере создать не можешь в стандартном для всех программ интерфейсе и иди цепи на велосипедах меняй

https://forum.antichat.xyz/attachments/27900138/

0xff
29.11.2021, 21:26
Допустим есть функция CPhysical::ProcessControl, хочу её хукнуть. Вопрос: Как я в хуке могу узнать адрес откуда она была вызвана?

CleanLegend
29.11.2021, 21:37
Допустим есть функция CPhysical::ProcessControl, хочу её хукнуть. Вопрос: Как я в хуке могу узнать адрес откуда она была вызвана?


_ReturnAddress()

Foxy01
30.11.2021, 12:26
Что делает данный код?



3N7Jyg-LQHA.jpgFoxy01 · 30 Ноя 2021 в 11:26' data-fancybox="lb-post-900587" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/124542/" style="cursor: pointer;" title="3N7Jyg-LQHA.jpg">
https://forum.antichat.xyz/attachments/27900587/

kin4stat
30.11.2021, 12:39
Что делает данный код?







Компилируется, потом бинарник исполняется

F0RQU1N and
30.11.2021, 12:46
Что делает данный код?







ну вообще ничего

Dark_Knight
01.12.2021, 21:34
Если ты можешь не только пиздеть, то найди мне тут кнопку создания.

Как по мне это так же тупо. как и менять велосипед, если в том, что есть сорвалась цепь и ты хз как её установить назад


А теперь возьми и засними нам видео, как ты это все делаешь. Хоть ВС, хоть ВСК и мы посмотрим, кто из нас тут долбоеб.

Rei
01.12.2021, 21:53
Если ты можешь не только пиздеть, то найди мне тут кнопку создания.

Как по мне это так же тупо. как и менять велосипед, если в том, что есть сорвалась цепь и ты хз как её установить назад


ты вместо велосипеда решил взять ссаное моноколесо и спрашиваешь у велосипедистов как на нем ехать. поставь визуалку, школьник, не упрямься

LLIKOJIbHUK
01.12.2021, 23:33
ты вместо велосипеда решил взять ссаное моноколесо и спрашиваешь у велосипедистов как на нем ехать. поставь визуалку, школьник, не упрямься


Уже поставил (точнее это было еще несколько дней назад). Создал новый проект, но сразу после создания мне прям блевать захотелось от донного интерфейса программы. На вск хоть смотреть приятно, а это помойка, которая дизайном застряла в 2010 году.

P.s.: не могу поспорить, что это плохая программа (в понимании среды), но в плане геймплея помойка еще та

Rei
02.12.2021, 00:38
Уже поставил (точнее это было еще несколько дней назад). Создал новый проект, но сразу после создания мне прям блевать захотелось от донного интерфейса программы. На вск хоть смотреть приятно, а это помойка, которая дизайном застряла в 2010 году.
P.s.: не могу поспорить, что это плохая программа (в понимании среды), но в плане геймплея помойка еще та


лучше закатать все во вкладочки и создать 1488 хоткеев? это, конечно, очень минималистично и современно, но в подобных инструментах функционал на первом месте. тебе в твоем вс коде вообще придется в терминале дрочиться, чтобы компилить что-то сложнее хелло ворлда

LLIKOJIbHUK
02.12.2021, 00:45
лучше закатать все во вкладочки и создать 1488 хоткеев? это, конечно, очень минималистично и современно, но в подобных инструментах функционал на первом месте. тебе в твоем вс коде вообще придется в терминале дрочиться, чтобы компилить что-то сложнее хелло ворлда


Если мне и будет надо вс, то думаю, что дойду к этому эволюционно во время учения

Vegas
05.12.2021, 22:03
Библиотека FFI для Lua использует язык Си или C++ или это одно и тоже? И как пользоваться FFI если я к примеру хочу взять кусок кода из интернета и всунуть его в свой скрипт?

THERION
05.12.2021, 22:17
Библиотека FFI для Lua использует язык Си или C++?



https://i.imgur.com/VVtYJk6.png



язык Си или C++ это одно и тоже?


Нет



я к примеру хочу взять кусок кода из интернета и всунуть его в свой скрипт?


CTRL + C - копировать, CTRL + V - вставить

F0RQU1N and
06.12.2021, 10:07
помойка


Может, ты тупой? У них схож дизайн.

LaRossa
07.12.2021, 20:35
Привет не могу нажать на TextDraw, хук его ловит, мол появился, я отправляю через RPC клик на него, но ничего не происходит.

Вот это не работает.

C++:






selectTextDraw
(
428
)
;
void
selectTextDraw
(
int
iTextDrawID
)
{
RakNet
::
BitStream bsSend
;
bsSend
.
Write
(
iTextDrawID
)
;
pRakClient
->
RPC
(
&
RPC_ClickTextDraw
,
&
bsSend
,
HIGH_PRIORITY
,
RELIABLE_ORDERED
,
0
,
FALSE
,
UNASSIGNED_NETWORK_ID
,
NULL
)
;
}




Пробую тоже самое сделать через SF API все работает.

C++:






SF
->
getSAMP
(
)
->
sendClickTextDraw
(
428
)
;




В чём может быть подвох ?

CleanLegend
07.12.2021, 23:26
Привет не могу нажать на TextDraw, хук его ловит, мол появился, я отправляю через RPC клик на него, но ничего не происходит.

Вот это не работает.

C++:






selectTextDraw
(
428
)
;
void
selectTextDraw
(
int
iTextDrawID
)
{
RakNet
::
BitStream bsSend
;
bsSend
.
Write
(
iTextDrawID
)
;
pRakClient
->
RPC
(
&
RPC_ClickTextDraw
,
&
bsSend
,
HIGH_PRIORITY
,
RELIABLE_ORDERED
,
0
,
FALSE
,
UNASSIGNED_NETWORK_ID
,
NULL
)
;
}




Пробую тоже самое сделать через SF API все работает.

C++:






SF
->
getSAMP
(
)
->
sendClickTextDraw
(
428
)
;




В чём может быть подвох ?


попробуй вместо int поставить uint16_t

LaRossa
08.12.2021, 00:16
попробуй вместо int поставить uint16_t


Пробовал, результат тот же

Dark_Knight
08.12.2021, 01:21
Пробовал, результат тот же


Там вроде uint8_t

RTD
08.12.2021, 01:27
Привет не могу нажать на TextDraw, хук его ловит, мол появился, я отправляю через RPC клик на него, но ничего не происходит.

Вот это не работает.

C++:






selectTextDraw
(
428
)
;
void
selectTextDraw
(
int
iTextDrawID
)
{
RakNet
::
BitStream bsSend
;
bsSend
.
Write
(
iTextDrawID
)
;
pRakClient
->
RPC
(
&
RPC_ClickTextDraw
,
&
bsSend
,
HIGH_PRIORITY
,
RELIABLE_ORDERED
,
0
,
FALSE
,
UNASSIGNED_NETWORK_ID
,
NULL
)
;
}




Пробую тоже самое сделать через SF API все работает.

C++:






SF
->
getSAMP
(
)
->
sendClickTextDraw
(
428
)
;




В чём может быть подвох ?


Судя по параметрам, ты не тот RPC вызываешь(а их там 3, работает только 1 насколько помню)

RakLua/src/MoonFunctions.hpp at master · Northn/RakLua (https://github.com/Northn/RakLua/blob/master/src/MoonFunctions.hpp#L241)

Contribute to Northn/RakLua development by creating an account on GitHub.

github.com


RakLua/src/RakLuaBitStream.cpp at master · Northn/RakLua (https://github.com/Northn/RakLua/blob/master/src/RakLuaBitStream.cpp#L272)

Contribute to Northn/RakLua development by creating an account on GitHub.

github.com

LaRossa
08.12.2021, 17:00
Судя по параметрам, ты не тот RPC вызываешь(а их там 3, работает только 1 насколько помню)

RakLua/src/MoonFunctions.hpp at master · Northn/RakLua (https://github.com/Northn/RakLua/blob/master/src/MoonFunctions.hpp#L241)

Contribute to Northn/RakLua development by creating an account on GitHub.

github.com


RakLua/src/RakLuaBitStream.cpp at master · Northn/RakLua (https://github.com/Northn/RakLua/blob/master/src/RakLuaBitStream.cpp#L272)

Contribute to Northn/RakLua development by creating an account on GitHub.

github.com



Какой из этих лучше использовать ? Я использую второй

C++:






bool
RPC
(
int
*
uniqueID
,
const
char
*
data
,
unsigned
int
bitLength
,
PacketPriority priority
,
PacketReliability reliability
,
char
orderingChannel
,
bool
shiftTimestamp
,
NetworkID networkID
,
RakNet
::
BitStream
*
replyFromTarget
)
;
bool
RPC
(
int
*
uniqueID
,
RakNet
::
BitStream
*
bitStream
,
PacketPriority priority
,
PacketReliability reliability
,
char
orderingChannel
,
bool
shiftTimestamp
,
NetworkID networkID
,
RakNet
::
BitStream
*
replyFromTarget
)
;
bool
RakClient
::
RPC
(
int
*
uniqueID
,
const
char
*
data
,
unsigned
int
bitLength
,
PacketPriority priority
,
PacketReliability reliability
,
char
orderingChannel
,
bool
shiftTimestamp
,
NetworkID networkID
,
RakNet
::
BitStream
*
replyFromTarget
)
{
if
(
remoteSystemList
==
0
)
return
false
;
return
RakPeer
::
RPC
(
uniqueID
,
data
,
bitLength
,
priority
,
reliability
,
orderingChannel
,
remoteSystemList
[
0
]
.
playerId
,
false
,
shiftTimestamp
,
networkID
,
replyFromTarget
)
;
}
bool
RakClient
::
RPC
(
int
*
uniqueID
,
RakNet
::
BitStream
*
parameters
,
PacketPriority priority
,
PacketReliability reliability
,
char
orderingChannel
,
bool
shiftTimestamp
,
NetworkID networkID
,
RakNet
::
BitStream
*
replyFromTarget
)
{
if
(
remoteSystemList
==
0
)
return
false
;
return
RakPeer
::
RPC
(
uniqueID
,
parameters
,
priority
,
reliability
,
orderingChannel
,
remoteSystemList
[
0
]
.
playerId
,
false
,
shiftTimestamp
,
networkID
,
replyFromTarget
)
;
}

RTD
08.12.2021, 19:12
Какой из этих лучше использовать ? Я использую второй

C++:






bool
RPC
(
int
*
uniqueID
,
const
char
*
data
,
unsigned
int
bitLength
,
PacketPriority priority
,
PacketReliability reliability
,
char
orderingChannel
,
bool
shiftTimestamp
,
NetworkID networkID
,
RakNet
::
BitStream
*
replyFromTarget
)
;
bool
RPC
(
int
*
uniqueID
,
RakNet
::
BitStream
*
bitStream
,
PacketPriority priority
,
PacketReliability reliability
,
char
orderingChannel
,
bool
shiftTimestamp
,
NetworkID networkID
,
RakNet
::
BitStream
*
replyFromTarget
)
;
bool
RakClient
::
RPC
(
int
*
uniqueID
,
const
char
*
data
,
unsigned
int
bitLength
,
PacketPriority priority
,
PacketReliability reliability
,
char
orderingChannel
,
bool
shiftTimestamp
,
NetworkID networkID
,
RakNet
::
BitStream
*
replyFromTarget
)
{
if
(
remoteSystemList
==
0
)
return
false
;
return
RakPeer
::
RPC
(
uniqueID
,
data
,
bitLength
,
priority
,
reliability
,
orderingChannel
,
remoteSystemList
[
0
]
.
playerId
,
false
,
shiftTimestamp
,
networkID
,
replyFromTarget
)
;
}
bool
RakClient
::
RPC
(
int
*
uniqueID
,
RakNet
::
BitStream
*
parameters
,
PacketPriority priority
,
PacketReliability reliability
,
char
orderingChannel
,
bool
shiftTimestamp
,
NetworkID networkID
,
RakNet
::
BitStream
*
replyFromTarget
)
{
if
(
remoteSystemList
==
0
)
return
false
;
return
RakPeer
::
RPC
(
uniqueID
,
parameters
,
priority
,
reliability
,
orderingChannel
,
remoteSystemList
[
0
]
.
playerId
,
false
,
shiftTimestamp
,
networkID
,
replyFromTarget
)
;
}





Где ты такой ракклиент нашел? Возьми тот что Нортона

astmer
08.12.2021, 23:03
Привет, как преобразовать char c_array[128] = { 56 58 15 } в uint8_t u_array[] = { 0x56, 0x58, 0x15 }

kin4stat
08.12.2021, 23:29
Привет, как преобразовать char c_array[128] = { 56 58 15 } в uint8_t u_array[] = { 0x56, 0x58, 0x15 }



Код:






static_assert(sizeof(u_array) == sizeof(c_array))
std::memcpy(u_array, c_array, sizeof(c_array))

sc6ut
09.12.2021, 00:22
Привет, как преобразовать char c_array[128] = { 56 58 15 } в uint8_t u_array[] = { 0x56, 0x58, 0x15 }



C++:






std
::
memcpy
(
byte_array
,
char_array
,
sizeof
(
char_array
)
)
;
for
(
auto
&&
i
:
byte_array
)
{
long
long
dec
=
0
;
std
::
istringstream
(
std
::
to_string
(
i
)
)
>>
std
::
hex
>>
dec
;
i
=
dec
;
}






Код:






static_assert(sizeof(u_array) == sizeof(c_array))
std::memcpy(u_array, c_array, sizeof(c_array))





56 не равно 0x56.



{ 56 58 15 } ... в ... { 0x56, 0x58, 0x15 }

0xff
11.12.2021, 18:47
как в теории работает чит-функция "инвиз" ? Что-то отключается в синхронизации?

FuckingSlave
14.12.2021, 10:37
В каком компиляторе и на каком языке лучше всего писать соббейт для самп мобайл, и что для этого нужно?

благодарю за помощь сразу

memir
14.12.2021, 13:45
Уже поставил (точнее это было еще несколько дней назад). Создал новый проект, но сразу после создания мне прям блевать захотелось от донного интерфейса программы. На вск хоть смотреть приятно, а это помойка, которая дизайном застряла в 2010 году.
P.s.: не могу поспорить, что это плохая программа (в понимании среды), но в плане геймплея помойка еще та


CMake поставь и пользуйся вскодом

мистер вселенная
15.12.2021, 00:51
C2440 =: невозможно преобразовать "CarPlateRasters *" в "RwTexture *"

C2440 =: невозможно преобразовать "PlateMaterials *" в "RpMaterial *"

Выделил строчки, где ошибка.

C++:






bool
__thiscall Vehicle
::
CustomCarPlateTextureCreate
(
CVehicle
*
instance
,
CVehicleModelInfo
*
model
)
{
[
B
]
instance
->
m_pCustomCarPlate
=
new
CarPlateRasters
(
)
;
[
/
B
]
return
true
;
}




C++:






void
__thiscall VehicleModelInfo
::
SetCarCustomPlate
(
CVehicleModelInfo
*
instance
)
{
if
(
instance
->
m_pPlateMaterial
)
{
PlateMaterials
*
plateMaterials
=
reinterpret_cast

(
instance
->
m_pPlateMaterial
)
;
delete
plateMaterials
;
}
instance
->
m_pPlateMaterial
=
nullptr
;
instance
->
m_szPlateText
[
0
]
=
0
;
instance
->
m_nPlateType
=
-
1
;
if
(
PlateMaterials
*
plateMaterials
=
CustomCarPlateManager
::
SetupClump
(
reinterpret_cast

(
instance
->
m_pRwObject
)
)
;
plateMaterials
)
{
[
B
]
instance
->
m_pPlateMaterial
=
plateMaterials
;
[
/
B
]
}
}

kin4stat
15.12.2021, 02:13
C2440 =: невозможно преобразовать "CarPlateRasters *" в "RwTexture *"
C2440 =: невозможно преобразовать "PlateMaterials *" в "RpMaterial *"

Выделил строчки, где ошибка.

C++:






bool
__thiscall Vehicle
::
CustomCarPlateTextureCreate
(
CVehicle
*
instance
,
CVehicleModelInfo
*
model
)
{
[
B
]
instance
->
m_pCustomCarPlate
=
new
CarPlateRasters
(
)
;
[
/
B
]
return
true
;
}




C++:






void
__thiscall VehicleModelInfo
::
SetCarCustomPlate
(
CVehicleModelInfo
*
instance
)
{
if
(
instance
->
m_pPlateMaterial
)
{
PlateMaterials
*
plateMaterials
=
reinterpret_cast

(
instance
->
m_pPlateMaterial
)
;
delete
plateMaterials
;
}
instance
->
m_pPlateMaterial
=
nullptr
;
instance
->
m_szPlateText
[
0
]
=
0
;
instance
->
m_nPlateType
=
-
1
;
if
(
PlateMaterials
*
plateMaterials
=
CustomCarPlateManager
::
SetupClump
(
reinterpret_cast

(
instance
->
m_pRwObject
)
)
;
plateMaterials
)
{
[
B
]
instance
->
m_pPlateMaterial
=
plateMaterials
;
[
/
B
]
}
}





Тебе компилятор ошибку указал

Радуйся что не на шаблонах ошибка

мистер вселенная
15.12.2021, 07:57
хау ту фикс ит

MHS Team
16.12.2021, 20:02
как импортировать ИмГуи на андроид?

F0RQU1N and
17.12.2021, 02:08
как импортировать ИмГуи на андроид?


Всм

MHS Team
17.12.2021, 08:13
Всм



Screenshot-20211217-070354 hosted at ImgBB (https://www.blast.hk/redirect/aHR0cHM6Ly9pYmIuY28vdEpzc0pLQg)

Image Screenshot-20211217-070354 hosted on ImgBB

ibb.co

F0RQU1N and
17.12.2021, 10:06
Screenshot-20211217-070354 hosted at ImgBB (https://www.blast.hk/redirect/aHR0cHM6Ly9pYmIuY28vdEpzc0pLQg)

Image Screenshot-20211217-070354 hosted on ImgBB

ibb.co



Это же не имгуй

legendabrn
17.12.2021, 15:12
Это же не имгуй


это имгуй

CleanLegend
17.12.2021, 15:18
как импортировать ИмГуи на андроид?


на офф. репозитории есть примеры https://github.com/ocornut/imgui/tree/master/examples

astmer
18.12.2021, 14:04
Привет, как перевести байты в русский std::wstring?

С английским все окей

Но с русским нет

kin4stat
18.12.2021, 16:44
Но с русским нет


Ты разные адреса смотришь

astmer
18.12.2021, 18:22
Ты разные адреса смотришь


Да, я для примера просто сделал

yung milonov
19.12.2021, 02:05
Как получить ID машины, в которой сидит мой персонаж?

Или же аналог:

Lua:






_
,
id
=
sampGetVehicleIdByCarHandle
(
storeCarCharIsInNoSave
(
PLAYER_PED
)
)

F0RQU1N and
19.12.2021, 04:59
Как получить ID машины, в которой сидит мой персонаж?
Или же аналог:

Lua:






_
,
id
=
sampGetVehicleIdByCarHandle
(
storeCarCharIsInNoSave
(
PLAYER_PED
)
)





Ну можешь в хуке ID_VEHICLE_SYNC получать машину

chapo
22.12.2021, 15:45
1. как получить/изменить список введенных ранее команд и как их изменить/удалить?

2. как хукнуть отправку самповской команды (например /pagesize)?

kin4stat
22.12.2021, 19:16
1. как получить/изменить список введенных ранее команд и как их изменить/удалить?
2. как хукнуть отправку самповской команды (например /pagesize)?


1. https://github.com/BlastHackNet/SAM...ea58f/include/sampapi/0.3.7-R3-1/CInput.h#L28 (https://github.com/BlastHackNet/SAMP-API/blob/93eb1452b0f2b9b8c540604d40e5727fabcea58f/include/sampapi/0.3.7-R3-1/CInput.h#L28)

2.




SAMP-API/CInput.cpp at 93eb1452b0f2b9b8c540604d40e5727fabcea58f · BlastHackNet/SAMP-API (https://github.com/BlastHackNet/SAMP-API/blob/93eb1452b0f2b9b8c540604d40e5727fabcea58f/src/sampapi/0.3.7-R3-1/CInput.cpp#L51)

A library for interacting with functions, classes and structures of SA-MP client - SAMP-API/CInput.cpp at 93eb1452b0f2b9b8c540604d40e5727fabcea58f · BlastHackNet/SAMP-API

github.com


C++:






hook
.
after
+=
[
]
(
CMDPROC
&
return_value
,
const
char
*
&
szName
)
{
if
(
return_value
)
{
// if local command
}
else
{
// unknown command; sends to server
}
}
;




Ну либо можешь изъебнуться тут:

SAMP-API/src/sampapi/0.3.7-R3-1/CInput.cpp at 93eb1452b0f2b9b8c540604d40e5727fabcea58f · BlastHackNet/SAMP-API (https://github.com/BlastHackNet/SAMP-API/blob/93eb1452b0f2b9b8c540604d40e5727fabcea58f/src/sampapi/0.3.7-R3-1/CInput.cpp#L75)

A library for interacting with functions, classes and structures of SA-MP client - BlastHackNet/SAMP-API

github.com

chapo
24.12.2021, 19:08
1.Ваш вопрос: Дайте код для вывода сообщения в чат при запуске САМПА и еще код на активацию по команде


1. В шаблоне плагина уже есть добавление сообщения

1640358411366.pngchapo · 24 Дек 2021 в 18:08' data-fancybox="lb-post-922746" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/128127/" style="cursor: pointer;" title="1640358411366.png">
https://forum.antichat.xyz/attachments/27922746/

2.

C++:






#include
#include "main.h"
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
void
CALLBACK
cmd_callback
(
std
::
string arg
)
{
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"CMD"
)
;
}
void
__stdcall
mainloop
(
)
{
static
bool
initialized
=
false
;
if
(
!
initialized
)
{
if
(
GAME
&&
GAME
->
GetSystemState
(
)
==
eSystemState
::
GS_PLAYING_GAME
&&
SF
->
getSAMP
(
)
->
IsInitialized
(
)
)
{
initialized
=
true
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"SAMPFUNCS Plugin loaded."
)
;
SF
->
getSAMP
(
)
->
registerChatCommand
(
"cmd"
,
cmd_callback
)
;
}
}
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD dwReasonForCall
,
LPVOID lpReserved
)
{
if
(
dwReasonForCall
==
DLL_PROCESS_ATTACH
)
SF
->
initPlugin
(
mainloop
,
hModule
)
;
return
TRUE
;
}

EclipsedFlow
28.12.2021, 16:07
Почему выводит 0? В imgui вывожу через цикл структуры и там заполняются, но не все структуры.

C++:





[CODE]
// Глоб. область
struct
stSeed
{
int
id
;
float
distance
;
CVector position
;
std
::
string seed
;
}
seed
[
SAMP_MAX_3DTEXTS
]
;
// Бессконечный цикл
auto
it
=
*
std
::
min_element
(
std
::
begin
(
seed
)
,
std
::
end
(
seed
)
,
[
]
(
const
stSeed
&
a
,
const
stSeed
&
b
)
{
return
a
.
distance

kin4stat
28.12.2021, 16:12
[QUOTE="Scar_"]

Почему выводит 0? В imgui вывожу через цикл структуры и там заполняются, но не все структуры.

C++:





[CODE]
// Глоб. область
struct
stSeed
{
int
id
;
float
distance
;
CVector position
;
std
::
string seed
;
}
seed
[
SAMP_MAX_3DTEXTS
]
;
// Бессконечный цикл
auto
it
=
*
std
::
min_element
(
std
::
begin
(
seed
)
,
std
::
end
(
seed
)
,
[
]
(
const
stSeed
&
a
,
const
stSeed
&
b
)
{
return
a
.
distance

EclipsedFlow
30.12.2021, 00:01
Как получить угол камеры персонажа? (Радианы или лучше градусы)

Не с помощью SF

Спасибо заранее

ERKYNIS
30.12.2021, 14:52
1. Делаю лаунчер для своего сервера на C# через Visual Studio. Мне нужно запускать прямое подключение к серверу, используя другую директорию игры (которую пользователь может настроить в настройках). Если использовать







C++:






Process
.
Start
(
samp
,
IP_CONNECT
)
;




(у меня в переменных прописан путь к сампу и IP сервера), то запускается гта, которая указана в настройках самого сампа.

memir
30.12.2021, 16:08
1. Делаю лаунчер для своего сервера на C# через Visual Studio. Мне нужно запускать прямое подключение к серверу, используя другую директорию игры (которую пользователь может настроить в настройках). Если использовать







C++:






Process
.
Start
(
samp
,
IP_CONNECT
)
;




(у меня в переменных прописан путь к сампу и IP сервера), то запускается гта, которая указана в настройках самого сампа.


ну тебе аргументы надо в нужном формате к игре прописать, и библиотеку с сампом подгрузить

chapo
30.12.2021, 16:20
Если использовать







C++:






Process
.
Start
(
samp
,
IP_CONNECT
)
;




(у меня в переменных прописан путь к сампу и IP сервера), то запускается гта, которая указана в настройках самого сампа.


потому что самп запускает игру, путь к которой лежит в реестре



Если использовать (у меня в переменных прописан путь к сампу и IP сервера), то запускается гта, которая указана в настройках самого сампа.



C#:





[CODE]
public
void
setSettings
(
string
newpath
)
{
RegistryKey
SAMP
=
Registry
.
CurrentUser
.
OpenSubKey
(
"Software\\SAMP"
,
true
)
;
if
(
SAMP
!=
null
)
{
object
savepath
=
newpath
;
SAMP
.
SetValue
(
"gta_sa_exe"
,
newpath
)
;
}
}
public
string
getSettings
(
)
{
string
path
;
RegistryKey
SAMP
=
Registry
.
CurrentUser
.
OpenSubKey
(
"Software\\SAMP"
)
;
if
(
SAMP
!=
null
)
{
object
SAMP_path
=
SAMP
.
GetValue
(
"gta_sa_exe"
)
;
path
=
Convert
.
ToString
(
SAMP_path
)
;
}
return
path
;
}
private
void
play_Click
(
object
sender
,
EventArgs
e
)
{
if
(
nickname
.
Text
.
Length
>
2
&&
nickname
.
Text
.
Length

[w0te]
08.01.2022, 02:15
Привет, попытался выдать себе HP, почему так не работает? компилятор не жалуется.

2:






DWORD CPed
=
0xB6F5F0
;
ReadProcessMemory
(
handle
,
(
PBYTE
*
)
CPed
+
0x540
,
&
Read
,
sizeof
(
Read
)
,
0
)
;
WriteProcessMemory
(
handle
,
(
LPVOID
)
CPed
,
&
NewValue
,
sizeof
(
NewValue
)
,
0
)
;




Всё работает но HP не выдаются, сервер HMS.

sc6ut
08.01.2022, 02:26
"]

Привет, попытался выдать себе HP, почему так не работает? компилятор не жалуется.

2:






DWORD CPed
=
0xB6F5F0
;
ReadProcessMemory
(
handle
,
(
PBYTE
*
)
CPed
+
0x540
,
&
Read
,
sizeof
(
Read
)
,
0
)
;
WriteProcessMemory
(
handle
,
(
LPVOID
)
CPed
,
&
NewValue
,
sizeof
(
NewValue
)
,
0
)
;




Всё работает но HP не выдаются, сервер HMS.


1. что ты делаешь это пиздец

2. сними протект

3. в 0xB6F5F0 хранится указатель на cped а не сам cped

4. что делает твой код только сам бог знает, хп он не меняет так точно

5. есть статичный адресс можешь юзать его (0xB793E0), тебе будет проще и нам тоже

6. разберись что какая функция делает перед тем писать ее в свой код

7. разберись и подумай что тебе надо сделать чтобы выставить значение хп

8. используй google

9. не насилуй код тем что не понимаешь

10. https://gtamods.com/wiki/Memory_Addresses_(SA) (https://www.blast.hk/redirect/aHR0cHM6Ly9ndGFtb2RzLmNvbS93aWtpL01lbW9yeV9BZGRyZX NzZXNfKFNBKQ)

11. если трахнул извини

kin4stat
08.01.2022, 03:57
2. сними протект





6. разберись что какая функция делает перед тем писать ее в свой код


автору желаю выучить матчасть

[w0te]
08.01.2022, 04:10
автору желаю выучить матчасть


Вы кому?

frosjkee
09.01.2022, 23:14
дайте указатель на setplayerpos для r3

thelupa1488
13.01.2022, 22:24
Всем привет, сделал показ информации о игроках которые на сервере (id, ping, score, name),

но на некоторых игроках пишет вместо ника, иероглифы.




C++:






RemotePlayer
[
i
]
.
id
=
i
;
RemotePlayer
[
i
]
.
ping
=
readMem

(
Memory
.
RemotePlayer_PTR
+
0x28
)
;
RemotePlayer
[
i
]
.
score
=
readMem

(
Memory
.
RemotePlayer_PTR
+
0x24
)
;
RemotePlayer
[
i
]
.
isNpc
=
readMem

(
Memory
.
RemotePlayer_PTR
+
0x4
)
;
char
remote_name
[
32
]
;
DWORD oldProtect
=
0
;
DWORD Address
=
Memory
.
RemotePlayer_PTR
+
0xC
;
VirtualProtectEx
(
Memory
.
processHandle
,
(
void
*
)
Address
,
sizeof
(
remote_name
)
,
PAGE_EXECUTE_READWRITE
,
&
oldProtect
)
;
ReadProcessMemory
(
Memory
.
processHandle
,
(
LPVOID
)
(
Address
)
,
&
remote_name
,
sizeof
(
remote_name
)
,
NULL
)
;
VirtualProtectEx
(
Memory
.
processHandle
,
(
void
*
)
Address
,
sizeof
(
remote_name
)
,
oldProtect
,
NULL
)
;
RemotePlayer
[
i
]
.
name
=
remote_name
;
RemotePlayer
[
i
]
.
address
=
Memory
.
RemotePlayer_PTR
;









C++:






int
player
=
MenuFunction
.
test
;
if
(
player
>
REDFIRE_MAX_PLAYER
||
player








C++:





[CODE]
void
DrawStrokeText
(
int
x
,
int
y
,
RGBA
*
color
,
const
char
*
str
)
{
ImFont a
;
std
::
string utf_8_1
=
std
::
string
(
str
)
;
std
::
string utf_8_2
=
string_To_UTF8
(
utf_8_1
)
;
ImGui
::
GetForegroundDrawList
(
)
->
AddText
(
ImVec2
(
x
,
y
-
1
)
,
ImGui
::
ColorConvertFloat4ToU32
(
ImVec4
(
1
/
255.0
,
1
/
255.0
,
1
/
255.0
,
255
/
255.0
)
)
,
utf_8_2
.
c_str
(
)
)
;
ImGui
::
GetForegroundDrawList
(
)
->
AddText
(
ImVec2
(
x
,
y
+
1
)
,
ImGui
::
ColorConvertFloat4ToU32
(
ImVec4
(
1
/
255.0
,
1
/
255.0
,
1
/
255.0
,
255
/
255.0
)
)
,
utf_8_2
.
c_str
(
)
)
;
ImGui
::
GetForegroundDrawList
(
)
->
AddText
(
ImVec2
(
x
-
1
,
y
)
,
ImGui
::
ColorConvertFloat4ToU32
(
ImVec4
(
1
/
255.0
,
1
/
255.0
,
1
/
255.0
,
255
/
255.0
)
)
,
utf_8_2
.
c_str
(
)
)
;
ImGui
::
GetForegroundDrawList
(
)
->
AddText
(
ImVec2
(
x
+
1
,
y
)
,
ImGui
::
ColorConvertFloat4ToU32
(
ImVec4
(
1
/
255.0
,
1
/
255.0
,
1
/
255.0
,
255
/
255.0
)
)
,
utf_8_2
.
c_str
(
)
)
;
ImGui
::
GetForegroundDrawList
(
)
->
AddText
(
ImVec2
(
x
,
y
)
,
ImGui
::
ColorConvertFloat4ToU32
(
ImVec4
(
color
->
R
/
255.0
,
color
->
G
/
255.0
,
color
->
B
/
255.0
,
color
->
A
/
255.0
)
)
,
utf_8_2
.
c_str
(
)
)
;
}










C++:






std
::
string
string_To_UTF8
(
const
std
::
string
&
str
)
{
int
nwLen
=
::
MultiByteToWideChar
(
CP_ACP
,
0
,
str
.
c_str
(
)
,
-
1
,
NULL
,
0
)
;
wchar_t
*
pwBuf
=
new
wchar_t
[
nwLen
+
1
]
;
ZeroMemory
(
pwBuf
,
nwLen
*
2
+
2
)
;
::
MultiByteToWideChar
(
CP_ACP
,
0
,
str
.
c_str
(
)
,
str
.
length
(
)
,
pwBuf
,
nwLen
)
;
int
nLen
=
::
WideCharToMultiByte
(
CP_UTF8
,
0
,
pwBuf
,
-
1
,
NULL
,
NULL
,
NULL
,
NULL
)
;
char
*
pBuf
=
new
char
[
nLen
+
1
]
;
ZeroMemory
(
pBuf
,
nLen
+
1
)
;
::
WideCharToMultiByte
(
CP_UTF8
,
0
,
pwBuf
,
nwLen
,
pBuf
,
nLen
,
NULL
,
NULL
)
;
std
::
string
retStr
(
pBuf
)
;
delete
[
]
pwBuf
;
delete
[
]
pBuf
;
pwBuf
=
NULL
;
pBuf
=
NULL
;
return
retStr
;
}







https://forum.antichat.xyz/attachments/27942983/

https://forum.antichat.xyz/attachments/27942983/

THERION
19.01.2022, 00:38
Кто уже смешарик, дайте, пожалуйста, ответ на глупый вопрос. Какой патч процессор (x86) выполнит быстрее:

1. Блок NOP'ов (Длиной 58 к примеру)

2. Прыжок c начала такого блока в его конец

kin4stat
19.01.2022, 11:51
Кто уже смешарик, дайте, пожалуйста, ответ на глупый вопрос. Какой патч процессор (x86) выполнит быстрее:
1. Блок NOP'ов (Длиной 58 к примеру)
2. Прыжок c начала такого блока в его конец


NOP’ы это xchg eax, eax; ~3 такта

jump зависит от контекста, но безусловный прыжок почти бесплатный, если инструкции в кеш подгружены в кеш. Прыжок должен быть выгоднее наверное

Rafaelofff
19.01.2022, 18:48
Как найти координаты объекта по его id? (Asi)

kin4stat
19.01.2022, 20:07
Как найти координаты объекта по его id? (Asi)


sampapi::v037r3::RefNetGame()->GetObjectPool()->Get(id)->m_pPosition

Rafaelofff
19.01.2022, 20:42
sampapi::v037r3::RefNetGame()->GetObjectPool()->Get(id)->m_pPosition


Дай плз ссылку на этот самп апи

Apsapeh
19.01.2022, 21:37
Вопрос: Есть ли способ эмуляции клика мыши в игровом окне, mouse_event() не работает?

kin4stat
19.01.2022, 22:09
А шо имеется способ получения своего ника?
samp::CLocalPlayer().m_szName - пустота, samp::CPlayerPool().GetLocalPlayerName() - крашит




sampapi::v037r3::RefNetGame()->GetPlayerPool()->GetLocalPlayerName()

Rafaelofff
20.01.2022, 10:52
Есть у кого сурсы рванки написанные на asi?

kin4stat
20.01.2022, 11:18
Есть у кого сурсы рванки написанные на asi?


А давно на расширениях файлов можно код писать?

Rafaelofff
20.01.2022, 11:21
А давно на расширениях файлов можно код писать?


Объясняю, я шарю что на C++, но мне нужно asi, за сф я хз как переписать с SF на ASI, если не трудно объясни. Или скинь сурсы если есть, могу заплатить.

kin4stat
22.01.2022, 05:05
Или скинь сурсы если есть, могу заплатить.


Заплати лучше за курсы по нейросетям или веб-программированию на питоне. Явно профитнее будет

Chilim
22.01.2022, 15:21
Скиньте пожалуйста сурсы на гм кар

Rafaelofff
22.01.2022, 15:24
Скиньте пожалуйста сурсы на гм кар


100 рублей



Заплати лучше за курсы по нейросетям или веб-программированию на питоне. Явно профитнее будет



https://forum.antichat.xyz/attachments/27951368/

Не знаешь почему на точке между OnFootData и fMoveSpeed пишет требуется индефикатор? Структура есть

https://forum.antichat.xyz/attachments/27951368/

AdCKuY_DpO4uLa
22.01.2022, 16:49
100 рублей

Не знаешь почему на точке между OnFootData и fMoveSpeed пишет требуется индефикатор? Структура есть


OnFootData data = { 0 };

data.fMoveSpeed[0]]...

Rafaelofff
22.01.2022, 21:51
Парни, как отправить фейк пакет того что ты пешком а не в машине? нужно для .asi

sc6ut
22.01.2022, 21:58
Парни, как отправить фейк пакет того что ты пешком а не в машине? нужно для .asi


никак. это невозможно. нереально. за гранями реальности. реализовать это на данный момент невозможно. человечество еще не обладает такими способностями чтобы сделать это. не получится. к сожалению нельзя.

Rafaelofff
22.01.2022, 22:07
никак. это невозможно. нереально. за гранями реальности. реализовать это на данный момент невозможно. человечество еще не обладает такими способностями чтобы сделать это. не получится. к сожалению нельзя.


Гониш, прикол короче когда без прав езжу на сервере, там такая система, когда прав нет, то при езде тебя то влево косит то в право, рулить нереально, как обойти парашу?

kin4stat
22.01.2022, 22:22
Гониш, прикол короче когда без прав езжу на сервере, там такая система, когда прав нет, то при езде тебя то влево косит то в право, рулить нереально, как обойти парашу?


Примерно никак. Либо ты будешь вместе с пустой машиной у всех телепортироваться и примерно через 2-3 минуты тебя заблокируют

Ну или получить права

Best wishes, your cap.

Musaigen
22.01.2022, 22:23
Может просто нопнуть RPC_ScrSetVehicleVelocity, no?

Rafaelofff
22.01.2022, 22:31
Может просто нопнуть RPC_ScrSetVehicleVelocity, no?


За нопы не шарю, есть тутор или пример какой?

Почему не работает?

https://forum.antichat.xyz/attachments/27951870/

AdCKuY_DpO4uLa
23.01.2022, 12:10
За нопы не шарю, есть тутор или пример какой?

Почему не работает?



C++:






void
Vehicle
::
GMCar
(
void
)
{
if
(
*
(
DWORD
*
)
0xBA18FC
&&
g_Config
.
Vehicle
.
bGMCar
)
*
(
float
*
)
(
*
(
DWORD
*
)
0xBA18FC
+
0x4C0
)
=
999.0f
;
}

Rafaelofff
23.01.2022, 13:15
https://forum.antichat.xyz/attachments/27952430/

Что ему нужно?

Dark_Knight
23.01.2022, 13:28
Что ему нужно?


Эму нужно, чтобы ты научился читать белые буквы на темном фоне.

Rafaelofff
23.01.2022, 14:23
C++:






void
Vehicle
::
GMCar
(
void
)
{
if
(
*
(
DWORD
*
)
0xBA18FC
&&
g_Config
.
Vehicle
.
bGMCar
)
*
(
float
*
)
(
*
(
DWORD
*
)
0xBA18FC
+
0x4C0
)
=
999.0f
;
}





Не работает

Rafaelofff
24.01.2022, 14:50
Помогите с rpc? У меня есть RPC_SetVehicleVelocity = 91, мне нужно как то его использовать? Но как?

AdCKuY_DpO4uLa
24.01.2022, 15:52
Помогите с rpc? У меня есть RPC_SetVehicleVelocity = 91, мне нужно как то его использовать? Но как?


Что ты с ним хочешь сделать?

Rafaelofff
24.01.2022, 19:57
Что ты с ним хочешь сделать?


Хочу использовать его, чтоб машину не косоёбило

Парни, как задать машине координаты -150 допустим? Чтоб под землю уходила, а остальные корды не менялись?

frosjkee
27.01.2022, 15:33
Хочу использовать его, чтоб машину не косоёбило

Парни, как задать машине координаты -150 допустим? Чтоб под землю уходила, а остальные корды не менялись?


Я так понимаю ты на амазинге играешь 😂😂😂 тебе нужен drunklevel

Rafaelofff
27.01.2022, 15:52
Я так понимаю ты на амазинге играешь 😂😂😂 тебе нужен drunklevel


Объясни?



Я так понимаю ты на амазинге играешь 😂😂😂 тебе нужен drunklevel


Я так понимаю там стоит плагин на то что ты выпил много? Вариант это сделать через память или плагин сдк?



Я так понимаю ты на амазинге играешь 😂😂😂 тебе нужен drunklevel


Не работает

https://forum.antichat.xyz/attachments/27956845/

https://forum.antichat.xyz/attachments/27956845/

https://forum.antichat.xyz/attachments/27956845/