 |
|

07.06.2021, 00:28
|
|
Постоянный
Регистрация: 03.11.2017
Сообщений: 305
С нами:
4487038
Репутация:
98
|
|
Сообщение от KiN4StAt
C++:
Код:
constexpr
auto
SAMP_037_R1_CHAT_OFFSET
=
0x21A0E4
;
constexpr
auto
SAMP_037_R3_CHAT_OFFSET
=
0x26E8C8
;
constexpr
auto
SAMP_037_R1_ADDCHATMSG_FUNC
=
0x64010
;
constexpr
auto
SAMP_037_R3_ADDCHATMSG_FUNC
=
0x67460
;
inline
void
AddChatMessage_R1
(
int
nType
,
const
char
*
szText
,
const
char
*
szPrefix
,
unsigned
int
textColor
,
unsigned
int
prefixColor
)
{
using
AddChatMsgProt
=
void
(
__thiscall
*
)
(
void
*
,
int
,
const
char
*
,
const
char
*
,
unsigned
int
,
unsigned
int
)
;
auto
pChat
=
*
reinterpret_cast
(
dwSAMP
+
SAMP_037_R1_CHAT_OFFSET
)
;
return
reinterpret_cast
(
SAMP_037_R1_ADDCHATMSG_FUNC
)
(
pChat
,
nType
,
szText
,
szPrefix
,
textColor
,
prefixColor
)
;
}
inline
void
AddChatMessage_R3
(
int
nType
,
const
char
*
szText
,
const
char
*
szPrefix
,
unsigned
int
textColor
,
unsigned
int
prefixColor
)
{
using
AddChatMsgProt
=
void
(
__thiscall
*
)
(
void
*
,
int
,
const
char
*
,
const
char
*
,
unsigned
int
,
unsigned
int
)
;
auto
pChat
=
*
reinterpret_cast
(
dwSAMP
+
SAMP_037_R3_CHAT_OFFSET
)
;
return
reinterpret_cast
(
SAMP_037_R3_ADDCHATMSG_FUNC
)
(
pChat
,
nType
,
szText
,
szPrefix
,
textColor
,
prefixColor
)
;
}
Требуется объявление dwSAMP, загуглил, ничего не нашёл. только начинаю свой путь в с++ )
|
|
|

07.06.2021, 00:36
|
|
Постоянный
Регистрация: 05.08.2018
Сообщений: 372
С нами:
4091290
Репутация:
213
|
|
Сообщение от pe1fecto
Требуется объявление dwSAMP, загуглил, ничего не нашёл. только начинаю свой путь в с++ )
DWORD dwSAMP = (DWORD)GetModuleHandle("samp.dll");
|
|
|

08.06.2021, 17:15
|
|
Познающий
Регистрация: 19.11.2020
Сообщений: 44
С нами:
2885808
Репутация:
13
|
|
Где можно найти описание параметров RPC_InitGame?
|
|
|

08.06.2021, 19:18
|
|
Познавший АНТИЧАТ
Регистрация: 18.09.2017
Сообщений: 1,044
С нами:
4553429
Репутация:
153
|
|
Как сделать задержку перед отправкой пакета?
C++:
Код:
//пример
sendFake
(
)
;
//задерка 100 милисекунд
sendFuck
(
)
;
|
|
|

08.06.2021, 20:32
|
|
Участник форума
Регистрация: 08.03.2019
Сообщений: 121
С нами:
3781678
Репутация:
113
|
|
Сообщение от Scar_
Как сделать задержку перед отправкой пакета?
C++:
Код:
//пример
sendFake
(
)
;
//задерка 100 милисекунд
sendFuck
(
)
;
Sleep(100);
но перед этим создай поток что бы не зафризило игру
или же
Сообщение от BlackKnigga
Разработчики, только перешедшие с клео\луа на C++ негодуют из-за необходимости использовать разного рода таймеры и лапшу из GetTickCount'ов вместо полюбившихся функций wait. Но особо ярых фанатов клео это не устраивает, отчего они начинают использовать потоки ради функций вроде Sleep для того чтобы не блокировать цикл игры. Однако это не безопасно. Функции ни GTA ни SAMP'а абсолютно не предназначены для использования в разных потоках и их использование может привести к рандомным крашам.
Выход есть!
Example:
Код:
#include
#include
#include "Yet-another-hook-library/hook.h"
#include "sampapi/CChat.h"
#include "coro_wait/coro_wait.h"
using
namespace
sampapi
::
v037r1
;
void
foo
(
)
{
using
namespace
std
::
chrono_literals
;
CChat
*
&
pChat
=
RefChat
(
)
;
while
(
!
pChat
)
{
this_coro
::
wait
(
100
ms
)
;
}
unsigned
int
counter
=
0
;
while
(
true
)
{
pChat
->
AddMessage
(
-
1
,
(
std
::
string
(
"Hello "
)
+
std
::
to_string
(
counter
)
)
.
c_str
(
)
)
;
counter
++
;
this_coro
::
wait
(
1
s
)
;
}
}
void
CGame_Process_hk
(
)
{
static
coro_wait instance
{
foo
}
;
instance
.
process
(
)
;
}
class
coro_wait_example
{
public
:
coro_wait_example
(
)
{
using
CGame_Process_t
=
void
(
__cdecl
*
)
(
)
;
CGame_Process_t CGame_Process
=
reinterpret_cast
(
0x53BEE0
)
;
static
hook
CGame_Process_hook
(
CGame_Process
,
CGame_Process_hk
)
;
}
}
coro_wait_example
;
Выполнение функции foo приостанавливается на время, переданное функции this_coro::wait, и продолжается с того же места. Все это работает в одном потоке, благодаря чему можно не переживать за потокобезопасность вызываемых внутри функций.
В бесконечных или очень больших циклах требуется вызывать wait(0), все по канонам клео.
Функция coro_wait: rocess должна вызываться в потоке игры (перехваченном как в примере, либо в функции mainloop для SF API).
Требуется библиотека Boost.Context!
Исходный код:
GitHub - allwanttokissme/coro_wait: Suspending coroutines by time
Suspending coroutines by time. Contribute to allwanttokissme/coro_wait development by creating an account on GitHub.
github.com
хуки
sampapi
|
|
|

10.06.2021, 07:19
|
|
Участник форума
Регистрация: 08.03.2019
Сообщений: 121
С нами:
3781678
Репутация:
113
|
|
|
|
|

13.06.2021, 03:05
|
|
Новичок
Регистрация: 13.06.2021
Сообщений: 1
С нами:
2590045
Репутация:
1
|
|
ENG:
How can I NOP RemovePlayerFromVehicle from C++? I have tried getting the opcodes from s0beit and finding in CE the address of RemovePlayerFromVehicle by creating a pointer with samp.dll+opcode however I didn’t have success. I’m pretty new to samp hacking scene and I am trying to develop a fully internal cheat.
RU:
Как я могу NOP RemovePlayerFromVehicle из C ++? Я попытался получить коды операций из s0beit и найти в CE адрес RemovePlayerFromVehicle, создав указатель с кодом операции samp.dll +opcode, но мне это не удалось. Я новичок в самп-хакерской сцене и пытаюсь разработать полностью внутренний чит.
|
|
|

16.06.2021, 08:24
|
|
Постоянный
Регистрация: 01.05.2021
Сообщений: 752
С нами:
2650753
Репутация:
98
|
|
Как получить CVehicle авто по ID?
В CPools есть:
virtual CVehicle* GetVehicle ( unsigned long ulID ) = 0;
virtual CVehicle* GetVehicle ( DWORD* pGameInterface ) = 0;
Пытался хендл авто вписывать в GetVehicle, SAMP крашит...
|
|
|

30.06.2021, 21:27
|
|
Новичок
Регистрация: 13.03.2021
Сообщений: 1
С нами:
2721441
Репутация:
1
|
|
1.Ваш вопрос: Можно пожалуйста узнать как сделать что был шаблон "Консольное приложение Win32". При нажатие установки пакетов, каждый из пакетов выдает ошибку.
загружено.pngyurathe · 30 Июн 2021 в 20:27' data-fancybox="lb-post-780784" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/103281/" style="cursor: pointer;" title="загружено.png">

|
|
|

01.07.2021, 13:43
|
|
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами:
4633764
Репутация:
148
|
|
Сообщение от pMozze
В какой адрес пишет опкод
Код:
0B56: set_game_key 1@ state 2@
или какую функцию вызывает
C++:
Код:
enum
etInput
{
Right
=
0x0
,
Left
=
0x1
,
Backwards
=
0x2
,
Forward
=
0x3
,
Look_Right
=
0x4
,
Look_Left
=
0x5
,
Look_Down
=
0x6
,
Look_Up
=
0x7
,
Action
=
0x8
,
Previous_Weapon
=
0xA
,
Aim_Weapon
=
0xC
,
Next_Weapon
=
0xE
,
Group_CTRL_Forward
=
0x10
,
Group_CTRL_Back
=
0x12
,
Conversatin_NO
=
0x14
,
Conversation_YES
=
0x16
,
Change_Camera
=
0x1A
,
Jump
=
0x1C
,
Enter_Exit
=
0x1E
,
Sprint
=
0x20
,
Fire
=
0x22
,
Crouch
=
0x24
,
Look_Behind
=
0x26
,
Unused
=
0x28
,
Walk
=
0x2A
}
;
void
SetGameKeyState
(
BYTE key
,
BYTE state
)
{
*
(
uint8_t
*
)
(
0xB73458
+
key
)
=
state
;
}
BYTE
GetGameKeyState
(
BYTE key
)
{
return
*
(
uint8_t
*
)
(
0xB73458
+
key
)
;
}
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|