atizoff
13.02.2020, 12:32
Привет, достали люди, продающие дерьмо за 700 рублей в месяц с говно-триггерботом который стреляет через StartFire и StopFire (ha-ha-ha). Подгорело, пускай отдохнут)
C++:
typedef
unsigned
int
EntityId
;
C++:
class
IActor
{
public
:
EntityId
GetTriggeredID
(
)
{
DWORD64 offset_0
=
*
(
DWORD64
*
)
(
DWORD64
(
this
+
0x18
)
)
;
if
(
!
offset_0
)
return
0
;
DWORD64 offset_1
=
*
(
DWORD64
*
)
(
DWORD64
(
offset_0
+
0x60
)
)
;
if
(
!
offset_1
)
return
0
;
DWORD64 offset_2
=
*
(
DWORD64
*
)
(
DWORD64
(
offset_1
+
0x20
)
)
;
if
(
!
offset_2
)
return
0
;
return
*
(
EntityId
*
)
(
DWORD64
(
offset_2
+
0x170
)
)
;
}
IItem
*
GetCurrentItem
(
bool
includeVehicle
=
false
)
{
return
Function
(
this
,
don`t paste
)
(
this
,
includeVehicle
)
;
//Strings -> CurrentItemName
}
}
C++:
class
IItem
{
public
:
IWeapon
*
GetIWeapon
(
)
{
// на югейме (не реклама) также можете найти как это найти там в теме где я ответил
return
Function
(
this
,
don`t paste
)
(
this
)
;
//OffHand (offset in return of last 'if' is GetIWeapon)
}
}
C++:
class
IWeapon
{
public
:
void
StartFire
(
)
{
return
Function
(
this
,
11
)
(
this
)
;
}
//CScriptBind_Weapon::AutoShoot (first)
void
StopFire
(
)
{
return
Function
(
this
,
12
)
(
this
)
;
}
//CScriptBind_Weapon::AutoShoot (second)
}
use:
C++:
if
(
auto
mWeapon
=
m_pActor
->
GetCurrentItem
(
)
->
GetIWeapon
(
)
)
{
auto
mTriggerId
=
m_pActor
->
GetTriggeredID
(
)
;
if
(
mTriggerId
&&
GetAsyncKeyState
(
VK_RBUTTON
)
)
{
if
(
IActor
*
pActor
=
meFramework
->
GetIActorSystem
(
)
->
GetActor
(
mTriggerId
)
)
{
if
(
IsMyTeam
(
m_pActor
,
pActor
)
)
{
continue
;
}
// here
mWeapon
->
StartFire
(
)
;
// and here
mWeapon
->
StopFire
(
)
;
}
}
}
Удачи всем =)
C++:
typedef
unsigned
int
EntityId
;
C++:
class
IActor
{
public
:
EntityId
GetTriggeredID
(
)
{
DWORD64 offset_0
=
*
(
DWORD64
*
)
(
DWORD64
(
this
+
0x18
)
)
;
if
(
!
offset_0
)
return
0
;
DWORD64 offset_1
=
*
(
DWORD64
*
)
(
DWORD64
(
offset_0
+
0x60
)
)
;
if
(
!
offset_1
)
return
0
;
DWORD64 offset_2
=
*
(
DWORD64
*
)
(
DWORD64
(
offset_1
+
0x20
)
)
;
if
(
!
offset_2
)
return
0
;
return
*
(
EntityId
*
)
(
DWORD64
(
offset_2
+
0x170
)
)
;
}
IItem
*
GetCurrentItem
(
bool
includeVehicle
=
false
)
{
return
Function
(
this
,
don`t paste
)
(
this
,
includeVehicle
)
;
//Strings -> CurrentItemName
}
}
C++:
class
IItem
{
public
:
IWeapon
*
GetIWeapon
(
)
{
// на югейме (не реклама) также можете найти как это найти там в теме где я ответил
return
Function
(
this
,
don`t paste
)
(
this
)
;
//OffHand (offset in return of last 'if' is GetIWeapon)
}
}
C++:
class
IWeapon
{
public
:
void
StartFire
(
)
{
return
Function
(
this
,
11
)
(
this
)
;
}
//CScriptBind_Weapon::AutoShoot (first)
void
StopFire
(
)
{
return
Function
(
this
,
12
)
(
this
)
;
}
//CScriptBind_Weapon::AutoShoot (second)
}
use:
C++:
if
(
auto
mWeapon
=
m_pActor
->
GetCurrentItem
(
)
->
GetIWeapon
(
)
)
{
auto
mTriggerId
=
m_pActor
->
GetTriggeredID
(
)
;
if
(
mTriggerId
&&
GetAsyncKeyState
(
VK_RBUTTON
)
)
{
if
(
IActor
*
pActor
=
meFramework
->
GetIActorSystem
(
)
->
GetActor
(
mTriggerId
)
)
{
if
(
IsMyTeam
(
m_pActor
,
pActor
)
)
{
continue
;
}
// here
mWeapon
->
StartFire
(
)
;
// and here
mWeapon
->
StopFire
(
)
;
}
}
}
Удачи всем =)