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

  #5401  
Старый 07.08.2021, 18:18
Констанций
Новичок
Регистрация: 07.08.2021
Сообщений: 2
С нами: 2509944

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

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

искал искал и не нашел, вообщем. Нужны две функции, это фриз камеры и фриз педа.(sf)
C++:





Код:
// bControllable: 0 - заморозить, 1 - разморозить
// Действия можно выполнять и до инициализации сампа, главное чтоб сам модуль был загружен в игру
void
sampTogglePlayerControllable
(
class
CPed
*
targetPed
,
::
BOOL bControllable
)
{
static
auto
sampLibrary
{
std
::
uintptr_t
(
::
GetModuleHandle
(
"samp.dll"
)
)
}
;
reinterpret_cast

(
sampLibrary
+
0xA7050
)
(
targetPed
,
bControllable
)
;
}
// false - заморозить, true - разморозить
void
setCameraControllable
(
bool
status
)
{
*
reinterpret_cast

(
0x52B730
)
=
status
?
0x81
:
0xC3
;
}


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

всем ку я не научился пользоваться гидрой, скажите пж адрес функции скриншота для samp 0.3.7 R3
для 0.3.7 R1 я знаю - samp.dll + 0x70FC0
[S](и если не сложно напишите как блять в этой гидре прыгнуть на функцию)[/S]
Мне, конечно, не тяжело загрузить библиотеку, но для приличия мог бы и скинуть.

C++:





Код:
// R3
void
takeScreenshot
(
)
{
static
auto
sampLibrary
{
std
::
uintptr_t
(
::
GetModuleHandle
(
"samp.dll"
)
)
}
;
reinterpret_cast

(
sampLibrary
+
0x74EB0
)
(
)
;
}
 
Ответить с цитированием

  #5402  
Старый 12.08.2021, 00:22
loganhackerdff
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами: 4633764

Репутация: 148


По умолчанию

всем ку, я хочу емулировать нажатие клавиши alt, для этого юзаю https://www.blast.hk/threads/52553/ но ничего не работает,

(значение там меняется от нажатия alt)

походу это надо использовать не в хуке 0x748DA3
 
Ответить с цитированием

  #5403  
Старый 12.08.2021, 01:22
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

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

всем ку, я хочу емулировать нажатие клавиши alt, для этого юзаю https://www.blast.hk/threads/52553/ но ничего не работает,
(значение там меняется от нажатия alt)
походу это надо использовать не в хуке 0x748DA3
Хукай CPad::UpdatePads
 
Ответить с цитированием

  #5404  
Старый 13.08.2021, 14:37
loganhackerdff
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами: 4633764

Репутация: 148


По умолчанию

hi, мне нужна помощь с rakhook, хукаю onFootSync:

C++:





Код:
bool
onPacketOutcoming
(
RakNet
::
BitStream
*
&
bs
)
override
{
stOnFootData
*
data
;
if
(
*
bs
->
GetData
(
)
==
207
)
{
data
=
(
stOnFootData
*
)
bs
->
GetData
(
)
;
vars
::
pChat
->
AddMessage
(
-
1
,
std
::
to_string
(
data
->
byteHealth
)
.
c_str
(
)
)
;
}
return
true
;
}


Структуры:

C++:





Код:
struct
stSAMPKeys
{
uint8_t
keys_primaryFire
:
1
;
uint8_t
keys_horn__crouch
:
1
;
uint8_t
keys_secondaryFire__shoot
:
1
;
uint8_t
keys_accel__zoomOut
:
1
;
uint8_t
keys_enterExitCar
:
1
;
uint8_t
keys_decel__jump
:
1
;
// on foot: jump or zoom in
uint8_t
keys_circleRight
:
1
;
uint8_t
keys_aim
:
1
;
// hydra auto aim or on foot aim
uint8_t
keys_circleLeft
:
1
;
uint8_t
keys_landingGear__lookback
:
1
;
uint8_t
keys_unknown__walkSlow
:
1
;
uint8_t
keys_specialCtrlUp
:
1
;
uint8_t
keys_specialCtrlDown
:
1
;
uint8_t
keys_specialCtrlLeft
:
1
;
uint8_t
keys_specialCtrlRight
:
1
;
uint8_t
keys__unused
:
1
;
}
;
struct
stOnFootData
{
uint8_t
packet
;
uint16_t
sLeftRightKeys
;
uint16_t
sUpDownKeys
;
union
{
uint16_t
sKeys
;
struct
stSAMPKeys
stSampKeys
;
}
;
float
fPosition
[
3
]
;
float
fQuaternion
[
4
]
;
uint8_t
byteHealth
;
uint8_t
byteArmor
;
uint8_t
byteCurrentWeapon
;
uint8_t
byteSpecialAction
;
float
fMoveSpeed
[
3
]
;
float
fSurfingOffsets
[
3
]
;
uint16_t
sSurfingVehicleID
;
short
sCurrentAnimationID
;
short
sAnimFlags
;
}
;


Но всегда в чат выводится 0
 
Ответить с цитированием

  #5405  
Старый 13.08.2021, 15:32
loganhackerdff
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами: 4633764

Репутация: 148


По умолчанию

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

тебя не смущает что до данных лежит еще и айди пакета?
чекни структуру, я добавил byte packerID в stOnFootData
 
Ответить с цитированием

  #5406  
Старый 13.08.2021, 16:21
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

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

hi, мне нужна помощь с rakhook, хукаю onFootSync:

C++:





Код:
bool
onPacketOutcoming
(
RakNet
::
BitStream
*
&
bs
)
override
{
stOnFootData
*
data
;
if
(
*
bs
->
GetData
(
)
==
207
)
{
data
=
(
stOnFootData
*
)
bs
->
GetData
(
)
;
vars
::
pChat
->
AddMessage
(
-
1
,
std
::
to_string
(
data
->
byteHealth
)
.
c_str
(
)
)
;
}
return
true
;
}


Структуры:

C++:





Код:
struct
stSAMPKeys
{
uint8_t
keys_primaryFire
:
1
;
uint8_t
keys_horn__crouch
:
1
;
uint8_t
keys_secondaryFire__shoot
:
1
;
uint8_t
keys_accel__zoomOut
:
1
;
uint8_t
keys_enterExitCar
:
1
;
uint8_t
keys_decel__jump
:
1
;
// on foot: jump or zoom in
uint8_t
keys_circleRight
:
1
;
uint8_t
keys_aim
:
1
;
// hydra auto aim or on foot aim
uint8_t
keys_circleLeft
:
1
;
uint8_t
keys_landingGear__lookback
:
1
;
uint8_t
keys_unknown__walkSlow
:
1
;
uint8_t
keys_specialCtrlUp
:
1
;
uint8_t
keys_specialCtrlDown
:
1
;
uint8_t
keys_specialCtrlLeft
:
1
;
uint8_t
keys_specialCtrlRight
:
1
;
uint8_t
keys__unused
:
1
;
}
;
struct
stOnFootData
{
uint8_t
packet
;
uint16_t
sLeftRightKeys
;
uint16_t
sUpDownKeys
;
union
{
uint16_t
sKeys
;
struct
stSAMPKeys
stSampKeys
;
}
;
float
fPosition
[
3
]
;
float
fQuaternion
[
4
]
;
uint8_t
byteHealth
;
uint8_t
byteArmor
;
uint8_t
byteCurrentWeapon
;
uint8_t
byteSpecialAction
;
float
fMoveSpeed
[
3
]
;
float
fSurfingOffsets
[
3
]
;
uint16_t
sSurfingVehicleID
;
short
sCurrentAnimationID
;
short
sAnimFlags
;
}
;


Но всегда в чат выводится 0
#pragma pack(push, 1)
 
Ответить с цитированием

  #5407  
Старый 15.08.2021, 15:12
loganhackerdff
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами: 4633764

Репутация: 148


По умолчанию

похоже что это раздел только для меня, чувствую себя тупым, ну да ладно,

кароче я юзаю sampapi ирисую чамсы вот так:

C++:





Код:
if
(
m_bChams
&&
g
::
pDXDevice
)
{
DWORD dwCONSTANT
{
0
}
,
dwARG2
{
0
}
,
dwCULL
{
0
}
;
g
::
pDXDevice
->
GetRenderState
(
D3DRS_CULLMODE
,
&
dwCULL
)
;
g
::
pDXDevice
->
GetTextureStageState
(
0
,
D3DTSS_CONSTANT
,
&
dwCONSTANT
)
;
g
::
pDXDevice
->
GetTextureStageState
(
0
,
D3DTSS_COLORARG2
,
&
dwARG2
)
;
g
::
pDXDevice
->
SetRenderState
(
D3DRS_CULLMODE
,
D3DCULL_CW
)
;
g
::
pDXDevice
->
SetTextureStageState
(
0
,
D3DTSS_CONSTANT
,
0xFFFFFFFF
)
;
g
::
pDXDevice
->
SetTextureStageState
(
0
,
D3DTSS_COLORARG2
,
D3DTA_CONSTANT
)
;
(
(
void
(
__thiscall
*
)
(
void
*
)
)
(
*
(
void
*
*
*
)
pPlayer
->
m_pPed
->
m_pGameEntity
)
[
18
]
)
(
player
.
pPlayer
->
m_pPed
->
m_pGameEntity
)
;
g
::
pDXDevice
->
SetRenderState
(
D3DRS_CULLMODE
,
dwCULL
)
;
g
::
pDXDevice
->
SetTextureStageState
(
0
,
D3DTSS_CONSTANT
,
dwCONSTANT
)
;
g
::
pDXDevice
->
SetTextureStageState
(
0
,
D3DTSS_COLORARG2
,
dwARG2
)
;
}
}


Перед этим проверка всего что можно для педа

C++:





Код:
(
player
&&
player
->
m_pPed
&&
player
->
DoesExist
(
)
&&
player
->
m_pPed
->
DoesExist
(
)
&&
player
->
m_pPed
->
m_pGamePed
&&
player
->
m_pPed
->
m_pGameEntity
)


выглядит как будто наговнокожено но всё равно вылетают exceptions на строке после

C++:





Код:
(
(
void
(
__thiscall
*
)
(
void
*
)
)
(
*
(
void
*
*
*
)
pPlayer
->
m_pPed
->
m_pGameEntity
)
[
18
]
)
(
player
.
pPlayer
->
m_pPed
->
m_pGameEntity
)
;


пример кода взят отсюда: https://github.com/Stickey21/Stealt.../Stealth Remastered/Features/Visuals.cpp#L269
 
Ответить с цитированием

  #5408  
Старый 15.08.2021, 15:45
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

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

похоже что это раздел только для меня, чувствую себя тупым, ну да ладно,

кароче я юзаю sampapi ирисую чамсы вот так:

C++:





Код:
if
(
m_bChams
&&
g
::
pDXDevice
)
{
DWORD dwCONSTANT
{
0
}
,
dwARG2
{
0
}
,
dwCULL
{
0
}
;
g
::
pDXDevice
->
GetRenderState
(
D3DRS_CULLMODE
,
&
dwCULL
)
;
g
::
pDXDevice
->
GetTextureStageState
(
0
,
D3DTSS_CONSTANT
,
&
dwCONSTANT
)
;
g
::
pDXDevice
->
GetTextureStageState
(
0
,
D3DTSS_COLORARG2
,
&
dwARG2
)
;
g
::
pDXDevice
->
SetRenderState
(
D3DRS_CULLMODE
,
D3DCULL_CW
)
;
g
::
pDXDevice
->
SetTextureStageState
(
0
,
D3DTSS_CONSTANT
,
0xFFFFFFFF
)
;
g
::
pDXDevice
->
SetTextureStageState
(
0
,
D3DTSS_COLORARG2
,
D3DTA_CONSTANT
)
;
(
(
void
(
__thiscall
*
)
(
void
*
)
)
(
*
(
void
*
*
*
)
pPlayer
->
m_pPed
->
m_pGameEntity
)
[
18
]
)
(
player
.
pPlayer
->
m_pPed
->
m_pGameEntity
)
;
g
::
pDXDevice
->
SetRenderState
(
D3DRS_CULLMODE
,
dwCULL
)
;
g
::
pDXDevice
->
SetTextureStageState
(
0
,
D3DTSS_CONSTANT
,
dwCONSTANT
)
;
g
::
pDXDevice
->
SetTextureStageState
(
0
,
D3DTSS_COLORARG2
,
dwARG2
)
;
}
}


Перед этим проверка всего что можно для педа

C++:





Код:
(
player
&&
player
->
m_pPed
&&
player
->
DoesExist
(
)
&&
player
->
m_pPed
->
DoesExist
(
)
&&
player
->
m_pPed
->
m_pGamePed
&&
player
->
m_pPed
->
m_pGameEntity
)


выглядит как будто наговнокожено но всё равно вылетают exceptions на строке после

C++:





Код:
(
(
void
(
__thiscall
*
)
(
void
*
)
)
(
*
(
void
*
*
*
)
pPlayer
->
m_pPed
->
m_pGameEntity
)
[
18
]
)
(
player
.
pPlayer
->
m_pPed
->
m_pGameEntity
)
;


пример кода взят отсюда: https://github.com/Stickey21/Stealth-Remastered/blob/origin/Stealth Remastered/Features/Visuals.cpp#L269
CEntityRender:





Код:
using
CEntity__Render
=
void
(
__thiscall
*
)
(
::
CEntity
*
)
;
reinterpret_cast

(
0x59F180
)
(
player
.
pPlayer
->
m_pPed
->
m_pGameEntity
)
;


chams:





Код:
DWORD dwCONSTANT
,
dwARG0
,
dwARG1
,
dwARG2
;
struct
CPed
*
pPed
=
pSAMP
->
g_Players
->
m_pObject
[
i
]
->
m_pPlayer
->
m_pPed
->
m_pGamePed
;
m_pDev
->
GetTextureStageState
(
0
,
D3DTSS_CONSTANT
,
&
dwCONSTANT
)
;
m_pDev
->
GetTextureStageState
(
0
,
D3DTSS_COLORARG0
,
&
dwARG0
)
;
m_pDev
->
GetTextureStageState
(
0
,
D3DTSS_COLORARG1
,
&
dwARG1
)
;
m_pDev
->
GetTextureStageState
(
0
,
D3DTSS_COLORARG2
,
&
dwARG2
)
;
m_pDev
->
SetTextureStageState
(
0
,
D3DTSS_CONSTANT
,
floatToHex
(
colors
->
PlayerChamsColor
)
)
;
m_pDev
->
SetTextureStageState
(
0
,
D3DTSS_COLORARG0
,
D3DTA_CONSTANT
)
;
m_pDev
->
SetTextureStageState
(
0
,
D3DTSS_COLORARG1
,
D3DTA_CONSTANT
)
;
m_pDev
->
SetTextureStageState
(
0
,
D3DTSS_COLORARG2
,
D3DTA_CONSTANT
)
;
pPed
->
Render
(
)
;
m_pDev
->
SetTextureStageState
(
0
,
D3DTSS_CONSTANT
,
dwCONSTANT
)
;
m_pDev
->
SetTextureStageState
(
0
,
D3DTSS_COLORARG0
,
dwARG0
)
;
m_pDev
->
SetTextureStageState
(
0
,
D3DTSS_COLORARG1
,
dwARG1
)
;
m_pDev
->
SetTextureStageState
(
0
,
D3DTSS_COLORARG2
,
dwARG2
)
;
 
Ответить с цитированием

  #5409  
Старый 15.08.2021, 15:52
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

Кстати выше - не самое лучшее решение. Лучше хукать DrawIndexedPrimitive в пайплайне рендера педов(0x761142) и выставлять цвет пикселей через константы или пиксельный шейдер. Пример:

C:





Код:
sampler2D tex0
:
register
(
s0
)
;
extern
float3 dy
:
register
(
c0
)
;
float4
main
(
float2 tc
:
TEXCOORD0
)
:
COLOR
{
return
tex2D
(
tex0
,
tc
)
*
float4
(
dy
[
0
]
,
dy
[
1
]
,
dy
[
2
]
,
1.0
)
;
}


C++:





Код:
{
HRSRC hsrc
=
FindResourceW
(
reinterpret_cast

(
hmdl
)
,
MAKEINTRESOURCEW
(
IDR_HLSL2
)
,
L
"HLSL"
)
;
PVOID shader
=
LockResource
(
LoadResource
(
reinterpret_cast

(
hmdl
)
,
hsrc
)
)
;
pDevice
->
CreatePixelShader
(
reinterpret_cast

(
shader
)
,
&
pPixelShader
)
;
}


C++:





Код:
pDevice
->
SetPixelShader
(
pPixelShader
)
;
// Rainbow lol
if
(
bTact
)
{
HSVtoRGB
(
RGB
[
0
]
,
RGB
[
1
]
,
RGB
[
2
]
,
color
[
0
]
,
color
[
1
]
,
color
[
2
]
)
;
color
[
0
]
+=
2.0f
;
if
(
color
[
0
]
>=
360.0f
)
color
[
0
]
-=
360.0f
;
bTact
=
false
;
}
pDevice
->
SetPixelShaderConstantF
(
0
,
RGB
,
1
)
;
fpHkDrawIndexedPrimitive
(
pDevice
,
Type
,
BaseVertexIndex
,
MinVertexIndex
,
NumVertices
,
startIndex
,
primCount
)
;
pDevice
->
SetPixelShader
(
nullptr
)
;
return
D3D_OK
;
 
Ответить с цитированием

  #5410  
Старый 15.08.2021, 15:55
loganhackerdff
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами: 4633764

Репутация: 148


По умолчанию

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

Кстати выше - не самое лучшее решение. Лучше хукать DrawIndexedPrimitive в пайплайне рендера педов(0x761142) и выставлять цвет пикселей через константы или пиксельный шейдер. Пример:

C:





Код:
sampler2D tex0
:
register
(
s0
)
;
extern
float3 dy
:
register
(
c0
)
;
float4
main
(
float2 tc
:
TEXCOORD0
)
:
COLOR
{
return
tex2D
(
tex0
,
tc
)
*
float4
(
dy
[
0
]
,
dy
[
1
]
,
dy
[
2
]
,
1.0
)
;
}


C++:





Код:
{
HRSRC hsrc
=
FindResourceW
(
reinterpret_cast

(
hmdl
)
,
MAKEINTRESOURCEW
(
IDR_HLSL2
)
,
L
"HLSL"
)
;
PVOID shader
=
LockResource
(
LoadResource
(
reinterpret_cast

(
hmdl
)
,
hsrc
)
)
;
pDevice
->
CreatePixelShader
(
reinterpret_cast

(
shader
)
,
&
pPixelShader
)
;
}


C++:





Код:
pDevice
->
SetPixelShader
(
pPixelShader
)
;
// Rainbow lol
if
(
bTact
)
{
HSVtoRGB
(
RGB
[
0
]
,
RGB
[
1
]
,
RGB
[
2
]
,
color
[
0
]
,
color
[
1
]
,
color
[
2
]
)
;
color
[
0
]
+=
2.0f
;
if
(
color
[
0
]
>=
360.0f
)
color
[
0
]
-=
360.0f
;
bTact
=
false
;
}
pDevice
->
SetPixelShaderConstantF
(
0
,
RGB
,
1
)
;
fpHkDrawIndexedPrimitive
(
pDevice
,
Type
,
BaseVertexIndex
,
MinVertexIndex
,
NumVertices
,
startIndex
,
primCount
)
;
pDevice
->
SetPixelShader
(
nullptr
)
;
return
D3D_OK
;

а как понять что рисуется полигон из модели педа
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT ™ © 2001- Antichat Kft.