HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #5321  
Старый 07.06.2021, 00:28
ROBERT PUSHER
Постоянный
Регистрация: 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, загуглил, ничего не нашёл. только начинаю свой путь в с++ )
 
Ответить с цитированием

  #5322  
Старый 07.06.2021, 00:36
AdCKuY_DpO4uLa
Постоянный
Регистрация: 05.08.2018
Сообщений: 372
С нами: 4091290

Репутация: 213
По умолчанию

Цитата:
Сообщение от pe1fecto  

Требуется объявление dwSAMP, загуглил, ничего не нашёл. только начинаю свой путь в с++ )
DWORD dwSAMP = (DWORD)GetModuleHandle("samp.dll");
 
Ответить с цитированием

  #5323  
Старый 08.06.2021, 17:15
dekname
Познающий
Регистрация: 19.11.2020
Сообщений: 44
С нами: 2885808

Репутация: 13
По умолчанию

Где можно найти описание параметров RPC_InitGame?
 
Ответить с цитированием

  #5324  
Старый 08.06.2021, 19:18
EclipsedFlow
Познавший АНТИЧАТ
Регистрация: 18.09.2017
Сообщений: 1,044
С нами: 4553429

Репутация: 153


По умолчанию

Как сделать задержку перед отправкой пакета?

C++:





Код:
//пример
sendFake
(
)
;
//задерка 100 милисекунд
sendFuck
(
)
;
 
Ответить с цитированием

  #5325  
Старый 08.06.2021, 20:32
legendabrn
Участник форума
Регистрация: 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
 
Ответить с цитированием

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

Репутация: 113
По умолчанию

Цитата:
Сообщение от dekname  

Где можно найти описание параметров RPC_InitGame?
SA-MP/server/netgame.cpp at a69cfc9ea8278a8481508ad34d457dc3e2ea8eb9 · dashr9230/SA-MP

A repository for making the latest SA-MP version open source - dashr9230/SA-MP

github.com
 
Ответить с цитированием

  #5327  
Старый 13.06.2021, 03:05
Mitrel123
Новичок
Регистрация: 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, но мне это не удалось. Я новичок в самп-хакерской сцене и пытаюсь разработать полностью внутренний чит.
 
Ответить с цитированием

  #5328  
Старый 16.06.2021, 08:24
Yuriy Code
Постоянный
Регистрация: 01.05.2021
Сообщений: 752
С нами: 2650753

Репутация: 98


По умолчанию

Как получить CVehicle авто по ID?

В CPools есть:

virtual CVehicle* GetVehicle ( unsigned long ulID ) = 0;

virtual CVehicle* GetVehicle ( DWORD* pGameInterface ) = 0;

Пытался хендл авто вписывать в GetVehicle, SAMP крашит...
 
Ответить с цитированием

  #5329  
Старый 30.06.2021, 21:27
yurathe
Новичок
Регистрация: 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">
 
Ответить с цитированием

  #5330  
Старый 01.07.2021, 13:43
loganhackerdff
Постоянный
Регистрация: 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)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.