UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

derekdakid 5th August 2017 01:54 AM

Escape from Tarkov Reversal, Structs and Offsets
 
GameObjectManager = 0x142A6A0

The GameObject Manager class is the same as that found in the Rust Internal/External thread.

In order to get your local player position you have to loop through tagged until you find an object with a tag of 5 called "FPS CAMERA", from this object you can also get your viewmatrix.

Most of the items/players are stored inside of the activeentityList.

Anyone reverse the player objects for this game?

Brut7 6th August 2017 10:30 AM

Code:

object name = GameWorld
       
        class LocalGameWorld
        {
        public:
                char _0x0000[32];
                Dictionary* Dictionary_balistick; //0x0020
                List* BallisticCalculatorsCachedList; //0x0028
                List* List_unknown; //0x0030
                List* LootList; //0x0038
                List* List_Player; //0x0040
                Dictionary* Turnables; //0x0048
                DWORD64* EffectsCommuntator; //0x0050
                DWORD64* BollistickCollider; //0x0058
                char _0x0060[8];
                DWORD64 unknown1; //0x0068
        };
       
       
class Player 
        {
        public:
                DWORD64* N000014D7; //0x0000
                char pad_0x0008[0x28]; //0x0008
                __int64 OnPoseChangedEvent; //0x0030          //Local ?
                __int64 OnSpeedChangedEvent; //0x0038          //Local ?
                CharacterController* m_CharacterController; //0x0040
                char pad_0x0048[0x8]; //0x0048
                MovementContext* m_MovementContext; //0x0050
                Pedometer* m_Pedometer; //0x0058
                __int64 _mouseSensitivityMod; //0x0060
                __int64 OnTimeBeingWathed; //0x0068
                char pad_0x0070[0x18]; //0x0070
                ProceduralWeaponAnimation* proceduralWeaponAnimation_0; //0x0088
                char pad_0x0090[0x10]; //0x0090
                PlayerBody* playerBody_0; //0x00A0
                __int64 _elbowBends; //0x00A8
                char pad_0x00B0[0x10]; //0x00B0
                __int64 _fbbik; //0x00C0
                __int64 Grounder; //0x00C8
                __int64 HitReaction; //0x00D0
                char pad_0x00D8[0x188]; //0x00D8
                Profile* m_Profile; //0x0260
                __int64 _statisticsManager; //0x0268
                __int64 Physical; //0x0270
                char pad_0x0278[0x18]; //0x0278
                __int64 _healthController; //0x0290
                __int64 _hitColliders; //0x0298
                SinglePlayerInventoryController* m_SinglePlayerInventoryController; //0x02A0
                FirearmController* _handsController; //0x02A8
                __int64 _questController; //0x02B0
                char pad_0x02B8[0x20]; //0x02B8
                PlayerBones* m_PlayerBones; //0x02D8
                char pad_0x02E0[0xA4]; //0x02E0
                D3DXVECTOR3 _lMarkerRawPosition; //0x0384
                D3DXVECTOR3 _lElbowRawPosition; //0x0390
                D3DXVECTOR3 _rElbowRawPosition; //0x039C               
        };


derekdakid 6th August 2017 06:43 PM

Quote:

Originally Posted by Brut7 (Post 1784176)
Code:

object name = GameWorld
       
        class LocalGameWorld
        {
        public:
                char _0x0000[32];
                Dictionary* Dictionary_balistick; //0x0020
                List* BallisticCalculatorsCachedList; //0x0028
                List* List_unknown; //0x0030
                List* LootList; //0x0038
                List* List_Player; //0x0040
                Dictionary* Turnables; //0x0048
                DWORD64* EffectsCommuntator; //0x0050
                DWORD64* BollistickCollider; //0x0058
                char _0x0060[8];
                DWORD64 unknown1; //0x0068
        };
       
       
class Player 
        {
        public:
                DWORD64* N000014D7; //0x0000
                char pad_0x0008[0x28]; //0x0008
                __int64 OnPoseChangedEvent; //0x0030          //Local ?
                __int64 OnSpeedChangedEvent; //0x0038          //Local ?
                CharacterController* m_CharacterController; //0x0040
                char pad_0x0048[0x8]; //0x0048
                MovementContext* m_MovementContext; //0x0050
                Pedometer* m_Pedometer; //0x0058
                __int64 _mouseSensitivityMod; //0x0060
                __int64 OnTimeBeingWathed; //0x0068
                char pad_0x0070[0x18]; //0x0070
                ProceduralWeaponAnimation* proceduralWeaponAnimation_0; //0x0088
                char pad_0x0090[0x10]; //0x0090
                PlayerBody* playerBody_0; //0x00A0
                __int64 _elbowBends; //0x00A8
                char pad_0x00B0[0x10]; //0x00B0
                __int64 _fbbik; //0x00C0
                __int64 Grounder; //0x00C8
                __int64 HitReaction; //0x00D0
                char pad_0x00D8[0x188]; //0x00D8
                Profile* m_Profile; //0x0260
                __int64 _statisticsManager; //0x0268
                __int64 Physical; //0x0270
                char pad_0x0278[0x18]; //0x0278
                __int64 _healthController; //0x0290
                __int64 _hitColliders; //0x0298
                SinglePlayerInventoryController* m_SinglePlayerInventoryController; //0x02A0
                FirearmController* _handsController; //0x02A8
                __int64 _questController; //0x02B0
                char pad_0x02B8[0x20]; //0x02B8
                PlayerBones* m_PlayerBones; //0x02D8
                char pad_0x02E0[0xA4]; //0x02E0
                D3DXVECTOR3 _lMarkerRawPosition; //0x0384
                D3DXVECTOR3 _lElbowRawPosition; //0x0390
                D3DXVECTOR3 _rElbowRawPosition; //0x039C               
        };


thank you + rep

rafaelstefany 14th August 2017 09:59 PM

any way to convert it to c# code?

DisOwned 16th August 2017 03:07 PM

anyone here know what there "anticheat" does do they detect mono Injection or do they take screen shots in the past games they made "contract Wars" they took screen shots any info will help

fx55555 16th August 2017 04:38 PM

Quote:

Originally Posted by lol300987 (Post 1793223)
anyone here know what there "anticheat" does do they detect mono Injection or do they take screen shots in the past games they made "contract Wars" they took screen shots any info will help

I think they could be taking screenshots being on a p2c forum with escape from tarkov, some user are talking about random flickering and flashing on their screen once in a while and then getting ban the next few days. Could be wrong tho

DisOwned 16th August 2017 04:57 PM

Quote:

Originally Posted by fx55555 (Post 1793276)
I think they could be taking screenshots being on a p2c forum with escape from tarkov, some user are talking about random flickering and flashing on their screen once in a while and then getting ban the next few days. Could be wrong tho

if they take screen shots there would be no visual effect for you its silent you wouldnt notice it at all because nothing will change its a quick snap shot sent to there server then reviewed by a dev to manualy ban you

so this p2c site most likely doesnt clean screen shots and esp showed up in there screen shot request and banned the guy

rafaelstefany 16th August 2017 09:21 PM

I think ban is not a problem in the stage of the game are, and they also unbanned every account who had been banned on alpha test.

PutinIsLove 19th August 2017 09:40 PM

Hey,

Anyone willing to share adress and offsets ? Thx.

Tonyx97 19th August 2017 11:47 PM

Some objects I just dumped in the factory, I don't know the concept of this game yet but I don't need it to hack it.

GOM Sig:
Code:

\x48\x8B\x15\x00\x00\x00\x00\x66\x39\x7B\x54 (changes of this address barely happen but just in case)
Code:

tube01
decal_dirt
barrel_old
case_door1
garbage_stone1 (12)
decal_drip1
Base HumanLDigit32
Point light (6)
Lod0_doorpost
decal_drip11 (22)
Base HumanLDigit11
weapon_box_cover
barrel_pile (1)
plate03_part4 (1)
wall_paint_piece1_dec
rack_shelf_lod1
Base HumanLDigit21
case_door2
pillar
decal_dirt
sg_pivot
colider4
case_door
model_LOD2 2
factory_pillar02
decal_drip2
NewMultiFlareLight_gas light (3)
Base HumanLDigit43
metal
weapon_box
collider
cloth_shirt
model_LOD0
barrel_old (5)
cardboard_LOD0
cardboard_box
tubeBig1
collider 2
JerryCan_lod1
door_grill
factory_pillar_tunel_1 (8)
colider
woodBox_medium_shadow
collider
crushed_concreate_tex_tile_big
decal_sand1_pillar
Base HumanLDigit13
metall_list1
factory_pillar02
Base HumanLDigit23
colider 12
decal_drip
decal_drip11 (2)
pillar
sand_decal6 (21)
case_door
heap_scrap_small_1 (1)
plite_crush2
tubeBig1_lod
sand_decal6 (4)
tubeBig1
colider
garbage_stone1 (1)
collider
col
sg_pivot
tubeBig1_lod
ograda2
case_door1
case
colider
Base HumanLDigit33
factory_prop01
garbage_stone1
filllight
Base HumanLDigit13
plate_crush_part3
colider
pencil (1)
detail3
colider005
lamp03
tubeBig1
brick_pile03_brick_dirty
decal_drip
test_hand
sg_targets
colider
tubeBig1 (54)
sand_decal3
brick_pile03
decal_drip11 (47)
decal_drip11
heap_scrap_alang_7
plastic
Base HumanLDigit13
crushed_concreate_tex_tile_small
Base HumanLDigit53 (1)
colider
LOD0
colider1
case_door2_lod
collider
detail
decal_drip
colider
sand_decal3
shadow 8
factory_ferma_lod1
crushed_concreate_tex_tile_small
lamp03
ballons_grp_lod2
case2
decal_dirt9
garbage_stone1
Base HumanLDigit11
cardboard_LOD1
door
part2
colider
cloth_jacket2
collider
Lod0_door
DecalGraffiti (22)
decal_dirt1
collider
sand_decal1 (18)
case2
ballons_grp_lod
decal_drip2
colider
Base HumanLDigit23
Base HumanLDigit51
tubeBig1_lod
colider1
colider2
crushed_concreate_tex_tile_big
model_LOD2 3
Base HumanLDigit23
plate
Base HumanLDigit12
collider 3
Base HumanLDigit42
case_door1_lod
lod3_1
drawing_05
plite_crush1
colider_door
decal_drip
Lod2_door
Base HumanLDigit41
decal_drip11 (4)
sand_decal6
shadow 17
colider
tubeBig1
tubeBig1
Point light (2)
model 4
detail005
barrel_plastic_lod1
woodBox_medium
Base HumanLDigit13
concr_hole3
garbage_stone2
part1_lod
case1
wall_paint_piece7_dec
colider005
decal
decal_drip10
lamp03_crush2
plate_crush_part005
emergency_exit_light 1
balistic
garbage_constructor
collider
model_LOD2
tubeBig2
poster2
factory_pillar02
case
Base HumanLDigit13
collider
sand_decal6
decal_dirt8
shadow_doorpost
barrel_plastic_lod1
bench
metal_g1 (20)
Projector
metal_g1
tubeBig1_lod
garbage_paper_box01 (1)
wall_paint_piece1
ograda_2
NewMultiFlareLight small
paper4
sand_decal6
decal_drip6 (39)
case1_lod
window_lod
colider1
model_LOD2 1
tubeBig3_lod
factory_ferma_lod0
metal_g1 (13)
wall_paint_piece6
shadow_lod2
decal_drip11 (1)
wall_paint_piece2_dec
Cube
LOD0
lamp03_crush1
decal_drip1
glowstick
KeyGrip (1)
decal_dirt1
decal_drip2
tubeBig_angle1
decal
factory_pillar_small2
Base HumanLDigit33
DecalFootsteps (12)
windows_factory1
Base HumanLDigit21
tubeBig1_lod
detail
plate_crush_part005
paper4
colider
decal_drip1
case_door2
model_LOD1 1
shadow
metal_g1 (6)
Base HumanLDigit43
factory_ferma_lod0
detail
colider
kaska
sand_decal_angle (2)
colider005
lamp03_lod
decal_drip11 (8)
tubeBig_angle1
Point light
wall_paint_piece7
lamp03_crush1_lod
Base HumanLDigit13
Base HumanLDigit21
colider2
lamp01
Base HumanLDigit51
polet
pillar
case_door
Base HumanLDigit23
detail
factory_wall_sink
LOD0
sand_decal1 (12)
sand_decal6
Base HumanLDigit22
detail
decal_dirt
Base HumanLDigit12
lamp01
part2
model 3
tubes2_angle_lod
decal_sand1_pillar (4)
air_conditioner
shadow
decal_drip6
tube01 (14)
wood01
decal_drip6 (48)
decal_drip1 (49)
decal_drip7 (2)
colider
lamp02
lamp01
polet_lod
col
factory_ferma_lod1
case_door1
shadow 1
sand_decal6 (56)
barrel_fire (2)
garbage_stone1
rails_lod
Base HumanLDigit43
case_shower1
Base HumanLDigit12
concr_hole2
case_shower1
case
lightglow
factory_prop01
pillar
case_door2_lod
lamp03
chemlight_LOD0
colider_door
colider1
crushed_concreate_1 1
polytheneBox (2)
decal_drip10
case1_lod
Base HumanLDigit42
garbage_stone1
Base HumanLDigit33
Base HumanLDigit31
twist_v1 (22)
tubeBig1
decal_drip6 (21)
collider
pillar
wood_box_crash1_LOD2
colider
collider
collider
metall_list2 (1)
case_door
plate05 (3)
collider
NewMultiFlareLight red
collider
case_door2_lod
decal_dirt
twist_v1 (4)
tubes2
Base HumanLDigit33
cupboard
shadow 1
shadow 17
collider
NewMultiFlareLight
colider
lamp01_lod
rails
Base HumanLDigit23
case1
chair
decal_dirt11 (14)
tube01_lod
garbage_stone2
plite_crush2
decal_dirt
lamp02
case_door1_lod
model_LOD1 1
sand_decal6
weapon_box_cover
plastic
case_door1
collider
door_4
cloth_bint3 (1)
Base HumanLDigit23
Push (2)
wall_paint_piece7_dec
ballon_new_grp
shadow_lod
weapon_box_cover_lod
glowstick light
provod_1_lod
lightglow
Base HumanLDigit11
cloth_jacket1_lod
pillar
sand_decal6 (36)
decal_drip2 (52)
sand_decal6
shadow_lod0
colider2
Outside_Door_Metal_3_R
Cube
Folders_2_03_lod1
plastic_bucket_shadow
sand_decal6
metall
collider
!concr_holes
bottle_cooler 1
woodBox_medium
Base HumanLDigit42
factory_pillar02 (4)
Base HumanLDigit43
sand_decal1
plate03_part4
pump_hi
decal_drip11 (6)
NewMultiFlareLight stick
Base HumanLDigit13
frame 1
pillar
crushed_concreate_3 (3)
decal_drip11 (19)
tubeBig1
decal_sand1_pillar
lamp03_crush2
colider 8
colider4
plate_crush_part005
Base HumanLDigit53 (1)
plate_crush_part2
kabel_pallet1
model_LOD2 1
colider
tubeBig_angle1_lod
colider
decal
windows_factory1
rack_shelf_lod1
cupboard_metal_shadow
heap_lod
metal_g1 1
DecalGraffiti (34)
ograda_2
Base HumanLDigit42
case_door1
tubeBig1
shadow 17
decal_drip
crushed_concreate_tex_tile_small (6)
door_wood1_new
Base HumanLDigit21
collider
Base HumanLDigit32
tubeBig3
Base HumanLDigit23
sand_decal6 (42)
Base HumanLDigit33
wind_1_floor
Base HumanLDigit33
lightglow
detail
metall_list1
tubeBig3
colider
KeyGrip
decal_drip1
colider
tubeBig1_lod
provod_1
pillar
detail2
tube_pile_lod
detail4
wall_paint_piece7
cupboard_lod
rack_shelf (2)
decal
windows_factory2
sand_decal6 (47)
lamp01_lod
metal_g5
decal_drip6 (43)
decal
case_shower2
case2
factory_prop01 (4)
pump_hi
case2_lod
Base HumanLDigit42
cloth_pants2_lod
model_LOD0
Base HumanLDigit41
decal_dirt10 (10)
Base HumanLDigit23
colider
tubes2_angle2
garbage_stone1
factory_ferma_lod0
colider
colider_door
lamp02_flare
Base HumanLDigit43
model_LOD2 3
colider1
colider
rails
brick_pile02_brick_dirty
garbage_paper1 (5)
lootable
lod3
tubeBig_angle1_lod
factory_ferma_lod0
barrel_old
decal_dirt10
factory_pillar_tunel_1
tubeBig3_lod
model_LOD0 1
Base HumanLDigit23
barrel_old
Base HumanLDigit33
wood_box_closed 1
sand_decal1 (19)
lamp03_lod
barrel_plastic_lod2
door_grill
shadow 8
ograda_1_lod
cardboard_LOD1
tubeBig1
cloth_pants2
detail_part2
case
windows_administrativ
cloth_jacket2_lod
collider
Base HumanLDigit41
books_02_lod0
NewMultiFlareLight stick
ballons_grp_lod2
model_LOD1
tube01_lod
factory_prop01
door_3
door_L_shadow
fire_fighter
ograda1
collider 2
case2_lod
decal_drip1
Base HumanLDigit51
Base HumanLDigit22
tubeBig1_lod
decal_dirt11
plate03_part4
plite_crush2
stool_crush
Base HumanLDigit53 (1)
Base HumanLDigit41
colider
shadow
case_door1
colider
cloth_jacket2
case_shower1
case_door
tubeBig1
evroCub (2)
polet
dust_particles (1)
door_R_lod
Base HumanLDigit32
colider2
decal_drip14 (1)
decal_drip14 (10)
ballon_new
budka_lod
weapon_box_grp
colider_door
decal_drip
case
factory_pillar_small2
heap_junk_1 (11)
test_hand
Base HumanLDigit31
decal_drip11
case2
JerryCan_lod0
Base HumanLDigit32
crushed_concreate_tex_tile_big
Base HumanLDigit12
Base HumanLDigit41
lamp03_lod
sand_decal6
Base HumanLDigit22
decal_drip6 (32)
dust_particles
decal_drip10
case_door1
Base HumanLDigit43
collider
decal
sand_decal6
decal_dirt
books_02 (2)
shadow_lod2
cloth_bint3
colider
Base HumanLDigit13 (1)
sg_targets
shadow 12
decal_dirt
crushed_concreate_tex_tile_big (19)
ograda_1
pillar
decal_drip2 (18)
side_industrial_lamp
barrel_plastic1 (14)
case_door1
Base HumanLDigit33
plate03_part3
decal_dirt
case_door1_lod
grate (11)
model_LOD2
Base HumanLDigit32
tubeBig1_lod
tubeBig_angle2
collider
collider
Base HumanLDigit23
NewMultiFlareLight top
case_door2
windows_factory3
tubeBig1_lod
bench
hit_effect
pillar
colider
colider
decal_dirt
sand_decal6
rack_shelf_lod1
ograda2
Folders_2_04_lod0
shadow_lod0
cloth_jacket2 (1)
decal_drip10
prop01
decal_dirt
tubeBig_angle1_lod
decal_drip6 (53)
lamp02_compound_blue (6)
pillar
garbage_stone1
decal_dirt11 (17)
shadow_lod1
Close
LOD0
decal_dirt9
musor_small (2)
Base HumanLDigit42
Base HumanLDigit22
decal_drip14
metal_g1 (8)
decal_sand1_pillar
Base HumanLDigit11
Base HumanLDigit32
decal_drip2 (50)
factory_prop01
decal_drip10 (31)
Base HumanLDigit41
DecalGraffiti (7)
decal_drip11 (39)
lamp03_lod
Base HumanLDigit33
cupboard_metal_lod
windows_factory6
shadow
plate_crush_part1
Base HumanLDigit33
rails
colider_door
pillar
Base HumanLDigit53
cabel
sand_decal1 (13)
rails_lod
plate03_part2
decal_drip2 (2)
pillar
case_door1
detail_part1
polet
decal_drip11 (4)
lamp02_compound_blue (3)
LOD0
sg_targets
tube_pile_new
Base HumanLDigit51
Base HumanLDigit31
case_shower1
cloth_jacket
Push (2)
evroCub
windows_factory6
colider
NewMultiFlareLight red
plate_crush_part3
door_wood1_new
colider_door
garbage_stone2
model_LOD0
decal_dirt2
decal_drip1 (32)
concr_hole3
Base HumanLDigit31
KeyGrip (1)
collider
decal_drip1
wood_box_closed_lod
shadow
lamp02_crush1
Base HumanLDigit33
weapon_box_lod
factory_pillar_small2
Base HumanLDigit23
Base HumanLDigit53
electroCar
lamp03
Base HumanLDigit43
case2
Projector
pillar
case_door2_lod
colider 17
lamp03 (8)
case2_lod
sand_decal6
gaslamp_off (6)
case_door
colider
sand_decal6
collider
door_3
colider
glass
factory_pillar02
lamp03
barrel_plastic_lod2
factory_prop01
table_4_big
collider
medkit_3
sand_decal6
ballons_grp002
case_door
shadow
cloth_bint3
decal_dirt
Base HumanLDigit43
colider 12
colider_door
plate01_part2
Base HumanLDigit23
model 1
Base HumanLDigit41
decal_drip11
factory_block1
metal_g1 1
shadow
bucket_lod_1
polet
colider
Close
colider
LOD0
Outside_Door_Metal_3_R
case1
decal_drip10 (4)
case_shower1
plate_crush_part1
case_door1_lod
polythene_box_LOD
detail
sand_decal3
KeyGrip (1)
plate03_part3
glowstick light (1)
Base HumanLDigit33
glass_crush02
garbage_stone1
barrel_old
lamp02
provod_1
sand_decal6 (48)
door_L
wall_paint_piece1
gate_metal4_2_factory
Base HumanLDigit33
tubeBig2 (7)
fire_fighter_lod
collider
pillar
ograda_1
case_door
lamp03_crush2
lamp03
factory_pillar_tunel_1
model_LOD0
sand_decal_angle
Base HumanLDigit42
detail
case_door
glowstick_white
lamp01
box_carton_set
decal_drip1 (3)
lamp03_crush2_lod
colider 17
colider
ballon
Base HumanLDigit23
sg_pivot
sand_decal6
tubes2
metal_g5 (5)
colider_door
case
Base HumanLDigit23
sand_decal_angle
detail
colider
Base HumanLDigit52
decal_dirt
Point light
pallete
Base HumanLDigit42
glass_crush02
collider
collider 2
windows_factory3
decal_drip1 (16)
weapon_box_grp
decal_drip2 (74)
cloth_bint3 (3)
case1_lod
tubes2_lod
factory_pillar_tunel_1
case_door1_lod
container_new_lod
colider
window_lod
factory_ferma
shadow 1
decal_drip11
tubeBig_angle1
lamp02
gate_R
ograda_2
Point light (7)
model_LOD0 1
collider
lamp01_lod
collider
sand_decal2
plate_crush_part2
ograda_1_lod
barrel_pile (5)
wall_paint_piece5_dec
cloth_jacket1
Base HumanLDigit23
Base HumanLDigit13
tubeBig1
NewMultiFlareLight small
plate_crush_part4
pallete
wall_paint_piece6 (5)
colider
Base HumanLDigit23
barrel_plastic_lod2
decal_sand1_pillar (6)
garbage_stone2
Base HumanLDigit13
tubes2_lod
decal_drip10 (28)
shadow 4
tubeBig_angle1 (4)
cloth_jacket
plate03_part3
Base HumanLDigit43
lamp01
DecalFootsteps (9)
colider
tube_pile_lod
barrel_pile
pillar
Base HumanLDigit32
shadow 3
colider
collision
Base HumanLDigit43
Base HumanLDigit33
tubeBig2
Base HumanLDigit51
Colider
chemlight_LOD0
weapon_box_grp
concrete
test_hand
decal_dirt
fire_fighter
colider
tubeBig1
air_conditioner3
ograda2
sg_pivot
model 6
decal_drip
case (3)
pillar
ograda1
decal_dirt
concr_hole3
case_door1_lod
hit_effect
heap_scrap_alang_7
colider
ceiling_industrial_lamp (6)
ballons_grp_lod
freight_container_door_1_Lod1
Lock
ballons_grp_lod
weapon_box_lod
sand_decal6
box_carton_set
heap_scrap_small_1
metal
lamp03
Base HumanLDigit23
plastic
decal_dirt11 (5)
cloth_jacket2
colider
Base HumanLDigit52
model_LOD1 3
wall_paint_piece2
rails_lod
Pull
woodBox_medium (12)
particle_watersplash
tubeBig1 (48)
collider
factory_pillar02 (1)
ograda1
Base HumanLDigit53 (1)
windows_factory4
koluchka
shadow
case_door1_lod
decal_dirt8
wall_paint_piece1_dec
musor_small
Base HumanLDigit53 (1)
decal_drip11 (2)
louvers1_lod
decal_drip14
Base HumanLDigit32
decal_dirt
garbage_stone1
Base HumanLDigit42
sg_pivot
shadow_lod0
collider
tubes2_1
col
detail
collider
cardboard_LOD0
case_door1
twist_v1 1
Point light window (7)
lamp1
glowstick (5)
tubeBig_angle1_lod
weapon_box_grp_lod
decal_drip11
ograda1
sand_decal6 (23)
metal
decal_dirt
wall_paint_piece7
Point light
tubeBig_angle1
barrel_plastic_lod1
paper5
detail3
case_door
colider 8
Cube
colider
decal_drip
Base HumanLDigit32
Base HumanLDigit11
Base HumanLDigit33
decal_drip2 (58)
Lod1_doorpost
wall_paint_piece7_dec
Base HumanLDigit12
colider 17
tube01
shadow
crushed_concreate_tex_tile_big
windows_factory3
model_LOD0 1
tubes2_angle
chemlight_LOD1
Base HumanLDigit33
gate_L
tubes2_lod
case2
tubeBig_angle1
colider
rails
hit_effect
factory_ferma
Pull
Base HumanLDigit42
collider
lamp01_lod
Base HumanLDigit23
cupboard_metal (3)
decal_drip11
tubeBig1_lod
decal_dirt
shadow_lod1
Lod2_door
NewMultiFlareLight stick
metal_g1 (4)
colider_door
decal_sand1_pillar
cloth_bint1 (3)
Base HumanLDigit51
tubeBig1
detail1
colider
decal_dirt
decal_drip
decal_dirt
tubeBig1
sand_decal1
case_shower1
wall_paint_piece1
balistic
decal_drip2 (2)
sand_decal6
collider
colider_door
garbage_stone1
test_hand
garbage_container_full_old
table_shadow
decal
colider
ballons_grp_lod
cloth_jacket
detail4
window_lod
lamp02_crush2
wall_paint_piece2
ograda2
sand_decal6
door_L 1
tubeBig1 (41)
case_door2
plate_crush_part1
case_door1
sand_decal6
stool_crush
cardboard_LOD0
decal_drip2 (85)
sg_pivot
decal_drip10
Base HumanLDigit23
case
collider_door1
Base HumanLDigit43
shadow 3
brick_pile02_brick_dirty
prop01
case1_lod
ballon_new
colider
Base HumanLDigit13
detail
Base HumanLDigit53
shadow
barrel_plastic_lod0
brick_pile03_brick_dirty
pillar
bucket 1
decal_dirt9 (1)
cabel_lod
decal_drip10 (9)
hit_effect
colider_door
Point light (6)
detail_part2
window_lod
lamp03_lod
decal_dirt10
detail3
wall_paint_piece2
Base HumanLDigit42
case
collider
Base HumanLDigit23
Base HumanLDigit33
collider
decal
metal_v3 (2)
plite_crush1
tubeBig_angle1_lod
Base HumanLDigit51
folder_open_lod0
shadow_lod1
shadow_lod
Base HumanLDigit21
Base HumanLDigit11
shadow 17
sand_decal6
detail
Base HumanLDigit53 (1)
ograda2
decal
decal_drip2
folders_02_lod0
case_door
polythene_box_LOD_shadow
colider
sg_targets
provod_angle2
administrativ_ladder_small
decal_drip11 (13)
rails
col
Base HumanLDigit21
colider_door
concrete
sand_decal6
Folders_2_01
case1
shadow
colider
LOD0
Base HumanLDigit43
sand_decal_angle
Base HumanLDigit51
shadow 3
lamp02
detail4
decal_dirt11
garbage_stone1
decal_drip2 (32)
Base HumanLDigit42
factory_wall_sink
colider
kabel_pallet1_lod
windows_factory3
garbage_stone1 (21)
Push (2)
sand_decal6
tubeBig1_lod
Base HumanLDigit23
tubeBig_angle1
wall_paint_piece7
cloth_bint1_lod
case
Base HumanLDigit53 (1)
door_L 1
lamp01_lod
decal_dirt
metal_g5 1
metal_g5 (28)
factory_prop01
musor_small
sand_decal4
Base HumanLDigit22
decal_dirt
lamp02_flare
prop01
Cube
door_2
part1
tubeBig1
colider 12
pillar
factory_pillar02 (1)
case
decal_dirt
cable
lamp03_crush1
Lod0_doorpost
crushed_concreate_3 (2)
Base HumanLDigit31
Base HumanLDigit53 (1)
hit_effect
Base HumanLDigit23
tubeBig1_lod
Base HumanLDigit33
model 5
shadow 17
colider_door
pillar
cloth_glove
shadow_lod2
lamp03
colider
ograda_1_lod
Lock
prop01
garbage_stone1
sand_decal6
Base HumanLDigit13
door
Base HumanLDigit33
twist_v1 1
metal_v3 1
plate01_part2
factory_pillar02
Base HumanLDigit32
collider
ograda_1
colider_door
test_hand
door_R_lod_shadow
Base HumanLDigit41
Base HumanLDigit33
decal_sand2_pillar
Push (2)
Base HumanLDigit33
detail_part1
sg_pivot
metal_g5 1
Base HumanLDigit53
model_LOD0
factory_pillar02 (3)
colider
decal_drip1
plate_crush_part1
brick_pile03
factory_ferma_lod0
Base HumanLDigit12
crushed_concreate_tex_tile_big (16)
cloth_bint3
Base HumanLDigit13
Lock
sg_targets
Base HumanLDigit21
lamp03_crush2
weapon_box
woodBox_medium_shadow
tubeBig1_lod
plite_crush1
garbage_stone1
model_LOD2 3
fog
sg_targets
cupboard_lod
heap_carton_2
wall_paint_piece2
cloth_pants2_lod
colider
garbage_stone1
collider
Base HumanLDigit43
ograda_1_lod
colider 8
collider 3
crushed_concreate_tex_tile_big
colider
GI_light
Base HumanLDigit53
Base HumanLDigit33
collider
decal_dirt
decal_sand1_pillar (9)
Point light (1)
Pull (1)
Base HumanLDigit31
plate03_part1
colider
Folders_2_03_lod0
test_hand
Base HumanLDigit31
Base HumanLDigit52
twist_v1 1
DecalGraffiti (32)
colider
decal_drip1
colider
polythene_box_LOD_shadow
colider 12
windows_factory4
gate_L
tubeBig3
Base HumanLDigit51
decal_drip
colider
decal
prop01
decal
lamp01
sand_decal3
shadow_lod
kaska
plite_crush2
NewMultiFlareLight small
sg_pivot
plite_crush1
tubeBig_angle1 (14)
tubeBig1_lod
lamp01
provod_1
lamp_crush01
cloth_pants
lamp01
ballons_grp
ograda_1_lod
sand_decal6
tubeBig1
Base HumanLDigit43
garbage_stone1
windows_factory3
Base HumanLDigit31
cloth_shirt
Base HumanLDigit52
collider
colider
Scene Sounds
colider 17
NewMultiFlareLight stick
garbage_stone1
barrel_plastic1 (10)
ograda_1
EditorDecalManager
sand_decal6
model
cardboard_set2 (1)
Base HumanLDigit13
collider
lod
decal_drip2 (2)
shadow_lod0
tube01 (21)
metal
cloth_jacket2
plate_crush_part1
Base HumanLDigit41
lamp01
gate_R
prop01
book_02_lod0
decal_drip14 (1)
plate_crush_part2
shadow_door
tubeBig1_lod
model_LOD1 1
colider_door
Base HumanLDigit22
Base HumanLDigit12
ograda1
shadow 1
wall_paint_piece2_dec
sand_decal6 (3)
lamp03
unitaz_part1
perexod
Base HumanLDigit13
sand_decal6 (37)
poster2
Base HumanLDigit53 (1)
factory_pillar04
factory_pillar_tunel_2
sand_decal6 (50)
test_hand
cloth_pants2_lod
case_door2_lod
collider
collider
decal
Base HumanLDigit11
shadow 8
poletelen02 (1)
decal_drip1
case_door2
tubeBig1_lod
walllight
factory_prop01
Base HumanLDigit32
rails
shadow
lamp03
tubeBig_angle1
factory_pillar04
plate02_part2 (1)
Base HumanLDigit32
case_shower1
tube01_lod
Lock
Base HumanLDigit21
metal
freight_container_door_2_Lod0
garbage_stone1
colider
ograda_2
provod1
model_LOD2 1
decal_dirt10
case_shower2
DecalGraffiti (29)
cupboard_old
shadow_door
Cube (1)
glowstick light
barrel_old
LOD0
Base HumanLDigit53 (1)
metal_g1 (1)
tubeBig1
cloth_shirt_lod
colider
tube01 (23)
sg_pivot
factory_prop01
barrel (4)
lamp03_lod
Base HumanLDigit22
detail
barrel (10)
Lod1_door
plite_crush2
Point light (9)
case_shower1
door_wood1_new
collider 1
twist_v2 1
collider
door_1
metal_g5 1
colider
decal_drip11 (2)
Base HumanLDigit41
lamp03_lod
factory_pillar02
colider
windows
decal_drip11
sink2
decal_dirt
plite_crush1
colider
plate_crush_part2
sg_pivot
tubeBig2 (5)
polet_lod
shadow 3
factory_pillar_tunel_1
Base HumanLDigit51
heap_scrap_small_1
brick_pile02_brick_dirty
wall_paint_piece2
crushed_concreate_tex_tile_big (8)
cloth_jacket2_lod
cloth_jacket2
colider_door
tubeBig1_lod
freight_container_6m_1_Lod1
DecalGraffiti (27)
barrel_metal_lod0
cloth_bint3
test_hand
sand_decal6
collider
barrel_plastic_lod1
Base HumanLDigit11
garbage_stone1
wall_paint_piece6
Base HumanLDigit53
emergency_exit_light_emissive (3)
collider
decal_sand1_pillar (6)
model_LOD1
paper_box
colider
Base HumanLDigit13
collider
Base HumanLDigit12
Base HumanLDigit52
freight_container_6m_1_Lod1
detail3
decal_drip11
tubeBig1_lod
lamp01_lod
Base HumanLDigit33
lamp_crush02
decal
Base HumanLDigit12
plate_crush_part3
Base HumanLDigit33
tube01
hit_effect
sg_pivot
model_LOD0 1
colider
cloth_pants1
case_door
gaslamp_off
decal_dirt
factory_prop01
factory_pillar_small2 (1)
factory_pillar_tunel_1
colider
cloth_bint3
case1_lod
paper3
Base HumanLDigit41
Base HumanLDigit13
garbage_stone1
collider
tubeBig_angle1
case
Base HumanLDigit51
model_LOD2
heap_lod
Cube
cardboard_LOD2
provod_1_lod
sand_decal2
barrel_metal_lod1
provod_1
collider
metall_list1
provod_1
Base HumanLDigit32
model_LOD1 3
case1
collider
plate03_part3
plite_crush1
tubeBig1_lod
tubeBig1
colider1
decal_dirt
plate_crush_part1
woodBox_medium
collider
lamp01
colider
detail_part2
case_door1_lod
case_door1_lod
garbage_stone1 (9)
decal_drip13
Base HumanLDigit21
door_grill
sand_decal6
decal_drip11 (3)
tubeBig1_lod
concrete
decal_drip1
Base HumanLDigit53
sand_decal1 (2)
LOD0
collider
tube01_lod
Lod0_doorpost
sg_targets
colider_door
plate_crush_part4
part2
decal_dirt
book_open_02 (1)
tubeBig1 (34)
colider
shadow 7
case_door
col
decal_drip6 (38)
chemlight_LOD1
decal_dirt2 (1)
Base HumanLDigit53
Point light (7)
case_door1_lod
cloth_jacket1_lod
Folders_2_01_lod0
decal
case_door2
pump_station02
crushed_concreate_tex_tile_small (5)
case_shower1
paper_box
garbage_stone2
model_LOD2 4
doorhandle
lamp03_lod
case1_lod
door_wood1_new
sand_decal2
colider
Base HumanLDigit22
barrel_metal_lod2
barrel_fire_smoke (1)
test_hand
shadow 17
lampGIlight
weapon_box_grp_lod
factory_pillar_tunel_2
colider_R
case_door1_lod
case_door1_lod
decal_drip6
glowstick_white (3)
pillar
decal_sand1_pillar
colider
Base HumanLDigit51
tubeBig1_lod
NewMultiFlareLight stick
colider_door
detail3
metal_g5 1
colider
sand_decal1
sg_pivot
barrel_old
DecalGraffiti (21)
kran_small
Lod0_door
shadow_lod2
colider 12
!patron light
colider
wall_paint_piece1
colider_door
DecalGraffiti (31)
decal_drip6 (26)
colider
folders_02
paper2 (2)
Base HumanLDigit13
NewMultiFlareLight_gas light (5)
model_LOD0
detail1
metal
wall_paint_piece2
factory_pillar03
colider
decal_dirt11 (1)
colider
heap_junk_1 (6)
heap_scrap_alang_7
Base HumanLDigit43
Base HumanLDigit22
wall_paint_piece4
tubeBig2
air_conditioner3 (2)
model_LOD0
barrel_pile
balistic_col
test_hand
puddle
gaslamp_broken
ograda_1_lod
collider
Base HumanLDigit22
Base HumanLDigit41
pallete (2)
wall_paint_piece7
case_door1_lod
decal_dirt1
factory_pillar04
colider
decal_drip2
Push (2)
factory_prop01 (4)
part1
garbage_constructor_big_lod
tubeBig3_lod
tube_pile
Lod1_doorpost
sand_decal6 (2)
decal_drip6
colider
decal_dirt10
decal_dirt
test_hand
Base HumanLDigit21
tubeBig_angle1
tubeBig_angle1
eurocube_dec_1
Push (2)
tubeBig_angle1
Base HumanLDigit42
Base HumanLDigit22
tube01
decal_dirt11
lamp02
cardboard_LOD1
decal_drip7 (3)
wall_paint_piece4_dec
sg_targets
Base HumanLDigit41
lamp01
decal_dirt
provod_angle1
decal_drip11 (4)
crushed_concreate_tex_tile_big
decal_dirt5
decal
case_lod
decal_sand1_pillar (5)
gaslamp_broken
Base HumanLDigit32
test_hand
case2
factory_ferma2
collider
plate_crush_part2
Base HumanLDigit53 (1)
lightglow
shadow 17
decal_drip2 (56)
tubes2
prop01
lamp01_lod
garbage_stone1
colider 8
decal_drip1
case
decal_drip2 (83)
sg_pivot
case_door1
provod1
shadow
decal_dirt
sand_decal_angle
bucket_shadow
factory_ferma_lod1
case_door1
collider 1
test_hand
garbage_stone1
tube01 (18)
decal_drip11 (3)
case
bench_lod
collider
decal_drip6 (42)
cloth_glove
shadow 6
colider
Base HumanLDigit32
Base HumanLDigit13
factory_ferma
ograda_2_lod
Base HumanLDigit12
decal_sand1_pillar
colider
heap_scrap_alang_7
Cube
!dust
collider
twist_v1 (21)
air_conditioner1_lod
concreate_tex_tile_small
colider
Base HumanLDigit21
factory_wall_sink
pallete
Base HumanLDigit32
case_door
colider
Base HumanLDigit52
decal_drip
hit_effect
case_shower2
Base HumanLDigit23
decal_drip1 (50)
colider_door
NewMultiFlareLight (3)
decal_dirt10
Base HumanLDigit42
wood_box 1
!concr_holes
louvers3
colider
tubeBig1 (56)
ballons_grp_lod
Base HumanLDigit43
decal_drip14 (4)
decal_dirt5
Base HumanLDigit31
sand_decal6
sand_decal_angle
pillar
book_open_02_lod1
safe
Base HumanLDigit33
Base HumanLDigit53 (1)
model_LOD1 1
paper2
collider
Base HumanLDigit13
detail
detail
Lod2_doorpost
Cube
LOD0
decal_dirt7
tubeBig_angle1
sg_targets
detail
sand_decal6 (70)
colider
factory_ferma
tubes2_1_lod
plate_crush_part1
colider
decal_dirt11
pillar
walllight
wood_box_closed_lod
freight_container_door_2_Lod0
decal_drip2
decal_drip10 (33)
collider
Cube (2)
factory_pillar02
decal_dirt
case_door2_lod
collider
case_door2
gaslamp_broken
Base HumanLDigit42
barrel_plastic1 (5)
Base HumanLDigit51
tubeBig1
model_LOD0 3
decal_drip2
Base HumanLDigit23
colider
decal_drip
tube01 (8)
Base HumanLDigit23
model_LOD2 1
pillar
case_door
decal_dirt11 (11)
colider
proxod_concrete
ograda_1
glowstick light
metal_g5 1
crushed_concreate_tex_tile_small (10)
lamp03_crush1_lod
model_LOD2 3
factory_pillar04
!GameObject
Base HumanLDigit31
provod_1_lod
ballons_grp_lod
plite_crush1
colider
rails
colider
garbage_stone1 (18)
factory_ferma_lod1
colider
colider 8
Lod2_door
colider_door
decal_drip1 (68)
shadow 2
case_door1_lod
twist_v1 (16)
factory_pillar_tunel_1
cardboard_box 1
colider
shadow 12
Base HumanLDigit13
decal_dirt11 (18)
cardboard_LOD1
colider_door
shadow_doorpost
part2_lod
decal_drip1 (46)
sand_decal1
sg_pivot
polythene_box_LOD
tubeBig1_lod
Outside_Door_Metal_3_R
tubeBig_angle1_lod
ograda_1
collider
sand_decal6 (41)
lamp02_compound (6)
plate
colider_L
decal_dirt
colider 17
decal_drip
prop01
colider
decal_sand
Base HumanLDigit33
decal_drip2 (91)
decal_dirt10 (15)
tubeBig_angle1
polet
shadow_door
Base HumanLDigit33
decal_sand2_pillar
plastic
barrel_plastic_lod1
crushed_concreate_tex_tile_big (11)
chemlight_LOD1
test_hand
gate_R
rails
model_LOD1
garbage_stone1
shadow_lod
DecalGraffiti (13)
case_shower2
detail
metal
NewMultiFlareLight_gas light (7)
sink3
Base HumanLDigit33
detail
garbage_stone1
factory_prop01 (3)
colider_door
ograda_1_lod
colider1
shadow 17
cloth_jacket (2)
colider
colider3
grille_LOD0
cardboard_LOD0
decal_dirt7
Base HumanLDigit33
colider
louvers2
cloth_bint1
shadow 12
plate_crush_part4
decal_dirt
card_file_Position_Pers
colider 7
case
Base HumanLDigit33
colider
Base HumanLDigit22
Base HumanLDigit23
Lod2_doorpost
colider
cloth_jacket
provod_1_lod
lesa_crush02_lod
windows_factory3
lamp02_compound_blue (4)
Base HumanLDigit13
colider
case_shower1
metall_lod
tubeBig1
decal_dirt
tubes2_angle_lod
Push (2)
garbage_constructor_big_lod
factory_pillar02
model_LOD2
decal_drip2
wall_paint_piece2
weapon_box_cover
tubes2_angle2
sand_decal2
decal_sand1_pillar
KeyGrip (1)
tubeBig1_lod
Base HumanLDigit21
model_LOD1
LOD0
sand_decal6 (26)
shadow 1
decal_dirt1 (1)
tubeBig2
decal_drip2
grate (8)
metal_g1 (13)
tubeBig1
factory_ferma_lod1
metall_list1
colider2
cloth_jacket (1)
filllight
factory_pillar_small1
shadow 6
rack_shelf_shadow
Base HumanLDigit51
colider
decal_dirt
polet_lod
tubeBig_angle1
barrel_old
decal_drip2
collider
weapon_box_grp
tubeBig_angle1_lod
plate_crush_part005
cloth_bint3
garbage_paper1 (6)
colider
Base HumanLDigit51
garbage_stone2
factory_pillar_shower
case2
case_door1
shadow 1
decal_drip4
decal_drip2
prop01
glowstick light
Base HumanLDigit31
collider
hit_effect
plate_crush_part005
colider
detail1
plate_crush_part2
collider
factory_ferma
cloth_shirt_lod
colider
decal_sand2_pillar
colider
factory_pillar02
cloth_shirt
ballons_grp_lod
decal_dirt
shadow
Base HumanLDigit21
cloth_jacket2
case_shower1
case
rack_shelf_shadow
colider
heap_junk_1 (3)
polet
tubeBig_angle1 (6)
wood_box_closed (6)
factory_prop01
DecalFootsteps (20)
heap_junk_1 (9)
colider
factory_pillar_tunel_1 (6)
tubes2
chair_cruash
shadow_lod0
sand_decal6
colider
pallete
wall_paint_piece7
plite_crush1
concr_hole3
louvers2_lod
barrel_old
Lock
shadow_lod1
collider
colider
detail
decal_dirt10
tubeBig1
decal_dirt
collider
garbage_constructor_lod
garbage_stone1
case_door
colider
collider
colider1
shadow
tubeBig_angle1
socket 1
Base HumanLDigit22
case_door2
decal_drip1 (6)
case
door
collider
walllight
model_LOD1
tubeBig_angle2_lod
door_R_lod_shadow
sink1
case2_lod
DecalGraffiti (8)
detail3
louvers2
Base HumanLDigit12
provod1
shadow_lod
case_door2
twist_v1 (8)
frame 1
wall_paint_piece5
walllight
Base HumanLDigit41
rack_shelf_shadow
tubeBig3
cardboard_LOD0
case_shower1
prop01
case2_lod
Base HumanLDigit43
barrel_fire_heat
decal_dirt1
shadow 7
decal_drip1 (34)
decal_dirt10
pump_station02
lamp02
gaslamp_broken
decal_drip1 (11)
Base HumanLDigit23
model_LOD2 1
plate03_part4
KeyGrip (1)
paper3
cable
tubeBig_angle1_lod
colider
tubeBig3_lod
polet_big
sink1
tubeBig_angle1 (17)
heap_junk_1 (10)
colider 19
lightglow (2)
model_LOD2 1
Base HumanLDigit53
decal_dirt11
shadow
case_door
sand_decal6
socket2 (3)
case_door
shadow 12
ograda_2
case_lod
twist_v1 1
collider
polet
hit_effect
lod3_2
sg_targets
colider_door
grate (6)
case2
Base HumanLDigit13
model_LOD0 1
case_lod
pillar
Base HumanLDigit41
case_door2_lod
colider_door
Base HumanLDigit42
model_LOD1 3
shadow
colider3
colider
walllight
sg_targets
tubeBig1
model_LOD2 3
garbage_stone2
plate_crush_part1
factory_pillar_tunel_1 (13)
cup_lod0
Base HumanLDigit33
collider
wall_paint_piece1
Base HumanLDigit43
factory_prop01
concr_hole4
decal_drip11
book_04_lod0
proxod (3)
decal_dirt10
decal_drip11 (20)
Base HumanLDigit11
tube01
rails_lod
model_LOD1
colider
Base HumanLDigit11
tubeBig1
Point light
Base HumanLDigit32
colider 12
books_02
tubeBig2
Base HumanLDigit31
Base HumanLDigit53
detail
pillar
Base HumanLDigit22
decal_drip1
Base HumanLDigit33
tube_kran
lamp01
ballons_grp002
tubeBig1
decal_drip1
collider
LOD0
case2_lod
tubes2_angle_lod
factory_block1
Base HumanLDigit53
Base HumanLDigit53 (1)
decal
sand_decal5 (1)
case_door2_lod
tubeBig1_lod
decal_dirt
pillar
Base HumanLDigit33
decal_drip10
colider
detail
case1
lamp03_crush2
Base HumanLDigit11
twist_v1 1
sand_decal6 (40)
shadow 17
wall_paint_piece5
shadow 17
decal_drip6
case_shower1
factory_boil
colider
Base HumanLDigit23
Lod1_door
Base HumanLDigit42
case
plate05
sand_decal3
detail
metal_g5 1
lamp01
lamp03_crush2_lod
case_door2_lod
Cube
cistern_metall
sand_decal6 (62)
paper_box
metal_g5 (12)
cardboard_set1
tubeBig1
decal
colider 17
plate02_part1 (1)
decal
Cube
ballons_grp
colider
detail005
pillar
model_LOD0 1
case1
plate05 (8)
colider
sand_decal6 (33)
colider
plate_crush_part3
wood_box 1
Point light window
Base HumanLDigit23
collider
case_door
DecalGraffiti (1)
KeyGrip
tubeBig_angle1
colider
sand_decal1 (5)
collider
effect_pivot
decal_sand1_pillar
Base HumanLDigit53 (1)
part2
Base HumanLDigit32
Push (2)
colider
crushed_concreate_tex_tile_small (12)
Folders_2_03
Base HumanLDigit12
colider_door
Base HumanLDigit23
colider
sg_pivot
model_LOD1
tubeBig1 (16)
pillar
collider
Base HumanLDigit13
case
cloth_bint1
door_R
metal_g1 1
tubeBig1
colider
case_door2
wall_paint_piece2
case_door2_lod
unitaz_part1
Folders_2_03 (1)
tubeBig2_lod
collider 3
cloth_bint1_lod
test_hand
colider
Base HumanLDigit22
colider1
cloth_jacket1_lod
col
Base HumanLDigit32
Base HumanLDigit53
case_door
metal_g5 (27)
electroCar_lod
brick_pile02_brick_dirty
pumpsmall
collider
shadow
sink2
lamp01_lod
plate_crush_part4
decal_dirt
garbage_stone2
colider
decal_dirt10
decal_dirt
decal_drip2 (4)
lamp03_lod
shadow 6
Base HumanLDigit31
metall_list2 (2)
rails_lod
case_door
heap_junk_1 (2)
door
collider 1
factory_block1
part2
louvers2
case
Base HumanLDigit33
decal_dirt
glowstick_white
case1
tubeBig2
sand_decal6
shadow 1
Base HumanLDigit41
twist_v1 1
garbage_stone1
door
shadow 12
decal_drip1
freight_container_door_1_Lod1
barrel_old
model_LOD2 2
colider_door
decal_dirt1
Base HumanLDigit43
provod_angle2_lod
decal_drip2 (46)
shadow 2
decal_sand1_pillar (1)
decal_dirt9
colider 1
case_door2
factory_weight
case_door
decal_sand1_pillar
garbage_stone1
crushed_concreate_3 1
lamp03 (15)
lamp01
tubeBig_angle1
decal
stool_crush_lod
Base HumanLDigit21
Cube
collider
provod_angle1
sand_decal6 (3)
cloth_bint1
colider
sand_decal5
barrel_plastic_lod0
decal_drip11 (2)
colider
lamp02_crush2
case_shower2
sg_pivot
Base HumanLDigit21
tubes2
detail005
tubeBig1
tubeBig1
plate03_part3
shadow 1
tubes2_angle
shadow
Lod2_door
shadow
colider
chair
shadow_lod0
Base HumanLDigit43
Base HumanLDigit43
ograda_1
prop01
decal_dirt10
lamp03_crush1
detail2
colider
shadow 4
cardboard_LOD2
provod1
colider
koluchka
decal_dirt
polet
lamp_crush02
sg_pivot
Base HumanLDigit11
metall
medkit_3
wood
colider
cloth_jacket2_lod
factory_block1
woodBox_medium_shadow
colider
decal_drip1
glowstick light
decal_drip14 (3)
collider
decal_dirt10
garbage_stone1
plastic
detail
pump_lo
colider
bottle_cooler_lod_2_shadow
garbage_stone1 (28)
ballons_grp002
garbage_stone1
tubeBig1
Base HumanLDigit31
books_02_lod1
lamp01
decal_dirt
Base HumanLDigit43
decal
electroCar
kaska
garbage_stone1
concr_hole3
shadow
colider
metal_g5 (6)
Base HumanLDigit32
rails
sg_targets
shadow 7
colider
colider1
Base HumanLDigit12
Base HumanLDigit43
detail3
barrel_plastic1 (7)
kaska (1)
tube01
Base HumanLDigit43
Base HumanLDigit53
case_door1
wall_sink
model_LOD0 4
shadow_lod0
weapon_box_cover_lod
detail
shadow_lod1
twist_v1 (11)
colider
metall
LOD0
lamp03
case_door
door
sand_decal6
Base HumanLDigit23
decal
colider_door
sand_decal6
sand_decal6
Base HumanLDigit33
garbage_stone1
Base HumanLDigit43
wall_paint_piece7_dec
decal_dirt
shadow 19
colider
colider
tubeBig1_lod
plate_crush_part3
Base HumanLDigit51
windows_factory5
cabel
Base HumanLDigit33
Point light (1)
plate05
Lod2_door
case
detail005
lamp01
Base HumanLDigit22
Base HumanLDigit22
wall_paint_piece2_dec
crushed_concreate_tex_tile_small (1)
Base HumanLDigit11
tubeBig1
Base HumanLDigit52
concrete
case_door1
lamp02_compound (2)
garbage_stone1
decal
Base HumanLDigit41
case1_lod
case_door
provod_1_lod
tubeBig_angle1
tubes2 (3)
colider
case2_lod
container_6m
Base HumanLDigit23
provod2
metall
tunel_enter_lod
tubeBig1_lod
garbage_stone1
case_door1
Base HumanLDigit53
windows_factory3
table_lod
Base HumanLDigit11
evroCub
door_L 1
colider
tubeBig1
tubeBig_angle1_lod
sg_pivot
door_3
stool_crush
Base HumanLDigit41
colider
Base HumanLDigit41
model_LOD2
decal_dirt
tubeBig1_lod
eurocube_dec_1
Base HumanLDigit53
Base HumanLDigit21
Base HumanLDigit12
model_LOD1 2
colider_door
decal_drip2 (1)
Point light (6)
lamp03_lod
Base HumanLDigit23
garbage_stone1
wood_box_closed 1
Point light
colider
Base HumanLDigit53 (1)
decal_sand1_pillar
decal_drip2 (64)
case
glowstick light
colider 12
lamp03_crush1
model_LOD1 3
Base HumanLDigit21
pump_station
tube_pile
collider
tube01
hit_effect
Base HumanLDigit33
Base HumanLDigit13
decal_dirt
tubeBig1_lod
windows_1_floor
tubeBig_angle1
ograda2
metal
cardboard_LOD1
lamp03_crush2
case_door
sand_decal6
shadow 3
Base HumanLDigit13
collider
pillar
tube01_lod
decal
Base HumanLDigit53 (1)
pillar_big
garbage_stone2
collider_door1
sg_pivot
Base HumanLDigit31
shadow 17
case_door
pallete
container_12m
factory_pillar04
barrel_plastic_lod0
colider
plastic
plate05 (6)
ograda2
decal
collider
Base HumanLDigit23
barrel_plastic_lod2
static_collider
colider_door
part1_lod
model_LOD2
pillar
Base HumanLDigit43
colider 8
LOD0
garbage_stone1
lightglow
tube01_lod
tubeBig1
Base HumanLDigit33
colider
factory_pillar_tunel_1
Lock
colider 17
collider
collider
case_door1_lod
cloth_glove
decal_dirt
tubeBig1 (59)
twist_v1 1
barrel_old
bucket (1)
box_carton_set
decal_drip10
decal_drip11
tubeBig1 (5)
polet_lod
cloth_bint3 (2)
twist_v1 (10)
garbage_stone1 (4)
Base HumanLDigit43
shadow 8
stool_crush
plate02_part2 (1)
Base HumanLDigit51
Base HumanLDigit11
unitaz
rails
collider_cover
decal_sand
col
Base HumanLDigit42
Base HumanLDigit12
filllight
pallete_lod
door3
sand_decal6
detail
cloth_bint3
Base HumanLDigit53 (1)
sg_targets
case_shower1
folders_02
decal_drip
provod1
pipe
Base HumanLDigit31
collider
colider
collider
rails
Decals
wind_1_floor_lod
collider_door3
colider
shadow_lod
Base HumanLDigit11
book_open_02
sand_decal6 (47)
gaslamp_compound (6)
concrete
node (2)
Projector
tubeBig1
crushed_concreate_tex_tile_big (4)
handle_axis_in
colider
woodBox_medium (9)
cloth_shirt
case_door
decal_drip6 (2)
plate02_part1
colider3
LOD0
decal_sand2_pillar
case1_lod
tubeBig1
collider
Base HumanLDigit32
Base HumanLDigit43
Base HumanLDigit41
Base HumanLDigit13
Base HumanLDigit43
Base HumanLDigit53 (1)
DecalFootsteps (43)
model_LOD1
Base HumanLDigit13
collider
colider
polet
decal_drip1 (15)
tubeBig_angle1_lod
sg_targets
brick_pile03_brick_dirty
plate_crush_part1
cup (1)
koluchka
Base HumanLDigit53 (1)
glowstick light
cloth_jacket2_lod
glass_crush02
Base HumanLDigit32
lamp01
Base HumanLDigit33
Lod0_doorpost
decal_drip11 (1)
bench_lod
case_door
decal_sand1_pillar
twist_v1 1
cardboard_LOD2
detail
decal_drip2 (61)
cloth_shirt (3)
colider
kaska
paper3 (1)
lamp01
tubeBig_angle1
cloth_shirt_lod
shadow
paper_box
Base HumanLDigit21
colider
ballon_new
barrel_pile (7)
administrativ_ladder
factory_pillar02
plate01_part2
barrel_plastic_lod2
sand_decal6
case2
detail2
Base HumanLDigit52
colider
crushed_concreate_tex_tile_small
tubeBig1
case
weapon_box_grp
ballon_new
garbage_stone1
Base HumanLDigit32
tubeBig_angle1_lod
shadow_lod0
provod_2_lod
tubeBig1_lod
sg_pivot
windows_factory5
Lock
shadow_door
evroCub
Base HumanLDigit11
shadow 1
sand_decal6 (46)
decal_drip13
decal
shadow 1
ograda_2_lod
plate_crush_part1
sand_decal6 (58)
lightglow
factory_prop01
colider
Base HumanLDigit41
container_6m
gate_metal4_2_factory
sofa
pumpsmall
plite_crush2
cloth_glove_lod
Base HumanLDigit33
colider
balistic
decal_dirt
case_door
polet_lod
cable (1)
decal_drip
decal_drip2
sand_decal6
LOD0
plate
wood_box_crash1_LOD1
heap_scrap_alang_7
polet_lod
colider
Base HumanLDigit42
shadow
cupboard_lod
Base HumanLDigit42
tubeBig1 (14)
factory_pillar_shower
balistic
tubeBig_angle2
door_wood1_new
barrel_metal
Base HumanLDigit11
KeyGrip
decal_drip1 (20)
voronka 1
model_LOD2
Lod1_door
pillar
decal_drip10 (22)
colider_door
barrel_pile
NewMultiFlareLight (3)
cloth_pants_lod
colider
case_shower1
case1
handle_axis_out
windows_administrativ
plate03_part3 (1)
sand_decal6
detail3
weapon_box_cover_lod
barrel_metal_lod1
collider
kran_big
wall_paint_piece2
static_collider
Base HumanLDigit43
Base HumanLDigit51
shadow
lamp03 (6)
colider
colider 17
Folders_2_04_lod1
factory_ferma_lod1
windows_factory4
hit_effect
lamp02_crush1
NewMultiFlareLight stick
colider
cloth_jacket2
tubeBig_angle1_lod
case_shower2
Base HumanLPalm (5)
plate_crush_part1
ograda2
cloth_pants1
plate02_part2 (3)
cloth_bint3_lod
Base HumanLDigit12
garbage_stone2
sand_decal6 (73)
lamp03_crush2
collider
grate (10)
glass
detail2
colider
Base HumanLDigit33
case_door
plate_crush_part3
crushed_concreate_tex_tile_big (1)
KeyGrip (1)
decal_drip2
factory_pillar_tunel_1
folders_02 (1)
garbage_stone1
decal_drip2
decal_drip6
door
garbage_stone2 (6)
colider
colider
Base HumanLDigit12
factory_ferma_lod1
factory_pillar_tunel_1
Base HumanLDigit52
Point light (2)
Point light
decal_drip2
model_LOD2
decal_dirt11 (16)
pillar
provod_2_lod
sg_pivot
collider
lamp1
card_file_box_Anim2
tubes2_angle2
books_02_lod1
metal_g5 (26)
pillar
collider
tube01
gaslamp_off
doorhandle_lod1
plastic
rails
decal_drip2
Base HumanLDigit23
paper5
Base HumanLDigit52
crushed_concreate_tex_tile_small (7)
decal_drip10
garbage_stone1
case1
detail2
barrel_old
ograda1
window_lod
ladder
tubeBig1
cloth_jacket1
decal_sand1_pillar
plate03_part1
cloth_glove
colider
chemlight_LOD0
lamp03_crush1_lod
shadow 17
wall_paint_piece7_dec
wall_paint_piece7_dec
factory_pillar_tunel_2
Base HumanLDigit22
lamp01
door 1
DecalFootsteps (35)
heap_junk_1 (1)
lamp01_lod
decal_drip2 (87)
colider1
colider
plate_crush_part1
colider 8
detail3
crushed_concreate_tex_tile_big
wall_paint_piece7
Base HumanLDigit21
Cube
doorpost_metal_LOD2
Point light
sg_pivot
sand_decal6
garbage_stone2
ograda1
rifleshell_grp
case
model_LOD2 1
medkit_4
sand_decal6 (38)
factory_pillar_small2
tubeBig_angle1
exit (2)
tubeBig1 (2)
colider
rails
Base HumanLDigit43
polet
decal_drip1
cloth_jacket1
rifleshell_grp
case_door2_lod
lamp03_crush1_lod
decal_sand1_pillar
glowstick light
colider
Base HumanLDigit22
colider
Base HumanLDigit12
tubeBig_angle1
polet (2)
sand_decal2
musor_small
Base HumanLDigit53
colider
sand_decal5
sand_decal6
Base HumanLDigit33
ograda1
Base HumanLDigit43
shadow
colider005
Base HumanLDigit43
Base HumanLDigit33
collider
detail
case_door
decal_sand1_pillar
lamp01
plate_crush_part005
sand_decal_angle
Base HumanLDigit43
plate_crush_part3
electroCar
Point light flicker tunnel (1)
Base HumanLDigit52
Base HumanLDigit23
metal
colider
Lod2_doorpost
plate_crush_part2
Base HumanLDigit13
LOD0
Base HumanLDigit11
lamp02
detail1
case_shower1
garbage_stone1 (1)
detail3
plate_crush_part1
wall_paint_piece7
Base HumanLDigit13
paper5
pallete
Base HumanLDigit12
tubeBig_angle1_lod
tubeBig1_lod
shadow 17
decal_dirt11
colider
decal_drip11
side_industrial_lamp (12)
tubeBig1
colider
factory_pillar04
pillar
ograda_1
Base HumanLDigit53 (1)
factory_signs8
tubeBig_angle1
decal_drip10 (7)
tubeBig1
cupboard_metal_lod
part1
plite_crush2
case_door
sg_targets
metal_g5 1
chemlight_LOD0
colider001
sand_decal6
freight_container_6m_1_Lod0
electrobox
door_1
door_L_lod
Base HumanLDigit23
plate03_part3
freight_container_door_3_Lod0
Base HumanLDigit13
decal_drip
decal_drip6
part1_lod
decal_dirt5
Base HumanLDigit51
tubes2
garbage_stone2
chair_crush
gate_L
gate_metal4_2_factory (2)
decal_sand2_pillar
tubeBig2
plate01_part1
Base HumanLDigit43
Base HumanLDigit42
tubeBig1_lod
plate_crush_part2
grate (5)
model_LOD1 1
cloth_bint1
freight_container_door_3_Lod1
rack_shelf_col
DecalGraffiti (19)
pillar
Base HumanLDigit33
detail
shadow
weapon_box_cover
colider
colider_door
decal_dirt1
tubeBig3_lod
sand_decal6
shadow 7
Base HumanLDigit23
lamp03
weapon_box_lod
ograda2
!lightplanes sun
StaticManager
colider
detail1
colider
decal_sand1_pillar (4)
tube01 (1)
electroCar (1)
Base HumanLDigit43
Pull (1)
plate03_part3
case1
crushed_concreate_tex_tile_small
tubeBig_angle1
collider_door4
ograda1
colider
sg_targets
Base HumanLDigit32
garbage_stone1
factory_ferma_lod0
decal_drip6 (9)
case_door1
walllight
model_LOD0
garbage_stone1
decal_dirt11
ograda_2_lod
colider_door
decal
decal_sand
cloth_shirt_lod
Base HumanLDigit43
Base HumanLDigit22
decal_dirt
sink1
Base HumanLDigit23
case_shower2
wood
sand_decal6 (22)
collider
Base HumanLDigit33
case_door2
lightglow
wall_paint_piece6_dec
decal_dirt10 (23)
Push (2)
collider
sand_decal6
decal_drip2 (1)
woodBox_medium (18)
Base HumanLDigit32
scatter_paper_1
provod1
decal_dirt1
tubeBig_angle1
tubeBig_angle1_lod
colider_door
decal_drip2 (3)
collider
cloth_shirt_lod
wood
Base HumanLDigit13
ladder
Base HumanLDigit32
crushed_concreate_1 1
case_door1_lod
Cube
plate02_part2
tubeBig_angle1_lod
Base HumanLDigit33
barrel_fire_heat
Base HumanLDigit12
case1_lod
ograda2
Garbage_constructor
koluchka
Folders_2_01_lod0
voronka (1)
detail2
concrete_lod
Base HumanLDigit33
garbage_stone1 (16)
sg_pivot
Base HumanLDigit33
Base HumanLDigit13
barrel_fire_smoke (1)
cloth_jacket2
DecalFootsteps (28)
dust_particles
sg_pivot
Lod2_doorpost
colider
plate05
Base HumanLDigit21
decal_dirt9
Base HumanLDigit43
NewMultiFlareLight top
prop01
heap_carton_2
plite_crush2
crushed_concreate_tex_tile_big (20)
decal_drip6 (1)
cloth_bint3_lod
plate
heap_scrap_small_1
glass_crush02
detail005
detail1
cloth_jacket2
Base HumanLDigit11
barrel_plastic_lod1
Base HumanLDigit12
eurocube_dec_1
provod1
kran
lod3
Base HumanLDigit13
decal_drip1
lamp03_crush2
wall_paint_piece2
colider 18
factory_pillar_tunel_1 (16)
Base HumanLDigit13
case1
sand_decal_angle
collider
lamp01_lod
test_hand
plate03_part2
book_open_02_lod0
windows_factory1
colider
test_hand
colider
tubeBig_angle1 (10)
garbage_stone1 (13)
Base HumanLDigit33
sg_targets
model_LOD1 1
lamp03_lod
barrel_metal_lod2
model_LOD1
garbage_stone1
decal_drip2 (28)
pillar
kaska
tubeBig1_lod
colider 7
Base HumanLDigit32
Base HumanLDigit53 (1)
model_LOD1 1
concr_hole2
Push (2)
gate_metal4_2_factory (3)
Base HumanLDigit53
colider
Base HumanLDigit42
colider
collider
decal_drip14
woodBox_medium_shadow
pillar
sand_decal6
detail
wall_paint_piece6 (4)
collider
lamp02_crush2
decal_dirt10
Base HumanLDigit12
sg_pivot
sand_decal2
test_hand
factory_ferma2
garbage_stone1
Base HumanLDigit42
plate_crush_part1
Base HumanLDigit31
case2
shadow 12
freight_container_door_1_Lod1
colider_door
Base HumanLDigit33
sand_decal6 (45)
factory_prop01
colider2
chemlight_LOD0
model_LOD2
case2
concr_hole4
shadow 2
case_shower1
Base HumanLDigit33
shadow
heap_scrap_alang_7
colider
Base HumanLDigit33
colider3
lamp03_lod
metal_g5 1
wall_paint_piece6 (1)
brick_pile03
factory_pillar_tunel_1 (5)
tubeBig1
case1
sg_pivot
collider_door1
barrel_plastic_lod0
Base HumanLDigit23
colider
Base HumanLDigit53 (1)
shadow 1
concrete_lod0
decal_drip13
freight_container_door_1_Lod0
decal_drip11
colider
bench
collider
tube01
tube01 (12)
factory_pillar_tunel_2
collider
Point light
detail
cupboard_metal
shadow
colider 8
case_shower1
prop01
decal
bench_lod
decal_drip10
metal_g1 (15)
Base HumanLDigit23
heap_scrap_alang_7
rails_lod
part2_lod
heap_scrap_small_1
lamp01_lod
Base HumanLDigit11
tubes2
case2
tubeBig1
colider
case_door2_lod
garbage_container_full_old
shadow
chair2
colider_door
cloth_shirt
colider
shadow 7
colider
twist_v1 (2)
tubes2_lod
decal_drip2
decal_dirt11
Base HumanLDigit43
garbage_stone1
collider
rails
colider
decal_drip2 (4)
GI_light
tubeBig_angle1_lod
decal_dirt
rails_lod
brick_pile03
plite_crush1
colider
cloth_shirt (4)
garbage_stone1
collider
grille_LOD1
detail1
model_LOD2
box_carton_set
Base HumanLDigit11
Base HumanLDigit52
door_factory
Base HumanLDigit23
Outside_Door_Metal_3_R
plate_crush_part005
plastic
balistic
pillar
wall_paint_piece5
Base HumanLDigit11
lamp01
Base HumanLDigit43
test_hand
part2_lod
case_door2
sand_decal_angle
folder_open
colider
Base HumanLDigit43
Base HumanLDigit33
KeyGrip
Base HumanLDigit33
decal_drip14 (3)
colider
lamp01
lesa_crush02_lod
DecalGraffiti (24)
Base HumanLDigit22
lamp02_crush1 (2)
Base HumanLDigit13
NewMultiFlareLight stick
cupboard_metal_lod_shadow
colider_door
model_LOD1 1
Base HumanLDigit12
koluchka
particle_watersplash
tubeBig1
colider 8
lamp01
lamp01_lod
lamp01
lamp01_lod
lamp01
lamp01_lod
galss
galss_lod
lamp01
lamp01_lod
lamp01
lamp01_lod
NewMultiFlareLight_gas (3)
NewMultiFlareLight_gas light (2)
point light
gaslamp
breakable_collider
lamp01
lamp01_lod
lamp01
lamp01_lod
lamp01
lamp01_lod
NewMultiFlareLight_gas (3)
NewMultiFlareLight_gas light (2)
point light
gaslamp
breakable_collider
lamp01
lamp01_lod
lamp01
lamp01_lod
lamp01
lamp01_lod
NewMultiFlareLight_gas (3)
NewMultiFlareLight_gas light (2)
point light
gaslamp
breakable_collider
NewMultiFlareLight_gas (3)
NewMultiFlareLight_gas light (2)
point light
gaslamp
breakable_collider
lamp01
lamp01_lod
lamp01
lamp01_lod
NewMultiFlareLight_gas (3)
NewMultiFlareLight_gas light (2)
point light
gaslamp
breakable_collider
lamp01
lamp01_lod
NewMultiFlareLight_gas (3)
NewMultiFlareLight_gas light (2)
point light
gaslamp
breakable_collider
NewMultiFlareLight_gas (3)
NewMultiFlareLight_gas light (2)
point light
gaslamp
breakable_collider
lamp01
lamp01_lod
NewMultiFlareLight_gas (3)
NewMultiFlareLight_gas light (2)
point light
gaslamp
breakable_collider
NewMultiFlareLight_gas (3)
NewMultiFlareLight_gas light (2)
point light
gaslamp
breakable_collider
lamp01
lamp01_lod
lamp01
lamp01_lod
lamp01
lamp01_lod
lamp01
lamp01_lod
lamp01
lamp01_lod
NewMultiFlareLight_gas (3)
NewMultiFlareLight_gas light (2)
point light
NewMultiFlareLight_gas light (3)
gaslamp
breakable_collider
ExperienceTrigger (4)
ExperienceTrigger (12)
ExperienceTrigger (26)
ExperienceTrigger (7)
ExperienceTrigger (24)
ExperienceTrigger (20)
ExperienceTrigger (14)
case_extraction_zone
EnvironmentManager
ExperienceTrigger (25)
ExperienceTrigger (17)
ExperienceTrigger (3)
ExperienceTrigger (23)
ExperienceTrigger (2)
ExperienceTrigger (10)
ExperienceTrigger (11)
ExperienceTrigger (16)
ExperienceTrigger (8)
ExperienceTrigger (9)
ExplorationZones
Indoor
ExperienceTrigger (18)
ExperienceTrigger (22)
ExperienceTrigger (13)
ExperienceTrigger (21)
ExperienceTrigger (19)
ExperienceTrigger (6)
ExperienceTrigger (1)
ExperienceTrigger (15)
ExperienceTrigger
AmbientSources
ExperienceTrigger (5)
case_extraction_placeitem
p1 (3)
295 (4.9, 7.6, 62.5)
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
227 (38.6, 0.1, 30.6)
130 (63.3, 0.6, 26.2)
Coverpoint
301 (3.9, 1.0, 59.2)
Coverpoint
PointForRaycast
228 (39.8, 0.1, 30.6)
PointForRaycast
Coverpoint
DoorLink
Coverpoint
150 (-17.0, 0.5, 31.5)
PointForRaycast
Coverpoint
PointForRaycast
PointForRaycast
220 (12.8, 4.6, 48.2)
PointForRaycast
PointForRaycast
Coverpoint
NavMesh
PointForRaycast
Coverpoint
PointForRaycast
283 (-25.1, 1.0, 62.2)
PointForRaycast
DoorLink
Coverpoint
250 (45.0, 4.5, 40.0)
GameObject
Coverpoint
173 (-9.2, 1.1, 51.8)
Coverpoint
164 (-22.1, -2.6, 37.7)
184 (16.6, 0.2, 29.7)
22 (56.6, 0.1, -15.5)
PointForRaycast
34 (-12.1, 0.1, 15.1)
Coverpoint
PointForRaycast
Coverpoint
20 (56.4, 0.1, -18.5)
82 (46.7, 0.1, 12.8)
Coverpoint
33 (-11.8, 0.1, 14.7)
Coverpoint
168 (-3.7, 1.1, 43.3)
DoorLink
PointForRaycast
DoorLink
Coverpoint
1 (38.3, 0.1, -28.2)
Coverpoint
PointForRaycast
TestObject
Coverpoint
Coverpoint
Coverpoint
PointForRaycast
BoundMinor
118 (62.6, 0.0, 18.9)
127 (65.4, 0.1, 24.4)
PointForRaycast
Coverpoint
Coverpoint
GameObject (1)
65 (22.2, 0.1, 24.5)
Coverpoint
Coverpoint
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
166 (-12.7, -2.6, 37.5)
PointForRaycast
DoorLink
Coverpoint
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
PointForRaycast
Coverpoint
Coverpoint
Coverpoint
156 (-24.2, 1.1, 37.6)
Coverpoint
Coverpoint
Coverpoint
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
282 (-25.0, 1.0, 62.2)
PointForRaycast
PointForRaycast
Coverpoint
PointForRaycast
PointForRaycast
290 (-3.3, 1.1, 61.9)
Coverpoint
Coverpoint
Coverpoint
p1 (4)
DoorLink
PointForRaycast
247 (43.3, 0.1, 37.5)
TestObject (4)
Coverpoint
DoorLink
DoorLink
PointForRaycast
PointForRaycast
218 (17.3, 4.6, 46.1)
PointForRaycast
p1 (6)
296 (4.9, 7.6, 61.3)
DoorLink
PointForRaycast
291 (-19.4, 1.1, 65.1)
DoorLink
DoorLink
217 (18.8, 4.6, 44.8)
Coverpoint
PointForRaycast
Coverpoint
GameObject (8)
PointForRaycast
PointForRaycast
129 (63.7, 0.5, 25.6)
41 (-12.3, 0.1, 24.7)
177 (-20.4, 1.0, 49.1)
PointForRaycast
DoorLink
5 (18.4, -2.6, -20.6)
Coverpoint
Coverpoint
257 (62.3, 0.4, 35.1)
GameObject (1)
7 (22.7, -2.6, -8.5)
275 (-35.2, 1.1, 61.2)
292 (4.3, 7.6, 55.3)
193 (11.6, 0.1, 31.3)
Coverpoint
GameObject (16)
Coverpoint
63 (19.2, 0.1, 22.3)
Coverpoint
Coverpoint
Coverpoint
PointForRaycast
Coverpoint
DoorLink
Coverpoint
Coverpoint
Coverpoint
PointForRaycast
225 (41.3, 0.0, 28.8)
DoorLink
Coverpoint
126 (61.2, 0.4, 24.7)
244 (37.9, 1.0, 37.8)
PointForRaycast
Coverpoint
Coverpoint
115 (63.7, 0.1, 14.7)
50 (22.0, -2.6, 0.4)
Coverpoint
PointForRaycast
202 (5.2, 3.8, 35.1)
PointForRaycast
PointForRaycast
PointForRaycast
254 (37.2, 4.6, 36.5)
Coverpoint
PointForRaycast
57 (1.6, 0.1, 10.1)
13 (39.1, 0.1, -25.7)
PointForRaycast
101 (33.8, 7.2, 23.8)
8 (17.4, -2.6, -19.8)
Coverpoint
GameObject
142 (-4.3, 1.0, 49.6)
PointForRaycast
Coverpoint
Coverpoint
Coverpoint
DoorLink
Coverpoint
Coverpoint
PointForRaycast
Coverpoint
Coverpoint
PointForRaycast
Coverpoint
298 (5.0, 7.6, 57.8)
Coverpoint
Coverpoint
PointForRaycast
PointForRaycast
DoorLink
Coverpoint
PointForRaycast
GameObject (18)
Coverpoint
PointForRaycast
294 (6.6, 7.6, 55.9)
211 (25.0, 4.6, 35.9)
222 (35.0, 7.7, 30.4)
DoorLink
DoorLink
PointForRaycast
286 (-10.3, 1.1, 60.0)
Coverpoint
Coverpoint
Coverpoint
226 (38.5, 0.1, 29.7)
PointForRaycast
PointForRaycast
11 (18.2, -2.6, -1.9)
PointForRaycast
263 (55.5, 0.1, 40.5)
272 (-28.7, 1.4, 57.9)
192 (11.8, 0.1, 31.3)
268 (-31.2, 1.4, 56.2)
106 (28.9, 0.1, 22.6)
Coverpoint
PointForRaycast
69 (36.3, 0.1, 1.7)
Coverpoint
Coverpoint
75 (44.5, 0.1, 14.0)
DoorLink
84 (46.7, 0.1, 10.9)
BoundDown
229 (46.4, 0.3, 30.2)
214 (12.7, 4.6, 42.1)
Coverpoint
30 (-1.2, 0.1, 9.7)
62 (22.9, 0.1, 22.2)
Coverpoint
Coverpoint
36 (-11.9, 0.1, 16.6)
PointForRaycast
175 (-20.8, 1.0, 49.8)
PointForRaycast
PointForRaycast
74 (37.8, 0.1, 10.4)
Coverpoint
DoorLink
Coverpoint
152 (-7.3, 0.6, 32.0)
Coverpoint
198 (13.9, 0.2, 32.6)
PointForRaycast
165 (-14.8, 1.1, 38.8)
281 (-11.2, 1.1, 60.1)
23 (56.6, 0.1, -18.6)
Coverpoint
25 (-12.9, 0.8, 4.1)
Coverpoint
PointForRaycast
Coverpoint
Coverpoint
231 (28.2, 0.4, 31.2)
278 (-30.9, 1.1, 63.6)
174 (-21.5, 1.0, 51.2)
PointForRaycast
259 (64.5, 0.0, 40.6)
6 (21.9, -2.6, -20.6)
163 (-23.8, -2.6, 35.7)
Coverpoint
Coverpoint
170 (-22.6, 1.1, 43.3)
PointForRaycast
Coverpoint
Coverpoint
47 (-10.8, 0.1, 24.2)
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
PointForRaycast
Coverpoint
103 (35.8, 7.3, 26.3)
51 (27.2, 0.1, 8.2)
PointForRaycast
PointForRaycast
Coverpoint
Coverpoint
PointForRaycast
76 (38.5, 0.1, 5.5)
61 (23.9, 0.1, 21.9)
299 (4.0, 1.0, 58.8)
Coverpoint
PointForRaycast
45 (-19.2, 0.2, 23.3)
Coverpoint
Coverpoint
PointForRaycast
178 (-6.1, 1.0, 51.4)
PointForRaycast
Coverpoint
Coverpoint
PointForRaycast
p1
PointForRaycast
Coverpoint
PointForRaycast
GameObject (14)
Coverpoint
162 (-23.6, -2.6, 35.6)
72 (36.3, 0.1, 8.5)
Coverpoint
Coverpoint
Coverpoint
Coverpoint
Coverpoint
40 (-12.8, 0.1, 24.4)
Coverpoint
258 (62.3, 0.4, 36.5)
Coverpoint
219 (16.8, 4.6, 47.2)
PointForRaycast
p1 (2)
PointForRaycast
Coverpoint
PointForRaycast
PointForRaycast
24 (56.9, 0.1, -21.4)
PointForRaycast
PointForRaycast
273 (-49.3, 1.3, 58.5)
46 (0.0, 0.1, 23.5)
Coverpoint
185 (13.8, 0.2, 29.1)
Coverpoint
PointForRaycast
Coverpoint
Coverpoint
Links
Coverpoint
PointForRaycast
PointForRaycast
PointForRaycast
56 (3.8, 0.1, 25.3)
PointForRaycast
Coverpoint
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
Coverpoint
Coverpoint
PointForRaycast
271 (-30.3, 1.4, 59.3)
PointForRaycast
PointForRaycast
DoorLink
PointForRaycast
Coverpoint
PointForRaycast
289 (-22.3, 1.1, 62.6)
Coverpoint
Coverpoint
PointForRaycast
Coverpoint
Coverpoint
97 (51.6, 0.1, 17.6)
137 (-35.9, 1.7, 40.6)
Coverpoint
Coverpoint
141 (-2.5, 1.1, 45.7)
DoorLink
18 (66.9, 0.5, -27.0)
10 (17.8, -2.6, -7.3)
134 (-32.3, -2.6, 33.4)
DoorLink
PointForRaycast
PointForRaycast
70 (37.8, 0.1, 3.5)
DoorLink
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
110 (35.5, 0.1, 10.8)
Coverpoint
35 (-11.5, 0.1, 14.6)
PointForRaycast
PointForRaycast
Coverpoint
DoorLink
154 (-4.9, 1.3, 32.7)
PointForRaycast
78 (44.4, 0.1, 11.1)
DoorLink
DoorLink
183 (18.2, 0.2, 29.9)
Coverpoint
PointForRaycast
DoorLink
17 (51.6, 0.0, -5.2)
Coverpoint
PointForRaycast
55 (25.5, 0.1, 15.8)
104 (34.0, 0.1, 19.6)
207 (6.9, 4.6, 35.7)
Coverpoint
PointForRaycast
PointForRaycast
98 (38.3, 7.4, 26.5)
208 (17.3, 4.6, 38.6)
Coverpoint
Coverpoint
27 (-9.9, 0.1, 4.3)
Coverpoint
Coverpoint
PointForRaycast
197 (9.7, 0.2, 31.9)
224 (36.6, 0.1, 30.7)
105 (53.9, 0.0, 20.7)
160 (-2.5, 1.1, 44.3)
PointForRaycast
DoorLink
204 (26.2, 8.2, 35.3)
221 (7.4, 4.6, 35.6)
171 (-3.7, 1.1, 46.0)
Coverpoint
PointForRaycast
302 (1.6, 1.3, 60.8)
GameObject (17)
125 (65.5, 0.1, 24.4)
Coverpoint
Coverpoint
288 (-3.3, 1.2, 59.7)
Coverpoint
205 (22.3, 8.2, 35.3)
Coverpoint
PointForRaycast
PointForRaycast
DoorLink
PointForRaycast
Coverpoint
133 (55.4, 0.0, 19.3)
248 (40.3, 0.3, 39.4)
303 (0.5, 1.1, 58.1)
PointForRaycast
31 (-11.3, 0.1, 14.4)
213 (6.5, 3.8, 38.7)
16 (28.7, 0.1, 3.7)
Coverpoint
DoorLink
279 (-23.4, 1.1, 57.0)
TestObject (3)
PointForRaycast
PointForRaycast
43 (-13.5, 0.1, 23.0)
42 (-12.2, 0.1, 24.8)
21 (64.6, 0.2, -1.0)
PointForRaycast
PointForRaycast
PointForRaycast
PointForRaycast
264 (-49.3, 1.3, 58.3)
266 (-31.8, 1.4, 56.6)
186 (13.6, 0.2, 28.9)
Coverpoint
DoorLink
85 (46.7, 0.1, 10.7)
12 (27.3, -2.5, -23.3)
DoorLink
Coverpoint
285 (-24.0, 1.0, 57.7)
DoorLink
Coverpoint
p1 (1)
52 (27.2, 0.1, 3.9)
PointForRaycast
DoorLink
PointForRaycast
PointForRaycast
PointForRaycast
PointForRaycast
PointForRaycast
90 (40.8, 0.2, 24.6)
Coverpoint
Coverpoint
DoorLink
PointForRaycast
Coverpoint
Coverpoint
114 (63.8, 0.1, 7.2)
Coverpoint
PointForRaycast
PointForRaycast
PointForRaycast
PointForRaycast
116 (64.6, 0.2, 13.4)
DoorLink
GameObject (12)
DoorLink
195 (15.5, 0.2, 31.9)
DoorLink
PointForRaycast
237 (35.5, 8.2, 35.1)
PointForRaycast
PointForRaycast
PointForRaycast
PointForRaycast
DoorLink
DoorLink
Coverpoint
GameObject (13)
223 (35.8, 8.0, 33.6)
DoorLink
PointForRaycast
DoorLink
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
DoorLink
PointForRaycast
PointForRaycast
Coverpoint
172 (-5.7, 1.1, 48.6)
100 (33.8, 7.1, 22.6)
Coverpoint
Coverpoint
99 (38.3, 7.4, 23.1)
PointForRaycast
144 (-9.4, 1.2, 54.0)
Coverpoint
121 (64.9, 0.0, 21.1)
256 (62.3, 0.3, 33.5)
Coverpoint
Coverpoint
Coverpoint
188 (23.8, 0.1, 31.0)
Coverpoint
DoorLink
PointForRaycast
TestObject (2)
73 (38.5, 0.1, 6.7)
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
GameObject
DoorLink
102 (33.8, 6.8, 19.3)
3 (23.5, -2.6, -23.3)
Coverpoint
249 (45.0, 4.5, 41.7)
Coverpoint
PointForRaycast
81 (49.7, 0.3, 14.7)
Coverpoint
19 (59.5, -0.2, -25.8)
54 (26.3, 0.1, 14.1)
PointForRaycast
Coverpoint
Coverpoint
26 (-10.5, 0.1, 3.2)
48 (5.7, 0.2, 25.6)
Coverpoint
277 (-33.2, 1.1, 61.3)
Coverpoint
GameObject (15)
PointForRaycast
270 (-29.2, 1.4, 56.4)
PointForRaycast
TestObject (1)
Coverpoint
Coverpoint
79 (44.8, 0.1, 9.4)
Coverpoint
128 (64.8, 0.2, 24.7)
PointForRaycast
206 (7.2, 4.6, 35.6)
DoorLink
DoorLink
Coverpoint
Coverpoint
0 (24.4, -2.6, -32.5)
Coverpoint
PointForRaycast
GameObject (10)
9 (22.2, -2.6, -8.5)
149 (-17.1, 0.9, 33.0)
280 (-13.5, 1.1, 60.1)
PointForRaycast
Coverpoint
BotZone
GameObject
PointForRaycast
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
Coverpoint
Points
DoorLink
Coverpoint
187 (3.0, 0.1, 28.4)
PointForRaycast
Coverpoint
Coverpoint
PointForRaycast
66 (23.4, 0.1, 24.1)
PointForRaycast
PointForRaycast
265 (-33.6, 1.4, 57.1)
143 (-4.3, 1.1, 49.8)
Coverpoint
PointForRaycast
Coverpoint
PointForRaycast
287 (-14.1, 1.0, 59.5)
Coverpoint
123 (62.3, 0.1, 23.3)
251 (45.9, 4.5, 41.3)
Coverpoint
PointForRaycast
Coverpoint
BornPositions
PointForRaycast
235 (34.2, 4.6, 34.9)
PointForRaycast
PointForRaycast
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
PointForRaycast
DoorLink
Coverpoint
83 (46.7, 0.1, 12.4)
DoorLink
PointForRaycast
PointForRaycast
167 (-19.9, 1.1, 41.6)
PointForRaycast
Coverpoint
Coverpoint
PointForRaycast
DoorLink
PointForRaycast
255 (37.8, 4.5, 36.5)
155 (-22.6, 1.1, 36.0)
261 (61.7, 0.3, 38.8)
PointForRaycast
Coverpoint
29 (-2.7, 0.1, 9.7)
60 (11.9, 0.1, 21.9)
Coverpoint
PointForRaycast
Coverpoint
DoorLink
PointForRaycast
145 (-5.5, 1.4, 32.0)
PointForRaycast
179 (-6.2, 1.1, 49.7)
246 (42.7, 0.2, 38.5)
PointForRaycast
Coverpoint
PointForRaycast
PointForRaycast
PointForRaycast
124 (65.7, 0.1, 24.4)
PointForRaycast
Coverpoint
274 (-41.2, 1.4, 58.5)
53 (15.2, 0.1, 6.4)
140 (-30.0, 1.6, 43.6)
GameObject (11)
37 (-12.4, 0.1, 16.1)
PointForRaycast
Coverpoint
PointForRaycast
Coverpoint
157 (-1.4, 3.8, 35.3)
77 (44.4, 0.1, 12.5)
276 (-33.2, 1.3, 60.3)
DoorLink
PointForRaycast
PointForRaycast
DoorLink
Coverpoint
Coverpoint
PointForRaycast
Coverpoint
PointForRaycast
Coverpoint
32 (-11.9, 0.1, 17.1)
Coverpoint
Coverpoint
PointForRaycast
Coverpoint
132 (63.5, 0.4, 26.5)
DoorLink
Coverpoint
PointForRaycast
182 (6.3, 0.2, 28.1)
Coverpoint
131 (57.2, 0.0, 26.5)
PointForRaycast
Coverpoint
Coverpoint
252 (54.6, 0.5, 39.4)
136 (-36.6, 1.1, 40.3)
253 (32.5, 4.6, 36.6)
PointForRaycast
PointForRaycast
Coverpoint
Coverpoint
PointForRaycast
Coverpoint
PointForRaycast
DoorLink
PointForRaycast
86 (46.7, 0.1, 10.5)
234 (41.6, 0.0, 32.6)
Coverpoint
Coverpoint
93 (40.0, 0.2, 24.6)
PointForRaycast
4 (23.4, -2.6, -23.4)
Coverpoint
PointForRaycast
Coverpoint
Coverpoint
Coverpoint
PointForRaycast
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
92 (39.0, 0.3, 18.5)
Coverpoint
GameObject (1)
PointForRaycast
111 (35.5, 0.1, 10.6)
80 (46.0, 0.1, 9.4)
194 (16.5, 0.2, 32.4)
58 (0.2, 0.1, 10.2)
120 (62.8, 0.7, 26.3)
Coverpoint
269 (-40.5, 1.4, 57.5)
Patrol
Coverpoint
Coverpoint
Coverpoint
39 (-17.7, 0.1, 21.5)
Coverpoint
DoorLink
Coverpoint
169 (-3.8, 1.1, 43.4)
DoorLink
87 (30.1, 0.2, 16.0)
209 (27.0, 4.6, 37.2)
PointForRaycast
Coverpoint
Coverpoint
Coverpoint
DoorLink
148 (-17.2, 1.0, 35.0)
Coverpoint
233 (42.1, 0.0, 32.2)
Coverpoint
88 (29.5, 0.2, 17.3)
95 (33.8, 6.8, 17.2)
PointForRaycast
PointForRaycast
PointForRaycast
112 (35.5, 0.1, 10.1)
Links
Coverpoint
PointForRaycast
DoorLink
PointForRaycast
PointForRaycast
GameObject (1)
Coverpoint
PointForRaycast
BoundsAll
PointForRaycast
200 (20.7, 0.2, 33.1)
Coverpoint
GameObject (7)
267 (-31.7, 1.4, 56.5)
DoorLink
PointForRaycast
190 (15.6, 0.2, 29.9)
PointForRaycast
PointForRaycast
109 (35.6, 0.1, 11.8)
PointForRaycast
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
147 (-17.3, 1.0, 34.4)
PointForRaycast
91 (39.8, 0.1, 17.7)
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
176 (-21.0, 1.0, 49.7)
Coverpoint
158 (-3.6, 3.8, 35.6)
PointForRaycast
Coverpoint
PointForRaycast
DoorLink
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
PointForRaycast
38 (-12.4, 0.1, 15.9)
PointForRaycast
PointForRaycast
p1 (5)
PointForRaycast
Coverpoint
238 (51.2, 0.5, 35.1)
153 (-3.4, 1.7, 32.4)
Coverpoint
DoorLink
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
GameObject (9)
Coverpoint
Coverpoint
PointForRaycast
DoorLink
Coverpoint
DoorLink
PointForRaycast
196 (17.8, 0.2, 32.6)
PointForRaycast
PointForRaycast
DoorLink
Coverpoint
DoorLink
Coverpoint
Coverpoint
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
Coverpoint
113 (27.5, 0.1, 13.1)
PointForRaycast
PointForRaycast
151 (-8.5, 0.5, 31.0)
PointForRaycast
PointForRaycast
49 (13.8, 0.1, 0.0)
PointForRaycast
PointForRaycast
199 (5.9, 1.1, 54.6)
PointForRaycast
PointForRaycast
122 (64.4, 0.0, 21.5)
201 (6.7, 7.6, 34.7)
Coverpoint
Coverpoint
PointForRaycast
Coverpoint
Coverpoint
Coverpoint
300 (3.0, 1.0, 57.8)
245 (38.9, 0.5, 37.9)
Coverpoint
PointForRaycast
Coverpoint
PointForRaycast
PointForRaycast
146 (-5.7, 1.3, 32.1)
71 (36.3, 0.1, 12.4)
PointForRaycast
PointForRaycast
Coverpoint
Coverpoint
242 (32.1, 4.8, 39.7)
PointForRaycast
44 (-1.1, 0.1, 22.2)
117 (62.7, 0.1, 17.9)
Coverpoint
Coverpoint
181 (-4.4, 1.1, 51.4)
PointForRaycast
DoorLink
Coverpoint
Coverpoint
232 (42.5, 0.0, 31.7)
DoorLink
180 (-23.5, 1.1, 54.1)
Coverpoint
2 (-14.2, 0.1, -0.2)
241 (31.8, 4.6, 37.8)
243 (34.2, 4.6, 36.6)
PointForRaycast
15 (27.7, -2.4, -22.9)
297 (5.0, 7.6, 59.9)
Coverpoint
PointForRaycast
262 (55.6, 0.1, 39.5)
96 (51.6, 0.0, 18.8)
89 (35.0, 0.2, 16.0)
PointForRaycast
Coverpoint
Coverpoint
212 (1.2, 3.8, 36.2)
284 (-21.3, 1.3, 55.1)
293 (6.8, 7.6, 55.1)
67 (23.2, 0.1, 23.0)
Coverpoint
PointForRaycast
Coverpoint
PointForRaycast
Coverpoint
64 (13.9, 0.1, 22.7)
240 (31.8, 4.6, 37.6)
PointForRaycast
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
159 (-4.2, 3.8, 36.4)
Coverpoint
Coverpoint
PointForRaycast
PointForRaycast
PointForRaycast
161 (-2.5, 1.1, 44.9)
DoorLink
PointForRaycast
PointForRaycast
59 (22.1, -2.6, 13.9)
Coverpoint
PointForRaycast
Coverpoint
Coverpoint
DoorLink
Coverpoint
14 (35.3, 0.1, -0.1)
68 (1.6, 0.1, 22.8)
PointForRaycast
216 (17.5, 4.6, 41.9)
Coverpoint
108 (28.3, 0.2, 21.9)
Coverpoint
PointForRaycast
PointForRaycast
230 (48.6, 0.1, 29.8)
Coverpoint
Coverpoint
Coverpoint
Coverpoint
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
PointForRaycast
189 (14.7, 0.2, 30.0)
PointForRaycast
Coverpoint
PointForRaycast
PointForRaycast
119 (59.9, 0.1, 15.2)
Coverpoint
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
PointForRaycast
210 (27.1, 4.6, 35.8)
PointForRaycast
Coverpoint
Coverpoint
28 (-2.6, 0.1, 9.6)
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
Coverpoint
Coverpoint
DoorLink
260 (66.7, 0.1, 32.6)
138 (-33.8, 2.3, 42.1)
135 (-32.3, -2.6, 33.6)
239 (28.5, 4.6, 36.5)
PointForRaycast
203 (12.7, 4.6, 38.8)
139 (-32.3, 1.5, 43.5)
236 (27.8, 8.2, 35.3)
PointForRaycast
94 (39.8, 0.3, 22.5)
191 (13.3, 0.2, 32.4)
Coverpoint
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
PointForRaycast
107 (54.0, 0.0, 27.1)
215 (15.6, 4.6, 42.3)
DoorLink
PointForRaycast
PointForRaycast
DoorLink
TimerPanel
Test effect
TimeLeft
Game Scene
Game Input Node
BotDebug
GAME
SpawnPoint (generated)
SpawnPoint (generated)
SpawnPoint (generated)
SpawnPoint (generated)
SpawnPoint (generated)
SpawnPoint (generated)
SpawnPoint (generated)
SpawnPoint (generated)
SpawnPoint (generated)
SpawnPoint (generated)
SpawnPoint (generated)
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
PlayerSuperior(Clone)(Clone)
USEC_head_1_lod1
USEC_head_1
USEC_head_1(Clone)
USEC_body_0
USEC_body_0(Clone)
USEC_body_0_lod1
pistol_holster
USEC_feet_0(Clone)
USEC_feet_0_lod1
USEC_feet_0
LOD 0
Usec_hands_skin(Clone)
item_equipment_usec_vest(Clone)(Clone)
tactical_vest_0_lod1
tactical_vest_0
Skin
item_equipment_backpack(Clone)(Clone)
bag_small_0
bag_small_0_lod1
Skin
playercollider
RenderCamPos
colider
model_LOD0
model_LOD1
item_CPU(Clone)(Clone)
colider
matches_LOD0
matches_LOD1
item_matches(Clone)(Clone)
stock_ak74_izhmash_ak74_std_wood_LOD0
stock_ak74_izhmash_ak74_std_wood_LOD1
stock_ak74_izhmash_ak74_std_wood(Clone)(Clone)
colider
item_ammo_box_9x18pm_16_LOD0
item_ammo_box_9x18pm_16_LOD1
item_ammo_box_9x18pm_16(Clone)(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
default_muzzleflash_no_dtk_big(Clone)
DefaultHeatHaze(Clone)
fireport
Base HumanLPalm
Base HumanLPalm 1
handguard_aks74u_izhmash_aks74u_std_wood_LOD0
handguard_aks74u_izhmash_aks74u_std_wood(Clone)(Clone)
mod_handguard
mag_ak74_izhmash_6L20_545x39_30_LOD0
mag_ak74_izhmash_6L20_545x39_30_LOD1
mag_ak74_izhmash_6L20_545x39_30(Clone)(Clone)
mod_magazine
mod_magazine_new
muzzle_aks74u_izhmash_std_545x39_LOD0
muzzleflash_000
muzzleflash_001
muzzleflash_002
muzzle_aks74u_izhmash_std_545x39(Clone)(Clone)
mod_muzzle
pistolgrip_ak_izhmash_ak74_bakelit_LOD0
pistolgrip_ak_izhmash_ak74_bakelit_LOD1
pistolgrip_ak_izhmash_ak74_bakelit(Clone)(Clone)
mod_pistol_grip
mod_aim_camera
mod_mount_000
reciever_aks74u_izhmash_aks74u_std_LOD0
reciever_aks74u_izhmash_aks74u_std_LOD1
reciever_aks74u_izhmash_aks74u_std(Clone)(Clone)
mod_reciever
stock_aks74u_izhmash_aks74u_std_LOD0
stock_aks74u_izhmash_aks74u_std_LOD1
stock_aks74u_izhmash_aks74u_std(Clone)(Clone)
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
bolt
mod_charge
larva
weapon_bolt_larva
weapon_bolt
hammer
weapon_hammer
weapon_izhmash_aks74u_545x39_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
release
weapon_release
selector
weapon_selector
stock_block
weapon_stock_block
stock_release
weapon_stock_release
trigger
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmash_aks74u_545x39.generated(Clone)
weapon_izhmash_aks74u_545x39_container(Clone)(Clone)
Weapon spawn root
collider
item_tools_screwdriver_LOD0
item_tools_screwdriver_LOD1
shadow
item_tools_screwdriver(Clone)(Clone)
colider
model_LOD0
model_LOD1
item_screw_nuts(Clone)(Clone)
colider
model
shadow
item_food_peas(Clone)(Clone)
analgin 1
colider
item_meds_analgin(Clone)(Clone)
colider
model
shadow
item_cigarettes_soyuz_apollo(Clone)(Clone)
colider
model
shadow
item_cigarettes_wilston(Clone)(Clone)
colider
model
shadow
item_cigarettes_malboro(Clone)(Clone)
mag_stanag_magpul_pmag_gen_m3_window_556x45_30_LOD0
mag_stanag_magpul_pmag_gen_m3_window_556x45_30_LOD1
patron_556x45nato_fulll_LOD0
patron_556x45nato_fulll_LOD1
patron_556x45nato(Clone)(Clone)
patron_001
patron_556x45nato_fulll_LOD0
patron_556x45nato_fulll_LOD1
patron_556x45nato(Clone)(Clone)
patron_002
patron_556x45nato_fulll_LOD0
patron_556x45nato_fulll_LOD1
patron_556x45nato(Clone)(Clone)
patron_003
mag_stanag_magpul_pmag_gen_m3_window_556x45_30(Clone)(Clone)
battery_D 1
colider
item_battery_D(Clone)(Clone)
colider
medkit 1
shadow
medkit(Clone)(Clone)
colider
model
shadow
item_cigarettes_soyuz_apollo(Clone)(Clone)
colider
model_LOD0
model_LOD1
item_insulation_tape(Clone)(Clone)
colider
model_LOD0
model_LOD1
shadow
item_toothpaste(Clone)(Clone)
collider
item_barter_electr_hdd_LOD0
shadow
item_barter_electr_hdd(Clone)(Clone)
colider
model_LOD0
model_LOD1
shadow
item_ducttape(Clone)(Clone)
colider
matches_LOD0
matches_LOD1
item_matches(Clone)(Clone)
bint 1
colider
item_meds_bandage(Clone)(Clone)
colider
model
shadow
item_cigarettes_soyuz_apollo(Clone)(Clone)
colider
emelia 1
item_food_emelya(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_ar15_kac_ris_LOD0
handguard_ar15_kac_ris_LOD1
handguard_ar15_kac_ris_lower_LOD0
handguard_ar15_kac_ris_lower_LOD1
mod_foregrip
mod_mount
mod_tactical
mod_tactical_2
handguard_ar15_kac_ris(Clone)(Clone)
colider
model_LOD0
model_LOD1
item_insulation_tape(Clone)(Clone)
collider
crikent
item_crickent(Clone)(Clone)
colider
model_LOD0
model_LOD1
shadow
item_dvd_drive(Clone)(Clone)
collider
item_tools_pliers_LOD0
item_tools_pliers_LOD1
shadow
item_tools_pliers(Clone)(Clone)
colider
model_LOD0
model_LOD1
item_screw_bolts(Clone)(Clone)
colider
model_LOD0
model_LOD1
item_screw_nuts(Clone)(Clone)
colider
model
shadow
item_cigarettes_strike(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mp5_hk_sd_LOD0
handguard_mp5_hk_sd_LOD1
handguard_mp5_hk_sd(Clone)(Clone)
762x39_20 1
colider
item_ammo_box_762x39_20(Clone)(Clone)
bint 1
colider
item_meds_bandage(Clone)(Clone)
collider
item_tools_roulette_LOD0
item_tools_roulette_LOD1
shadow
item_tools_roulette(Clone)(Clone)
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot1
Wild_Head_2(Clone)
wildman_head_2_lod1
wildman_head_2
wildman_body_3_lod1
Wild_Body_3(Clone)
wildman_body_3
wildman_feet_1_lod1
pistol_holster
Wild_Feet_1(Clone)
wildman_feet_1
LOD 0
Wild_Body_3_firstHands(Clone)
item_equipment_vest(Clone)(Clone)
razgruz_0
razgruz_0_lod1
Skin
item_equipment_cap(Clone)(Clone)
cap
cap_lod1
Skin
item_equipment_glasses(Clone)(Clone)
glasses
glasses_lod1
Skin
Path finder manager
New Game Object
New Game Object
AI(Clone)
GlobalBlackboard(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
default_muzzleflash_no_dtk_big(Clone)
DefaultHeatHaze(Clone)
fireport
mod_handguard
mod_magazine
mod_magazine_new
mod_mount_000
mod_muzzle
mod_pistol_grip
mod_reciever
mod_sight_rear
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
bolt
mod_charge
bolt_cover
weapon_bolt_cover
larva
weapon_bolt_larva
weapon_bolt
hammer
weapon_hammer
weapon_izhmash_saiga12k_10_12g_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
release
weapon_release
selector
weapon_selector
stock_lock
weapon_stock_lock
trigger
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmash_saiga12k_10_12g.generated(Clone)
weapon_izhmash_saiga12k_10_12g_container(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_saiga12_izhmash_saiga12k_10_std_LOD0
handguard_saiga12_izhmash_saiga12k_10_std(Clone)(Clone)
pistolgrip_ak_izhmash_ak74_plastic_LOD0
pistolgrip_ak_izhmash_ak74_plastic_LOD1
pistolgrip_ak_izhmash_ak74_plastic(Clone)(Clone)
reciever_saiga12_izhmash_saiga12k_10_std_LOD0
reciever_saiga12_izhmash_saiga12k_10_std_LOD1
reciever_saiga12_izhmash_saiga12k_10_std(Clone)(Clone)
mod_aim_camera
sight_rear_saiga_izhmash_saiga_fixed_LOD0
sight_rear_saiga_izhmash_saiga_fixed_LOD1
sight_rear_saiga_izhmash_saiga_fixed(Clone)(Clone)
stock_saiga12_izhmash_saiga12_fold_ak_type_LOD0
stock_saiga12_izhmash_saiga12_fold_ak_type_LOD1
stock_saiga12_izhmash_saiga12_fold_ak_type(Clone)(Clone)
mag_saiga12_izhmash_Sb5_12x76_5_LOD0
mag_saiga12_izhmash_Sb5_12x76_5_LOD1
patron_12x70_full_LOD0
patron_12x70_full_LOD1
patron_12x70(Clone)(Clone)
patron_001
patron_12x70_full_LOD0
patron_12x70_full_LOD1
patron_12x70(Clone)(Clone)
patron_002
mag_saiga12_izhmash_Sb5_12x76_5(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
DefaultBallisticCollider(Clone)
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot2
wildman_head_1
Wild_Head_1(Clone)
wildman_head_1_lod1
wildman_body_0_lod1
wildman_body_0
Wild_body_0(Clone)
wildman_feet_1_lod1
pistol_holster
Wild_Feet_1(Clone)
wildman_feet_1
Wild_Body_firstHands(Clone)
LOD 0
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
altpose
Bend_Goal_Left
Bend_Goal_Right
default_muzzleflash_pistol(Clone)
DefaultHeatHaze(Clone)
fireport
mod_magazine
mod_magazine_new
patron_in_weapon
shellport
extractor_smoke
smokeport
Bolt_catch_LOD0
weapon_catch
Hammer_LOD0
weapon_hammer
weapon_izhmeh_pm_9x18pm_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_release_LOD0
weapon_mag_release
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_pm_9x18pm.generated(Clone)
weapon_izhmeh_pm_9x18pm_container(Clone)(Clone)
mag_pm_izhmeh_9x18pm_8_LOD0
mag_pm_izhmeh_9x18pm_8_LOD1
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_001
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_002
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_003
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_004
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_005
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_006
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_007
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_008
mag_pm_izhmeh_9x18pm_8(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot3
Wild_Head_2(Clone)
wildman_head_2_lod1
wildman_head_2
wildman_body_0_lod1
wildman_body_0
Wild_body_0(Clone)
wildman_feet_1_lod1
pistol_holster
Wild_Feet_1(Clone)
wildman_feet_1
Wild_Body_firstHands(Clone)
LOD 0
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_cap(Clone)(Clone)
cap
cap_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
altpose
Bend_Goal_Left
Bend_Goal_Right
default_muzzleflash_pistol(Clone)
DefaultHeatHaze(Clone)
fireport
mod_magazine
mod_magazine_new
patron_in_weapon
shellport
extractor_smoke
smokeport
Bolt_catch_LOD0
weapon_catch
Hammer_LOD0
weapon_hammer
weapon_izhmeh_pm_9x18pm_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_release_LOD0
weapon_mag_release
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_pm_9x18pm.generated(Clone)
weapon_izhmeh_pm_9x18pm_container(Clone)(Clone)
mag_pm_izhmeh_9x18pm_8_LOD0
mag_pm_izhmeh_9x18pm_8_LOD1
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_001
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_002
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_003
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_004
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_005
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_006
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_007
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_008
mag_pm_izhmeh_9x18pm_8(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot4
wildman_head_1
Wild_Head_1(Clone)
wildman_head_1_lod1
wildman_body_2_1
Wild_Body_2(Clone)
wildman_body_2_0
wildman_body_2_2
wildman_feet_0_lod1
Wild_feet_0(Clone)
wildman_feet_0
LOD 0
Wild_Body_2_firstHands(Clone)
item_equipment_light_armor(Clone)(Clone)
vest_0
vest_0_lod1
Skin
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_forward_backpack(Clone)(Clone)
forward_backpack
forward_backpack_lod1
Skin
item_equipment_cap(Clone)(Clone)
cap
cap_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
Magazine_LOD0
mod_barrel
mod_handguard
mod_magazine
mod_mount_000
mod_mount_001
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
Ammo_feeder_LOD0
weapon_ammo_feeder
Bolt_catch_LOD0
weapon_bolt_catch
weapon_izhmash_mr133_12g_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_mr133_12g.generated(Clone)
weapon_izhmeh_mr133_12g_container(Clone)(Clone)
barrel_mr133_510mm_LOD0
barrel_mr133_510mm_LOD1
fireport
mod_aim_camera
mod_muzzle
muzzleflash_000
barrel_part_LOD0
barrel_mr133_510mm(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mr133_izhmeh_std_LOD0
handguard_mr133_izhmeh_std_LOD1
handguard_mr133_izhmeh_std(Clone)(Clone)
mag_mr133_izhmeh_12g_6_LOD0
mag_mr133_izhmeh_12g_6_LOD1
mag_mr133_izhmeh_12g_6(Clone)(Clone)
stock_mr133_plastic_long_LOD0
stock_mr133_plastic_long_LOD1
stock_mr133_plastic_long(Clone)(Clone)
mod_aim_camera
linza_mode_000
mode_000
scope_all_belomo_pk_06_LOD0
scope_all_belomo_pk_06_LOD1
scope_all_belomo_pk_06(Clone)(Clone)
mod_scope
mount_all_custom_top_rail_13_LOD0
mount_all_custom_top_rail_13_LOD1
mount_all_custom_top_rail_13(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot5
wildman_head_1
Wild_Head_1(Clone)
wildman_head_1_lod1
wildman_body_1_2
Wild_Body_1(Clone)
wildman_body_1_0
wildman_body_1_1
wildman_feet_2
wildman_feet_2_lod1
Wild_Feet_2(Clone)
LOD 0
Wild_Body_1_firstHands(Clone)
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_backpack(Clone)(Clone)
bag_small_0
bag_small_0_lod1
Skin
item_equipment_cap(Clone)(Clone)
cap
cap_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
mod_barrel
mod_handguard
mod_magazine
mod_mount
mod_mount_000
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
Ammo_feder
weapon_ammo_feeder
Bolt_catch
weapon_bolt_catch
weapon_izhmeh_mr153_12g_LOD0
weapon_izhmeh_mr153_bolt_mag_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_0
weapon_izhmeh_mr153_bolt_LOD0
Slide_1
weapon_slide_1
weapon_slide_0
Trigger
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_mr153_12g.generated(Clone)
weapon_izhmeh_mr153_12g_container(Clone)(Clone)
barrel_mr153_750mm_LOD0
barrel_mr153_750mm_LOD1
fireport
mod_muzzle
muzzleflash_000
mod_aim_camera
barrel_mr153_750mm(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mr153_izhmeh_polymer_LOD0
handguard_mr153_izhmeh_polymer_LOD1
handguard_mr153_izhmeh_polymer(Clone)(Clone)
mag_mr153_izhmeh_12g_4_LOD0
mag_mr153_izhmeh_12g_4_LOD1
mag_mr153_izhmeh_12g_4(Clone)(Clone)
mod_aim_camera
mod_scope
stock_mr133_pistol_plastic_LOD0
stock_mr133_pistol_plastic_LOD1
stock_mr133_pistol_plastic(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot6
wildman_head_1
Wild_Head_1(Clone)
wildman_head_1_lod1
wildman_body_0_lod1
wildman_body_0
Wild_body_0(Clone)
wildman_feet_1_lod1
pistol_holster
Wild_Feet_1(Clone)
wildman_feet_1
Wild_Body_firstHands(Clone)
LOD 0
item_equipment_light_armor(Clone)(Clone)
vest_0
vest_0_lod1
Skin
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_forward_backpack(Clone)(Clone)
forward_backpack
forward_backpack_lod1
Skin
item_equipment_cap(Clone)(Clone)
cap
cap_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
altpose
Bend_Goal_Left
Bend_Goal_Right
default_muzzleflash_pistol(Clone)
fireport
mod_magazine
mod_mount
mod_pistol_grip
patron_in_weapon
shellport
extractor_smoke
smokeport
pp-91_bolt
weapon_bolt
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
pp-91_rear_sight
weapon_rear_sight
pp-91_release
weapon_release
pp-91_selector
weapon_selector
pp-91_stock_LOD0
pp-91_stock_release
wepaon_stock_release
weapon_stock
pp-91_trigger
weapon_trigger
weapon_vest_IK_marker
weapon_zmz_pp-91_9x18pm_LOD0
weapon
Weapon_root_anim
Weapon_root
weapon_zmz_pp-91_9x18pm.generated(Clone)
weapon_zmz_pp-91_9x18pm_container(Clone)(Clone)
pistolgrip_pp-91_zmz_pp_std_plastic_LOD0
pistolgrip_pp-91_zmz_pp_std_plastic_LOD1
pistolgrip_pp-91_zmz_pp_std_plastic(Clone)(Clone)
mag_pp-91_zmz_pp-91_std_9x18pm_20_LOD0
mag_pp-91_zmz_pp-91_std_9x18pm_20_LOD1
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_001
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_002
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_003
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_004
mag_pp-91_zmz_pp-91_std_9x18pm_20(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot7
Wild_Head_2(Clone)
wildman_head_2_lod1
wildman_head_2
wildman_body_1_2
Wild_Body_1(Clone)
wildman_body_1_0
wildman_body_1_1
wildman_feet_0_lod1
Wild_feet_0(Clone)
wildman_feet_0
LOD 0
Wild_Body_1_firstHands(Clone)
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_backpack(Clone)(Clone)
bag_small_0
bag_small_0_lod1
Skin
item_equipment_cap(Clone)(Clone)
cap
cap_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
Magazine_LOD0
mod_barrel
mod_handguard
mod_magazine
mod_mount_000
mod_mount_001
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
Ammo_feeder_LOD0
weapon_ammo_feeder
Bolt_catch_LOD0
weapon_bolt_catch
weapon_izhmash_mr133_12g_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_mr133_12g.generated(Clone)
weapon_izhmeh_mr133_12g_container(Clone)(Clone)
barrel_mr133_510mm_LOD0
barrel_mr133_510mm_LOD1
fireport
mod_aim_camera
mod_muzzle
muzzleflash_000
barrel_part_LOD0
barrel_mr133_510mm(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mr133_izhmeh_std_LOD0
handguard_mr133_izhmeh_std_LOD1
handguard_mr133_izhmeh_std(Clone)(Clone)
mag_mr133_izhmeh_12g_6_LOD0
mag_mr133_izhmeh_12g_6_LOD1
mag_mr133_izhmeh_12g_6(Clone)(Clone)
stock_mr133_plastic_long_LOD0
stock_mr133_plastic_long_LOD1
stock_mr133_plastic_long(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot8
Wild_Head_2(Clone)
wildman_head_2_lod1
wildman_head_2
wildman_body_1_2
Wild_Body_1(Clone)
wildman_body_1_0
wildman_body_1_1
wildman_feet_0_lod1
Wild_feet_0(Clone)
wildman_feet_0
LOD 0
Wild_Body_1_firstHands(Clone)
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_tactical_backpack(Clone)(Clone)
tactical_backpack
tactical_backpack_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
altpose
Bend_Goal_Left
Bend_Goal_Right
default_muzzleflash_pistol(Clone)
DefaultHeatHaze(Clone)
fireport
mod_magazine
mod_magazine_new
patron_in_weapon
shellport
extractor_smoke
smokeport
Bolt_catch_LOD0
weapon_catch
Hammer_LOD0
weapon_hammer
weapon_izhmeh_pm_9x18pm_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_release_LOD0
weapon_mag_release
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_pm_9x18pm.generated(Clone)
weapon_izhmeh_pm_9x18pm_container(Clone)(Clone)
mag_pm_izhmeh_9x18pm_8_LOD0
mag_pm_izhmeh_9x18pm_8_LOD1
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_001
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_002
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_003
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_004
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_005
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_006
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_007
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_008
mag_pm_izhmeh_9x18pm_8(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot9
Wild_Head_2(Clone)
wildman_head_2_lod1
wildman_head_2
wildman_body_2_1
Wild_Body_2(Clone)
wildman_body_2_0
wildman_body_2_2
wildman_feet_0_lod1
Wild_feet_0(Clone)
wildman_feet_0
LOD 0
Wild_Body_2_firstHands(Clone)
item_equipment_light_armor(Clone)(Clone)
vest_0
vest_0_lod1
Skin
item_equipment_vest(Clone)(Clone)
razgruz_0
razgruz_0_lod1
Skin
item_equipment_forward_backpack(Clone)(Clone)
forward_backpack
forward_backpack_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
Magazine_LOD0
mod_barrel
mod_handguard
mod_magazine
mod_mount_000
mod_mount_001
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
Ammo_feeder_LOD0
weapon_ammo_feeder
Bolt_catch_LOD0
weapon_bolt_catch
weapon_izhmash_mr133_12g_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_mr133_12g.generated(Clone)
weapon_izhmeh_mr133_12g_container(Clone)(Clone)
barrel_mr133_510mm_LOD0
barrel_mr133_510mm_LOD1
fireport
mod_aim_camera
mod_muzzle
muzzleflash_000
barrel_part_LOD0
barrel_mr133_510mm(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mr133_izhmeh_std_LOD0
handguard_mr133_izhmeh_std_LOD1
handguard_mr133_izhmeh_std(Clone)(Clone)
mag_mr133_izhmeh_12g_6_LOD0
mag_mr133_izhmeh_12g_6_LOD1
mag_mr133_izhmeh_12g_6(Clone)(Clone)
stock_mr133_plastic_long_LOD0
stock_mr133_plastic_long_LOD1
stock_mr133_plastic_long(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot10
Wild_Head_2(Clone)
wildman_head_2_lod1
wildman_head_2
wildman_body_0_lod1
wildman_body_0
Wild_body_0(Clone)
wildman_feet_2
wildman_feet_2_lod1
Wild_Feet_2(Clone)
Wild_Body_firstHands(Clone)
LOD 0
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_tactical_backpack(Clone)(Clone)
tactical_backpack
tactical_backpack_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
altpose
Bend_Goal_Left
Bend_Goal_Right
muzzleflash_base(Clone)
DefaultHeatHaze(Clone)
fireport
mod_magazine
mod_magazine_new
mod_muzzle
patron_in_weapon
shellport
smokeport
Bolt_catch_LOD0
weapon_catch
Hammer_LOD0
weapon_hammer
weapon_izhmeh_pm_threaded_9x18pm_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_release_LOD0
weapon_mag_release
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_pm_treaded_9x18pm.generated(Clone)
weapon_izhmeh_pm_threaded_9x18pm_container(Clone)(Clone)
mag_pm_izhmeh_9x18pm_8_LOD0
mag_pm_izhmeh_9x18pm_8_LOD1
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_001
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_002
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_003
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_004
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_005
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_006
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_007
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_008
mag_pm_izhmeh_9x18pm_8(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot11
wildman_head_1
Wild_Head_1(Clone)
wildman_head_1_lod1
wildman_body_1_2
Wild_Body_1(Clone)
wildman_body_1_0
wildman_body_1_1
wildman_feet_1_lod1
pistol_holster
Wild_Feet_1(Clone)
wildman_feet_1
LOD 0
Wild_Body_1_firstHands(Clone)
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_forward_backpack(Clone)(Clone)
forward_backpack
forward_backpack_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
mod_barrel
mod_handguard
mod_magazine
mod_mount
mod_mount_000
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
Ammo_feder
weapon_ammo_feeder
Bolt_catch
weapon_bolt_catch
weapon_izhmeh_mr153_12g_LOD0
weapon_izhmeh_mr153_bolt_mag_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_0
weapon_izhmeh_mr153_bolt_LOD0
Slide_1
weapon_slide_1
weapon_slide_0
Trigger
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_mr153_12g.generated(Clone)
weapon_izhmeh_mr153_12g_container(Clone)(Clone)
barrel_mr153_750mm_LOD0
barrel_mr153_750mm_LOD1
fireport
mod_muzzle
muzzleflash_000
mod_aim_camera
barrel_mr153_750mm(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mr153_izhmeh_polymer_LOD0
handguard_mr153_izhmeh_polymer_LOD1
handguard_mr153_izhmeh_polymer(Clone)(Clone)
mag_mr153_izhmeh_12g_4_LOD0
mag_mr153_izhmeh_12g_4_LOD1
mag_mr153_izhmeh_12g_4(Clone)(Clone)
stock_mr133_plastic_long_LOD0
stock_mr133_plastic_long_LOD1
stock_mr133_plastic_long(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot12
wildman_head_1
Wild_Head_1(Clone)
wildman_head_1_lod1
wildman_body_1_2
Wild_Body_1(Clone)
wildman_body_1_0
wildman_body_1_1
wildman_feet_2
wildman_feet_2_lod1
Wild_Feet_2(Clone)
LOD 0
Wild_Body_1_firstHands(Clone)
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_tactical_backpack(Clone)(Clone)
tactical_backpack
tactical_backpack_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
altpose
Bend_Goal_Left
Bend_Goal_Right
default_muzzleflash_pistol(Clone)
DefaultHeatHaze(Clone)
fireport
mod_magazine
mod_magazine_new
patron_in_weapon
shellport
extractor_smoke
smokeport
Bolt_catch_LOD0
weapon_catch
Hammer_LOD0
weapon_hammer
weapon_izhmeh_pm_9x18pm_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_release_LOD0
weapon_mag_release
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_pm_9x18pm.generated(Clone)
weapon_izhmeh_pm_9x18pm_container(Clone)(Clone)
mag_pm_izhmeh_9x18pm_8_LOD0
mag_pm_izhmeh_9x18pm_8_LOD1
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_001
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_002
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_003
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_004
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_005
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_006
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_007
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_008
mag_pm_izhmeh_9x18pm_8(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot13
wildman_head_1
Wild_Head_1(Clone)
wildman_head_1_lod1
wildman_body_1_2
Wild_Body_1(Clone)
wildman_body_1_0
wildman_body_1_1
wildman_feet_2
wildman_feet_2_lod1
Wild_Feet_2(Clone)
LOD 0
Wild_Body_1_firstHands(Clone)
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
Magazine_LOD0
mod_barrel
mod_handguard
mod_magazine
mod_mount_000
mod_mount_001
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
Ammo_feeder_LOD0
weapon_ammo_feeder
Bolt_catch_LOD0
weapon_bolt_catch
weapon_izhmash_mr133_12g_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_mr133_12g.generated(Clone)
weapon_izhmeh_mr133_12g_container(Clone)(Clone)
barrel_mr133_510mm_LOD0
barrel_mr133_510mm_LOD1
fireport
mod_aim_camera
mod_muzzle
muzzleflash_000
barrel_part_LOD0
barrel_mr133_510mm(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mr133_izhmeh_std_LOD0
handguard_mr133_izhmeh_std_LOD1
handguard_mr133_izhmeh_std(Clone)(Clone)
mag_mr133_izhmeh_12g_6_LOD0
mag_mr133_izhmeh_12g_6_LOD1
mag_mr133_izhmeh_12g_6(Clone)(Clone)
stock_mr133_plastic_long_LOD0
stock_mr133_plastic_long_LOD1
stock_mr133_plastic_long(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot14
wildman_head_1
Wild_Head_1(Clone)
wildman_head_1_lod1
wildman_body_0_lod1
wildman_body_0
Wild_body_0(Clone)
wildman_feet_2
wildman_feet_2_lod1
Wild_Feet_2(Clone)
Wild_Body_firstHands(Clone)
LOD 0
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_forward_backpack(Clone)(Clone)
forward_backpack
forward_backpack_lod1
Skin
item_equipment_cap(Clone)(Clone)
cap
cap_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
Magazine_LOD0
mod_barrel
mod_handguard
mod_magazine
mod_mount_000
mod_mount_001
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
Ammo_feeder_LOD0
weapon_ammo_feeder
Bolt_catch_LOD0
weapon_bolt_catch
weapon_izhmash_mr133_12g_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_mr133_12g.generated(Clone)
weapon_izhmeh_mr133_12g_container(Clone)(Clone)
barrel_mr133_510mm_LOD0
barrel_mr133_510mm_LOD1
fireport
mod_aim_camera
mod_muzzle
muzzleflash_000
barrel_part_LOD0
barrel_mr133_510mm(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mr133_izhmeh_std_LOD0
handguard_mr133_izhmeh_std_LOD1
handguard_mr133_izhmeh_std(Clone)(Clone)
mag_mr133_izhmeh_12g_6_LOD0
mag_mr133_izhmeh_12g_6_LOD1
mag_mr133_izhmeh_12g_6(Clone)(Clone)
stock_mr133_plastic_long_LOD0
stock_mr133_plastic_long_LOD1
stock_mr133_plastic_long(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot15
wildman_head_1
Wild_Head_1(Clone)
wildman_head_1_lod1
wildman_body_2_1
Wild_Body_2(Clone)
wildman_body_2_0
wildman_body_2_2
wildman_feet_0_lod1
Wild_feet_0(Clone)
wildman_feet_0
LOD 0
Wild_Body_2_firstHands(Clone)
item_equipment_light_armor(Clone)(Clone)
vest_0
vest_0_lod1
Skin
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_tactical_backpack(Clone)(Clone)
tactical_backpack
tactical_backpack_lod1
Skin
item_equipment_cap(Clone)(Clone)
cap
cap_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
Magazine_LOD0
mod_barrel
mod_handguard
mod_magazine
mod_mount_000
mod_mount_001
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
Ammo_feeder_LOD0
weapon_ammo_feeder
Bolt_catch_LOD0
weapon_bolt_catch
weapon_izhmash_mr133_12g_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_mr133_12g.generated(Clone)
weapon_izhmeh_mr133_12g_container(Clone)(Clone)
barrel_mr133_510mm_LOD0
barrel_mr133_510mm_LOD1
fireport
mod_aim_camera
mod_muzzle
muzzleflash_000
barrel_part_LOD0
barrel_mr133_510mm(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mr133_izhmeh_std_LOD0
handguard_mr133_izhmeh_std_LOD1
handguard_mr133_izhmeh_std(Clone)(Clone)
mag_mr133_izhmeh_12g_6_LOD0
mag_mr133_izhmeh_12g_6_LOD1
mag_mr133_izhmeh_12g_6(Clone)(Clone)
mod_aim_camera
mod_scope
stock_mr133_pistol_plastic_LOD0
stock_mr133_pistol_plastic_LOD1
stock_mr133_pistol_plastic(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot16
Wild_Head_2(Clone)
wildman_head_2_lod1
wildman_head_2
wildman_body_3_lod1
Wild_Body_3(Clone)
wildman_body_3
wildman_feet_2
wildman_feet_2_lod1
Wild_Feet_2(Clone)
LOD 0
Wild_Body_3_firstHands(Clone)
item_equipment_usec_vest(Clone)(Clone)
tactical_vest_0_lod1
tactical_vest_0
Skin
item_equipment_forward_backpack(Clone)(Clone)
forward_backpack
forward_backpack_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
Magazine_LOD0
mod_barrel
mod_handguard
mod_magazine
mod_mount_000
mod_mount_001
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
Ammo_feeder_LOD0
weapon_ammo_feeder
Bolt_catch_LOD0
weapon_bolt_catch
weapon_izhmash_mr133_12g_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_mr133_12g.generated(Clone)
weapon_izhmeh_mr133_12g_container(Clone)(Clone)
barrel_mr133_510mm_LOD0
barrel_mr133_510mm_LOD1
fireport
mod_aim_camera
mod_muzzle
muzzleflash_000
barrel_part_LOD0
barrel_mr133_510mm(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mr133_izhmeh_std_LOD0
handguard_mr133_izhmeh_std_LOD1
handguard_mr133_izhmeh_std(Clone)(Clone)
mag_mr133_izhmeh_12g_6_LOD0
mag_mr133_izhmeh_12g_6_LOD1
mag_mr133_izhmeh_12g_6(Clone)(Clone)
stock_mr133_plastic_long_LOD0
stock_mr133_plastic_long_LOD1
stock_mr133_plastic_long(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot17
wildman_head_1
Wild_Head_1(Clone)
wildman_head_1_lod1
wildman_body_2_1
Wild_Body_2(Clone)
wildman_body_2_0
wildman_body_2_2
wildman_feet_0_lod1
Wild_feet_0(Clone)
wildman_feet_0
LOD 0
Wild_Body_2_firstHands(Clone)
item_equipment_light_armor(Clone)(Clone)
vest_0
vest_0_lod1
Skin
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
Magazine_LOD0
mod_barrel
mod_handguard
mod_magazine
mod_mount_000
mod_mount_001
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
Ammo_feeder_LOD0
weapon_ammo_feeder
Bolt_catch_LOD0
weapon_bolt_catch
weapon_izhmash_mr133_12g_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_mr133_12g.generated(Clone)
weapon_izhmeh_mr133_12g_container(Clone)(Clone)
barrel_mr133_510mm_LOD0
barrel_mr133_510mm_LOD1
fireport
mod_aim_camera
mod_muzzle
muzzleflash_000
barrel_part_LOD0
barrel_mr133_510mm(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mr133_izhmeh_std_LOD0
handguard_mr133_izhmeh_std_LOD1
handguard_mr133_izhmeh_std(Clone)(Clone)
mag_mr133_izhmeh_12g_6_LOD0
mag_mr133_izhmeh_12g_6_LOD1
mag_mr133_izhmeh_12g_6(Clone)(Clone)
stock_mr133_plastic_long_LOD0
stock_mr133_plastic_long_LOD1
stock_mr133_plastic_long(Clone)(Clone)
mod_aim_camera
linza_mode_000
mode_000
scope_all_belomo_pk_06_LOD0
scope_all_belomo_pk_06_LOD1
scope_all_belomo_pk_06(Clone)(Clone)
mod_scope
mount_all_custom_top_rail_13_LOD0
mount_all_custom_top_rail_13_LOD1
mount_all_custom_top_rail_13(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
altpose
Bend_Goal_Left
Bend_Goal_Right
mod_barrel
mod_magazine
mod_magazine_new
mod_pistol_grip
mod_reciever
mod_tactical
patron_in_weapon
shellport
extractor_smoke
smokeport
bolt_catch
weapon_catch
hammer
weapon_hammer
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
mag_release
weapon_mag_release
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
weapon_sig_p226r_9x19_LOD0
spring
weapon_spring
trigger
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_sig_p226r_9x19.generated(Clone)
weapon_sig_p226r_9x19_container(Clone)(Clone)
barrel_p226_112mm_9x19_std_LOD0
fireport
muzzleflash_000
barrel_p226_112mm_9x19_std(Clone)(Clone)
pistolgrip_p226_sig_p226_std_LOD0
pistolgrip_p226_sig_p226_std_LOD1
pistolgrip_p226_sig_p226_std(Clone)(Clone)
sight_front_p226_sig_p226r_std_LOD0
sight_front_p226_sig_p226r_std_LOD1
sight_front_p226_sig_p226r_std(Clone)(Clone)
mod_sight_front
mod_aim_camera
sight_rear_p226_sig_p226r_std_LOD0
sight_rear_p226_sig_p226r_std_LOD1
sight_rear_p226_sig_p226r_std(Clone)(Clone)
mod_sight_rear
reciever_p226_sig_p226r_std_LOD0
reciever_p226_sig_p226r_std_LOD1
reciever_p226_sig_p226r_std(Clone)(Clone)
mag_p226_sig_std_9x19_15_LOD0
mag_p226_sig_std_9x19_15_LOD1
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_001
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_002
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_003
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_004
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_005
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_006
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_007
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_008
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_009
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_010
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_011
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_012
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_013
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_014
mag_p226_sig_std_9x19_15(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
New Game Object
New Game Object
New Game Object
New Game Object
FillImage
SprintBar
Image
Image
Final Notch
Image
Notch Template
Image
Notch Template
Image
Notch Template (1)
Image
Notch Template (2)
Image
Notch Template (3)
Image
Notch Template (4)
Image
Notch Template (5)
Image
Notch Template (6)
Background
Image
Handle
Handle Slide Area
StanceSlider
Image
Image
Final Notch
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Background
Image
Handle
Handle Slide Area
SpeedSlider
Stances
BattleStancePanel
Ammo
AmmoPanel
BattleUIScreen
Background
Head
LeftHand
RightHand
LeftLeg
RightLeg
Stomach
Chest
EffectsPanel
CharacterHealthPanel
QuickAccessPanel
Dark Background
Background
Border
Background
Item Image
quick_slot_layout(Clone)(Clone)
InstallPlace
Caption
BindText
Bind Panel
Quick Slot V
Dark Background
Background
Border
Background
Item Image
quick_slot_layout(Clone)(Clone)
InstallPlace
Caption
BindText
Bind Panel
Quick Slot 1
Dark Background
Background
Border
InstallPlace
BindText
Bind Panel
Quick Slot 2
Dark Background
Background
Border
InstallPlace
BindText
Bind Panel
Quick Slot 3
Dark Background
Background
Border
InstallPlace
Caption
BindText
Bind Panel
Quick Slot 4
Dark Background
Background
Border
InstallPlace
Caption
BindText
Bind Panel
Quick Slot 5
Dark Background
Background
Border
InstallPlace
Caption
BindText
Bind Panel
Quick Slot 6
Dark Background
Background
Border
InstallPlace
Caption
BindText
Bind Panel
Quick Slot 7
Dark Background
Background
Border
InstallPlace
Caption
BindText
Bind Panel
Quick Slot 8
Dark Background
Background
Border
InstallPlace
Caption
BindText
Bind Panel
Quick Slot 9
Dark Background
Background
Border
InstallPlace
Caption
BindText
Bind Panel
Quick Slot 10
ActionPanel


Tonyx97 20th August 2017 10:57 PM

Code:

Camera Game Object + 0x30 ] + 0x18 ] + 0xC0 = View Matrix
Code:

Camera Game Object + 0x30 ] + 0x8 ] + 0x38 ] + 0x90 = Camera Position

Brut7 23rd August 2017 06:59 AM

Code:

loot layer = 15
GET_POSITION 0x809BA0
one param BoneTransform->m_transform
typedef DWORD64(__cdecl* Transform_GetPositiom)(void* Transform, D3DXVECTOR3 &pos);

enum bones
{
HumanHead=133,
HumanNeck =132,
HumanSpine3 = 37,
HumanSpine2 = 36,
HumanSpine1 = 29,
HumanPelvis = 14,
HumanLCalf = 17,
HumanLFoot = 18,
HumanRCalf = 22,
HumanRFoot = 23,
HumanLForearm2 = 92,
HumanLForearm1 = 91,
HumanLUpperarm = 90,
HumanRForearm2 = 113,
HumanRForearm1 = 112,
HumanRUpperarm=111,
};

class MovementContext
{
public:
char pad_0x0000[0x1A0]; //0x0000 //0x188 old
D3DXVECTOR2 ViewAngle; //0x1A0
}

class Profile
{
public:
char pad_0x0000[0x10]; //0x0000
UnicodeString* ID; //0x0010
UnicodeString* AccountId; //0x0018
DWORD64 IsPlayer;//0x20
Info* m_info; //0x0028
}

class Info
{
public:
char pad_0x0000[0x10]; //0x0000
UnicodeString* m_name; //0x0010
char pad_0x0018[0x428]; //0x0018

};//Size=0x044

class PlayerBody
{
public:
char pad_0x0000[0x18]; //0x0000
__int64 Transform; //0x0018
PlayerBones* PlayerBones; //0x0020
Skeleton* SkeletonRootJoint; //0x0028
Skeleton* SkeletonHands; //0x0030
char pad_0x0038[0x38]; //0x0038
Slot* N000020D4; //0x0070
UnityArray* m_WeaponsArray; //0x0078
}

class Skeleton
{
public:
char pad_0x0000[0x18]; //0x0000
Dictionary* Bones; //0x0018
char pad_0x0028[0x10]; //0x0020
DWORD64* Enumerator; //0x0028

};

class BoneTransform
{
public:
char pad_0x0000[0x10]; //0x0000
Transform* m_transform;

};

class Transform
{
public:
char pad_0x0000[0x38]; //0x0000
TransformChild* m_child; //0x0038
int m_transform_index;//0x40

};

class TransformChild
{
public:
char pad_0x0000[0x90]; //0x0000 //0x90 old
D3DXVECTOR3 position; //0x0090
}

class ProceduralWeaponAnimation
{
public:
char pad_0x0000[0x18]; //0x0000
__int64 HealthController; //0x0018
PlayerSpring* HandsContainer; //0x0020
__int64 CameraContainer; //0x0028
BteathEffector* Breath; //0x0030
WalkEffector* Walk; //0x0038
MotionEffector* MotionReact; //0x0040
ForceEffector* ForceReact; //0x0048
ShotEffector* Shoting; //0x0050
TurnAwayEffector* TurnAway; //0x0058
CustomEffector* mCustomEffector; //0x0060
char pad_0x0068[0x10]; //0x0068
__int64 ScopeAimTransforms; //0x0078
char pad_0x0080[0x20]; //0x0080
float CameraSmoothTime; //0x00A0
}


Brut7 24th August 2017 05:51 AM

Quote:

Originally Posted by Sheld0r
rep++
alll what i needed, may you can assist me a bit on how you find all these?
thanks

use brain, monocollector,reclass

Tonyx97 26th August 2017 06:29 PM

Quote:

Originally Posted by Brut7 (Post 1800887)
Code:

loot layer = 15
GET_POSITION 0x809BA0
one param BoneTransform->m_transform
typedef DWORD64(__cdecl* Transform_GetPositiom)(void* Transform, D3DXVECTOR3 &pos);

enum bones
{
HumanHead=133,
HumanNeck =132,
HumanSpine3 = 37,
HumanSpine2 = 36,
HumanSpine1 = 29,
HumanPelvis = 14,
HumanLCalf = 17,
HumanLFoot = 18,
HumanRCalf = 22,
HumanRFoot = 23,
HumanLForearm2 = 92,
HumanLForearm1 = 91,
HumanLUpperarm = 90,
HumanRForearm2 = 113,
HumanRForearm1 = 112,
HumanRUpperarm=111,
};

class MovementContext
{
public:
char pad_0x0000[0x1A0]; //0x0000 //0x188 old
D3DXVECTOR2 ViewAngle; //0x1A0
}

class Profile
{
public:
char pad_0x0000[0x10]; //0x0000
UnicodeString* ID; //0x0010
UnicodeString* AccountId; //0x0018
DWORD64 IsPlayer;//0x20
Info* m_info; //0x0028
}

class Info
{
public:
char pad_0x0000[0x10]; //0x0000
UnicodeString* m_name; //0x0010
char pad_0x0018[0x428]; //0x0018

};//Size=0x044

class PlayerBody
{
public:
char pad_0x0000[0x18]; //0x0000
__int64 Transform; //0x0018
PlayerBones* PlayerBones; //0x0020
Skeleton* SkeletonRootJoint; //0x0028
Skeleton* SkeletonHands; //0x0030
char pad_0x0038[0x38]; //0x0038
Slot* N000020D4; //0x0070
UnityArray* m_WeaponsArray; //0x0078
}

class Skeleton
{
public:
char pad_0x0000[0x18]; //0x0000
Dictionary* Bones; //0x0018
char pad_0x0028[0x10]; //0x0020
DWORD64* Enumerator; //0x0028

};

class BoneTransform
{
public:
char pad_0x0000[0x10]; //0x0000
Transform* m_transform;

};

class Transform
{
public:
char pad_0x0000[0x38]; //0x0000
TransformChild* m_child; //0x0038
int m_transform_index;//0x40

};

class TransformChild
{
public:
char pad_0x0000[0x90]; //0x0000 //0x90 old
D3DXVECTOR3 position; //0x0090
}

class ProceduralWeaponAnimation
{
public:
char pad_0x0000[0x18]; //0x0000
__int64 HealthController; //0x0018
PlayerSpring* HandsContainer; //0x0020
__int64 CameraContainer; //0x0028
BteathEffector* Breath; //0x0030
WalkEffector* Walk; //0x0038
MotionEffector* MotionReact; //0x0040
ForceEffector* ForceReact; //0x0048
ShotEffector* Shoting; //0x0050
TurnAwayEffector* TurnAway; //0x0058
CustomEffector* mCustomEffector; //0x0060
char pad_0x0068[0x10]; //0x0068
__int64 ScopeAimTransforms; //0x0078
char pad_0x0080[0x20]; //0x0080
float CameraSmoothTime; //0x00A0
}


Isn't the parameter of GetPosition function the transform corresponding to GameObject + 0x30 ] + 0x8 ? I also tried GameObject + 0x30 ] + 0x8 ] + 0x38 and the game crashes, I don't know if some objects crash the game using this function, do you have any idea?

I got the Transform::GetPosition function and works perfectly, the one you posted doesn't work for the 0x30 ] + 0x8 afaik.
Code:

Transform::GetPosition = 0x6E7120

Brut7 27th August 2017 06:06 PM

Quote:

Originally Posted by Tonyx97 (Post 1804846)
Isn't the parameter of GetPosition function the transform corresponding to GameObject + 0x30 ] + 0x8 ? I also tried GameObject + 0x30 ] + 0x8 ] + 0x38 and the game crashes, I don't know if some objects crash the game using this function, do you have any idea?

I got the Transform::GetPosition function and works perfectly, the one you posted doesn't work for the 0x30 ] + 0x8 afaik.
Code:

Transform::GetPosition = 0x6E7120

first param not transform. it's BoneTransform

http://imgur.com/yjrnvPa

Code:

void GameEngine::GetBoneByID(Player* m_player, int id, D3DXVECTOR3 &res)
{
  PlayerBody *m_body = m_player->GetBody();

  Skeleton* m_skeleton = m_body->GetSkeleton_m1();

  Dictionary* Bones = m_skeleton->GetBones();

  ObjectArray* m_array = Bones->GetObjectArray();

  BoneTransform* m_bone = (BoneTransform*)m_array->GetObjectByID(id);

  this->GetPosition((void*)m_bone, res);                                               
}

it is necessary to check each pointer

shogust12 31st August 2017 01:26 PM

Can't believe Unity's structure is exactly the same, never knew this. A couple modifications to my Rust ESP and it was done. Thanks for the info guys :lmao:

CorreyWho 31st August 2017 07:47 PM

Who can lead me in the direction of getting a free hack. Can't seem to find one anywhere.

shogust12 1st September 2017 08:22 AM

Quote:

Originally Posted by CorreyWho (Post 1810680)
Who can lead me in the direction of getting a free hack. Can't seem to find one anywhere.

Cause you won't find them free, probably.. If you want to cheat on Escape from Tarkov I suggest you read the entire Rust Internal/External thread as been mentioned by the OP. Its almost entirely the same.

Sn0opY1988 2nd September 2017 12:46 PM

got banned using AJ today just saying some kind of AC is there

iB07 28th September 2017 05:18 AM

Quote:

Originally Posted by Brut7 (Post 1784176)
Code:

object name = GameWorld
       
        class LocalGameWorld
        {
        public:
                char _0x0000[32];
                Dictionary* Dictionary_balistick; //0x0020
                List* BallisticCalculatorsCachedList; //0x0028
                List* List_unknown; //0x0030
                List* LootList; //0x0038
                List* List_Player; //0x0040
                Dictionary* Turnables; //0x0048
                DWORD64* EffectsCommuntator; //0x0050
                DWORD64* BollistickCollider; //0x0058
                char _0x0060[8];
                DWORD64 unknown1; //0x0068
        };


I found the GameObject called "GameWorld" but I cannot quite figure out where "LocalGameWorld" is supposed to be in that object?
Any help would be appreciated (=

Currently I got it like this:
https://i.gyazo.com/c24c2e41f6b4ee7d...499aed3f5b.png


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

derekdakid 5th August 2017 01:54 AM

Escape from Tarkov Reversal, Structs and Offsets
 
GameObjectManager = 0x142A6A0

The GameObject Manager class is the same as that found in the Rust Internal/External thread.

In order to get your local player position you have to loop through tagged until you find an object with a tag of 5 called "FPS CAMERA", from this object you can also get your viewmatrix.

Most of the items/players are stored inside of the activeentityList.

Anyone reverse the player objects for this game?

Brut7 6th August 2017 10:30 AM

Code:

object name = GameWorld
       
        class LocalGameWorld
        {
        public:
                char _0x0000[32];
                Dictionary* Dictionary_balistick; //0x0020
                List* BallisticCalculatorsCachedList; //0x0028
                List* List_unknown; //0x0030
                List* LootList; //0x0038
                List* List_Player; //0x0040
                Dictionary* Turnables; //0x0048
                DWORD64* EffectsCommuntator; //0x0050
                DWORD64* BollistickCollider; //0x0058
                char _0x0060[8];
                DWORD64 unknown1; //0x0068
        };
       
       
class Player 
        {
        public:
                DWORD64* N000014D7; //0x0000
                char pad_0x0008[0x28]; //0x0008
                __int64 OnPoseChangedEvent; //0x0030          //Local ?
                __int64 OnSpeedChangedEvent; //0x0038          //Local ?
                CharacterController* m_CharacterController; //0x0040
                char pad_0x0048[0x8]; //0x0048
                MovementContext* m_MovementContext; //0x0050
                Pedometer* m_Pedometer; //0x0058
                __int64 _mouseSensitivityMod; //0x0060
                __int64 OnTimeBeingWathed; //0x0068
                char pad_0x0070[0x18]; //0x0070
                ProceduralWeaponAnimation* proceduralWeaponAnimation_0; //0x0088
                char pad_0x0090[0x10]; //0x0090
                PlayerBody* playerBody_0; //0x00A0
                __int64 _elbowBends; //0x00A8
                char pad_0x00B0[0x10]; //0x00B0
                __int64 _fbbik; //0x00C0
                __int64 Grounder; //0x00C8
                __int64 HitReaction; //0x00D0
                char pad_0x00D8[0x188]; //0x00D8
                Profile* m_Profile; //0x0260
                __int64 _statisticsManager; //0x0268
                __int64 Physical; //0x0270
                char pad_0x0278[0x18]; //0x0278
                __int64 _healthController; //0x0290
                __int64 _hitColliders; //0x0298
                SinglePlayerInventoryController* m_SinglePlayerInventoryController; //0x02A0
                FirearmController* _handsController; //0x02A8
                __int64 _questController; //0x02B0
                char pad_0x02B8[0x20]; //0x02B8
                PlayerBones* m_PlayerBones; //0x02D8
                char pad_0x02E0[0xA4]; //0x02E0
                D3DXVECTOR3 _lMarkerRawPosition; //0x0384
                D3DXVECTOR3 _lElbowRawPosition; //0x0390
                D3DXVECTOR3 _rElbowRawPosition; //0x039C               
        };


derekdakid 6th August 2017 06:43 PM

Quote:

Originally Posted by Brut7 (Post 1784176)
Code:

object name = GameWorld
       
        class LocalGameWorld
        {
        public:
                char _0x0000[32];
                Dictionary* Dictionary_balistick; //0x0020
                List* BallisticCalculatorsCachedList; //0x0028
                List* List_unknown; //0x0030
                List* LootList; //0x0038
                List* List_Player; //0x0040
                Dictionary* Turnables; //0x0048
                DWORD64* EffectsCommuntator; //0x0050
                DWORD64* BollistickCollider; //0x0058
                char _0x0060[8];
                DWORD64 unknown1; //0x0068
        };
       
       
class Player 
        {
        public:
                DWORD64* N000014D7; //0x0000
                char pad_0x0008[0x28]; //0x0008
                __int64 OnPoseChangedEvent; //0x0030          //Local ?
                __int64 OnSpeedChangedEvent; //0x0038          //Local ?
                CharacterController* m_CharacterController; //0x0040
                char pad_0x0048[0x8]; //0x0048
                MovementContext* m_MovementContext; //0x0050
                Pedometer* m_Pedometer; //0x0058
                __int64 _mouseSensitivityMod; //0x0060
                __int64 OnTimeBeingWathed; //0x0068
                char pad_0x0070[0x18]; //0x0070
                ProceduralWeaponAnimation* proceduralWeaponAnimation_0; //0x0088
                char pad_0x0090[0x10]; //0x0090
                PlayerBody* playerBody_0; //0x00A0
                __int64 _elbowBends; //0x00A8
                char pad_0x00B0[0x10]; //0x00B0
                __int64 _fbbik; //0x00C0
                __int64 Grounder; //0x00C8
                __int64 HitReaction; //0x00D0
                char pad_0x00D8[0x188]; //0x00D8
                Profile* m_Profile; //0x0260
                __int64 _statisticsManager; //0x0268
                __int64 Physical; //0x0270
                char pad_0x0278[0x18]; //0x0278
                __int64 _healthController; //0x0290
                __int64 _hitColliders; //0x0298
                SinglePlayerInventoryController* m_SinglePlayerInventoryController; //0x02A0
                FirearmController* _handsController; //0x02A8
                __int64 _questController; //0x02B0
                char pad_0x02B8[0x20]; //0x02B8
                PlayerBones* m_PlayerBones; //0x02D8
                char pad_0x02E0[0xA4]; //0x02E0
                D3DXVECTOR3 _lMarkerRawPosition; //0x0384
                D3DXVECTOR3 _lElbowRawPosition; //0x0390
                D3DXVECTOR3 _rElbowRawPosition; //0x039C               
        };


thank you + rep

rafaelstefany 14th August 2017 09:59 PM

any way to convert it to c# code?

DisOwned 16th August 2017 03:07 PM

anyone here know what there "anticheat" does do they detect mono Injection or do they take screen shots in the past games they made "contract Wars" they took screen shots any info will help

fx55555 16th August 2017 04:38 PM

Quote:

Originally Posted by lol300987 (Post 1793223)
anyone here know what there "anticheat" does do they detect mono Injection or do they take screen shots in the past games they made "contract Wars" they took screen shots any info will help

I think they could be taking screenshots being on a p2c forum with escape from tarkov, some user are talking about random flickering and flashing on their screen once in a while and then getting ban the next few days. Could be wrong tho

DisOwned 16th August 2017 04:57 PM

Quote:

Originally Posted by fx55555 (Post 1793276)
I think they could be taking screenshots being on a p2c forum with escape from tarkov, some user are talking about random flickering and flashing on their screen once in a while and then getting ban the next few days. Could be wrong tho

if they take screen shots there would be no visual effect for you its silent you wouldnt notice it at all because nothing will change its a quick snap shot sent to there server then reviewed by a dev to manualy ban you

so this p2c site most likely doesnt clean screen shots and esp showed up in there screen shot request and banned the guy

rafaelstefany 16th August 2017 09:21 PM

I think ban is not a problem in the stage of the game are, and they also unbanned every account who had been banned on alpha test.

PutinIsLove 19th August 2017 09:40 PM

Hey,

Anyone willing to share adress and offsets ? Thx.

Tonyx97 19th August 2017 11:47 PM

Some objects I just dumped in the factory, I don't know the concept of this game yet but I don't need it to hack it.

GOM Sig:
Code:

\x48\x8B\x15\x00\x00\x00\x00\x66\x39\x7B\x54 (changes of this address barely happen but just in case)
Code:

tube01
decal_dirt
barrel_old
case_door1
garbage_stone1 (12)
decal_drip1
Base HumanLDigit32
Point light (6)
Lod0_doorpost
decal_drip11 (22)
Base HumanLDigit11
weapon_box_cover
barrel_pile (1)
plate03_part4 (1)
wall_paint_piece1_dec
rack_shelf_lod1
Base HumanLDigit21
case_door2
pillar
decal_dirt
sg_pivot
colider4
case_door
model_LOD2 2
factory_pillar02
decal_drip2
NewMultiFlareLight_gas light (3)
Base HumanLDigit43
metal
weapon_box
collider
cloth_shirt
model_LOD0
barrel_old (5)
cardboard_LOD0
cardboard_box
tubeBig1
collider 2
JerryCan_lod1
door_grill
factory_pillar_tunel_1 (8)
colider
woodBox_medium_shadow
collider
crushed_concreate_tex_tile_big
decal_sand1_pillar
Base HumanLDigit13
metall_list1
factory_pillar02
Base HumanLDigit23
colider 12
decal_drip
decal_drip11 (2)
pillar
sand_decal6 (21)
case_door
heap_scrap_small_1 (1)
plite_crush2
tubeBig1_lod
sand_decal6 (4)
tubeBig1
colider
garbage_stone1 (1)
collider
col
sg_pivot
tubeBig1_lod
ograda2
case_door1
case
colider
Base HumanLDigit33
factory_prop01
garbage_stone1
filllight
Base HumanLDigit13
plate_crush_part3
colider
pencil (1)
detail3
colider005
lamp03
tubeBig1
brick_pile03_brick_dirty
decal_drip
test_hand
sg_targets
colider
tubeBig1 (54)
sand_decal3
brick_pile03
decal_drip11 (47)
decal_drip11
heap_scrap_alang_7
plastic
Base HumanLDigit13
crushed_concreate_tex_tile_small
Base HumanLDigit53 (1)
colider
LOD0
colider1
case_door2_lod
collider
detail
decal_drip
colider
sand_decal3
shadow 8
factory_ferma_lod1
crushed_concreate_tex_tile_small
lamp03
ballons_grp_lod2
case2
decal_dirt9
garbage_stone1
Base HumanLDigit11
cardboard_LOD1
door
part2
colider
cloth_jacket2
collider
Lod0_door
DecalGraffiti (22)
decal_dirt1
collider
sand_decal1 (18)
case2
ballons_grp_lod
decal_drip2
colider
Base HumanLDigit23
Base HumanLDigit51
tubeBig1_lod
colider1
colider2
crushed_concreate_tex_tile_big
model_LOD2 3
Base HumanLDigit23
plate
Base HumanLDigit12
collider 3
Base HumanLDigit42
case_door1_lod
lod3_1
drawing_05
plite_crush1
colider_door
decal_drip
Lod2_door
Base HumanLDigit41
decal_drip11 (4)
sand_decal6
shadow 17
colider
tubeBig1
tubeBig1
Point light (2)
model 4
detail005
barrel_plastic_lod1
woodBox_medium
Base HumanLDigit13
concr_hole3
garbage_stone2
part1_lod
case1
wall_paint_piece7_dec
colider005
decal
decal_drip10
lamp03_crush2
plate_crush_part005
emergency_exit_light 1
balistic
garbage_constructor
collider
model_LOD2
tubeBig2
poster2
factory_pillar02
case
Base HumanLDigit13
collider
sand_decal6
decal_dirt8
shadow_doorpost
barrel_plastic_lod1
bench
metal_g1 (20)
Projector
metal_g1
tubeBig1_lod
garbage_paper_box01 (1)
wall_paint_piece1
ograda_2
NewMultiFlareLight small
paper4
sand_decal6
decal_drip6 (39)
case1_lod
window_lod
colider1
model_LOD2 1
tubeBig3_lod
factory_ferma_lod0
metal_g1 (13)
wall_paint_piece6
shadow_lod2
decal_drip11 (1)
wall_paint_piece2_dec
Cube
LOD0
lamp03_crush1
decal_drip1
glowstick
KeyGrip (1)
decal_dirt1
decal_drip2
tubeBig_angle1
decal
factory_pillar_small2
Base HumanLDigit33
DecalFootsteps (12)
windows_factory1
Base HumanLDigit21
tubeBig1_lod
detail
plate_crush_part005
paper4
colider
decal_drip1
case_door2
model_LOD1 1
shadow
metal_g1 (6)
Base HumanLDigit43
factory_ferma_lod0
detail
colider
kaska
sand_decal_angle (2)
colider005
lamp03_lod
decal_drip11 (8)
tubeBig_angle1
Point light
wall_paint_piece7
lamp03_crush1_lod
Base HumanLDigit13
Base HumanLDigit21
colider2
lamp01
Base HumanLDigit51
polet
pillar
case_door
Base HumanLDigit23
detail
factory_wall_sink
LOD0
sand_decal1 (12)
sand_decal6
Base HumanLDigit22
detail
decal_dirt
Base HumanLDigit12
lamp01
part2
model 3
tubes2_angle_lod
decal_sand1_pillar (4)
air_conditioner
shadow
decal_drip6
tube01 (14)
wood01
decal_drip6 (48)
decal_drip1 (49)
decal_drip7 (2)
colider
lamp02
lamp01
polet_lod
col
factory_ferma_lod1
case_door1
shadow 1
sand_decal6 (56)
barrel_fire (2)
garbage_stone1
rails_lod
Base HumanLDigit43
case_shower1
Base HumanLDigit12
concr_hole2
case_shower1
case
lightglow
factory_prop01
pillar
case_door2_lod
lamp03
chemlight_LOD0
colider_door
colider1
crushed_concreate_1 1
polytheneBox (2)
decal_drip10
case1_lod
Base HumanLDigit42
garbage_stone1
Base HumanLDigit33
Base HumanLDigit31
twist_v1 (22)
tubeBig1
decal_drip6 (21)
collider
pillar
wood_box_crash1_LOD2
colider
collider
collider
metall_list2 (1)
case_door
plate05 (3)
collider
NewMultiFlareLight red
collider
case_door2_lod
decal_dirt
twist_v1 (4)
tubes2
Base HumanLDigit33
cupboard
shadow 1
shadow 17
collider
NewMultiFlareLight
colider
lamp01_lod
rails
Base HumanLDigit23
case1
chair
decal_dirt11 (14)
tube01_lod
garbage_stone2
plite_crush2
decal_dirt
lamp02
case_door1_lod
model_LOD1 1
sand_decal6
weapon_box_cover
plastic
case_door1
collider
door_4
cloth_bint3 (1)
Base HumanLDigit23
Push (2)
wall_paint_piece7_dec
ballon_new_grp
shadow_lod
weapon_box_cover_lod
glowstick light
provod_1_lod
lightglow
Base HumanLDigit11
cloth_jacket1_lod
pillar
sand_decal6 (36)
decal_drip2 (52)
sand_decal6
shadow_lod0
colider2
Outside_Door_Metal_3_R
Cube
Folders_2_03_lod1
plastic_bucket_shadow
sand_decal6
metall
collider
!concr_holes
bottle_cooler 1
woodBox_medium
Base HumanLDigit42
factory_pillar02 (4)
Base HumanLDigit43
sand_decal1
plate03_part4
pump_hi
decal_drip11 (6)
NewMultiFlareLight stick
Base HumanLDigit13
frame 1
pillar
crushed_concreate_3 (3)
decal_drip11 (19)
tubeBig1
decal_sand1_pillar
lamp03_crush2
colider 8
colider4
plate_crush_part005
Base HumanLDigit53 (1)
plate_crush_part2
kabel_pallet1
model_LOD2 1
colider
tubeBig_angle1_lod
colider
decal
windows_factory1
rack_shelf_lod1
cupboard_metal_shadow
heap_lod
metal_g1 1
DecalGraffiti (34)
ograda_2
Base HumanLDigit42
case_door1
tubeBig1
shadow 17
decal_drip
crushed_concreate_tex_tile_small (6)
door_wood1_new
Base HumanLDigit21
collider
Base HumanLDigit32
tubeBig3
Base HumanLDigit23
sand_decal6 (42)
Base HumanLDigit33
wind_1_floor
Base HumanLDigit33
lightglow
detail
metall_list1
tubeBig3
colider
KeyGrip
decal_drip1
colider
tubeBig1_lod
provod_1
pillar
detail2
tube_pile_lod
detail4
wall_paint_piece7
cupboard_lod
rack_shelf (2)
decal
windows_factory2
sand_decal6 (47)
lamp01_lod
metal_g5
decal_drip6 (43)
decal
case_shower2
case2
factory_prop01 (4)
pump_hi
case2_lod
Base HumanLDigit42
cloth_pants2_lod
model_LOD0
Base HumanLDigit41
decal_dirt10 (10)
Base HumanLDigit23
colider
tubes2_angle2
garbage_stone1
factory_ferma_lod0
colider
colider_door
lamp02_flare
Base HumanLDigit43
model_LOD2 3
colider1
colider
rails
brick_pile02_brick_dirty
garbage_paper1 (5)
lootable
lod3
tubeBig_angle1_lod
factory_ferma_lod0
barrel_old
decal_dirt10
factory_pillar_tunel_1
tubeBig3_lod
model_LOD0 1
Base HumanLDigit23
barrel_old
Base HumanLDigit33
wood_box_closed 1
sand_decal1 (19)
lamp03_lod
barrel_plastic_lod2
door_grill
shadow 8
ograda_1_lod
cardboard_LOD1
tubeBig1
cloth_pants2
detail_part2
case
windows_administrativ
cloth_jacket2_lod
collider
Base HumanLDigit41
books_02_lod0
NewMultiFlareLight stick
ballons_grp_lod2
model_LOD1
tube01_lod
factory_prop01
door_3
door_L_shadow
fire_fighter
ograda1
collider 2
case2_lod
decal_drip1
Base HumanLDigit51
Base HumanLDigit22
tubeBig1_lod
decal_dirt11
plate03_part4
plite_crush2
stool_crush
Base HumanLDigit53 (1)
Base HumanLDigit41
colider
shadow
case_door1
colider
cloth_jacket2
case_shower1
case_door
tubeBig1
evroCub (2)
polet
dust_particles (1)
door_R_lod
Base HumanLDigit32
colider2
decal_drip14 (1)
decal_drip14 (10)
ballon_new
budka_lod
weapon_box_grp
colider_door
decal_drip
case
factory_pillar_small2
heap_junk_1 (11)
test_hand
Base HumanLDigit31
decal_drip11
case2
JerryCan_lod0
Base HumanLDigit32
crushed_concreate_tex_tile_big
Base HumanLDigit12
Base HumanLDigit41
lamp03_lod
sand_decal6
Base HumanLDigit22
decal_drip6 (32)
dust_particles
decal_drip10
case_door1
Base HumanLDigit43
collider
decal
sand_decal6
decal_dirt
books_02 (2)
shadow_lod2
cloth_bint3
colider
Base HumanLDigit13 (1)
sg_targets
shadow 12
decal_dirt
crushed_concreate_tex_tile_big (19)
ograda_1
pillar
decal_drip2 (18)
side_industrial_lamp
barrel_plastic1 (14)
case_door1
Base HumanLDigit33
plate03_part3
decal_dirt
case_door1_lod
grate (11)
model_LOD2
Base HumanLDigit32
tubeBig1_lod
tubeBig_angle2
collider
collider
Base HumanLDigit23
NewMultiFlareLight top
case_door2
windows_factory3
tubeBig1_lod
bench
hit_effect
pillar
colider
colider
decal_dirt
sand_decal6
rack_shelf_lod1
ograda2
Folders_2_04_lod0
shadow_lod0
cloth_jacket2 (1)
decal_drip10
prop01
decal_dirt
tubeBig_angle1_lod
decal_drip6 (53)
lamp02_compound_blue (6)
pillar
garbage_stone1
decal_dirt11 (17)
shadow_lod1
Close
LOD0
decal_dirt9
musor_small (2)
Base HumanLDigit42
Base HumanLDigit22
decal_drip14
metal_g1 (8)
decal_sand1_pillar
Base HumanLDigit11
Base HumanLDigit32
decal_drip2 (50)
factory_prop01
decal_drip10 (31)
Base HumanLDigit41
DecalGraffiti (7)
decal_drip11 (39)
lamp03_lod
Base HumanLDigit33
cupboard_metal_lod
windows_factory6
shadow
plate_crush_part1
Base HumanLDigit33
rails
colider_door
pillar
Base HumanLDigit53
cabel
sand_decal1 (13)
rails_lod
plate03_part2
decal_drip2 (2)
pillar
case_door1
detail_part1
polet
decal_drip11 (4)
lamp02_compound_blue (3)
LOD0
sg_targets
tube_pile_new
Base HumanLDigit51
Base HumanLDigit31
case_shower1
cloth_jacket
Push (2)
evroCub
windows_factory6
colider
NewMultiFlareLight red
plate_crush_part3
door_wood1_new
colider_door
garbage_stone2
model_LOD0
decal_dirt2
decal_drip1 (32)
concr_hole3
Base HumanLDigit31
KeyGrip (1)
collider
decal_drip1
wood_box_closed_lod
shadow
lamp02_crush1
Base HumanLDigit33
weapon_box_lod
factory_pillar_small2
Base HumanLDigit23
Base HumanLDigit53
electroCar
lamp03
Base HumanLDigit43
case2
Projector
pillar
case_door2_lod
colider 17
lamp03 (8)
case2_lod
sand_decal6
gaslamp_off (6)
case_door
colider
sand_decal6
collider
door_3
colider
glass
factory_pillar02
lamp03
barrel_plastic_lod2
factory_prop01
table_4_big
collider
medkit_3
sand_decal6
ballons_grp002
case_door
shadow
cloth_bint3
decal_dirt
Base HumanLDigit43
colider 12
colider_door
plate01_part2
Base HumanLDigit23
model 1
Base HumanLDigit41
decal_drip11
factory_block1
metal_g1 1
shadow
bucket_lod_1
polet
colider
Close
colider
LOD0
Outside_Door_Metal_3_R
case1
decal_drip10 (4)
case_shower1
plate_crush_part1
case_door1_lod
polythene_box_LOD
detail
sand_decal3
KeyGrip (1)
plate03_part3
glowstick light (1)
Base HumanLDigit33
glass_crush02
garbage_stone1
barrel_old
lamp02
provod_1
sand_decal6 (48)
door_L
wall_paint_piece1
gate_metal4_2_factory
Base HumanLDigit33
tubeBig2 (7)
fire_fighter_lod
collider
pillar
ograda_1
case_door
lamp03_crush2
lamp03
factory_pillar_tunel_1
model_LOD0
sand_decal_angle
Base HumanLDigit42
detail
case_door
glowstick_white
lamp01
box_carton_set
decal_drip1 (3)
lamp03_crush2_lod
colider 17
colider
ballon
Base HumanLDigit23
sg_pivot
sand_decal6
tubes2
metal_g5 (5)
colider_door
case
Base HumanLDigit23
sand_decal_angle
detail
colider
Base HumanLDigit52
decal_dirt
Point light
pallete
Base HumanLDigit42
glass_crush02
collider
collider 2
windows_factory3
decal_drip1 (16)
weapon_box_grp
decal_drip2 (74)
cloth_bint3 (3)
case1_lod
tubes2_lod
factory_pillar_tunel_1
case_door1_lod
container_new_lod
colider
window_lod
factory_ferma
shadow 1
decal_drip11
tubeBig_angle1
lamp02
gate_R
ograda_2
Point light (7)
model_LOD0 1
collider
lamp01_lod
collider
sand_decal2
plate_crush_part2
ograda_1_lod
barrel_pile (5)
wall_paint_piece5_dec
cloth_jacket1
Base HumanLDigit23
Base HumanLDigit13
tubeBig1
NewMultiFlareLight small
plate_crush_part4
pallete
wall_paint_piece6 (5)
colider
Base HumanLDigit23
barrel_plastic_lod2
decal_sand1_pillar (6)
garbage_stone2
Base HumanLDigit13
tubes2_lod
decal_drip10 (28)
shadow 4
tubeBig_angle1 (4)
cloth_jacket
plate03_part3
Base HumanLDigit43
lamp01
DecalFootsteps (9)
colider
tube_pile_lod
barrel_pile
pillar
Base HumanLDigit32
shadow 3
colider
collision
Base HumanLDigit43
Base HumanLDigit33
tubeBig2
Base HumanLDigit51
Colider
chemlight_LOD0
weapon_box_grp
concrete
test_hand
decal_dirt
fire_fighter
colider
tubeBig1
air_conditioner3
ograda2
sg_pivot
model 6
decal_drip
case (3)
pillar
ograda1
decal_dirt
concr_hole3
case_door1_lod
hit_effect
heap_scrap_alang_7
colider
ceiling_industrial_lamp (6)
ballons_grp_lod
freight_container_door_1_Lod1
Lock
ballons_grp_lod
weapon_box_lod
sand_decal6
box_carton_set
heap_scrap_small_1
metal
lamp03
Base HumanLDigit23
plastic
decal_dirt11 (5)
cloth_jacket2
colider
Base HumanLDigit52
model_LOD1 3
wall_paint_piece2
rails_lod
Pull
woodBox_medium (12)
particle_watersplash
tubeBig1 (48)
collider
factory_pillar02 (1)
ograda1
Base HumanLDigit53 (1)
windows_factory4
koluchka
shadow
case_door1_lod
decal_dirt8
wall_paint_piece1_dec
musor_small
Base HumanLDigit53 (1)
decal_drip11 (2)
louvers1_lod
decal_drip14
Base HumanLDigit32
decal_dirt
garbage_stone1
Base HumanLDigit42
sg_pivot
shadow_lod0
collider
tubes2_1
col
detail
collider
cardboard_LOD0
case_door1
twist_v1 1
Point light window (7)
lamp1
glowstick (5)
tubeBig_angle1_lod
weapon_box_grp_lod
decal_drip11
ograda1
sand_decal6 (23)
metal
decal_dirt
wall_paint_piece7
Point light
tubeBig_angle1
barrel_plastic_lod1
paper5
detail3
case_door
colider 8
Cube
colider
decal_drip
Base HumanLDigit32
Base HumanLDigit11
Base HumanLDigit33
decal_drip2 (58)
Lod1_doorpost
wall_paint_piece7_dec
Base HumanLDigit12
colider 17
tube01
shadow
crushed_concreate_tex_tile_big
windows_factory3
model_LOD0 1
tubes2_angle
chemlight_LOD1
Base HumanLDigit33
gate_L
tubes2_lod
case2
tubeBig_angle1
colider
rails
hit_effect
factory_ferma
Pull
Base HumanLDigit42
collider
lamp01_lod
Base HumanLDigit23
cupboard_metal (3)
decal_drip11
tubeBig1_lod
decal_dirt
shadow_lod1
Lod2_door
NewMultiFlareLight stick
metal_g1 (4)
colider_door
decal_sand1_pillar
cloth_bint1 (3)
Base HumanLDigit51
tubeBig1
detail1
colider
decal_dirt
decal_drip
decal_dirt
tubeBig1
sand_decal1
case_shower1
wall_paint_piece1
balistic
decal_drip2 (2)
sand_decal6
collider
colider_door
garbage_stone1
test_hand
garbage_container_full_old
table_shadow
decal
colider
ballons_grp_lod
cloth_jacket
detail4
window_lod
lamp02_crush2
wall_paint_piece2
ograda2
sand_decal6
door_L 1
tubeBig1 (41)
case_door2
plate_crush_part1
case_door1
sand_decal6
stool_crush
cardboard_LOD0
decal_drip2 (85)
sg_pivot
decal_drip10
Base HumanLDigit23
case
collider_door1
Base HumanLDigit43
shadow 3
brick_pile02_brick_dirty
prop01
case1_lod
ballon_new
colider
Base HumanLDigit13
detail
Base HumanLDigit53
shadow
barrel_plastic_lod0
brick_pile03_brick_dirty
pillar
bucket 1
decal_dirt9 (1)
cabel_lod
decal_drip10 (9)
hit_effect
colider_door
Point light (6)
detail_part2
window_lod
lamp03_lod
decal_dirt10
detail3
wall_paint_piece2
Base HumanLDigit42
case
collider
Base HumanLDigit23
Base HumanLDigit33
collider
decal
metal_v3 (2)
plite_crush1
tubeBig_angle1_lod
Base HumanLDigit51
folder_open_lod0
shadow_lod1
shadow_lod
Base HumanLDigit21
Base HumanLDigit11
shadow 17
sand_decal6
detail
Base HumanLDigit53 (1)
ograda2
decal
decal_drip2
folders_02_lod0
case_door
polythene_box_LOD_shadow
colider
sg_targets
provod_angle2
administrativ_ladder_small
decal_drip11 (13)
rails
col
Base HumanLDigit21
colider_door
concrete
sand_decal6
Folders_2_01
case1
shadow
colider
LOD0
Base HumanLDigit43
sand_decal_angle
Base HumanLDigit51
shadow 3
lamp02
detail4
decal_dirt11
garbage_stone1
decal_drip2 (32)
Base HumanLDigit42
factory_wall_sink
colider
kabel_pallet1_lod
windows_factory3
garbage_stone1 (21)
Push (2)
sand_decal6
tubeBig1_lod
Base HumanLDigit23
tubeBig_angle1
wall_paint_piece7
cloth_bint1_lod
case
Base HumanLDigit53 (1)
door_L 1
lamp01_lod
decal_dirt
metal_g5 1
metal_g5 (28)
factory_prop01
musor_small
sand_decal4
Base HumanLDigit22
decal_dirt
lamp02_flare
prop01
Cube
door_2
part1
tubeBig1
colider 12
pillar
factory_pillar02 (1)
case
decal_dirt
cable
lamp03_crush1
Lod0_doorpost
crushed_concreate_3 (2)
Base HumanLDigit31
Base HumanLDigit53 (1)
hit_effect
Base HumanLDigit23
tubeBig1_lod
Base HumanLDigit33
model 5
shadow 17
colider_door
pillar
cloth_glove
shadow_lod2
lamp03
colider
ograda_1_lod
Lock
prop01
garbage_stone1
sand_decal6
Base HumanLDigit13
door
Base HumanLDigit33
twist_v1 1
metal_v3 1
plate01_part2
factory_pillar02
Base HumanLDigit32
collider
ograda_1
colider_door
test_hand
door_R_lod_shadow
Base HumanLDigit41
Base HumanLDigit33
decal_sand2_pillar
Push (2)
Base HumanLDigit33
detail_part1
sg_pivot
metal_g5 1
Base HumanLDigit53
model_LOD0
factory_pillar02 (3)
colider
decal_drip1
plate_crush_part1
brick_pile03
factory_ferma_lod0
Base HumanLDigit12
crushed_concreate_tex_tile_big (16)
cloth_bint3
Base HumanLDigit13
Lock
sg_targets
Base HumanLDigit21
lamp03_crush2
weapon_box
woodBox_medium_shadow
tubeBig1_lod
plite_crush1
garbage_stone1
model_LOD2 3
fog
sg_targets
cupboard_lod
heap_carton_2
wall_paint_piece2
cloth_pants2_lod
colider
garbage_stone1
collider
Base HumanLDigit43
ograda_1_lod
colider 8
collider 3
crushed_concreate_tex_tile_big
colider
GI_light
Base HumanLDigit53
Base HumanLDigit33
collider
decal_dirt
decal_sand1_pillar (9)
Point light (1)
Pull (1)
Base HumanLDigit31
plate03_part1
colider
Folders_2_03_lod0
test_hand
Base HumanLDigit31
Base HumanLDigit52
twist_v1 1
DecalGraffiti (32)
colider
decal_drip1
colider
polythene_box_LOD_shadow
colider 12
windows_factory4
gate_L
tubeBig3
Base HumanLDigit51
decal_drip
colider
decal
prop01
decal
lamp01
sand_decal3
shadow_lod
kaska
plite_crush2
NewMultiFlareLight small
sg_pivot
plite_crush1
tubeBig_angle1 (14)
tubeBig1_lod
lamp01
provod_1
lamp_crush01
cloth_pants
lamp01
ballons_grp
ograda_1_lod
sand_decal6
tubeBig1
Base HumanLDigit43
garbage_stone1
windows_factory3
Base HumanLDigit31
cloth_shirt
Base HumanLDigit52
collider
colider
Scene Sounds
colider 17
NewMultiFlareLight stick
garbage_stone1
barrel_plastic1 (10)
ograda_1
EditorDecalManager
sand_decal6
model
cardboard_set2 (1)
Base HumanLDigit13
collider
lod
decal_drip2 (2)
shadow_lod0
tube01 (21)
metal
cloth_jacket2
plate_crush_part1
Base HumanLDigit41
lamp01
gate_R
prop01
book_02_lod0
decal_drip14 (1)
plate_crush_part2
shadow_door
tubeBig1_lod
model_LOD1 1
colider_door
Base HumanLDigit22
Base HumanLDigit12
ograda1
shadow 1
wall_paint_piece2_dec
sand_decal6 (3)
lamp03
unitaz_part1
perexod
Base HumanLDigit13
sand_decal6 (37)
poster2
Base HumanLDigit53 (1)
factory_pillar04
factory_pillar_tunel_2
sand_decal6 (50)
test_hand
cloth_pants2_lod
case_door2_lod
collider
collider
decal
Base HumanLDigit11
shadow 8
poletelen02 (1)
decal_drip1
case_door2
tubeBig1_lod
walllight
factory_prop01
Base HumanLDigit32
rails
shadow
lamp03
tubeBig_angle1
factory_pillar04
plate02_part2 (1)
Base HumanLDigit32
case_shower1
tube01_lod
Lock
Base HumanLDigit21
metal
freight_container_door_2_Lod0
garbage_stone1
colider
ograda_2
provod1
model_LOD2 1
decal_dirt10
case_shower2
DecalGraffiti (29)
cupboard_old
shadow_door
Cube (1)
glowstick light
barrel_old
LOD0
Base HumanLDigit53 (1)
metal_g1 (1)
tubeBig1
cloth_shirt_lod
colider
tube01 (23)
sg_pivot
factory_prop01
barrel (4)
lamp03_lod
Base HumanLDigit22
detail
barrel (10)
Lod1_door
plite_crush2
Point light (9)
case_shower1
door_wood1_new
collider 1
twist_v2 1
collider
door_1
metal_g5 1
colider
decal_drip11 (2)
Base HumanLDigit41
lamp03_lod
factory_pillar02
colider
windows
decal_drip11
sink2
decal_dirt
plite_crush1
colider
plate_crush_part2
sg_pivot
tubeBig2 (5)
polet_lod
shadow 3
factory_pillar_tunel_1
Base HumanLDigit51
heap_scrap_small_1
brick_pile02_brick_dirty
wall_paint_piece2
crushed_concreate_tex_tile_big (8)
cloth_jacket2_lod
cloth_jacket2
colider_door
tubeBig1_lod
freight_container_6m_1_Lod1
DecalGraffiti (27)
barrel_metal_lod0
cloth_bint3
test_hand
sand_decal6
collider
barrel_plastic_lod1
Base HumanLDigit11
garbage_stone1
wall_paint_piece6
Base HumanLDigit53
emergency_exit_light_emissive (3)
collider
decal_sand1_pillar (6)
model_LOD1
paper_box
colider
Base HumanLDigit13
collider
Base HumanLDigit12
Base HumanLDigit52
freight_container_6m_1_Lod1
detail3
decal_drip11
tubeBig1_lod
lamp01_lod
Base HumanLDigit33
lamp_crush02
decal
Base HumanLDigit12
plate_crush_part3
Base HumanLDigit33
tube01
hit_effect
sg_pivot
model_LOD0 1
colider
cloth_pants1
case_door
gaslamp_off
decal_dirt
factory_prop01
factory_pillar_small2 (1)
factory_pillar_tunel_1
colider
cloth_bint3
case1_lod
paper3
Base HumanLDigit41
Base HumanLDigit13
garbage_stone1
collider
tubeBig_angle1
case
Base HumanLDigit51
model_LOD2
heap_lod
Cube
cardboard_LOD2
provod_1_lod
sand_decal2
barrel_metal_lod1
provod_1
collider
metall_list1
provod_1
Base HumanLDigit32
model_LOD1 3
case1
collider
plate03_part3
plite_crush1
tubeBig1_lod
tubeBig1
colider1
decal_dirt
plate_crush_part1
woodBox_medium
collider
lamp01
colider
detail_part2
case_door1_lod
case_door1_lod
garbage_stone1 (9)
decal_drip13
Base HumanLDigit21
door_grill
sand_decal6
decal_drip11 (3)
tubeBig1_lod
concrete
decal_drip1
Base HumanLDigit53
sand_decal1 (2)
LOD0
collider
tube01_lod
Lod0_doorpost
sg_targets
colider_door
plate_crush_part4
part2
decal_dirt
book_open_02 (1)
tubeBig1 (34)
colider
shadow 7
case_door
col
decal_drip6 (38)
chemlight_LOD1
decal_dirt2 (1)
Base HumanLDigit53
Point light (7)
case_door1_lod
cloth_jacket1_lod
Folders_2_01_lod0
decal
case_door2
pump_station02
crushed_concreate_tex_tile_small (5)
case_shower1
paper_box
garbage_stone2
model_LOD2 4
doorhandle
lamp03_lod
case1_lod
door_wood1_new
sand_decal2
colider
Base HumanLDigit22
barrel_metal_lod2
barrel_fire_smoke (1)
test_hand
shadow 17
lampGIlight
weapon_box_grp_lod
factory_pillar_tunel_2
colider_R
case_door1_lod
case_door1_lod
decal_drip6
glowstick_white (3)
pillar
decal_sand1_pillar
colider
Base HumanLDigit51
tubeBig1_lod
NewMultiFlareLight stick
colider_door
detail3
metal_g5 1
colider
sand_decal1
sg_pivot
barrel_old
DecalGraffiti (21)
kran_small
Lod0_door
shadow_lod2
colider 12
!patron light
colider
wall_paint_piece1
colider_door
DecalGraffiti (31)
decal_drip6 (26)
colider
folders_02
paper2 (2)
Base HumanLDigit13
NewMultiFlareLight_gas light (5)
model_LOD0
detail1
metal
wall_paint_piece2
factory_pillar03
colider
decal_dirt11 (1)
colider
heap_junk_1 (6)
heap_scrap_alang_7
Base HumanLDigit43
Base HumanLDigit22
wall_paint_piece4
tubeBig2
air_conditioner3 (2)
model_LOD0
barrel_pile
balistic_col
test_hand
puddle
gaslamp_broken
ograda_1_lod
collider
Base HumanLDigit22
Base HumanLDigit41
pallete (2)
wall_paint_piece7
case_door1_lod
decal_dirt1
factory_pillar04
colider
decal_drip2
Push (2)
factory_prop01 (4)
part1
garbage_constructor_big_lod
tubeBig3_lod
tube_pile
Lod1_doorpost
sand_decal6 (2)
decal_drip6
colider
decal_dirt10
decal_dirt
test_hand
Base HumanLDigit21
tubeBig_angle1
tubeBig_angle1
eurocube_dec_1
Push (2)
tubeBig_angle1
Base HumanLDigit42
Base HumanLDigit22
tube01
decal_dirt11
lamp02
cardboard_LOD1
decal_drip7 (3)
wall_paint_piece4_dec
sg_targets
Base HumanLDigit41
lamp01
decal_dirt
provod_angle1
decal_drip11 (4)
crushed_concreate_tex_tile_big
decal_dirt5
decal
case_lod
decal_sand1_pillar (5)
gaslamp_broken
Base HumanLDigit32
test_hand
case2
factory_ferma2
collider
plate_crush_part2
Base HumanLDigit53 (1)
lightglow
shadow 17
decal_drip2 (56)
tubes2
prop01
lamp01_lod
garbage_stone1
colider 8
decal_drip1
case
decal_drip2 (83)
sg_pivot
case_door1
provod1
shadow
decal_dirt
sand_decal_angle
bucket_shadow
factory_ferma_lod1
case_door1
collider 1
test_hand
garbage_stone1
tube01 (18)
decal_drip11 (3)
case
bench_lod
collider
decal_drip6 (42)
cloth_glove
shadow 6
colider
Base HumanLDigit32
Base HumanLDigit13
factory_ferma
ograda_2_lod
Base HumanLDigit12
decal_sand1_pillar
colider
heap_scrap_alang_7
Cube
!dust
collider
twist_v1 (21)
air_conditioner1_lod
concreate_tex_tile_small
colider
Base HumanLDigit21
factory_wall_sink
pallete
Base HumanLDigit32
case_door
colider
Base HumanLDigit52
decal_drip
hit_effect
case_shower2
Base HumanLDigit23
decal_drip1 (50)
colider_door
NewMultiFlareLight (3)
decal_dirt10
Base HumanLDigit42
wood_box 1
!concr_holes
louvers3
colider
tubeBig1 (56)
ballons_grp_lod
Base HumanLDigit43
decal_drip14 (4)
decal_dirt5
Base HumanLDigit31
sand_decal6
sand_decal_angle
pillar
book_open_02_lod1
safe
Base HumanLDigit33
Base HumanLDigit53 (1)
model_LOD1 1
paper2
collider
Base HumanLDigit13
detail
detail
Lod2_doorpost
Cube
LOD0
decal_dirt7
tubeBig_angle1
sg_targets
detail
sand_decal6 (70)
colider
factory_ferma
tubes2_1_lod
plate_crush_part1
colider
decal_dirt11
pillar
walllight
wood_box_closed_lod
freight_container_door_2_Lod0
decal_drip2
decal_drip10 (33)
collider
Cube (2)
factory_pillar02
decal_dirt
case_door2_lod
collider
case_door2
gaslamp_broken
Base HumanLDigit42
barrel_plastic1 (5)
Base HumanLDigit51
tubeBig1
model_LOD0 3
decal_drip2
Base HumanLDigit23
colider
decal_drip
tube01 (8)
Base HumanLDigit23
model_LOD2 1
pillar
case_door
decal_dirt11 (11)
colider
proxod_concrete
ograda_1
glowstick light
metal_g5 1
crushed_concreate_tex_tile_small (10)
lamp03_crush1_lod
model_LOD2 3
factory_pillar04
!GameObject
Base HumanLDigit31
provod_1_lod
ballons_grp_lod
plite_crush1
colider
rails
colider
garbage_stone1 (18)
factory_ferma_lod1
colider
colider 8
Lod2_door
colider_door
decal_drip1 (68)
shadow 2
case_door1_lod
twist_v1 (16)
factory_pillar_tunel_1
cardboard_box 1
colider
shadow 12
Base HumanLDigit13
decal_dirt11 (18)
cardboard_LOD1
colider_door
shadow_doorpost
part2_lod
decal_drip1 (46)
sand_decal1
sg_pivot
polythene_box_LOD
tubeBig1_lod
Outside_Door_Metal_3_R
tubeBig_angle1_lod
ograda_1
collider
sand_decal6 (41)
lamp02_compound (6)
plate
colider_L
decal_dirt
colider 17
decal_drip
prop01
colider
decal_sand
Base HumanLDigit33
decal_drip2 (91)
decal_dirt10 (15)
tubeBig_angle1
polet
shadow_door
Base HumanLDigit33
decal_sand2_pillar
plastic
barrel_plastic_lod1
crushed_concreate_tex_tile_big (11)
chemlight_LOD1
test_hand
gate_R
rails
model_LOD1
garbage_stone1
shadow_lod
DecalGraffiti (13)
case_shower2
detail
metal
NewMultiFlareLight_gas light (7)
sink3
Base HumanLDigit33
detail
garbage_stone1
factory_prop01 (3)
colider_door
ograda_1_lod
colider1
shadow 17
cloth_jacket (2)
colider
colider3
grille_LOD0
cardboard_LOD0
decal_dirt7
Base HumanLDigit33
colider
louvers2
cloth_bint1
shadow 12
plate_crush_part4
decal_dirt
card_file_Position_Pers
colider 7
case
Base HumanLDigit33
colider
Base HumanLDigit22
Base HumanLDigit23
Lod2_doorpost
colider
cloth_jacket
provod_1_lod
lesa_crush02_lod
windows_factory3
lamp02_compound_blue (4)
Base HumanLDigit13
colider
case_shower1
metall_lod
tubeBig1
decal_dirt
tubes2_angle_lod
Push (2)
garbage_constructor_big_lod
factory_pillar02
model_LOD2
decal_drip2
wall_paint_piece2
weapon_box_cover
tubes2_angle2
sand_decal2
decal_sand1_pillar
KeyGrip (1)
tubeBig1_lod
Base HumanLDigit21
model_LOD1
LOD0
sand_decal6 (26)
shadow 1
decal_dirt1 (1)
tubeBig2
decal_drip2
grate (8)
metal_g1 (13)
tubeBig1
factory_ferma_lod1
metall_list1
colider2
cloth_jacket (1)
filllight
factory_pillar_small1
shadow 6
rack_shelf_shadow
Base HumanLDigit51
colider
decal_dirt
polet_lod
tubeBig_angle1
barrel_old
decal_drip2
collider
weapon_box_grp
tubeBig_angle1_lod
plate_crush_part005
cloth_bint3
garbage_paper1 (6)
colider
Base HumanLDigit51
garbage_stone2
factory_pillar_shower
case2
case_door1
shadow 1
decal_drip4
decal_drip2
prop01
glowstick light
Base HumanLDigit31
collider
hit_effect
plate_crush_part005
colider
detail1
plate_crush_part2
collider
factory_ferma
cloth_shirt_lod
colider
decal_sand2_pillar
colider
factory_pillar02
cloth_shirt
ballons_grp_lod
decal_dirt
shadow
Base HumanLDigit21
cloth_jacket2
case_shower1
case
rack_shelf_shadow
colider
heap_junk_1 (3)
polet
tubeBig_angle1 (6)
wood_box_closed (6)
factory_prop01
DecalFootsteps (20)
heap_junk_1 (9)
colider
factory_pillar_tunel_1 (6)
tubes2
chair_cruash
shadow_lod0
sand_decal6
colider
pallete
wall_paint_piece7
plite_crush1
concr_hole3
louvers2_lod
barrel_old
Lock
shadow_lod1
collider
colider
detail
decal_dirt10
tubeBig1
decal_dirt
collider
garbage_constructor_lod
garbage_stone1
case_door
colider
collider
colider1
shadow
tubeBig_angle1
socket 1
Base HumanLDigit22
case_door2
decal_drip1 (6)
case
door
collider
walllight
model_LOD1
tubeBig_angle2_lod
door_R_lod_shadow
sink1
case2_lod
DecalGraffiti (8)
detail3
louvers2
Base HumanLDigit12
provod1
shadow_lod
case_door2
twist_v1 (8)
frame 1
wall_paint_piece5
walllight
Base HumanLDigit41
rack_shelf_shadow
tubeBig3
cardboard_LOD0
case_shower1
prop01
case2_lod
Base HumanLDigit43
barrel_fire_heat
decal_dirt1
shadow 7
decal_drip1 (34)
decal_dirt10
pump_station02
lamp02
gaslamp_broken
decal_drip1 (11)
Base HumanLDigit23
model_LOD2 1
plate03_part4
KeyGrip (1)
paper3
cable
tubeBig_angle1_lod
colider
tubeBig3_lod
polet_big
sink1
tubeBig_angle1 (17)
heap_junk_1 (10)
colider 19
lightglow (2)
model_LOD2 1
Base HumanLDigit53
decal_dirt11
shadow
case_door
sand_decal6
socket2 (3)
case_door
shadow 12
ograda_2
case_lod
twist_v1 1
collider
polet
hit_effect
lod3_2
sg_targets
colider_door
grate (6)
case2
Base HumanLDigit13
model_LOD0 1
case_lod
pillar
Base HumanLDigit41
case_door2_lod
colider_door
Base HumanLDigit42
model_LOD1 3
shadow
colider3
colider
walllight
sg_targets
tubeBig1
model_LOD2 3
garbage_stone2
plate_crush_part1
factory_pillar_tunel_1 (13)
cup_lod0
Base HumanLDigit33
collider
wall_paint_piece1
Base HumanLDigit43
factory_prop01
concr_hole4
decal_drip11
book_04_lod0
proxod (3)
decal_dirt10
decal_drip11 (20)
Base HumanLDigit11
tube01
rails_lod
model_LOD1
colider
Base HumanLDigit11
tubeBig1
Point light
Base HumanLDigit32
colider 12
books_02
tubeBig2
Base HumanLDigit31
Base HumanLDigit53
detail
pillar
Base HumanLDigit22
decal_drip1
Base HumanLDigit33
tube_kran
lamp01
ballons_grp002
tubeBig1
decal_drip1
collider
LOD0
case2_lod
tubes2_angle_lod
factory_block1
Base HumanLDigit53
Base HumanLDigit53 (1)
decal
sand_decal5 (1)
case_door2_lod
tubeBig1_lod
decal_dirt
pillar
Base HumanLDigit33
decal_drip10
colider
detail
case1
lamp03_crush2
Base HumanLDigit11
twist_v1 1
sand_decal6 (40)
shadow 17
wall_paint_piece5
shadow 17
decal_drip6
case_shower1
factory_boil
colider
Base HumanLDigit23
Lod1_door
Base HumanLDigit42
case
plate05
sand_decal3
detail
metal_g5 1
lamp01
lamp03_crush2_lod
case_door2_lod
Cube
cistern_metall
sand_decal6 (62)
paper_box
metal_g5 (12)
cardboard_set1
tubeBig1
decal
colider 17
plate02_part1 (1)
decal
Cube
ballons_grp
colider
detail005
pillar
model_LOD0 1
case1
plate05 (8)
colider
sand_decal6 (33)
colider
plate_crush_part3
wood_box 1
Point light window
Base HumanLDigit23
collider
case_door
DecalGraffiti (1)
KeyGrip
tubeBig_angle1
colider
sand_decal1 (5)
collider
effect_pivot
decal_sand1_pillar
Base HumanLDigit53 (1)
part2
Base HumanLDigit32
Push (2)
colider
crushed_concreate_tex_tile_small (12)
Folders_2_03
Base HumanLDigit12
colider_door
Base HumanLDigit23
colider
sg_pivot
model_LOD1
tubeBig1 (16)
pillar
collider
Base HumanLDigit13
case
cloth_bint1
door_R
metal_g1 1
tubeBig1
colider
case_door2
wall_paint_piece2
case_door2_lod
unitaz_part1
Folders_2_03 (1)
tubeBig2_lod
collider 3
cloth_bint1_lod
test_hand
colider
Base HumanLDigit22
colider1
cloth_jacket1_lod
col
Base HumanLDigit32
Base HumanLDigit53
case_door
metal_g5 (27)
electroCar_lod
brick_pile02_brick_dirty
pumpsmall
collider
shadow
sink2
lamp01_lod
plate_crush_part4
decal_dirt
garbage_stone2
colider
decal_dirt10
decal_dirt
decal_drip2 (4)
lamp03_lod
shadow 6
Base HumanLDigit31
metall_list2 (2)
rails_lod
case_door
heap_junk_1 (2)
door
collider 1
factory_block1
part2
louvers2
case
Base HumanLDigit33
decal_dirt
glowstick_white
case1
tubeBig2
sand_decal6
shadow 1
Base HumanLDigit41
twist_v1 1
garbage_stone1
door
shadow 12
decal_drip1
freight_container_door_1_Lod1
barrel_old
model_LOD2 2
colider_door
decal_dirt1
Base HumanLDigit43
provod_angle2_lod
decal_drip2 (46)
shadow 2
decal_sand1_pillar (1)
decal_dirt9
colider 1
case_door2
factory_weight
case_door
decal_sand1_pillar
garbage_stone1
crushed_concreate_3 1
lamp03 (15)
lamp01
tubeBig_angle1
decal
stool_crush_lod
Base HumanLDigit21
Cube
collider
provod_angle1
sand_decal6 (3)
cloth_bint1
colider
sand_decal5
barrel_plastic_lod0
decal_drip11 (2)
colider
lamp02_crush2
case_shower2
sg_pivot
Base HumanLDigit21
tubes2
detail005
tubeBig1
tubeBig1
plate03_part3
shadow 1
tubes2_angle
shadow
Lod2_door
shadow
colider
chair
shadow_lod0
Base HumanLDigit43
Base HumanLDigit43
ograda_1
prop01
decal_dirt10
lamp03_crush1
detail2
colider
shadow 4
cardboard_LOD2
provod1
colider
koluchka
decal_dirt
polet
lamp_crush02
sg_pivot
Base HumanLDigit11
metall
medkit_3
wood
colider
cloth_jacket2_lod
factory_block1
woodBox_medium_shadow
colider
decal_drip1
glowstick light
decal_drip14 (3)
collider
decal_dirt10
garbage_stone1
plastic
detail
pump_lo
colider
bottle_cooler_lod_2_shadow
garbage_stone1 (28)
ballons_grp002
garbage_stone1
tubeBig1
Base HumanLDigit31
books_02_lod1
lamp01
decal_dirt
Base HumanLDigit43
decal
electroCar
kaska
garbage_stone1
concr_hole3
shadow
colider
metal_g5 (6)
Base HumanLDigit32
rails
sg_targets
shadow 7
colider
colider1
Base HumanLDigit12
Base HumanLDigit43
detail3
barrel_plastic1 (7)
kaska (1)
tube01
Base HumanLDigit43
Base HumanLDigit53
case_door1
wall_sink
model_LOD0 4
shadow_lod0
weapon_box_cover_lod
detail
shadow_lod1
twist_v1 (11)
colider
metall
LOD0
lamp03
case_door
door
sand_decal6
Base HumanLDigit23
decal
colider_door
sand_decal6
sand_decal6
Base HumanLDigit33
garbage_stone1
Base HumanLDigit43
wall_paint_piece7_dec
decal_dirt
shadow 19
colider
colider
tubeBig1_lod
plate_crush_part3
Base HumanLDigit51
windows_factory5
cabel
Base HumanLDigit33
Point light (1)
plate05
Lod2_door
case
detail005
lamp01
Base HumanLDigit22
Base HumanLDigit22
wall_paint_piece2_dec
crushed_concreate_tex_tile_small (1)
Base HumanLDigit11
tubeBig1
Base HumanLDigit52
concrete
case_door1
lamp02_compound (2)
garbage_stone1
decal
Base HumanLDigit41
case1_lod
case_door
provod_1_lod
tubeBig_angle1
tubes2 (3)
colider
case2_lod
container_6m
Base HumanLDigit23
provod2
metall
tunel_enter_lod
tubeBig1_lod
garbage_stone1
case_door1
Base HumanLDigit53
windows_factory3
table_lod
Base HumanLDigit11
evroCub
door_L 1
colider
tubeBig1
tubeBig_angle1_lod
sg_pivot
door_3
stool_crush
Base HumanLDigit41
colider
Base HumanLDigit41
model_LOD2
decal_dirt
tubeBig1_lod
eurocube_dec_1
Base HumanLDigit53
Base HumanLDigit21
Base HumanLDigit12
model_LOD1 2
colider_door
decal_drip2 (1)
Point light (6)
lamp03_lod
Base HumanLDigit23
garbage_stone1
wood_box_closed 1
Point light
colider
Base HumanLDigit53 (1)
decal_sand1_pillar
decal_drip2 (64)
case
glowstick light
colider 12
lamp03_crush1
model_LOD1 3
Base HumanLDigit21
pump_station
tube_pile
collider
tube01
hit_effect
Base HumanLDigit33
Base HumanLDigit13
decal_dirt
tubeBig1_lod
windows_1_floor
tubeBig_angle1
ograda2
metal
cardboard_LOD1
lamp03_crush2
case_door
sand_decal6
shadow 3
Base HumanLDigit13
collider
pillar
tube01_lod
decal
Base HumanLDigit53 (1)
pillar_big
garbage_stone2
collider_door1
sg_pivot
Base HumanLDigit31
shadow 17
case_door
pallete
container_12m
factory_pillar04
barrel_plastic_lod0
colider
plastic
plate05 (6)
ograda2
decal
collider
Base HumanLDigit23
barrel_plastic_lod2
static_collider
colider_door
part1_lod
model_LOD2
pillar
Base HumanLDigit43
colider 8
LOD0
garbage_stone1
lightglow
tube01_lod
tubeBig1
Base HumanLDigit33
colider
factory_pillar_tunel_1
Lock
colider 17
collider
collider
case_door1_lod
cloth_glove
decal_dirt
tubeBig1 (59)
twist_v1 1
barrel_old
bucket (1)
box_carton_set
decal_drip10
decal_drip11
tubeBig1 (5)
polet_lod
cloth_bint3 (2)
twist_v1 (10)
garbage_stone1 (4)
Base HumanLDigit43
shadow 8
stool_crush
plate02_part2 (1)
Base HumanLDigit51
Base HumanLDigit11
unitaz
rails
collider_cover
decal_sand
col
Base HumanLDigit42
Base HumanLDigit12
filllight
pallete_lod
door3
sand_decal6
detail
cloth_bint3
Base HumanLDigit53 (1)
sg_targets
case_shower1
folders_02
decal_drip
provod1
pipe
Base HumanLDigit31
collider
colider
collider
rails
Decals
wind_1_floor_lod
collider_door3
colider
shadow_lod
Base HumanLDigit11
book_open_02
sand_decal6 (47)
gaslamp_compound (6)
concrete
node (2)
Projector
tubeBig1
crushed_concreate_tex_tile_big (4)
handle_axis_in
colider
woodBox_medium (9)
cloth_shirt
case_door
decal_drip6 (2)
plate02_part1
colider3
LOD0
decal_sand2_pillar
case1_lod
tubeBig1
collider
Base HumanLDigit32
Base HumanLDigit43
Base HumanLDigit41
Base HumanLDigit13
Base HumanLDigit43
Base HumanLDigit53 (1)
DecalFootsteps (43)
model_LOD1
Base HumanLDigit13
collider
colider
polet
decal_drip1 (15)
tubeBig_angle1_lod
sg_targets
brick_pile03_brick_dirty
plate_crush_part1
cup (1)
koluchka
Base HumanLDigit53 (1)
glowstick light
cloth_jacket2_lod
glass_crush02
Base HumanLDigit32
lamp01
Base HumanLDigit33
Lod0_doorpost
decal_drip11 (1)
bench_lod
case_door
decal_sand1_pillar
twist_v1 1
cardboard_LOD2
detail
decal_drip2 (61)
cloth_shirt (3)
colider
kaska
paper3 (1)
lamp01
tubeBig_angle1
cloth_shirt_lod
shadow
paper_box
Base HumanLDigit21
colider
ballon_new
barrel_pile (7)
administrativ_ladder
factory_pillar02
plate01_part2
barrel_plastic_lod2
sand_decal6
case2
detail2
Base HumanLDigit52
colider
crushed_concreate_tex_tile_small
tubeBig1
case
weapon_box_grp
ballon_new
garbage_stone1
Base HumanLDigit32
tubeBig_angle1_lod
shadow_lod0
provod_2_lod
tubeBig1_lod
sg_pivot
windows_factory5
Lock
shadow_door
evroCub
Base HumanLDigit11
shadow 1
sand_decal6 (46)
decal_drip13
decal
shadow 1
ograda_2_lod
plate_crush_part1
sand_decal6 (58)
lightglow
factory_prop01
colider
Base HumanLDigit41
container_6m
gate_metal4_2_factory
sofa
pumpsmall
plite_crush2
cloth_glove_lod
Base HumanLDigit33
colider
balistic
decal_dirt
case_door
polet_lod
cable (1)
decal_drip
decal_drip2
sand_decal6
LOD0
plate
wood_box_crash1_LOD1
heap_scrap_alang_7
polet_lod
colider
Base HumanLDigit42
shadow
cupboard_lod
Base HumanLDigit42
tubeBig1 (14)
factory_pillar_shower
balistic
tubeBig_angle2
door_wood1_new
barrel_metal
Base HumanLDigit11
KeyGrip
decal_drip1 (20)
voronka 1
model_LOD2
Lod1_door
pillar
decal_drip10 (22)
colider_door
barrel_pile
NewMultiFlareLight (3)
cloth_pants_lod
colider
case_shower1
case1
handle_axis_out
windows_administrativ
plate03_part3 (1)
sand_decal6
detail3
weapon_box_cover_lod
barrel_metal_lod1
collider
kran_big
wall_paint_piece2
static_collider
Base HumanLDigit43
Base HumanLDigit51
shadow
lamp03 (6)
colider
colider 17
Folders_2_04_lod1
factory_ferma_lod1
windows_factory4
hit_effect
lamp02_crush1
NewMultiFlareLight stick
colider
cloth_jacket2
tubeBig_angle1_lod
case_shower2
Base HumanLPalm (5)
plate_crush_part1
ograda2
cloth_pants1
plate02_part2 (3)
cloth_bint3_lod
Base HumanLDigit12
garbage_stone2
sand_decal6 (73)
lamp03_crush2
collider
grate (10)
glass
detail2
colider
Base HumanLDigit33
case_door
plate_crush_part3
crushed_concreate_tex_tile_big (1)
KeyGrip (1)
decal_drip2
factory_pillar_tunel_1
folders_02 (1)
garbage_stone1
decal_drip2
decal_drip6
door
garbage_stone2 (6)
colider
colider
Base HumanLDigit12
factory_ferma_lod1
factory_pillar_tunel_1
Base HumanLDigit52
Point light (2)
Point light
decal_drip2
model_LOD2
decal_dirt11 (16)
pillar
provod_2_lod
sg_pivot
collider
lamp1
card_file_box_Anim2
tubes2_angle2
books_02_lod1
metal_g5 (26)
pillar
collider
tube01
gaslamp_off
doorhandle_lod1
plastic
rails
decal_drip2
Base HumanLDigit23
paper5
Base HumanLDigit52
crushed_concreate_tex_tile_small (7)
decal_drip10
garbage_stone1
case1
detail2
barrel_old
ograda1
window_lod
ladder
tubeBig1
cloth_jacket1
decal_sand1_pillar
plate03_part1
cloth_glove
colider
chemlight_LOD0
lamp03_crush1_lod
shadow 17
wall_paint_piece7_dec
wall_paint_piece7_dec
factory_pillar_tunel_2
Base HumanLDigit22
lamp01
door 1
DecalFootsteps (35)
heap_junk_1 (1)
lamp01_lod
decal_drip2 (87)
colider1
colider
plate_crush_part1
colider 8
detail3
crushed_concreate_tex_tile_big
wall_paint_piece7
Base HumanLDigit21
Cube
doorpost_metal_LOD2
Point light
sg_pivot
sand_decal6
garbage_stone2
ograda1
rifleshell_grp
case
model_LOD2 1
medkit_4
sand_decal6 (38)
factory_pillar_small2
tubeBig_angle1
exit (2)
tubeBig1 (2)
colider
rails
Base HumanLDigit43
polet
decal_drip1
cloth_jacket1
rifleshell_grp
case_door2_lod
lamp03_crush1_lod
decal_sand1_pillar
glowstick light
colider
Base HumanLDigit22
colider
Base HumanLDigit12
tubeBig_angle1
polet (2)
sand_decal2
musor_small
Base HumanLDigit53
colider
sand_decal5
sand_decal6
Base HumanLDigit33
ograda1
Base HumanLDigit43
shadow
colider005
Base HumanLDigit43
Base HumanLDigit33
collider
detail
case_door
decal_sand1_pillar
lamp01
plate_crush_part005
sand_decal_angle
Base HumanLDigit43
plate_crush_part3
electroCar
Point light flicker tunnel (1)
Base HumanLDigit52
Base HumanLDigit23
metal
colider
Lod2_doorpost
plate_crush_part2
Base HumanLDigit13
LOD0
Base HumanLDigit11
lamp02
detail1
case_shower1
garbage_stone1 (1)
detail3
plate_crush_part1
wall_paint_piece7
Base HumanLDigit13
paper5
pallete
Base HumanLDigit12
tubeBig_angle1_lod
tubeBig1_lod
shadow 17
decal_dirt11
colider
decal_drip11
side_industrial_lamp (12)
tubeBig1
colider
factory_pillar04
pillar
ograda_1
Base HumanLDigit53 (1)
factory_signs8
tubeBig_angle1
decal_drip10 (7)
tubeBig1
cupboard_metal_lod
part1
plite_crush2
case_door
sg_targets
metal_g5 1
chemlight_LOD0
colider001
sand_decal6
freight_container_6m_1_Lod0
electrobox
door_1
door_L_lod
Base HumanLDigit23
plate03_part3
freight_container_door_3_Lod0
Base HumanLDigit13
decal_drip
decal_drip6
part1_lod
decal_dirt5
Base HumanLDigit51
tubes2
garbage_stone2
chair_crush
gate_L
gate_metal4_2_factory (2)
decal_sand2_pillar
tubeBig2
plate01_part1
Base HumanLDigit43
Base HumanLDigit42
tubeBig1_lod
plate_crush_part2
grate (5)
model_LOD1 1
cloth_bint1
freight_container_door_3_Lod1
rack_shelf_col
DecalGraffiti (19)
pillar
Base HumanLDigit33
detail
shadow
weapon_box_cover
colider
colider_door
decal_dirt1
tubeBig3_lod
sand_decal6
shadow 7
Base HumanLDigit23
lamp03
weapon_box_lod
ograda2
!lightplanes sun
StaticManager
colider
detail1
colider
decal_sand1_pillar (4)
tube01 (1)
electroCar (1)
Base HumanLDigit43
Pull (1)
plate03_part3
case1
crushed_concreate_tex_tile_small
tubeBig_angle1
collider_door4
ograda1
colider
sg_targets
Base HumanLDigit32
garbage_stone1
factory_ferma_lod0
decal_drip6 (9)
case_door1
walllight
model_LOD0
garbage_stone1
decal_dirt11
ograda_2_lod
colider_door
decal
decal_sand
cloth_shirt_lod
Base HumanLDigit43
Base HumanLDigit22
decal_dirt
sink1
Base HumanLDigit23
case_shower2
wood
sand_decal6 (22)
collider
Base HumanLDigit33
case_door2
lightglow
wall_paint_piece6_dec
decal_dirt10 (23)
Push (2)
collider
sand_decal6
decal_drip2 (1)
woodBox_medium (18)
Base HumanLDigit32
scatter_paper_1
provod1
decal_dirt1
tubeBig_angle1
tubeBig_angle1_lod
colider_door
decal_drip2 (3)
collider
cloth_shirt_lod
wood
Base HumanLDigit13
ladder
Base HumanLDigit32
crushed_concreate_1 1
case_door1_lod
Cube
plate02_part2
tubeBig_angle1_lod
Base HumanLDigit33
barrel_fire_heat
Base HumanLDigit12
case1_lod
ograda2
Garbage_constructor
koluchka
Folders_2_01_lod0
voronka (1)
detail2
concrete_lod
Base HumanLDigit33
garbage_stone1 (16)
sg_pivot
Base HumanLDigit33
Base HumanLDigit13
barrel_fire_smoke (1)
cloth_jacket2
DecalFootsteps (28)
dust_particles
sg_pivot
Lod2_doorpost
colider
plate05
Base HumanLDigit21
decal_dirt9
Base HumanLDigit43
NewMultiFlareLight top
prop01
heap_carton_2
plite_crush2
crushed_concreate_tex_tile_big (20)
decal_drip6 (1)
cloth_bint3_lod
plate
heap_scrap_small_1
glass_crush02
detail005
detail1
cloth_jacket2
Base HumanLDigit11
barrel_plastic_lod1
Base HumanLDigit12
eurocube_dec_1
provod1
kran
lod3
Base HumanLDigit13
decal_drip1
lamp03_crush2
wall_paint_piece2
colider 18
factory_pillar_tunel_1 (16)
Base HumanLDigit13
case1
sand_decal_angle
collider
lamp01_lod
test_hand
plate03_part2
book_open_02_lod0
windows_factory1
colider
test_hand
colider
tubeBig_angle1 (10)
garbage_stone1 (13)
Base HumanLDigit33
sg_targets
model_LOD1 1
lamp03_lod
barrel_metal_lod2
model_LOD1
garbage_stone1
decal_drip2 (28)
pillar
kaska
tubeBig1_lod
colider 7
Base HumanLDigit32
Base HumanLDigit53 (1)
model_LOD1 1
concr_hole2
Push (2)
gate_metal4_2_factory (3)
Base HumanLDigit53
colider
Base HumanLDigit42
colider
collider
decal_drip14
woodBox_medium_shadow
pillar
sand_decal6
detail
wall_paint_piece6 (4)
collider
lamp02_crush2
decal_dirt10
Base HumanLDigit12
sg_pivot
sand_decal2
test_hand
factory_ferma2
garbage_stone1
Base HumanLDigit42
plate_crush_part1
Base HumanLDigit31
case2
shadow 12
freight_container_door_1_Lod1
colider_door
Base HumanLDigit33
sand_decal6 (45)
factory_prop01
colider2
chemlight_LOD0
model_LOD2
case2
concr_hole4
shadow 2
case_shower1
Base HumanLDigit33
shadow
heap_scrap_alang_7
colider
Base HumanLDigit33
colider3
lamp03_lod
metal_g5 1
wall_paint_piece6 (1)
brick_pile03
factory_pillar_tunel_1 (5)
tubeBig1
case1
sg_pivot
collider_door1
barrel_plastic_lod0
Base HumanLDigit23
colider
Base HumanLDigit53 (1)
shadow 1
concrete_lod0
decal_drip13
freight_container_door_1_Lod0
decal_drip11
colider
bench
collider
tube01
tube01 (12)
factory_pillar_tunel_2
collider
Point light
detail
cupboard_metal
shadow
colider 8
case_shower1
prop01
decal
bench_lod
decal_drip10
metal_g1 (15)
Base HumanLDigit23
heap_scrap_alang_7
rails_lod
part2_lod
heap_scrap_small_1
lamp01_lod
Base HumanLDigit11
tubes2
case2
tubeBig1
colider
case_door2_lod
garbage_container_full_old
shadow
chair2
colider_door
cloth_shirt
colider
shadow 7
colider
twist_v1 (2)
tubes2_lod
decal_drip2
decal_dirt11
Base HumanLDigit43
garbage_stone1
collider
rails
colider
decal_drip2 (4)
GI_light
tubeBig_angle1_lod
decal_dirt
rails_lod
brick_pile03
plite_crush1
colider
cloth_shirt (4)
garbage_stone1
collider
grille_LOD1
detail1
model_LOD2
box_carton_set
Base HumanLDigit11
Base HumanLDigit52
door_factory
Base HumanLDigit23
Outside_Door_Metal_3_R
plate_crush_part005
plastic
balistic
pillar
wall_paint_piece5
Base HumanLDigit11
lamp01
Base HumanLDigit43
test_hand
part2_lod
case_door2
sand_decal_angle
folder_open
colider
Base HumanLDigit43
Base HumanLDigit33
KeyGrip
Base HumanLDigit33
decal_drip14 (3)
colider
lamp01
lesa_crush02_lod
DecalGraffiti (24)
Base HumanLDigit22
lamp02_crush1 (2)
Base HumanLDigit13
NewMultiFlareLight stick
cupboard_metal_lod_shadow
colider_door
model_LOD1 1
Base HumanLDigit12
koluchka
particle_watersplash
tubeBig1
colider 8
lamp01
lamp01_lod
lamp01
lamp01_lod
lamp01
lamp01_lod
galss
galss_lod
lamp01
lamp01_lod
lamp01
lamp01_lod
NewMultiFlareLight_gas (3)
NewMultiFlareLight_gas light (2)
point light
gaslamp
breakable_collider
lamp01
lamp01_lod
lamp01
lamp01_lod
lamp01
lamp01_lod
NewMultiFlareLight_gas (3)
NewMultiFlareLight_gas light (2)
point light
gaslamp
breakable_collider
lamp01
lamp01_lod
lamp01
lamp01_lod
lamp01
lamp01_lod
NewMultiFlareLight_gas (3)
NewMultiFlareLight_gas light (2)
point light
gaslamp
breakable_collider
NewMultiFlareLight_gas (3)
NewMultiFlareLight_gas light (2)
point light
gaslamp
breakable_collider
lamp01
lamp01_lod
lamp01
lamp01_lod
NewMultiFlareLight_gas (3)
NewMultiFlareLight_gas light (2)
point light
gaslamp
breakable_collider
lamp01
lamp01_lod
NewMultiFlareLight_gas (3)
NewMultiFlareLight_gas light (2)
point light
gaslamp
breakable_collider
NewMultiFlareLight_gas (3)
NewMultiFlareLight_gas light (2)
point light
gaslamp
breakable_collider
lamp01
lamp01_lod
NewMultiFlareLight_gas (3)
NewMultiFlareLight_gas light (2)
point light
gaslamp
breakable_collider
NewMultiFlareLight_gas (3)
NewMultiFlareLight_gas light (2)
point light
gaslamp
breakable_collider
lamp01
lamp01_lod
lamp01
lamp01_lod
lamp01
lamp01_lod
lamp01
lamp01_lod
lamp01
lamp01_lod
NewMultiFlareLight_gas (3)
NewMultiFlareLight_gas light (2)
point light
NewMultiFlareLight_gas light (3)
gaslamp
breakable_collider
ExperienceTrigger (4)
ExperienceTrigger (12)
ExperienceTrigger (26)
ExperienceTrigger (7)
ExperienceTrigger (24)
ExperienceTrigger (20)
ExperienceTrigger (14)
case_extraction_zone
EnvironmentManager
ExperienceTrigger (25)
ExperienceTrigger (17)
ExperienceTrigger (3)
ExperienceTrigger (23)
ExperienceTrigger (2)
ExperienceTrigger (10)
ExperienceTrigger (11)
ExperienceTrigger (16)
ExperienceTrigger (8)
ExperienceTrigger (9)
ExplorationZones
Indoor
ExperienceTrigger (18)
ExperienceTrigger (22)
ExperienceTrigger (13)
ExperienceTrigger (21)
ExperienceTrigger (19)
ExperienceTrigger (6)
ExperienceTrigger (1)
ExperienceTrigger (15)
ExperienceTrigger
AmbientSources
ExperienceTrigger (5)
case_extraction_placeitem
p1 (3)
295 (4.9, 7.6, 62.5)
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
227 (38.6, 0.1, 30.6)
130 (63.3, 0.6, 26.2)
Coverpoint
301 (3.9, 1.0, 59.2)
Coverpoint
PointForRaycast
228 (39.8, 0.1, 30.6)
PointForRaycast
Coverpoint
DoorLink
Coverpoint
150 (-17.0, 0.5, 31.5)
PointForRaycast
Coverpoint
PointForRaycast
PointForRaycast
220 (12.8, 4.6, 48.2)
PointForRaycast
PointForRaycast
Coverpoint
NavMesh
PointForRaycast
Coverpoint
PointForRaycast
283 (-25.1, 1.0, 62.2)
PointForRaycast
DoorLink
Coverpoint
250 (45.0, 4.5, 40.0)
GameObject
Coverpoint
173 (-9.2, 1.1, 51.8)
Coverpoint
164 (-22.1, -2.6, 37.7)
184 (16.6, 0.2, 29.7)
22 (56.6, 0.1, -15.5)
PointForRaycast
34 (-12.1, 0.1, 15.1)
Coverpoint
PointForRaycast
Coverpoint
20 (56.4, 0.1, -18.5)
82 (46.7, 0.1, 12.8)
Coverpoint
33 (-11.8, 0.1, 14.7)
Coverpoint
168 (-3.7, 1.1, 43.3)
DoorLink
PointForRaycast
DoorLink
Coverpoint
1 (38.3, 0.1, -28.2)
Coverpoint
PointForRaycast
TestObject
Coverpoint
Coverpoint
Coverpoint
PointForRaycast
BoundMinor
118 (62.6, 0.0, 18.9)
127 (65.4, 0.1, 24.4)
PointForRaycast
Coverpoint
Coverpoint
GameObject (1)
65 (22.2, 0.1, 24.5)
Coverpoint
Coverpoint
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
166 (-12.7, -2.6, 37.5)
PointForRaycast
DoorLink
Coverpoint
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
PointForRaycast
Coverpoint
Coverpoint
Coverpoint
156 (-24.2, 1.1, 37.6)
Coverpoint
Coverpoint
Coverpoint
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
282 (-25.0, 1.0, 62.2)
PointForRaycast
PointForRaycast
Coverpoint
PointForRaycast
PointForRaycast
290 (-3.3, 1.1, 61.9)
Coverpoint
Coverpoint
Coverpoint
p1 (4)
DoorLink
PointForRaycast
247 (43.3, 0.1, 37.5)
TestObject (4)
Coverpoint
DoorLink
DoorLink
PointForRaycast
PointForRaycast
218 (17.3, 4.6, 46.1)
PointForRaycast
p1 (6)
296 (4.9, 7.6, 61.3)
DoorLink
PointForRaycast
291 (-19.4, 1.1, 65.1)
DoorLink
DoorLink
217 (18.8, 4.6, 44.8)
Coverpoint
PointForRaycast
Coverpoint
GameObject (8)
PointForRaycast
PointForRaycast
129 (63.7, 0.5, 25.6)
41 (-12.3, 0.1, 24.7)
177 (-20.4, 1.0, 49.1)
PointForRaycast
DoorLink
5 (18.4, -2.6, -20.6)
Coverpoint
Coverpoint
257 (62.3, 0.4, 35.1)
GameObject (1)
7 (22.7, -2.6, -8.5)
275 (-35.2, 1.1, 61.2)
292 (4.3, 7.6, 55.3)
193 (11.6, 0.1, 31.3)
Coverpoint
GameObject (16)
Coverpoint
63 (19.2, 0.1, 22.3)
Coverpoint
Coverpoint
Coverpoint
PointForRaycast
Coverpoint
DoorLink
Coverpoint
Coverpoint
Coverpoint
PointForRaycast
225 (41.3, 0.0, 28.8)
DoorLink
Coverpoint
126 (61.2, 0.4, 24.7)
244 (37.9, 1.0, 37.8)
PointForRaycast
Coverpoint
Coverpoint
115 (63.7, 0.1, 14.7)
50 (22.0, -2.6, 0.4)
Coverpoint
PointForRaycast
202 (5.2, 3.8, 35.1)
PointForRaycast
PointForRaycast
PointForRaycast
254 (37.2, 4.6, 36.5)
Coverpoint
PointForRaycast
57 (1.6, 0.1, 10.1)
13 (39.1, 0.1, -25.7)
PointForRaycast
101 (33.8, 7.2, 23.8)
8 (17.4, -2.6, -19.8)
Coverpoint
GameObject
142 (-4.3, 1.0, 49.6)
PointForRaycast
Coverpoint
Coverpoint
Coverpoint
DoorLink
Coverpoint
Coverpoint
PointForRaycast
Coverpoint
Coverpoint
PointForRaycast
Coverpoint
298 (5.0, 7.6, 57.8)
Coverpoint
Coverpoint
PointForRaycast
PointForRaycast
DoorLink
Coverpoint
PointForRaycast
GameObject (18)
Coverpoint
PointForRaycast
294 (6.6, 7.6, 55.9)
211 (25.0, 4.6, 35.9)
222 (35.0, 7.7, 30.4)
DoorLink
DoorLink
PointForRaycast
286 (-10.3, 1.1, 60.0)
Coverpoint
Coverpoint
Coverpoint
226 (38.5, 0.1, 29.7)
PointForRaycast
PointForRaycast
11 (18.2, -2.6, -1.9)
PointForRaycast
263 (55.5, 0.1, 40.5)
272 (-28.7, 1.4, 57.9)
192 (11.8, 0.1, 31.3)
268 (-31.2, 1.4, 56.2)
106 (28.9, 0.1, 22.6)
Coverpoint
PointForRaycast
69 (36.3, 0.1, 1.7)
Coverpoint
Coverpoint
75 (44.5, 0.1, 14.0)
DoorLink
84 (46.7, 0.1, 10.9)
BoundDown
229 (46.4, 0.3, 30.2)
214 (12.7, 4.6, 42.1)
Coverpoint
30 (-1.2, 0.1, 9.7)
62 (22.9, 0.1, 22.2)
Coverpoint
Coverpoint
36 (-11.9, 0.1, 16.6)
PointForRaycast
175 (-20.8, 1.0, 49.8)
PointForRaycast
PointForRaycast
74 (37.8, 0.1, 10.4)
Coverpoint
DoorLink
Coverpoint
152 (-7.3, 0.6, 32.0)
Coverpoint
198 (13.9, 0.2, 32.6)
PointForRaycast
165 (-14.8, 1.1, 38.8)
281 (-11.2, 1.1, 60.1)
23 (56.6, 0.1, -18.6)
Coverpoint
25 (-12.9, 0.8, 4.1)
Coverpoint
PointForRaycast
Coverpoint
Coverpoint
231 (28.2, 0.4, 31.2)
278 (-30.9, 1.1, 63.6)
174 (-21.5, 1.0, 51.2)
PointForRaycast
259 (64.5, 0.0, 40.6)
6 (21.9, -2.6, -20.6)
163 (-23.8, -2.6, 35.7)
Coverpoint
Coverpoint
170 (-22.6, 1.1, 43.3)
PointForRaycast
Coverpoint
Coverpoint
47 (-10.8, 0.1, 24.2)
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
PointForRaycast
Coverpoint
103 (35.8, 7.3, 26.3)
51 (27.2, 0.1, 8.2)
PointForRaycast
PointForRaycast
Coverpoint
Coverpoint
PointForRaycast
76 (38.5, 0.1, 5.5)
61 (23.9, 0.1, 21.9)
299 (4.0, 1.0, 58.8)
Coverpoint
PointForRaycast
45 (-19.2, 0.2, 23.3)
Coverpoint
Coverpoint
PointForRaycast
178 (-6.1, 1.0, 51.4)
PointForRaycast
Coverpoint
Coverpoint
PointForRaycast
p1
PointForRaycast
Coverpoint
PointForRaycast
GameObject (14)
Coverpoint
162 (-23.6, -2.6, 35.6)
72 (36.3, 0.1, 8.5)
Coverpoint
Coverpoint
Coverpoint
Coverpoint
Coverpoint
40 (-12.8, 0.1, 24.4)
Coverpoint
258 (62.3, 0.4, 36.5)
Coverpoint
219 (16.8, 4.6, 47.2)
PointForRaycast
p1 (2)
PointForRaycast
Coverpoint
PointForRaycast
PointForRaycast
24 (56.9, 0.1, -21.4)
PointForRaycast
PointForRaycast
273 (-49.3, 1.3, 58.5)
46 (0.0, 0.1, 23.5)
Coverpoint
185 (13.8, 0.2, 29.1)
Coverpoint
PointForRaycast
Coverpoint
Coverpoint
Links
Coverpoint
PointForRaycast
PointForRaycast
PointForRaycast
56 (3.8, 0.1, 25.3)
PointForRaycast
Coverpoint
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
Coverpoint
Coverpoint
PointForRaycast
271 (-30.3, 1.4, 59.3)
PointForRaycast
PointForRaycast
DoorLink
PointForRaycast
Coverpoint
PointForRaycast
289 (-22.3, 1.1, 62.6)
Coverpoint
Coverpoint
PointForRaycast
Coverpoint
Coverpoint
97 (51.6, 0.1, 17.6)
137 (-35.9, 1.7, 40.6)
Coverpoint
Coverpoint
141 (-2.5, 1.1, 45.7)
DoorLink
18 (66.9, 0.5, -27.0)
10 (17.8, -2.6, -7.3)
134 (-32.3, -2.6, 33.4)
DoorLink
PointForRaycast
PointForRaycast
70 (37.8, 0.1, 3.5)
DoorLink
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
110 (35.5, 0.1, 10.8)
Coverpoint
35 (-11.5, 0.1, 14.6)
PointForRaycast
PointForRaycast
Coverpoint
DoorLink
154 (-4.9, 1.3, 32.7)
PointForRaycast
78 (44.4, 0.1, 11.1)
DoorLink
DoorLink
183 (18.2, 0.2, 29.9)
Coverpoint
PointForRaycast
DoorLink
17 (51.6, 0.0, -5.2)
Coverpoint
PointForRaycast
55 (25.5, 0.1, 15.8)
104 (34.0, 0.1, 19.6)
207 (6.9, 4.6, 35.7)
Coverpoint
PointForRaycast
PointForRaycast
98 (38.3, 7.4, 26.5)
208 (17.3, 4.6, 38.6)
Coverpoint
Coverpoint
27 (-9.9, 0.1, 4.3)
Coverpoint
Coverpoint
PointForRaycast
197 (9.7, 0.2, 31.9)
224 (36.6, 0.1, 30.7)
105 (53.9, 0.0, 20.7)
160 (-2.5, 1.1, 44.3)
PointForRaycast
DoorLink
204 (26.2, 8.2, 35.3)
221 (7.4, 4.6, 35.6)
171 (-3.7, 1.1, 46.0)
Coverpoint
PointForRaycast
302 (1.6, 1.3, 60.8)
GameObject (17)
125 (65.5, 0.1, 24.4)
Coverpoint
Coverpoint
288 (-3.3, 1.2, 59.7)
Coverpoint
205 (22.3, 8.2, 35.3)
Coverpoint
PointForRaycast
PointForRaycast
DoorLink
PointForRaycast
Coverpoint
133 (55.4, 0.0, 19.3)
248 (40.3, 0.3, 39.4)
303 (0.5, 1.1, 58.1)
PointForRaycast
31 (-11.3, 0.1, 14.4)
213 (6.5, 3.8, 38.7)
16 (28.7, 0.1, 3.7)
Coverpoint
DoorLink
279 (-23.4, 1.1, 57.0)
TestObject (3)
PointForRaycast
PointForRaycast
43 (-13.5, 0.1, 23.0)
42 (-12.2, 0.1, 24.8)
21 (64.6, 0.2, -1.0)
PointForRaycast
PointForRaycast
PointForRaycast
PointForRaycast
264 (-49.3, 1.3, 58.3)
266 (-31.8, 1.4, 56.6)
186 (13.6, 0.2, 28.9)
Coverpoint
DoorLink
85 (46.7, 0.1, 10.7)
12 (27.3, -2.5, -23.3)
DoorLink
Coverpoint
285 (-24.0, 1.0, 57.7)
DoorLink
Coverpoint
p1 (1)
52 (27.2, 0.1, 3.9)
PointForRaycast
DoorLink
PointForRaycast
PointForRaycast
PointForRaycast
PointForRaycast
PointForRaycast
90 (40.8, 0.2, 24.6)
Coverpoint
Coverpoint
DoorLink
PointForRaycast
Coverpoint
Coverpoint
114 (63.8, 0.1, 7.2)
Coverpoint
PointForRaycast
PointForRaycast
PointForRaycast
PointForRaycast
116 (64.6, 0.2, 13.4)
DoorLink
GameObject (12)
DoorLink
195 (15.5, 0.2, 31.9)
DoorLink
PointForRaycast
237 (35.5, 8.2, 35.1)
PointForRaycast
PointForRaycast
PointForRaycast
PointForRaycast
DoorLink
DoorLink
Coverpoint
GameObject (13)
223 (35.8, 8.0, 33.6)
DoorLink
PointForRaycast
DoorLink
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
DoorLink
PointForRaycast
PointForRaycast
Coverpoint
172 (-5.7, 1.1, 48.6)
100 (33.8, 7.1, 22.6)
Coverpoint
Coverpoint
99 (38.3, 7.4, 23.1)
PointForRaycast
144 (-9.4, 1.2, 54.0)
Coverpoint
121 (64.9, 0.0, 21.1)
256 (62.3, 0.3, 33.5)
Coverpoint
Coverpoint
Coverpoint
188 (23.8, 0.1, 31.0)
Coverpoint
DoorLink
PointForRaycast
TestObject (2)
73 (38.5, 0.1, 6.7)
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
GameObject
DoorLink
102 (33.8, 6.8, 19.3)
3 (23.5, -2.6, -23.3)
Coverpoint
249 (45.0, 4.5, 41.7)
Coverpoint
PointForRaycast
81 (49.7, 0.3, 14.7)
Coverpoint
19 (59.5, -0.2, -25.8)
54 (26.3, 0.1, 14.1)
PointForRaycast
Coverpoint
Coverpoint
26 (-10.5, 0.1, 3.2)
48 (5.7, 0.2, 25.6)
Coverpoint
277 (-33.2, 1.1, 61.3)
Coverpoint
GameObject (15)
PointForRaycast
270 (-29.2, 1.4, 56.4)
PointForRaycast
TestObject (1)
Coverpoint
Coverpoint
79 (44.8, 0.1, 9.4)
Coverpoint
128 (64.8, 0.2, 24.7)
PointForRaycast
206 (7.2, 4.6, 35.6)
DoorLink
DoorLink
Coverpoint
Coverpoint
0 (24.4, -2.6, -32.5)
Coverpoint
PointForRaycast
GameObject (10)
9 (22.2, -2.6, -8.5)
149 (-17.1, 0.9, 33.0)
280 (-13.5, 1.1, 60.1)
PointForRaycast
Coverpoint
BotZone
GameObject
PointForRaycast
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
Coverpoint
Points
DoorLink
Coverpoint
187 (3.0, 0.1, 28.4)
PointForRaycast
Coverpoint
Coverpoint
PointForRaycast
66 (23.4, 0.1, 24.1)
PointForRaycast
PointForRaycast
265 (-33.6, 1.4, 57.1)
143 (-4.3, 1.1, 49.8)
Coverpoint
PointForRaycast
Coverpoint
PointForRaycast
287 (-14.1, 1.0, 59.5)
Coverpoint
123 (62.3, 0.1, 23.3)
251 (45.9, 4.5, 41.3)
Coverpoint
PointForRaycast
Coverpoint
BornPositions
PointForRaycast
235 (34.2, 4.6, 34.9)
PointForRaycast
PointForRaycast
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
PointForRaycast
DoorLink
Coverpoint
83 (46.7, 0.1, 12.4)
DoorLink
PointForRaycast
PointForRaycast
167 (-19.9, 1.1, 41.6)
PointForRaycast
Coverpoint
Coverpoint
PointForRaycast
DoorLink
PointForRaycast
255 (37.8, 4.5, 36.5)
155 (-22.6, 1.1, 36.0)
261 (61.7, 0.3, 38.8)
PointForRaycast
Coverpoint
29 (-2.7, 0.1, 9.7)
60 (11.9, 0.1, 21.9)
Coverpoint
PointForRaycast
Coverpoint
DoorLink
PointForRaycast
145 (-5.5, 1.4, 32.0)
PointForRaycast
179 (-6.2, 1.1, 49.7)
246 (42.7, 0.2, 38.5)
PointForRaycast
Coverpoint
PointForRaycast
PointForRaycast
PointForRaycast
124 (65.7, 0.1, 24.4)
PointForRaycast
Coverpoint
274 (-41.2, 1.4, 58.5)
53 (15.2, 0.1, 6.4)
140 (-30.0, 1.6, 43.6)
GameObject (11)
37 (-12.4, 0.1, 16.1)
PointForRaycast
Coverpoint
PointForRaycast
Coverpoint
157 (-1.4, 3.8, 35.3)
77 (44.4, 0.1, 12.5)
276 (-33.2, 1.3, 60.3)
DoorLink
PointForRaycast
PointForRaycast
DoorLink
Coverpoint
Coverpoint
PointForRaycast
Coverpoint
PointForRaycast
Coverpoint
32 (-11.9, 0.1, 17.1)
Coverpoint
Coverpoint
PointForRaycast
Coverpoint
132 (63.5, 0.4, 26.5)
DoorLink
Coverpoint
PointForRaycast
182 (6.3, 0.2, 28.1)
Coverpoint
131 (57.2, 0.0, 26.5)
PointForRaycast
Coverpoint
Coverpoint
252 (54.6, 0.5, 39.4)
136 (-36.6, 1.1, 40.3)
253 (32.5, 4.6, 36.6)
PointForRaycast
PointForRaycast
Coverpoint
Coverpoint
PointForRaycast
Coverpoint
PointForRaycast
DoorLink
PointForRaycast
86 (46.7, 0.1, 10.5)
234 (41.6, 0.0, 32.6)
Coverpoint
Coverpoint
93 (40.0, 0.2, 24.6)
PointForRaycast
4 (23.4, -2.6, -23.4)
Coverpoint
PointForRaycast
Coverpoint
Coverpoint
Coverpoint
PointForRaycast
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
92 (39.0, 0.3, 18.5)
Coverpoint
GameObject (1)
PointForRaycast
111 (35.5, 0.1, 10.6)
80 (46.0, 0.1, 9.4)
194 (16.5, 0.2, 32.4)
58 (0.2, 0.1, 10.2)
120 (62.8, 0.7, 26.3)
Coverpoint
269 (-40.5, 1.4, 57.5)
Patrol
Coverpoint
Coverpoint
Coverpoint
39 (-17.7, 0.1, 21.5)
Coverpoint
DoorLink
Coverpoint
169 (-3.8, 1.1, 43.4)
DoorLink
87 (30.1, 0.2, 16.0)
209 (27.0, 4.6, 37.2)
PointForRaycast
Coverpoint
Coverpoint
Coverpoint
DoorLink
148 (-17.2, 1.0, 35.0)
Coverpoint
233 (42.1, 0.0, 32.2)
Coverpoint
88 (29.5, 0.2, 17.3)
95 (33.8, 6.8, 17.2)
PointForRaycast
PointForRaycast
PointForRaycast
112 (35.5, 0.1, 10.1)
Links
Coverpoint
PointForRaycast
DoorLink
PointForRaycast
PointForRaycast
GameObject (1)
Coverpoint
PointForRaycast
BoundsAll
PointForRaycast
200 (20.7, 0.2, 33.1)
Coverpoint
GameObject (7)
267 (-31.7, 1.4, 56.5)
DoorLink
PointForRaycast
190 (15.6, 0.2, 29.9)
PointForRaycast
PointForRaycast
109 (35.6, 0.1, 11.8)
PointForRaycast
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
147 (-17.3, 1.0, 34.4)
PointForRaycast
91 (39.8, 0.1, 17.7)
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
176 (-21.0, 1.0, 49.7)
Coverpoint
158 (-3.6, 3.8, 35.6)
PointForRaycast
Coverpoint
PointForRaycast
DoorLink
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
PointForRaycast
38 (-12.4, 0.1, 15.9)
PointForRaycast
PointForRaycast
p1 (5)
PointForRaycast
Coverpoint
238 (51.2, 0.5, 35.1)
153 (-3.4, 1.7, 32.4)
Coverpoint
DoorLink
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
GameObject (9)
Coverpoint
Coverpoint
PointForRaycast
DoorLink
Coverpoint
DoorLink
PointForRaycast
196 (17.8, 0.2, 32.6)
PointForRaycast
PointForRaycast
DoorLink
Coverpoint
DoorLink
Coverpoint
Coverpoint
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
Coverpoint
113 (27.5, 0.1, 13.1)
PointForRaycast
PointForRaycast
151 (-8.5, 0.5, 31.0)
PointForRaycast
PointForRaycast
49 (13.8, 0.1, 0.0)
PointForRaycast
PointForRaycast
199 (5.9, 1.1, 54.6)
PointForRaycast
PointForRaycast
122 (64.4, 0.0, 21.5)
201 (6.7, 7.6, 34.7)
Coverpoint
Coverpoint
PointForRaycast
Coverpoint
Coverpoint
Coverpoint
300 (3.0, 1.0, 57.8)
245 (38.9, 0.5, 37.9)
Coverpoint
PointForRaycast
Coverpoint
PointForRaycast
PointForRaycast
146 (-5.7, 1.3, 32.1)
71 (36.3, 0.1, 12.4)
PointForRaycast
PointForRaycast
Coverpoint
Coverpoint
242 (32.1, 4.8, 39.7)
PointForRaycast
44 (-1.1, 0.1, 22.2)
117 (62.7, 0.1, 17.9)
Coverpoint
Coverpoint
181 (-4.4, 1.1, 51.4)
PointForRaycast
DoorLink
Coverpoint
Coverpoint
232 (42.5, 0.0, 31.7)
DoorLink
180 (-23.5, 1.1, 54.1)
Coverpoint
2 (-14.2, 0.1, -0.2)
241 (31.8, 4.6, 37.8)
243 (34.2, 4.6, 36.6)
PointForRaycast
15 (27.7, -2.4, -22.9)
297 (5.0, 7.6, 59.9)
Coverpoint
PointForRaycast
262 (55.6, 0.1, 39.5)
96 (51.6, 0.0, 18.8)
89 (35.0, 0.2, 16.0)
PointForRaycast
Coverpoint
Coverpoint
212 (1.2, 3.8, 36.2)
284 (-21.3, 1.3, 55.1)
293 (6.8, 7.6, 55.1)
67 (23.2, 0.1, 23.0)
Coverpoint
PointForRaycast
Coverpoint
PointForRaycast
Coverpoint
64 (13.9, 0.1, 22.7)
240 (31.8, 4.6, 37.6)
PointForRaycast
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
159 (-4.2, 3.8, 36.4)
Coverpoint
Coverpoint
PointForRaycast
PointForRaycast
PointForRaycast
161 (-2.5, 1.1, 44.9)
DoorLink
PointForRaycast
PointForRaycast
59 (22.1, -2.6, 13.9)
Coverpoint
PointForRaycast
Coverpoint
Coverpoint
DoorLink
Coverpoint
14 (35.3, 0.1, -0.1)
68 (1.6, 0.1, 22.8)
PointForRaycast
216 (17.5, 4.6, 41.9)
Coverpoint
108 (28.3, 0.2, 21.9)
Coverpoint
PointForRaycast
PointForRaycast
230 (48.6, 0.1, 29.8)
Coverpoint
Coverpoint
Coverpoint
Coverpoint
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
PointForRaycast
189 (14.7, 0.2, 30.0)
PointForRaycast
Coverpoint
PointForRaycast
PointForRaycast
119 (59.9, 0.1, 15.2)
Coverpoint
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
PointForRaycast
210 (27.1, 4.6, 35.8)
PointForRaycast
Coverpoint
Coverpoint
28 (-2.6, 0.1, 9.6)
Coverpoint
PointForRaycast
PointForRaycast
Coverpoint
Coverpoint
Coverpoint
DoorLink
260 (66.7, 0.1, 32.6)
138 (-33.8, 2.3, 42.1)
135 (-32.3, -2.6, 33.6)
239 (28.5, 4.6, 36.5)
PointForRaycast
203 (12.7, 4.6, 38.8)
139 (-32.3, 1.5, 43.5)
236 (27.8, 8.2, 35.3)
PointForRaycast
94 (39.8, 0.3, 22.5)
191 (13.3, 0.2, 32.4)
Coverpoint
PointForRaycast
PointForRaycast
PointForRaycast
Coverpoint
PointForRaycast
107 (54.0, 0.0, 27.1)
215 (15.6, 4.6, 42.3)
DoorLink
PointForRaycast
PointForRaycast
DoorLink
TimerPanel
Test effect
TimeLeft
Game Scene
Game Input Node
BotDebug
GAME
SpawnPoint (generated)
SpawnPoint (generated)
SpawnPoint (generated)
SpawnPoint (generated)
SpawnPoint (generated)
SpawnPoint (generated)
SpawnPoint (generated)
SpawnPoint (generated)
SpawnPoint (generated)
SpawnPoint (generated)
SpawnPoint (generated)
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
PlayerSuperior(Clone)(Clone)
USEC_head_1_lod1
USEC_head_1
USEC_head_1(Clone)
USEC_body_0
USEC_body_0(Clone)
USEC_body_0_lod1
pistol_holster
USEC_feet_0(Clone)
USEC_feet_0_lod1
USEC_feet_0
LOD 0
Usec_hands_skin(Clone)
item_equipment_usec_vest(Clone)(Clone)
tactical_vest_0_lod1
tactical_vest_0
Skin
item_equipment_backpack(Clone)(Clone)
bag_small_0
bag_small_0_lod1
Skin
playercollider
RenderCamPos
colider
model_LOD0
model_LOD1
item_CPU(Clone)(Clone)
colider
matches_LOD0
matches_LOD1
item_matches(Clone)(Clone)
stock_ak74_izhmash_ak74_std_wood_LOD0
stock_ak74_izhmash_ak74_std_wood_LOD1
stock_ak74_izhmash_ak74_std_wood(Clone)(Clone)
colider
item_ammo_box_9x18pm_16_LOD0
item_ammo_box_9x18pm_16_LOD1
item_ammo_box_9x18pm_16(Clone)(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
default_muzzleflash_no_dtk_big(Clone)
DefaultHeatHaze(Clone)
fireport
Base HumanLPalm
Base HumanLPalm 1
handguard_aks74u_izhmash_aks74u_std_wood_LOD0
handguard_aks74u_izhmash_aks74u_std_wood(Clone)(Clone)
mod_handguard
mag_ak74_izhmash_6L20_545x39_30_LOD0
mag_ak74_izhmash_6L20_545x39_30_LOD1
mag_ak74_izhmash_6L20_545x39_30(Clone)(Clone)
mod_magazine
mod_magazine_new
muzzle_aks74u_izhmash_std_545x39_LOD0
muzzleflash_000
muzzleflash_001
muzzleflash_002
muzzle_aks74u_izhmash_std_545x39(Clone)(Clone)
mod_muzzle
pistolgrip_ak_izhmash_ak74_bakelit_LOD0
pistolgrip_ak_izhmash_ak74_bakelit_LOD1
pistolgrip_ak_izhmash_ak74_bakelit(Clone)(Clone)
mod_pistol_grip
mod_aim_camera
mod_mount_000
reciever_aks74u_izhmash_aks74u_std_LOD0
reciever_aks74u_izhmash_aks74u_std_LOD1
reciever_aks74u_izhmash_aks74u_std(Clone)(Clone)
mod_reciever
stock_aks74u_izhmash_aks74u_std_LOD0
stock_aks74u_izhmash_aks74u_std_LOD1
stock_aks74u_izhmash_aks74u_std(Clone)(Clone)
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
bolt
mod_charge
larva
weapon_bolt_larva
weapon_bolt
hammer
weapon_hammer
weapon_izhmash_aks74u_545x39_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
release
weapon_release
selector
weapon_selector
stock_block
weapon_stock_block
stock_release
weapon_stock_release
trigger
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmash_aks74u_545x39.generated(Clone)
weapon_izhmash_aks74u_545x39_container(Clone)(Clone)
Weapon spawn root
collider
item_tools_screwdriver_LOD0
item_tools_screwdriver_LOD1
shadow
item_tools_screwdriver(Clone)(Clone)
colider
model_LOD0
model_LOD1
item_screw_nuts(Clone)(Clone)
colider
model
shadow
item_food_peas(Clone)(Clone)
analgin 1
colider
item_meds_analgin(Clone)(Clone)
colider
model
shadow
item_cigarettes_soyuz_apollo(Clone)(Clone)
colider
model
shadow
item_cigarettes_wilston(Clone)(Clone)
colider
model
shadow
item_cigarettes_malboro(Clone)(Clone)
mag_stanag_magpul_pmag_gen_m3_window_556x45_30_LOD0
mag_stanag_magpul_pmag_gen_m3_window_556x45_30_LOD1
patron_556x45nato_fulll_LOD0
patron_556x45nato_fulll_LOD1
patron_556x45nato(Clone)(Clone)
patron_001
patron_556x45nato_fulll_LOD0
patron_556x45nato_fulll_LOD1
patron_556x45nato(Clone)(Clone)
patron_002
patron_556x45nato_fulll_LOD0
patron_556x45nato_fulll_LOD1
patron_556x45nato(Clone)(Clone)
patron_003
mag_stanag_magpul_pmag_gen_m3_window_556x45_30(Clone)(Clone)
battery_D 1
colider
item_battery_D(Clone)(Clone)
colider
medkit 1
shadow
medkit(Clone)(Clone)
colider
model
shadow
item_cigarettes_soyuz_apollo(Clone)(Clone)
colider
model_LOD0
model_LOD1
item_insulation_tape(Clone)(Clone)
colider
model_LOD0
model_LOD1
shadow
item_toothpaste(Clone)(Clone)
collider
item_barter_electr_hdd_LOD0
shadow
item_barter_electr_hdd(Clone)(Clone)
colider
model_LOD0
model_LOD1
shadow
item_ducttape(Clone)(Clone)
colider
matches_LOD0
matches_LOD1
item_matches(Clone)(Clone)
bint 1
colider
item_meds_bandage(Clone)(Clone)
colider
model
shadow
item_cigarettes_soyuz_apollo(Clone)(Clone)
colider
emelia 1
item_food_emelya(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_ar15_kac_ris_LOD0
handguard_ar15_kac_ris_LOD1
handguard_ar15_kac_ris_lower_LOD0
handguard_ar15_kac_ris_lower_LOD1
mod_foregrip
mod_mount
mod_tactical
mod_tactical_2
handguard_ar15_kac_ris(Clone)(Clone)
colider
model_LOD0
model_LOD1
item_insulation_tape(Clone)(Clone)
collider
crikent
item_crickent(Clone)(Clone)
colider
model_LOD0
model_LOD1
shadow
item_dvd_drive(Clone)(Clone)
collider
item_tools_pliers_LOD0
item_tools_pliers_LOD1
shadow
item_tools_pliers(Clone)(Clone)
colider
model_LOD0
model_LOD1
item_screw_bolts(Clone)(Clone)
colider
model_LOD0
model_LOD1
item_screw_nuts(Clone)(Clone)
colider
model
shadow
item_cigarettes_strike(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mp5_hk_sd_LOD0
handguard_mp5_hk_sd_LOD1
handguard_mp5_hk_sd(Clone)(Clone)
762x39_20 1
colider
item_ammo_box_762x39_20(Clone)(Clone)
bint 1
colider
item_meds_bandage(Clone)(Clone)
collider
item_tools_roulette_LOD0
item_tools_roulette_LOD1
shadow
item_tools_roulette(Clone)(Clone)
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot1
Wild_Head_2(Clone)
wildman_head_2_lod1
wildman_head_2
wildman_body_3_lod1
Wild_Body_3(Clone)
wildman_body_3
wildman_feet_1_lod1
pistol_holster
Wild_Feet_1(Clone)
wildman_feet_1
LOD 0
Wild_Body_3_firstHands(Clone)
item_equipment_vest(Clone)(Clone)
razgruz_0
razgruz_0_lod1
Skin
item_equipment_cap(Clone)(Clone)
cap
cap_lod1
Skin
item_equipment_glasses(Clone)(Clone)
glasses
glasses_lod1
Skin
Path finder manager
New Game Object
New Game Object
AI(Clone)
GlobalBlackboard(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
default_muzzleflash_no_dtk_big(Clone)
DefaultHeatHaze(Clone)
fireport
mod_handguard
mod_magazine
mod_magazine_new
mod_mount_000
mod_muzzle
mod_pistol_grip
mod_reciever
mod_sight_rear
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
bolt
mod_charge
bolt_cover
weapon_bolt_cover
larva
weapon_bolt_larva
weapon_bolt
hammer
weapon_hammer
weapon_izhmash_saiga12k_10_12g_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
release
weapon_release
selector
weapon_selector
stock_lock
weapon_stock_lock
trigger
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmash_saiga12k_10_12g.generated(Clone)
weapon_izhmash_saiga12k_10_12g_container(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_saiga12_izhmash_saiga12k_10_std_LOD0
handguard_saiga12_izhmash_saiga12k_10_std(Clone)(Clone)
pistolgrip_ak_izhmash_ak74_plastic_LOD0
pistolgrip_ak_izhmash_ak74_plastic_LOD1
pistolgrip_ak_izhmash_ak74_plastic(Clone)(Clone)
reciever_saiga12_izhmash_saiga12k_10_std_LOD0
reciever_saiga12_izhmash_saiga12k_10_std_LOD1
reciever_saiga12_izhmash_saiga12k_10_std(Clone)(Clone)
mod_aim_camera
sight_rear_saiga_izhmash_saiga_fixed_LOD0
sight_rear_saiga_izhmash_saiga_fixed_LOD1
sight_rear_saiga_izhmash_saiga_fixed(Clone)(Clone)
stock_saiga12_izhmash_saiga12_fold_ak_type_LOD0
stock_saiga12_izhmash_saiga12_fold_ak_type_LOD1
stock_saiga12_izhmash_saiga12_fold_ak_type(Clone)(Clone)
mag_saiga12_izhmash_Sb5_12x76_5_LOD0
mag_saiga12_izhmash_Sb5_12x76_5_LOD1
patron_12x70_full_LOD0
patron_12x70_full_LOD1
patron_12x70(Clone)(Clone)
patron_001
patron_12x70_full_LOD0
patron_12x70_full_LOD1
patron_12x70(Clone)(Clone)
patron_002
mag_saiga12_izhmash_Sb5_12x76_5(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
DefaultBallisticCollider(Clone)
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot2
wildman_head_1
Wild_Head_1(Clone)
wildman_head_1_lod1
wildman_body_0_lod1
wildman_body_0
Wild_body_0(Clone)
wildman_feet_1_lod1
pistol_holster
Wild_Feet_1(Clone)
wildman_feet_1
Wild_Body_firstHands(Clone)
LOD 0
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
altpose
Bend_Goal_Left
Bend_Goal_Right
default_muzzleflash_pistol(Clone)
DefaultHeatHaze(Clone)
fireport
mod_magazine
mod_magazine_new
patron_in_weapon
shellport
extractor_smoke
smokeport
Bolt_catch_LOD0
weapon_catch
Hammer_LOD0
weapon_hammer
weapon_izhmeh_pm_9x18pm_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_release_LOD0
weapon_mag_release
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_pm_9x18pm.generated(Clone)
weapon_izhmeh_pm_9x18pm_container(Clone)(Clone)
mag_pm_izhmeh_9x18pm_8_LOD0
mag_pm_izhmeh_9x18pm_8_LOD1
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_001
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_002
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_003
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_004
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_005
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_006
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_007
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_008
mag_pm_izhmeh_9x18pm_8(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot3
Wild_Head_2(Clone)
wildman_head_2_lod1
wildman_head_2
wildman_body_0_lod1
wildman_body_0
Wild_body_0(Clone)
wildman_feet_1_lod1
pistol_holster
Wild_Feet_1(Clone)
wildman_feet_1
Wild_Body_firstHands(Clone)
LOD 0
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_cap(Clone)(Clone)
cap
cap_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
altpose
Bend_Goal_Left
Bend_Goal_Right
default_muzzleflash_pistol(Clone)
DefaultHeatHaze(Clone)
fireport
mod_magazine
mod_magazine_new
patron_in_weapon
shellport
extractor_smoke
smokeport
Bolt_catch_LOD0
weapon_catch
Hammer_LOD0
weapon_hammer
weapon_izhmeh_pm_9x18pm_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_release_LOD0
weapon_mag_release
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_pm_9x18pm.generated(Clone)
weapon_izhmeh_pm_9x18pm_container(Clone)(Clone)
mag_pm_izhmeh_9x18pm_8_LOD0
mag_pm_izhmeh_9x18pm_8_LOD1
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_001
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_002
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_003
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_004
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_005
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_006
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_007
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_008
mag_pm_izhmeh_9x18pm_8(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot4
wildman_head_1
Wild_Head_1(Clone)
wildman_head_1_lod1
wildman_body_2_1
Wild_Body_2(Clone)
wildman_body_2_0
wildman_body_2_2
wildman_feet_0_lod1
Wild_feet_0(Clone)
wildman_feet_0
LOD 0
Wild_Body_2_firstHands(Clone)
item_equipment_light_armor(Clone)(Clone)
vest_0
vest_0_lod1
Skin
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_forward_backpack(Clone)(Clone)
forward_backpack
forward_backpack_lod1
Skin
item_equipment_cap(Clone)(Clone)
cap
cap_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
Magazine_LOD0
mod_barrel
mod_handguard
mod_magazine
mod_mount_000
mod_mount_001
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
Ammo_feeder_LOD0
weapon_ammo_feeder
Bolt_catch_LOD0
weapon_bolt_catch
weapon_izhmash_mr133_12g_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_mr133_12g.generated(Clone)
weapon_izhmeh_mr133_12g_container(Clone)(Clone)
barrel_mr133_510mm_LOD0
barrel_mr133_510mm_LOD1
fireport
mod_aim_camera
mod_muzzle
muzzleflash_000
barrel_part_LOD0
barrel_mr133_510mm(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mr133_izhmeh_std_LOD0
handguard_mr133_izhmeh_std_LOD1
handguard_mr133_izhmeh_std(Clone)(Clone)
mag_mr133_izhmeh_12g_6_LOD0
mag_mr133_izhmeh_12g_6_LOD1
mag_mr133_izhmeh_12g_6(Clone)(Clone)
stock_mr133_plastic_long_LOD0
stock_mr133_plastic_long_LOD1
stock_mr133_plastic_long(Clone)(Clone)
mod_aim_camera
linza_mode_000
mode_000
scope_all_belomo_pk_06_LOD0
scope_all_belomo_pk_06_LOD1
scope_all_belomo_pk_06(Clone)(Clone)
mod_scope
mount_all_custom_top_rail_13_LOD0
mount_all_custom_top_rail_13_LOD1
mount_all_custom_top_rail_13(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot5
wildman_head_1
Wild_Head_1(Clone)
wildman_head_1_lod1
wildman_body_1_2
Wild_Body_1(Clone)
wildman_body_1_0
wildman_body_1_1
wildman_feet_2
wildman_feet_2_lod1
Wild_Feet_2(Clone)
LOD 0
Wild_Body_1_firstHands(Clone)
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_backpack(Clone)(Clone)
bag_small_0
bag_small_0_lod1
Skin
item_equipment_cap(Clone)(Clone)
cap
cap_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
mod_barrel
mod_handguard
mod_magazine
mod_mount
mod_mount_000
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
Ammo_feder
weapon_ammo_feeder
Bolt_catch
weapon_bolt_catch
weapon_izhmeh_mr153_12g_LOD0
weapon_izhmeh_mr153_bolt_mag_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_0
weapon_izhmeh_mr153_bolt_LOD0
Slide_1
weapon_slide_1
weapon_slide_0
Trigger
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_mr153_12g.generated(Clone)
weapon_izhmeh_mr153_12g_container(Clone)(Clone)
barrel_mr153_750mm_LOD0
barrel_mr153_750mm_LOD1
fireport
mod_muzzle
muzzleflash_000
mod_aim_camera
barrel_mr153_750mm(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mr153_izhmeh_polymer_LOD0
handguard_mr153_izhmeh_polymer_LOD1
handguard_mr153_izhmeh_polymer(Clone)(Clone)
mag_mr153_izhmeh_12g_4_LOD0
mag_mr153_izhmeh_12g_4_LOD1
mag_mr153_izhmeh_12g_4(Clone)(Clone)
mod_aim_camera
mod_scope
stock_mr133_pistol_plastic_LOD0
stock_mr133_pistol_plastic_LOD1
stock_mr133_pistol_plastic(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot6
wildman_head_1
Wild_Head_1(Clone)
wildman_head_1_lod1
wildman_body_0_lod1
wildman_body_0
Wild_body_0(Clone)
wildman_feet_1_lod1
pistol_holster
Wild_Feet_1(Clone)
wildman_feet_1
Wild_Body_firstHands(Clone)
LOD 0
item_equipment_light_armor(Clone)(Clone)
vest_0
vest_0_lod1
Skin
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_forward_backpack(Clone)(Clone)
forward_backpack
forward_backpack_lod1
Skin
item_equipment_cap(Clone)(Clone)
cap
cap_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
altpose
Bend_Goal_Left
Bend_Goal_Right
default_muzzleflash_pistol(Clone)
fireport
mod_magazine
mod_mount
mod_pistol_grip
patron_in_weapon
shellport
extractor_smoke
smokeport
pp-91_bolt
weapon_bolt
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
pp-91_rear_sight
weapon_rear_sight
pp-91_release
weapon_release
pp-91_selector
weapon_selector
pp-91_stock_LOD0
pp-91_stock_release
wepaon_stock_release
weapon_stock
pp-91_trigger
weapon_trigger
weapon_vest_IK_marker
weapon_zmz_pp-91_9x18pm_LOD0
weapon
Weapon_root_anim
Weapon_root
weapon_zmz_pp-91_9x18pm.generated(Clone)
weapon_zmz_pp-91_9x18pm_container(Clone)(Clone)
pistolgrip_pp-91_zmz_pp_std_plastic_LOD0
pistolgrip_pp-91_zmz_pp_std_plastic_LOD1
pistolgrip_pp-91_zmz_pp_std_plastic(Clone)(Clone)
mag_pp-91_zmz_pp-91_std_9x18pm_20_LOD0
mag_pp-91_zmz_pp-91_std_9x18pm_20_LOD1
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_001
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_002
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_003
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_004
mag_pp-91_zmz_pp-91_std_9x18pm_20(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot7
Wild_Head_2(Clone)
wildman_head_2_lod1
wildman_head_2
wildman_body_1_2
Wild_Body_1(Clone)
wildman_body_1_0
wildman_body_1_1
wildman_feet_0_lod1
Wild_feet_0(Clone)
wildman_feet_0
LOD 0
Wild_Body_1_firstHands(Clone)
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_backpack(Clone)(Clone)
bag_small_0
bag_small_0_lod1
Skin
item_equipment_cap(Clone)(Clone)
cap
cap_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
Magazine_LOD0
mod_barrel
mod_handguard
mod_magazine
mod_mount_000
mod_mount_001
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
Ammo_feeder_LOD0
weapon_ammo_feeder
Bolt_catch_LOD0
weapon_bolt_catch
weapon_izhmash_mr133_12g_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_mr133_12g.generated(Clone)
weapon_izhmeh_mr133_12g_container(Clone)(Clone)
barrel_mr133_510mm_LOD0
barrel_mr133_510mm_LOD1
fireport
mod_aim_camera
mod_muzzle
muzzleflash_000
barrel_part_LOD0
barrel_mr133_510mm(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mr133_izhmeh_std_LOD0
handguard_mr133_izhmeh_std_LOD1
handguard_mr133_izhmeh_std(Clone)(Clone)
mag_mr133_izhmeh_12g_6_LOD0
mag_mr133_izhmeh_12g_6_LOD1
mag_mr133_izhmeh_12g_6(Clone)(Clone)
stock_mr133_plastic_long_LOD0
stock_mr133_plastic_long_LOD1
stock_mr133_plastic_long(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot8
Wild_Head_2(Clone)
wildman_head_2_lod1
wildman_head_2
wildman_body_1_2
Wild_Body_1(Clone)
wildman_body_1_0
wildman_body_1_1
wildman_feet_0_lod1
Wild_feet_0(Clone)
wildman_feet_0
LOD 0
Wild_Body_1_firstHands(Clone)
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_tactical_backpack(Clone)(Clone)
tactical_backpack
tactical_backpack_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
altpose
Bend_Goal_Left
Bend_Goal_Right
default_muzzleflash_pistol(Clone)
DefaultHeatHaze(Clone)
fireport
mod_magazine
mod_magazine_new
patron_in_weapon
shellport
extractor_smoke
smokeport
Bolt_catch_LOD0
weapon_catch
Hammer_LOD0
weapon_hammer
weapon_izhmeh_pm_9x18pm_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_release_LOD0
weapon_mag_release
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_pm_9x18pm.generated(Clone)
weapon_izhmeh_pm_9x18pm_container(Clone)(Clone)
mag_pm_izhmeh_9x18pm_8_LOD0
mag_pm_izhmeh_9x18pm_8_LOD1
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_001
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_002
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_003
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_004
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_005
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_006
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_007
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_008
mag_pm_izhmeh_9x18pm_8(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot9
Wild_Head_2(Clone)
wildman_head_2_lod1
wildman_head_2
wildman_body_2_1
Wild_Body_2(Clone)
wildman_body_2_0
wildman_body_2_2
wildman_feet_0_lod1
Wild_feet_0(Clone)
wildman_feet_0
LOD 0
Wild_Body_2_firstHands(Clone)
item_equipment_light_armor(Clone)(Clone)
vest_0
vest_0_lod1
Skin
item_equipment_vest(Clone)(Clone)
razgruz_0
razgruz_0_lod1
Skin
item_equipment_forward_backpack(Clone)(Clone)
forward_backpack
forward_backpack_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
Magazine_LOD0
mod_barrel
mod_handguard
mod_magazine
mod_mount_000
mod_mount_001
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
Ammo_feeder_LOD0
weapon_ammo_feeder
Bolt_catch_LOD0
weapon_bolt_catch
weapon_izhmash_mr133_12g_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_mr133_12g.generated(Clone)
weapon_izhmeh_mr133_12g_container(Clone)(Clone)
barrel_mr133_510mm_LOD0
barrel_mr133_510mm_LOD1
fireport
mod_aim_camera
mod_muzzle
muzzleflash_000
barrel_part_LOD0
barrel_mr133_510mm(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mr133_izhmeh_std_LOD0
handguard_mr133_izhmeh_std_LOD1
handguard_mr133_izhmeh_std(Clone)(Clone)
mag_mr133_izhmeh_12g_6_LOD0
mag_mr133_izhmeh_12g_6_LOD1
mag_mr133_izhmeh_12g_6(Clone)(Clone)
stock_mr133_plastic_long_LOD0
stock_mr133_plastic_long_LOD1
stock_mr133_plastic_long(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot10
Wild_Head_2(Clone)
wildman_head_2_lod1
wildman_head_2
wildman_body_0_lod1
wildman_body_0
Wild_body_0(Clone)
wildman_feet_2
wildman_feet_2_lod1
Wild_Feet_2(Clone)
Wild_Body_firstHands(Clone)
LOD 0
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_tactical_backpack(Clone)(Clone)
tactical_backpack
tactical_backpack_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
altpose
Bend_Goal_Left
Bend_Goal_Right
muzzleflash_base(Clone)
DefaultHeatHaze(Clone)
fireport
mod_magazine
mod_magazine_new
mod_muzzle
patron_in_weapon
shellport
smokeport
Bolt_catch_LOD0
weapon_catch
Hammer_LOD0
weapon_hammer
weapon_izhmeh_pm_threaded_9x18pm_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_release_LOD0
weapon_mag_release
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_pm_treaded_9x18pm.generated(Clone)
weapon_izhmeh_pm_threaded_9x18pm_container(Clone)(Clone)
mag_pm_izhmeh_9x18pm_8_LOD0
mag_pm_izhmeh_9x18pm_8_LOD1
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_001
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_002
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_003
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_004
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_005
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_006
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_007
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_008
mag_pm_izhmeh_9x18pm_8(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot11
wildman_head_1
Wild_Head_1(Clone)
wildman_head_1_lod1
wildman_body_1_2
Wild_Body_1(Clone)
wildman_body_1_0
wildman_body_1_1
wildman_feet_1_lod1
pistol_holster
Wild_Feet_1(Clone)
wildman_feet_1
LOD 0
Wild_Body_1_firstHands(Clone)
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_forward_backpack(Clone)(Clone)
forward_backpack
forward_backpack_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
mod_barrel
mod_handguard
mod_magazine
mod_mount
mod_mount_000
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
Ammo_feder
weapon_ammo_feeder
Bolt_catch
weapon_bolt_catch
weapon_izhmeh_mr153_12g_LOD0
weapon_izhmeh_mr153_bolt_mag_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_0
weapon_izhmeh_mr153_bolt_LOD0
Slide_1
weapon_slide_1
weapon_slide_0
Trigger
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_mr153_12g.generated(Clone)
weapon_izhmeh_mr153_12g_container(Clone)(Clone)
barrel_mr153_750mm_LOD0
barrel_mr153_750mm_LOD1
fireport
mod_muzzle
muzzleflash_000
mod_aim_camera
barrel_mr153_750mm(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mr153_izhmeh_polymer_LOD0
handguard_mr153_izhmeh_polymer_LOD1
handguard_mr153_izhmeh_polymer(Clone)(Clone)
mag_mr153_izhmeh_12g_4_LOD0
mag_mr153_izhmeh_12g_4_LOD1
mag_mr153_izhmeh_12g_4(Clone)(Clone)
stock_mr133_plastic_long_LOD0
stock_mr133_plastic_long_LOD1
stock_mr133_plastic_long(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot12
wildman_head_1
Wild_Head_1(Clone)
wildman_head_1_lod1
wildman_body_1_2
Wild_Body_1(Clone)
wildman_body_1_0
wildman_body_1_1
wildman_feet_2
wildman_feet_2_lod1
Wild_Feet_2(Clone)
LOD 0
Wild_Body_1_firstHands(Clone)
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_tactical_backpack(Clone)(Clone)
tactical_backpack
tactical_backpack_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
altpose
Bend_Goal_Left
Bend_Goal_Right
default_muzzleflash_pistol(Clone)
DefaultHeatHaze(Clone)
fireport
mod_magazine
mod_magazine_new
patron_in_weapon
shellport
extractor_smoke
smokeport
Bolt_catch_LOD0
weapon_catch
Hammer_LOD0
weapon_hammer
weapon_izhmeh_pm_9x18pm_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_release_LOD0
weapon_mag_release
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_pm_9x18pm.generated(Clone)
weapon_izhmeh_pm_9x18pm_container(Clone)(Clone)
mag_pm_izhmeh_9x18pm_8_LOD0
mag_pm_izhmeh_9x18pm_8_LOD1
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_001
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_002
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_003
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_004
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_005
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_006
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_007
patron_9x18pm_full_LOD0
patron_9x18pm_full_LOD1
patron_9x18pm_P_gzh(Clone)(Clone)
patron_008
mag_pm_izhmeh_9x18pm_8(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot13
wildman_head_1
Wild_Head_1(Clone)
wildman_head_1_lod1
wildman_body_1_2
Wild_Body_1(Clone)
wildman_body_1_0
wildman_body_1_1
wildman_feet_2
wildman_feet_2_lod1
Wild_Feet_2(Clone)
LOD 0
Wild_Body_1_firstHands(Clone)
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
Magazine_LOD0
mod_barrel
mod_handguard
mod_magazine
mod_mount_000
mod_mount_001
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
Ammo_feeder_LOD0
weapon_ammo_feeder
Bolt_catch_LOD0
weapon_bolt_catch
weapon_izhmash_mr133_12g_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_mr133_12g.generated(Clone)
weapon_izhmeh_mr133_12g_container(Clone)(Clone)
barrel_mr133_510mm_LOD0
barrel_mr133_510mm_LOD1
fireport
mod_aim_camera
mod_muzzle
muzzleflash_000
barrel_part_LOD0
barrel_mr133_510mm(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mr133_izhmeh_std_LOD0
handguard_mr133_izhmeh_std_LOD1
handguard_mr133_izhmeh_std(Clone)(Clone)
mag_mr133_izhmeh_12g_6_LOD0
mag_mr133_izhmeh_12g_6_LOD1
mag_mr133_izhmeh_12g_6(Clone)(Clone)
stock_mr133_plastic_long_LOD0
stock_mr133_plastic_long_LOD1
stock_mr133_plastic_long(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot14
wildman_head_1
Wild_Head_1(Clone)
wildman_head_1_lod1
wildman_body_0_lod1
wildman_body_0
Wild_body_0(Clone)
wildman_feet_2
wildman_feet_2_lod1
Wild_Feet_2(Clone)
Wild_Body_firstHands(Clone)
LOD 0
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_forward_backpack(Clone)(Clone)
forward_backpack
forward_backpack_lod1
Skin
item_equipment_cap(Clone)(Clone)
cap
cap_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
Magazine_LOD0
mod_barrel
mod_handguard
mod_magazine
mod_mount_000
mod_mount_001
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
Ammo_feeder_LOD0
weapon_ammo_feeder
Bolt_catch_LOD0
weapon_bolt_catch
weapon_izhmash_mr133_12g_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_mr133_12g.generated(Clone)
weapon_izhmeh_mr133_12g_container(Clone)(Clone)
barrel_mr133_510mm_LOD0
barrel_mr133_510mm_LOD1
fireport
mod_aim_camera
mod_muzzle
muzzleflash_000
barrel_part_LOD0
barrel_mr133_510mm(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mr133_izhmeh_std_LOD0
handguard_mr133_izhmeh_std_LOD1
handguard_mr133_izhmeh_std(Clone)(Clone)
mag_mr133_izhmeh_12g_6_LOD0
mag_mr133_izhmeh_12g_6_LOD1
mag_mr133_izhmeh_12g_6(Clone)(Clone)
stock_mr133_plastic_long_LOD0
stock_mr133_plastic_long_LOD1
stock_mr133_plastic_long(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot15
wildman_head_1
Wild_Head_1(Clone)
wildman_head_1_lod1
wildman_body_2_1
Wild_Body_2(Clone)
wildman_body_2_0
wildman_body_2_2
wildman_feet_0_lod1
Wild_feet_0(Clone)
wildman_feet_0
LOD 0
Wild_Body_2_firstHands(Clone)
item_equipment_light_armor(Clone)(Clone)
vest_0
vest_0_lod1
Skin
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
item_equipment_tactical_backpack(Clone)(Clone)
tactical_backpack
tactical_backpack_lod1
Skin
item_equipment_cap(Clone)(Clone)
cap
cap_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
Magazine_LOD0
mod_barrel
mod_handguard
mod_magazine
mod_mount_000
mod_mount_001
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
Ammo_feeder_LOD0
weapon_ammo_feeder
Bolt_catch_LOD0
weapon_bolt_catch
weapon_izhmash_mr133_12g_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_mr133_12g.generated(Clone)
weapon_izhmeh_mr133_12g_container(Clone)(Clone)
barrel_mr133_510mm_LOD0
barrel_mr133_510mm_LOD1
fireport
mod_aim_camera
mod_muzzle
muzzleflash_000
barrel_part_LOD0
barrel_mr133_510mm(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mr133_izhmeh_std_LOD0
handguard_mr133_izhmeh_std_LOD1
handguard_mr133_izhmeh_std(Clone)(Clone)
mag_mr133_izhmeh_12g_6_LOD0
mag_mr133_izhmeh_12g_6_LOD1
mag_mr133_izhmeh_12g_6(Clone)(Clone)
mod_aim_camera
mod_scope
stock_mr133_pistol_plastic_LOD0
stock_mr133_pistol_plastic_LOD1
stock_mr133_pistol_plastic(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot16
Wild_Head_2(Clone)
wildman_head_2_lod1
wildman_head_2
wildman_body_3_lod1
Wild_Body_3(Clone)
wildman_body_3
wildman_feet_2
wildman_feet_2_lod1
Wild_Feet_2(Clone)
LOD 0
Wild_Body_3_firstHands(Clone)
item_equipment_usec_vest(Clone)(Clone)
tactical_vest_0_lod1
tactical_vest_0
Skin
item_equipment_forward_backpack(Clone)(Clone)
forward_backpack
forward_backpack_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
Magazine_LOD0
mod_barrel
mod_handguard
mod_magazine
mod_mount_000
mod_mount_001
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
Ammo_feeder_LOD0
weapon_ammo_feeder
Bolt_catch_LOD0
weapon_bolt_catch
weapon_izhmash_mr133_12g_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_mr133_12g.generated(Clone)
weapon_izhmeh_mr133_12g_container(Clone)(Clone)
barrel_mr133_510mm_LOD0
barrel_mr133_510mm_LOD1
fireport
mod_aim_camera
mod_muzzle
muzzleflash_000
barrel_part_LOD0
barrel_mr133_510mm(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mr133_izhmeh_std_LOD0
handguard_mr133_izhmeh_std_LOD1
handguard_mr133_izhmeh_std(Clone)(Clone)
mag_mr133_izhmeh_12g_6_LOD0
mag_mr133_izhmeh_12g_6_LOD1
mag_mr133_izhmeh_12g_6(Clone)(Clone)
stock_mr133_plastic_long_LOD0
stock_mr133_plastic_long_LOD1
stock_mr133_plastic_long(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
IKController
Mesh
Base HumanLToe
Base HumanLFoot
Base HumanLCalf
Base HumanLThigh2
Base HumanLThigh1
Base HumanRToe
Base HumanRFoot
Base HumanRCalf
Base HumanRThigh2
weapon_holster_pistol
Base HumanRThigh1
Base HumanGear1
Base HumanGear2
Base HumanGear3
Base HumanGear4_1
Base HumanGear4
Base HumanGear5
Weapon_root_3rd_anim
Bend_Goal_Left
Bend_Goal_Right
Cam
CameraContainer
Camera_animated
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Weapon_root
reference
Base HumanRibcage
Base HumanHead
Base HumanNeck
Base HumanBackpack
weapon_holster
weapon_holster1
Base HumanSpine3
Base HumanSpine2
Base HumanSpine1
Base HumanPelvis
Camera_animated_3rd
Root_Joint
Player
Bot17
wildman_head_1
Wild_Head_1(Clone)
wildman_head_1_lod1
wildman_body_2_1
Wild_Body_2(Clone)
wildman_body_2_0
wildman_body_2_2
wildman_feet_0_lod1
Wild_feet_0(Clone)
wildman_feet_0
LOD 0
Wild_Body_2_firstHands(Clone)
item_equipment_light_armor(Clone)(Clone)
vest_0
vest_0_lod1
Skin
item_equipment_wild_vest(Clone)(Clone)
wildman_vest
wildman_vest_lod1
Skin
AI(Clone)
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
Bend_Goal_Left
Bend_Goal_Right
Magazine_LOD0
mod_barrel
mod_handguard
mod_magazine
mod_mount_000
mod_mount_001
mod_stock
patron_in_weapon
shellport
extractor_smoke
smokeport
Ammo_feeder_LOD0
weapon_ammo_feeder
Bolt_catch_LOD0
weapon_bolt_catch
weapon_izhmash_mr133_12g_LOD0
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
Slide_LOD0
weapon_slide
Trigger_LOD0
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_izhmeh_mr133_12g.generated(Clone)
weapon_izhmeh_mr133_12g_container(Clone)(Clone)
barrel_mr133_510mm_LOD0
barrel_mr133_510mm_LOD1
fireport
mod_aim_camera
mod_muzzle
muzzleflash_000
barrel_part_LOD0
barrel_mr133_510mm(Clone)(Clone)
Base HumanLPalm
Base HumanLPalm 1
handguard_mr133_izhmeh_std_LOD0
handguard_mr133_izhmeh_std_LOD1
handguard_mr133_izhmeh_std(Clone)(Clone)
mag_mr133_izhmeh_12g_6_LOD0
mag_mr133_izhmeh_12g_6_LOD1
mag_mr133_izhmeh_12g_6(Clone)(Clone)
stock_mr133_plastic_long_LOD0
stock_mr133_plastic_long_LOD1
stock_mr133_plastic_long(Clone)(Clone)
mod_aim_camera
linza_mode_000
mode_000
scope_all_belomo_pk_06_LOD0
scope_all_belomo_pk_06_LOD1
scope_all_belomo_pk_06(Clone)(Clone)
mod_scope
mount_all_custom_top_rail_13_LOD0
mount_all_custom_top_rail_13_LOD1
mount_all_custom_top_rail_13(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
MuzzleJetCombinedMesh
Base HumanLDigit13
Base HumanLDigit12
Base HumanLDigit11
Base HumanLDigit23
Base HumanLDigit22
Base HumanLDigit21
Base HumanLDigit33
Base HumanLDigit32
Base HumanLDigit31
Base HumanLDigit43
Base HumanLDigit42
Base HumanLDigit41
Base HumanLDigit53
Base HumanLDigit52
Base HumanLDigit51
Base HumanLPalm
Base HumanLForearm3
Base HumanLForearm2
Base HumanLForearm1
Base HumanLUpperarm
Base HumanLCollarbone
Base HumanRDigit13
Base HumanRDigit12
Base HumanRDigit11
Base HumanRDigit23
Base HumanRDigit22
Base HumanRDigit21
Base HumanRDigit33
Base HumanRDigit32
Base HumanRDigit31
Base HumanRDigit43
Base HumanRDigit42
Base HumanRDigit41
Base HumanRDigit53
Base HumanRDigit52
Base HumanRDigit51
Base HumanRPalm
Base HumanRForearm3
Base HumanRForearm2
Base HumanRForearm1
Base HumanRUpperarm
Base HumanRCollarbone
Camera_animated
aim_camera
altpose
Bend_Goal_Left
Bend_Goal_Right
mod_barrel
mod_magazine
mod_magazine_new
mod_pistol_grip
mod_reciever
mod_tactical
patron_in_weapon
shellport
extractor_smoke
smokeport
bolt_catch
weapon_catch
hammer
weapon_hammer
weapon_L_hand_marker
weapon_L_IK_marker
weapon_LCollarbone_marker
mag_release
weapon_mag_release
weapon_R_hand_marker
weapon_R_IK_marker
weapon_RCollarbone_marker
weapon_sig_p226r_9x19_LOD0
spring
weapon_spring
trigger
weapon_trigger
weapon_vest_IK_marker
weapon
Weapon_root_anim
Weapon_root
weapon_sig_p226r_9x19.generated(Clone)
weapon_sig_p226r_9x19_container(Clone)(Clone)
barrel_p226_112mm_9x19_std_LOD0
fireport
muzzleflash_000
barrel_p226_112mm_9x19_std(Clone)(Clone)
pistolgrip_p226_sig_p226_std_LOD0
pistolgrip_p226_sig_p226_std_LOD1
pistolgrip_p226_sig_p226_std(Clone)(Clone)
sight_front_p226_sig_p226r_std_LOD0
sight_front_p226_sig_p226r_std_LOD1
sight_front_p226_sig_p226r_std(Clone)(Clone)
mod_sight_front
mod_aim_camera
sight_rear_p226_sig_p226r_std_LOD0
sight_rear_p226_sig_p226r_std_LOD1
sight_rear_p226_sig_p226r_std(Clone)(Clone)
mod_sight_rear
reciever_p226_sig_p226r_std_LOD0
reciever_p226_sig_p226r_std_LOD1
reciever_p226_sig_p226r_std(Clone)(Clone)
mag_p226_sig_std_9x19_15_LOD0
mag_p226_sig_std_9x19_15_LOD1
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_001
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_002
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_003
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_004
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_005
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_006
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_007
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_008
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_009
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_010
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_011
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_012
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_013
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
patron_014
mag_p226_sig_std_9x19_15(Clone)(Clone)
Muzzle Light
MuzzleJetCombinedMesh
patron_9x19_full_LOD0
patron_9x19_full_LOD1
patron_9x19(Clone)(Clone)
New Game Object
New Game Object
New Game Object
New Game Object
FillImage
SprintBar
Image
Image
Final Notch
Image
Notch Template
Image
Notch Template
Image
Notch Template (1)
Image
Notch Template (2)
Image
Notch Template (3)
Image
Notch Template (4)
Image
Notch Template (5)
Image
Notch Template (6)
Background
Image
Handle
Handle Slide Area
StanceSlider
Image
Image
Final Notch
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Image
Notch Template(Clone)
Background
Image
Handle
Handle Slide Area
SpeedSlider
Stances
BattleStancePanel
Ammo
AmmoPanel
BattleUIScreen
Background
Head
LeftHand
RightHand
LeftLeg
RightLeg
Stomach
Chest
EffectsPanel
CharacterHealthPanel
QuickAccessPanel
Dark Background
Background
Border
Background
Item Image
quick_slot_layout(Clone)(Clone)
InstallPlace
Caption
BindText
Bind Panel
Quick Slot V
Dark Background
Background
Border
Background
Item Image
quick_slot_layout(Clone)(Clone)
InstallPlace
Caption
BindText
Bind Panel
Quick Slot 1
Dark Background
Background
Border
InstallPlace
BindText
Bind Panel
Quick Slot 2
Dark Background
Background
Border
InstallPlace
BindText
Bind Panel
Quick Slot 3
Dark Background
Background
Border
InstallPlace
Caption
BindText
Bind Panel
Quick Slot 4
Dark Background
Background
Border
InstallPlace
Caption
BindText
Bind Panel
Quick Slot 5
Dark Background
Background
Border
InstallPlace
Caption
BindText
Bind Panel
Quick Slot 6
Dark Background
Background
Border
InstallPlace
Caption
BindText
Bind Panel
Quick Slot 7
Dark Background
Background
Border
InstallPlace
Caption
BindText
Bind Panel
Quick Slot 8
Dark Background
Background
Border
InstallPlace
Caption
BindText
Bind Panel
Quick Slot 9
Dark Background
Background
Border
InstallPlace
Caption
BindText
Bind Panel
Quick Slot 10
ActionPanel


Tonyx97 20th August 2017 10:57 PM

Code:

Camera Game Object + 0x30 ] + 0x18 ] + 0xC0 = View Matrix
Code:

Camera Game Object + 0x30 ] + 0x8 ] + 0x38 ] + 0x90 = Camera Position

Brut7 23rd August 2017 06:59 AM

Code:

loot layer = 15
GET_POSITION 0x809BA0
one param BoneTransform->m_transform
typedef DWORD64(__cdecl* Transform_GetPositiom)(void* Transform, D3DXVECTOR3 &pos);

enum bones
{
HumanHead=133,
HumanNeck =132,
HumanSpine3 = 37,
HumanSpine2 = 36,
HumanSpine1 = 29,
HumanPelvis = 14,
HumanLCalf = 17,
HumanLFoot = 18,
HumanRCalf = 22,
HumanRFoot = 23,
HumanLForearm2 = 92,
HumanLForearm1 = 91,
HumanLUpperarm = 90,
HumanRForearm2 = 113,
HumanRForearm1 = 112,
HumanRUpperarm=111,
};

class MovementContext
{
public:
char pad_0x0000[0x1A0]; //0x0000 //0x188 old
D3DXVECTOR2 ViewAngle; //0x1A0
}

class Profile
{
public:
char pad_0x0000[0x10]; //0x0000
UnicodeString* ID; //0x0010
UnicodeString* AccountId; //0x0018
DWORD64 IsPlayer;//0x20
Info* m_info; //0x0028
}

class Info
{
public:
char pad_0x0000[0x10]; //0x0000
UnicodeString* m_name; //0x0010
char pad_0x0018[0x428]; //0x0018

};//Size=0x044

class PlayerBody
{
public:
char pad_0x0000[0x18]; //0x0000
__int64 Transform; //0x0018
PlayerBones* PlayerBones; //0x0020
Skeleton* SkeletonRootJoint; //0x0028
Skeleton* SkeletonHands; //0x0030
char pad_0x0038[0x38]; //0x0038
Slot* N000020D4; //0x0070
UnityArray* m_WeaponsArray; //0x0078
}

class Skeleton
{
public:
char pad_0x0000[0x18]; //0x0000
Dictionary* Bones; //0x0018
char pad_0x0028[0x10]; //0x0020
DWORD64* Enumerator; //0x0028

};

class BoneTransform
{
public:
char pad_0x0000[0x10]; //0x0000
Transform* m_transform;

};

class Transform
{
public:
char pad_0x0000[0x38]; //0x0000
TransformChild* m_child; //0x0038
int m_transform_index;//0x40

};

class TransformChild
{
public:
char pad_0x0000[0x90]; //0x0000 //0x90 old
D3DXVECTOR3 position; //0x0090
}

class ProceduralWeaponAnimation
{
public:
char pad_0x0000[0x18]; //0x0000
__int64 HealthController; //0x0018
PlayerSpring* HandsContainer; //0x0020
__int64 CameraContainer; //0x0028
BteathEffector* Breath; //0x0030
WalkEffector* Walk; //0x0038
MotionEffector* MotionReact; //0x0040
ForceEffector* ForceReact; //0x0048
ShotEffector* Shoting; //0x0050
TurnAwayEffector* TurnAway; //0x0058
CustomEffector* mCustomEffector; //0x0060
char pad_0x0068[0x10]; //0x0068
__int64 ScopeAimTransforms; //0x0078
char pad_0x0080[0x20]; //0x0080
float CameraSmoothTime; //0x00A0
}


Brut7 24th August 2017 05:51 AM

Quote:

Originally Posted by Sheld0r
rep++
alll what i needed, may you can assist me a bit on how you find all these?
thanks

use brain, monocollector,reclass

Tonyx97 26th August 2017 06:29 PM

Quote:

Originally Posted by Brut7 (Post 1800887)
Code:

loot layer = 15
GET_POSITION 0x809BA0
one param BoneTransform->m_transform
typedef DWORD64(__cdecl* Transform_GetPositiom)(void* Transform, D3DXVECTOR3 &pos);

enum bones
{
HumanHead=133,
HumanNeck =132,
HumanSpine3 = 37,
HumanSpine2 = 36,
HumanSpine1 = 29,
HumanPelvis = 14,
HumanLCalf = 17,
HumanLFoot = 18,
HumanRCalf = 22,
HumanRFoot = 23,
HumanLForearm2 = 92,
HumanLForearm1 = 91,
HumanLUpperarm = 90,
HumanRForearm2 = 113,
HumanRForearm1 = 112,
HumanRUpperarm=111,
};

class MovementContext
{
public:
char pad_0x0000[0x1A0]; //0x0000 //0x188 old
D3DXVECTOR2 ViewAngle; //0x1A0
}

class Profile
{
public:
char pad_0x0000[0x10]; //0x0000
UnicodeString* ID; //0x0010
UnicodeString* AccountId; //0x0018
DWORD64 IsPlayer;//0x20
Info* m_info; //0x0028
}

class Info
{
public:
char pad_0x0000[0x10]; //0x0000
UnicodeString* m_name; //0x0010
char pad_0x0018[0x428]; //0x0018

};//Size=0x044

class PlayerBody
{
public:
char pad_0x0000[0x18]; //0x0000
__int64 Transform; //0x0018
PlayerBones* PlayerBones; //0x0020
Skeleton* SkeletonRootJoint; //0x0028
Skeleton* SkeletonHands; //0x0030
char pad_0x0038[0x38]; //0x0038
Slot* N000020D4; //0x0070
UnityArray* m_WeaponsArray; //0x0078
}

class Skeleton
{
public:
char pad_0x0000[0x18]; //0x0000
Dictionary* Bones; //0x0018
char pad_0x0028[0x10]; //0x0020
DWORD64* Enumerator; //0x0028

};

class BoneTransform
{
public:
char pad_0x0000[0x10]; //0x0000
Transform* m_transform;

};

class Transform
{
public:
char pad_0x0000[0x38]; //0x0000
TransformChild* m_child; //0x0038
int m_transform_index;//0x40

};

class TransformChild
{
public:
char pad_0x0000[0x90]; //0x0000 //0x90 old
D3DXVECTOR3 position; //0x0090
}

class ProceduralWeaponAnimation
{
public:
char pad_0x0000[0x18]; //0x0000
__int64 HealthController; //0x0018
PlayerSpring* HandsContainer; //0x0020
__int64 CameraContainer; //0x0028
BteathEffector* Breath; //0x0030
WalkEffector* Walk; //0x0038
MotionEffector* MotionReact; //0x0040
ForceEffector* ForceReact; //0x0048
ShotEffector* Shoting; //0x0050
TurnAwayEffector* TurnAway; //0x0058
CustomEffector* mCustomEffector; //0x0060
char pad_0x0068[0x10]; //0x0068
__int64 ScopeAimTransforms; //0x0078
char pad_0x0080[0x20]; //0x0080
float CameraSmoothTime; //0x00A0
}


Isn't the parameter of GetPosition function the transform corresponding to GameObject + 0x30 ] + 0x8 ? I also tried GameObject + 0x30 ] + 0x8 ] + 0x38 and the game crashes, I don't know if some objects crash the game using this function, do you have any idea?

I got the Transform::GetPosition function and works perfectly, the one you posted doesn't work for the 0x30 ] + 0x8 afaik.
Code:

Transform::GetPosition = 0x6E7120

Brut7 27th August 2017 06:06 PM

Quote:

Originally Posted by Tonyx97 (Post 1804846)
Isn't the parameter of GetPosition function the transform corresponding to GameObject + 0x30 ] + 0x8 ? I also tried GameObject + 0x30 ] + 0x8 ] + 0x38 and the game crashes, I don't know if some objects crash the game using this function, do you have any idea?

I got the Transform::GetPosition function and works perfectly, the one you posted doesn't work for the 0x30 ] + 0x8 afaik.
Code:

Transform::GetPosition = 0x6E7120

first param not transform. it's BoneTransform

http://imgur.com/yjrnvPa

Code:

void GameEngine::GetBoneByID(Player* m_player, int id, D3DXVECTOR3 &res)
{
  PlayerBody *m_body = m_player->GetBody();

  Skeleton* m_skeleton = m_body->GetSkeleton_m1();

  Dictionary* Bones = m_skeleton->GetBones();

  ObjectArray* m_array = Bones->GetObjectArray();

  BoneTransform* m_bone = (BoneTransform*)m_array->GetObjectByID(id);

  this->GetPosition((void*)m_bone, res);                                               
}

it is necessary to check each pointer

shogust12 31st August 2017 01:26 PM

Can't believe Unity's structure is exactly the same, never knew this. A couple modifications to my Rust ESP and it was done. Thanks for the info guys :lmao:

CorreyWho 31st August 2017 07:47 PM

Who can lead me in the direction of getting a free hack. Can't seem to find one anywhere.

shogust12 1st September 2017 08:22 AM

Quote:

Originally Posted by CorreyWho (Post 1810680)
Who can lead me in the direction of getting a free hack. Can't seem to find one anywhere.

Cause you won't find them free, probably.. If you want to cheat on Escape from Tarkov I suggest you read the entire Rust Internal/External thread as been mentioned by the OP. Its almost entirely the same.

Sn0opY1988 2nd September 2017 12:46 PM

got banned using AJ today just saying some kind of AC is there

iB07 28th September 2017 05:18 AM

Quote:

Originally Posted by Brut7 (Post 1784176)
Code:

object name = GameWorld
       
        class LocalGameWorld
        {
        public:
                char _0x0000[32];
                Dictionary* Dictionary_balistick; //0x0020
                List* BallisticCalculatorsCachedList; //0x0028
                List* List_unknown; //0x0030
                List* LootList; //0x0038
                List* List_Player; //0x0040
                Dictionary* Turnables; //0x0048
                DWORD64* EffectsCommuntator; //0x0050
                DWORD64* BollistickCollider; //0x0058
                char _0x0060[8];
                DWORD64 unknown1; //0x0068
        };


I found the GameObject called "GameWorld" but I cannot quite figure out where "LocalGameWorld" is supposed to be in that object?
Any help would be appreciated (=

Currently I got it like this:
https://i.gyazo.com/c24c2e41f6b4ee7d...499aed3f5b.png


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

Brut7 28th September 2017 06:44 AM

Quote:

Originally Posted by iB07 (Post 1840411)
I found the GameObject called "GameWorld" but I cannot quite figure out where "LocalGameWorld" is supposed to be in that object?
Any help would be appreciated (=

Currently I got it like this:
https://i.gyazo.com/c24c2e41f6b4ee7d...499aed3f5b.png

GameWorld Object +0x30]+0x18]+0x28] = main class = LocalGameWorld
Code:

actual class

class LocalGameWorld
{
public:
char _0x0000[32];
List* Dictionary_balistick; //0x0020
List* BallisticCalculatorsCachedList; //0x0028
List* LootList; //0x0030
List* List_unknown; //0x0038
Dictionary* List_Player; //0x0040
Dictionary* Turnables; //0x0048
};


iB07 30th September 2017 02:45 AM

Quote:

Originally Posted by Brut7 (Post 1840441)
GameWorld Object +0x30]+0x18]+0x28] = main class = LocalGameWorld

thx...

I am trying to distinguish players from bots...

Is
Code:

Profile* m_Profile; //0x0260
still up to date?

Only unicode string I was able to find yet is id at 0x10 in Profile class (or at least something looking like an id)
https://i.gyazo.com/5b3b1d4aa580f020...732b7b4557.png
note: I checked for Profile class at 0x260 0x268 and 0x270(ss)

It does not seem to be there for every player tho, but I guess it should!?
With the other unicode strings I had no success at all yet (accountid and info->name)

Brut7 2nd October 2017 12:58 PM

Quote:

Originally Posted by iB07 (Post 1842379)
thx...

I am trying to distinguish players from bots...

Is
Code:

Profile* m_Profile; //0x0260
still up to date?

Only unicode string I was able to find yet is id at 0x10 in Profile class (or at least something looking like an id)
https://i.gyazo.com/5b3b1d4aa580f020...732b7b4557.png
note: I checked for Profile class at 0x260 0x268 and 0x270(ss)

It does not seem to be there for every player tho, but I guess it should!?
With the other unicode strings I had no success at all yet (accountid and info->name)

Code:

Profile* m_Profile; //0x02C0

class Profile
{
public:
char pad_0x0000[0x10]; //0x0000
UnicodeString* ID; //0x0010
UnicodeString* AccountId; //0x0018
DWORD64 IsPlayer;//0x20
Info* m_info; //0x0028
};

class Info
{
public:
char pad_0x0000[0x10]; //0x0000
UnicodeString* m_name; //0x0010
};

bool isPlayer()
{
if (!IsValidPtrFull((DWORD64)this))return false;

Profile* m_prof = this->GetProfile();

if (m_prof == nullptr)return false;

if (!IsValidPtrFull(m_prof->IsPlayer))return false;

return true;



}


iB07 3rd October 2017 02:51 PM

Quote:

Originally Posted by Brut7 (Post 1845531)
Code:

Profile* m_Profile; //0x02C0

class Profile
{
public:
char pad_0x0000[0x10]; //0x0000
UnicodeString* ID; //0x0010
UnicodeString* AccountId; //0x0018
DWORD64 IsPlayer;//0x20
Info* m_info; //0x0028
};

class Info
{
public:
char pad_0x0000[0x10]; //0x0000
UnicodeString* m_name; //0x0010
};


Not sure what I am doing wrong, but I dont get to Profile Class...

Maybe someone can figure out what could be wrong with the details below.

I am dereferencing like this:
GameObject + 0x30] + 0x18] + 0x28] + 0x2C0] + 0x10] and then try to read the unicode string at 0x14 but there just seems to be nothing...

Code:

In detail:
GameObject + 0x30] = PlayerObject //Rust Convention
PlayerObject + 0x18] = Entity //Rust Convention
Entity + 0x28] = BaseEntity //Rust Convention
BaseEntity + 0x2C0] = Profile
Profile + 0x10] = UnicodeSting Class Pointer //id
Profile + 0x18] = UnicodeSting Class Pointer //accountid
Profile + 0x20] = DWORD64 isPlayer
Profile + 0x28] = Info
Info + 0x10] = UnicodeSting Class Pointer //Name

Transform part working:
PlayerObject + 0x8] = Transform //Rust Convention
Transform + 0x38] = Visuals//my naming
Visuals + 0x90 = Vec3 Position

Just tested it in offline mode as you told me in pm, with the only playerobject in the list (PlayerSuperior) but Profile* at 0x2C0 is still 0 :(
GameObject:
https://i.gyazo.com/06f4da34422eb25d...933830ebe2.png
1st part BaseEntiry:
https://i.gyazo.com/4284ed8b7926fafe...16a0a4bbf3.png
2nd part of BaseEntity:
https://i.gyazo.com/ad1026eb5418fe94...34ae5bd764.png

*EDIT1*
In this picture you can see the unicode string I get sometimes for Profile->Id, but it only works rarely and not for all players somehow...
https://i.gyazo.com/16ae8e4bfdbf103d...dd9dcecf88.jpg

mikangchan 3rd December 2017 10:03 AM

wondering how to get gameobject offset?

or anyone willing to share gameobject for closed beta?

mikangchan 4th December 2017 11:43 PM

Getting 255 tags from first table and nothing is similar to GameWorld. Most of then are 20000 and 20001 stuffs

mikangchan 6th December 2017 12:05 AM

looped through millions of tags but not GameWorld found :cry:

iB07 6th December 2017 02:37 AM

Quote:

Originally Posted by mikangchan (Post 1923954)
looped through millions of tags but not GameWorld found :cry:

As you can see in the Screenshot above, Gameworld has Tag=0 and Layer=0.
It is an ActiveGameObject and NOT TaggedGameObject ;)

You use the Gameworld Object to get to LocalGameWorld and then use
Code:

Dictionary* List_Player; //0x0040
there (take a look in the Rust thread for how Dictionary works). This will give you a list of Players and Bots.

Or you can just loop through all ActiveGameObjects (in a second thread) and save the entities you need to your own list just like in Rust ;)
Players got a layer of 8 I think, so you can filter for layer==8 and then look for a string "Player" in the objectName ;)

mikangchan 6th December 2017 03:23 AM

Quote:

Originally Posted by iB07 (Post 1924048)
As you can see in the Screenshot above, Gameworld has Tag=0 and Layer=0.
It is an ActiveGameObject and NOT TaggedGameObject ;)

You use the Gameworld Object to get to LocalGameWorld and then use
Code:

Dictionary* List_Player; //0x0040
there (take a look in the Rust thread for how Dictionary works). This will give you a list of Players and Bots.

Or you can just loop through all ActiveGameObjects (in a second thread) and save the entities you need to your own list just like in Rust ;)
Players got a layer of 8 I think, so you can filter for layer==8 and then look for a string "Player" in the objectName ;)

Thank you so much for all helps!! and Brut7 as well!! +++rep
I was thinking about Tag 0 Layer 0(in pm) not watching that picture carefully.
Just gonna implement rust stuff on it but I think I should probably find GameWorld first :)

++rep to iB07 and Brut7
https://i.imgur.com/EqfNmMd.png

mikangchan 6th December 2017 10:45 PM

trying to learn something more now
https://i.imgur.com/bQ7iEqo.jpg

mikangchan 8th December 2017 01:25 AM

So Is that possible to get player class using playerobject instead of localgameworld? I've hard time fight with dictionary and failed.

iB07 8th December 2017 04:21 AM

Quote:

Originally Posted by mikangchan (Post 1926191)
So Is that possible to get player class using playerobject instead of localgameworld? I've hard time fight with dictionary and failed.

Not sure anymore...
Actually this was my mistake, lol.
I thought the class Player is the same as BaseEntity or at least PlayerObject from Rust, FATAL mistake :D
Player class includes a pointer to same GameObject as you can find in the ActiveGameObject loop though... but I don't know if it's the other way around too...

Does anyone know, if the normal GameObject / PlayerObject (known from Rust) has a pointer to the class Player like described in this thread?

Quote:

Originally Posted by mikangchan (Post 1924062)
++rep to iB07 and Brut7

I LOLd at that with your Rep.Power of 0 :D
yw anyway ;)

bl00 8th December 2017 11:43 AM

Btw. Guys, how do you test your builds? Offline mode with severed internet connection? (that's how i do it, but don't want tonchange adapter settings every time i run eft, it screws with my network)

mikangchan 8th December 2017 01:48 PM

Quote:

Originally Posted by iB07 (Post 1926262)
LocalGameWorld playerlist entities just point to same PlayerObject as you can find in the ActiveGameObject loop...


I LOLd at that with your Rep.Power of 0 :D
yw anyway ;)

xD I thought I can give rep anyway

So there's no BaseEntity stuff in playerobjects(not my camera) like rust, just use the object directly...wow gonna try when I get home

Quote:

Originally Posted by bl00 (Post 1926537)
Btw. Guys, how do you test your builds? Offline mode with severed internet connection? (that's how i do it, but don't want tonchange adapter settings every time i run eft, it screws with my network)

externel, testing online

So I'm trying to get player id and get some trouble.

I'm reading the length from 0x10//Rust and get 0 for some while 648 for others.

Is 0x2C0 for profile and 0x10 for ID still updated>

Brut7 9th December 2017 01:37 AM

Quote:

Originally Posted by mikangchan (Post 1926635)
xD I thought I can give rep anyway

So there's no BaseEntity stuff in playerobjects(not my camera) like rust, just use the object directly...wow gonna try when I get home



externel, testing online

So I'm trying to get player id and get some trouble.

I'm reading the length from 0x10//Rust and get 0 for some while 648 for others.

Is 0x2C0 for profile and 0x10 for ID still updated>

Actual Player class
Code:

class Player
{
public:
char pad_0x0000[0x30]; //0x0000
__int64 OnPoseChangedEvent; //0x0030
__int64 OnSpeedChangedEvent; //0x0038
__int64 m_CharacterController; //0x0040
char pad_0x0048[0x8]; //0x0048
MovementContext* m_MovementContext; //0x0050
__int64 Pedometer; //0x0058
char pad_0x0060[0x28]; //0x0060
ProceduralWeaponAnimation* proceduralWeaponAnimation_0; //0x0088
char pad_0x0090[0x10]; //0x0090
PlayerBody* playerBody_0; //0x00A0
char pad_0x00A8[0x248]; //0x00A8
Profile* m_Profile; //0x02F0
char pad_0x02F8[0x8]; //0x02F8
Physical* m_physical; //0x0300
char pad_0x0308[0x18]; //0x0308
__int64 _healthController; //0x0320
char pad_0x0328[0x8]; //0x0328
SinglePlayerInventoryController* m_SinglePlayerInventoryController; //0x0330
FirearmController* _handsController; //0x0338
__int64 _questController; //0x0340
char pad_0x0348[0x28]; //0x0348
PlayerBones* m_PlayerBones; //0x0370

OnSpeedChangedEvent == Valid ptr == local player
};


mikangchan 9th December 2017 09:41 AM

Quote:

Originally Posted by Brut7 (Post 1927316)
Actual Player class
Code:

class Player
{
public:
char pad_0x0000[0x30]; //0x0000
__int64 OnPoseChangedEvent; //0x0030
__int64 OnSpeedChangedEvent; //0x0038
__int64 m_CharacterController; //0x0040
char pad_0x0048[0x8]; //0x0048
MovementContext* m_MovementContext; //0x0050
__int64 Pedometer; //0x0058
char pad_0x0060[0x28]; //0x0060
ProceduralWeaponAnimation* proceduralWeaponAnimation_0; //0x0088
char pad_0x0090[0x10]; //0x0090
PlayerBody* playerBody_0; //0x00A0
char pad_0x00A8[0x248]; //0x00A8
Profile* m_Profile; //0x02F0
char pad_0x02F8[0x8]; //0x02F8
Physical* m_physical; //0x0300
char pad_0x0308[0x18]; //0x0308
__int64 _healthController; //0x0320
char pad_0x0328[0x8]; //0x0328
SinglePlayerInventoryController* m_SinglePlayerInventoryController; //0x0330
FirearmController* _handsController; //0x0338
__int64 _questController; //0x0340
char pad_0x0348[0x28]; //0x0348
PlayerBones* m_PlayerBones; //0x0370

OnSpeedChangedEvent == Valid ptr == local player
};


Thanks!

mikangchan 15th December 2017 01:29 PM

What is the size for transform? Is it 0x18?
Code:

class BoneTransform
{
public:
char pad_0x0000[0x10]; //0x0000
Transform* m_transform;
 
};

I'm trying to read like
dictValues + 0x20] + 0x10] + 0x38] + 0x90] for position of first bone, got nothing

mikangchan 20th December 2017 03:09 PM

Still can't get the bone position

Tried with classes on rust thread but still no pointers

iB07 23rd December 2017 12:58 AM

Correct me if I'm wrong, but I think for bones you need to call a function and thus it's not that easy externally... At least it was like this in Rust afaik...

64com 23rd December 2017 04:18 PM

Quote:

Originally Posted by iB07 (Post 1924048)
As you can see in the Screenshot above, Gameworld has Tag=0 and Layer=0.
It is an ActiveGameObject and NOT TaggedGameObject ;)

You use the Gameworld Object to get to LocalGameWorld and then use
Code:

Dictionary* List_Player; //0x0040
there (take a look in the Rust thread for how Dictionary works). This will give you a list of Players and Bots.

Or you can just loop through all ActiveGameObjects (in a second thread) and save the entities you need to your own list just like in Rust ;)
Players got a layer of 8 I think, so you can filter for layer==8 and then look for a string "Player" in the objectName ;)

Can you share yours implementation of reading Dictionary?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

Robit 23rd December 2017 09:56 PM

Quote:

Originally Posted by 64com (Post 1942973)
Can you share yours implementation of reading Dictionary?

Code:

    [StructLayout(LayoutKind.Sequential)]
    public unsafe struct NativeMonoDictionary<TKey, TValue> where TKey : struct where TValue : struct
    {
        /*Offset: 0, Name: INITIAL_SIZE, Type: I4
Offset: 0, Name: DEFAULT_LOAD_FACTOR, Type: R4
Offset: 0, Name: NO_SLOT, Type: I4
Offset: 0, Name: HASH_FLAG, Type: I4
Offset: 10, Name: table, Type: SzArray
Offset: 18, Name: linkSlots, Type: SzArray
Offset: 20, Name: keySlots, Type: SzArray
Offset: 28, Name: valueSlots, Type: SzArray
Offset: 30, Name: touchedSlots, Type: I4
Offset: 34, Name: emptySlot, Type: I4
Offset: 38, Name: count, Type: I4
Offset: 3C, Name: threshold, Type: I4
Offset: 40, Name: hcp, Type: GenericInst
Offset: 48, Name: serialization_info, Type: Class
Offset: 50, Name: generation, Type: I4
Offset: 0, Name: <>f__am$cacheB, Type: GenericInst*/

        public IntPtr VTable, Sync;
        public ExternalPtr<MonoArray> table; // int[]
        public ExternalPtr<MonoArray> linkSlots; // Link[]

        public ExternalPtr<MonoArray> keySlots; // TKey[]
        public ExternalPtr<MonoArray> valueSlots; // TValue[]
        public int touchedSlots;
        public int emptySlot;

        public int count;
        public int threshold;
        public IntPtr hcp, serialization_info;
        public int generation;

        public TKey[] Keys => MonoArray.GetItems<TKey>(keySlots.Pointer);
        public TValue[] Values => MonoArray.GetItems<TValue>(valueSlots.Pointer);
        public Dictionary<TKey, TValue> ToDictionary()
        {
            //if(count == 0)
            //    return new Dictionary<TKey, TValue>();

            var keys = MonoArray.GetItems<TKey>(keySlots.Pointer);
            var values = MonoArray.GetItems<TValue>(valueSlots.Pointer);

            Dictionary<TKey,TValue> ret = new Dictionary<TKey, TValue>(touchedSlots);
            for (int i = 0; i < touchedSlots; i++)
            {
                ret[keys[i]] = values[i];
            }

            return ret;
        }
    }


iB07 26th December 2017 12:55 AM

Quote:

Originally Posted by 64com (Post 1942973)
Can you share yours implementation of reading Dictionary?

Rust Bone aka Player here (didn't rename it in ReClass):
Code:

Dictionary:
BoneList* N0000053F; //0x0028 (like in Rust)
__int32 N00000540; //0x0030 numberOfEntities

BoneList:
BoneClass* 0x20 //1st Entity
BoneClass* 0x28 //2nd Entity
...and so on...

BoneClass + 0x10] + 0x30] = GameObject


64com 27th December 2017 11:34 AM

Thanks for the help, but I meant a usable implementation like this:
Code:

enum HumanBones
{
        HumanPelvis                = 14,
        HumanLThigh1        = 15,
        HumanLThigh2        = 16,
        HumanLCalf                = 17,
        HumanLFoot                = 18,
        HumanLToe                = 19,
        HumanRThigh1        = 20,
        HumanRThigh2        = 21,
        HumanRCalf                = 22,
        HumanRFoot                = 23,
        HumanRToe                = 24,
        HumanSpine1                = 29,
        HumanSpine2                = 36,
        HumanSpine3                = 37,
        HumanLUpperarm        = 90,
        HumanLForearm1        = 91,
        HumanLForearm2        = 92,
        HumanLForearm3        = 93,
        HumanLPalm                = 94,
        HumanRCollarbone = 110,
        HumanRUpperarm        = 111,
        HumanRForearm1        = 112,
        HumanRForearm2        = 113,
        HumanRForearm3        = 114,
        HumanRPalm                = 115,       
        HumanNeck                = 132,
        HumanHead                = 133,
};

template<class Type>
class List
{
public:
        int GetCount() { return *(int*)(this + 0x18); }

        Type* GetElement(int index)
        {
                if(index < GetCount())
                {
                        ULONG_PTR items = *(ULONG_PTR*)(this + 0x10);
                        return *(Type**)(items + 0x20 + 0x8 * index);
                }

                return 0;
        }
};

class BoneTransform
{
public:
        // this func is "void __fastcall Transform_CUSTOM_INTERNAL_get_position(struct MonoObject *a1, struct Vector3f *a2)"
        void GetPosition(D3DXVECTOR3& out) { reinterpret_cast<void(__fastcall*)(BoneTransform*, D3DXVECTOR3&)>(GDymanicBase + 0x80FAC0)(this, out); }
};

class Skeleton
{
        // Dictionary<string, Transform>
        // 0x10 -> table
        // 0x18 -> linkSlots
        // 0x20 -> keySlots (string)
        // 0x28 -> valueSlots (BoneTransform)

public:
        List<BoneTransform>* GetTransformList() { return *(List<BoneTransform>**)(this + 0x28); }
       
        D3DXVECTOR3 GetBonePositionByIndex(int index)
        {
                D3DXVECTOR3 position = { 0.f, 0.f, 0.f };

                List<BoneTransform>* pBoneTransformList = GetTransformList();
                if(pBoneTransformList)
                {
                        BoneTransform* pBoneTransform = pBoneTransformList->GetElement(index);
                        if(pBoneTransform)
                                pBoneTransform->GetPosition(position);
                }

                return position;
        }
};

class PlayerBody
{
public:
        Skeleton* GetSkeletonRootJoint() { return *(Skeleton**)(this + 0x28); }
};

class Player
{
public:
        PlayerBody* GetPlayerBody() { return *(PlayerBody**)(this + 0xA0); }
};

Example of use:
Code:

PlayerBody* pPlayerBody = pPlayer->GetPlayerBody();
Skeleton* pSkeletonRootJoint = pPlayerBody->GetSkeletonRootJoint();
D3DXVECTOR3 position;
pSkeletonRootJoint->GetBonePositionByIndex(HumanHead);

Final result:
https://i.imgur.com/M4uElzK.jpg

All offsets actuale for patch 0.5.0.811. GDymanicBase -> base address of *.exe module.

PS: Thanks anyway for the information available!

mikangchan 27th December 2017 10:29 PM

Quote:

Originally Posted by iB07 (Post 1946057)
Rust Bone aka Player here (didn't rename it in ReClass):
Code:

Dictionary:
BoneList* N0000053F; //0x0028 (like in Rust)
__int32 N00000540; //0x0030 numberOfEntities

BoneList:
BoneClass* 0x20 //1st Entity
BoneClass* 0x28 //2nd Entity
...and so on...

BoneClass + 0x10] + 0x30] = GameObject


I tried to read like this without success :cry:

Anyone wanna share the new offsets for 0.5.0.811

iB07 28th December 2017 02:58 AM

Quote:

Originally Posted by 64com (Post 1947669)
Thanks for the help, but I meant a usable implementation like this:

Very nice, sorry I did/do not have something like this ;)

I will try to implement this when I got some time, looks pretty cool (=

PS:
new GOM (0.5.1.815):
Code:

#define dw_GAMEOBJECTMANAGER 0x1414327C0 //IDAbase 0x140000000
didn't find LocalGameWorld yet

Brut7 29th December 2017 06:16 AM

Code:

latest update
#define GAME_OBJECT_MANAGER 0x14327C0
#define GET_POSITION 0x80FAC0

class LocalGameWorld
{
public:
char pad_0x0000[0x28]; //0x0000
__int64 GameDataTime; //0x0028
char pad_0x0030[0x8]; //0x0030
List* BallisticCalculatorsCachedList; //0x0038
char pad_0x0040[0x8]; //0x0040
List* LootList; //0x0048
List* ItemOwners; //0x0050
List* RegisteredPlayers; //0x0058
char pad_0x0060[0x18]; //0x0060
__int64 SpeakerManager; //0x0078
char pad_0x0080[0x8]; //0x0080
__int64 Turnables; //0x0088
}

class Player
{
public:
char pad_0x0000[0x30]; //0x0000
__int64 OnPoseChangedEvent; //0x0030
__int64 OnSpeedChangedEvent; //0x0038
__int64 m_CharacterController; //0x0040
char pad_0x0048[0x8]; //0x0048
MovementContext* m_MovementContext; //0x0050
__int64 Pedometer; //0x0058
char pad_0x0060[0x28]; //0x0060
ProceduralWeaponAnimation* proceduralWeaponAnimation_0; //0x0088
char pad_0x0090[0x10]; //0x0090
PlayerBody* playerBody_0; //0x00A0
char pad_0x00A8[0x278]; //0x00A8
Profile* m_Profile; //0x0320
char pad_0x0328[0x8]; //0x0328
Physical* m_physical; //0x0330
char pad_0x0338[0x18]; //0x0338
__int64 _healthController; //0x0350
char pad_0x0358[0x8]; //0x0358
SinglePlayerInventoryController* m_SinglePlayerInventoryController; //0x0360
FirearmController* _handsController; //0x0368
__int64 _questController; //0x0370
char pad_0x0378[0x30]; //0x0378
PlayerBones* m_PlayerBones; //0x03A8
}

class MovementContext
{
public:
char pad_0x0000[0x1EC]; //0x0000
D3DXVECTOR2 ViewAngle; //0x1EC
}


mikangchan 30th December 2017 03:53 AM

Quote:

Originally Posted by Brut7 (Post 1950050)
Code:

latest update
#define GAME_OBJECT_MANAGER 0x14327C0
#define GET_POSITION 0x80FAC0

class LocalGameWorld
{
public:
char pad_0x0000[0x28]; //0x0000
__int64 GameDataTime; //0x0028
char pad_0x0030[0x8]; //0x0030
List* BallisticCalculatorsCachedList; //0x0038
char pad_0x0040[0x8]; //0x0040
List* LootList; //0x0048
List* ItemOwners; //0x0050
List* RegisteredPlayers; //0x0058
char pad_0x0060[0x18]; //0x0060
__int64 SpeakerManager; //0x0078
char pad_0x0080[0x8]; //0x0080
__int64 Turnables; //0x0088
}

class Player
{
public:
char pad_0x0000[0x30]; //0x0000
__int64 OnPoseChangedEvent; //0x0030
__int64 OnSpeedChangedEvent; //0x0038
__int64 m_CharacterController; //0x0040
char pad_0x0048[0x8]; //0x0048
MovementContext* m_MovementContext; //0x0050
__int64 Pedometer; //0x0058
char pad_0x0060[0x28]; //0x0060
ProceduralWeaponAnimation* proceduralWeaponAnimation_0; //0x0088
char pad_0x0090[0x10]; //0x0090
PlayerBody* playerBody_0; //0x00A0
char pad_0x00A8[0x278]; //0x00A8
Profile* m_Profile; //0x0320
char pad_0x0328[0x8]; //0x0328
Physical* m_physical; //0x0330
char pad_0x0338[0x18]; //0x0338
__int64 _healthController; //0x0350
char pad_0x0358[0x8]; //0x0358
SinglePlayerInventoryController* m_SinglePlayerInventoryController; //0x0360
FirearmController* _handsController; //0x0368
__int64 _questController; //0x0370
char pad_0x0378[0x30]; //0x0378
PlayerBones* m_PlayerBones; //0x03A8
}

class MovementContext
{
public:
char pad_0x0000[0x1EC]; //0x0000
D3DXVECTOR2 ViewAngle; //0x1EC
}


Thanks!
What's the use of movementcontext?

Brut7 30th December 2017 05:02 AM

Quote:

Originally Posted by mikangchan (Post 1951220)
Thanks!
What's the use of movementcontext?

aimbot

mikangchan 30th December 2017 07:18 AM

Quote:

Originally Posted by Brut7 (Post 1951264)
aimbot

That's amazing...I just thought of getting enemies' movement

Can you please share the healthcontroller class? Or is there other ways to get player health?

Brut7 30th December 2017 09:37 AM

Quote:

Originally Posted by mikangchan (Post 1951322)
That's amazing...I just thought of getting enemies' movement

Can you please share the healthcontroller class? Or is there other ways to get player health?

This class is obfuscated and there is a lot garbage. As time will be try to reverse it.

64com 31st December 2017 12:20 AM

Quote:

Originally Posted by Brut7 (Post 1951401)
This class is obfuscated and there is a lot garbage. As time will be try to reverse it.

Look inside "Profile + 0x40":
https://i.imgur.com/6Mi1CNq.jpg

64com 31st December 2017 01:30 PM

Or the same but inside the "_healthController":
https://i.imgur.com/kQidxQY.jpg

dracorx 31st December 2017 02:59 PM

Anyone know how the Anti-Cheat works currently? I know they do manual stats ban and sig whatever they can get their hands on but is there anything else like screenshots?

mikangchan 31st December 2017 07:41 PM

Anyone know the new name for safe and medical bag? They used to be "boor_safe" and "Medical_door" but not anymore

Crates I've found so far
Code:

lootable //General Loots, cloth, sometimes points to ground
weapon_box_cover // Wooden crates
Toolbox_Door // tool box
Ammo_crate_Cap // ammo box
card_file_box_Anim(1/2/3/4) // file cabinet
Grenade_box_Door // grenade box
gun_safe_DoorDown // pistol box
cover_110 // big weapon box
cover_110x45 // small weapon box


Brut7 1st January 2018 07:05 AM

Quote:

Originally Posted by dracorx (Post 1952839)
Anyone know how the Anti-Cheat works currently? I know they do manual stats ban and sig whatever they can get their hands on but is there anything else like screenshots?

You overestimate the Russian anti-cheat) They are banning for CE or mono injections.

etc 3rd January 2018 12:19 AM

What is struct of Dictionary and List for C++?

64com 3rd January 2018 01:55 PM

Quote:

Originally Posted by etc (Post 1955838)
What is struct of Dictionary and List for C++?

Are you kidding?
https://www.unknowncheats.me/forum/1947669-post47.html

etc 3rd January 2018 02:00 PM

Quote:

Originally Posted by 64com (Post 1956330)

I saw only List. Thank you for this but List class equal Dictionary class?

Edit :
Code:

        global::hHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetPID(L"EscapeFromTarkov.exe"));
        cMem = new CMem("EscapeFromTarkov.exe", global::hHandle);
        DWORD_PTR gameWorld = cMem->R<DWORD_PTR>(cMem->GetBase() + 0x14327C0, sizeof(DWORD_PTR));
        DWORD_PTR LocalGameWorld = cMem->R<DWORD_PTR>(gameWorld + 0x30, sizeof(DWORD_PTR));
        LocalGameWorld = cMem->R<DWORD_PTR>(LocalGameWorld + 0x18, sizeof(DWORD_PTR));
        LocalGameWorld = cMem->R<DWORD_PTR>(LocalGameWorld + 0x28, sizeof(DWORD_PTR));
        std::cout << "LOCAL GAMEWORLD : 0x" << LocalGameWorld << std::endl;

Where is my wrong?
Return
Code:

Base Address: 0x7ff7b4040000
LOCAL GAMEWORLD : 0xcccccccccccccccc


64com 3rd January 2018 04:00 PM

Quote:

Originally Posted by etc (Post 1956338)
I saw only List. Thank you for this but List class equal Dictionary class?
[snipped]

https://i.imgur.com/D7DH8ul.jpg

roughly speaking the dictionary has two lists

mikangchan 4th January 2018 12:15 AM

Quote:

Originally Posted by etc (Post 1956338)
I saw only List. Thank you for this but List class equal Dictionary class?

Edit :
Code:

        global::hHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetPID(L"EscapeFromTarkov.exe"));
        cMem = new CMem("EscapeFromTarkov.exe", global::hHandle);
        DWORD_PTR gameWorld = cMem->R<DWORD_PTR>(cMem->GetBase() + 0x14327C0, sizeof(DWORD_PTR));
        DWORD_PTR LocalGameWorld = cMem->R<DWORD_PTR>(gameWorld + 0x30, sizeof(DWORD_PTR));
        LocalGameWorld = cMem->R<DWORD_PTR>(LocalGameWorld + 0x18, sizeof(DWORD_PTR));
        LocalGameWorld = cMem->R<DWORD_PTR>(LocalGameWorld + 0x28, sizeof(DWORD_PTR));
        std::cout << "LOCAL GAMEWORLD : 0x" << LocalGameWorld << std::endl;

Where is my wrong?
Return
Code:

Base Address: 0x7ff7b4040000
LOCAL GAMEWORLD : 0xcccccccccccccccc


LocalGameWorld is an activeobject in activeobject list. You need to loop through it and find that object.
Looping activeobject list can be found in Rust thread, and the detail of localgameworld is in the second page of this thread


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

64com 5th January 2018 11:49 AM

A have a question about aim. When I write the result of calculations (using "cameraPosition - targetPosition") in MovementContext, being offline, then everything is fine but when I'm online, there are deviations – the aiming point does not coincide with the position of the target. What about weapon aiming position?

mikangchan 7th January 2018 04:32 AM

So anyone willing to share how to reverse classes? I'm trying to get the Head Position inside PlayerBones class

mikangchan 10th January 2018 05:59 AM

Quote:

Originally Posted by 64com (Post 1958353)
A have a question about aim. When I write the result of calculations (using "cameraPosition - targetPosition") in MovementContext, being offline, then everything is fine but when I'm online, there are deviations – the aiming point does not coincide with the position of the target. What about weapon aiming position?

Code:

D3DXVECTOR2 CalcAngles(D3DXVECTOR3* LocalPos, D3DXVECTOR3* EnemyPos) {
                D3DXVECTOR2 temp;
                D3DXVECTOR3 relative;
                D3DXVec3Subtract(&relative, LocalPos, EnemyPos);
                float magnitude = D3DXVec3Length(&relative);
                double pitch = asin(relative[1] / magnitude);
                double yaw = -atan2(relative[0], -relative[2]);

                yaw = D3DXToDegree(yaw);
                pitch = D3DXToDegree(pitch);

                temp.x = pitch;
                temp.y = yaw;
                return temp;
        }

credits to Apflmus

mikangchan 12th January 2018 12:38 AM

If someone is interested in no recoil
Code:

public class ShotEffector : IEffector
{
  public float Intensity = 1f;
  public float Stiffness = 1f;
  private \uE648.\uE649 _buffs = new \uE648.\uE649();
  [\uE174(0.0f, 100f, -1f)]
  public Vector2 RecoilStrengthXY;
  [\uE174(0.0f, 100f, -1f)]
  public Vector2 RecoilStrengthZ;

credits to Brut7, much appreciation!

tednugent 12th January 2018 11:19 AM

Could anyone point me towards the right direction? I was able to make a quick loop with an external process to find the GameWorld object, however, after trying to find 'Local GameWorld' with 'GameWorld object +30]+18]+28]' I end up getting lost with using the 'List*/Dictionary*' classes even with the posts in this thread.

mikangchan 12th January 2018 09:34 PM

Quote:

Originally Posted by tednugent (Post 1967159)
Could anyone point me towards the right direction? I was able to make a quick loop with an external process to find the GameWorld object, however, after trying to find 'Local GameWorld' with 'GameWorld object +30]+18]+28]' I end up getting lost with using the 'List*/Dictionary*' classes even with the posts in this thread.

Code:

class LocalGameWorld
{
public:
char pad_0x0000[0x28]; //0x0000
__int64 GameDataTime; //0x0028
char pad_0x0030[0x8]; //0x0030
List* BallisticCalculatorsCachedList; //0x0038
char pad_0x0040[0x8]; //0x0040
List* LootList; //0x0048
List* ItemOwners; //0x0050
List* RegisteredPlayers; //0x0058
char pad_0x0060[0x18]; //0x0060
__int64 SpeakerManager; //0x0078
char pad_0x0080[0x8]; //0x0080
__int64 Turnables; //0x0088
}

LocalGameWorld from Brut7.

Does anyone run into the situation that writing viewangle are several pixels left when enemy target is moving?

tednugent 12th January 2018 10:11 PM

I see the classes posted but I guess just finding LocalGameWorld is the issue. I am trying to loop through active objects for a name matching "LocalGameWorld " with no match as well as going through the offsets of "GameWorld" itself but it just leads me to nothing that matches the class.

supanoob 13th January 2018 12:00 AM

Quote:

Originally Posted by mikangchan (Post 1967905)
Code:

class LocalGameWorld
{
public:
char pad_0x0000[0x28]; //0x0000
__int64 GameDataTime; //0x0028
char pad_0x0030[0x8]; //0x0030
List* BallisticCalculatorsCachedList; //0x0038
char pad_0x0040[0x8]; //0x0040
List* LootList; //0x0048
List* ItemOwners; //0x0050
List* RegisteredPlayers; //0x0058
char pad_0x0060[0x18]; //0x0060
__int64 SpeakerManager; //0x0078
char pad_0x0080[0x8]; //0x0080
__int64 Turnables; //0x0088
}

LocalGameWorld from Brut7.

Does anyone run into the situation that writing viewangle are several pixels left when enemy target is moving?

This struct is no longer valid after last patch.

mikangchan 13th January 2018 01:56 AM

Quote:

Originally Posted by supanoob (Post 1968082)
This struct is no longer valid after last patch.

This is what I'm using but you can share yours :)

Quote:

Originally Posted by tednugent (Post 1967943)
I see the classes posted but I guess just finding LocalGameWorld is the issue. I am trying to loop through active objects for a name matching "LocalGameWorld " with no match as well as going through the offsets of "GameWorld" itself but it just leads me to nothing that matches the class.

You should loop active game object in layer 0 tag 0 and find GameWorld. Mostly it's the 29th object.

From GameWorld object you do the 30] 18] 28] chain to get LocalGameWorld

supanoob 13th January 2018 05:54 PM

Quote:

Originally Posted by mikangchan (Post 1968200)
This is what I'm using but you can share yours :)

oops! Sorry I'm a nab. Works perfectly now. :P

However still have some troubles with BoneTransform. 0x80FAC0 is still correct?

nicolaiko 14th January 2018 01:36 AM

Can someone please PM me ESP? I know free ESP and etc is banned or easy to find but I don't know how to compile my own. Can someone send me manual or even ESP click to run?

thank you very much

tednugent 14th January 2018 04:51 AM

Quote:

Originally Posted by nicolaiko (Post 1969520)
Can someone please PM me ESP? I know free ESP and etc is banned or easy to find but I don't know how to compile my own. Can someone send me manual or even ESP click to run?

thank you very much

Check through the thread, there should be enough information to piece together a rough one.

mikangchan 14th January 2018 09:10 PM

Anyone reversed the BallisticCollider class or AmmoTemplate class? Both have interesting variables but I can't get them in reclass
https://i.imgur.com/ixikf8E.png
https://i.imgur.com/pfOZRAg.png

dler4 16th January 2018 08:39 PM

Probably a stupid question but what image name does tarkov use? Like to get obj manager, would it be EscapeFromTarkov.exe + 0x1414327C0? For rust it's rustclient.exe

TheCake21 16th January 2018 08:50 PM

Quote:

Originally Posted by supanoob (Post 1969091)
oops! Sorry I'm a nab. Works perfectly now. :P

However still have some troubles with BoneTransform. 0x80FAC0 is still correct?

Last time I checked it was 0x0x80D8A0

@mikangchan
Use MonoDataCollecor

Quote:

Originally Posted by dler4 (Post 1973185)
Probably a stupid question but what image name does tarkov use? Like to get obj manager, would it be EscapeFromTarkov.exe + 0x1414327C0? For rust it's rustclient.exe

Obviously the exe is called EscapeFromTarkov.exe. GameObjectManager is at EscapeFromTarkov.exe + 0x14327C0. (EscapeFromTarkov.exe meaning the adress EscapeFromTarkov.exe was loaded at)

tednugent 17th January 2018 01:20 AM

Quote:

Originally Posted by dler4 (Post 1973185)
Probably a stupid question but what image name does tarkov use? Like to get obj manager, would it be EscapeFromTarkov.exe + 0x1414327C0? For rust it's rustclient.exe

Yea "EscapeFromTarkov.exe" should be correct, I'm using EscapeFromTarkov.exe + 0x14327C0 for Game_Object_Manager.

dler4 17th January 2018 10:37 PM

Few questions

1) Is it fine to just go through active objects to get players/ai? I don't really know how to traverse the player list dictionary using external rpm

2) Does the list have to be constantly updated like in Rust? i.e players too far won't appear on the list

3) Did they change the tag/layer or something? I'm only seeing layer = 0, tag = 0 or 512, I find FPS camera and gameworld via string comparison (using gameobject + 0x5c for tag, +0x58 for layer)

thanks

TheCake21 17th January 2018 10:38 PM

@mikangchan I don't have 4 posts so i can't answer your pm. GetPos is really easy to find. Just open up EscapeFromTarkov.exe in IDA and search for something like "Transform::INTERNAL_get_position" that string is referenced in Transform's VMT and GetPos ist the first function there.

mikangchan 18th January 2018 12:28 AM

Quote:

Originally Posted by dler4 (Post 1974763)
Few questions

1) Is it fine to just go through active objects to get players/ai? I don't really know how to traverse the player list dictionary using external rpm

2) Does the list have to be constantly updated like in Rust? i.e players too far won't appear on the list

3) Did they change the tag/layer or something? I'm only seeing layer = 0, tag = 0 or 512, I find FPS camera and gameworld via string comparison (using gameobject + 0x5c for tag, +0x58 for layer)

thanks

1. You can but that's a lot of objects and since ur external that's even worse
2. they have every player in the list no matter how far they are
3. gameworld is tag 0 layer 0

Quote:

Originally Posted by TheCake21 (Post 1974764)
@mikangchan I don't have 4 posts so i can't answer your pm. GetPos is really easy to find. Just open up EscapeFromTarkov.exe in IDA and search for something like "Transform::INTERNAL_get_position" that string is referenced in Transform's VMT and GetPos ist the first function there.

I'm really dumb in IDA. I can get to this function but I don't know what next
https://i.imgur.com/I7cippu.png
off_1413B6B30 is UnityEngine.Transform::INTERNAL_get_pos

dler4 18th January 2018 12:51 AM

Quote:

Originally Posted by mikangchan (Post 1974845)
1. You can but that's a lot of objects and since ur external that's even worse
2. they have every player in the list no matter how far they are
3. gameworld is tag 0 layer 0

Edit: You're right going through the list is just lagging me

Anyone know how to traverse the list of players in localgameworld as external? I assume it's not sequential like an array


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

tednugent 18th January 2018 03:21 AM

Quote:

Originally Posted by dler4 (Post 1974763)
Few questions

1) Is it fine to just go through active objects to get players/ai? I don't really know how to traverse the player list dictionary using external rpm

thanks

That is what I have been using for a crude ESP. You can have a separate thread that searches for player object addresses and then get the position of each entity in that address list.

mikangchan 18th January 2018 03:30 AM

Quote:

Originally Posted by dler4 (Post 1974865)
Edit: You're right going through the list is just lagging me

Anyone know how to traverse the list of players in localgameworld as external? I assume it's not sequential like an array

in 3rd page 64com showed how List works.
List + 0x18] for number of items
List + 0x10] + 0x20 + i*0x8 for actual items

TheCake21 18th January 2018 11:17 AM

@mikangchan What you have there is not GetPosition. Get position looks like this:
https://i.imgur.com/WJGknFe.png

0x14080D8A0 - 0x140000000 = 0x80D8A0 = GetPosition

mikangchan 18th January 2018 04:15 PM

Quote:

Originally Posted by TheCake21 (Post 1975288)
@mikangchan What you have there is not GetPosition. Get position looks like this:
https://i.imgur.com/WJGknFe.png

0x14080D8A0 - 0x140000000 = 0x80D8A0 = GetPosition

Ahhh I find it.

tednugent 19th January 2018 09:26 PM

Anyone have the GameObjectManager offset for the 0.6.0861 update?

mikangchan 19th January 2018 11:14 PM

Quote:

Originally Posted by tednugent (Post 1977261)
Anyone have the GameObjectManager offset for the 0.6.0861 update?

GOM didn't change.

Lists in LocalGameWorld moved 0x2.

They seems to fulfill the list with fake player? I got 41 in local game. Online game is fine

gummy 20th January 2018 02:01 PM

Quote:

Originally Posted by mikangchan (Post 1977440)
GOM didn't change.

Lists in LocalGameWorld moved 0x2.

They seems to fulfill the list with fake player? I got 41 in local game. Online game is fine

I dont think they are fake players they are just below the map

supanoob 20th January 2018 02:29 PM

Any advise how to check crates/jackets/etc for loot items? Or how to find a "parent" box?

mikangchan 20th January 2018 04:21 PM

Quote:

Originally Posted by supanoob (Post 1978306)
Any advise how to check crates/jackets/etc for loot items? Or how to find a "parent" box?

Get all IDs and check?

Quote:

Originally Posted by gummy8unny (Post 1978273)
I dont think they are fake players they are just below the map

I'm in local game without bot

supanoob 20th January 2018 04:31 PM

Quote:

Originally Posted by mikangchan (Post 1978473)
Get all IDs and check?

I dont have LootItem class )

mikangchan 20th January 2018 05:23 PM

Did they changed Dictionary struct?
https://i.imgur.com/m89zklw.png

TheCake21 20th January 2018 06:35 PM

Quote:

Originally Posted by mikangchan (Post 1978593)
Did they changed Dictionary struct?

No changes besides those shifts in LocalGameWorld mentioned earlier. Also I'm not quite sure what you're doing here RegisteredPlayers is a List not a Dictionary.

Btw. is 0.6.1.867 extremely unstable for anyone else or is just me? It crashed like 5 times during 2 hours of playing.

dler4 20th January 2018 07:44 PM

Is anyone else's esp higher than the model? I'm using the w2s from the rust thread

TheCake21 20th January 2018 08:07 PM

Quote:

Originally Posted by dler4 (Post 1978807)
Is anyone else's esp higher than the model? I'm using the w2s from the rust thread

w2s from the rust thread is accurate. What are you basing your esp on? I'm doing box esp based on head and foot position to calculate the correct box height.

dler4 20th January 2018 08:21 PM

Quote:

Originally Posted by TheCake21 (Post 1978836)
w2s from the rust thread is accurate. What are you basing your esp on? I'm doing box esp based on head and foot position to calculate the correct box height.

Just my and enemy position for now which should be at their feet. The further I get from them, the higher the marker gets, but at melee range it's fine

Also aimbot aims slightly to the left, I know someone else had this problem. Anyone know the solution?

mikangchan 20th January 2018 09:02 PM

Quote:

Originally Posted by TheCake21 (Post 1978692)
No changes besides those shifts in LocalGameWorld mentioned earlier. Also I'm not quite sure what you're doing here RegisteredPlayers is a List not a Dictionary.

Btw. is 0.6.1.867 extremely unstable for anyone else or is just me? It crashed like 5 times during 2 hours of playing.

0x60 has a RegisteredPlayer List and 0x68 has a Dictionary<Collider, Player>. No problem reading the List but I can't read the Dictionary. So does other dictionary.

Also I have a point chain to read InventoryLogic.Item. All fine in reclass but not with my hack.

Other than those, my hack works fine. no crash at all after I do null pointer check for every pointer.

Quote:

Originally Posted by dler4 (Post 1978854)
Just my and enemy position for now which should be at their feet. The further I get from them, the higher the marker gets, but at melee range it's fine

Also aimbot aims slightly to the left, I know someone else had this problem. Anyone know the solution?

Do you wanna post a pic?

For aimbot problem, I'm adding 0.225f to Y and it works perfectly fine. You need to hold breath(shift) to prevent sway.

tednugent 20th January 2018 09:14 PM

Was anyone here able to get bone positions externally?

dler4 20th January 2018 09:39 PM

Quote:

Originally Posted by mikangchan (Post 1978894)
Do you wanna post a pic?

For aimbot problem, I'm adding 0.225f to Y and it works perfectly fine. You need to hold breath(shift) to prevent sway.

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

Weirdly enough aimbot is consistent, I still have to figure out the how to get head bone though, aimbot just aims at the middle of where the line should be

TheCake21 20th January 2018 09:51 PM

I'm not using any dicts right now but this should be correct.
Code:

class Dictionary
{
public:
        char pad_0x0000[0x20]; //0x0000
        MonoArray* _keys; //0x0020
        MonoArray* _values; //0x0028
        char pad_0x0030[0x8]; //0x0030
        __int32 size; //0x0038
};

MonoArray is the same as in list the individual values start at 0x20.

Quote:

Originally Posted by tednugent (Post 1978909)
Was anyone here able to get bone positions externally?

I don't think that's easy. You could reverse engineer the getposition function and to whatever it does externally but there are multiple function calls involved so it's not straightforward.

dler4 20th January 2018 09:57 PM

Quote:

Originally Posted by TheCake21 (Post 1978959)
I don't think that's easy. You could reverse engineer the getposition function and to whatever it does externally but there are multiple function calls involved so it's not straightforward.

Doesn't each bone have its own object class at + 0x10] + 0x30] ? So just go through the bonelist, check the string to find head and get position from transform


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

mikangchan 20th January 2018 10:14 PM

Quote:

Originally Posted by dler4 (Post 1978943)
https://i.imgur.com/F22Oxxl.png

Weirdly enough aimbot is consistent, I still have to figure out the how to get head bone though, aimbot just aims at the middle of where the line should be

Did you changed your FOV?

dler4 20th January 2018 10:30 PM

Quote:

Originally Posted by mikangchan (Post 1979011)
Did you changed your FOV?

FOV just changes the line height to match player model height, it's still above them

dler4 21st January 2018 01:54 AM

So is no recoil still ProceduralWeaponAnimation -> ShotEffector -> recoil?

Anyone know the offset for recoil? And you just write 0 to it? Thanks

mikangchan 21st January 2018 03:07 AM

Quote:

Originally Posted by dler4 (Post 1979244)
So is no recoil still ProceduralWeaponAnimation -> ShotEffector -> recoil?

Anyone know the offset for recoil? And you just write 0 to it? Thanks

they are vector2 so yes, (0.f,0.f)

Quote:

Originally Posted by TheCake21 (Post 1978959)
I'm not using any dicts right now but this should be correct.
Code:

class Dictionary
{
public:
        char pad_0x0000[0x20]; //0x0000
        MonoArray* _keys; //0x0020
        MonoArray* _values; //0x0028
        char pad_0x0030[0x8]; //0x0030
        __int32 size; //0x0038
};

MonoArray is the same as in list the individual values start at 0x20.


I don't think that's easy. You could reverse engineer the getposition function and to whatever it does externally but there are multiple function calls involved so it's not straightforward.

Thanks for the Dict struct. I think it's something different from local game and online game.

dler4 22nd January 2018 09:00 PM

Do the bones have a transform just like player/item entities? Trying to get position using just headbone, doesn't seem to be working


Also is there a way to see if a player is dead using player object? (not player)

mikangchan 24th January 2018 04:09 PM

Quote:

Originally Posted by dler4 (Post 1982136)
Do the bones have a transform just like player/item entities? Trying to get position using just headbone, doesn't seem to be working


Also is there a way to see if a player is dead using player object? (not player)

It will be removed. If it's not, check health

dler4 24th January 2018 08:00 PM

Quote:

Originally Posted by mikangchan (Post 1984662)
It will be removed. If it's not, check health

Health is wrong, base player + 0x1f8 shows 0 sometimes even if they're alive

Also they don't get removed

TheCake21 24th January 2018 09:53 PM

Quote:

Originally Posted by dler4 (Post 1982136)
Do the bones have a transform just like player/item entities? Trying to get position using just headbone, doesn't seem to be working


Also is there a way to see if a player is dead using player object? (not player)

Quote:

Originally Posted by dler4 (Post 1984926)
Health is wrong, base player + 0x1f8 shows 0 sometimes even if they're alive

Also they don't get removed

Are you talking about the Player GameObject or the Player Mono object. The Player Mono object is removed from the RegisteredPlayers List.

Also this isn't Rust. The Structure is somewhat different. While i haven't explicitly looked for it i don't think base player even exists here.

dler4 24th January 2018 10:23 PM

Quote:

Originally Posted by TheCake21 (Post 1985068)
Are you talking about the Player GameObject or the Player Mono object. The Player Mono object is removed from the RegisteredPlayers List.

Also this isn't Rust. The Structure is somewhat different. While i haven't explicitly looked for it i don't think base player even exists here.

I use whatever is in the active object list named "player", and use the same offsets as in rust to get position so I just assumed

So player mono is the only way to find out if someone's dead? I've still yet to figure out how to get headbone position as external, so I don't use mono player

mikangchan 25th January 2018 01:34 AM

Quote:

Originally Posted by dler4 (Post 1984926)
Health is wrong, base player + 0x1f8 shows 0 sometimes even if they're alive

Also they don't get removed

Check previous posts. It's not player + 0x1f8

PlayerClass + 0x88] + 0x38] + 0x5C] = Player Pose

gummy 26th January 2018 02:03 AM

Alright since Mono Injection seems to be detected thought I would try an external

Just would like to make sure information I gathered is correct as Im having issues and dont really know where to start.

So is this accurate
Code:

GameObjectManger = 0x14327C0;

//From Rust Thread
class GameObject
{
public:
        char pad_0x0000[0x8]; //0x0000
        __int32 m_instanceID; //0x0008
        char pad_0x000C[0x24]; //0x000C
        __int32 m_label; //0x0030
        char pad_0x0034[0x4]; //0x0034
        __int32 m_size; //0x0038
        char pad_0x003C[0x4]; //0x003C
        __int32 m_capacity; //0x0040
        char pad_0x0044[0x4]; //0x0044
        __int32 m_layer; //0x0048
        __int16 m_tag; //0x004C
        unsigned char m_isActive; //0x004E
        unsigned char m_isActiveCached; //0x004F
        unsigned char m_isDestroying; //0x0050
        unsigned char m_isActivating; //0x0051
        char pad_0x0052[0x6]; //0x0052
        std::string* m_objectName; //0x0058
};


class LastObjectBase
{
public:
        char pad_0x0000[0x10]; //0x0000
        GameObject* lastObject; //0x0010
};

class BaseObject
{
public:
        char pad_0x0000[0x8]; //0x0000
        BaseObject* nextObjectLink; //0x0008
        GameObject* object; //0x0010
};

class GameObjectManager
{
public:
        LastObjectBase* lastTaggedObject; //0x0000
        BaseObject* taggedObjects; //0x0008
        LastObjectBase* lastActiveObject; //0x0010
        BaseObject* activeObjects; //0x0018
};

and then to make sure I go about getting the objects correctly is this the correct path

Code:

EscapeFromTarkov.exe + GameObjectManger -> activeObjects -> object -> tag/layer
Not able to get object's tag/layer correctly

DisOwned 26th January 2018 02:20 AM

Quote:

Originally Posted by gummy8unny (Post 1986562)
Alright since Mono Injection seems to be detected thought I would try an external

Just would like to make sure information I gathered is correct as Im having issues and dont really know where to start.

So is this accurate
Code:

GameObjectManger = 0x14327C0;

//From Rust Thread
class GameObject
{
public:
        char pad_0x0000[0x8]; //0x0000
        __int32 m_instanceID; //0x0008
        char pad_0x000C[0x24]; //0x000C
        __int32 m_label; //0x0030
        char pad_0x0034[0x4]; //0x0034
        __int32 m_size; //0x0038
        char pad_0x003C[0x4]; //0x003C
        __int32 m_capacity; //0x0040
        char pad_0x0044[0x4]; //0x0044
        __int32 m_layer; //0x0048
        __int16 m_tag; //0x004C
        unsigned char m_isActive; //0x004E
        unsigned char m_isActiveCached; //0x004F
        unsigned char m_isDestroying; //0x0050
        unsigned char m_isActivating; //0x0051
        char pad_0x0052[0x6]; //0x0052
        std::string* m_objectName; //0x0058
};


class LastObjectBase
{
public:
        char pad_0x0000[0x10]; //0x0000
        GameObject* lastObject; //0x0010
};

class BaseObject
{
public:
        char pad_0x0000[0x8]; //0x0000
        BaseObject* nextObjectLink; //0x0008
        GameObject* object; //0x0010
};

class GameObjectManager
{
public:
        LastObjectBase* lastTaggedObject; //0x0000
        BaseObject* taggedObjects; //0x0008
        LastObjectBase* lastActiveObject; //0x0010
        BaseObject* activeObjects; //0x0018
};

and then to make sure I go about getting the objects correctly is this the correct path

Code:

EscapeFromTarkov.exe + GameObjectManger -> activeObjects -> object -> tag/layer
Not able to get object's tag/layer correctly

mono injection works perfectly fine if you dont use a open source injector or method o.o still going strong since closed alpha here not banned

HfeX1LE 26th January 2018 05:09 AM

Made a cheat for this a while back and haven't touched it, Here's some stuff I got working:

Note, this is in C#

Local Angle/Rotation stuff
Code:

playerAngle = gObj.GetComponent<PlayerCameraController>().Player.Rotation;
playerLocation = gObj.GetComponent<PlayerCameraController>().Player.Position;

Fly Hack:
Code:

                   
CharacterController[] pCC = FindObjectsOfType<CharacterController>();
foreach (CharacterController CC in pCC)
    CC.detectCollisions = false;
               
float horizontal = Input.GetAxis("Horizontal");
float vertical = Input.GetAxis("Vertical");

Vector3 desiredMove = gObj.GetComponent<PlayerCameraController>().Player.gameObject.transform.forward * vertical + gObj.GetComponent<PlayerCameraController>().Player.gameObject.transform.right * horizontal;

Vector3 m_MoveDir = new Vector3();

m_MoveDir.x = desiredMove.x * Menu.flFlyHack.value;
m_MoveDir.y = desiredMove.y;
m_MoveDir.z = desiredMove.z * Menu.flFlyHack.value;

float flMod = 0.0f;

if (Input.GetKey(KeyCode.Space))
    flMod += 0.175f;

if (Input.GetKey(KeyCode.C))
    flMod -= 0.175f;

gObj.GetComponent<PlayerCameraController>().Player.gameObject.transform.position = new Vector3(gObj.GetComponent<PlayerCameraController>().Player.gameObject.transform.position.x + m_MoveDir.x, gObj.GetComponent<PlayerCameraController>().Player.gameObject.transform.position.y + m_MoveDir.y + flMod, gObj.GetComponent<PlayerCameraController>().Player.gameObject.transform.position.z + m_MoveDir.z);

Night Vision:
Code:

if (Menu.bNightVision.state && bNightVisionOn)
    gObj.GetComponent<NightVision>()._on = true;
else
    gObj.GetComponent<NightVision>()._on = false;

NoSprintCheck (Sprint with broken legs):
Code:

gObj.GetComponent<PlayerCameraController>().Player.Physical.PhysicalConditionAllowsToSprint = true;
No Recoil/Sway:
Code:

gObj.GetComponent<PlayerCameraController>().Player.Weapon.Template.CameraRecoil = 0.0f;
gObj.GetComponent<PlayerCameraController>().Player.Weapon.Template.RecoilAngle = 0;
gObj.GetComponent<PlayerCameraController>().Player.Weapon.Template.RecoilForceBack = 0.0f;
gObj.GetComponent<PlayerCameraController>().Player.Weapon.Template.RecoilForceUp = 0.0f;
gObj.GetComponent<PlayerCameraController>().Player.Weapon.Template.RecolDispersion = 0;


mikangchan 26th January 2018 07:12 PM

Anyone find out how to get WeaponTemplate/ItemComtainer?

dler4 27th January 2018 05:39 PM

New gom = 0x14327E0

Anyone else having the problem of sometimes finding a player not showing up on the player list? I update the list every 5 seconds, and eventually I see someone not showing up on my esp. Even restarting my hack doesn't help, so it's not a problem with updating offsets

P.S I'm external and using bone transform for esp, index = 1 aka +0x28] in bonelist

supanoob 27th January 2018 09:51 PM

new getBoneTransform() 0x80EBB0

mikangchan 28th January 2018 07:01 AM

Quote:

Originally Posted by dler4 (Post 1988216)
New gom = 0x14327E0

Anyone else having the problem of sometimes finding a player not showing up on the player list? I update the list every 5 seconds, and eventually I see someone not showing up on my esp. Even restarting my hack doesn't help, so it's not a problem with updating offsets

P.S I'm external and using bone transform for esp, index = 1 aka +0x28] in bonelist

afaik you don't have correct "root position" for all players, which makes you miss some players if you use that pointer to determine if that player is valid. I'm using Head Position with internal getpos and it works fine

dler4 28th January 2018 03:20 PM

Quote:

Originally Posted by mikangchan (Post 1988779)
afaik you don't have correct "root position" for all players, which makes you miss some players if you use that pointer to determine if that player is valid. I'm using Head Position with internal getpos and it works fine

Edit: I don't think that's it, I just go through the whole bone list if I don't find headbone, which DOES work but I end up aiming at some people's feet. It seems out of about 17 bones, 1 is head, most have invalid transforms, and the rest are feet/raw position. Not sure why not everyone's headbone is at the same offset (only most people's is)

mikangchan 29th January 2018 03:09 PM

Quote:

Originally Posted by dler4 (Post 1989205)
Edit: I don't think that's it, I just go through the whole bone list if I don't find headbone, which DOES work but I end up aiming at some people's feet. It seems out of about 17 bones, 1 is head, most have invalid transforms, and the rest are feet/raw position. Not sure why not everyone's headbone is at the same offset (only most people's is)

not sure how the bone list works. How do you get to bone list?

dler4 29th January 2018 06:50 PM

Quote:

Originally Posted by mikangchan (Post 1990201)
not sure how the bone list works. How do you get to bone list?

List starts from PlayerBones + 0x20] and goes up to 0xA8 I believe

Might just be a coincidence that I'm getting bone or some kind of transform from it though, since none are actually anywhere between the feet and head


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

mikangchan 29th January 2018 11:57 PM

perhaps some are transform[] ?
https://i.imgur.com/IuVKrlQ.png

bl00 31st January 2018 04:35 PM

Guys, i have a question.

I have a nice external basic esp i wrote communicating with c# forms overlay.
Problem is, overlay is making the game slow. Like 120 fps drops to 40 (ingame fps counter).

It's NOT a matter of bad read/draw coding. I made a new project with only one form without any code related to drawing, just transparent window and when it overlays EFT fps go to shit. System is win7 x64.

Any ideas how could i solve this problem? Preferably without hooking and in C#?

Edit: Same test overlay works perfectly with BF4. Eft really got some weird shit going on.

64com 2nd February 2018 02:25 PM

Did anyone get a working variant of RayCasting (Visible check)?

Glumi 2nd February 2018 03:46 PM

Whats an efficient way to get the Pointers for UnityGames?

I already managed it for some fav. games like CS:GO and GTA... but Unity Engine games ffs, they drive me crazy....

Any help on here?

mikangchan 2nd February 2018 04:52 PM

Quote:

Originally Posted by 64com (Post 1995349)
Did anyone get a working variant of RayCasting (Visible check)?

tried manually with logger, didn't find a stance for player.

Is there a better way to find it?

Quote:

Originally Posted by Glumi (Post 1995462)
Whats an efficient way to get the Pointers for UnityGames?

I already managed it for some fav. games like CS:GO and GTA... but Unity Engine games ffs, they drive me crazy....

Any help on here?

Read Rust thread. You may also find useful to read some rust cheats source code.

jreidlivewire 2nd February 2018 08:48 PM

Quote:

Originally Posted by bl00 (Post 1992662)
Guys, i have a question.

I have a nice external basic esp i wrote communicating with c# forms overlay.
Problem is, overlay is making the game slow. Like 120 fps drops to 40 (ingame fps counter).

It's NOT a matter of bad read/draw coding. I made a new project with only one form without any code related to drawing, just transparent window and when it overlays EFT fps go to shit. System is win7 x64.

Any ideas how could i solve this problem? Preferably without hooking and in C#?

Edit: Same test overlay works perfectly with BF4. Eft really got some weird shit going on.

Is your renderloop sleeping?

bl00 2nd February 2018 10:43 PM

I already wrote that it's not the case of render loop, but yes 17 ms sleep.
I've done three tests:
- normal render loop on sharpdx separate thread with 17 ms sleep
- overrided onPaint with 17 ms sleep
- just transparent form.

All three yielded same results.

mikangchan 6th February 2018 05:36 AM

Anyone figure out how "magic bullet" works? Or any way to shoot through terrains?

Glumi 9th February 2018 08:06 PM

Would someone be so kindly and post a link to an explanation for looping through Dictionarys?

I know: "look into the rust thread".

But there are a enormous amount of posts there, and i already searched the last 2 days.
So maybe someone of you guys remember some usefull posts over there and can link them here?

mikangchan 10th February 2018 10:08 PM

Would someone explain how "magic bullet" works? I can't event get to ammotemplate

gummy 10th February 2018 10:31 PM

Quote:

Originally Posted by mikangchan (Post 2006651)
Would someone explain how "magic bullet" works? I can't event get to ammotemplate

Isnt it just setting the bullet penetration to max? idk what magic bullets are

mikangchan 11th February 2018 12:14 AM

Quote:

Originally Posted by gummy8unny (Post 2006670)
Isnt it just setting the bullet penetration to max? idk what magic bullets are

shoot through terrains.

btw did u get your hack working? I learned from your mono hack that you can teleport item by simply changing their location in transform. But it doesn't work in internal hack. Is that fixed or I'm doing it wrong?

gummy 11th February 2018 12:47 AM

Quote:

Originally Posted by mikangchan (Post 2006782)
shoot through terrains.

btw did u get your hack working? I learned from your mono hack that you can teleport item by simply changing their location in transform. But it doesn't work in internal hack. Is that fixed or I'm doing it wrong?

I lost interest wanting to finish my csgo hack before coming back to this. As far as I know it still works but I think it causes bans. So for shooting through terrain I think you just modify penetration values.

mikangchan 11th February 2018 01:10 AM

Quote:

Originally Posted by gummy8unny (Post 2006802)
I lost interest wanting to finish my csgo hack before coming back to this. As far as I know it still works but I think it causes bans. So for shooting through terrain I think you just modify penetration values.

thx

now just struggling to get a chain to ammotemplate xD

ZeusLord 11th February 2018 01:22 AM

Quote:

Originally Posted by mikangchan (Post 2006818)
thx

now just struggling to get a chain to ammotemplate xD


if your using mono maybe something like ply.Weapon.Template.DefAmmoTemplate

Edit: Something like this may work not on my main pc cant test.
ply.Weapon.Template.DefAmmoTemplate.PenetrationChance = 100;
ply.Weapon.Template.DefAmmoTemplate.PenetrationPower = 99999999;

ZeusLord 11th February 2018 01:27 AM

Quote:

Originally Posted by gummy8unny (Post 2006832)
idk seem to ban in waves so like a week

Welp, tomorrow will be a week. so we shall see.

mikangchan 11th February 2018 05:38 PM

Quote:

Originally Posted by ZeusLord (Post 2006830)
if your using mono maybe something like ply.Weapon.Template.DefAmmoTemplate

Edit: Something like this may work not on my main pc cant test.
ply.Weapon.Template.DefAmmoTemplate.PenetrationChance = 100;
ply.Weapon.Template.DefAmmoTemplate.PenetrationPower = 99999999;

I'm hooking swapchain but thanks anyway

EDIT: weapon template = weapon + 0x20

ZeusLord 11th February 2018 05:44 PM

Quote:

Originally Posted by mikangchan (Post 2007656)
I'm hooking swapchain but thanks anyway

I can't get to weapon template

Oh okay

mikangchan 12th February 2018 12:10 AM

Quote:

Originally Posted by ZeusLord (Post 2007658)
Oh okay

Code:

PenetrationChance = 100;
PenetrationPower = 99999999;

can't shoot through terrains

distinguish scav and player scav by their LastTimePlayedAsSavage

fritzelotti 12th February 2018 12:17 PM

Hey guys, been trying to do a quick ESP for EFT but I'm running into some issues getting player names.

I've been working through this thread and the 80 pages long Rust thread but I guess I got some outdated offsets or I'm doing something wrong. I don't have any issue getting both tagged and active objects but I'm not able to find player profiles and names.

What I'm doing right now is searching Active Objects to find an object name "GameWorld", then I do GameWorld + 0x30] + 0x18] + 0x28] to get the "LocalGameWorld".

Here I'm doing LocalGameWorld + 0x60] to get to "RegisteredPlayers". From there I'm doing RegisteredPlayers + 0x18 to get the numbers of objects. To get a single player object I read that you have to do it like this: RegisteredPlayers + 0x10] + 0x20 + i * 0x8. Is this still correct/the way you iterate it?

Then I'm trying to reach the players profile, according to a post some pages ago the profile is located: PlayerObject + 0x320] ... in there I should be able to find the name string but I can't find any strings at all in this object. (also tried 0x260 and some other offsets around this value but didn't find anything useful.

Am I doing something wrong here or are the offsets I found outdated?

Thanks

EDIT: nvm.... I'm just stupid... read something about a UnicodeString in the Profile object and thought it would give me the name... If I had paid attention I would have seen that this unicode string is only the account id. That's why I didn't get any useful string. The PlayerObjects name is actually stored in Profile + 0x28] + 0x10. Still this is probably helpful for someone else as all the information about getting there is spread on many different pages in this thread and in the rust thread.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

wilburforce666 12th February 2018 07:46 PM

Anyone have any idea how the anticheat works? Is it SIG based? Does it scan memory for weird stuff?

Also. Can you mono inject without a ban?

LITsmitty 13th February 2018 04:07 AM

There a no published details on AC. But about mono injection depends on code if used from open source and injector.

wilburforce666 13th February 2018 11:34 AM

Quote:

Originally Posted by LITsmitty (Post 2009681)
There a no published details on AC. But about mono injection depends on code if used from open source and injector.

But I could change around the source of said injector to make it UD?

Glumi 13th February 2018 12:36 PM

Quote:

Originally Posted by wilburforce666 (Post 2010030)
But I could change around the source of said injector to make it UD?

Yes, you can.

wilburforce666 13th February 2018 12:43 PM

Also. This source is horrendiously outdated. Atleast. I think it is. I could be wrong. I tried the hack on a burner and it failed miserably. So I Assume I need to update offsets etc

Atleast. I am using a combo of gummys. I need to know what to change to update it?

Or. Anyone willing to help me update a source?

ranfali 13th February 2018 04:20 PM

Quote:

Originally Posted by wilburforce666 (Post 2010095)
Also. This source is horrendiously outdated. Atleast. I think it is. I could be wrong. I tried the hack on a burner and it failed miserably. So I Assume I need to update offsets etc

Atleast. I am using a combo of gummys. I need to know what to change to update it?

Or. Anyone willing to help me update a source?

build your own its unity especially injection is dead simple.

wilburforce666 13th February 2018 04:38 PM

Quote:

Originally Posted by ranfali (Post 2010385)
build your own its unity especially injection is dead simple.

The injector is sorted. And half the dll is sorted. My issue is. That it does not actually draw any boxes. I know it injects as I have some text and a gui

ranfali 13th February 2018 07:41 PM

Quote:

Originally Posted by wilburforce666 (Post 2010400)
The injector is sorted. And half the dll is sorted. My issue is. That it does not actually draw any boxes. I know it injects as I have some text and a gui

its mono mate do some debugging if you are scared of ac go offline its really not that hard to find pointers here you can even use the mono feature of ce.

mikangchan 13th February 2018 10:07 PM

I'm trying to use internal_get_pos for Transform in GameObject instead of
Code:

transform->visualstate->pos
and the game just crashed

I suppose it's a regular Transform object with getter as internal_get_pos but it seems not

Anyone tried that?

Glumi 14th February 2018 01:13 AM

Is it correct that i search for "LocalGameWorld" like this:

Code:

GameObjectManager] + 0x18] + 0x10] + 0x20 + i * 0x8
For iterating through every available object in "activeObjectList"? (But i tried this since mhm maybe 4 hours, and didnt get any result..)
And if thats correct (if not, please help me with some advice), what is the correct objectName-Offset? (is this still 0x58 like @gummy8unny mentioned?)

I really appreciate anyone's help, guiding me through the tough ways of Unity :D

ZeusLord 14th February 2018 01:24 AM

Quote:

Originally Posted by wilburforce666 (Post 2010400)
The injector is sorted. And half the dll is sorted. My issue is. That it does not actually draw any boxes. I know it injects as I have some text and a gui

Have you tried this source?
https://github.com/magnusvw/tarkov-hax

mikangchan 14th February 2018 02:07 AM

Quote:

Originally Posted by Glumi (Post 2010874)
Is it correct that i search for "LocalGameWorld" like this:

Code:

GameObjectManager] + 0x18] + 0x10] + 0x20 + i * 0x8
For iterating through every available object in "activeObjectList"? (But i tried this since mhm maybe 4 hours, and didnt get any result..)
And if thats correct (if not, please help me with some advice), what is the correct objectName-Offset? (is this still 0x58 like @gummy8unny mentioned?)

I really appreciate anyone's help, guiding me through the tough ways of Unity :D

not that's not correct.

Code:

ActiveGameObject + 0x50] = layer
ActiveGameObject + 0x54] = tag
ActiveGameObject + 0x60] = object name

find object name = gameworld and do

Code:

ActiveGameObject + 0x30] + 0x18] + 0x28] = localgameworld

Glumi 14th February 2018 02:47 AM

Quote:

Originally Posted by mikangchan (Post 2010896)
not that's not correct.

Code:

ActiveGameObject + 0x50] = layer
ActiveGameObject + 0x54] = tag
ActiveGameObject + 0x60] = object name

find object name = gameworld and do

Code:

ActiveGameObject + 0x30] + 0x18] + 0x28] = localgameworld

Thank you, but i think there is something completely wrong on my side :/
I dont find ANY object name, even on the first object there is no string (there is a pointer)


Maybe if you dont mind, you could check my offsets and maybe see/tell what i'm doing wrong?


Code:

GameObjectManager = escapefromtarkov.exe+0x14327E0
GameObjectManager -> 0x18 -> 0x10 -> 0x28 (for first object: 0x20+1*0x8) -> 0x60

But there is no string waiting for me :(
(not in the first item neither on any other item)

https://i.gyazo.com/00fab5e4fa20ed61...6b3cfc48ac.png

mikangchan 14th February 2018 04:34 AM

Quote:

Originally Posted by Glumi (Post 2010915)

Code:

GameObjectManager = escapefromtarkov.exe+0x14327E0
GameObjectManager -> 0x18 -> 0x10 -> 0x28 (for first object: 0x20+1*0x8) -> 0x60


It's 0x60]

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

Glumi 14th February 2018 08:13 AM

Quote:

Originally Posted by mikangchan (Post 2010985)

First question:
So on 0x60] + 0x0
There is the string i search for? (in your Screen: "Application (Main Client)"
And this has to be "GameWorld" am i right?

I'm currently at work, i will try this out at home thank you :)

Second question:
why does it say in some posts, that we have to iterate like this

Variant1
Code:

GameObjectManager -> 0x18 -> 0x10 -> 0x28 (for first object: 0x20+1*0x8) -> 0x60
but on "how to traversing lists" and on your screen i see that you all doing:

Variant2
Code:

GameObjectManager -> 0x18 -> (0x8) (x times, until you see in current 0x10 your desired object) -> 0x10 -> 0x60
Is the first variant wrong?

fritzelotti 14th February 2018 10:39 AM

Quote:

Originally Posted by Glumi (Post 2011095)
First question:
So on 0x60] + 0x0
There is the string i search for? (in your Screen: "Application (Main Client)"
And this has to be "GameWorld" am i right?

I'm currently at work, i will try this out at home thank you :)

Second question:
why does it say in some posts, that we have to iterate like this

Variant1
Code:

GameObjectManager -> 0x18 -> 0x10 -> 0x28 (for first object: 0x20+1*0x8) -> 0x60
but on "how to traversing lists" and on your screen i see that you all doing:

Variant2
Code:

GameObjectManager -> 0x18 -> (0x8) (x times, until you see in current 0x10 your desired object) -> 0x10 -> 0x60
Is the first variant wrong?

Nah seems you misunderstood this one. For you have to loop through ActiveObjects in GameObjectManger, it's located at:

Code:

ActiveObjects = GameObjectManager + 0x18]
ActiveObject = ActiveObjects + 0x10]
NextObjectLink = ActiveObjects + 0x8] (link to the next object... to access it do it like NextObjectLink + 0x10] (=ActiveObject) and so one).

ObjectName = ActiveObject + 0x60

Just look up post #123 on page 7, probably this will give you a better idea on how to loop through active/tagged objects as it is still accurate except for some offsets in the GameObject class, e.g. the string is not located at 0x58 but at 0x60.

You have to find the object with ObjectName "GameWorld".

From there you go like this:
Code:

LocalGameWorld = GameWorld + 0x30] + 0x18] + 0x28]

Inside LocalGameWorld the "RegisteredPlayer" lis is located at 0x60 (LocalGameworld + 0x60] = RegisteredPlayers.

Then you can loop through all the Players like:

Code:

PlayerObject = RegisteredPlayers + 0x10] + 0x20 + (i * 0x8)
numberOfPlayers (i) = RegisteredPlayers + 0x18


wilburforce666 14th February 2018 02:01 PM

Quote:

Originally Posted by ZeusLord (Post 2010876)
Have you tried this source?
https://github.com/magnusvw/tarkov-hax

This is the source. It does not work though.

Atleast. I am struggling with updating it. Does it even need updating?

Scenic123 14th February 2018 02:45 PM

Quote:

Originally Posted by wilburforce666 (Post 2011363)
This is the source. It does not work though.

Atleast. I am struggling with updating it. Does it even need updating?

If you can tell me where I can acquire a copy of the game at a lower price than the 40EURO's they want, I rewrote the original Gummy source for my own use before now and can handle troubleshooting/debugging to find the solution to errors.

May be worth noting - P2C sites have started having users inject early (open launcher, open injector, launch game, inject, close injector)

dler4 14th February 2018 05:10 PM

Anyone know how to get your own player offset when playing as a scav? I tried using the name but that didn't work, plus I'd have to change it each time. Is it simply the first player in the list?

mikangchan 14th February 2018 10:17 PM

Quote:

Originally Posted by dler4 (Post 2011535)
Anyone know how to get your own player offset when playing as a scav? I tried using the name but that didn't work, plus I'd have to change it each time. Is it simply the first player in the list?

It's the same. check onSpeedChangeEvent

you can also check ItemInHands at 238 or smt.

Quote:

Originally Posted by Glumi (Post 2011095)
First question:
So on 0x60] + 0x0
There is the string i search for? (in your Screen: "Application (Main Client)"
And this has to be "GameWorld" am i right?

I'm currently at work, i will try this out at home thank you :)

Second question:
why does it say in some posts, that we have to iterate like this

Variant1
Code:

GameObjectManager -> 0x18 -> 0x10 -> 0x28 (for first object: 0x20+1*0x8) -> 0x60
but on "how to traversing lists" and on your screen i see that you all doing:

Variant2
Code:

GameObjectManager -> 0x18 -> (0x8) (x times, until you see in current 0x10 your desired object) -> 0x10 -> 0x60
Is the first variant wrong?

Yes, V1 is wrong.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

ZeusLord 15th February 2018 02:48 AM

Quote:

Originally Posted by wilburforce666 (Post 2011363)
This is the source. It does not work though.

Atleast. I am struggling with updating it. Does it even need updating?

No all you have to do is rename some stuff and do the same for the injector and compile both and then inject and have fun

proph 15th February 2018 03:18 AM

Is that last posted GOM address still valid? Also I've come to the understanding that the structure has changed from its initial stage of being a clone from Rust is that true?

Glumi 15th February 2018 12:39 PM

Quote:

Originally Posted by proph (Post 2011980)
Is that last posted GOM address still valid? Also I've come to the understanding that the structure has changed from its initial stage of being a clone from Rust is that true?

yeah it is

mikangchan 16th February 2018 02:29 AM

Quote:

Originally Posted by ZeusLord (Post 2011968)
No all you have to do is rename some stuff and do the same for the injector and compile both and then inject and have fun

fck I'm gonna go mono. internal_set_pos is killing me

any fun stuff using mono?

ZeusLord 16th February 2018 04:15 AM

Quote:

Originally Posted by mikangchan (Post 2012979)
fck I'm gonna go mono. internal_set_pos is killing me

any fun stuff using mono?



Not really same old basic shit :P I�ve been trying to make an aimbot but it hasn�t really went well

proph 16th February 2018 07:31 AM

So when you find "GameWorld" how do you get to the player list from there? i'm confused on the gameworld object pointer .

class GameObject
{
public:
char pad_0x0000[0x8]; //0x0000
__int32 m_instanceID; //0x0008
char pad_0x000C[0x24]; //0x000C
__int32 m_label; //0x0030
char pad_0x0034[0x4]; //0x0034
__int32 m_size; //0x0038
char pad_0x003C[0x4]; //0x003C
__int32 m_capacity; //0x0040
char pad_0x0044[0x4]; //0x0044
__int32 m_layer; //0x0048
__int16 m_tag; //0x004C
unsigned char m_isActive; //0x004E
unsigned char m_isActiveCached; //0x004F
unsigned char m_isDestroying; //0x0050
unsigned char m_isActivating; //0x0051
char pad_0x0052[0x6]; //0x0052
std::string* m_objectName; //0x0058
};

Do you increment off of the 0x0058?(also I know that it changed to 0x0060) or something else in the object?

Glumi 16th February 2018 11:35 AM

Quote:

Originally Posted by proph (Post 2013100)
So when you find "GameWorld" how do you get to the player list from there? i'm confused on the gameworld object pointer .

[...]

Do you increment off of the 0x0058?(also I know that it changed to 0x0060) or something else in the object?

Please use the CODE-Tags for your code :)

One you've found GameWorld do:

Code:

GameWorld + 0x30] + 0x18] + 0x28 = "LocalWorld"
Code:

LocalWorld + 0x60 = "Playerlist"
Code:

Playerlist + 0x18 = "Playercount"
Code:

Playerlist + 0x10] + 0x20 + i * 0x8 = "Playerobject"

wilburforce666 16th February 2018 02:33 PM

Quote:

Originally Posted by ZeusLord (Post 2011968)
No all you have to do is rename some stuff and do the same for the injector and compile both and then inject and have fun

What exactly have I gotta rename?

ZeusLord 16th February 2018 02:45 PM

Quote:

Originally Posted by wilburforce666 (Post 2013359)
What exactly have I gotta rename?



I added junk code and renamed all vars classes and namespaces and added junk code and changed anywhere it says mono injector to a random string in the injector

proph 17th February 2018 02:38 AM

Quote:

Originally Posted by Glumi (Post 2013230)
Please use the CODE-Tags for your code :)

One you've found GameWorld do:

Code:

GameWorld + 0x30] + 0x18] + 0x28 = "LocalWorld"
Code:

LocalWorld + 0x60 = "Playerlist"
Code:

Playerlist + 0x18 = "Playercount"
Code:

Playerlist + 0x10 + 0x20 + i * 0x8 = "Playerobject"

is it Playerlist + 0x10 + 0x20 + i * 0x8 = "Playerobject
or is it
Playerlist + 0x10] + 0x20 + i * 0x8 = "Playerobject <- posted before

From the PlayerObject What could I check to see if i'm at the correct spot in memory?

Glumi 17th February 2018 03:21 AM

Quote:

Originally Posted by proph (Post 2013968)
is it Playerlist + 0x10 + 0x20 + i * 0x8 = "Playerobject
or is it
Playerlist + 0x10] + 0x20 + i * 0x8 = "Playerobject <- posted before

From the PlayerObject What could I check to see if i'm at the correct spot in memory?

Code:

Playerlist + 0x10] + 0x20 + i * 0x8 = "Playerobject <- posted before
That is the correct one, sorry my fault i forgot a bracket :D i edited it now.

In playerObject, just check for:
Code:

playerObject + 0x320] + 0x28] + 0x10] + 0x14 = Nickname

mikangchan 17th February 2018 04:54 PM

Anyone find something about unlimited sprint?

ZeusLord 17th February 2018 05:10 PM

Quote:

Originally Posted by mikangchan (Post 2014655)
Anyone find something about unlimited sprint?



I can help but it will be a little bit you said you switched to mono correct?

proph 17th February 2018 07:16 PM

So how are you guys grabbing the view Matrix I saw that it was posted on the first page

Code:

Camera Game Object + 0x30 ] + 0x18 ] + 0xC0 = View Matrix
Code:

Camera Game Object + 0x30 ] + 0x8 ] + 0x38 ] + 0x90 = Camera Position
Is Camera Game Object actually Game Object?

Also when grabbing player POS is it in the PlayerObject?

so
Code:

PlayerList + 10]+  0x20 + (x * 0x8)] = PlayerObject
And position is somewhere in here?

mikangchan 17th February 2018 08:41 PM

Quote:

Originally Posted by ZeusLord (Post 2014676)
I can help but it will be a little bit you said you switched to mono correct?

not yet..I just figured I have to download unity to build mono dll

Is it the Sprinting variable in Physical class? the same class with OnSprintStateChangedEvent? I find there are some variables like Current, DrainRate in Sprinting

ZeusLord 17th February 2018 08:54 PM

Quote:

Originally Posted by mikangchan (Post 2014903)
not yet..I just figured I have to download unity to build mono dll



Is it the Sprinting variable in Physical class? the same class with OnSprintStateChangedEvent? I find there are some variables like Current, DrainRate in Sprinting



Yeah it is.

Quote:

Originally Posted by mikangchan (Post 2014903)
not yet..I just figured I have to download unity to build mono dll

Is it the Sprinting variable in Physical class? the same class with OnSprintStateChangedEvent? I find there are some variables like Current, DrainRate in Sprinting


Code:

            foreach (var ply in _players)
            {
                if (ply.isLocalPlayer || ply.localPlayerAuthority)
                {
                   
                    ply.Physical.Sprinting.RestoreRate = 100.0f;
                    ply.Physical.Sprinting.DrainRate = 0.0f;
                   
                }
            }

I do it that way idk if if its the best way of doing it but thats how I do it. :yawn:

mikangchan 18th February 2018 04:47 AM

Quote:

Originally Posted by ZeusLord (Post 2014916)
Yeah it is.




Code:

            foreach (var ply in _players)
            {
                if (ply.isLocalPlayer || ply.localPlayerAuthority)
                {
                   
                    ply.Physical.Sprinting.RestoreRate = 100.0f;
                    ply.Physical.Sprinting.DrainRate = 0.0f;
                   
                }
            }

I do it that way idk if if its the best way of doing it but thats how I do it. :yawn:

Thank you! Works like a charm :)

ZeusLord 18th February 2018 04:49 AM

Quote:

Originally Posted by mikangchan (Post 2015322)
Thank you! Works like a charm :)

Yeah You can do no-recoil and fast as hell sprint in the same manner.

mikangchan 18th February 2018 06:26 AM

Quote:

Originally Posted by ZeusLord (Post 2015324)
Yeah You can do no-recoil and fast as hell sprint in the same manner.

I can get no recoil in proceduralweaponanim but how do you change the speed of sprint?

ZeusLord 18th February 2018 06:36 AM

Quote:

Originally Posted by mikangchan (Post 2015380)
I can get no recoil in proceduralweaponanim but how do you change the speed of sprint?

Code:

foreach (var ply in _players)
            {
                if (ply.isLocalPlayer || ply.localPlayerAuthority)
                {
                   
                    ply.Skills.StrengthBuffSprintSpeedInc.Value = 500f;
                   
                }
            }

That is how I do it but I have my unlimited sprint and that code together.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

mikangchan 18th February 2018 06:48 AM

Quote:

Originally Posted by ZeusLord (Post 2015384)
Code:

foreach (var ply in _players)
            {
                if (ply.isLocalPlayer || ply.localPlayerAuthority)
                {
                   
                    ply.Skills.StrengthBuffSprintSpeedInc.Value = 500f;
                   
                }
            }

That is how I do it but I have my unlimited sprint and that code together.

Thanks! I found that Buff but I haven't figured out a way for Skills yet xD

ZeusLord 18th February 2018 07:00 AM

Quote:

Originally Posted by mikangchan (Post 2015388)
Thanks! I found that Buff but I haven't figured out a way for Skills yet xD

Yeah same. I wrote a simple extract esp but thats about all I have.

mikangchan 18th February 2018 07:05 AM

Quote:

Originally Posted by ZeusLord (Post 2015394)
Yeah same. I wrote a simple extract esp but thats about all I have.

There are some other interesting values in Skills. Did you try to modify them? Lucky loot for example

ZeusLord 18th February 2018 07:19 AM

Quote:

Originally Posted by mikangchan (Post 2015397)
There are some other interesting values in Skills. Did you try to modify them? Lucky loot for example

Hmm which skill is that? if you post it i will try to change it.

Quote:

Originally Posted by mikangchan (Post 2015397)
There are some other interesting values in Skills. Did you try to modify them? Lucky loot for example

Nvm I see what you are saying im doing some testing atm with lootsped and the UniqueLoot

mikangchan 18th February 2018 07:58 AM

Quote:

Originally Posted by ZeusLord (Post 2015402)
Hmm which skill is that? if you post it i will try to change it.



Nvm I see what you are saying im doing some testing atm with lootsped and the UniqueLoot

I tried to get the offsets for Value without success :( It should be something starts at 0x15 but I tried every byte after that and none represents the float I want

ZeusLord 18th February 2018 08:04 AM

Quote:

Originally Posted by mikangchan (Post 2015418)
I tried to get the offsets for Value without success :( It should be something starts at 0x15 but I tried every byte after that and none represents the float I want

Hmmm....

Scenic123 18th February 2018 05:17 PM

For the users whom were looking for a functioning Mono injector that has an editable source code, Search Equifox/MInjector on google and you'll find a github repo for a Mono injector, It's important to note that this particular injector (among others) is probably detected by the EFT launcher and as such you'll need to HEAVILY modify the source code and compile your own EXE and DLL for this to be considered even remotely safe.

-- Also, if anyone knows where I can acquire a copy of EFT for less than the retail I'd be happy to support the ongoing process in developing a functioning Base DLL for mono.

Phil126 21st February 2018 11:20 PM

does anyone know how to get a players weapon they're holding? (internal)

ranfali 21st February 2018 11:44 PM

Quote:

Originally Posted by Phil126 (Post 2019834)
does anyone know how to get a players weapon they're holding? (internal)

it should be somewhere in SinglePlayerInventoryController just check the source if your internal

emantec 22nd February 2018 02:43 AM

Careful guys, if you check they're loading a VmProtected DLL into %temp% directory on startup, likely kernel driver.

Glumi 22nd February 2018 01:22 PM

Quote:

Originally Posted by emantec (Post 2019959)
Careful guys, if you check they're loading a VmProtected DLL into %temp% directory on startup, likely kernel driver.

Anyone reversing this already?

emantec 22nd February 2018 02:11 PM

Quote:

Originally Posted by Glumi (Post 2020400)
Anyone reversing this already?

Havent got round to dumping driver yet but it is originally loaded from Assembly-CSharp.dll using LoadLibrary (Just search for reference, it's pretty obvious) from an XOR'd byte array. Then calls the exported function 'load' passing the users accoount ID as parameter.

Obviously not called if LoadLibrary returns NULL so easy to block with the assumption they're not doing further checks to ensure the driver is running or it performs callbacks of some sort.

Scenic123 22nd February 2018 02:40 PM

The DLL in question appears to affiliated with some back-end stuff they have for signature observation. I wouldn't worry too much... If there was an anti-cheat added without informing the community there would be a MASSIVE press problem for their team.

^^ This is especially important if they're trying to quietly get away with running a kernel level driver for anti-cheat stuff, you have to inform the end-user of these kinds of things.

ranfali 22nd February 2018 03:16 PM

Quote:

Originally Posted by Glumi (Post 2020400)
Anyone reversing this already?

Why? If you look in the anti cheat section there is tons of ways to go around it. :dunno:

ZeusLord 22nd February 2018 07:22 PM

Possible desync.
[Error] : Could not execute operation on server: operation can't be created: item salewa (id: 5a8ef52d6588815c3c344cc7) at (-337.2, -2.7, -75.6) is too far away from (-484.9, -11.0, -376.5)

Possible desync.
[Error] : Could not execute operation on server: operation can't be created: item item_tools_pliers (id: 5a8ef52d6588815c3c344ce5) at (-316.3, 2.7, -89.8) is too far away from (-485.9, -11.1, -377.6)

Possible desync.
[Error] : Could not execute operation on server: operation can't be created: item horse_figurine (id: 5a8ef52d6588815c3c344d2c) at (-302.6, 2.9, -74.4) is too far away from (-486.8, -11.1, -378.4)

Possible desync.
[Error] : Could not execute operation on server: operation can't be created: item horse_figurine (id: 5a8ef52d6588815c3c344d2c) at (-302.6, 2.9, -74.4) is too far away from (-487.6, -11.0, -378.9)

Possible desync.
[Error] : Could not execute operation on server: operation can't be created: item убли (id: 5a8ef52d6588815c3c344bce) at (-162.2, -0.2, -89.6) is too far away from (-493.8, -10.4, -385.3)

Possible desync.
[Error] : Could not execute operation on server: operation can't be created: item item_flash_card_ironkey (id: 5a8ef52d6588815c3c344ca6) at (-202.2, -3.3, -80.6) is too far away from (-497.5, -10.0, -389.2)

RIP Item TP

Scenic123 22nd February 2018 08:17 PM

Quote:

Originally Posted by ZeusLord (Post 2020806)
Possible desync.
[Error] : Could not execute operation on server: operation can't be created: item salewa (id: 5a8ef52d6588815c3c344cc7) at (-337.2, -2.7, -75.6) is too far away from (-484.9, -11.0, -376.5)

Possible desync.
[Error] : Could not execute operation on server: operation can't be created: item item_tools_pliers (id: 5a8ef52d6588815c3c344ce5) at (-316.3, 2.7, -89.8) is too far away from (-485.9, -11.1, -377.6)

Possible desync.
[Error] : Could not execute operation on server: operation can't be created: item horse_figurine (id: 5a8ef52d6588815c3c344d2c) at (-302.6, 2.9, -74.4) is too far away from (-486.8, -11.1, -378.4)

Possible desync.
[Error] : Could not execute operation on server: operation can't be created: item horse_figurine (id: 5a8ef52d6588815c3c344d2c) at (-302.6, 2.9, -74.4) is too far away from (-487.6, -11.0, -378.9)

Possible desync.
[Error] : Could not execute operation on server: operation can't be created: item убли (id: 5a8ef52d6588815c3c344bce) at (-162.2, -0.2, -89.6) is too far away from (-493.8, -10.4, -385.3)

Possible desync.
[Error] : Could not execute operation on server: operation can't be created: item item_flash_card_ironkey (id: 5a8ef52d6588815c3c344ca6) at (-202.2, -3.3, -80.6) is too far away from (-497.5, -10.0, -389.2)

RIP Item TP

Look for the variable/value for distance from item at which you can ACTUALLY pick it up and you can work around this.

ranfali 22nd February 2018 08:19 PM

Quote:

Originally Posted by Scenic123 (Post 2020860)
Look for the variable/value for distance from item at which you can ACTUALLY pick it up and you can work around this.

Its checked on the server not the client so you cant really change it, atleast they did it propper.

does somebody know if theres something like fast/auto heal or godmode i met 2 aimbotters yesterday where it lookes like that but could be desync.

Also GOM changed like always after a patch.

Scenic123 22nd February 2018 09:03 PM

Quote:

Originally Posted by ranfali (Post 2020861)
Its checked on the server not the client so you cant really change it, atleast they did it propper.

does somebody know if theres something like fast/auto heal or godmode i met 2 aimbotters yesterday where it lookes like that but could be desync.

Also GOM changed like always after a patch.



I can't confirm whether that is the case or not because I don't have a copy of the game (still looking for a cheaper way to get the game as 40 Euros to pen-test is stupid) but when I wrote my original item teleport script (with toggled filters for specific items) I had to add functionality to grab the item from a distance away so to avoid logging of specific itemised teleporting.

ranfali 22nd February 2018 09:34 PM

Btw. does somebody know if they are using an asset network libary for all the store connections looked a bit into it and it should be possible to build a tradebot.

Edit: Also something on the player struct changed i think need to invastigate it later.

Code:

  public class Player : NetworkBehaviour, \uE5C4, \uE0D6
  {
    public static int GripCullDistance = 40;
    public static int IkCullDistance = 70;
    public Action<float> OnPoseChangedEvent;
    public Action<float, float> OnSpeedChangedEvent;
    public \uE632 _characterController;
    private bool \uE000;
    private WorldInteractiveObject \uE001;
    private float \uE003;
    private float \uE004;
    private bool \uE005;

Is this some form obfuscation or was it always like that?

EDIT: Yep they put some obfuscator asset crap over it most of the stuff you can reconstruct based on an older version but newer stuff now needs some more time to figure out.

emantec 22nd February 2018 09:45 PM

Quote:

Originally Posted by ranfali (Post 2020945)
Btw. does somebody know if they are using an asset network libary for all the store connections looked a bit into it and it should be possible to build a tradebot.

Already done, simple HTTP requests with zlib packed JSON.

Might find the following useful

Code:

        public string GetSystemID()
        {
            string deviceId = "";

            ManagementObjectSearcher baseSerial = new ManagementObjectSearcher("SELECT SerialNumber FROM Win32_BaseBoard");
            ManagementObjectSearcher biosSerial = new ManagementObjectSearcher("SELECT SerialNumber FROM Win32_BIOS");
            ManagementObjectSearcher osSerial = new ManagementObjectSearcher("SELECT SerialNumber FROM Win32_OperatingSystem");
            deviceId += GetPropertyValue(baseSerial);
            deviceId += GetPropertyValue(biosSerial);
            deviceId += GetPropertyValue(osSerial);

            baseSerial.Dispose();
            biosSerial.Dispose();
            osSerial.Dispose();

            deviceId = MD5Hash(Sha1Hash(deviceId));

            return deviceId;
        }



All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

ranfali 23rd February 2018 01:16 PM

Quote:

Originally Posted by Scenic123 (Post 2020909)
I can't confirm whether that is the case or not because I don't have a copy of the game (still looking for a cheaper way to get the game as 40 Euros to pen-test is stupid) but when I wrote my original item teleport script (with toggled filters for specific items) I had to add functionality to grab the item from a distance away so to avoid logging of specific itemised teleporting.

Its 20% off at the moment thats probably the best you can get for lower price other way would be vpn with a shitty currency.

loadeddeath 24th February 2018 04:13 PM

Anyone have new GOM already? Im failling to find new...

Hrotha 26th February 2018 11:26 PM

Quote:

Originally Posted by Glumi (Post 2020400)
Anyone reversing this already?

as we speak

dler4 1st March 2018 07:13 PM

Quote:

Originally Posted by loadeddeath (Post 2023404)
Anyone have new GOM already? Im failling to find new...

0x14327E0

Anyone know how to distinguish between scavs and player scavs after the last patch? Currently I check if they jump at any point, but it's pretty inconsistent

Xyox 2nd March 2018 01:13 PM

Hello, i have a noob question, i'm trying to find offsets on my own, i downloaded ReClass already.

Is it safe to attach ReClass to EscapeFromTarkov.exe process?
Aren't they checking if another process is reading the "memory space" of the game?

ranfali 2nd March 2018 09:07 PM

Quote:

Originally Posted by dler4 (Post 2030425)
0x14327E0

Anyone know how to distinguish between scavs and player scavs after the last patch? Currently I check if they jump at any point, but it's pretty inconsistent


Players -> Player -> Side <- Contains the "Team" (check Source for EFT.EPlayerSide)

Figure out if AI or not:
Players -> Player -> Profile -> Info -> RegistrationDate <= 0


Check the source and you need to figure out the offset yourself but thats probably the safest way to check ist

tednugent 2nd March 2018 09:32 PM

Anyone find out the new offset for profile inside the player object? Had to luck with it while trying to find names in ReClass.

Cyrex20 2nd March 2018 10:07 PM

Quote:

Originally Posted by ranfali (Post 2031872)
Players -> Player -> Side <- Contains the "Team" (check Source for EFT.EPlayerSide)

Figure out if AI or not:
Players -> Player -> Profile -> Info -> RegistrationDate <= 0


Check the source and you need to figure out the offset yourself but thats probably the safest way to check ist

This is irrelevant but does EFT have an anticheat?

dracorx 3rd March 2018 02:21 AM

Quote:

Originally Posted by Cyrex20 (Post 2031962)
This is irrelevant but does EFT have an anticheat?

It does but it's shit tier like the netcode. Devs too cheap to consider implementing a r0 AC while the game is in beta, no mention of improving AC in their 2018 year plan. All complaints about cheats get censored or blamed on desync (LOL), no ingame reporting feature shows you how much they care :shrug:

shaliuno 3rd March 2018 01:35 PM

Stupid question incoming :D

It is acceptable way to get GOM?

I`m not that good with IDA...


Xyox 3rd March 2018 04:03 PM

So we know they have an anticheat even if it's shitty.
I'm wondering if anybody knows where the anticheat is located/could be located?
Isn't it possible to reverse engineer/decompile it to find out exactly what it does?
Or it might be server side, but then how would they check signatures and know whether cheat engine is on our computer or not?

dler4 3rd March 2018 08:00 PM

Quote:

Originally Posted by ranfali (Post 2031872)
Players -> Player -> Side <- Contains the "Team" (check Source for EFT.EPlayerSide)

Figure out if AI or not:
Players -> Player -> Profile -> Info -> RegistrationDate <= 0


Check the source and you need to figure out the offset yourself but thats probably the safest way to check ist

thanks I'll try that

Quote:

Originally Posted by shaliuno (Post 2032727)
Stupid question incoming :D

It is acceptable way to get GOM?

I`m not that good with IDA...

It's a lot easier to just use sigscans, even better if you implement it yourself to autoupdate but w/e works for you is fine


Also anyone figure out how sway works and how to disable it? It doesn't seem to be anywhere in ProceduralWeaponAnimation.shooting

emantec 3rd March 2018 08:03 PM

Quote:

Originally Posted by Xyox (Post 2032927)
So we know they have an anticheat even if it's shitty.
I'm wondering if anybody knows where the anticheat is located/could be located?
Isn't it possible to reverse engineer/decompile it to find out exactly what it does?
Or it might be server side, but then how would they check signatures and know whether cheat engine is on our computer or not?

https://www.unknowncheats.me/forum/2020453-post213.html

shaliuno 4th March 2018 12:28 AM

LoadLibrary?

Isn`t it that DLL that glances for a second in
C:\Users\%USERNAME%\AppData\Local\Temp?

It has some random name EFT_garbagetext.dll
EFT loads that DLL on profile loading.

emantec 4th March 2018 12:31 AM

Quote:

Originally Posted by shaliuno (Post 2033456)
LoadLibrary?

Isn`t it that DLL that glances for a second in
C:\Users\%USERNAME%\AppData\Local\Temp?

It has some random name EFT_garbagetext.dll
EFT loads that DLL on profile loading.

I suggest you read my post again, carefully... I clearly state where loadlibrary is called and what it loads.
The dll is protected with vmprotect.

64com 4th March 2018 07:07 AM

Can anyone be able to analyze:
Original -> https://www.unknowncheats.me/forum/d...=file&id=22858
Dumped -> https://www.unknowncheats.me/forum/d...=file&id=22859

GDB Remote Server (port 2159)?
https://i.imgur.com/admtunJ.jpg

Janck7 4th March 2018 09:33 AM

@64com Files denied. Dumps are not allowed on UC anymore. Use an external link instead.

Quote:

Using an external link will not be included as a written alternative method for sharing dumps as we would be willfully facilitating an illegal activity. If people wish to share a dump then it will be up to a member of staff to privately advise/approve using an external link.

dywersant01 4th March 2018 10:09 AM

Quote:

Originally Posted by 64com (Post 2033823)

This downloads and runs another dll which is heavly obfuscated.

Wysłane z mojego Lenovo TB-8704F przy użyciu Tapatalka

Neonreflexe 4th March 2018 02:21 PM

Any idea why I cant find the GameObjectManager when I use the sig out of that thread?

Code:

uint8_t* GameObjectManagerx = Helpers::FindSignature(GetModuleHandle(NULL), info.SizeOfImage, "\x48\x8B\x15\x00\x00\x00\x00\x66\x39\x7B\x54", "xxx????xxxx");
also tried it like that

Code:

uint8_t* GameObjectManagerx = Helpers::FindSignature(GetModuleHandle(NULL), info.SizeOfImage, "\x48\x8B\x15\x00\x00\x00\x00\x66\x39\x7B\x54", "xxx????xxxx");
                uint8_t* pGameObjectManager = GameObjectManagerx + *reinterpret_cast<uint32_t*>(GameObjectManagerx + 3) + 7;
                auto gom = *reinterpret_cast<GameObjectManager**>(pGameObjectManager);

I get a high offset like 0x7FF6D52F27E0

Xyox 4th March 2018 02:46 PM

Quote:

Originally Posted by mikangchan (Post 2010985)

I'm trying to find the GameWorld.
I've seen the image in the post i quoted but i guess that the structure has changed since then because at GOM + 0x18 i don't have a pointer as you can see (i forgot to rename the class but that's the GOM):

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

I'd like to find the GameWorld on my own so that if the structure changes again i'll be able to find the new one.

So how do you find it?
You just start to blindly search through everything in reclass or you follow some logic?
And lastly, everybody talks about the GOM (both here and on the rust thread) but i couldn't find a single reference to what it actually is...

Quote:

Originally Posted by Neonreflexe (Post 2034360)
Any idea why I cant find the GameObjectManager when I use the sig out of that thread?

Code:

uint8_t* GameObjectManagerx = Helpers::FindSignature(GetModuleHandle(NULL), info.SizeOfImage, "\x48\x8B\x15\x00\x00\x00\x00\x66\x39\x7B\x54", "xxx????xxxx");
also tried it like that

Code:

uint8_t* GameObjectManagerx = Helpers::FindSignature(GetModuleHandle(NULL), info.SizeOfImage, "\x48\x8B\x15\x00\x00\x00\x00\x66\x39\x7B\x54", "xxx????xxxx");
                uint8_t* pGameObjectManager = GameObjectManagerx + *reinterpret_cast<uint32_t*>(GameObjectManagerx + 3) + 7;
                auto gom = *reinterpret_cast<GameObjectManager**>(pGameObjectManager);

I get a high offset like 0x7FF6D52F27E0

Someone correct me if i'm wrong.
I think that you need to substract the base offset in order to find the GOM offset.

GOM = 0x7FF6D52F27E0 - base


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

shaliuno 4th March 2018 02:58 PM

Quote:

Originally Posted by Xyox (Post 2034398)
I'm trying to find the GameWorld.
I've seen the image in the post i quoted but i guess that the structure has changed since then because at GOM + 0x18 i don't have a pointer as you can see:

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

I'd like to find the GameWorld on my own so that if the structure changes again i'll be able to find the new one.

So how do you find it?
You just start to blindly search through everything in reclass or you follow some logic?
And lastly, everybody talks about the GOM (both here and on the rust thread) but i couldn't find a single reference to what it actually is...

Well, not sure If my level of expertise is enough, but as I`m still learning too, I`ll try to explain.

As on the screenshot.
Class Main = EFT.exe + GOM Offset

You get that address named as N000014 class
It is pointer to GameObjectManager
You open it, see class N000029
You`re inside GOM
N0002D is the offset for ALL active objects that unity has right now. (correct me pls?)
and it is pointer again so we read that and get in N00034
We`re inside ActiveObjects now.

Now here is the thing.
From now on there are two offsets
0x8 = pointer to the next object
0x10 = represents a pointer to ActiveObject (first object in long way of finding gameworld)

If you open 0x10 you get class of activeobject, from there you can read 0x60 pointer to get its name etc
If you open 0x8 you go down to the next object and that repeats the process 0x8 0x10

So basically you need to go down the way until you find the object gameworld.

If you do it in reclass it will be painful to get it (unless you create a lot of classes).

Here: Escape From Tarkov [External ESP] [C#]
There is a function FindActiveObject that goes all way down until it finds the object.

Xyox 4th March 2018 03:17 PM

Quote:

Originally Posted by shaliuno (Post 2034415)
Well, not sure If my level of expertise is enough, but as I`m still learning too, I`ll try to explain.

As on the screenshot.
Class Main = EFT.exe + GOM Offset

You get that address named as N000014 class
It is pointer to GameObjectManager
You open it, see class N000029
You`re inside GOM
N0002D is the offset for ALL active objects that unity has right now. (correct me pls?)
and it is pointer again so we read that and get in N00034
We`re inside ActiveObjects now.

Now here is the thing.
From now on there are two offsets
0x8 = pointer to the next object
0x10 = represents a pointer to ActiveObject (first object in long way of finding gameworld)

If you open 0x10 you get class of activeobject, from there you can read 0x60 pointer to get its name etc
If you open 0x8 you go down to the next object and that repeats the process 0x8 0x10

So basically you need to go down the way until you find the object gameworld.

If you do it in reclass it will be painful to get it (unless you create a lot of classes).

Here: Escape From Tarkov [External ESP] [C#]
There is a function FindActiveObject that goes all way down until it finds the object.

Thanks for the reply, i managed to find the GameWorld.

Neonreflexe 4th March 2018 03:30 PM

Quote:

Originally Posted by Xyox (Post 2034398)
GOM = 0x7FF6D52F27E0 - base

doesnt work.
When ever I want to print the object name of the activeObjects it will crash

Xyox 4th March 2018 03:38 PM

Quote:

Originally Posted by Neonreflexe (Post 2034467)
doesnt work.
When ever I want to print the object name of the activeObjects it will crash

0x7FF6D52F27E0 that's the absolute address of the GOM.
0x7FF6D52F27E0 - base = 0x14327E0 which is the offset for the GOM

If you want to read from the GOM you'll need to use one of the following (they are the same):
  • 0x7FF6D52F27E0
  • base + 0x14327E0

That's how it works i think. I'm still learning tho.

shaliuno 4th March 2018 06:52 PM

Quote:

Originally Posted by Glumi (Post 2013990)
[CODE]
In playerObject, just check for:
Code:

playerObject + 0x320] + 0x28] + 0x10] + 0x14 = Nickname

Looks like it nickname moved somewhere :(
Can`t find it...

Nevermind, I found it myself.

0x390

dissector ftw

Xyox 4th March 2018 07:56 PM

Is it safe to read/write memory without using a driver in the current patch?

mikangchan 5th March 2018 06:21 PM

Quote:

Originally Posted by Xyox (Post 2034890)
Is it safe to read/write memory without using a driver in the current patch?

it's safe

Xyox 6th March 2018 09:20 PM

EDIT: NEVERMIND I JUST GOT IT TO WORK

So i'm trying to read the name of the first object in object list (in c++). But i can't get to the name.

Code:

    GOM = base + oGOM; // base + 0x14327E0
        cout << "Base + oGOM: " << hex << GOM << endl;
        ReadProcessMemory(processo, (LPCVOID) GOM, &GOM, 4, &nbr); // reading 4 bytes at address base + 0x14327E0
        cout << "GOM: " << hex << GOM << endl;

        AOL = GOM + oAOL; // GOM + 0x18
        cout << "GOM + oAOL: " << hex << AOL << endl;
        ReadProcessMemory(processo, (LPCVOID) AOL, &AOL, 4, &nbr); // reading the 4 bytes at GOM + 0x18 outputs GOM + 0x18 which is wrong...
        cout << "AOL: " << hex << AOL << endl;

This is the output:

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

And this is reclass:

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

Now i'm trying to read the 4 highlighted bytes (in the reclass picture).
So far i have the address of the pointer to the GOM which is the Base + oGOM that you can see in the output.
From that address i can read the first 4 bytes (F0 D9 E8 04) which are the address for the GOM (0x4E8D90F0).
Than i get the correct address of the pointer to the object list as you can see from the output (GOM + oAOL).
Unfortunately when i try to do the same thing that i did for the GOM (reading the 4 bytes: 78 A0 21 05) it reads the corresponding address instead (GOM + oAOL).

Any idea about why i can't read those 4 bytes?

Notice that my program is external so i have to handle pointers by using ReadProcessMemory (as i read online) i can't use things like *(DWORD *) (base +
offset)


Probably from the pictures you understand better than from my explanation.

Xyox 7th March 2018 05:33 PM

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

I have been able to get to the PlayersList.
From there i used:

Code:

PlayersList + 0x10] + 0x20]
And i got to the first player in the list (Player1 class), from there i could successfully find his nickname.

Problem is that i want to make a 2d radar so i need the players coordinates which i can't find.

I tried to use the offsets from the first couple pages but without luck.

I'd appreciate if someone could post the offsets that lead to the player coordinates starting from Player1.

Thanks.

tednugent 7th March 2018 06:33 PM

Player Position from the linked list:
Code:

PlayerAddress + 0x50] + 0x60]

Xyox 8th March 2018 10:35 PM

Quote:

Originally Posted by tednugent (Post 2039538)
Player Position from the linked list:
Code:

PlayerAddress + 0x50] + 0x60]

Thank you.

Last thing i need is to get the player rotation (YAW) so that i can rotate the radar accordingly. Anybody knows the offset?

shaliuno 9th March 2018 07:59 AM

Quote:

Originally Posted by Xyox (Post 2041218)
Thank you.

Last thing i need is to get the player rotation (YAW) so that i can rotate the radar accordingly. Anybody knows the offset?


PlayerAddress

0x50, 0x1EC
0x50, 0x1F0
0x50, 0x1F4

mikangchan 9th March 2018 04:15 PM

are there other fun stuff in EFT?

maximusx 10th March 2018 11:34 AM

Currently, latest version, player list only returning scavs? Someone is able to get real players from player list object?

shaliuno 10th March 2018 12:17 PM

All players in players list are valid.
Players, scavs, player-scavs.
Check the sideID

mikangchan 10th March 2018 10:18 PM

never made a change since 0.6
The literally don't care about cheaters

64com 11th March 2018 12:22 PM

Quote:

Originally Posted by mikangchan (Post 2044438)
never made a change since 0.6
The literally don't care about cheaters

On March 9 they released a patch 0.7.7.1023 in which an attempt was made to add a new protection (I don't know exactly how the EXE file is fully loaded yet – from hidden *.bin or from internet?). After 2 hours the rollback was made. Look at -> https://www.reverse.it/sample/d5e93c...14876550179075

https://i.imgur.com/b87rknh.jpg

bl00 11th March 2018 01:10 PM

Yep. It blocked mono injection. I wrote exact error message in mono thread.

Suddenly the game started to require admin privileges, so definitely some kind of shady stuff. Moreover devs are silent about it in release notes.

mikangchan 11th March 2018 06:37 PM

Quote:

Originally Posted by 64com (Post 2045136)
On March 9 they released a patch 0.7.7.1023 in which an attempt was made to add a new protection (I don't know exactly how the EXE file is fully loaded yet � from hidden *.bin, from interent?). After 2 hours the rollback was made. Lool at -> https://www.reverse.it/sample/d5e93c...14876550179075

https://i.imgur.com/b87rknh.jpg

didn't update to 0.7.7 yet. Guess I miss the change :)

Thank you for the info!

Goldenboys 11th March 2018 08:15 PM

Wanted to thank everyone for the good info, made the game a lot better. ;)


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

64com 11th March 2018 08:51 PM

Quote:

Originally Posted by Goldenboys (Post 2045757)
Wanted to thank everyone for the good info, made the game a lot better. ;)

Hi developers!

nadgerg 11th March 2018 09:08 PM

Thank you

shaliuno 13th March 2018 11:50 AM

new ban list :D

https://vk.com/@escapefromtarkov-ban...zovanie-chitov

Xyox 13th March 2018 05:35 PM

Quote:

Originally Posted by shaliuno (Post 2048163)

Ah! My name is not there :dance:

VEGA 7 13th March 2018 06:13 PM

is the GOM 0x4E8D90F0
or another?

Xyox 14th March 2018 11:49 AM

Quote:

Originally Posted by VEGA 7 (Post 2048676)
is the GOM 0x4E8D90F0
or another?

GOM Offset: 0x14327E0

ZeusLord 14th March 2018 09:50 PM

Quote:

Originally Posted by emantec (Post 2020954)
Already done, simple HTTP requests with zlib packed JSON.

Might find the following useful

Code:

        public string GetSystemID()
        {
            string deviceId = "";

            ManagementObjectSearcher baseSerial = new ManagementObjectSearcher("SELECT SerialNumber FROM Win32_BaseBoard");
            ManagementObjectSearcher biosSerial = new ManagementObjectSearcher("SELECT SerialNumber FROM Win32_BIOS");
            ManagementObjectSearcher osSerial = new ManagementObjectSearcher("SELECT SerialNumber FROM Win32_OperatingSystem");
            deviceId += GetPropertyValue(baseSerial);
            deviceId += GetPropertyValue(biosSerial);
            deviceId += GetPropertyValue(osSerial);

            baseSerial.Dispose();
            biosSerial.Dispose();
            osSerial.Dispose();

            deviceId = MD5Hash(Sha1Hash(deviceId));

            return deviceId;
        }


Anything new on this?

Mono Injection still works..

emantec 14th March 2018 10:09 PM

Quote:

Originally Posted by ZeusLord (Post 2050694)
Anything new on this?

Mono Injection still works..

Not sure what you mean by 'new'? Just hunting for more info on the protocol? It's pretty easy to work out, just direct Tarkov through a HTTP proxy and monitor it, any other required info can be obtained through .net reflector. The code I posted saves you the trouble of reversing the Unity generated ID used for login.

ZeusLord 14th March 2018 10:09 PM

Quote:

Originally Posted by emantec (Post 2050715)
Not sure what you mean by 'new'? Just hunting for more info on the protocol? It's pretty easy to work out, just direct Tarkov through a HTTP proxy and monitor it.

Ahh i found its sending a POST to this http://prod.escapefromtarkov.com/cli...tPrice/trader/
But yeah thats what I meant by new :P

emantec 14th March 2018 10:16 PM

Quote:

Originally Posted by ZeusLord (Post 2050716)
Ahh i found its sending a POST to this http://prod.escapefromtarkov.com/cli...tPrice/trader/
But yeah thats what I meant by new :P

In basic order of use -

https://prod.escapefromtarkov.com/client/game/login
http://prod.escapefromtarkov.com/client/game/keepalive
http://prod.escapefromtarkov.com/cli...e/profile/list
http://prod.escapefromtarkov.com/cli...profile/select
http://prod.escapefromtarkov.com/cli...getTradersList
http://prod.escapefromtarkov.com/cli...tTraderAssort/ {traderID}
http://prod.escapefromtarkov.com/cli...e/items/moving - Used for purchasing

ZeusLord 14th March 2018 10:19 PM

Eyy I might see what I can do thanks for the help :D +REP to you.

One last questions what is the cause of these outputs?
x��1� @ѫ4�1QGVO�HU���E��E������~ '�U�;z���
r1�fG�xq����,�Z�N��ԲEat�}n"� ?� �

Encryption im assuming?

emantec 14th March 2018 10:27 PM

Quote:

Originally Posted by ZeusLord (Post 2050728)
Eyy I might see what I can do thanks for the help :D +REP to you.



One last questions what is the cause of these outputs?
x��1� @ѫ4�1QGVO�HU���E��E������~ '�U�;z���
r1�fG�xq����,�Z�N��ԲEat�}n"� ?� �

Encryption im assuming?

Re-read the post you originally quoted, you missed what I said.

ZeusLord 14th March 2018 10:45 PM

Quote:

Originally Posted by emantec (Post 2050736)
Re-read the post you originally quoted, you missed what I said.

Weird fiddler aint picking up on the login weird..

Quote:

Originally Posted by emantec (Post 2050736)
Re-read the post you originally quoted, you missed what I said.

Weird fiddler aint picking up on the login weird..

emantec 14th March 2018 10:46 PM

Quote:

Originally Posted by ZeusLord (Post 2050754)
Weird fiddler aint picking up on the login weird..



Weird fiddler aint picking up on the login weird..

If I remember correctly login is done in launcher and then details passed to game through launch parameter. Also login is done through HTTPS so you'll need to install root certificate to see it, I'd recommend using https://www.charlesproxy.com/ and ProxyCap to redirect launcher/game http://www.proxycap.com/

ZeusLord 14th March 2018 10:53 PM

Quote:

Originally Posted by emantec (Post 2050755)
If I remember correctly login is done in launcher and then details passed to game through launch parameter. Also login is done through HTTPS so you'll need to install root certificate to see it, I'd recommend using https://www.charlesproxy.com/ and ProxyCap to redirect launcher/game http://www.proxycap.com/

So like the charlesproxy on a server and then have proxycap redirect there?

emantec 14th March 2018 10:59 PM

Quote:

Originally Posted by ZeusLord (Post 2050763)
So like the charlesproxy on a server and then have proxycap redirect there?

Enable SOCKS proxy in charles
Enable SSL proxying in charles with host * and port *
In charles proxy Help -> SSL proxying -> Install charles root certificate, choose place all certificates in the following store -> Trusted root certification authorities -> install

Proxy cap - add new proxy Socks5 localhost 8889
New rule - Redirect through proxy, specify program (EFT launcher/game exe)
Ensure Proxy cap enabled and Charles recording.

Launch game, should see requests in Charles. Will still need to unpack data.

ZeusLord 14th March 2018 11:01 PM

Quote:

Originally Posted by emantec (Post 2050767)
Enable SOCKS proxy in charles
Enable SSL proxying in charles with host * and port *
In charles proxy Help -> SSL proxying -> Install charles root certificate, choose place all certificates in the following store -> Trusted root certification authorities -> install

Proxy cap - add new proxy Socks5 localhost 8889
New rule - Redirect through proxy, specify program (EFT launcher/game exe)
Ensure Proxy cap enabled and Charles recording.

Launch game, should see requests in Charles. Will still need to unpack data.

Oh okay i see

Quote:

Originally Posted by emantec (Post 2050767)
Enable SOCKS proxy in charles
Enable SSL proxying in charles with host * and port *
In charles proxy Help -> SSL proxying -> Install charles root certificate, choose place all certificates in the following store -> Trusted root certification authorities -> install

Proxy cap - add new proxy Socks5 localhost 8889
New rule - Redirect through proxy, specify program (EFT launcher/game exe)
Ensure Proxy cap enabled and Charles recording.

Launch game, should see requests in Charles. Will still need to unpack data.

So I remember you saying its packed with zlib so I take it thats what you mean by unpack data

Sorry for the noob questions xD

emantec 15th March 2018 12:03 AM

Quote:

Originally Posted by ZeusLord (Post 2050768)
Oh okay i see



So I remember you saying its packed with zlib so I take it thats what you mean by unpack data

Sorry for the noob questions xD

Yes.

Code:

        private async Task<string> SendRequest(string url, string data)
        {
            try
            {
                ByteArrayContent content = new ByteArrayContent(SimpleZlib.CompressToBytes(data, 9, Encoding.UTF8));
                HttpResponseMessage response = await client.PostAsync(url, content);
                response.EnsureSuccessStatusCode();
                Byte[] reply = await response.Content.ReadAsByteArrayAsync();
                return SimpleZlib.Decompress(reply, Encoding.UTF8);
            }
            catch (Exception e)
            {
                Console.Write(e.Message);
                throw;
            }

        }


ZeusLord 15th March 2018 12:58 AM

Quote:

Originally Posted by emantec (Post 2050829)
Yes.

Code:

        private async Task<string> SendRequest(string url, string data)
        {
            try
            {
                ByteArrayContent content = new ByteArrayContent(SimpleZlib.CompressToBytes(data, 9, Encoding.UTF8));
                HttpResponseMessage response = await client.PostAsync(url, content);
                response.EnsureSuccessStatusCode();
                Byte[] reply = await response.Content.ReadAsByteArrayAsync();
                return SimpleZlib.Decompress(reply, Encoding.UTF8);
            }
            catch (Exception e)
            {
                Console.Write(e.Message);
                throw;
            }

        }


Okay is there any NUGET package you recommend to use? for like ZLIB or whatever

emantec 15th March 2018 01:01 AM

Quote:

Originally Posted by ZeusLord (Post 2050880)
Okay is there any NUGET package you recommend to use? for like ZLIB or whatever

Come on, I can't spoon feed you everything, it's right there in that code, just google https://github.com/tmcnab/cloudlab.i...et.1.0.3.0/lib


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

ZeusLord 15th March 2018 01:02 AM

Quote:

Originally Posted by emantec (Post 2050886)
Come on, I'm can't spoon feed you everything, it's right there in that code, just google https://github.com/tmcnab/cloudlab.i...et.1.0.3.0/lib

Okay sorry I mean I googled it multiple times and found nothing....... I never saw a result that was like that

;/

Xyox 18th March 2018 01:25 AM

Is anyone else using an external ESP and having problems randomly?
Like not being able to find the PlayerList or not being able to find your player offset by checking nicknames or anything like that...

shaliuno 18th March 2018 01:48 AM

external radar and everything ok
player names, list, weapon in hands, loot on map etc

ZeusLord 18th March 2018 01:58 AM

We need eft section :P

Xyox 20th March 2018 05:03 PM

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

This is from EFT forum. What do you think?
They're detecting externals that don't use a driver?

shaliuno 20th March 2018 08:11 PM

I believe he doesn`t even know what the hook is.
And they always say controversial info about ban waves.

Second month of playing - no issues.

IMHO they are following Bohemia`s way.

All the time BattlEye was quite a plain anticheat, nobody knew about it.
Then suddenly DayZ popped up that brought them huge increase in the games bought and that brought cheaters as well.
Arma 2 died because of that.
Arma 3 almost died.

So back to the topic.
All BattlEye (back in time) could do is to detect something like.
FIND WINDOW "CHEAT ENGINE" > BAN

You run notepad, rename its window to CheatEngine > enjoy global BAN.
App with marked signature = any public cheat.

But RPM/WPM was out of that question, well technically it is even ok now, BE just won`t let you open handle to the process (correct me?)

So for now, as long you`re not using anything public you`re safe.

If they begin banning by just having opened handle to the process - there would be tons of false positives.

https://forum.escapefromtarkov.com/t...omment=1001858

Quote:

Chernobyl_52: Любая п ог амма внед яющаяся в код иг ы.
Code:

"Any app that is embedded (injected) in the code.
RPM definitely just look at the memory.

https://forum.escapefromtarkov.com/t...comment=802465

Quote:

Damirka_EA: это сотня забаненых за последние два дня, а так их намного больше - забаненых, и банят чите ов каждый день
Code:

"hundred banned for the last two days, but really there much more banned, and we ban every day
...russian "r" is missing for somereason.. forum issue?

So, waves or everyday?

mjikop1231 22nd March 2018 07:14 AM

A question.
Will this game upload assemblies list?
Like mono hack by @zeusLoard, mono injector can't hide it in assemblies. So if this game upload the list or hash and compare the list, user will be detected.

Scenic123 22nd March 2018 02:59 PM

Quote:

Originally Posted by mjikop1231 (Post 2060767)
A question.
Will this game upload assemblies list?
Like mono hack by @zeusLoard, mono injector can't hide it in assemblies. So if this game upload the list or hash and compare the list, user will be detected.

From prior experience with Rust and other Unity-Engine games, you'll find they implement an anti-cheat to block handle access first, then typically have a "Pure-server" setup to check the assemblies... however due to the state in which Tarkov runs it's game (the language options are bolted into the assembly on install) it'd be difficult to implement this kind of setup.

mjikop1231 22nd March 2018 03:38 PM

Quote:

Originally Posted by Scenic123 (Post 2061265)
From prior experience with Rust and other Unity-Engine games, you'll find they implement an anti-cheat to block handle access first, then typically have a "Pure-server" setup to check the assemblies... however due to the state in which Tarkov runs it's game (the language options are bolted into the assembly on install) it'd be difficult to implement this kind of setup.

So you mean at this time mono injecter is a undetected method?

By the way, are there any way to hide assembly?

shaliuno 22nd March 2018 04:27 PM

Those who interested, here are weapon in hand offsets.

Well, technically it is just slot bound, so you don`t know if player is holding exact weapon, but in our case it is irrelevant.

Code:

PlayerProfile + 0x48 (Inventory) ] + 0x30 (FastAccess) + 0x10 (BoundItems) + 0x28 (Dictionary Values) ]

+ 0x30 ] = FirstPrimarySlot
+ 0x38 ] = SecondaryPrimarySlot

same approach you can find hatchet (who needs it lol) and pistol (too), and also all extra items from 5 to 10, from FastAccess.

FirstPrimarySlot/SecondaryPrimarySlot + 0x20 ] + 0x20 ] + 0x50 ] + 0x14 ] = ASCII string with weapon name.

There should be normal "readable name" nearby , but I don`t care. My loot searcher has RegEx replacer that also cuts some text from here.
just FYI:
10 : Name (type: System.String)
18 : ShortName (type: System.String)
50 : _name (type: System.String)

emantec 22nd March 2018 04:30 PM

Quote:

Originally Posted by mjikop1231 (Post 2061308)
So you mean at this time mono injecter is a undetected method?

By the way, are there any way to hide assembly?

Easy solution to all Mono related issues, it's open source - build your own and you can do what you like.

Xyox 22nd March 2018 05:21 PM

Quote:

Originally Posted by shaliuno (Post 2061385)
Those who interested, here are weapon in hand offsets.

Well, technically it is just slot bound, so you don`t know if player is holding exact weapon, but in our case it is irrelevant.

Code:

PlayerProfile + 0x48 (Inventory) ] + 0x30 (FastAccess) + 0x10 (BoundItems) + 0x28 (Dictionary Values) ]

+ 0x30 ] = FirstPrimarySlot
+ 0x38 ] = SecondaryPrimarySlot

same approach you can find hatchet (who needs it lol) and pistol (too), and also all extra items from 5 to 10, from FastAccess.

FirstPrimarySlot/SecondaryPrimarySlot + 0x20 ] + 0x20 ] + 0x50 ] + 0x14 ] = ASCII string with weapon name.

There should be normal "readable name" nearby , but I don`t care. My loot searcher has RegEx replacer that also cuts some text from here.
just FYI:
10 : Name (type: System.String)
18 : ShortName (type: System.String)
50 : _name (type: System.String)

Thanks! I was reading the name from 0x10 instead of 0x50, that was the problem...

ZeusLord 25th March 2018 04:23 AM

Anyone have the latest GOM?

supanoob 25th March 2018 09:49 AM

Quote:

Originally Posted by ZeusLord (Post 2064540)
Anyone have the latest GOM?


GOM the same. There wasn't patch yet

Brut7 25th March 2018 01:51 PM

Devs add hooks

mjikop1231 25th March 2018 03:08 PM

Quote:

Originally Posted by Brut7 (Post 2064910)
Devs add hooks

So will these failed tried users being charged as cheater?

And... If we write these func on us own...can ignore these hook?(if dev only hook these three functions)

ZeusLord 25th March 2018 04:32 PM

Quote:

Originally Posted by supanoob (Post 2064712)
GOM the same. There wasn't patch yet

0x14327E0 isnt the same GOM it just crashes now and does nothing else on init.

Brut7 25th March 2018 04:33 PM

Quote:

Originally Posted by mjikop1231 (Post 2064985)
So will these failed tried users being charged as cheater?

And... If we write these func on us own...can ignore these hook?(if dev only hook these three functions)

in d3d11 hook checks ret address. if ret address not bound to dll (you use manual map ) = crash, but easy bypassing

d3d11 hooks:
CDevice::CreateInputLayout(index 11)
CContext::TID3D11DeviceContext_OMSetRenderTargets(index 33)

sig for ret adress check
48 89 5C 24 08 48 89 6C 24 10 48 89 74 24 18 57 48 83 EC 30 80 3D ?? ?? ?? ?? ??

shaliuno 25th March 2018 04:47 PM

Quote:

Originally Posted by ZeusLord (Post 2065067)
0x14327E0 isnt the same GOM it just crashes now and does nothing else on init.

It is... take a look in IDA

ZeusLord 25th March 2018 04:52 PM

then I dont understand why its not working


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

Xyox 25th March 2018 05:04 PM

Quote:

Originally Posted by ZeusLord (Post 2065095)
then I dont understand why its not working

Confirm GOM is still the same my external is still working.
Are you the one using mono injection? That might be your problem with the latest update.

ZeusLord 25th March 2018 05:05 PM

Quote:

Originally Posted by Xyox (Post 2065121)
Confirm GOM is still the same my external is still working.
Are you the one using mono injection? That might be your problem with the latest update.

Nah I got the external source that was posted but it just crashes with Init failed

shaliuno 25th March 2018 05:06 PM

Glumi`s ESP?

Probably some functions not reading memory correctly, it has some flaws that could be the cause.

ZeusLord 25th March 2018 05:07 PM

Yeah thats the one i'm using I commented out everything in Init except GOM and it crashes still

Alright not too sure tho thanks for the info tho

shaliuno 25th March 2018 05:30 PM

Just looked at his source`s again.
Get console output after GOM and see if GOM is the same.
You probably crash somewhere else (debug?) as some pointers have changed after the patch and there is no error handler.

Need to dump using CE again...

Glumi 25th March 2018 05:33 PM

Quote:

Originally Posted by ZeusLord (Post 2065128)
Yeah thats the one i'm using I commented out everything in Init except GOM and it crashes still

Alright not too sure tho thanks for the info tho

Did you changed offsets to the new one?

ZeusLord 25th March 2018 06:10 PM

Quote:

Originally Posted by Glumi (Post 2065158)
Did you changed offsets to the new one?

wait which ones?

Glumi 25th March 2018 06:13 PM

Quote:

Originally Posted by ZeusLord (Post 2065204)
wait which ones?

For example, the offsets for iterating the ActiveObjects changed since the update.
I'm currently installing EfT new (because i didnt played it anymore)

When its installed, i look into it and update the source on github

ZeusLord 25th March 2018 06:13 PM

Quote:

Originally Posted by Glumi (Post 2065210)
For example, the offsets for iterating the ActiveObjects changed since the update.
I'm currently installing EfT new (because i didnt played it anymore)

When its installed, i look into it and update the source on github

Ahh okay I will have a look into those.

Quote:

Originally Posted by Glumi (Post 2065210)
For example, the offsets for iterating the ActiveObjects changed since the update.
I'm currently installing EfT new (because i didnt played it anymore)

When its installed, i look into it and update the source on github

Oh shit okay thanks for your help :)

mikangchan 25th March 2018 06:30 PM

Quote:

Originally Posted by shaliuno (Post 2065086)
It is... take a look in IDA

neat map hack

ZeusLord 25th March 2018 06:31 PM

Quote:

Originally Posted by mikangchan (Post 2065230)
neat map hack

yeah its pretty cool I was thinking the same thing

mikangchan 25th March 2018 06:45 PM

Quote:

Originally Posted by ZeusLord (Post 2065233)
yeah its pretty cool I was thinking the same thing

did u solve the gom stuff?

I run into the same problem with u when I switch to my own injector.

I got base as 140000000 plus offset 14327e0 and it returns 0.

Not sure if I'm doing wrong or my injector breaks

ZeusLord 25th March 2018 06:46 PM

Quote:

Originally Posted by mikangchan (Post 2065260)
did u solve the gom stuff?

I run into the same problem with u when I switch to my own injector.

I got base as 140000000 plus offset 14327e0 and it returns 0.

Not sure if I'm doing wrong or my injector breaks

Not sure I haven't added the console output just yet

mikangchan 25th March 2018 06:55 PM

Quote:

Originally Posted by ZeusLord (Post 2065261)
Not sure I haven't added the console output just yet

okay I should wait and read xD

Quote:

Originally Posted by Glumi (Post 2065210)
For example, the offsets for iterating the ActiveObjects changed since the update.
I'm currently installing EfT new (because i didnt played it anymore)

When its installed, i look into it and update the source on github

Do you have the new lists? I can see lists but they do not contain GameWorld

*Found it...being dumb twice today

Glumi 25th March 2018 07:52 PM

Quote:

Originally Posted by ZeusLord (Post 2065212)
Oh shit okay thanks for your help :)


Updated version is now on GitHub.
Maybe i will work over all of my code and improve it.

(At the moment its a lot of confusing and duplicated stuff in there, because that was a "quick & dirty"-PoC Project for my weekend)

ZeusLord 25th March 2018 07:54 PM

Quote:

Originally Posted by Glumi (Post 2065353)
Updated version is now on GitHub.
Maybe i will work over all of my code and improve it.

(At the moment its a lot of confusing and duplicated stuff in there, because that was a "quick & dirty"-PoC Project for my weekend)

Yeah np okkay sounds good I noticed some of the duped code but its okay its poc :P

shaliuno 25th March 2018 07:59 PM

CE > Mono Dissected stuff

https://www.unknowncheats.me/forum/d...=file&id=23097

Just txt file, but once approved

For those who don`t know of afraid to use CE

Quote:

Originally Posted by Rye (Post 2065366)
@shaliuno Attachments can be used for screenshots and only screenshots. If you want to share a file please upload it to UCDownloads or (if it is source code (no binaries!)) to GitHub.

Yep, my bad :D
Haven`t uploaded for a while, forgot how to do that :)
Fixed

Rye 25th March 2018 08:03 PM

@shaliuno Attachments can be used for screenshots and only screenshots. If you want to share a file please upload it to UCDownloads or (if it is source code (no binaries!)) to GitHub.

ZeusLord 25th March 2018 08:08 PM

Quote:

Originally Posted by Glumi (Post 2065353)
Updated version is now on GitHub.
Maybe i will work over all of my code and improve it.

(At the moment its a lot of confusing and duplicated stuff in there, because that was a "quick & dirty"-PoC Project for my weekend)

I always keep getting Swoopie has stopped working after I click open..

Did they patch it or something?

EDIT: Nvm fixed wasnt building as x64

ppin 28th March 2018 02:50 AM

hey guys, i have made/fixed up a cheat and im trying to figure out a way to inject, or just an injector in the first place.

any help is greatly appreciated!


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

xenocidewiki 28th March 2018 03:30 PM

Quote:

Originally Posted by shaliuno (Post 2065361)
CE > Mono Dissected stuff

https://www.unknowncheats.me/forum/d...=file&id=23097

Just txt file, but once approved

For those who don`t know of afraid to use CE



Yep, my bad :D
Haven`t uploaded for a while, forgot how to do that :)
Fixed

Approved, thanks for sharing.

Xyox 28th March 2018 03:38 PM

Quote:

Originally Posted by ppin (Post 2068015)
hey guys, i have made/fixed up a cheat and im trying to figure out a way to inject, or just an injector in the first place.

any help is greatly appreciated!

You need to grab a mono injector, modify it's source code and compile it yourself.
After doing that i don't know how safe it will be anyway.

shaliuno 28th March 2018 03:49 PM

Out of curiosity, what are the benefits of going internal vs external?

ZeusLord 28th March 2018 04:07 PM

Quote:

Originally Posted by Xyox (Post 2068677)
You need to grab a mono injector, modify it's source code and compile it yourself.

After doing that i don't know how safe it will be anyway.



Mono injectors were patched in the latest update

ppin 28th March 2018 09:34 PM

Quote:

Originally Posted by shaliuno (Post 2068701)
Out of curiosity, what are the benefits of going internal vs external?

internal is much safer than external (most of the time), there are also more things you can do.

Xyox 28th March 2018 10:20 PM

Quote:

Originally Posted by ppin (Post 2069103)
internal is much safer than external (most of the time), there are also more things you can do.

Internal is safer? I might be wrong but i think external is safer if it's RPM only.

mikangchan 28th March 2018 11:31 PM

Quote:

Originally Posted by Xyox (Post 2069153)
Internal is safer? I might be wrong but i think external is safer if it's RPM only.

it's not about safe. Just got faster on reading and rendering and also you can call internal functions

OhNoItsArma 12th April 2018 11:11 AM

I got the ExfilPoints but cannot seem to find how I would get there location, anyone know how?
https://i.imgur.com/fAoca4a.png

luastoned 12th April 2018 05:21 PM

Quote:

Originally Posted by Brut7 (Post 2064910)
Devs add hooks

Quote:

Originally Posted by Brut7 (Post 2065068)
in d3d11 hook checks ret address. if ret address not bound to dll (you use manual map ) = crash, but easy bypassing

d3d11 hooks:
CDevice::CreateInputLayout(index 11)
CContext::TID3D11DeviceContext_OMSetRenderTargets(index 33)

sig for ret adress check
48 89 5C 24 08 48 89 6C 24 10 48 89 74 24 18 57 48 83 EC 30 80 3D ?? ?? ?? ?? ??

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

Seems like they hook something else now?

mikangchan 12th April 2018 07:25 PM

Quote:

Originally Posted by OhNoItsArma (Post 2086495)
I got the ExfilPoints but cannot seem to find how I would get there location, anyone know how?
https://i.imgur.com/fAoca4a.png

What's the class?

OhNoItsArma 13th April 2018 03:41 AM

1295ba08 : ExfiltrationPoint

^ The Class I believe these objects are

Quote:

Originally Posted by mikangchan (Post 2086997)
What's the class?


Brut7 13th April 2018 04:55 AM

Quote:

Originally Posted by luastoned (Post 2086854)
https://i.imgur.com/CwlcK72.png

Seems like they hook something else now?

swapchain can be obtained by other methods as well so these hooks are irrelevant.

luastoned 13th April 2018 12:49 PM

Quote:

Originally Posted by Brut7 (Post 2087462)
swapchain can be obtained by other methods as well so these hooks are irrelevant.

Yeah but the other ones you posted are not there any longer.

ZeusLord 13th April 2018 06:11 PM

Does anyone know if there would be anyway to bypass the mono hooks that EFT added that prevents mono injector from working? As I see some people still use mono dlls somehow

mikangchan 14th April 2018 05:30 PM

Quote:

Originally Posted by OhNoItsArma (Post 2087423)
1295ba08 : ExfiltrationPoint

^ The Class I believe these objects are

Yes I do know the array of exits but I've no idea how you get to the array

tednugent 20th April 2018 02:30 AM

Anyone have the new GOM address for 0.8.0.1208 update yet?

supanoob 20th April 2018 02:43 AM

Quote:

Originally Posted by tednugent (Post 2094699)
Anyone have the new GOM address for 0.8.0.1208 update yet?

GOM wasn't changed. 14327e0 for me

mikangchan 20th April 2018 04:43 AM

Quote:

Originally Posted by Brut7 (Post 2065068)
in d3d11 hook checks ret address. if ret address not bound to dll (you use manual map ) = crash, but easy bypassing

d3d11 hooks:
CDevice::CreateInputLayout(index 11)
CContext::TID3D11DeviceContext_OMSetRenderTargets(index 33)

sig for ret adress check
48 89 5C 24 08 48 89 6C 24 10 48 89 74 24 18 57 48 83 EC 30 80 3D ?? ?? ?? ?? ??

did they add more hooks? I tried with CreateQuery and the game crashed

Brut7 20th April 2018 07:43 AM

Quote:

Originally Posted by mikangchan (Post 2094761)
did they add more hooks? I tried with CreateQuery and the game crashed

may be.

shaliuno 20th April 2018 01:58 PM

Offtopic:
FailStateGames are always at their "best".
They access: LocalSecurityAuthority.Shutdown at Launcher and can force the system to restart anytime. It doesn`t even ask to.
Now imagine you got PC for games and work with several virtual machines.
Their fail support said it is ok and guess what? Send the logs in EFT folder... How the heck is that related. :D
Nikita Buyanov get your shit together already.
Oh nvm I forgot, it is not about the game, it is about money.
Considering their AC still sucks hard...
Smh


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

mikangchan 20th April 2018 10:30 PM

comfirmed both fps camera and gameworld existed XD

supanoob 21st April 2018 03:29 AM

So recoil now becomes more complex? Zeroing vector in ProceduralWeaponAnimation + 0xb4 has no effect

mikangchan 21st April 2018 03:38 AM

Quote:

Originally Posted by supanoob (Post 2095913)
So recoil now becomes more complex? Zeroing vector in ProceduralWeaponAnimation + 0xb4 has no effect

why zeroing 0xB4?

Xyox 21st April 2018 10:06 AM

I think GOM changed, anyone's got the new one?

Brut7 21st April 2018 10:20 AM

Code:

#define GAME_OBJECT_MANAGER 0x14327E0
#define GET_POSITION 0x80C860

d3d11 hooks removed.

class Player
{
public:
char pad_0x0000[0x30]; //0x0000
__int64 OnPoseChangedEvent; //0x0030
__int64 OnSpeedChangedEvent; //0x0038
__int64 m_CharacterController; //0x0040
char pad_0x0048[0x10]; //0x0048
MovementContext* m_MovementContext; //0x0058
__int64 Pedometer; //0x0060
char pad_0x0068[0x30]; //0x0068
ProceduralWeaponAnimation* proceduralWeaponAnimation_0; //0x0098
char pad_0x00A0[0x10]; //0x00A0
PlayerBody* playerBody_0; //0x00B0
char pad_0x00B8[0x358]; //0x00B8
Profile* m_Profile; //0x0410
char pad_0x0418[0x8]; //0x0418
Physical* m_physical; //0x0420
char pad_0x0428[0x18]; //0x0428
__int64 _healthController; //0x0440
char pad_0x0448[0x8]; //0x0448
SinglePlayerInventoryController* m_SinglePlayerInventoryController; //0x0450
FirearmController* _handsController; //0x0458
__int64 _questController; //0x0460
char pad_0x0468[0x30]; //0x0468
PlayerBones* m_PlayerBones; //0x0498
};


class ProceduralWeaponAnimation
{
public:
char pad_0x0000[0x18]; //0x0000
PlayerSpring* HandsContainer; //0x0018
__int64 CameraContainer; //0x0020
BteathEffector* Breath; //0x0028
WalkEffector* Walk; //0x0030
MotionEffector* MotionReact; //0x0038
ForceEffector* ForceReact; //0x0040
ShotEffector* Shoting; //0x0048
TurnAwayEffector* TurnAway; //0x0050
CustomEffector* mCustomEffector; //0x0058
};


supanoob 21st April 2018 10:36 AM

Quote:

Originally Posted by mikangchan (Post 2095930)
why zeroing 0xB4?

this vector looks like a recoil one )

Xyox 21st April 2018 10:57 AM

Okay GOM is still the same. But still i can't seem to find the GameWorld object in the list.
I'm looping through it correctly because i'm printing the objects name and i can see they're correct but the GameWorld is not one of them.

supanoob 21st April 2018 11:25 AM

Quote:

Originally Posted by Xyox (Post 2096181)
Okay GOM is still the same. But still i can't seem to find the GameWorld object in the list.
I'm looping through it correctly because i'm printing the objects name and i can see they're correct but the GameWorld is not one of them.

GameWorld not in tagged but in activeobjects list

Xyox 21st April 2018 11:37 AM

Quote:

Originally Posted by supanoob (Post 2096196)
GameWorld not in tagged but in activeobjects list

I think i'm already searching for it in the ActiveObjectsList, which is at:
Code:

GameObjectManager + 0x18]
Right?

Brut7 21st April 2018 11:46 AM

I was wrong about hooks. Now they're not inline!
Code:

ID3D11Device hooks
CreateInputLayout index 11
CreateShaderResourceView index 7


ID3D11DeviceContext hooks
OMSetRenderTargets index 33
RSGetViewports index 95

img


mikangchan 21st April 2018 05:42 PM

Quote:

Originally Posted by Xyox (Post 2096203)
I think i'm already searching for it in the ActiveObjectsList, which is at:
Code:

GameObjectManager + 0x18]
Right?

FPS Camera and GameWorld only exist few seconds now so you need to cache them

Quote:

Originally Posted by supanoob (Post 2096165)
this vector looks like a recoil one )

Code:

0x38 // RecoilStrenghtXY
0x40 // RecoilStrenghtZ

both vector2

Quote:

Originally Posted by OhNoItsArma (Post 2087423)
1295ba08 : ExfiltrationPoint

^ The Class I believe these objects are

would you mind share ur chain to the objects?

Entroca 23rd April 2018 08:47 AM

Hello.
After the new patch they introduced some kind of collision mechanism and it kinda fucked up our after wipe glitching out of map for max strenght, stamina, endurance, and health. But we can't jump out now that we knock each other off.
So i have a question if anybody else knows any glitchy part of maps which tends to make you fall out of the map. Or using noclip for short amount of time could result in ban.

mikangchan 24th April 2018 08:00 AM

Anyone figured out the timemanager class in eft? Found a lot of speed hackers recently

mikangchan 25th April 2018 05:44 PM

I'm confused for skills. Apparently it's stored in some generic type,
However the game directly use them as float here
Code:

public float SprintingSpeed
  {
    get
    {
      return Mathf.Lerp(0.2f, 1f, (float) this.\uE001.Skills.StrengthBuffSprintSpeedInc);
    }
  }

Anyone successfully get those skill values?


Got the offsets. Does anyone know if they do server checks for skills?
https://i.imgur.com/QNRCLCI.jpg

goochguy 27th April 2018 05:34 PM

a bunch of the enums converted to C++

Code:

#pragma once

#include <cstdint>

namespace eft {
enum class EPlayerSide : uint32_t {
    Usec = 0x1,
    Bear = 0x2,
    Savage = 0x4
};

enum class EBodyPart : uint8_t {
    Head,
    Chest,
    Stomach,
    LeftArm,
    RightArm,
    LeftLeg,
    RightLeg,
    Common
};

enum class EPlayerPose : uint32_t {
    Prone,
    Duck,
    Stand
};

enum class ECurrencyType : uint32_t {
    USD,
    EUR,
    RUB
};

enum class EItemType : uint32_t {
    Weapon,
    WeaponMod,
    Ammo,
    Tool,
    Medicines
};

enum class EquipmentType : uint32_t {
    Common,
    PrimaryWeapon,
    SecondaryWeapon,
    Knife,
    HeadArmor,
    BodyArmor,
    TacticalVest,
    Headgear,
    WeaponMod,
    Ammo,
    Grenade,
};

enum class EWeaponModType : uint32_t {
    mod_mount = 0x1,
    mod_scope = 0x2,
    mod_tactical = 0x4,
    mod_stock = 0x8,
    mod_magazine = 0x10,
    mod_barrel = 0x20,
    mod_handguard = 0x40,
    mod_muzzle = 0x80,
    mod_sight_front = 0x100,
    mod_sight_rear = 0x200,
    mod_foregrip = 0x400,
    mod_reciever = 0x800,
    mod_charge = 0x1000,
    mod_pistol_grip = 0x2000,
    mod_launcher = 0x4000,
    mod_bipod = 0x8000,
    mod_mag_shaft = 0x10000,
    mod_silencer = 0x20000,
    mod_tactical_2 = 0x40000,
    chamber0 = 0x80000,
    chamber1 = 0x100000,
    patron_in_weapon = 0x200000,
    mod_gas_block = 0x400000,
    mod_equipment = 0x800000,
    mod_equipment_000 = 0x1000000,
    mod_equipment_001 = 0x2000000,
    mod_nvg = 0x4000000,
    mod_flashlight = 0x8000000,
};

enum class EquipmentSlot : uint32_t {
    FirstPrimaryWeapon,
    SecondPrimaryWeapon,
    Holster,
    Scabbard,
    Backpack,
    SecuredContainer,
    TacticalVest,
    ArmorVest,
    Pockets,
    Eyewear,
    FaceCover,
    Headwear,
    Earpiece,
    Dogtag,
};

enum class MaterialType : uint32_t {
        None,
        Asphalt,
        Body,
        Cardboard,
        Chainfence,
        Concrete,
        Fabric,
        GarbageMetal,
        GarbagePaper,
        GenericSoft,
        Glass,
        GlassShattered,
        Grate,
        GrassHigh,
        GrassLow,
        Gravel,
        MetalThin,
        MetalThick,
        Mud,
        Pebbles,
        Plastic,
        Stone,
        Soil,
        SoilForest,
        Tile,
        Water,
        WaterPuddle,
        WoodThin,
        WoodThick,
        Tyre,
        Rubber,
        GenericHard,
        BodyArmor,
        Swamp,
};

enum class GameStatus : uint32_t {
        Stopped,
        Running,
        Runned,
        Starting,
        Started,
        Stopping,
        SoftStopping,
};
}


ZeusLord 27th April 2018 05:35 PM

What would be the best way to check for local player from an external?

shaliuno 28th April 2018 08:04 AM

accountID = always same
Nickname = playing as scav will break it
registrationDate = will change after wipe as it is when you created your character

mikangchan 28th April 2018 08:16 AM

Quote:

Originally Posted by ZeusLord (Post 2102507)
What would be the best way to check for local player from an external?

check onspeedchangeevent

Quote:

Originally Posted by goochguy (Post 2102504)
a bunch of the enums converted to C++

Code:

#pragma once

#include <cstdint>

namespace eft {
enum class EPlayerSide : uint32_t {
    Usec = 0x1,
    Bear = 0x2,
    Savage = 0x4
};

enum class EBodyPart : uint8_t {
    Head,
    Chest,
    Stomach,
    LeftArm,
    RightArm,
    LeftLeg,
    RightLeg,
    Common
};

enum class EPlayerPose : uint32_t {
    Prone,
    Duck,
    Stand
};

enum class ECurrencyType : uint32_t {
    USD,
    EUR,
    RUB
};

enum class EItemType : uint32_t {
    Weapon,
    WeaponMod,
    Ammo,
    Tool,
    Medicines
};

enum class EquipmentType : uint32_t {
    Common,
    PrimaryWeapon,
    SecondaryWeapon,
    Knife,
    HeadArmor,
    BodyArmor,
    TacticalVest,
    Headgear,
    WeaponMod,
    Ammo,
    Grenade,
};

enum class EWeaponModType : uint32_t {
    mod_mount = 0x1,
    mod_scope = 0x2,
    mod_tactical = 0x4,
    mod_stock = 0x8,
    mod_magazine = 0x10,
    mod_barrel = 0x20,
    mod_handguard = 0x40,
    mod_muzzle = 0x80,
    mod_sight_front = 0x100,
    mod_sight_rear = 0x200,
    mod_foregrip = 0x400,
    mod_reciever = 0x800,
    mod_charge = 0x1000,
    mod_pistol_grip = 0x2000,
    mod_launcher = 0x4000,
    mod_bipod = 0x8000,
    mod_mag_shaft = 0x10000,
    mod_silencer = 0x20000,
    mod_tactical_2 = 0x40000,
    chamber0 = 0x80000,
    chamber1 = 0x100000,
    patron_in_weapon = 0x200000,
    mod_gas_block = 0x400000,
    mod_equipment = 0x800000,
    mod_equipment_000 = 0x1000000,
    mod_equipment_001 = 0x2000000,
    mod_nvg = 0x4000000,
    mod_flashlight = 0x8000000,
};

enum class EquipmentSlot : uint32_t {
    FirstPrimaryWeapon,
    SecondPrimaryWeapon,
    Holster,
    Scabbard,
    Backpack,
    SecuredContainer,
    TacticalVest,
    ArmorVest,
    Pockets,
    Eyewear,
    FaceCover,
    Headwear,
    Earpiece,
    Dogtag,
};

enum class MaterialType : uint32_t {
        None,
        Asphalt,
        Body,
        Cardboard,
        Chainfence,
        Concrete,
        Fabric,
        GarbageMetal,
        GarbagePaper,
        GenericSoft,
        Glass,
        GlassShattered,
        Grate,
        GrassHigh,
        GrassLow,
        Gravel,
        MetalThin,
        MetalThick,
        Mud,
        Pebbles,
        Plastic,
        Stone,
        Soil,
        SoilForest,
        Tile,
        Water,
        WaterPuddle,
        WoodThin,
        WoodThick,
        Tyre,
        Rubber,
        GenericHard,
        BodyArmor,
        Swamp,
};

enum class GameStatus : uint32_t {
        Stopped,
        Running,
        Runned,
        Starting,
        Started,
        Stopping,
        SoftStopping,
};
}


did u get "magic bullet" working?

balken92 29th April 2018 12:51 PM

Anyone interested in helping me with this?

goochguy 29th April 2018 04:09 PM

Quote:

Originally Posted by mikangchan (Post 2103145)
did u get "magic bullet" working?

I don't know what magic bullet is I've just started with this game.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

mikangchan 29th April 2018 07:46 PM

Quote:

Originally Posted by goochguy (Post 2104472)
I don't know what magic bullet is I've just started with this game.

ah it's bullet collision stuff cuz I notice you posted some material enums

ZeusLord 30th April 2018 03:30 AM

Quote:

Originally Posted by balken92 (Post 2104317)
Anyone interested in helping me with this?

help you with what>?

ThePapanoob 30th April 2018 12:41 PM

Quote:

Originally Posted by mikangchan (Post 2104661)
ah it's bullet collision stuff cuz I notice you posted some material enums

there are more than one way to do magic bulletsbe a bit more creative and you can find a way ;-)

Raiiindrops 1st May 2018 05:25 AM

any info about engine rendering, or is present hook ud?

kakea 2nd May 2018 02:08 PM

Has anyone figured out the private key that is used to encode/decode the server comms related to trading and character menus?
Edit: Nevermind it was zlib compression xD

supanoob 3rd May 2018 03:22 PM

What's a good way now to distinguish between scavs and player-scavs?

shaliuno 3rd May 2018 04:08 PM

Quote:

Originally Posted by supanoob (Post 2108402)
What's a good way now to distinguish between scavs and player-scavs?

accountID

bl00 3rd May 2018 06:34 PM

Yep, AI has always accountid equal to zero.

dler4 6th May 2018 03:25 PM

Where's the list of items now? Used to be in the active object list

shaliuno 6th May 2018 08:40 PM

What items? If you mean loot on ground it is a dictionary at absolutely different path.

dler4 7th May 2018 12:03 AM

Quote:

Originally Posted by shaliuno (Post 2111668)
What items? If you mean loot on ground it is a dictionary at absolutely different path.

Yes loot on ground, where is the list/dictionary now?

mikangchan 7th May 2018 04:27 AM

Quote:

Originally Posted by dler4 (Post 2111820)
Yes loot on ground, where is the list/dictionary now?

not sure about that dictionary but there's always a list in GameWorld. check out one/two page back

shaliuno 7th May 2018 07:13 AM

LocalGameWorld + 0x50 (could move with new patches or not, CheatEngine Dissect can help to find)

supanoob 7th May 2018 08:07 AM

Anybody found a collision test proc?

mikangchan 7th May 2018 10:33 PM

Quote:

Originally Posted by shaliuno (Post 2111993)
LocalGameWorld + 0x50 (could move with new patches or not, CheatEngine Dissect can help to find)

type: System.Collections.Generic.List

There's also a list in World at 0xB8 but haven't find a way to sort it out

dler4 12th May 2018 03:19 AM

Can anyone find name/player flag? I can't seem to find name using a pattern scan that worked before as well as brute force. I assume profile offset changed?

Brut7 12th May 2018 06:07 AM

Code:

class Player
{
public:
char pad_0x0000[0x30]; //0x0000
__int64 OnPoseChangedEvent; //0x0030
__int64 OnSpeedChangedEvent; //0x0038
__int64 m_CharacterController; //0x0040
char pad_0x0048[0x10]; //0x0048
MovementContext* m_MovementContext; //0x0058
__int64 Pedometer; //0x0060
char pad_0x0068[0x30]; //0x0068
ProceduralWeaponAnimation* proceduralWeaponAnimation_0; //0x0098
char pad_0x00A0[0x10]; //0x00A0
PlayerBody* playerBody_0; //0x00B0
char pad_0x00B8[0x348]; //0x00B8
Profile* m_Profile; //0x0400
char pad_0x0408[0x8]; //0x0408
Physical* m_physical; //0x0410
char pad_0x0418[0x18]; //0x0418
__int64 _healthController; //0x0430
char pad_0x0438[0x8]; //0x0438
SinglePlayerInventoryController* m_SinglePlayerInventoryController; //0x0440
FirearmController* _handsController; //0x0448
__int64 _questController; //0x0450
char pad_0x0458[0x30]; //0x0458
PlayerBones* m_PlayerBones; //0x0488
};


PutinIsLove 12th May 2018 11:52 AM

Hey guys,
I Can't manage to get the fps camera from tagged list.

Succefully getting the gameworld tho. Any advices ?

Get some objects like fence, cube, decal and puddle.

Thanks.

ThePapanoob 12th May 2018 12:32 PM

Quote:

Originally Posted by PutinIsLove (Post 2116940)
Hey guys,
I Can't manage to get the fps camera from tagged list.

Succefully getting the gameworld tho. Any advices ?

Get some objects like fence, cube, decal and puddle.

Thanks.

This is not like an c++ iterator you are iterating it 1 to less

Brut7 12th May 2018 04:51 PM

Quote:

Originally Posted by PutinIsLove (Post 2116940)
Hey guys,
I Can't manage to get the fps camera from tagged list.

Succefully getting the gameworld tho. Any advices ?

Get some objects like fence, cube, decal and puddle.

Thanks.

Code:

GameObject* m_cam = ObjManager->lastTaggedObject->lastObject


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

PutinIsLove 12th May 2018 09:22 PM

Quote:

Originally Posted by ThePapanoob (Post 2116969)
This is not like an c++ iterator you are iterating it 1 to less

Thanks for the answer but I can't really understand what you mean by "you are iterating it 1 to less"
Thx.

ThePapanoob 12th May 2018 09:34 PM

Quote:

Originally Posted by PutinIsLove (Post 2117343)
Thanks for the answer but I can't really understand what you mean by "you are iterating it 1 to less"

Do you have any method to find those tagged object in c# ? Thx.

youre literaly missing the last object... :D

PutinIsLove 12th May 2018 09:39 PM

Quote:

Originally Posted by ThePapanoob (Post 2117349)
youre literaly missing the last object... :D

Am I really ? :laugh2: Will look into that later ! Thanks for the information !

xyuteam 12th May 2018 10:12 PM

Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using UE = UnityEngine;

namespace Swoopie
{
    public static class EFTCore
    {
        public static readonly string procName = "escapefromtarkov";
        public static readonly long GOM = 0x14327E0;

        public static IntPtr gameObjectManager = Base.GetPtr(new IntPtr(Memory.ImageBase().ToInt64() + GOM), new int[] { });

        public static IntPtr gameWorld = new IntPtr(0x0);

        private static readonly int[] fpsCameraStruct = new int[] { 0x30, 0x18 };
        public static IntPtr fpsCamera = new IntPtr(0x0);

        private static readonly int[] localGameWorldStruct = new int[] { 0x30, 0x18, 0x28 };
        public static IntPtr localGameWorld = new IntPtr(0x0);

        private static readonly int[] registeredPlayerStruct = new int[] { 0x60 };
        public static IntPtr registeredPlayers = new IntPtr(0x0);
        private static readonly int[] playerCountStruct = new int[] { 0x18 };

        public static void Init()
        {
            try
            {
                gameObjectManager = Base.GetPtr(new IntPtr(Memory.ImageBase().ToInt64() + GOM), new int[] { });
                GameWorld();
                FTPCamera();
                LocalGameWorld();
                RegisteredPlayers();
            }
            catch { }
        }
        public static IntPtr GameWorld()
        {
            gameWorld = new IntPtr(0x0);
            gameWorld = FindActiveObject("gameworld");
            return gameWorld;
        }
        public static IntPtr FTPCamera()
        {
            fpsCamera = new IntPtr(0x0);
            fpsCamera = FindTaggedObject("fps camera");
            return fpsCamera;
        }
        private static IntPtr FindTaggedObject(string objName)
        {
            int limit = 350;
            StringBuilder objNames = new StringBuilder();
            IntPtr output = new IntPtr(0x0);
            if (!Memory.isRunning())
            {
                return output;
            }
            for (int curObject = 0x1; curObject < limit; curObject++)
            {
                List<int> newStruct = new List<int>() { 0x8 };
                List<int> depth = Enumerable.Repeat(0x8, curObject).ToList();
                newStruct.AddRange(depth);
                newStruct.AddRange(new int[] { 0x10, 0x60, 0x0 });

                long newAddr = Base.GetPtr(gameObjectManager, newStruct.ToArray()).ToInt64();

                string objectName = Memory.ReadOld<string>(newAddr, 10);
                objNames.AppendLine(objectName);
                if (objectName.ToLower() == objName.ToLower())
                {
                    newStruct.RemoveAt(newStruct.Count() - 1);
                    newStruct.RemoveAt(newStruct.Count() - 1);
                    output = Base.GetPtr(gameObjectManager, newStruct.ToArray());
                    return output;
                }
            }
            return output;
        }
        private static IntPtr FindActiveObject(string objName)
        {
            int limit = 350;
            StringBuilder objNames = new StringBuilder();
            IntPtr output = IntPtr.Zero;
            if (!Memory.isRunning())
            {
                return output;
            }
            for (int curObject = 0x1; curObject < limit; curObject++)
            {
                List<int> newStruct = new List<int>() { 0x18 };
                List<int> depth = Enumerable.Repeat(0x8, curObject).ToList();
                newStruct.AddRange(depth);
                newStruct.AddRange(new int[] { 0x10, 0x60, 0x0 });

                long newAddr = Base.GetPtr(gameObjectManager, newStruct.ToArray()).ToInt64();

                string objectName = Memory.ReadOld<string>(newAddr, 9);
                objNames.AppendLine(objectName);
                if (objectName.ToLower() == objName.ToLower())
                {
                    newStruct.RemoveAt(newStruct.Count() - 1);
                    newStruct.RemoveAt(newStruct.Count() - 1);
                    output = Base.GetPtr(gameObjectManager, newStruct.ToArray());
                    return output;
                }
            }
            return output;
        }
        public static IntPtr LocalGameWorld()
        {
            localGameWorld = new IntPtr(0x0);
            localGameWorld = Base.GetPtr(gameWorld, localGameWorldStruct);
            return localGameWorld;
        }

        public static IntPtr RegisteredPlayers()
        {
            registeredPlayers = new IntPtr(0x0);
            registeredPlayers = Base.GetPtr(localGameWorld, registeredPlayerStruct);
            return registeredPlayers;
        }
        public static bool Ingame()
        {
            Init();
            return !(GetPlayerByName(Settings.USERNAME) == null);
        }
        public static int PlayerCount()
        {
            try
            {
                IntPtr countAddr = Base.GetPtr(registeredPlayers, playerCountStruct);
                int playerCount = Memory.Read<int>(countAddr.ToInt64());
                return playerCount;
            }
            catch
            {
                return 0;
            }
        }
        private static List<EFTPlayer> AllPlayers()
        {
            List<EFTPlayer> users = new List<EFTPlayer>();
            int limit = PlayerCount();

            for (int i = 0x0; i < limit; i++)
            {
                IntPtr playerObjAddr = Base.GetPtr(registeredPlayers, new int[] { 0x10, 0x20 + i * 0x8 });
                IntPtr playerNameAddr = Base.GetPtr(playerObjAddr, new int[] { 0x398, 0x28, 0x10, 0x14 });

                EFTPlayer member = new EFTPlayer(playerObjAddr);
                users.Add(member);
            }
            return users;
        }
        public static List<EFTPlayer> Players()
        {
            EFTPlayer localPlayer = GetPlayerByName(Settings.USERNAME);
            List<EFTPlayer> playerList = AllPlayers();
            playerList.ForEach(u =>
            {
                u.distance = GetDistance(localPlayer.GetVector3(), u.GetVector3());
            });
            return playerList;
        }

        public static EFTPlayer GetPlayerByName(string username)
        {
            try
            {
                foreach (EFTPlayer player in AllPlayers())
                {
                    string uname = player.Username();
                }
                return AllPlayers().Where(u => u.Username().ToLower() == username.ToLower()).First();
            }
            catch
            {
                Overlay.ingame = false;
                return null;
            }
        }

        public static float GetDistance(UE.Vector3 v1, UE.Vector3 v2)
        {
            return UE.Vector3.Distance(v1, v2);
        }
    }
}

help me update this shit))
I suffer a week

PutinIsLove 12th May 2018 10:51 PM

Quote:

Originally Posted by xyuteam (Post 2117383)
help me update this shit))
I suffer a week

Yes of course :

Just change all lines by :

Code:

String[] polite = new string[] {"Hello", "Please", "Thanks", "Bye" };

mikangchan 13th May 2018 02:49 AM

Quote:

Originally Posted by PutinIsLove (Post 2116940)
Hey guys,
I Can't manage to get the fps camera from tagged list.

Succefully getting the gameworld tho. Any advices ?

Get some objects like fence, cube, decal and puddle.

Thanks.

It is probably removed from tagged list after game starts

PutinIsLove 13th May 2018 02:52 AM

Quote:

Originally Posted by mikangchan (Post 2117560)
It is probably removed from tagged list after game starts

I managed to catch it ! :BoomSmilie_anim:

Thanks !

ThePapanoob 13th May 2018 02:02 PM

Quote:

Originally Posted by mikangchan (Post 2117560)
It is probably removed from tagged list after game starts

its not

PutinIsLove 13th May 2018 04:21 PM

Quote:

Originally Posted by ThePapanoob (Post 2117974)
its not

I can confirm that. :wave:

mikangchan 13th May 2018 10:39 PM

Quote:

Originally Posted by ThePapanoob (Post 2117974)
its not

can't remember but GameWorld does get removed

ThePapanoob 14th May 2018 09:41 AM

Quote:

Originally Posted by mikangchan (Post 2118382)
can't remember but GameWorld does get removed

it gets removed when you leave the gameworld aka go back to the main menu :wink1:

mikangchan 14th May 2018 03:22 PM

Quote:

Originally Posted by ThePapanoob (Post 2118714)
it gets removed when you leave the gameworld aka go back to the main menu :wink1:

probably but I use cache so it doesn't matter

dler4 15th May 2018 01:20 AM

What's the offset chain to get an item's name? (starting from the item list offset in local game world)

I could only seem to get the template name, not the specific name

lofaq 15th May 2018 04:39 AM

Can someone say the offsets of dead players and scavs?

xyuteam 15th May 2018 07:06 AM

Quote:

Originally Posted by PutinIsLove (Post 2117409)
Yes of course :

Just change all lines by :

Code:

String[] polite = new string[] {"Hello", "Please", "Thanks", "Bye" };

Okey, Please help me fix it source. Thanks

shaliuno 15th May 2018 01:02 PM

Quote:

Originally Posted by lofaq (Post 2119473)
Can someone say the offsets of dead players and scavs?

Dead players get removed from player list, so if player dies - you can`t see it anymore.

You can do two ways to fix it:
1) Cache players last position and when player dies, keep it cached.
2) Look through the lootlist table and get dead bodies.
3) Do both, so you can keep the nickname.

SCAV is same as player, but has accountID = 0

ppin 16th May 2018 03:03 AM

how are you guys injecting? i cant use mono because its patched. Unless there is a way around it?

loadeddeath 16th May 2018 04:16 AM

Has anyone faced issue when you scope-in using sniper sight, game creates second view and its also being w2s'd, so basically boxes will duplicate and float around main box?

GrapeFox 16th May 2018 12:20 PM

Did somebody find RaycastHit/visibility proc?

dler4 16th May 2018 11:21 PM

Did playerlist starting offset change from 0x20 to 0x190 or move somewhere else? Number of players seems to now be where playerlist was?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

mikangchan 17th May 2018 05:26 AM

Quote:

Originally Posted by dler4 (Post 2121173)
Did playerlist starting offset change from 0x20 to 0x190 or move somewhere else? Number of players seems to now be where playerlist was?

u mean List<T> class or List<Player> ptr?

dler4 17th May 2018 01:13 PM

Quote:

Originally Posted by mikangchan (Post 2121319)
u mean List<T> class or List<Player> ptr?

I assume the second, it was at localgameworld + 0x60] + 0x10]

Am I crazy or was there a small patch that changed it? Can't seem to find players anymore

mikangchan 17th May 2018 09:43 PM

Quote:

Originally Posted by dler4 (Post 2121605)
I assume the second, it was at localgameworld + 0x60] + 0x10]

Am I crazy or was there a small patch that changed it? Can't seem to find players anymore

no it's still there. It's a List<Player>* at 0x60 and the item in a List<T> is ptr+0x10]+0x20 + index * 0x8

lofaq 18th May 2018 05:00 AM

it seems that the fpscamera has moved.

ThePapanoob 18th May 2018 08:32 AM

Quote:

Originally Posted by lofaq (Post 2122240)
it seems that the fpscamera has moved.

it didnt. go a few sites back and you will find the answer :D

lofaq 18th May 2018 09:38 AM

I cant find fpscamera only in the interchange map... O_O

PutinIsLove 20th May 2018 02:57 PM

Quote:

Originally Posted by ThePapanoob (Post 2122338)
it didnt. go a few sites back and you will find the answer :D

Hey guys, how do you get player position from the player class ? I've tried the vector in pedometer but it doesn't seems to update very fast.

Also tried :

Player + 0x8] + 0x38] + 0x90 still nothing

Thanks

Xyox 20th May 2018 10:18 PM

Quote:

Originally Posted by PutinIsLove (Post 2124649)
Hey guys, how do you get player position from the player class ? I've tried the vector in pedometer but it doesn't seems to update very fast.

Also tried :

Player + 0x8] + 0x38] + 0x90 still nothing

Thanks

Code:

Player + 0x58] + 0x60
Player + 0x58] + 0x68
Player + 0x58] + 0x70

Those are the player coordinates.


Now i've made an external radar which works but i'm facing a little problem.
When i test it in offline mode i can see all the scavs right away as soon as they spawn.
But when i try it in online mode i can't see the players as soon as they spawn, they only appear on my radar after like 5 minutes.
Did anybody here have the same problem as i have or knows anything about this?

PutinIsLove 20th May 2018 10:32 PM

Quote:

Originally Posted by Xyox (Post 2125073)
Code:

Player + 0x58] + 0x60
Player + 0x58] + 0x68
Player + 0x58] + 0x70

Those are the player coordinates.


Now i've made an external radar which works but i'm facing a little problem.
When i test it in offline mode i can see all the scavs right away as soon as they spawn.
But when i try it in online mode i can't see the players as soon as they spawn, they only appear on my radar after like 5 minutes.
Did anybody here have the same problem as i have or knows anything about this?

Thank you SO MUCH ! +rep.

Xyox 20th May 2018 10:43 PM

Quote:

Originally Posted by PutinIsLove (Post 2125082)
Thank you SO MUCH ! +rep.

Please post here if you can get valid coordinates for all players with the offsets i gave you.
Because i just noticed that all players have (0, 0, 0) coordinates in my radar only when i'm in online mode...

PutinIsLove 20th May 2018 10:58 PM

Quote:

Originally Posted by Xyox (Post 2125099)
Please post here if you can get valid coordinates for all players with the offsets i gave you.
Because i just noticed that all players have (0, 0, 0) coordinates in my radar only when i'm in online mode...

Hmm yeah finally it doesn't work for me either. Values are weird. :eek13:

So I'm gonna go back finally.

Damn, how to get that transform from player. It drives me crazy :banghead:

Quote:

Originally Posted by Xyox (Post 2125099)
Please post here if you can get valid coordinates for all players with the offsets i gave you.
Because i just noticed that all players have (0, 0, 0) coordinates in my radar only when i'm in online mode...

You can use pedometer. But it's not really the best way because it has a little delay but for now it works.

player + 0.60] + 0x30 (Xpos)
player + 0.60] + 0x34 (Ypos)
player + 0.60] + 0x38 (Zpos)


But we really need that playerTransform ...

Xyox 20th May 2018 11:22 PM

Quote:

Originally Posted by PutinIsLove (Post 2125106)
Hmm yeah finally it doesn't work for me either. Values are weird. :eek13:

So I'm gonna go back finally.

Damn, how to get that transform from player. It drives me crazy :banghead:



You can use pedometer. But it's not really the best way because it has a little delay but for now it works.

player + 0.60] + 0x30 (Xpos)
player + 0.60] + 0x34 (Ypos)
player + 0.60] + 0x38 (Zpos)


But we really need that playerTransform ...


I noticed while playing with a friend that the coordinates from the offsets i gave you only get updated when you're looking in the direction of the player...
This was probably part of their netcode optimisation because in the previous patch it didn't work this way.

Xyox 21st May 2018 05:45 PM

Does anybody know what type of object is inside the LootList at GameWorld + 0x50?

I can see from CE that the LootList is System.Collections.Generic.List<SomeSymbols>.
But when i look at SomeSymbols in CE i see it has only one method and that's it...

shaliuno 21st May 2018 06:11 PM

Quote:

Originally Posted by Xyox (Post 2125763)
Does anybody know what type of object is inside the LootList at GameWorld + 0x50?

I can see from CE that the LootList is System.Collections.Generic.List<SomeSymbols>.
But when i look at SomeSymbols in CE i see it has only one method and that's it...

Dunno but if you need a shortcut to get lootable items (name position etc), I can help.

klmno 21st May 2018 06:42 PM

Quote:

Originally Posted by shaliuno (Post 2125792)
Dunno but if you need a shortcut to get lootable items (name position etc), I can help.

Please do, that list of items can only be used internally without reversing a shit ton of stuff to get position.

Quote:

Originally Posted by Xyox (Post 2125099)
Please post here if you can get valid coordinates for all players with the offsets i gave you.
Because i just noticed that all players have (0, 0, 0) coordinates in my radar only when i'm in online mode...

player + 0xb0] + 0x28] + 0x28] + 0x10] + 0x20] + 0x10] + 0x38] + 0x90
there's probably shorter ways but I use this transform list to get bone positions.

Xyox 21st May 2018 06:48 PM

Quote:

Originally Posted by shaliuno (Post 2125792)
Dunno but if you need a shortcut to get lootable items (name position etc), I can help.

Yes please.

Quote:

Originally Posted by klmno (Post 2125813)
player + 0xb0] + 0x28] + 0x28] + 0x10] + 0x20] + 0x10] + 0x38] + 0x90]
there's probably shorter ways but I use this transform list to get bone positions.

Thanks! I thought about using bone positions but was having a bad time finding them...

PutinIsLove 21st May 2018 07:09 PM

Quote:

Originally Posted by klmno (Post 2125813)
Please do, that list of items can only be used internally without reversing a shit ton of stuff to get position.



player + 0xb0] + 0x28] + 0x28] + 0x10] + 0x20] + 0x10] + 0x38] + 0x90]
there's probably shorter ways but I use this transform list to get bone positions.

Wow that's a lot of read for just a position. But it works. Thanks !

And just a little thing it's +0x90 not +0x90]

shaliuno 22nd May 2018 11:35 AM

LootList = LocalGameWorld + 0x50

LootList is a List so:

LootCount = LootList + 0x18
FirstLootEntry = LootList + 0x10] + 0x20

FirstLootEntry = this is the first address in loot table that holds address of our LootObject, from here we can get the rest based on lootcount. Best for caching, reading all at once.

So it basically looks like this:

LootObject = FirstLootEntry + (i * 0x8);
Where "i" is 0 to LootCount.

All the loot object addresses are yours now with simple "for" cycle.

Now for each LootObject:

LootName = LootObject ] + 0x10 ] + 0x30 ] + 0x60 ]
inside you get a technical name like weapon_ak47_5.45blah. I find this one better that actual "readable name" as I can cut it to "ak47" using regexp. But readable name is not that far, if you dig around in CE or ReClass (sorry I didn`t remember)

LootPosition = LootObject ] + 0x10 ] + 0x30 ] + 0x30 ] + 0x08 ] + 0x38 ] + 0x90
you get only X in XYZ that way so just read sizeof(float) * 3 and you`ll be fine.

That LootList contains all the items that stay openly on the ground.
Dropped items, cases, safes, dead bodies.

Sorry I`m not good at explaining :D

ZeusLord 22nd May 2018 04:20 PM

Hey guys, what is the best way to draw for external esp in tarkov?

Xyox 22nd May 2018 05:07 PM

Quote:

Originally Posted by shaliuno (Post 2126473)
LootList = LocalGameWorld + 0x50

LootList is a List so:

LootCount = LootList + 0x18
FirstLootEntry = LootList + 0x10] + 0x20

FirstLootEntry = this is the first address in loot table that holds address of our LootObject, from here we can get the rest based on lootcount. Best for caching, reading all at once.

So it basically looks like this:

LootObject = FirstLootEntry + (i * 0x8);
Where "i" is 0 to LootCount.

All the loot object addresses are yours now with simple "for" cycle.

Now for each LootObject:

LootName = LootObject ] + 0x10 ] + 0x30 ] + 0x60 ]
inside you get a technical name like weapon_ak47_5.45blah. I find this one better that actual "readable name" as I can cut it to "ak47" using regexp. But readable name is not that far, if you dig around in CE or ReClass (sorry I didn`t remember)

LootPosition = LootObject ] + 0x10 ] + 0x30 ] + 0x30 ] + 0x08 ] + 0x38 ] + 0x90
you get only X in XYZ that way so just read sizeof(float) * 3 and you`ll be fine.

That LootList contains all the items that stay openly on the ground.
Dropped items, cases, safes, dead bodies.

Sorry I`m not goot at explaining :D

Crystal clear! Thanks so much, +rep

EDIT: Apparently i need to "spread reputation around" before giving it to you again eheh


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

PutinIsLove 22nd May 2018 07:19 PM

Quote:

Originally Posted by ZeusLord (Post 2126754)
Hey guys, what is the best way to draw for external esp in tarkov?

What do you mean ? Drawing ? SharpDx

mikangchan 28th May 2018 03:43 AM

Quote:

Originally Posted by ZeusLord (Post 2126754)
Hey guys, what is the best way to draw for external esp in tarkov?

imgui

ZeusLord 29th May 2018 02:59 AM

Quote:

Originally Posted by mikangchan (Post 2132193)
imgui

Lol thanks, I love when people tell me to use the search bar for this lmfao some people are sad on these forums

EDIT: To the person who says use the search bar in which I shall not name I don't see any results for tarkov? But yeah.

loadeddeath 29th May 2018 03:18 AM

Quote:

Originally Posted by ZeusLord (Post 2133055)
Lol thanks, I love when people tell me to use the search bar for this lmfao some people are sad on these forums

EDIT: To the person who says use the search bar in which I shall not name I don't see any results for tarkov? But yeah.

All you need is already in this thread. Imgui and SharpDX is used to draw boxes and what ever you want. You just need a better effort.

ZeusLord 29th May 2018 04:22 AM

Quote:

Originally Posted by loadeddeath (Post 2133066)
All you need is already in this thread. Imgui and SharpDX is used to draw boxes and what ever you want. You just need a better effort.

Well I know about SharpDX I haven't seen anything of Imgui yet

niceone1 6th June 2018 02:05 PM

A quick question: I want to start reversing EFT and i'm completly new to this game, so for the anticheat is there anything i have to worry about at the moment while using cheatengine/reclass/ollydbg?

I think someone said in this thread, that they are scanning for the windownames - so just renaming it will be fine?

goochguy 6th June 2018 05:04 PM

Quote:

Originally Posted by niceone1 (Post 2141758)
A quick question: I want to start reversing EFT and i'm completly new to this game, so for the anticheat is there anything i have to worry about at the moment while using cheatengine/reclass/ollydbg?

I think someone said in this thread, that they are scanning for the windownames - so just renaming it will be fine?

I'm not sure what method of detection they are using but I've heard Cheat Engine is an automatic ban even if it's not attached to the game. I've been using ReClass with no issues (the version I'm using does randomize the window title though).

niceone1 6th June 2018 10:10 PM

Quote:

Originally Posted by goochguy (Post 2141875)
I'm not sure what method of detection they are using but I've heard Cheat Engine is an automatic ban even if it's not attached to the game. I've been using ReClass with no issues (the version I'm using does randomize the window title though).

Okay, and you never used CE?

goochguy 7th June 2018 01:23 AM

Quote:

Originally Posted by niceone1 (Post 2142102)
Okay, and you never used CE?

Nope never used CE with tarkov. Although from some of his posts it looks like @shaliuno has been using CE (he posted a mono dissector dump). Maybe he can answer if he's doing anything special like randomizing title, disconnecting internet, etc.

btw does anybody have any versions of the game files prior to the update that obfuscated most of the types to random unicode characters?

shaliuno 7th June 2018 06:28 AM

Nope, no randomizing, just pure and clean CE as it is.
Just don`t use it online :D

Have assemblies from but it`s obfuscated already:
0.7.6.993 - 0.8.3.1274

Anybody has issue with WorldToScreen on Factory?
Mine is same as Glumi`s but Factory somehow shows everything on top.

nvm. it is just my shitcode :)

niceone1 7th June 2018 02:33 PM

Allright, thank you @goochguy and @shaliuno!
So i can start to see what we can get from this game :D

goochguy 8th June 2018 12:58 AM

Does anybody know how to get item types from the loot list without doing some weird parsing of the names? I looked through LootItem and EFT.InventoryLogic.Item and EFT.InventoryLogic.ItemTemplate and there doesn't seem to be anything easy to use that relates to an enum or anything like that. They have to be in the game somewhere to decide what will go in a keybar, weapon case, etc.

btw here is what my reclass file looks like right now if anybody is interested https://pastebin.com/gNHhLKpc

A lot of it is found in previous parts of this thread. Most of it was discovered by just reading through mono dissector. Sorry for all the unnamed classes.

shaliuno 8th June 2018 09:26 AM

Technical names are prefixed with weapon_ item_ equipment_
Isn`t that enough?

gummy 8th June 2018 03:13 PM

Patch 0.8.5.1359 is Live

Quote:

Changelist:

Anticheat system update

Fixed pistol container glitches

Fixed secure container glitches

Fixed item transfer hotkeys

AI Scavs now don't snap shoot at players who took cover behind a wall

Selling non-empty containers is now prohibited (including barter)

Quest changes:

In quests that required long item grinding, added ability to turn them in
partially, not all at once (with few exceptions).

Removed all timed conditions, difficulty adjusted by increasing current task
requirements.

Heavy armor Ragman quest conditions were toned down, now you need to
bring one piece in mint condition and one under 50% durability.

Introduced the dogtag level limitations to some of the quests that previously
allowed any dogtags.
Anticheat seems to be some russian anticheat called SaberClaw
used in a game called Contract Wars which is F2P
SClient.dll seems to be a packed .net module (which injects a separate dll) <- maybe I dont know what im doing

im not good at reversing so somebody else can find out exactly what its doing.

Darknetwork 9th June 2018 02:20 AM

Quote:

Originally Posted by gummy8unny (Post 2143799)
Patch 0.8.5.1359 is Live



Anticheat seems to be some russian anticheat called SaberClaw
used in a game called Contract Wars which is F2P
SClient.dll seems to be a packed .net module (which injects a separate dll) <- maybe I dont know what im doing

im not good at reversing so somebody else can find out exactly what its doing.

Contract Wars was made by EFT's devs tho.

ly937149473 10th June 2018 09:30 AM

any one have the latest offset or sig?

shaliuno 10th June 2018 02:09 PM

Quote:

Originally Posted by ly937149473 (Post 2145954)
any one have the latest offset or sig?

It didn`t change. GOM is same

ly937149473 10th June 2018 02:48 PM

Quote:

Originally Posted by shaliuno (Post 2146141)
It didn`t change. GOM is same

Is GOM offset 0x14327E0 right?

Could you share me some reference about how to get Player's profile , location and loots with GOM? Very appreciated,man.

shaliuno 10th June 2018 03:02 PM

Yes,

use this as reference.
Escape From Tarkov [External ESP] [C#]

fresh offsets are in this thread including how to update them using CE aswell

ly937149473 10th June 2018 03:44 PM

Quote:

Originally Posted by shaliuno (Post 2146191)
Yes,

use this as reference.
Escape From Tarkov [External ESP] [C#]

fresh offsets are in this thread including how to update them using CE aswell

Is it safe to use pure CE with game offline?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

Darknetwork 10th June 2018 04:44 PM

Quote:

Originally Posted by ly937149473 (Post 2146229)
Is it safe to use pure CE with game offline?

I don't know if this is enough atm, but this post can help you.

Quote:

Originally Posted by kakea (Post 2142917)
Never launch CheatEngine when the game is running if it's not suspended!

Use task manager, process explorer or process hacker 2 to suspend the game. Then launch CE and attach.

Avoid being detected.

Change the window title of your Cheatengine with autorun script

Add file "title.lua" to C:\Program Files (x86)\Cheat Engine 6.7\autorun
Code:

getMainForm().Caption='Internet Explorer'
getApplication().Title='Internet Explorer'


Tarkov Anti Cheat???

GangStarr 10th June 2018 06:06 PM

Quote:

Originally Posted by ly937149473 (Post 2146229)
Is it safe to use pure CE with game offline?

Suspend the game using Process Hacker or Process Lasso, and then use CE

ly937149473 11th June 2018 11:30 AM

For the beginners with c++:
Code:

uint64_t FindTaggedObject(const char* ObjName) {
        int limit = 350;
        uint64_t output = 0x0;

        uint64_t TaggedObjectsList = Read<uint64_t>(GameObjectManager + 0x8);
        //printf("TaggedObjectsList :                %p\n", TaggedObjectsList);
        uint64_t Firstobject = Read<uint64_t>(TaggedObjectsList + 0x10);
        //printf("Firstobject :                %p\n", Firstobject);
        uint64_t FirstobjectNamePtr = Read<uint64_t>(Firstobject + 0x60);
        //printf("FirstobjectNamePtr :                %p\n", FirstobjectNamePtr);

        BYTE NameByte[256];
        ReadVirtual((PVOID)(FirstobjectNamePtr), &NameByte, sizeof(NameByte));

        char* name = (char*)NameByte;
        std::string FirstobjectName = std::string(name);
        //printf("FirstobjectName :                %s\n", FirstobjectName.c_str());

        uint64_t CurObjectList = TaggedObjectsList;
        for (int CurObjectCount = 0x1; CurObjectCount < limit; CurObjectCount++) {
                CurObjectList = Read<uint64_t>(CurObjectList + 0x8);
                //printf("CurObjectList :                %p\n", CurObjectList);
                uint64_t CurObject = Read<uint64_t>(CurObjectList + 0x10);
                //printf("CurObject :                %p\n", CurObject);
                uint64_t CurObjectNamePtr = Read<uint64_t>(CurObject + 0x60);
                //printf("CurObjectNamePtr :                %p\n", CurObjectNamePtr);

                BYTE NameByte[256];
                ReadVirtual((PVOID)(CurObjectNamePtr), &NameByte, sizeof(NameByte));

                char* name = (char*)NameByte;
                std::string CurobjectName = std::string(name);
                //printf("CurTaggedobjectName :                %s:%d\n", CurobjectName.c_str(), CurObjectCount);

                if (CurobjectName == ObjName) {
                        //printf("%s                            %p:%d\n", CurobjectName.c_str(), CurObject, CurObjectCount);
                        output = CurObject;
                        return output;
                }
        }

        return NULL;
}

uint64_t FindActiveObject(const char* ObjName) {
        int limit = 350;
        uint64_t output = 0x0;

        uint64_t ActiveObjectsList = Read<uint64_t>(GameObjectManager + 0x18);
        //printf("ActiveObjectsList :                %p\n", ActiveObjectsList);
        uint64_t Firstobject = Read<uint64_t>(ActiveObjectsList + 0x10);
        //printf("Firstobject :                %p\n", Firstobject);
        uint64_t FirstobjectNamePtr = Read<uint64_t>(Firstobject + 0x60);
        //printf("FirstobjectNamePtr :                %p\n", FirstobjectNamePtr);

        BYTE NameByte[256];
        ReadVirtual((PVOID)(FirstobjectNamePtr), &NameByte, sizeof(NameByte));

        char* name = (char*)NameByte;
    std::string FirstobjectName = std::string(name);
        //printf("CurActiveobjectName :                %s:0\n", FirstobjectName.c_str());

        uint64_t CurObjectList = ActiveObjectsList;
        for (int CurObjectCount = 0x1; CurObjectCount < limit; CurObjectCount++) {
                CurObjectList = Read<uint64_t>(CurObjectList + 0x8);
                //printf("CurObjectList :                %p\n", CurObjectList);
                uint64_t CurObject = Read<uint64_t>(CurObjectList + 0x10);
                //printf("CurObject :                %p\n", CurObject);
                uint64_t CurObjectNamePtr = Read<uint64_t>(CurObject + 0x60);
                //printf("CurObjectNamePtr :                %p\n", CurObjectNamePtr);

                BYTE NameByte[256];
                ReadVirtual((PVOID)(CurObjectNamePtr), &NameByte, sizeof(NameByte));

                char* name = (char*)NameByte;
                std::string CurobjectName = std::string(name);
                //printf("CurActiveobjectName :                %s:%d\n", CurobjectName.c_str(), CurObjectCount);

                if (CurobjectName == ObjName) {
                        //printf("%s                            %p:%d\n", CurobjectName.c_str(), CurObject, CurObjectCount);
                        output = CurObject;
                        return output;
                }
        }

        return NULL;
}

D3DXVECTOR3 WorldToScreen(D3DXVECTOR3 origin)
{
        D3DXMATRIX temp;

        auto viewMatrix = Read<D3DXMATRIX>(Read<uint64_t>(Read<uint64_t>(FTPCamera + 0x30) + 0x18) + 0xC0);

        D3DXMatrixTranspose(&temp, &viewMatrix);

        D3DXVECTOR3 translationVector = D3DXVECTOR3(temp._41, temp._42, temp._43);
        D3DXVECTOR3 up = D3DXVECTOR3(temp._21, temp._22, temp._23);
        D3DXVECTOR3 right = D3DXVECTOR3(temp._11, temp._12, temp._13);

        float w = D3DXVec3Dot(&translationVector, &origin) + temp._44;

        //if (w < 0.098f)
                //return  D3DXVECTOR3(0,0,0);

        if (w < 1.f)
                w = 1.f;

        float y = D3DXVec3Dot(&up, &origin) + temp._24;
        float x = D3DXVec3Dot(&right, &origin) + temp._14;

        float ScreenX = (ScreenWidth / 2) * (1.f + x / w);
        float ScreenY = (ScreenHeight / 2) * (1.f - y / w);
        float ScreenZ = w;

        return D3DXVECTOR3(ScreenX, ScreenY, ScreenZ);
}

BTW: Anyone know how to get the extraction point position? Any help with no recoil or speed hack? I finished nearly all esp functions internally last day, so bored with only esp.

Skengdo 13th June 2018 11:09 PM

Quote:

Originally Posted by ly937149473 (Post 2146899)
For the beginners with c++:
Code:

uint64_t FindTaggedObject(const char* ObjName) {
        int limit = 350;
        uint64_t output = 0x0;

        uint64_t TaggedObjectsList = Read<uint64_t>(GameObjectManager + 0x8);
        //printf("TaggedObjectsList :                %p\n", TaggedObjectsList);
        uint64_t Firstobject = Read<uint64_t>(TaggedObjectsList + 0x10);
        //printf("Firstobject :                %p\n", Firstobject);
        uint64_t FirstobjectNamePtr = Read<uint64_t>(Firstobject + 0x60);
        //printf("FirstobjectNamePtr :                %p\n", FirstobjectNamePtr);

        BYTE NameByte[256];
        ReadVirtual((PVOID)(FirstobjectNamePtr), &NameByte, sizeof(NameByte));

        char* name = (char*)NameByte;
        std::string FirstobjectName = std::string(name);
        //printf("FirstobjectName :                %s\n", FirstobjectName.c_str());

        uint64_t CurObjectList = TaggedObjectsList;
        for (int CurObjectCount = 0x1; CurObjectCount < limit; CurObjectCount++) {
                CurObjectList = Read<uint64_t>(CurObjectList + 0x8);
                //printf("CurObjectList :                %p\n", CurObjectList);
                uint64_t CurObject = Read<uint64_t>(CurObjectList + 0x10);
                //printf("CurObject :                %p\n", CurObject);
                uint64_t CurObjectNamePtr = Read<uint64_t>(CurObject + 0x60);
                //printf("CurObjectNamePtr :                %p\n", CurObjectNamePtr);

                BYTE NameByte[256];
                ReadVirtual((PVOID)(CurObjectNamePtr), &NameByte, sizeof(NameByte));

                char* name = (char*)NameByte;
                std::string CurobjectName = std::string(name);
                //printf("CurTaggedobjectName :                %s:%d\n", CurobjectName.c_str(), CurObjectCount);

                if (CurobjectName == ObjName) {
                        //printf("%s                            %p:%d\n", CurobjectName.c_str(), CurObject, CurObjectCount);
                        output = CurObject;
                        return output;
                }
        }

        return NULL;
}

uint64_t FindActiveObject(const char* ObjName) {
        int limit = 350;
        uint64_t output = 0x0;

        uint64_t ActiveObjectsList = Read<uint64_t>(GameObjectManager + 0x18);
        //printf("ActiveObjectsList :                %p\n", ActiveObjectsList);
        uint64_t Firstobject = Read<uint64_t>(ActiveObjectsList + 0x10);
        //printf("Firstobject :                %p\n", Firstobject);
        uint64_t FirstobjectNamePtr = Read<uint64_t>(Firstobject + 0x60);
        //printf("FirstobjectNamePtr :                %p\n", FirstobjectNamePtr);

        BYTE NameByte[256];
        ReadVirtual((PVOID)(FirstobjectNamePtr), &NameByte, sizeof(NameByte));

        char* name = (char*)NameByte;
    std::string FirstobjectName = std::string(name);
        //printf("CurActiveobjectName :                %s:0\n", FirstobjectName.c_str());

        uint64_t CurObjectList = ActiveObjectsList;
        for (int CurObjectCount = 0x1; CurObjectCount < limit; CurObjectCount++) {
                CurObjectList = Read<uint64_t>(CurObjectList + 0x8);
                //printf("CurObjectList :                %p\n", CurObjectList);
                uint64_t CurObject = Read<uint64_t>(CurObjectList + 0x10);
                //printf("CurObject :                %p\n", CurObject);
                uint64_t CurObjectNamePtr = Read<uint64_t>(CurObject + 0x60);
                //printf("CurObjectNamePtr :                %p\n", CurObjectNamePtr);

                BYTE NameByte[256];
                ReadVirtual((PVOID)(CurObjectNamePtr), &NameByte, sizeof(NameByte));

                char* name = (char*)NameByte;
                std::string CurobjectName = std::string(name);
                //printf("CurActiveobjectName :                %s:%d\n", CurobjectName.c_str(), CurObjectCount);

                if (CurobjectName == ObjName) {
                        //printf("%s                            %p:%d\n", CurobjectName.c_str(), CurObject, CurObjectCount);
                        output = CurObject;
                        return output;
                }
        }

        return NULL;
}

D3DXVECTOR3 WorldToScreen(D3DXVECTOR3 origin)
{
        D3DXMATRIX temp;

        auto viewMatrix = Read<D3DXMATRIX>(Read<uint64_t>(Read<uint64_t>(FTPCamera + 0x30) + 0x18) + 0xC0);

        D3DXMatrixTranspose(&temp, &viewMatrix);

        D3DXVECTOR3 translationVector = D3DXVECTOR3(temp._41, temp._42, temp._43);
        D3DXVECTOR3 up = D3DXVECTOR3(temp._21, temp._22, temp._23);
        D3DXVECTOR3 right = D3DXVECTOR3(temp._11, temp._12, temp._13);

        float w = D3DXVec3Dot(&translationVector, &origin) + temp._44;

        //if (w < 0.098f)
                //return  D3DXVECTOR3(0,0,0);

        if (w < 1.f)
                w = 1.f;

        float y = D3DXVec3Dot(&up, &origin) + temp._24;
        float x = D3DXVec3Dot(&right, &origin) + temp._14;

        float ScreenX = (ScreenWidth / 2) * (1.f + x / w);
        float ScreenY = (ScreenHeight / 2) * (1.f - y / w);
        float ScreenZ = w;

        return D3DXVECTOR3(ScreenX, ScreenY, ScreenZ);
}

BTW: Anyone know how to get the extraction point position? Any help with no recoil or speed hack? I finished nearly all esp functions internally last day, so bored with only esp.

you got the latest offsets?

gummy 13th June 2018 11:24 PM

Quote:

Originally Posted by Skengdo (Post 2149497)
you got the latest offsets?

Quote:

Originally Posted by goochguy (Post 2143180)

these should work

ly937149473 14th June 2018 12:41 PM

Quote:

Originally Posted by gummy8unny (Post 2149504)
these should work

Do you know how to do aimbot in EFT?

gummy 14th June 2018 01:10 PM

Quote:

Originally Posted by ly937149473 (Post 2149906)
Do you know how to do aimbot in EFT?

you can do it by writing angles or by mouse movement

there might be some more info here aswell Rust External/Internal

ly937149473 14th June 2018 01:43 PM

Quote:

Originally Posted by gummy8unny (Post 2149935)
you can do it by writing angles or by mouse movement

there might be some more info here aswell Rust External/Internal

I succeed with mouse_event,and also get the viewangle and position,but i have problems with the aimbot algorithm.

gummy 14th June 2018 01:49 PM

Quote:

Originally Posted by ly937149473 (Post 2149955)
I succeed with mouse_event,and also get the viewangle and position,but i have problems with the aimbot algorithm.

Mouse event aimbot

there are some useful links in this thread

ly937149473 14th June 2018 02:19 PM

Quote:

Originally Posted by gummy8unny (Post 2149963)
Mouse event aimbot

there are some useful links in this thread

thx a lot. Very appreciated.

niceone1 15th June 2018 10:54 PM

I got my ghetto radar working :)

https://imgur.com/a/Flm8UgA
https://imgur.com/a/Flm8UgA

For my aimbot i need some positions to aim at. Does some knows the offsets for neck/head position from each entity? Im external - so i can't call any ingame functions.

shaliuno 15th June 2018 11:13 PM

Quote:

Originally Posted by niceone1 (Post 2151583)
I got my ghetto radar working :)

For my aimbot i need some positions to aim at. Does some knows the offsets for neck/head position from each entity? Im external - so i can't call any ingame functions.


For neck, use playerYpos+ 1.7f, they all have same height so it will be right where needed.

Or you can iterate bones but for just neck it is more than enough.

niceone1 15th June 2018 11:14 PM

Quote:

Originally Posted by shaliuno (Post 2151593)
For neck, use playerYpos+ 1.7f, they all have same height so it will be right where needed.

Or you can iterate bones but for just neck it is more than enough.

Okay, and how do you check if he is crouched?

shaliuno 16th June 2018 12:50 PM

Quote:

Originally Posted by niceone1 (Post 2151594)
Okay, and how do you check if he is crouched?

Hm... I hadn't thought about it :)

I usually attack from behind... :shrug:

Then bones are the only way...

ly937149473 16th June 2018 01:47 PM

Quote:

Originally Posted by shaliuno (Post 2151974)
Hm... I hadn't thought about it :)

I usually attack from behind... :shrug:

Then bones are the only way...

Could you give me some help with viewangle aimbot? I can get headPOS and viewangle now easily. Confused with the viewangle aimbot algorithm

shaliuno 16th June 2018 02:33 PM

Not sure I can help. I usually stick with non interfering cheats. i.e. never tried teleport or aimbot :(

niceone1 16th June 2018 03:57 PM

Quote:

Originally Posted by ly937149473 (Post 2152009)
Could you give me some help with viewangle aimbot? I can get headPOS and viewangle now easily. Confused with the viewangle aimbot algorithm

How are you getting the headPosition? With the bones? Are you external?

Edit: Aimbot done.

Todo: Get something to aim at.

@shaliuno can you explain me how to get the bones external since i cant use this function
Code:

void GetPosition(D3DXVECTOR3& out) { reinterpret_cast<void(__fastcall*)(BoneTransform*, D3DXVECTOR3&)>(GDymanicBase + 0x80FAC0)(this, out); }
from @64com


Quote:

Originally Posted by 64com (Post 1947669)
Thanks for the help, but I meant a usable implementation like this:
Code:

enum HumanBones
{
        HumanPelvis                = 14,
        HumanLThigh1        = 15,
        HumanLThigh2        = 16,
        HumanLCalf                = 17,
        HumanLFoot                = 18,
        HumanLToe                = 19,
        HumanRThigh1        = 20,
        HumanRThigh2        = 21,
        HumanRCalf                = 22,
        HumanRFoot                = 23,
        HumanRToe                = 24,
        HumanSpine1                = 29,
        HumanSpine2                = 36,
        HumanSpine3                = 37,
        HumanLUpperarm        = 90,
        HumanLForearm1        = 91,
        HumanLForearm2        = 92,
        HumanLForearm3        = 93,
        HumanLPalm                = 94,
        HumanRCollarbone = 110,
        HumanRUpperarm        = 111,
        HumanRForearm1        = 112,
        HumanRForearm2        = 113,
        HumanRForearm3        = 114,
        HumanRPalm                = 115,       
        HumanNeck                = 132,
        HumanHead                = 133,
};

template<class Type>
class List
{
public:
        int GetCount() { return *(int*)(this + 0x18); }

        Type* GetElement(int index)
        {
                if(index < GetCount())
                {
                        ULONG_PTR items = *(ULONG_PTR*)(this + 0x10);
                        return *(Type**)(items + 0x20 + 0x8 * index);
                }

                return 0;
        }
};

class BoneTransform
{
public:
        // this func is "void __fastcall Transform_CUSTOM_INTERNAL_get_position(struct MonoObject *a1, struct Vector3f *a2)"
        void GetPosition(D3DXVECTOR3& out) { reinterpret_cast<void(__fastcall*)(BoneTransform*, D3DXVECTOR3&)>(GDymanicBase + 0x80FAC0)(this, out); }
};

class Skeleton
{
        // Dictionary<string, Transform>
        // 0x10 -> table
        // 0x18 -> linkSlots
        // 0x20 -> keySlots (string)
        // 0x28 -> valueSlots (BoneTransform)

public:
        List<BoneTransform>* GetTransformList() { return *(List<BoneTransform>**)(this + 0x28); }
       
        D3DXVECTOR3 GetBonePositionByIndex(int index)
        {
                D3DXVECTOR3 position = { 0.f, 0.f, 0.f };

                List<BoneTransform>* pBoneTransformList = GetTransformList();
                if(pBoneTransformList)
                {
                        BoneTransform* pBoneTransform = pBoneTransformList->GetElement(index);
                        if(pBoneTransform)
                                pBoneTransform->GetPosition(position);
                }

                return position;
        }
};

class PlayerBody
{
public:
        Skeleton* GetSkeletonRootJoint() { return *(Skeleton**)(this + 0x28); }
};

class Player
{
public:
        PlayerBody* GetPlayerBody() { return *(PlayerBody**)(this + 0xA0); }
};

Example of use:
Code:

PlayerBody* pPlayerBody = pPlayer->GetPlayerBody();
Skeleton* pSkeletonRootJoint = pPlayerBody->GetSkeletonRootJoint();
D3DXVECTOR3 position;
pSkeletonRootJoint->GetBonePositionByIndex(HumanHead);

Final result:
https://i.imgur.com/M4uElzK.jpg

All offsets actuale for patch 0.5.0.811. GDymanicBase -> base address of *.exe module.

PS: Thanks anyway for the information available!


Edit:
For some entities 0xA8] 0x28] 0x28] 0xA0] 0x1B8 (VEC3) seems to get the head position, but it is not very stable since it only works for some entites... @ly937149473 it would be great to hear your solution!

ly937149473 17th June 2018 02:01 AM

Quote:

Originally Posted by niceone1 (Post 2152081)
How are you getting the headPosition? With the bones? Are you external?

Edit: Aimbot done.

Todo: Get something to aim at.

@shaliuno can you explain me how to get the bones external since i cant use this function
Code:

void GetPosition(D3DXVECTOR3& out) { reinterpret_cast<void(__fastcall*)(BoneTransform*, D3DXVECTOR3&)>(GDymanicBase + 0x80FAC0)(this, out); }
from @64com





Edit:
For some entities 0xA8] 0x28] 0x28] 0xA0] 0x1B8 (VEC3) seems to get the head position, but it is not very stable since it only works for some entites... @ly937149473 it would be great to hear your solution!

Im internal,it is very easy to call the engine function to get every bone position,for external i think this thread already show how to get bone position you can check the pages before,it shouldn't be too difficult

Is your aimbot based on viewangle,Could you share your aimbot function code?

bl00 18th June 2018 10:59 PM

INTERNAL:

Ok, what transform apart from Player.CameraContainer.transform needs to be changed to complete aimbot?

Right now i can follow target with camera (using transform above) but gun and player stays in the same orientation.

bl00 19th June 2018 04:36 PM

Player.transform.LookAt(targetPlayerPosition);

Is obsolete and regardless of suppressing the waring, won't compile. :/


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

SnDiX 20th June 2018 04:53 PM

Quote:

Originally Posted by mikangchan (Post 2096520)



Code:

0x38 // RecoilStrenghtXY
0x40 // RecoilStrenghtZ


are those at
Code:

ProceduralWeaponAnimation +0x38
ProceduralWeaponAnimation +0x40

or somewhere else? Im Looking at those Offsets in Reclass but cant seem to find the Vector2's you describe.

gummy 20th June 2018 04:56 PM

Quote:

Originally Posted by SnDiX (Post 2155750)
are those at
Code:

ProceduralWeaponAnimation +0x38
ProceduralWeaponAnimation +0x40

or somewhere else? Im Looking at those Offsets in Reclass but cant seem to find the Vector2's you describe.

Code:

auto localWeaponAnimation = mem.Read<ULONG_PTR>(localPlayer + 0x98);
                                auto localShootingAnimation = mem.Read<ULONG_PTR>(localWeaponAnimation + 0x48);
                                mem.Write<int>(localShootingAnimation + 0x38, 0);
                                mem.Write<int>(localShootingAnimation + 0x3C, 0);
                                mem.Write<int>(localShootingAnimation + 0x40, 0);

you need to go to the shooting animation in the weapon animations

SnDiX 20th June 2018 05:04 PM

Quote:

Originally Posted by gummy8unny (Post 2155755)
Code:

auto localWeaponAnimation = mem.Read<ULONG_PTR>(localPlayer + 0x98);
                                auto localShootingAnimation = mem.Read<ULONG_PTR>(localWeaponAnimation + 0x48);
                                mem.Write<int>(localShootingAnimation + 0x38, 0);
                                mem.Write<int>(localShootingAnimation + 0x3C, 0);
                                mem.Write<int>(localShootingAnimation + 0x40, 0);

you need to go to the shooting animation in the weapon animations

Great, thanks for the quick answer, works like a charm :)

Now i just Need to find a way to find the head positions of the Players externally other than adding 1.7f. and Maybe even Sway or something.

iNOTcheatUcheat 20th June 2018 11:48 PM

Where exactly is the GOM (Game Object Manager) offset found in the mono dissector of CE? I assume it's somewhere in assembly-csharp but not sure. I got the full list of everything (70 mb) extracted to text file but can't find anything that is titled gameobjectmanager, any help would be appreciated. Also it seems that all the values are in hex (e.x. 1e263000 : Mono.CSharp.CSharpCodeGenerator), how do I convert those values to 0x.. (e.x. 0x142A6A0).

Any help for this noob is greatly appreciated.

Skengdo 21st June 2018 03:52 PM

Quote:

Originally Posted by iNOTcheatUcheat (Post 2156147)
Where exactly is the GOM (Game Object Manager) offset found in the mono dissector of CE? I assume it's somewhere in assembly-csharp but not sure. I got the full list of everything (70 mb) extracted to text file but can't find anything that is titled gameobjectmanager, any help would be appreciated. Also it seems that all the values are in hex (e.x. 1e263000 : Mono.CSharp.CSharpCodeGenerator), how do I convert those values to 0x.. (e.x. 0x142A6A0).

Any help for this noob is greatly appreciated.

use the search function in mono dissector mate.

iNOTcheatUcheat 21st June 2018 09:35 PM

Quote:

Originally Posted by Skengdo (Post 2156702)
use the search function in mono dissector mate.

I did search, that's what I'm saying that specific element didn't appear in the search at all.

Skengdo 22nd June 2018 05:34 PM

Quote:

Originally Posted by iNOTcheatUcheat (Post 2156927)
I did search, that's what I'm saying that specific element didn't appear in the search at all.

CE Is quite buggy once you press search wait for it to respond again then just press cancel then it will be there.

iNOTcheatUcheat 23rd June 2018 06:16 AM

Quote:

Originally Posted by Skengdo (Post 2157567)
CE Is quite buggy once you press search wait for it to respond again then just press cancel then it will be there.

And the element I'm searching for is called: GameObjectManager ? It's not showing up regardless of how long I search and wait, even exported the entire result (with expand all) to a 70 MB file, searched the text file and also no result.

shaliuno 23rd June 2018 12:13 PM

there is no GOM in CE or I don`t know how to find it (and I don`t care)

It is the build it manager in unity.
Best (except sig scan) to look for it is to use IDAPro (maybe CE can do it, but I don`t care)

How to using IDA:
https://www.unknowncheats.me/forum/2032727-post231.html

How it works with EFT:
https://www.unknowncheats.me/forum/2034415-post242.html

Or use already published offset. It doesn`t change often.

ly937149473 28th June 2018 10:49 AM

GOM:0x14327E0,seems some offset changed

goochguy 29th June 2018 04:59 AM

zero this for perfect norecoil with no weapon sway

Code:

EFT.Animations.ProceduralWeaponAnimation
    b0 : Mask (type: EFT.Animations.EProceduralAnimationMask)

It's a 32 bit int (enum). If you look at the possible values of the enum you will see you can also selectively disable specific parts of the sway.

This is 1 step back from the previously posted way of zeroing RecoilStrengthXY and RecoilStrengthZ in ShotEffector.

Does anybody know how to get the positions of the extraction points? I found the list of them, I am able to iterate through them, I found a member which is supposed to be BoxCollider. I checked the function that gets the position in the binary and the data at that it looks like its accessing is empty.

Code:

__int64 __fastcall sub_140880F40(__int64 a1, _DWORD *a2)
{
  _DWORD *v2; // r8
  __int64 result; // rax

  if ( !a1 || (v2 = *(_DWORD **)(a1 + 0x10)) == 0i64 )
  {
    sub_140635A60();
    JUMPOUT(*(_QWORD *)&byte_140880F73);
  }
  *a2 = v2[0x1E];
  a2[1] = v2[0x1F];
  result = (unsigned int)v2[0x20];
  a2[2] = result;
  return result;
}

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

Who can explain what I am missing here?

Ac1d777 29th June 2018 03:24 PM

Quote:

Originally Posted by goochguy (Post 2162631)
zero this for perfect norecoil with no weapon sway

Code:

EFT.Animations.ProceduralWeaponAnimation
    b0 : Mask (type: EFT.Animations.EProceduralAnimationMask)

It's a 32 bit int (enum). If you look at the possible values of the enum you will see you can also selectively disable specific parts of the sway.

This is 1 step back from the previously posted way of zeroing RecoilStrengthXY and RecoilStrengthZ in ShotEffector.

Does anybody know how to get the positions of the extraction points? I found the list of them, I am able to iterate through them, I found a member which is supposed to be BoxCollider. I checked the function that gets the position in the binary and the data at that it looks like its accessing is empty.

Code:

__int64 __fastcall sub_140880F40(__int64 a1, _DWORD *a2)
{
  _DWORD *v2; // r8
  __int64 result; // rax

  if ( !a1 || (v2 = *(_DWORD **)(a1 + 0x10)) == 0i64 )
  {
    sub_140635A60();
    JUMPOUT(*(_QWORD *)&byte_140880F73);
  }
  *a2 = v2[0x1E];
  a2[1] = v2[0x1F];
  result = (unsigned int)v2[0x20];
  a2[2] = result;
  return result;
}

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

Who can explain what I am missing here?

Havent seen this but what if try find this in GameObject and gets name and coords from transform. Pm me if you will get success result.

mikangchan 1st July 2018 04:14 AM

Quote:

Originally Posted by goochguy (Post 2162631)
zero this for perfect norecoil with no weapon sway

Code:

EFT.Animations.ProceduralWeaponAnimation
    b0 : Mask (type: EFT.Animations.EProceduralAnimationMask)

It's a 32 bit int (enum). If you look at the possible values of the enum you will see you can also selectively disable specific parts of the sway.

This is 1 step back from the previously posted way of zeroing RecoilStrengthXY and RecoilStrengthZ in ShotEffector.

Does anybody know how to get the positions of the extraction points? I found the list of them, I am able to iterate through them, I found a member which is supposed to be BoxCollider. I checked the function that gets the position in the binary and the data at that it looks like its accessing is empty.

Code:

__int64 __fastcall sub_140880F40(__int64 a1, _DWORD *a2)
{
  _DWORD *v2; // r8
  __int64 result; // rax

  if ( !a1 || (v2 = *(_DWORD **)(a1 + 0x10)) == 0i64 )
  {
    sub_140635A60();
    JUMPOUT(*(_QWORD *)&byte_140880F73);
  }
  *a2 = v2[0x1E];
  a2[1] = v2[0x1F];
  result = (unsigned int)v2[0x20];
  a2[2] = result;
  return result;
}

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

Who can explain what I am missing here?

Would be nice if u wanna share that list..
anyway u can always find transform in that gameobject and use the location from transform

goochguy 1st July 2018 04:35 AM

Quote:

Originally Posted by mikangchan (Post 2164110)
Would be nice if u wanna share that list..
anyway u can always find transform in that gameobject and use the location from transform

https://pastebin.com/fTPaS3xi

LocalGameWorld
exfiltration_controller (0x18)
exfiltration_points (0x20)
scav_exfiltration_points (0x20)

etc

reading the ExfiltrationArray is similar to reading a list

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

You can find all this stuff in a monodissector dump

mikangchan 3rd July 2018 03:45 PM

Quote:

Originally Posted by goochguy (Post 2164116)

You can find all this stuff in a monodissector dump

thanks! what monodissector you're using?
I use the CE one and it doesn't have variables used in getter/setter

Ac1d777 3rd July 2018 06:53 PM

Quote:

Originally Posted by mikangchan (Post 2165869)
thanks! what monodissector you're using?
I use the CE one and it doesn't have variables used in getter/setter

CE 6.8

mikangchan 3rd July 2018 11:55 PM

Quote:

Originally Posted by Ac1d777 (Post 2165986)
CE 6.8

what I get from CE's monodissector is like
Code:

18 :  (type: )
for those getter/setters
Code:

public \uE1B9 ExfiltrationController { get; set; }
how do you distinguish them?

#edit
so what it really is
Code:

private \uE1B9 \uE000;

Ac1d777 4th July 2018 05:44 AM

Quote:

Originally Posted by mikangchan (Post 2166195)
what I get from CE's monodissector is like
Code:

18 :  (type: )
for those getter/setters
Code:

public \uE1B9 ExfiltrationController { get; set; }
how do you distinguish them?

#edit
so what it really is
Code:

private \uE1B9 \uE000;

Too i can�t understand obfuscated symbols. But you can deobfuscate main dll and decompile to soucrcecode.

goochguy 4th July 2018 06:10 AM

Quote:

Originally Posted by mikangchan (Post 2165869)
thanks! what monodissector you're using?
I use the CE one and it doesn't have variables used in getter/setter

Just 6.8. This specific class is not quite straightforward to find.
If you search for 'exfiltration' in the mono dissector dump you will find inside of "EFT.GameWorld" a method
https://i.imgur.com/xwF6PPD.png

That box is the name of the type for ExfiltrationController so copy it and search for it and you will come across this type
https://i.imgur.com/gJL116q.png
and you can see from the field types what each of the fields do.

mikangchan 4th July 2018 10:21 AM

Quote:

Originally Posted by goochguy (Post 2166334)
Just 6.8. This specific class is not quite straightforward to find.
If you search for 'exfiltration' in the mono dissector dump you will find inside of "EFT.GameWorld" a method
https://i.imgur.com/xwF6PPD.png

That box is the name of the type for ExfiltrationController so copy it and search for it and you will come across this type
https://i.imgur.com/gJL116q.png
and you can see from the field types what each of the fields do.

yeah I figured out there is one variable(s) with same class as the function returns. However if it's a huge class like EFT.Player it's gonna take some time...

Quote:

Originally Posted by Ac1d777 (Post 2166326)
Too i can’t understand obfuscated symbols. But you can deobfuscate main dll and decompile to soucrcecode.

how to deobfs it..?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

Ac1d777 5th July 2018 06:02 AM

Quote:

Originally Posted by mikangchan (Post 2166443)
yeah I figured out there is one variable(s) with same class as the function returns. However if it's huge in classes like EFT.Player it's gonna take some time...



how to deobfs it..?

Def4dot. I forgot real deobf name, you can google it, but it helps on 20-30% and still needs use logic.

mikangchan 5th July 2018 11:12 PM

Quote:

Originally Posted by Ac1d777 (Post 2167151)
Def4dot. I forgot real deobf name, you can google it, but it helps on 20-30% and still needs use logic.

u mean de4dot? Yeah I tried that.

niceone1 14th July 2018 11:06 PM

How are you guys changing the playerspeed? I got this chain for the skills: Entity+0x400] 0x60] 0x2E8] 0x20 for strength, but it seems to do nothing.

Ac1d777 19th July 2018 01:55 PM

0.9

Code:

GOM 0x1432840
GET_POSITION 0x80C840

Player:
char pad_0x0000[0x30]; //0x0000
        __int64 OnPoseChangedEvent; //0x0030
        __int64 OnSpeedChangedEvent; //0x0038
        __int64 m_CharacterController; //0x0040
        char pad_0x0048[0x10]; //0x0048
        MovementContext* m_MovementContext; //0x0058
        char pad_0x0060[0x38]; //0x0060
        ProceduralWeaponAnimation* proceduralWeaponAnimation_0; //0x0098
        char pad_0x00A0[0x10]; //0x00A0
        PlayerBody* playerBody_0; //0x00B0
        char pad_0x00B8[0x370]; //0x00B8
        Profile* m_Profile; //0x0428
        char pad_0x0430[0x8]; //0x0430
        Physical* m_physical; //0x0438
        char pad_0x0440[0x18]; //0x0440
        __int64 _healthController; //0x0458
        char pad_0x0460[0x8]; //0x0460
        SinglePlayerInventoryController* m_SinglePlayerInventoryController; //0x0468
        char pad_0x0470[0x40]; //0x0470
        PlayerBones* m_PlayerBones; //0x04B0
        char pad_0x04B8[0xF88]; //0x04B8

If too other classes changed reply here.

dler4 19th July 2018 03:40 PM

Playerlist and itemlist moved +0x8

Does anyone know a reliable way to get head bone as external? I check bone lists at both the 0x480 and 0xb0 chain of offsets from player, but each bone gives the same position:

Code:

bone 0: -413.536 5.49592 26.2663
bone 1: -413.536, 5.49592, 26.2663
bone 2: -413.536, 5.49592, 26.2663
bone 3: 0, 0, 0
bone 4: 0, 0, 0
bone 5: 0, 0, 0
bone 6: 0, 0, 0
bone 7: 0, 0, 0
bone 8: 0, 0, 0
bone 9: 0, 0, 0
bone a: 0, 0, 0
bone b: 0, 0, 0
bone c: 0, 0, 0
bone d: -413.536, 5.49592, 26.2663
bone e: -413.536, 5.49592, 26.2663
bone f: -413.536, 5.49592, 26.2663
bone 10: -413.536, 5.49592, 26.2663
bone 11: -413.536, 5.49592, 26.2663
bone 12: -413.536, 5.49592, 26.2663
bone 13: -413.536, 5.49592, 26.2663
bone 14: -413.536, 5.49592, 26.2663
bone 15: -413.536, 5.49592, 26.2663

Using these, my aimbot just points to their raw position, I have to add an offset to aim higher which doesn't work well if someone is looking left or right relative to me. Is there an easy fix? Thanks

klmno 19th July 2018 05:59 PM

Quote:

Originally Posted by dler4 (Post 2181418)
Does anyone know a reliable way to get head bone as external? I check bone lists at both the 0x480 and 0xb0 chain of offsets from player, but each bone gives the same position:

Quote:

Originally Posted by niceone1 (Post 2152081)
How are you getting the headPosition? With the bones? Are you external?

(Unity) External bone position from Transform
ways to access bone transforms have been posted previously

mikangchan 19th July 2018 10:09 PM

Quote:

Originally Posted by klmno (Post 2181608)
(Unity) External bone position from Transform
ways to access bone transforms have been posted previously

wondering how your speed hax works? teleport forward a lil bit?

klmno 19th July 2018 10:22 PM

Quote:

Originally Posted by mikangchan (Post 2181878)
wondering how your speed hax works? teleport forward a lil bit?

yes //2s

mikangchan 19th July 2018 10:25 PM

Quote:

Originally Posted by klmno (Post 2181891)
yes //2s

how do you get the telepoint..?

klmno 19th July 2018 11:16 PM

Quote:

Originally Posted by mikangchan (Post 2181896)
how do you get the telepoint..?

Read angles, get forward vec, read location, add to location, write modified location.

niceone1 19th July 2018 11:34 PM

Quote:

Originally Posted by klmno (Post 2181608)
(Unity) External bone position from Transform
ways to access bone transforms have been posted previously

Thanks for posting the external solution. Am i right, that i need to rotate the position which i get?

klmno 19th July 2018 11:38 PM

Quote:

Originally Posted by niceone1 (Post 2181932)
Thanks for posting the external solution. Am i right, that i need to rotate the position which i get?

What do you mean, this does all the work for you

niceone1 19th July 2018 11:41 PM

Quote:

Originally Posted by klmno (Post 2181939)
What do you mean, this does all the work for you

Okay, strange. If im in front of the model the positon is perfect. But if im on a side, the point is a bit off. Like the transformation is not working with the rotation of the model.

klmno 19th July 2018 11:45 PM

Quote:

Originally Posted by niceone1 (Post 2181941)
Okay, strange. If im in front of the model the positon is perfect. But if im on a side, the point is a bit off. Like the transformation is not working with the rotation of the model.

post a screenshot

niceone1 20th July 2018 12:01 AM

Quote:

Originally Posted by klmno (Post 2181945)
post a screenshot

Here you go: https://imgur.com/a/JNiEAFj

klmno 20th July 2018 12:06 AM

Quote:

Originally Posted by niceone1 (Post 2181958)

Uhhh that does seem weird but I was hoping you'd be drawing bone esp, try doing smtn like this:
Code:

playerbones = *(entity + 0x4b0);
head_bifacialtransform = *(playerbones + 0xC0);
original_transform = *(head_bifacialtransform + 0x10);
head_pos = GetPosition(original_transform);


niceone1 20th July 2018 12:27 AM

Quote:

Originally Posted by klmno (Post 2181963)
Uhhh that does seem weird but I was hoping you'd be drawing bone esp, try doing smtn like this:
Code:

playerbones = *(entity + 0x4b0);
head_bifacialtransform = *(playerbones + 0xC0);
original_transform = *(head_bifacialtransform + 0x10);
head_pos = GetPosition(original_transform);


Thank you this offset is perfectly working!


Would you mind to also tell me, how i can get other bones from this list?

For anyone who is interested in writeable coordinates:
Code:

Entity + static vector<DWORD64> writeablePositionOffs{ 0x4A0, 0x10, 0x38, 0x90 };

mikangchan 20th July 2018 07:57 AM

Quote:

Originally Posted by klmno (Post 2181924)
Read angles, get forward vec, read location, add to location, write modified location.

i might be wrong but are you saying there's a variable holding the forward vector or you calculate that yourself?

Quote:

Originally Posted by niceone1 (Post 2181979)
Thank you this offset is perfectly working!


Would you mind to also tell me, how i can get other bones from this list?

For anyone who is interested in writeable coordinates:
Code:

Entity + static vector<DWORD64> writeablePositionOffs{ 0x4A0, 0x10, 0x38, 0x90 };

u mean _playerLookRaycastTransform? im writing to playerbones tho and it works but can't ignore obstacles

klmno 20th July 2018 12:22 PM

Quote:

Originally Posted by mikangchan (Post 2182222)
i might be wrong but are you saying there's a variable holding the forward vector or you calculate that yourself?



u mean _playerLookRaycastTransform? im writing to playerbones tho and it works but can't ignore obstacles

I can't ignore obstacles either, if u go through a wall and there's a bot there, he will ignore you aswell. There are some serverside checks, never looked into it since I don't need perfect noclip.

mikangchan 20th July 2018 04:26 PM

Quote:

Originally Posted by klmno (Post 2182402)
I can't ignore obstacles either, if u go through a wall and there's a bot there, he will ignore you aswell. There are some serverside checks, never looked into it since I don't need perfect noclip.

how do you get the forward teleport point tho..


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

KERNOV 20th July 2018 11:26 PM

Once in one of the topics was raised the question of changing the code in Assembly-CSharp.dll and UnityEngine.dll
How to save the file after the change, so that the game launcher does not swear on the modified files, but simply run the game?

emantec 22nd July 2018 03:56 PM

Quote:

Originally Posted by KERNOV (Post 2182911)
Once in one of the topics was raised the question of changing the code in Assembly-CSharp.dll and UnityEngine.dll
How to save the file after the change, so that the game launcher does not swear on the modified files, but simply run the game?

Seems like an obvious answer, find where it checks and patch/remove it or find how it calculates the launch parameters and launch the game on your own.

niceone1 22nd July 2018 04:38 PM

Does someone has a chain for the current mapname?

And how are you guys doing nospread/norecoil since the update?

Im zeoring 5 Byte after Entity 0x98, 0x48, 0x34, for norecoil. But nospread is still missing.

mikangchan 23rd July 2018 07:16 PM

weird my present hook works again with no modification

Atari1337 24th July 2018 02:25 AM

Quote:

Originally Posted by shaliuno (Post 2158175)
there is no GOM in CE or I don`t know how to find it (and I don`t care)

It is the build it manager in unity.
Best (except sig scan) to look for it is to use IDAPro (maybe CE can do it, but I don`t care)

How to using IDA:
https://www.unknowncheats.me/forum/2032727-post231.html

How it works with EFT:
https://www.unknowncheats.me/forum/2034415-post242.html

Or use already published offset. It doesn`t change often.

+Rep, thanks man. Worked like a charm.

How'd you figure out this is a valid strat to find GOM?

Ac1d777 24th July 2018 12:16 PM

Quote:

Originally Posted by niceone1 (Post 2184312)
Does someone has a chain for the current mapname?

And how are you guys doing nospread/norecoil since the update?

Im zeoring 5 Byte after Entity 0x98, 0x48, 0x34, for norecoil. But nospread is still missing.

Havent seen this param in this game. Means spread.

mikangchan 24th July 2018 03:31 PM

Quote:

Originally Posted by niceone1 (Post 2184312)
Does someone has a chain for the current mapname?

And how are you guys doing nospread/norecoil since the update?

Im zeoring 5 Byte after Entity 0x98, 0x48, 0x34, for norecoil. But nospread is still missing.

you can filter by checking exit names

haven't looked for a map name tho

goochguy 24th July 2018 09:09 PM

Quote:

Originally Posted by niceone1 (Post 2184312)
And how are you guys doing nospread/norecoil since the update?

Quote:

Originally Posted by goochguy (Post 2162631)
zero this for perfect norecoil with no weapon sway
Code:

EFT.Animations.ProceduralWeaponAnimation
    b0 : Mask (type: EFT.Animations.EProceduralAnimationMask)

It's a 32 bit int (enum). If you look at the possible values of the enum you will see you can also selectively disable specific parts of the sway.

This removes all recoil and sway. Not sure what you mean by spread but this game doesn't appear to have any as far as I can tell.

Still have no idea how to get the positions of the extractions. I found the extractions and they contain a BoxCollider. I looked at BoxCollider's get_center or whatever it's called and there doesn't appear to be any data at the place the function grabs it from.

Also does anybody know how to grab static fields from mono classes from an external or non-mono internal? I need to get LocationScene so I can get LootableContainers and WorldInteractiveObjects (doors). When you're on a map there are 2 GameObjects marked Location Scene in the list but they both appear to be empty.

niceone1 25th July 2018 01:53 AM

Quote:

Originally Posted by goochguy (Post 2186515)
This removes all recoil and sway. Not sure what you mean by spread but this game doesn't appear to have any as far as I can tell.

Still have no idea how to get the positions of the extractions. I found the extractions and they contain a BoxCollider. I looked at BoxCollider's get_center or whatever it's called and there doesn't appear to be any data at the place the function grabs it from.

Also does anybody know how to grab static fields from mono classes from an external or non-mono internal? I need to get LocationScene so I can get LootableContainers and WorldInteractiveObjects (doors). When you're on a map there are 2 GameObjects marked Location Scene in the list but they both appear to be empty.

Yes, you are right. I dont know why i missed that. Thank you!

mikangchan 25th July 2018 05:09 AM

Quote:

Originally Posted by goochguy (Post 2186515)
This removes all recoil and sway. Not sure what you mean by spread but this game doesn't appear to have any as far as I can tell.

Still have no idea how to get the positions of the extractions. I found the extractions and they contain a BoxCollider. I looked at BoxCollider's get_center or whatever it's called and there doesn't appear to be any data at the place the function grabs it from.

Also does anybody know how to grab static fields from mono classes from an external or non-mono internal? I need to get LocationScene so I can get LootableContainers and WorldInteractiveObjects (doors). When you're on a map there are 2 GameObjects marked Location Scene in the list but they both appear to be empty.

get transform's position using internal function or external ptr chain
most active gameobjects you read have transform

why would you need LocationScene tho?

codelion 26th July 2018 12:15 AM

did the chain from GameWorld to LocalGameWorld change in 0.9? I'm finding GameWorld but I can't but Gameworld + 0x30 ] + 0x18 ] + 0x28 isn't working

I don't see an edit button, but I realized my code is incredibly broken besides just the pointer chain deference so disregard my question please!

I don't see an edit button, but I realized my code is incredibly broken besides just the pointer chain deference so disregard my question please!

codelion 27th July 2018 06:45 PM

Hello,
I spent some time making a cruddy radar for 0.9 and found that some offsets were different on 0.9 so I'll share them as I wasn't able to find them in the thread

The GOM has already been posted
the offsets to find the GameWorld base object are the same as in previous versions
Once you have the GameWorld object,
Code:

LocalGameWorld = GameWorld + 0x30 ] + 0x18 ] + 0x28
PlayerList Pointer = LocalGameWorld + 0x68 //this one changed I think
Player Count = PlayerList + 0x18 // to confirm you have the right object
PlayerArray = Playerlist + 0x10
Player Pointer = PlayerArray + (0x20 + 0x8 * playerNumber)
PlayerName = Player + 0x428 ] + 0x28 ] + 0x10 // unicode string at 0x14 in this object
IsPlayer = (Player + 0x428 ] + 0x20 ) != 0 //valid pointer on player, 0 on scavs / AI
MovementContext = Player + 0x58
XYZ  = MovementContext + (0x60 / 0x64 / 0x68) //iirc this one changed too
Camera Angle X/Y = MovementContext + (0x1F4 / 0x1F8)

Also, I notice the view angle for X goes from -360 to 360 but something is wrong with my code, it's like the XYZ coordinates for players are not a 1:1 scale. When the players are near me on the X axis, I can do a polar/Cartesian conversion on the view angle and the line I draw matches exactly, but when they are shifted on the Y there is some inconsistent drift or sometimes Y seems to be inverted entirely. Has anyone seen anything like this?

mikangchan 27th July 2018 07:03 PM

Quote:

Originally Posted by codelion (Post 2189954)
Hello,
I spent some time making a cruddy radar for 0.9 and found that some offsets were different on 0.9 so I'll share them as I wasn't able to find them in the thread

The GOM has already been posted
the offsets to find the GameWorld base object are the same as in previous versions
Once you have the GameWorld object,
Code:

LocalGameWorld = GameWorld + 0x30 ] + 0x18 ] + 0x28
PlayerList Pointer = LocalGameWorld + 0x68 //this one changed I think
Player Count = PlayerList + 0x18 // to confirm you have the right object
PlayerArray = Playerlist + 0x10
Player Pointer = PlayerArray + (0x20 + 0x8 * playerNumber)
PlayerName = Player + 0x428 ] + 0x28 ] + 0x10 // unicode string at 0x14 in this object
IsPlayer = (Player + 0x428 ] + 0x20 ) != 0 //valid pointer on player, 0 on scavs / AI
MovementContext = Player + 0x58
XYZ  = MovementContext + (0x60 / 0x64 / 0x68) //iirc this one changed too
Camera Angle X/Y = MovementContext + (0x1F4 / 0x1F8)

Also, I notice the view angle for X goes from -360 to 360 but something is wrong with my code, it's like the XYZ coordinates for players are not a 1:1 scale. When the players are near me on the X axis, I can do a polar/Cartesian conversion on the view angle and the line I draw matches exactly, but when they are shifted on the Y there is some inconsistent drift or sometimes Y seems to be inverted entirely. Has anyone seen anything like this?

the reason why there's no one posting them is that you can easily grab them from CE dissector . You can easily to rebuild classes in combination with reclass, dnspy and ce dissector dump as well.

for shifting if you are using an overlay it's usually because of windows' scale.

codelion 27th July 2018 07:27 PM

Quote:

Originally Posted by mikangchan (Post 2189978)
the reason why there's no one posting them is that you can easily grab them from CE dissector . You can easily to rebuild classes in combination with reclass, dnspy and ce dissector dump as well.

for shifting if you are using an overlay it's usually because of windows' scale.

yeah I know they would be pretty easy to grab but I figured it couldn't hurt to help out if some other game hacking newbie like me needed them.

I'm drawing on a windows form on my second monitor, the window is a square (1024 x 1024 pixels) so I don't think it's a scaling problem on my display end. Dunno though it doesn't really bother me that much... I also get alot of "ghost" scavs where I can be right on top of them coordinate wise but they aren't there, so I don't know.

EDIT: I've got alot of RE / coding experience but I haven't written hacks since Quake 3 so I'm pretty newb.

mikangchan 29th July 2018 06:49 AM

Quote:

Originally Posted by codelion (Post 2190007)
yeah I know they would be pretty easy to grab but I figured it couldn't hurt to help out if some other game hacking newbie like me needed them.

I'm drawing on a windows form on my second monitor, the window is a square (1024 x 1024 pixels) so I don't think it's a scaling problem on my display end. Dunno though it doesn't really bother me that much... I also get alot of "ghost" scavs where I can be right on top of them coordinate wise but they aren't there, so I don't know.

EDIT: I've got alot of RE / coding experience but I haven't written hacks since Quake 3 so I'm pretty newb.

you can probably take a look into assembly csherp. the concept is simple

xerox3333 29th July 2018 06:27 PM

Quote:

Originally Posted by lol300987 (Post 1793223)
anyone here know what there "anticheat" does do they detect mono Injection or do they take screen shots in the past games they made "contract Wars" they took screen shots any info will help

I can confirm that they are using some sort of system to remote monitor your activity as i notice my screen flashing suspiciously while using ESP, in the year I've been playing i haven't noticed anything like that before

Put it this way, you will know when you are about to be banned.

mikangchan 30th July 2018 03:01 PM

Quote:

Originally Posted by xerox3333 (Post 2192385)
I can confirm that they are using some sort of system to remote monitor your activity as i notice my screen flashing suspiciously while using ESP, in the year I've been playing i haven't noticed anything like that before

Put it this way, you will know when you are about to be banned.

i haven't experienced the flashing problem...r u internal or external

loadeddeath 30th July 2018 04:07 PM

Quote:

Originally Posted by xerox3333 (Post 2192385)
I can confirm that they are using some sort of system to remote monitor your activity as i notice my screen flashing suspiciously while using ESP, in the year I've been playing i haven't noticed anything like that before

Put it this way, you will know when you are about to be banned.

Doesn't sound like its true, can some one more competent confirm this?

emantec 30th July 2018 04:12 PM

Quote:

Originally Posted by loadeddeath (Post 2193461)
Doesn't sound like its true, can some one more competent confirm this?

Unless they're doing screen grabs in a packed/obfuscated part of sclient.dll I can't see anywhere in the game code that would suggest that is occurring.

Jojjetuff 31st July 2018 04:38 PM

Hi, I'm attempting to read the object name of the first object in LootList, however all I am left with is an unreadable string.

Example: 0x6D453060 (LootList) + 0x10 => 0x20E8D50000x20E8D5000+ 0x20 => 0x6D0CFE000x6D0CFE00(First lootable item) + 0x10 => 0x144A276C00x144A276C0+ 0x30 => 0x144A255300x144A25530+ 0x60 (Name of object) => 0x144A27318

https://imgur.com/gv4Cf87
Seems right.

Trying to read it:
Code:

  int value = 0;
       
            byte[] buffer = new byte[0x32];

            InternalNtReadVirtualMemory(Memory.GetProcessHandle(), LootName_ObjAddr.ToInt64(), buffer, buffer.Length, ref value);

  string ItemName= System.Text.Encoding.Default.GetString(buffer);



            Console.WriteLine("\n Object name: " + ItemName);

Which outputs:
https://imgur.com/4cTkMLa

Could someone point me in the right direction or tell me where everything goes wrong?

Thanks in advance

Quote:

Originally Posted by Jojjetuff (Post 2194638)
Hi, I'm attempting to read the object name of the first object in LootList, however all I am left with is an unreadable string.

Example: 0x6D453060 (LootList) + 0x10 => 0x20E8D50000x20E8D5000+ 0x20 => 0x6D0CFE000x6D0CFE00(First lootable item) + 0x10 => 0x144A276C00x144A276C0+ 0x30 => 0x144A255300x144A25530+ 0x60 (Name of object) => 0x144A27318

https://imgur.com/gv4Cf87
Seems right.

Trying to read it:
Code:

  int value = 0;
       
            byte[] buffer = new byte[0x32];

            InternalNtReadVirtualMemory(Memory.GetProcessHandle(), LootName_ObjAddr.ToInt64(), buffer, buffer.Length, ref value);

  string ItemName= System.Text.Encoding.Default.GetString(buffer);



            Console.WriteLine("\n Object name: " + ItemName);

Which outputs:
https://imgur.com/4cTkMLa

Could someone point me in the right direction or tell me where everything goes wrong?

Thanks in advance

Nevermind, solved it. Forgot to add that 0x0 after 0x60.

I cant edit posts so thats why I made a new post


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

niceone1 1st August 2018 01:24 PM

Quote:

Originally Posted by drone6251 (Post 2087225)
This thread's pretty quiet, so here's a few more cool toys for people to play around with:

Feature #1: No Fall. If you write a zero vector to the velocity vector at 0xA8 in PlayerWalkMovement, nothing is affected regarding your motion, but you will never incur fall damage.

Code:

Offsets::Player::PlayerWalkMovment = 0x398;

void BasePlayer::noFall() {
        uintptr_t playerWalkMovement = Memory::Read<uintptr_t>(this->getBaseClass() + Offsets::Player::PlayerWalkMovment);
        Memory::Write<D3DXVECTOR3>(playerWalkMovement + 0xA8, D3DXVECTOR3(0, 0, 0), sizeof(D3DXVECTOR3));
 }


drone6251 posted this in the rust thread.
I tried to transfer it to tarkov, but i cant find any velocity vector under MovementContext (Entity + 0x58).
Does anybody know where the falldamage is stored in tarkov?

And how are you guys check if the player is ingame?

redleouf 3rd August 2018 02:52 PM

Quote:

Originally Posted by shaliuno (Post 2032727)
Stupid question incoming :D

It is acceptable way to get GOM?

I`m not that good with IDA...


Does anyone have the new GOM? It seems to have changed. I tried to find it myself following the post above but man I am bad.. IDA doesn't find any xref to the function FindGameObjectWithTag

Ac1d777 3rd August 2018 04:27 PM

Quote:

Originally Posted by redleouf (Post 2198068)
Does anyone have the new GOM? It seems to have changed. I tried to find it myself following the post above but man I am bad.. IDA doesn't find any xref to the function FindGameObjectWithTag

its isn't changed atm. Changed Player class.

redleouf 3rd August 2018 04:52 PM

Oh yes, my bad! It was my player profile offset that was broken, it got +8

Thank you!

mikangchan 3rd August 2018 04:54 PM

Quote:

Originally Posted by niceone1 (Post 2195588)
drone6251 posted this in the rust thread.
I tried to transfer it to tarkov, but i cant find any velocity vector under MovementContext (Entity + 0x58).
Does anybody know where the falldamage is stored in tarkov?

And how are you guys check if the player is ingame?

wait for gameworld and fps_camera

modifying transformposition.y in movementcontext could probably do the trick if they really use CheckFlying

Quote:

Originally Posted by goochguy (Post 2186515)
This removes all recoil and sway. Not sure what you mean by spread but this game doesn't appear to have any as far as I can tell.

Still have no idea how to get the positions of the extractions. I found the extractions and they contain a BoxCollider. I looked at BoxCollider's get_center or whatever it's called and there doesn't appear to be any data at the place the function grabs it from.

Also does anybody know how to grab static fields from mono classes from an external or non-mono internal? I need to get LocationScene so I can get LootableContainers and WorldInteractiveObjects (doors). When you're on a map there are 2 GameObjects marked Location Scene in the list but they both appear to be empty.

Have you found valid location scene? I figured it's a unity class but haven't seen anyone in rust using it.

redleouf 4th August 2018 12:28 AM

Quote:

Originally Posted by dler4 (Post 2181418)
Playerlist and itemlist moved +0x8

Does anyone know a reliable way to get head bone as external? I check bone lists at both the 0x480 and 0xb0 chain of offsets from player, but each bone gives the same position:

Code:

bone 0: -413.536 5.49592 26.2663
bone 1: -413.536, 5.49592, 26.2663
bone 2: -413.536, 5.49592, 26.2663
bone 3: 0, 0, 0
bone 4: 0, 0, 0
bone 5: 0, 0, 0
bone 6: 0, 0, 0
bone 7: 0, 0, 0
bone 8: 0, 0, 0
bone 9: 0, 0, 0
bone a: 0, 0, 0
bone b: 0, 0, 0
bone c: 0, 0, 0
bone d: -413.536, 5.49592, 26.2663
bone e: -413.536, 5.49592, 26.2663
bone f: -413.536, 5.49592, 26.2663
bone 10: -413.536, 5.49592, 26.2663
bone 11: -413.536, 5.49592, 26.2663
bone 12: -413.536, 5.49592, 26.2663
bone 13: -413.536, 5.49592, 26.2663
bone 14: -413.536, 5.49592, 26.2663
bone 15: -413.536, 5.49592, 26.2663

Using these, my aimbot just points to their raw position, I have to add an offset to aim higher which doesn't work well if someone is looking left or right relative to me. Is there an easy fix? Thanks

I have the same problem as this guy for my bone ESP. I checked this post and rewrote it in C# but I have got the same problem as above. Am I doing anything wrong here? Are the offsets wrong?

Code:

        private Vector3 GetBonePosition(IntPtr transform)
        {
            IntPtr transform_internal = RPM.GetPtr(transform, new int[] { 0x10 });
            if (!RPM.IsValid(transform_internal.ToInt64()))
                return new Vector3();

            IntPtr some_ptr = RPM.GetPtr(transform_internal, new int[] { 0x38 });
            int index = RPM.Read<int>(RPM.GetPtr(transform_internal, new int[] { 0x40 }).ToInt64());
            if (!RPM.IsValid(some_ptr.ToInt64()))
                return new Vector3();

            IntPtr relation_array = RPM.GetPtr(some_ptr, new int[] { 0x8 });
            if (!RPM.IsValid(relation_array.ToInt64()))
                return new Vector3();

            IntPtr dependency_index_array = RPM.GetPtr(some_ptr, new int[] { 0x10 });
            if (!RPM.IsValid(dependency_index_array.ToInt64()))
                return new Vector3();

            Vector4i temp_0;
            Vector4f xmmword_1410D1340 = new Vector4f (-2.0f, 2.0f, -2.0f, 0.0f);
            Vector4f xmmword_1410D1350 = new Vector4f (2.0f, -2.0f, -2.0f, 0.0f);
            Vector4f xmmword_1410D1360 = new Vector4f (-2.0f, -2.0f, 2.0f, 0.0f);
            Vector4f temp_1;
            Vector4f temp_2;
            Vector4f temp_main = RPM.Read<Vector4f>(RPM.GetPtr(relation_array, new int[] { index * 48 }).ToInt64());
            int dependency_index = RPM.Read<int>(RPM.GetPtr(dependency_index_array, new int[] { index }).ToInt64());

            while (dependency_index >= 0)
            {
                int relation_index = 6 * dependency_index;

                temp_0 = RPM.Read<Vector4i>(RPM.GetPtr(relation_array, new int[] { 8 * relation_index, 16 }).ToInt64());
                temp_1 = RPM.Read<Vector4f>(RPM.GetPtr(relation_array, new int[] { 8 * relation_index, 32 }).ToInt64());
                temp_2 = RPM.Read<Vector4f>(RPM.GetPtr(relation_array, new int[] { 8 * relation_index }).ToInt64());

                Vector4f v10 = temp_1 * temp_main;
                Vector4f v11 = (Vector4f)(VectorOperations.Shuffle(temp_0, (ShuffleSel)(0x00)));
                Vector4f v12 = (Vector4f)(VectorOperations.Shuffle(temp_0, (ShuffleSel)(0x55)));
                Vector4f v13 = (Vector4f)(VectorOperations.Shuffle(temp_0, (ShuffleSel)(0x8E)));
                Vector4f v14 = (Vector4f)(VectorOperations.Shuffle(temp_0, (ShuffleSel)(0xDB)));
                Vector4f v15 = (Vector4f)(VectorOperations.Shuffle(temp_0, (ShuffleSel)(0xAA)));
                Vector4f v16 = (Vector4f)(VectorOperations.Shuffle(temp_0, (ShuffleSel)(0x71)));
                Vector4f v17 = (((((((v11 * xmmword_1410D1350) * v13) - ((v12 * xmmword_1410D1360) * v14)) * VectorOperations.Shuffle(v10, (ShuffleSel)(0xAA))) +
                    ((((v15 * xmmword_1410D1360) * v14) - ((v11 * xmmword_1410D1340) * v16)) * VectorOperations.Shuffle(v10, (ShuffleSel)(0x55)))) +
                    (((((v12 * xmmword_1410D1340) * v16) - ((v15 * xmmword_1410D1350) * v13)) * VectorOperations.Shuffle(v10, (ShuffleSel)(0x00))) + v10)) + temp_2);

                temp_main = v17;
                dependency_index = RPM.Read<int>(RPM.GetPtr(dependency_index_array, new int[] { dependency_index }).ToInt64());
            }

            return new Vector3(temp_main.X, temp_main.Y, temp_main.Z);
        }

Edit: I was being dumb, it is fixed, check link above for working code

PutinIsLove 4th August 2018 10:17 PM

Quote:

Originally Posted by redleouf (Post 2198642)
I have the same problem as this guy for my bone ESP. I checked this post and rewrote it in C# but I have got the same problem as above. Am I doing anything wrong here? Are the offsets wrong?

Code:

        private Vector3 GetBonePosition(IntPtr transform)
        {
            IntPtr transform_internal = RPM.GetPtr(transform, new int[] { 0x10 });
            if (!RPM.IsValid(transform_internal.ToInt64()))
                return new Vector3();

            IntPtr some_ptr = RPM.GetPtr(transform_internal, new int[] { 0x38 });
            int index = RPM.Read<int>(RPM.GetPtr(transform_internal, new int[] { 0x40 }).ToInt64());
            if (!RPM.IsValid(some_ptr.ToInt64()))
                return new Vector3();

            IntPtr relation_array = RPM.GetPtr(some_ptr, new int[] { 0x8 });
            if (!RPM.IsValid(relation_array.ToInt64()))
                return new Vector3();

            IntPtr dependency_index_array = RPM.GetPtr(some_ptr, new int[] { 0x10 });
            if (!RPM.IsValid(dependency_index_array.ToInt64()))
                return new Vector3();

            Vector4i temp_0;
            Vector4f xmmword_1410D1340 = new Vector4f (-2.0f, 2.0f, -2.0f, 0.0f);
            Vector4f xmmword_1410D1350 = new Vector4f (2.0f, -2.0f, -2.0f, 0.0f);
            Vector4f xmmword_1410D1360 = new Vector4f (-2.0f, -2.0f, 2.0f, 0.0f);
            Vector4f temp_1;
            Vector4f temp_2;
            Vector4f temp_main = RPM.Read<Vector4f>(RPM.GetPtr(relation_array, new int[] { index * 48 }).ToInt64());
            int dependency_index = RPM.Read<int>(RPM.GetPtr(dependency_index_array, new int[] { index }).ToInt64());

            while (dependency_index >= 0)
            {
                int relation_index = 6 * dependency_index;

                temp_0 = RPM.Read<Vector4i>(RPM.GetPtr(relation_array, new int[] { 8 * relation_index, 16 }).ToInt64());
                temp_1 = RPM.Read<Vector4f>(RPM.GetPtr(relation_array, new int[] { 8 * relation_index, 32 }).ToInt64());
                temp_2 = RPM.Read<Vector4f>(RPM.GetPtr(relation_array, new int[] { 8 * relation_index }).ToInt64());

                Vector4f v10 = temp_1 * temp_main;
                Vector4f v11 = (Vector4f)(VectorOperations.Shuffle(temp_0, (ShuffleSel)(0x00)));
                Vector4f v12 = (Vector4f)(VectorOperations.Shuffle(temp_0, (ShuffleSel)(0x55)));
                Vector4f v13 = (Vector4f)(VectorOperations.Shuffle(temp_0, (ShuffleSel)(0x8E)));
                Vector4f v14 = (Vector4f)(VectorOperations.Shuffle(temp_0, (ShuffleSel)(0xDB)));
                Vector4f v15 = (Vector4f)(VectorOperations.Shuffle(temp_0, (ShuffleSel)(0xAA)));
                Vector4f v16 = (Vector4f)(VectorOperations.Shuffle(temp_0, (ShuffleSel)(0x71)));
                Vector4f v17 = (((((((v11 * xmmword_1410D1350) * v13) - ((v12 * xmmword_1410D1360) * v14)) * VectorOperations.Shuffle(v10, (ShuffleSel)(0xAA))) +
                    ((((v15 * xmmword_1410D1360) * v14) - ((v11 * xmmword_1410D1340) * v16)) * VectorOperations.Shuffle(v10, (ShuffleSel)(0x55)))) +
                    (((((v12 * xmmword_1410D1340) * v16) - ((v15 * xmmword_1410D1350) * v13)) * VectorOperations.Shuffle(v10, (ShuffleSel)(0x00))) + v10)) + temp_2);

                temp_main = v17;
                dependency_index = RPM.Read<int>(RPM.GetPtr(dependency_index_array, new int[] { dependency_index }).ToInt64());
            }

            return new Vector3(temp_main.X, temp_main.Y, temp_main.Z);
        }



Using SSE in C# is a fucking pain in the ass. Tried a lot with no success ! Good luck to you ! :D

redleouf 4th August 2018 10:39 PM

Oh well, I don't know any other solution to get bone position external, I am really bad with vector maths anyway so except rewriting the already existing function from Klmno I don't really know what to do :-/

niceone1 5th August 2018 05:09 PM

Quote:

Originally Posted by mikangchan (Post 2198194)
wait for gameworld and fps_camera

modifying transformposition.y in movementcontext could probably do the trick if they really use CheckFlying



Have you found valid location scene? I figured it's a unity class but haven't seen anyone in rust using it.

Thanks for your reply. Yes thats waht im currently doing, im just looping the search for the gameworld pointer. But thats a lot more read compared to just checking one value to change. Anyways this is not a big problem.

I tried to write to transformposition.y, but it is not writeable (or the value just gets overwritten). So unfortunately this is not working for me.

mikangchan 9th August 2018 02:21 AM

how do u internal guys read gameobject's name?

BraydenEGC 9th August 2018 08:49 AM

Does anyone from internal know how to look at the contents of a container? I have tried but have not succeeded.

Ac1d777 11th August 2018 05:46 AM

Quote:

Originally Posted by mikangchan (Post 2204313)
how do u internal guys read gameobject's name?

GObj -> 60 -> 14

mikangchan 11th August 2018 06:13 AM

Quote:

Originally Posted by Ac1d777 (Post 2206364)
GObj -> 60 -> 14

what's this 0x14?

Ac1d777 11th August 2018 07:14 AM

Quote:

Originally Posted by mikangchan (Post 2206379)
what's this 0x14?

After moving to 0x60 ptr you should get first symbol of name at 0x14.

m3ssie 12th August 2018 05:31 PM

Hey guys, im failing hard to get playername externally :) is this still correct?

0x428 -> 0x28 -> 0x10 -> 0x14

(my playercount is working correctly, though)

Im also not able to find "fps camera". Iterating over 350 object tags, but none of them is the camera :(

Can someone point me in the right direction?

Im testing in offline mode with network disabled, but that should be fine i think?!?

Edit: Forget about fps camera, just found it. The problem with the playername remains :)

PutinIsLove 12th August 2018 08:45 PM

Quote:

Originally Posted by m3ssie (Post 2207815)
Hey guys, im failing hard to get playername externally :) is this still correct?

0x428 -> 0x28 -> 0x10 -> 0x14

(my playercount is working correctly, though)

Im also not able to find "fps camera". Iterating over 350 object tags, but none of them is the camera :(

Can someone point me in the right direction?

Im testing in offline mode with network disabled, but that should be fine i think?!?

Edit: Forget about fps camera, just found it. The problem with the playername remains :)


Hey !

0x430 -> 0x28 -> 0x10 -> 0x14 :wink1:

redleouf 13th August 2018 03:37 PM

Hey guys,

Sometimes, some players (or scav / bot) doesn't seems to appear in the player list for some reason. I read the list just fine I think and I can see new players / scav joining as the game go on but sometimes, it is like one or two players get skipped and don't get registered in the list so I can't see them. They don't even count in the player count.

Anyone got a similar bug? It seems to happen the most in Interchange but that might be a false lead.

klmno 13th August 2018 04:28 PM

Quote:

Originally Posted by redleouf (Post 2208619)
Hey guys,

Sometimes, some players (or scav / bot) doesn't seems to appear in the player list for some reason. I read the list just fine I think and I can see new players / scav joining as the game go on but sometimes, it is like one or two players get skipped and don't get registered in the list so I can't see them. They don't even count in the player count.

Anyone got a similar bug? It seems to happen the most in Interchange but that might be a false lead.

No the player list is fine, the origin being wrong is what's causing this. Forgot how I properly fixed this issue for my internal but there's a ghetto <<<F I X>>> using a distance check in the external I released.

https://i.imgur.com/5Jte0Ri.png

Here's the incomplete src so you know what is slow origin and what is fast origin:
https://github.com/ucklmno/EscapeFro...External-Cheat

PutinIsLove 13th August 2018 04:28 PM

Quote:

Originally Posted by redleouf (Post 2208619)
Hey guys,

Sometimes, some players (or scav / bot) doesn't seems to appear in the player list for some reason. I read the list just fine I think and I can see new players / scav joining as the game go on but sometimes, it is like one or two players get skipped and don't get registered in the list so I can't see them. They don't even count in the player count.

Anyone got a similar bug? It seems to happen the most in Interchange but that might be a false lead.


Happens to me too. New scavs sometimes doesn't register. Don't even know how the game is handling that but ... :D

redleouf 13th August 2018 06:41 PM

Quote:

Originally Posted by klmno (Post 2208640)
No the player list is fine, the origin being wrong is what's causing this. Forgot how I properly fixed this issue for my internal but there's a ghetto <<<F I X>>> using a distance check in the external I released.

https://i.imgur.com/5Jte0Ri.png

Here's the incomplete src so you know what is slow origin and what is fast origin:
https://github.com/ucklmno/EscapeFro...External-Cheat

Thanks, will try this out

Why 12.5f though?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

klmno 13th August 2018 08:43 PM

Quote:

Originally Posted by redleouf (Post 2208707)
Thanks, will try this out

Why 12.5f though?

It's just unit distance mate, worked good even when running so didn't need to adjust it.

Ac1d777 13th August 2018 08:44 PM

Quote:

Originally Posted by klmno (Post 2208640)
No the player list is fine, the origin being wrong is what's causing this. Forgot how I properly fixed this issue for my internal but there's a ghetto <<<F I X>>> using a distance check in the external I released.

https://i.imgur.com/5Jte0Ri.png

Here's the incomplete src so you know what is slow origin and what is fast origin:
https://github.com/ucklmno/EscapeFro...External-Cheat

I think you fixed it using camera and bones.
Same way for externals.

klmno 13th August 2018 08:46 PM

Quote:

Originally Posted by Ac1d777 (Post 2208789)
I think you fixed it using camera and bones.
Same way for externals.

Yea just checked, I used bones, no idea what you mean by "camera" tho.

Ac1d777 13th August 2018 08:48 PM

Quote:

Originally Posted by klmno (Post 2208793)
Yea just checked, I used bones, no idea what you mean by "camera" tho.

Camera position for calculating distance between you and objects;)

klmno 13th August 2018 09:00 PM

Quote:

Originally Posted by Ac1d777 (Post 2208797)
Camera position for calculating distance between you and objects;)

Oh, no, I didn't use it for distance :P, would've been the best option though.

GDPR_Anonymous 16th August 2018 07:53 AM

u can use this camera thing to calculate distance but dont use .Distance(xvec, yvec) to calculate just search for fast sqrt script who is wroten in c++ xD or something like that

its like 3 times faster then Distance() calculations ... (not so accurate but still good)

redleouf 16th August 2018 05:01 PM

Alright, so I got my external ESP bones working in C#, but I have a bug though, it seems that depending of my view orientation, the bones are not getting drawn at all (probably wrong position returned from the getBonePosition function) but I can't understand why

My ESP Box is working fine under all orientation, but for the bones every time I look in a certain direction nothing appears anymore

Anyone got a similar issue or a possible lead? Thanks

GDPR_Anonymous 17th August 2018 07:26 AM

Quote:

Originally Posted by redleouf (Post 2211292)
Alright, so I got my external ESP bones working in C#, but I have a bug though, it seems that depending of my view orientation, the bones are not getting drawn at all (probably wrong position returned from the getBonePosition function) but I can't understand why

My ESP Box is working fine under all orientation, but for the bones every time I look in a certain direction nothing appears anymore

Anyone got a similar issue or a possible lead? Thanks

i got same if i mess up with GUI drawing (like Color. etc) or got an error of exception null

ofcorse in internal

redleouf 17th August 2018 05:10 PM

It is fixed, it was my world2screen failling because I was reading some wrong bones

redleouf 21st August 2018 03:13 AM

Are the containers in a different loot list or something? I don't get them when running through the loot list at localgameworld + 0x58

I get all the items on the floor, dead bodies too, sometimes some "special" container named "lootable" but no regular containers such as ammo / weapon / grenade box or bags etc..

Edit: Ok they do seem to appear, but their positions are either totaly wrong or plain 0, is there an other way to read positions for containers? I use objectAddress + 0x10, 0x30, 0x30, 0x8, 0x38, 0x90

mikangchan 22nd August 2018 03:31 AM

Quote:

Originally Posted by redleouf (Post 2215126)
Are the containers in a different loot list or something? I don't get them when running through the loot list at localgameworld + 0x58

I get all the items on the floor, dead bodies too, sometimes some "special" container named "lootable" but no regular containers such as ammo / weapon / grenade box or bags etc..

Edit: Ok they do seem to appear, but their positions are either totaly wrong or plain 0, is there an other way to read positions for containers? I use objectAddress + 0x10, 0x30, 0x30, 0x8, 0x38, 0x90

lootables are lootablecontainers which are different from lootitems
also you can check the array of worldinteractableitems

redleouf 22nd August 2018 01:27 PM

Thanks, do you have offsets for lootablecontainers position?

mikangchan 22nd August 2018 09:15 PM

Quote:

Originally Posted by redleouf (Post 2216298)
Thanks, do you have offsets for lootablecontainers position?

they are the same. the offset chain u posted is actually (GameObject)->GetTransform()->Transform::Internal_get_pos()

redleouf 23rd August 2018 01:50 AM

Oh ok, that's weird then. Why some of the containers get correct positions but most of them are totaly wrong

Do you know where is the worldinteractableitems array?

mikangchan 23rd August 2018 06:25 PM

Quote:

Originally Posted by redleouf (Post 2216856)
Oh ok, that's weird then. Why some of the containers get correct positions but most of them are totaly wrong

Do you know where is the worldinteractableitems array?

as I said they are in World*

redleouf 23rd August 2018 07:29 PM

Quote:

Originally Posted by mikangchan (Post 2217372)
as I said they are in World*

Sorry but I am lost here, by World you don't mean localgameworld?

I am basing myself on this (with updated offsets of course) and I can't understand what you mean by World other than localgameworld but there is no other loot list in it that I can found

Quote:

Originally Posted by Brut7 (Post 1784176)
Code:

        class LocalGameWorld
        {
        public:
                char _0x0000[32];
                Dictionary* Dictionary_balistick; //0x0020
                List* BallisticCalculatorsCachedList; //0x0028
                List* List_unknown; //0x0030
                List* LootList; //0x0038
                List* List_Player; //0x0040
                Dictionary* Turnables; //0x0048
                DWORD64* EffectsCommuntator; //0x0050
                DWORD64* BollistickCollider; //0x0058
                char _0x0060[8];
                DWORD64 unknown1; //0x0068
        };


Again, sorry if I am missing something obvious here

mikangchan 24th August 2018 12:42 AM

Quote:

Originally Posted by redleouf (Post 2217410)
Sorry but I am lost here, by World you don't mean localgameworld?

I am basing myself on this (with updated offsets of course) and I can't understand what you mean by World other than localgameworld but there is no other loot list in it that I can found



Again, sorry if I am missing something obvious here

it's at 0xC0 and 0xC8. both are World*

Ac1d777 25th August 2018 07:08 AM

Quote:

Originally Posted by redleouf (Post 2217410)
Sorry but I am lost here, by World you don't mean localgameworld?

I am basing myself on this (with updated offsets of course) and I can't understand what you mean by World other than localgameworld but there is no other loot list in it that I can found



Again, sorry if I am missing something obvious here

Whats your problem? Class GameWorld, ptr name loot_list (this class contain registered players). You should filtrate all loot, corpses, lootables - thats all.

redleouf 25th August 2018 11:22 AM

Quote:

Originally Posted by Ac1d777 (Post 2218547)
Whats your problem? Class GameWorld, ptr name loot_list (this class contain registered players). You should filtrate all loot, corpses, lootables - thats all.

Yeah I found the loot list and I read all of it. I get correct positions for loot on the floor and corpses, but not for containers. As mikangchan said, containers apparently are a different class from simple loot on the floor (lootablecontainer instead of lootitem)

But here is the problem, I can't find a good position for lootablecontainer, I keep searching for it but find garbage. Positions are always wrong and the offsets that I use for lootitems "(objectAddress)->0x10->0x30->0x30->0x8->0x38->0x90" doesn't work either

dracorx 29th August 2018 03:57 PM

Does anyone know how this is done? Something to do with melee I assume.



All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

aes128cbc 30th August 2018 12:07 AM

Quote:

Originally Posted by dracorx (Post 2222121)
Does anyone know how this is done? Something to do with melee I assume.


No idea, but that seems to be a great way for players to notice you. If I were to take guess I would modify the hit point for the attack.


I probably would try screwing around with this, but no idea if that would work.
https://image.ibb.co/gasMcp/blah.png

mikangchan 18th September 2018 09:45 PM

anyone tried to call the unload function exported by SClient.dll?

shaliuno 18th September 2018 10:36 PM

PlayerListPointer 0x70
PlayerProfile Back to 0x428
PlayerPosition back from 0x68 to 0x40

Ac1d777 18th September 2018 10:53 PM

Code:

class Player
{
public:
        char pad_0x0000[0x20]; //0x0000
        __int64 OnSpeedChangedEvent; //0x0020
        char pad_0x0028[0x18]; //0x0028
        MovementContext* m_MovementContext; //0x0040
        char pad_0x0048[0x38]; //0x0048
        ProceduralWeaponAnimation* proceduralWeaponAnimation_0; //0x0080
        char pad_0x0088[0x10]; //0x0088
        PlayerBody* playerBody_0; //0x0098
        char pad_0x00A0[0x250]; //0x00A0
        Profile* m_Profile; //0x0428
        char pad_0x0430[0x8]; //0x0430
        Physical* m_physical; //0x0438
        char pad_0x0440[0x28]; //0x0440
        SinglePlayerInventoryController* m_SinglePlayerInventoryController; //0x0468
        FirearmController* _handsController; //0x0470
        char pad_0x0478[0x28]; //0x0478
        EditablePos* pEditablePos; //0x04A0
        char pad_0x04A8[0x8]; //0x04A8
        PlayerBones* m_PlayerBones; //0x04B0
        char pad_0x04B8[0x388]; //0x04B8
};

P.s rebuild this for youself. Just reference to right offsets

TheWWorld 19th September 2018 04:06 PM

Hi Everyone,

How to get the offset ?
Need to use reclass and do the process on "pause" ?

Thank you

Sorry for the double post but i can't edit,
I just need to extract ItemID, and i don't know where i can find it

DeKartz 19th September 2018 07:12 PM

object name = GameWorld

class LocalGameWorld
{
public:
char _0x0000[32];
Dictionary* Dictionary_balistick; //0x0020
List* BallisticCalculatorsCachedList; //0x0028
List* List_unknown; //0x0030
List* LootList; //0x0038
List* List_Player; //0x0040
Dictionary* Turnables; //0x0048
DWORD64* EffectsCommuntator; //0x0050
DWORD64* BollistickCollider; //0x0058
char _0x0060[8];
DWORD64 unknown1; //0x0068
};


class Player
{
public:
DWORD64* N000014D7; //0x0000
char pad_0x0008[0x28]; //0x0008
__int64 OnPoseChangedEvent; //0x0030 //Local ?
__int64 OnSpeedChangedEvent; //0x0038 //Local ?
CharacterController* m_CharacterController; //0x0040
char pad_0x0048[0x8]; //0x0048
MovementContext* m_MovementContext; //0x0050
Pedometer* m_Pedometer; //0x0058
__int64 _mouseSensitivityMod; //0x0060
__int64 OnTimeBeingWathed; //0x0068
char pad_0x0070[0x18]; //0x0070
ProceduralWeaponAnimation* proceduralWeaponAnimation_0; //0x0088
char pad_0x0090[0x10]; //0x0090
PlayerBody* playerBody_0; //0x00A0
__int64 _elbowBends; //0x00A8
char pad_0x00B0[0x10]; //0x00B0
__int64 _fbbik; //0x00C0
__int64 Grounder; //0x00C8
__int64 HitReaction; //0x00D0
char pad_0x00D8[0x188]; //0x00D8
Profile* m_Profile; //0x0260
__int64 _statisticsManager; //0x0268
__int64 Physical; //0x0270
char pad_0x0278[0x18]; //0x0278
__int64 _healthController; //0x0290
__int64 _hitColliders; //0x0298
SinglePlayerInventoryController* m_SinglePlayerInventoryController; //0x02A0
FirearmController* _handsController; //0x02A8
__int64 _questController; //0x02B0
char pad_0x02B8[0x20]; //0x02B8
PlayerBones* m_PlayerBones; //0x02D8
char pad_0x02E0[0xA4]; //0x02E0
D3DXVECTOR3 _lMarkerRawPosition; //0x0384
D3DXVECTOR3 _lElbowRawPosition; //0x0390
D3DXVECTOR3 _rElbowRawPosition; //0x039C
};

niharkanta1 20th September 2018 03:53 PM

Tarkov Internal..

player.isLocalPlayer && player.localPlayerAuthority cant be accessible anymore. How to find the local player in 0.10?

Crapyguy1234 20th September 2018 09:12 PM

Hello everyone,
I have been trying to locate the tagged objects using the offsets provided under the rust internal/external thread. I have the updated GOM offset and I have managed to find very little using reclass. I thought I should just post here since its been a week or so with little to no progress. I have found "a viewmatrix" that seems to semi-work it has a choppy effect that isn't caused by the delay in reading memory. If anyone has some updated info on getting the (TaggedObjects, ActiveObjects, ect.) it would be much appreciated.
Thanks,
John.

shaliuno 20th September 2018 10:19 PM

GameObjectManagerPointer = ProcessBaseAddress + 0x1432840;

// For tagged objects.
tagged_or_active = 0x8;
// For active objects.
tagged_or_active = 0x18;

//addresses with objects
currentAddress = GameObjectManagerPointer] + tagged_or_active ]

iterate from 0 to lets say 2000
currentAddress = currentAddress ] + 0x8
objectAddress = currentAddress] + 0x10 ]
objectNameAddress = objectAddress ] + 0x60 ] + 0x0

Crapyguy1234 21st September 2018 01:35 AM

Thanks for the reply I attempted to make a function for reading each entity name. I don't think my results are consistent, as I get some things that could be entities and others that are just random.

Function:
Code:

        string[] GetTaggedObjects(int Amount)
        {
            string[] GameObject = new string[Amount];

            for (int i = 0; i < GameObject.Length; i++)
            {
                long GOM = Mem.ReadMemory<long>(BaseModule.BaseAddress.ToInt64() + 0x1432840);

                long TaggedObjects = Mem.ReadMemory<long>(GOM + 0x8);
                long ActiveObjects = Mem.ReadMemory<long>(GOM + 0x18);

                long ObjectList = Mem.ReadMemory<long>(TaggedObjects + 0x8);

                long BaseObject = Mem.ReadMemory<long>(ObjectList + (i * 0x10));

                string ObjectName = Mem.ReadCharArray(Mem.ReadMemory<long>(BaseObject + 0x60), 0x58);

                GameObject[i] = ObjectName;
            }

            return GameObject;
        }

Is there supposed to be a pattern for returning only entity strings and not the random stuff?

https://gyazo.com/7caa37c89167d0502d4956eecbbb6d96

Ac1d777 21st September 2018 06:37 AM

Quote:

Originally Posted by niharkanta1 (Post 2240115)
Tarkov Internal..

player.isLocalPlayer && player.localPlayerAuthority cant be accessible anymore. How to find the local player in 0.10?

OnSpeedChangedEvent, this ptr should be live for localplayer.

shaliuno 21st September 2018 08:52 AM

Quote:

Originally Posted by Crapyguy1234 (Post 2240489)
Thanks for the reply I attempted to make a function for reading each entity name. I don't think my results are consistent, as I get some things that could be entities and others that are just random.

https://gyazo.com/7caa37c89167d0502d4956eecbbb6d96

Something like that.

Crapyguy1234 21st September 2018 08:13 PM

+rep
That helped me so much. Thanks!

shaliuno 30th September 2018 08:25 PM

So, as far as I can see teleport is still working huh?
Just saw a guy teleporting around the map here and there looting stuff and shit...
:D

Crapyguy1234 1st October 2018 04:11 AM

Quote:

Originally Posted by shaliuno (Post 2247632)
So, as far as I can see teleport is still working huh?
Just saw a guy teleporting around the map here and there looting stuff and shit...
:D

Why TP around to loot when you can apparently TP all the loot to you. My friend bought a cheat that can TP all the loot to him (not naming the cheat because I don't know if I can get banned for that). I tried to change the position of each loot item and it doesn't seem to teleport. I am thinking maybe I am changing the origin of the object as my esp says that they are there. I am just using (0x30] 0x30] 0x8] 0x38] 0x90).

TheWWorld 1st October 2018 04:54 AM

Quote:

Originally Posted by Crapyguy1234 (Post 2247806)
Why TP around to loot when you can apparently TP all the loot to you. My friend bought a cheat that can TP all the loot to him (not naming the cheat because I don't know if I can get banned for that). I tried to change the position of each loot item and it doesn't seem to teleport. I am thinking maybe I am changing the origin of the object as my esp says that they are there. I am just using (0x30] 0x30] 0x8] 0x38] 0x90).

I think is like locked/unlock door, it's detected and can cause ban

mikangchan 1st October 2018 06:46 AM

Quote:

Originally Posted by TheWWorld (Post 2247817)
I think is like locked/unlock door, it's detected and can cause ban

lock/unlock door is different

Quote:

Originally Posted by Crapyguy1234 (Post 2247806)
Why TP around to loot when you can apparently TP all the loot to you. My friend bought a cheat that can TP all the loot to him (not naming the cheat because I don't know if I can get banned for that). I tried to change the position of each loot item and it doesn't seem to teleport. I am thinking maybe I am changing the origin of the object as my esp says that they are there. I am just using (0x30] 0x30] 0x8] 0x38] 0x90).

teleport loop can cause a ban and is server checked
settransform will do the trick and I think someone in this thread said teleport within 15m works

TheWWorld 1st October 2018 07:12 AM

Quote:

Originally Posted by mikangchan (Post 2247839)
lock/unlock door is different



teleport loop can cause a ban and is server checked
settransform will do the trick and I think someone in this thread said teleport within 15m works

Not really different, it's sync by server to other player, if the server detect loot teleport by a player, it can be detected especially if it's out of reach ;)

mikangchan 1st October 2018 07:45 AM

Quote:

Originally Posted by TheWWorld (Post 2247850)
Not really different, it's sync by server to other player, if the server detect loot teleport by a player, it can be detected especially if it's out of reach ;)

i guess u either don't understand the approach of unlocking door or we are talking different things

TheWWorld 13th October 2018 11:42 PM

Someone know how to change Look Direction in internal ?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

moonwebb99 17th October 2018 10:45 PM

Which program would be best for finding out offsets primarily GameObject manager

Gek0h 17th October 2018 11:03 PM

Quote:

Originally Posted by moonwebb99 (Post 2260835)
Which program would be best for finding out offsets primarily GameObject manager

IDA / OllyDbg for static analysis, then like Cheat Engine or something similar for runtime verification / inspection.

polivilas 17th October 2018 11:07 PM

Quote:

Originally Posted by Gek0h (Post 2260844)
IDA / OllyDbg for static analysis, then like Cheat Engine or something similar for runtime verification / inspection.

Not a bright idea to run Cheat Engine with the game.

Gek0h 17th October 2018 11:22 PM

Quote:

Originally Posted by polivilas (Post 2260849)
Not a bright idea to run Cheat Engine with the game.

Never said anything about detection vectors, but touche. :shrug:
Not too versed in any good dynamic analysis / inspection programs, so good luck finding one that's stealthy enough for this task (or maybe make your own, although that's probably going too far).

moonwebb99 18th October 2018 01:14 AM

Haha yeah making me own is pretty far away I am just now getting to understanding memory reading and writing

One thing to note which I thought was possible because I was reading on here. You can't get Gameobject manager via cheat engine anyone know why, just trying to get it lmao such a struggle.

shaliuno 18th October 2018 09:41 AM

Cheat Engine works just right

*just right pic of your choice*

Offline raid with bots has no AC. Just cut the network and debug as much as you want.
If you need something that can be obtained only by going online then:
Get in raid
Suspend the process
Cut the network wire
Have fun
Clean the traces just in case.

And Cheeky Breeky people on left and right with working cheat afterall :)

@moonwebb99
There is how-to in this thread how to find it using IDAPro.
It rarely changes so you can use last one.

p.s.:
Did you know there is AntiCheatMipMapChecker object in the game now?
Nvidia inspector dirty fix?

ZeusLord 18th October 2018 04:14 PM

EFT Structs / Offsets
 
Quote:

Originally Posted by shaliuno (Post 2261123)
Cheat Engine works just right

*just right pic of your choice*

Offline raid with bots has no AC. Just cut the network and debug as much as you want.
If you need something that can be obtained only by going online then:
Get in raid
Suspend the process
Cut the network wire
Have fun
Clean the traces just in case.

And Cheeky Breeky people on left and right with working cheat afterall [emoji4]

@moonwebb99
There is how-to in this thread how to find it using IDAPro.
It rarely changes so you can use last one.

p.s.:
Did you know there is AntiCheatMipMapChecker object in the game now?
Nvidia inspector dirty fix?



I�ve checked in the game the AntiCheatMipMapChecker is not active or called anywhere. That�s been there for quite a few updates now I just check every update to see if it�s being used yet or not. :P just thought I�d add my two cents lol maybe it�s some kinda check to try to determine if you have ESP or something? Not sure on it�s use tho

moonwebb99 19th October 2018 01:54 AM

Just curious since most of you picked this game apart it feels like, Is there a way to hijack events (Csharp) such as if I interact with a door I can just make it open from there rather than have to edit the assemblycsharp.

shaliuno 19th October 2018 11:32 AM

I`d go with something like...

10a6c9d0 : Door
static fields
fields
f0 : оЂ‡ (type: BrokenDoor)
118 : IsBroken (type: System.Boolean)
>>>119 : CanBeBreached (type: System.Boolean)

on the other hand if all you need is just to get to the "other side", just teleport a little.

I do teleport so I can take all the stuff when people "save" their gear by putting in containers, behind locked doors, etc.

moonwebb99 19th October 2018 02:19 PM

Quote:

Originally Posted by shaliuno (Post 2261937)
I`d go with something like...

10a6c9d0 : Door
static fields
fields
f0 : оЂï¿½ (type: BrokenDoor)
118 : IsBroken (type: System.Boolean)
>>>119 : CanBeBreached (type: System.Boolean)

on the other hand if all you need is just to get to the "other side", just teleport a little.

I do teleport so I can take all the stuff when people "save" their gear by putting in containers, behind locked doors, etc.

Possible with c sharp or do I need to dive deeper? lmao

shaliuno 19th October 2018 02:55 PM

Nah, External RPM/WPM will do just fine. Zero issues.

I`m using C# external hack myself. :D

moonwebb99 19th October 2018 03:44 PM

Quote:

Originally Posted by shaliuno (Post 2262036)
Nah, External RPM/WPM will do just fine. Zero issues.

I`m using C# external hack myself. :D

I would try it out but I am not even close to understanding offsets let alone I tried to take a pre existing one and change the code around and tried using the recent GOM and bam nothing haha.

shaliuno 19th October 2018 08:33 PM

I would suggest this to understand offsets thing.
How to make a DayZ RPM/WPM Radar

It helped me a lot when I first started.
Took me a while to go through the code and understand it was worth it.

---

LOL.

This is the oldest account ID I saw so far that is cheating: 31172
Game is going down to shit. If not already.
GJ BSG :D

moonwebb99 20th October 2018 02:15 AM

Quote:

Originally Posted by shaliuno (Post 2262282)
I would suggest this to understand offsets thing.
How to make a DayZ RPM/WPM Radar

It helped me a lot when I first started.
Took me a while to go through the code and understand it was worth it.

---

LOL.

This is the oldest account ID I saw so far that is cheating: 31172
Game is going down to shit. If not already.
GJ BSG :D

10/10 should give me the source, Just playing but thanks for the link very helpful.

niceone1 21st October 2018 02:18 AM

Quote:

Originally Posted by klmno (Post 2181963)
Uhhh that does seem weird but I was hoping you'd be drawing bone esp, try doing smtn like this:
Code:

playerbones = *(entity + 0x4b0);
head_bifacialtransform = *(playerbones + 0xC0);
original_transform = *(head_bifacialtransform + 0x10);
head_pos = GetPosition(original_transform);


Does someone know how to fix the external getBoneposition?

I'm using these pointers for the bones:
Code:

const static vector<DWORD64> entityBoneListOffs{ 0x4B0, 0xC0, 0x10 };
const static vector<DWORD64> entityBoneListOffs2{ 0x98, 0x28, 0x28, 0x10, 0x448 };

Here is a screenshot from the access violation in the "matrix34" variable:
https://imgur.com/a/XlUwo4T
(https://imgur.com/a/XlUwo4T)

And here the function i'm using
Code:

VECTOR3 Entity::getBonePos(DWORD64 transform)
{
    if (!helper.isValidAddress(transform)) return VECTOR3(0.0f, 0.0f, 0.0f);
    memory.read(transform, (DWORD64)&transform, sizeof(transform));
 
    if (!helper.isValidAddress(transform)) return VECTOR3(0.0f, 0.0f, 0.0f);
    memory.read(transform + 0x10, (DWORD64)&transform, sizeof(transform));
 
 
    // ******************************************************
 
    TransformAccessReadOnly pTransformAccessReadOnly;
    TransformData transformData;
    __m128 result;
 
    const __m128 mulVec0 = { -2.000, 2.000, -2.000, 0.000 };
    const __m128 mulVec1 = { 2.000, -2.000, -2.000, 0.000 };
    const __m128 mulVec2 = { -2.000, -2.000, 2.000, 0.000 };
 
    // ******************************************************
 
    if (!helper.isValidAddress(transform)) return VECTOR3(0.0f, 0.0f, 0.0f);
    memory.read((DWORD64)transform + 0x38, (DWORD64)&pTransformAccessReadOnly, sizeof(pTransformAccessReadOnly));
 
    if (!helper.isValidAddress(pTransformAccessReadOnly.pTransformData)) return VECTOR3(0.0f, 0.0f, 0.0f);
    memory.read((DWORD64)pTransformAccessReadOnly.pTransformData + 0x8, (DWORD64)&transformData, sizeof(transformData));
 
    if (!helper.isValidAddress(transformData.pTransformArray) || !helper.isValidAddress(transformData.pTransformIndices)) return VECTOR3(0.0f, 0.0f, 0.0f);
 
    // ******************************************************
 
    SIZE_T sizeMatriciesBuf = sizeof(Matrix34) * pTransformAccessReadOnly.index + sizeof(Matrix34);
    SIZE_T sizeIndicesBuf = sizeof(int) * pTransformAccessReadOnly.index + sizeof(int);
 
    // Allocate memory for storing large amounts of data (matricies and indicies)
    PVOID pMatriciesBuf = malloc(sizeMatriciesBuf);
    PVOID pIndicesBuf = malloc(sizeIndicesBuf);
 
    if (pMatriciesBuf && pIndicesBuf)
    {
        // Read Matricies array into the buffer
        memory.read(transformData.pTransformArray, (DWORD64)pMatriciesBuf, sizeMatriciesBuf);
        // Read Indices array into the buffer
        memory.read(transformData.pTransformIndices, (DWORD64)pIndicesBuf, sizeIndicesBuf);
 
        result = *(__m128*)((DWORD64)pMatriciesBuf + 0x30 * pTransformAccessReadOnly.index);
        int transformIndex = *(int*)((DWORD64)pIndicesBuf + 0x4 * pTransformAccessReadOnly.index);
 
        while (transformIndex >= 0)
        {
            Matrix34 matrix34 = *(Matrix34*)((DWORD64)pMatriciesBuf + 0x30 * transformIndex);
 
            __m128 xxxx = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x00));  // xxxx
            __m128 yyyy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x55));  // yyyy
            __m128 zwxy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x8E));  // zwxy
            __m128 wzyw = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0xDB));  // wzyw
            __m128 zzzz = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0xAA));  // zzzz
            __m128 yxwy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x71));  // yxwy
            __m128 tmp7 = _mm_mul_ps(*(__m128*)(&matrix34.vec2), result);
 
            result = _mm_add_ps(
                _mm_add_ps(
                    _mm_add_ps(
                        _mm_mul_ps(
                            _mm_sub_ps(
                                _mm_mul_ps(_mm_mul_ps(xxxx, mulVec1), zwxy),
                                _mm_mul_ps(_mm_mul_ps(yyyy, mulVec2), wzyw)),
                            _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0xAA))),
                        _mm_mul_ps(
                            _mm_sub_ps(
                                _mm_mul_ps(_mm_mul_ps(zzzz, mulVec2), wzyw),
                                _mm_mul_ps(_mm_mul_ps(xxxx, mulVec0), yxwy)),
                            _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0x55)))),
                    _mm_add_ps(
                        _mm_mul_ps(
                            _mm_sub_ps(
                                _mm_mul_ps(_mm_mul_ps(yyyy, mulVec0), yxwy),
                                _mm_mul_ps(_mm_mul_ps(zzzz, mulVec1), zwxy)),
                            _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0x00))),
                        tmp7)), *(__m128*)(&matrix34.vec0));
 
            transformIndex = *(int*)((DWORD64)pIndicesBuf + 0x4 * transformIndex);
        }
 
        free(pMatriciesBuf);
        free(pIndicesBuf);
    }
 
    return VECTOR3(result.m128_f32[0], result.m128_f32[1], result.m128_f32[2]);
}

@klmno, @shaliuno, @Ac1d777 maybe you know what is wrong with this code (it worked perfectly last month...)

Ac1d777 23rd October 2018 04:48 AM

Quote:

Originally Posted by niceone1 (Post 2263210)
Does someone know how to fix the external getBoneposition?

I'm using these pointers for the bones:
Code:

const static vector<DWORD64> entityBoneListOffs{ 0x4B0, 0xC0, 0x10 };
const static vector<DWORD64> entityBoneListOffs2{ 0x98, 0x28, 0x28, 0x10, 0x448 };

Here is a screenshot from the access violation in the "matrix34" variable:
https://imgur.com/a/XlUwo4T
(https://imgur.com/a/XlUwo4T)

And here the function i'm using
Code:

VECTOR3 Entity::getBonePos(DWORD64 transform)
{
    if (!helper.isValidAddress(transform)) return VECTOR3(0.0f, 0.0f, 0.0f);
    memory.read(transform, (DWORD64)&transform, sizeof(transform));
 
    if (!helper.isValidAddress(transform)) return VECTOR3(0.0f, 0.0f, 0.0f);
    memory.read(transform + 0x10, (DWORD64)&transform, sizeof(transform));
 
 
    // ******************************************************
 
    TransformAccessReadOnly pTransformAccessReadOnly;
    TransformData transformData;
    __m128 result;
 
    const __m128 mulVec0 = { -2.000, 2.000, -2.000, 0.000 };
    const __m128 mulVec1 = { 2.000, -2.000, -2.000, 0.000 };
    const __m128 mulVec2 = { -2.000, -2.000, 2.000, 0.000 };
 
    // ******************************************************
 
    if (!helper.isValidAddress(transform)) return VECTOR3(0.0f, 0.0f, 0.0f);
    memory.read((DWORD64)transform + 0x38, (DWORD64)&pTransformAccessReadOnly, sizeof(pTransformAccessReadOnly));
 
    if (!helper.isValidAddress(pTransformAccessReadOnly.pTransformData)) return VECTOR3(0.0f, 0.0f, 0.0f);
    memory.read((DWORD64)pTransformAccessReadOnly.pTransformData + 0x8, (DWORD64)&transformData, sizeof(transformData));
 
    if (!helper.isValidAddress(transformData.pTransformArray) || !helper.isValidAddress(transformData.pTransformIndices)) return VECTOR3(0.0f, 0.0f, 0.0f);
 
    // ******************************************************
 
    SIZE_T sizeMatriciesBuf = sizeof(Matrix34) * pTransformAccessReadOnly.index + sizeof(Matrix34);
    SIZE_T sizeIndicesBuf = sizeof(int) * pTransformAccessReadOnly.index + sizeof(int);
 
    // Allocate memory for storing large amounts of data (matricies and indicies)
    PVOID pMatriciesBuf = malloc(sizeMatriciesBuf);
    PVOID pIndicesBuf = malloc(sizeIndicesBuf);
 
    if (pMatriciesBuf && pIndicesBuf)
    {
        // Read Matricies array into the buffer
        memory.read(transformData.pTransformArray, (DWORD64)pMatriciesBuf, sizeMatriciesBuf);
        // Read Indices array into the buffer
        memory.read(transformData.pTransformIndices, (DWORD64)pIndicesBuf, sizeIndicesBuf);
 
        result = *(__m128*)((DWORD64)pMatriciesBuf + 0x30 * pTransformAccessReadOnly.index);
        int transformIndex = *(int*)((DWORD64)pIndicesBuf + 0x4 * pTransformAccessReadOnly.index);
 
        while (transformIndex >= 0)
        {
            Matrix34 matrix34 = *(Matrix34*)((DWORD64)pMatriciesBuf + 0x30 * transformIndex);
 
            __m128 xxxx = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x00));  // xxxx
            __m128 yyyy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x55));  // yyyy
            __m128 zwxy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x8E));  // zwxy
            __m128 wzyw = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0xDB));  // wzyw
            __m128 zzzz = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0xAA));  // zzzz
            __m128 yxwy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x71));  // yxwy
            __m128 tmp7 = _mm_mul_ps(*(__m128*)(&matrix34.vec2), result);
 
            result = _mm_add_ps(
                _mm_add_ps(
                    _mm_add_ps(
                        _mm_mul_ps(
                            _mm_sub_ps(
                                _mm_mul_ps(_mm_mul_ps(xxxx, mulVec1), zwxy),
                                _mm_mul_ps(_mm_mul_ps(yyyy, mulVec2), wzyw)),
                            _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0xAA))),
                        _mm_mul_ps(
                            _mm_sub_ps(
                                _mm_mul_ps(_mm_mul_ps(zzzz, mulVec2), wzyw),
                                _mm_mul_ps(_mm_mul_ps(xxxx, mulVec0), yxwy)),
                            _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0x55)))),
                    _mm_add_ps(
                        _mm_mul_ps(
                            _mm_sub_ps(
                                _mm_mul_ps(_mm_mul_ps(yyyy, mulVec0), yxwy),
                                _mm_mul_ps(_mm_mul_ps(zzzz, mulVec1), zwxy)),
                            _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0x00))),
                        tmp7)), *(__m128*)(&matrix34.vec0));
 
            transformIndex = *(int*)((DWORD64)pIndicesBuf + 0x4 * transformIndex);
        }
 
        free(pMatriciesBuf);
        free(pIndicesBuf);
    }
 
    return VECTOR3(result.m128_f32[0], result.m128_f32[1], result.m128_f32[2]);
}

@klmno, @shaliuno, @Ac1d777 maybe you know what is wrong with this code (it worked perfectly last month...)

Im fully internal, but also after previous hotfix ~50mb bones via scope/helment glass start shifting

moonwebb99 23rd October 2018 01:03 PM

Quote:

Originally Posted by Ac1d777 (Post 2264939)
Im fully internal, but also after previous hotfix ~50mb bones via scope/helment glass start shifting

I am starting to notice a shift in my boxes as well after hot fix weird. //Internal

Ac1d777 23rd October 2018 04:49 PM

Quote:

Originally Posted by moonwebb99 (Post 2265154)
I am starting to notice a shift in my boxes as well after hot fix weird. //Internal

Not weird, they probably corrected scope matrix and add matrix into helment glass. Its my minds just.

BraydenEGC 27th October 2018 09:12 PM

Anyone know the bone name for left foot? I can get right foot but not left. Thanks! p.s. Internal.

shaliuno 28th October 2018 03:30 PM

Is there a way to override distance when you interact with items?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

mikangchan 30th October 2018 10:25 PM

Quote:

Originally Posted by shaliuno (Post 2269026)
Is there a way to override distance when you interact with items?

server checked

Quote:

Originally Posted by BraydenEGC (Post 2268504)
Anyone know the bone name for left foot? I can get right foot but not left. Thanks! p.s. Internal.

i think 64com had posted full bones in previous page

Quote:

Originally Posted by shaliuno (Post 2261937)
I`d go with something like...

10a6c9d0 : Door
static fields
fields
f0 : оЂï¿½ (type: BrokenDoor)
118 : IsBroken (type: System.Boolean)
>>>119 : CanBeBreached (type: System.Boolean)

on the other hand if all you need is just to get to the "other side", just teleport a little.

I do teleport so I can take all the stuff when people "save" their gear by putting in containers, behind locked doors, etc.

don't think u can bypass collision check?

shaliuno 31st October 2018 12:22 AM

Quote:

Originally Posted by mikangchan (Post 2271031)
server checked

hmm, I can force any player anywhere to pickup item near me, but can't force it to drop...

Quote:

Originally Posted by mikangchan (Post 2271031)
don't think u can bypass collision check?

I saw something in the code, but full no clip looks to be overkill

BraydenEGC 31st October 2018 03:54 AM

Quote:

Originally Posted by shaliuno (Post 2271093)
hmm, I can force any player anywhere to pickup item near me, but can't force it to drop...



I saw something in the code, but full no clip looks to be overkill



I tried to disable tree/wall colliders for bullets. I did not have any success. Do you remember what class the code was in?

ZeusLord 8th November 2018 09:43 PM

Anyone found where player.HealthController.SummaryHealth.CurrentValue has went to since the latest update? I've been poking around but haven't found anything so far.

BraydenEGC 8th November 2018 09:44 PM

Quote:

Originally Posted by ZeusLord (Post 2278105)
Anyone found where player.HealthController.SummaryHealth.CurrentValue has went to since the latest update? I've been poking around but haven't found anything so far.

I have been looking too. Nothing.

Ac1d777 9th November 2018 06:19 AM

Quote:

Originally Posted by ZeusLord (Post 2278105)
Anyone found where player.HealthController.SummaryHealth.CurrentValue has went to since the latest update? I've been poking around but haven't found anything so far.

Its still into this region cause i found it. (im not using mono, offsets).

matvei 9th November 2018 09:29 AM

HealthController
 
Code:

Player + 0x458 = HealthController

class HealthController
{
public:
        char pad_0x0000[0x10]; //0x0000
        Dictionary* health; //0x0010
};

class Dictionary
{
public:
    char pad_0x0000[0x28]; //0x0000
    void* ptr; //0x0028
    long num; //0x0030
};

class BodyController
{
public:
        char pad_0x0000[0x20]; //0x0000
        BodyPart* body1; //0x0020
        BodyPart* body2; //0x0028
        BodyPart* body3; //0x0030
        BodyPart* body4; //0x0038
        BodyPart* body5; //0x0040
        BodyPart* body6; //0x0048
        BodyPart* body7; //0x0050
};

class BodyPart
{
public:
        char pad_0x0000[0x10]; //0x0000
        Value* value; //0x0010
};

class Value
{
public:
        char pad_0x0000[0x10]; //0x0000
        float current; //0x0010
        float maximum; //0x0014
};


moonwebb99 9th November 2018 06:50 PM

I think I may have found to get overall health, however, I have yet to test it out.
float playerHealth = player.HealthController.imethod_0(EFT.HealthSystem.EBodyPart.Common).Current;

ethos 9th November 2018 07:29 PM

Quote:

Originally Posted by moonwebb99 (Post 2278622)
I think I may have found to get overall health, however, I have yet to test it out.
float playerHealth = player.HealthController.imethod_0(EFT.HealthSystem.EBodyPart.Common).Current;


Code:

float playerHealth = player.HealthController.imethod_0(EFT.HealthSystem.EBodyPart.Common).Current / 435f * 100f;
yeap it does work! Thanks m8. :fing02:

Note: You need to dedot the Assembly-CSharp.dll in order to access the imethod_0!

shaliuno 9th November 2018 08:39 PM

I guess I got lazy running invisible, stealing loot and doing shit...

Anyway, can anybody share offsets for a raycast, to get coordinates of the point you're looking at...
Want to try something funny but I need that one.

ZeusLord 9th November 2018 10:43 PM

Quote:

Originally Posted by moonwebb99 (Post 2278622)
I think I may have found to get overall health, however, I have yet to test it out.
float playerHealth = player.HealthController.imethod_0(EFT.HealthSystem.EBodyPart.Common).Current;

Thanks m8!

dler41 10th November 2018 03:17 AM

Did they change something with weaponanimation and movementcontext?

I'm zeroing the following for no recoil, but I'm still getting recoil:

player + 0x88] + 0xb0
player + 0x88] + 0x48] + 0x38
player + 0x88] + 0x48] + 0x40

For my aimbot I'm writing to yaw and pitch, which show the correct angle, but writing to them does nothing:

player + 0x40] + 0x1F4 (yaw)
player + 0x40] + 0x1F8 (pitch)

Are my offsets wrong, or did they change writing to memory, or is it some other problem?

Ac1d777 10th November 2018 08:12 AM

Quote:

Originally Posted by dler41 (Post 2278902)
Did they change something with weaponanimation and movementcontext?

I'm zeroing the following for no recoil, but I'm still getting recoil:

player + 0x88] + 0xb0
player + 0x88] + 0x48] + 0x38
player + 0x88] + 0x48] + 0x40

For my aimbot I'm writing to yaw and pitch, which show the correct angle, but writing to them does nothing:

player + 0x40] + 0x1F4 (yaw)
player + 0x40] + 0x1F8 (pitch)

Are my offsets wrong, or did they change writing to memory, or is it some other problem?

Yaw/Pitch changed.

dler41 10th November 2018 12:49 PM

Quote:

Originally Posted by Ac1d777 (Post 2279007)
Yaw/Pitch changed.

Alright thanks, what about no recoil? Should it be working or are my offsets wrong there too?

Quote:

Originally Posted by dler41 (Post 2279142)
Alright thanks, what about no recoil? Should it be working or are my offsets wrong there too?

Nevermind, pretty simple to figure out, ignore please ^

dler4 10th November 2018 08:11 PM

Anyone have a good way to get coordinates/location for external? I tried the following:

D3DXVECTOR3 _lMarkerRawPosition;
D3DXVECTOR3 _lElbowRawPosition;
D3DXVECTOR3 _rElbowRawPosition;

But they only seem to work for local player, other players show as 0 for these. I've also tried getting bone positions (starting at player + 0x4b0), but it only picks up 75% of players on the map whereas a few months ago it showed everyone. I just need any type of position/marker since I'm not going for a proper aimbot, mostly just want the ESP. Also I aplogize for using another account in my above post but I didn't have access to this one until now

BraydenEGC 10th November 2018 08:13 PM

Get them by the boneID. You can dump all bone id�s in Skeleton.Bones. It is a dictionary.

dler4 10th November 2018 08:18 PM

Quote:

Originally Posted by BraydenEGC (Post 2279432)
Get them by the boneID. You can dump all bone id�s in Skeleton.Bones. It is a dictionary.

I'm not looking to make a skeleton ESP, just a number that shows how close/far someone is. Just wondering what's the simplest way to do this, would it be through player transform? I haven't used players transforms since Rust, no idea how it's done now in EFT

BraydenEGC 10th November 2018 08:19 PM

Quote:

Originally Posted by dler4 (Post 2279438)
I'm not looking to make a skeleton ESP, just a number that shows how close/far someone is. Just wondering what's the simplest way to do this, would it be through player transform? I haven't used players transforms since Rust, no idea how it's done now in EFT



Get their head position, calculate the distance to the Camera.Main.position.

dler4 10th November 2018 08:24 PM

Quote:

Originally Posted by BraydenEGC (Post 2279439)
Get their head position, calculate the distance to the Camera.Main.position.

The problem is I cant find positions except under player +0x4b0] +0x28] +0x10] +0x20] (first bone in list) + 0x10] + 0x38]

And the problem with that one is not everyone has valid bones in that list (I check up to 28 bones), I have no idea how to dump bone IDs and never had to use dictionaries. I'm just looking for a simple offset chain that'll give the raw position

BraydenEGC 10th November 2018 08:32 PM

Quote:

Originally Posted by dler4 (Post 2279446)
The problem is I cant find positions except under player +0x4b0] +0x28] +0x10] +0x20] (first bone in list) + 0x10] + 0x38]

And the problem with that one is not everyone has valid bones in that list (I check up to 28 bones), I have no idea how to dump bone IDs and never had to use dictionaries. I'm just looking for a simple offset chain that'll give the raw position



player.playerbones.head.position.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

dler4 10th November 2018 08:34 PM

Quote:

Originally Posted by BraydenEGC (Post 2279451)
player.playerbones.head.position.

And what is the offset of playerbones and head? I'm using 0x4b0 for playerbones, is that still correct?

BraydenEGC 10th November 2018 08:35 PM

Quote:

Originally Posted by dler4 (Post 2279455)
And what is the offset of playerbones and head? I'm using 0x4b0 for playerbones, is that still correct?



I am internal. No clue. Sorry bud!

dler4 10th November 2018 08:37 PM

Quote:

Originally Posted by BraydenEGC (Post 2279456)
I am internal. No clue. Sorry bud!

Edit: player transform still works fine.

lumungus 10th November 2018 11:48 PM

Quote:

Originally Posted by niceone1 (Post 2263210)
Does someone know how to fix the external getBoneposition?

I'm using these pointers for the bones:
Code:

const static vector<DWORD64> entityBoneListOffs{ 0x4B0, 0xC0, 0x10 };
const static vector<DWORD64> entityBoneListOffs2{ 0x98, 0x28, 0x28, 0x10, 0x448 };

Here is a screenshot from the access violation in the "matrix34" variable:
https://imgur.com/a/XlUwo4T
(https://imgur.com/a/XlUwo4T)

And here the function i'm using
Code:

VECTOR3 Entity::getBonePos(DWORD64 transform)
{
    if (!helper.isValidAddress(transform)) return VECTOR3(0.0f, 0.0f, 0.0f);
    memory.read(transform, (DWORD64)&transform, sizeof(transform));
 
    if (!helper.isValidAddress(transform)) return VECTOR3(0.0f, 0.0f, 0.0f);
    memory.read(transform + 0x10, (DWORD64)&transform, sizeof(transform));
 
 
    // ******************************************************
 
    TransformAccessReadOnly pTransformAccessReadOnly;
    TransformData transformData;
    __m128 result;
 
    const __m128 mulVec0 = { -2.000, 2.000, -2.000, 0.000 };
    const __m128 mulVec1 = { 2.000, -2.000, -2.000, 0.000 };
    const __m128 mulVec2 = { -2.000, -2.000, 2.000, 0.000 };
 
    // ******************************************************
 
    if (!helper.isValidAddress(transform)) return VECTOR3(0.0f, 0.0f, 0.0f);
    memory.read((DWORD64)transform + 0x38, (DWORD64)&pTransformAccessReadOnly, sizeof(pTransformAccessReadOnly));
 
    if (!helper.isValidAddress(pTransformAccessReadOnly.pTransformData)) return VECTOR3(0.0f, 0.0f, 0.0f);
    memory.read((DWORD64)pTransformAccessReadOnly.pTransformData + 0x8, (DWORD64)&transformData, sizeof(transformData));
 
    if (!helper.isValidAddress(transformData.pTransformArray) || !helper.isValidAddress(transformData.pTransformIndices)) return VECTOR3(0.0f, 0.0f, 0.0f);
 
    // ******************************************************
 
    SIZE_T sizeMatriciesBuf = sizeof(Matrix34) * pTransformAccessReadOnly.index + sizeof(Matrix34);
    SIZE_T sizeIndicesBuf = sizeof(int) * pTransformAccessReadOnly.index + sizeof(int);
 
    // Allocate memory for storing large amounts of data (matricies and indicies)
    PVOID pMatriciesBuf = malloc(sizeMatriciesBuf);
    PVOID pIndicesBuf = malloc(sizeIndicesBuf);
 
    if (pMatriciesBuf && pIndicesBuf)
    {
        // Read Matricies array into the buffer
        memory.read(transformData.pTransformArray, (DWORD64)pMatriciesBuf, sizeMatriciesBuf);
        // Read Indices array into the buffer
        memory.read(transformData.pTransformIndices, (DWORD64)pIndicesBuf, sizeIndicesBuf);
 
        result = *(__m128*)((DWORD64)pMatriciesBuf + 0x30 * pTransformAccessReadOnly.index);
        int transformIndex = *(int*)((DWORD64)pIndicesBuf + 0x4 * pTransformAccessReadOnly.index);
 
        while (transformIndex >= 0)
        {
            Matrix34 matrix34 = *(Matrix34*)((DWORD64)pMatriciesBuf + 0x30 * transformIndex);
 
            __m128 xxxx = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x00));  // xxxx
            __m128 yyyy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x55));  // yyyy
            __m128 zwxy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x8E));  // zwxy
            __m128 wzyw = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0xDB));  // wzyw
            __m128 zzzz = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0xAA));  // zzzz
            __m128 yxwy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x71));  // yxwy
            __m128 tmp7 = _mm_mul_ps(*(__m128*)(&matrix34.vec2), result);
 
            result = _mm_add_ps(
                _mm_add_ps(
                    _mm_add_ps(
                        _mm_mul_ps(
                            _mm_sub_ps(
                                _mm_mul_ps(_mm_mul_ps(xxxx, mulVec1), zwxy),
                                _mm_mul_ps(_mm_mul_ps(yyyy, mulVec2), wzyw)),
                            _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0xAA))),
                        _mm_mul_ps(
                            _mm_sub_ps(
                                _mm_mul_ps(_mm_mul_ps(zzzz, mulVec2), wzyw),
                                _mm_mul_ps(_mm_mul_ps(xxxx, mulVec0), yxwy)),
                            _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0x55)))),
                    _mm_add_ps(
                        _mm_mul_ps(
                            _mm_sub_ps(
                                _mm_mul_ps(_mm_mul_ps(yyyy, mulVec0), yxwy),
                                _mm_mul_ps(_mm_mul_ps(zzzz, mulVec1), zwxy)),
                            _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0x00))),
                        tmp7)), *(__m128*)(&matrix34.vec0));
 
            transformIndex = *(int*)((DWORD64)pIndicesBuf + 0x4 * transformIndex);
        }
 
        free(pMatriciesBuf);
        free(pIndicesBuf);
    }
 
    return VECTOR3(result.m128_f32[0], result.m128_f32[1], result.m128_f32[2]);
}

@klmno, @shaliuno, @Ac1d777 maybe you know what is wrong with this code (it worked perfectly last month...)

Same problem here, some offset changed? Have you found a solution?

Fixed: thanks to niceone1, I compiled in release, then I got bad bones positions but no more crash, moved boneListPtr from 0x98 to 0x90 and it is all good

Lyut 13th November 2018 09:06 PM

Since last update you apparently can't retrieve items contained into lootables anymore. Anyone knows where it got moved? Or it's no longer client sided?

BraydenEGC 13th November 2018 09:07 PM

Quote:

Originally Posted by Lyut (Post 2281873)
Since last update you apparently can't retrieve items contained into lootables anymore. Anyone knows where it got moved? Or it's no longer client sided?



Must have been moved because p2c still has it.

lumungus 13th November 2018 11:45 PM

Quote:

Originally Posted by Ac1d777 (Post 2265295)
Not weird, they probably corrected scope matrix and add matrix into helment glass. Its my minds just.

Someone knows where can I find the scope matrix (is it unique to every scope or is it one per scope?) and the helmet one?

CrispyTreats 14th November 2018 02:45 AM

Quote:

Originally Posted by lumungus (Post 2279618)
Same problem here, some offset changed? Have you found a solution?

Fixed: thanks to niceone1, I compiled in release, then I got bad bones positions but no more crash, moved boneListPtr from 0x98 to 0x90 and it is all good

How did you fix Bone Positions externally, I see 0x4B0 and know where it goes but im confused about the second array and how it was useful to fix Bones.

const static vector<DWORD64> entityBoneListOffs2{ 0x98, 0x28, 0x28, 0x10, 0x448 };


Any help/tips with this would be nice, trying to fix Bones for ages.

Akolon13 14th November 2018 08:48 AM

Quote:

Originally Posted by CrispyTreats (Post 2282031)
How did you fix Bone Positions externally, I see 0x4B0 and know where it goes but im confused about the second array and how it was useful to fix Bones.

const static vector<DWORD64> entityBoneListOffs2{ 0x98, 0x28, 0x28, 0x10, 0x448 };


Any help/tips with this would be nice, trying to fix Bones for ages.

Code:

Player(base)->PlayerBody(0x90)->SkeletonRootJoint(0x28)->_values(0x28)->List(0x10)->BoneTransform(0x20+0x8*boneId)
PlayerBase+0x90]+0x28]+0x10]+0x20+0x8*boneId]

BoneEnums:
Code:


public enum EHumanBones
    {
        Empty = 0,
        IKController,
        Mesh,
        Vest_0,
        Vest_1,
        backpack,
        backpack_0,
        backpack_1,
        backpack_2,
        razgruz,
        razgruz_0,
        razgruz_1,
        razgruz_2,
        Root_Joint,
        HumanPelvis,
        HumanLThigh1,
        HumanLThigh2,
        HumanLCalf,
        HumanLFoot,
        HumanLToe,
        HumanRThigh1,
        HumanRThigh2,
        HumanRCalf,
        HumanRFoot,
        HumanRToe,
        Bear_Feet,
        USEC_Feet,
        BEAR_feet_1,
        weapon_holster_pistol,
        HumanSpine1,
        HumanGear1,
        HumanGear2,
        HumanGear3,
        HumanGear4,
        HumanGear4_1,
        HumanGear5,
        HumanSpine2,
        HumanSpine3,
        IK_S_LForearm1,
        IK_S_LForearm2,
        IK_S_LForearm3,
        IK_S_LPalm,
        IK_S_LDigit11,
        IK_S_LDigit12,
        IK_S_LDigit13,
        IK_S_LDigit21,
        IK_S_LDigit22,
        IK_S_LDigit23,
        IK_S_LDigit31,
        IK_S_LDigit32,
        IK_S_LDigit33,
        IK_S_LDigit41,
        IK_S_LDigit42,
        IK_S_LDigit43,
        IK_S_LDigit51,
        IK_S_LDigit52,
        IK_S_LDigit53,
        XYZ,
        LCollarbone_anim,
        RCollarbone_anim,
        RCollarbone_anim_XYZ,
        Weapon_root_3rd_anim,
        Weapon_root_3rd_anim_XYZ_1,
        Bend_Goal_Left,
        Bend_Goal_Right,
        Bend_Goal_Right_XYZ_1,
        HumanRibcage,
        IK_LForearm1,
        IK_LForearm2,
        IK_LForearm3,
        IK_LPalm,
        IK_LDigit11,
        IK_LDigit12,
        IK_LDigit13,
        IK_LDigit21,
        IK_LDigit22,
        IK_LDigit23,
        IK_LDigit31,
        IK_LDigit32,
        IK_LDigit33,
        IK_LDigit41,
        IK_LDigit42,
        IK_LDigit43,
        IK_LDigit51,
        IK_LDigit52,
        IK_LDigit53,
        Camera_animated,
        CameraContainer,
        Cam,
        HumanLCollarbone,
        HumanLUpperarm,
        HumanLForearm1,
        HumanLForearm2,
        HumanLForearm3,
        HumanLPalm,
        HumanLDigit11,
        HumanLDigit12,
        HumanLDigit13,
        HumanLDigit21,
        HumanLDigit22,
        HumanLDigit23,
        HumanLDigit31,
        HumanLDigit32,
        HumanLDigit33,
        HumanLDigit41,
        HumanLDigit42,
        HumanLDigit43,
        HumanLDigit51,
        HumanLDigit52,
        HumanLDigit53,
        HumanRCollarbone,
        HumanRUpperarm,
        HumanRForearm1,
        HumanRForearm2,
        HumanRForearm3,
        HumanRPalm,
        HumanRDigit11,
        HumanRDigit12,
        HumanRDigit13,
        HumanRDigit21,
        HumanRDigit22,
        HumanRDigit23,
        HumanRDigit31,
        HumanRDigit32,
        HumanRDigit33,
        HumanRDigit41,
        HumanRDigit42,
        HumanRDigit43,
        HumanRDigit51,
        HumanRDigit52,
        HumanRDigit53,
        Weapon_root,
        HumanNeck,
        HumanHead,
        HumanBackpack,
        weapon_holster,
        weapon_holster1,
        Camera_animated_3rd
    };


CrispyTreats 15th November 2018 01:49 AM

Bone Transform is Unity's GetPosition function?

Quote:

Originally Posted by Akolon13 (Post 2282157)
Code:

Player(base)->PlayerBody(0x90)->SkeletonRootJoint(0x28)->_values(0x28)->List(0x10)->BoneTransform(0x20+0x8*boneId)
PlayerBase+0x90]+0x28]+0x10]+0x20+0x8*boneId]

BoneEnums:
Code:


public enum EHumanBones
    {
        Empty = 0,
        IKController,
        Mesh,
        Vest_0,
        Vest_1,
        backpack,
        backpack_0,
        backpack_1,
        backpack_2,
        razgruz,
        razgruz_0,
        razgruz_1,
        razgruz_2,
        Root_Joint,
        HumanPelvis,
        HumanLThigh1,
        HumanLThigh2,
        HumanLCalf,
        HumanLFoot,
        HumanLToe,
        HumanRThigh1,
        HumanRThigh2,
        HumanRCalf,
        HumanRFoot,
        HumanRToe,
        Bear_Feet,
        USEC_Feet,
        BEAR_feet_1,
        weapon_holster_pistol,
        HumanSpine1,
        HumanGear1,
        HumanGear2,
        HumanGear3,
        HumanGear4,
        HumanGear4_1,
        HumanGear5,
        HumanSpine2,
        HumanSpine3,
        IK_S_LForearm1,
        IK_S_LForearm2,
        IK_S_LForearm3,
        IK_S_LPalm,
        IK_S_LDigit11,
        IK_S_LDigit12,
        IK_S_LDigit13,
        IK_S_LDigit21,
        IK_S_LDigit22,
        IK_S_LDigit23,
        IK_S_LDigit31,
        IK_S_LDigit32,
        IK_S_LDigit33,
        IK_S_LDigit41,
        IK_S_LDigit42,
        IK_S_LDigit43,
        IK_S_LDigit51,
        IK_S_LDigit52,
        IK_S_LDigit53,
        XYZ,
        LCollarbone_anim,
        RCollarbone_anim,
        RCollarbone_anim_XYZ,
        Weapon_root_3rd_anim,
        Weapon_root_3rd_anim_XYZ_1,
        Bend_Goal_Left,
        Bend_Goal_Right,
        Bend_Goal_Right_XYZ_1,
        HumanRibcage,
        IK_LForearm1,
        IK_LForearm2,
        IK_LForearm3,
        IK_LPalm,
        IK_LDigit11,
        IK_LDigit12,
        IK_LDigit13,
        IK_LDigit21,
        IK_LDigit22,
        IK_LDigit23,
        IK_LDigit31,
        IK_LDigit32,
        IK_LDigit33,
        IK_LDigit41,
        IK_LDigit42,
        IK_LDigit43,
        IK_LDigit51,
        IK_LDigit52,
        IK_LDigit53,
        Camera_animated,
        CameraContainer,
        Cam,
        HumanLCollarbone,
        HumanLUpperarm,
        HumanLForearm1,
        HumanLForearm2,
        HumanLForearm3,
        HumanLPalm,
        HumanLDigit11,
        HumanLDigit12,
        HumanLDigit13,
        HumanLDigit21,
        HumanLDigit22,
        HumanLDigit23,
        HumanLDigit31,
        HumanLDigit32,
        HumanLDigit33,
        HumanLDigit41,
        HumanLDigit42,
        HumanLDigit43,
        HumanLDigit51,
        HumanLDigit52,
        HumanLDigit53,
        HumanRCollarbone,
        HumanRUpperarm,
        HumanRForearm1,
        HumanRForearm2,
        HumanRForearm3,
        HumanRPalm,
        HumanRDigit11,
        HumanRDigit12,
        HumanRDigit13,
        HumanRDigit21,
        HumanRDigit22,
        HumanRDigit23,
        HumanRDigit31,
        HumanRDigit32,
        HumanRDigit33,
        HumanRDigit41,
        HumanRDigit42,
        HumanRDigit43,
        HumanRDigit51,
        HumanRDigit52,
        HumanRDigit53,
        Weapon_root,
        HumanNeck,
        HumanHead,
        HumanBackpack,
        weapon_holster,
        weapon_holster1,
        Camera_animated_3rd
    };



ZeusLord 17th November 2018 12:05 AM

Would anyone possibly know the max distance at which you can pick an item up is before it gives the too far away error?

BraydenEGC 17th November 2018 12:13 AM

Quote:

Originally Posted by ZeusLord (Post 2284318)
Would anyone possibly know the max distance at which you can pick an item up is before it gives the too far away error?



Should be aprx. 11m. Or it has recently changed.

shaliuno 17th November 2018 12:51 AM

about 1 meter for now.

lumungus 17th November 2018 11:40 AM

Quote:

Originally Posted by lumungus (Post 2281954)
Someone knows where can I find the scope view matrix (is it unique to every scope or is it one per scope?) and the helmet one?

Anyone got any infos on view matrix? I would like to adapt my ESP when I use a scope

vetero4ek 19th November 2018 03:52 AM

Hello all, can anybody share a new offsets to the GOM ? I will be grateful a lot.

got it, may be anyone know a new offset to objects ?

shaliuno 19th November 2018 12:34 PM

GOM has not changed for ages.

vetero4ek 20th November 2018 04:12 AM

I just trying to get players position, can anyone tell me, does objects list contain such objects as players or it locate in others place ?

BraydenEGC 20th November 2018 01:49 PM

Quote:

Originally Posted by vetero4ek (Post 2286521)
I just trying to get players position, can anyone tell me, does objects list contain such objects as players or it locate in others place ?

Player.Transform.Position
Relatively easy to find that out without using anymore of 30 secs of time.

vetero4ek 21st November 2018 06:10 AM

Quote:

Originally Posted by BraydenEGC (Post 2286747)
Player.Transform.Position
Relatively easy to find that out without using anymore of 30 secs of time.

sry for my noob question, but what kind of program can let me search this signature ?

BraydenEGC 22nd November 2018 01:22 AM

Quote:

Originally Posted by vetero4ek (Post 2287305)
sry for my noob question, but what kind of program can let me search this signature ?

Visual Studio with assembly-csharp as a reference.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

bobjubel 22nd November 2018 07:46 PM

Hi all, does someone has actual offsets? right now I cant scan game because of ban xD.

but im working on external.

im trying to fix some bugs in https://www.unknowncheats.me/forum/other-fps-games/262303-escape-tarkov-external-esp.html

and these offsets are needed

Code:

          { "IS_PLAYER", new Dictionary<int, int[]>(){ { 32, new int[] { 0x398, 0x20 } } } },

            { "USERNAME", new Dictionary<int, int[]>(){ { 32, new int[] { 0x398, 0x28, 0x10, 0x14 } } } },
            { "WATER_CUR", new Dictionary<int, int[]>(){ { 4, new int[] { 0x398, 0x40, 0x10, 0x20 } } } },
            { "WATER_MAX", new Dictionary<int, int[]>(){ { 4, new int[] { 0x398, 0x40, 0x10, 0x24 } } } },

            { "ENERGY_CUR", new Dictionary<int, int[]>(){ { 4, new int[] { 0x398, 0x40, 0x18, 0x20 } } } },
            { "ENERGY_MAX", new Dictionary<int, int[]>(){ { 4, new int[] { 0x398, 0x40, 0x18, 0x24 } } } },

            { "HEAD_CUR", new Dictionary<int, int[]>(){ { 4, new int[] { 0x398, 0x40, 0x20, 0x10, 0x20, 0x20 } } } },
            { "HEAD_MAX", new Dictionary<int, int[]>(){ { 4, new int[] { 0x398, 0x40, 0x20, 0x10, 0x20, 0x24 } } } },

            { "CHEST_CUR", new Dictionary<int, int[]>(){ { 4, new int[] { 0x398, 0x40, 0x20, 0x10, 0x28, 0x20 } } } },
            { "CHEST_MAX", new Dictionary<int, int[]>(){ { 4, new int[] { 0x398, 0x40, 0x20, 0x10, 0x28, 0x24 } } } },

            { "STOMACH_CUR", new Dictionary<int, int[]>(){ { 4, new int[] { 0x398, 0x40, 0x20, 0x10, 0x30, 0x20 } } } },
            { "STOMACH_MAX", new Dictionary<int, int[]>(){ { 4, new int[] { 0x398, 0x40, 0x20, 0x10, 0x30, 0x24 } } } },

            { "LEFTARM_CUR", new Dictionary<int, int[]>(){ { 4, new int[] { 0x398, 0x40, 0x20, 0x10, 0x38, 0x20 } } } },
            { "LEFTARM_MAX", new Dictionary<int, int[]>(){ { 4, new int[] { 0x398, 0x40, 0x20, 0x10, 0x38, 0x24 } } } },

            { "RIGHTARM_CUR", new Dictionary<int, int[]>(){ { 4, new int[] { 0x398, 0x40, 0x20, 0x10, 0x40, 0x20 } } } },
            { "RIGHTARM_MAX", new Dictionary<int, int[]>(){ { 4, new int[] { 0x398, 0x40, 0x20, 0x10, 0x40, 0x24 } } } },

            { "LEFTLEG_CUR", new Dictionary<int, int[]>(){ { 4, new int[] { 0x398, 0x40, 0x20, 0x10, 0x48, 0x20 } } } },
            { "LEFTLEG_MAX", new Dictionary<int, int[]>(){ { 4, new int[] { 0x398, 0x40, 0x20, 0x10, 0x48, 0x24 } } } },

            { "RIGHTLEG_CUR", new Dictionary<int, int[]>(){ { 4, new int[] { 0x398, 0x40, 0x20, 0x10, 0x50, 0x20 } } } },
            { "RIGHTLEG_MAX", new Dictionary<int, int[]>(){ { 4, new int[] { 0x398, 0x40, 0x20, 0x10, 0x50, 0x24 } } } },

            { "POS_X", new Dictionary<int, int[]>(){ { 4, new int[] { 0x58, 0x30 } } } },
            { "POS_Y", new Dictionary<int, int[]>(){ { 4, new int[] { 0x58, 0x34 } } } },
            { "POS_Z", new Dictionary<int, int[]>(){ { 4, new int[] { 0x58, 0x38 } } } },

            { "VIEW_X", new Dictionary<int, int[]>(){ { 4, new int[] { 0x50, 0x1EC } } } },
            { "VIEW_Y", new Dictionary<int, int[]>(){ { 4, new int[] { 0x50, 0x1F0 } } } },
            { "VIEW_Z", new Dictionary<int, int[]>(){ { 4, new int[] { 0x50, 0x1F4 } } } }

if @glumi has nothing agains, i can publish a code after rework and update

shaliuno 22nd November 2018 09:00 PM

private static readonly int PlayerProfile = 0x428;
private static readonly int[] PlayerNicknameOffsets = new int[] { PlayerProfile, 0x28, 0x10, 0x14 };
private static readonly int[] PlayerSideOffsets = new int[] { PlayerProfile, 0x28, 0x48 };
private static readonly int[] PlayerMemberCategoryOffsets = new int[] { PlayerProfile, 0x28, 0x58 };
private static readonly int[] PlayerAccountIDOffsets = new int[] { PlayerProfile, 0x18, 0x14 };
private static readonly int[] PlayerGroupOffsets = new int[] { PlayerProfile, 0x28, 0x18, 0x14 };
private static readonly int[] PlayerPositionOffsets = new int[] { 0x40, 0x0 }; // 0x60 first XYZ
private static readonly int[] PlayerPositionOffsetsReserve = new int[] { 0x10, 0x30, 0x30, 0x08, 0x38, 0x90 }; //first XYZ
private static readonly int[] PlayerEquipmentOffsets = new int[] { PlayerProfile, 0x48, 0x10 };
private static readonly int[] PlayerWeaponFirstPrimarySlotOffsets = new int[] { PlayerProfile, 0x48, 0x30, 0x10, 0x28, 0x30 };
private static readonly int[] PlayerWeaponSecondPrimarySlotOffsets = new int[] { PlayerProfile, 0x48, 0x30, 0x10, 0x28, 0x38 };
private static readonly int[] PlayerWeaponNameOffsets = new int[] { 0x20, 0x20, 0x50, 0x14 };
private static readonly int[] PlayerHealthControllerOffsets = new int[] { 0x458, 0x10, 0x28 };

var databuffer = Memory.ReadBytes((long)structs.playerPositionAndViewPointer, sizeof(float) * 200);
structs.ViewX = BitConverter.ToSingle(databuffer, 0x1F4); // 1F4
var isStanding = BitConverter.ToSingle(databuffer, 0x1C0); // 1 = Stand 0 = Sit // 1C8
var isProne = BitConverter.ToInt32(databuffer, 0x258); // 1 = Prone , 0 = Not

bobjubel 22nd November 2018 09:22 PM

Quote:

Originally Posted by shaliuno (Post 2288504)
private static readonly int PlayerProfile = 0x428;
private static readonly int[] PlayerNicknameOffsets = new int[] { PlayerProfile, 0x28, 0x10, 0x14 };
private static readonly int[] PlayerSideOffsets = new int[] { PlayerProfile, 0x28, 0x48 };
private static readonly int[] PlayerMemberCategoryOffsets = new int[] { PlayerProfile, 0x28, 0x58 };
private static readonly int[] PlayerAccountIDOffsets = new int[] { PlayerProfile, 0x18, 0x14 };
private static readonly int[] PlayerGroupOffsets = new int[] { PlayerProfile, 0x28, 0x18, 0x14 };
private static readonly int[] PlayerPositionOffsets = new int[] { 0x40, 0x0 }; // 0x60 first XYZ
private static readonly int[] PlayerPositionOffsetsReserve = new int[] { 0x10, 0x30, 0x30, 0x08, 0x38, 0x90 }; //first XYZ
private static readonly int[] PlayerEquipmentOffsets = new int[] { PlayerProfile, 0x48, 0x10 };
private static readonly int[] PlayerWeaponFirstPrimarySlotOffsets = new int[] { PlayerProfile, 0x48, 0x30, 0x10, 0x28, 0x30 };
private static readonly int[] PlayerWeaponSecondPrimarySlotOffsets = new int[] { PlayerProfile, 0x48, 0x30, 0x10, 0x28, 0x38 };
private static readonly int[] PlayerWeaponNameOffsets = new int[] { 0x20, 0x20, 0x50, 0x14 };
private static readonly int[] PlayerHealthControllerOffsets = new int[] { 0x458, 0x10, 0x28 };

var databuffer = Memory.ReadBytes((long)structs.playerPositionAndViewPointer, sizeof(float) * 200);
structs.ViewX = BitConverter.ToSingle(databuffer, 0x1F4); // 1F4
var isStanding = BitConverter.ToSingle(databuffer, 0x1C0); // 1 = Stand 0 = Sit // 1C8
var isProne = BitConverter.ToInt32(databuffer, 0x258); // 1 = Prone , 0 = Not

+rep for man with wings )

vetero4ek 23rd November 2018 01:15 PM

Quote:

Originally Posted by shaliuno (Post 2288504)
private static readonly int PlayerProfile = 0x428;
private static readonly int[] PlayerNicknameOffsets = new int[] { PlayerProfile, 0x28, 0x10, 0x14 };
private static readonly int[] PlayerSideOffsets = new int[] { PlayerProfile, 0x28, 0x48 };
private static readonly int[] PlayerMemberCategoryOffsets = new int[] { PlayerProfile, 0x28, 0x58 };
private static readonly int[] PlayerAccountIDOffsets = new int[] { PlayerProfile, 0x18, 0x14 };
private static readonly int[] PlayerGroupOffsets = new int[] { PlayerProfile, 0x28, 0x18, 0x14 };
private static readonly int[] PlayerPositionOffsets = new int[] { 0x40, 0x0 }; // 0x60 first XYZ
private static readonly int[] PlayerPositionOffsetsReserve = new int[] { 0x10, 0x30, 0x30, 0x08, 0x38, 0x90 }; //first XYZ
private static readonly int[] PlayerEquipmentOffsets = new int[] { PlayerProfile, 0x48, 0x10 };
private static readonly int[] PlayerWeaponFirstPrimarySlotOffsets = new int[] { PlayerProfile, 0x48, 0x30, 0x10, 0x28, 0x30 };
private static readonly int[] PlayerWeaponSecondPrimarySlotOffsets = new int[] { PlayerProfile, 0x48, 0x30, 0x10, 0x28, 0x38 };
private static readonly int[] PlayerWeaponNameOffsets = new int[] { 0x20, 0x20, 0x50, 0x14 };
private static readonly int[] PlayerHealthControllerOffsets = new int[] { 0x458, 0x10, 0x28 };

var databuffer = Memory.ReadBytes((long)structs.playerPositionAndViewPointer, sizeof(float) * 200);
structs.ViewX = BitConverter.ToSingle(databuffer, 0x1F4); // 1F4
var isStanding = BitConverter.ToSingle(databuffer, 0x1C0); // 1 = Stand 0 = Sit // 1C8
var isProne = BitConverter.ToInt32(databuffer, 0x258); // 1 = Prone , 0 = Not


Thanks a lot, work perfect! +rep.
Can u please point me how did u get it ? Did u use disassembler like IDA or just searching in Cheat Engine for long time ?

lumungus 23rd November 2018 04:42 PM

Quote:

Originally Posted by shaliuno (Post 2288504)
private static readonly int PlayerProfile = 0x428;
private static readonly int[] PlayerNicknameOffsets = new int[] { PlayerProfile, 0x28, 0x10, 0x14 };
private static readonly int[] PlayerSideOffsets = new int[] { PlayerProfile, 0x28, 0x48 };
private static readonly int[] PlayerMemberCategoryOffsets = new int[] { PlayerProfile, 0x28, 0x58 };
private static readonly int[] PlayerAccountIDOffsets = new int[] { PlayerProfile, 0x18, 0x14 };
private static readonly int[] PlayerGroupOffsets = new int[] { PlayerProfile, 0x28, 0x18, 0x14 };
private static readonly int[] PlayerPositionOffsets = new int[] { 0x40, 0x0 }; // 0x60 first XYZ
private static readonly int[] PlayerPositionOffsetsReserve = new int[] { 0x10, 0x30, 0x30, 0x08, 0x38, 0x90 }; //first XYZ
private static readonly int[] PlayerEquipmentOffsets = new int[] { PlayerProfile, 0x48, 0x10 };
private static readonly int[] PlayerWeaponFirstPrimarySlotOffsets = new int[] { PlayerProfile, 0x48, 0x30, 0x10, 0x28, 0x30 };
private static readonly int[] PlayerWeaponSecondPrimarySlotOffsets = new int[] { PlayerProfile, 0x48, 0x30, 0x10, 0x28, 0x38 };
private static readonly int[] PlayerWeaponNameOffsets = new int[] { 0x20, 0x20, 0x50, 0x14 };
private static readonly int[] PlayerHealthControllerOffsets = new int[] { 0x458, 0x10, 0x28 };

var databuffer = Memory.ReadBytes((long)structs.playerPositionAndViewPointer, sizeof(float) * 200);
structs.ViewX = BitConverter.ToSingle(databuffer, 0x1F4); // 1F4
var isStanding = BitConverter.ToSingle(databuffer, 0x1C0); // 1 = Stand 0 = Sit // 1C8
var isProne = BitConverter.ToInt32(databuffer, 0x258); // 1 = Prone , 0 = Not

you rock, thanks a lot

what is that view X Y Z though?

shaliuno 23rd November 2018 05:56 PM

Quote:

Originally Posted by vetero4ek (Post 2288883)
Thanks a lot, work perfect! +rep.
Can u please point me how did u get it ? Did u use disassembler like IDA or just searching in Cheat Engine for long time ?

IDA or patternscan for GOM
CE Mono Dissect
dnSpy

Quote:

Originally Posted by lumungus (Post 2288978)
you rock, thanks a lot

what is that view X Y Z though?

viewX = Azimuth
It's Vector3, but I need only X to see where player is looking on my 2D radar

lofaq 24th November 2018 01:56 PM

Where are the playersList now?

Marc921 26th November 2018 08:13 PM

Could someone post new classes and how to get player pointer?

Struggling to use ReClass in this game, managed to get FPS Camera and GameWorld,

Thanks.

shaliuno 26th November 2018 09:33 PM

CE
MonoDissect
No?

Marc921 27th November 2018 03:29 PM

Thanks!

what am i doing wrong its drawing text in random places
Code:

void ESP::DrawESP()
{
        auto p1 = *(uint64_t*)(O::GameWorld + 0x30);
        auto p2 = *(uint64_t*)(p1 + 0x18);
        auto localGameWorld = *(uint64_t*)(p2 + 0x28);

        auto resgisteredPlayers = *(uint64_t*)(localGameWorld + 0x70);

        if (!resgisteredPlayers)
                return;

        auto listBase = *(uint64_t*)(resgisteredPlayers + 0x0010);
        auto playerCount = *(uint32_t*)(resgisteredPlayers + 0x0018);
        if (playerCount <= 0 || !listBase)
                return;

        if (playerCount > 128)
                return;

        for (uint32_t i = 0; i < playerCount; i++)
        {
                auto pPlayer = *(uint64_t*)(listBase + 0x20 + i * 0x8); // Player pointer

                if (!pPlayer)
                        continue;

                auto pedoMeter = *(uint64_t*)(pPlayer + 0x48);

                if (pedoMeter)
                {
                        auto vecPosition = *(Vector3*)(pedoMeter + 0x30);

                        Vec2 screenPos;
                        if (WorldToScreen(vecPosition, screenPos)) {
                                Render::DrawText(screenPos.x, screenPos.y, "player", Color(255, 255, 255, 255));
                        }

                }
        }
}


shaliuno 27th November 2018 05:17 PM

dont use pedoMeter it is laggy
get data straight from player transform

Marc921 27th November 2018 05:50 PM

Quote:

Originally Posted by shaliuno (Post 2292210)
dont use pedoMeter it is laggy
get data straight from player transform

Tried that too. drawing random stuff

BraydenEGC 27th November 2018 07:40 PM

Quote:

Originally Posted by Marc921 (Post 2292237)
Tried that too. drawing random stuff

Chief, we need more info than that. Screenshots, better description of the problem.

Marc921 28th November 2018 02:25 PM

Quote:

Originally Posted by BraydenEGC (Post 2292304)
Chief, we need more info than that. Screenshots, better description of the problem.

It's just drawing at completly random places in the map, that's not entities or anything.. so maybe im getting player pointer wrong or something else wrong the the code i posted?

shaliuno 29th November 2018 01:53 AM

why don`t you open EFT in ReClass and see if your pointer chain goes right?

bobjubel 29th November 2018 06:38 AM

Quote:

Originally Posted by shaliuno (Post 2293205)
why don`t you open EFT in ReClass and see if your pointer chain goes right?

are u not gonna receive auto banned for that? like with cheatengine?

shaliuno 29th November 2018 07:24 AM

Quote:

Originally Posted by bobjubel (Post 2293298)
are u not gonna receive auto banned for that? like with cheatengine?

Unlikely, i tested with online raid couple of times. Works good.

Anyway you don`t need to join online raid to test stuff.
Offline raid does just fine for everything. And recommended approach.

Besides it is r3 anticheat, that means it sucks if proper countermeasures are used.

PeterPanen 3rd December 2018 09:27 PM

Im having trouble finding the Player Nicknames at { 0x428, 0x28, 0x10, 0x14 }, although it worked fine a few weeks ago.

Anyone know anything?

shaliuno 3rd December 2018 09:50 PM

Quote:

Originally Posted by PeterPanen (Post 2296536)
Im having trouble finding the Player Nicknames at { 0x428, 0x28, 0x10, 0x14 }, although it worked fine a few weeks ago.

Anyone know anything?

Code:

class EFT.Player
{
public:
        char pad_0x0000[0x10]; //0x0000
        _position* _position; //0x0010
        char pad_0x0018[0x28]; //0x0018
        _position2* _position2; //0x0040
        char pad_0x0048[0x30]; //0x0048
        _proceduralWeaponAnimation* _proceduralWeaponAnimation; //0x0078
        char pad_0x0080[0x3B8]; //0x0080
        EFT.Profile* EFT.Profile; //0x0438
        char pad_0x0440[0x28]; //0x0440
        HealthController* HealthController; //0x0468
        char pad_0x0470[0x8]; //0x0470
        InventoryController* InventoryController; //0x0478
        char pad_0x0480[0x418]; //0x0480

}; //Size=0x0898


PeterPanen 3rd December 2018 09:53 PM

Quote:

Originally Posted by shaliuno (Post 2296552)
Code:

class EFT.Player
{
public:
        char pad_0x0000[0x10]; //0x0000
        _position* _position; //0x0010
        char pad_0x0018[0x28]; //0x0018
        _position2* _position2; //0x0040
        char pad_0x0048[0x30]; //0x0048
        _proceduralWeaponAnimation* _proceduralWeaponAnimation; //0x0078
        char pad_0x0080[0x3B8]; //0x0080
        EFT.Profile* EFT.Profile; //0x0438
        char pad_0x0440[0x28]; //0x0440
        HealthController* HealthController; //0x0468
        char pad_0x0470[0x8]; //0x0470
        InventoryController* InventoryController; //0x0478
        char pad_0x0480[0x418]; //0x0480

}; //Size=0x0898


You are a real hero! Thank you for the update


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

anoob 19th December 2018 09:16 AM

Good Day.

I am not a reverse-engineer at all, coming from a CSGO background moving to Tarkov, would it be okay to do the following, with the intention of populating a sonar function :

void sonar(glm::vec2 pos, std::vector<glm::vec2> &targetArray, float heading);//beep when aim at enemy within fov

FindWindow(NULL, L"tarkov window name")//to get hwnd
GetWindowThreadProcessId(hwnd, &process);//fill process Id
handle = OpenProcess(PROCESS_ALL_ACCESS, false, process);//get handle
Process32Next(hProcSnapshot_, &processEntry_)//iterate snapshotted thing for exe base address

from page 29 shaliuno;
GameObjectManagerPointer = ProcessBaseAddress + 0x1432840;
// For tagged objects.
tagged_or_active = 0x8;
// For active objects.
tagged_or_active = 0x18;

//addresses with objects
currentAddress = GameObjectManagerPointer] + tagged_or_active ]

iterate from 0 to lets say 2000
currentAddress = currentAddress ] + 0x8
objectAddress = currentAddress] + 0x10 ]
objectNameAddress = objectAddress ] + 0x60 ] + 0x0


I don't understand the tagged vs active objects, would the object address be a pointer from an array of EFT.player structs (as seen above), and therefore could i just read every objects position position (with position 2 beings the forward unit vector?) while checking if it has profile to confirm it is a player? Would the first object be the player himself?

shaliuno 19th December 2018 11:39 AM

@anoob

Tagged and Active are just sort-of a tables that you need to go trough.

Technically I think you can but there is no point in doing so.

The amount of objects in huge, it is a time-consuming RPM call and the bad thing is they never end it is looped at the end.

That is why looking through tagged/active object is only necessary if you are looking for specific one.

And thats why there is a List<Registered Players> with all the objects you need right away.

anoob 19th December 2018 12:38 PM

Quote:

Originally Posted by shaliuno (Post 2313516)
@anoob

Tagged and Active are just sort-of a tables that you need to go trough.

Technically I think you can but there is no point in doing so.

The amount of objects in huge, it is a time-consuming RPM call and the bad thing is they never end it is looped at the end.

That is why looking through tagged/active object is only necessary if you are looking for specific one.

And thats why there is a List<Registered Players> with all the objects you need right away.

i've done search and found gameworld ref from prev page,
auto p1 = *(uint64_t*)(O::GameWorld + 0x30);
auto p2 = *(uint64_t*)(p1 + 0x18);
auto localGameWorld = *(uint64_t*)(p2 + 0x28);

auto resgisteredPlayers = *(uint64_t*)(localGameWorld + 0x70);

if (!resgisteredPlayers)
return;

auto listBase = *(uint64_t*)(resgisteredPlayers + 0x0010);
auto playerCount = *(uint32_t*)(resgisteredPlayers + 0x0018);
if (playerCount <= 0 || !listBase)
return;

if (playerCount > 128)
return;

for (uint32_t i = 0; i < playerCount; i++)
{
auto pPlayer = *(uint64_t*)(listBase + 0x20 + i * 0x8); // Player pointer

i need the gameworld offset from exe, and applying all these offset, x30,x18,x28,x70,x10,x20, i am at the start of reg players(+i*x8), and this player pointer is the class?

But now i realise his offset may b incorrect, are these needed offset (include gameworld from exe public?

i need s;leep

shaliuno 19th December 2018 12:48 PM

It has probably been posted already but I know how it could be hard sometimes to get information piece by piece... (that Rust offset thread still in my nightmares :) )

Look here

0x1432840 is GameObjectManager offset

GameObjectManager = ProcessBaseAddress + 0x1432840;

You can find that using IDA (search this thread for my post) or use that one, it is up to date.

From there you need to get to local game world...

LocalGameWorldPointer = GOM + 0x30], 0x18], 0x28]
LocalGameWorldPointer + 0x70 ] = RegisteredPlayers (see CheatEngine dump or dump it yourself using mono dissect)

RegisteredPlayers + 0x18] player count

RegisteredPlayers + 0x10] + 0x20] first player in that list. YOU! you always first there

From there you can get profile, position and all the rest

roryguidry 25th December 2018 09:38 PM

hey so ive been working on some eft stuff and i cant find the pointer to the beginning of the object list that stores player information etc can anybody help?

shaliuno 26th December 2018 01:00 AM

@roryguidry

why don't you just read the thread then
https://www.unknowncheats.me/forum/2313578-post665.html
https://www.unknowncheats.me/forum/2296552-post660.html

changed values?
reclass will help / ce mono dissect

Renard 26th December 2018 02:26 PM

Is mono injection blocked? I was reading the thread and see mentions of it being blocked. Yet I've seen people talk about them using cheats that require mono injection. (Like NNCV2)

bobjubel 26th December 2018 02:35 PM

Quote:

Originally Posted by Renard (Post 2320225)
Is mono injection blocked? I was reading the thread and see mentions of it being blocked. Yet I've seen people talk about them using cheats that require mono injection. (Like NNCV2)

its dosent matter what do u use to inject. but monoinjector is detectable.
better to do yours own cutom injector

lumungus 26th December 2018 03:24 PM

Quote:

Originally Posted by shaliuno (Post 2296552)
Code:

class EFT.Player
{
public:
        char pad_0x0000[0x10]; //0x0000
        _position* _position; //0x0010
        char pad_0x0018[0x28]; //0x0018
        _position2* _position2; //0x0040
        char pad_0x0048[0x30]; //0x0048
        _proceduralWeaponAnimation* _proceduralWeaponAnimation; //0x0078
        char pad_0x0080[0x3B8]; //0x0080
        EFT.Profile* EFT.Profile; //0x0438
        char pad_0x0440[0x28]; //0x0440
        HealthController* HealthController; //0x0468
        char pad_0x0470[0x8]; //0x0470
        InventoryController* InventoryController; //0x0478
        char pad_0x0480[0x418]; //0x0480

}; //Size=0x0898


Do you have it for 0.11? also did viewmatrix or FPS camera changed? My overlay is all messed up

bobjubel 26th December 2018 03:52 PM

Quote:

Originally Posted by lumungus (Post 2320280)
Do you have it for 0.11? also did viewmatrix or FPS camera changed? My overlay is all messed up

@shaliuno i think u should do a tutorial about "how to get EFT offsets "

:Thinkingof_:

lumungus 26th December 2018 05:05 PM

Quote:

Originally Posted by bobjubel (Post 2320302)
@shaliuno i think u should do a tutorial about "how to get EFT offsets "

Tbh, that would be awesome and I would be very thanksfull for it. I know how "noob" it feels to just ask for it, but I have already tried myself with CE, Reclass and IDA, and not only on tarkov. But I am just bad at it for now and I don't know how to properly use Reclass or Mono Dissect, I can't even find the GOM myself..

I have a good understanding of pointers and basic knowledge of ASM and memory in general, I have made many basic cheat tables on CE for singleplayer games but in a big multiplayer game with anti cheat I am just lost

Maybe a good tutorial on a "big game" like tarkov is what I lack (also if you got any good links for some good tutorials on other games I would love it)

And I don't want to sounds like a fanboy or anything but, reading through this forum I find that @shaliuno is pretty good at explaining things lol

shaliuno 26th December 2018 07:43 PM

@bobjubel it is all already in the thread... :)

@lumungus good point )
profile went to 0x450
didn't check weapon animation but the rest should be ok

roryguidry 27th December 2018 05:39 AM

latest gom for newest patch?

matvei 27th December 2018 06:05 AM

gom
 
Quote:

Originally Posted by roryguidry (Post 2320875)
latest gom for newest patch?

EscapeFromTarkov.exe + 0x1432840

lumungus 27th December 2018 07:13 PM

Quote:

Originally Posted by shaliuno (Post 2320513)
profile went to 0x450
didn't check weapon animation but the rest should be ok

Are you sure FpsCamera or ViewMatrix didn't changed? I get the correct player list and all but my overlay shows nothing in the right position, and don't track my view neither (was working fine before 0.11)

I have FpsCamera = GameObjectManager(0x1432840) -> 0x00 -> 0x10
and ViewProjPtr = FpsCamera -> 0x30 -> 0x18 -> 0xC0

then this code:
Code:

            // Read Screen Matrix
            Int64 viewProjPtr = RPM.GetPtr(FpsCamera, Offsets.OFFSET_VIEWMATRIX).ToInt64();
            if (!RPM.IsValid(viewProjPtr))
            {
                playerCount = 0;
                RefreshWorld();
                return;
            }
            viewProj = RPM.Read<Numerics.Matrix4x4>(viewProjPtr);
            m_ViewMatrixInverse = Numerics.Matrix4x4.Transpose(viewProj);

also HealthController seems to have moved from 0x0468?

CraftLourens 28th December 2018 08:21 AM

Quote:

Originally Posted by shaliuno (Post 2313578)
~snip~

Thank you very much.

P.S. - I get Rust Offsets thread flashbacks too.

Quote:

Originally Posted by lumungus (Post 2321411)
also HealthController seems to have moved from 0x0468?

it's 0x480

lumungus 28th December 2018 02:18 PM

Quote:

Originally Posted by lumungus (Post 2321411)
Are you sure FpsCamera or ViewMatrix didn't changed? I get the correct player list and all but my overlay shows nothing in the right position, and don't track my view neither (was working fine before 0.11)

I have FpsCamera = GameObjectManager(0x1432840) -> 0x00 -> 0x10
and ViewProjPtr = FpsCamera -> 0x30 -> 0x18 -> 0xC0

then this code:
Code:

            // Read Screen Matrix
            Int64 viewProjPtr = RPM.GetPtr(FpsCamera, Offsets.OFFSET_VIEWMATRIX).ToInt64();
            if (!RPM.IsValid(viewProjPtr))
            {
                playerCount = 0;
                RefreshWorld();
                return;
            }
            viewProj = RPM.Read<Numerics.Matrix4x4>(viewProjPtr);
            m_ViewMatrixInverse = Numerics.Matrix4x4.Transpose(viewProj);


Well, I fixed it by directly searching for "FPS Camera" in the tagged objects, even managed to find a "optic_camera" object to adapt my ESP to a zoomed scope!

Quote:

Originally Posted by CraftLourens (Post 2321820)
it's 0x480

Thanks

TheWWorld 28th December 2018 10:03 PM

I'm not sure but i think object and container are tracked by this variable TrackableTransform

__________________________________________________________________________

Function for assign local player to a variable (instead use foreach everytime just for the localplayer)

Code:

        private Player _localPlayer;
        private void GetLocalPlayer()
        {
            foreach (Player player in FindObjectsOfType<Player>())
            {
                if (EPointOfView.FirstPerson == player.PointOfView)
                {
                    _localPlayer = player;
                }
            }
        }

not tested but should work

lumungus 28th December 2018 11:37 PM

Any external managed to get the position of containers?

shaliuno 29th December 2018 08:15 AM

@lumungus
0x10, 0x30, 0x30, 0x08, 0x38, 0x90
?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

lumungus 29th December 2018 12:14 PM

Quote:

Originally Posted by shaliuno (Post 2322758)
@lumungus
0x10, 0x30, 0x30, 0x08, 0x38, 0x90
?

"localgameworld, 0x58, 0x10, 0x20" to get the start of the loot list
then "0x10, 0x30, 0x30, 0x08, 0x38, 0x90" for the position right?

I get good positions for all objects but not containers, containers are always at random positions or (0, 0, 0)

shaliuno 29th December 2018 12:33 PM

Quote:

Originally Posted by lumungus (Post 2322903)
"localgameworld, 0x58, 0x10, 0x20" to get the start of the loot list

this will drop you to the first address of loot
it is a list so then it is +0x8 for each
they are all pointers so we need values

Quote:

Originally Posted by lumungus (Post 2322903)
I get good positions for all objects but not containers, containers are always at random positions or (0, 0, 0)

and the values + that post above will do the work
basically it is a straight position from the object's transform
if you want the loot though of course

Also:
My ReClass file you anyone wants:
https://github.com/shaliuno/eft-reclass

feel free to contribute

not 100% accurate as I haven't played much after patch.
But it will save you time making your own or to understand the logic.

Found a new game to mess with :D

lumungus 29th December 2018 01:34 PM

Quote:

Originally Posted by shaliuno (Post 2322916)
this will drop you to the first address of loot
it is a list so then it is +0x8 for each
they are all pointers so we need values



and the values + that post above will do the work
basically it is a straight position from the object's transform
if you want the loot though of course

Yes, that's what I understood and it is what I am doing, it is working fine for pickable objects on the floor and dead bodies, but I can't explain why it is not working for box and containers, that's really weird..

Here is my code if someone wants to take a look:

Code:

            IntPtr lootList = RPM.GetPtr(LocalGameWorld, new int[] { 0x58 });

            IntPtr listBase = RPM.GetPtr(lootList, new int[] { 0x10 });
            int lootCount = RPM.Read<int>(RPM.GetPtr(lootList, new int[] { 0x18 }).ToInt64());

            UInt64[] lootBuffer = new UInt64[sizeof(UInt64) * lootCount];
            RPM.ReadBytes(RPM.GetPtr(listBase, new int[] { 0x20 }).ToInt64(), lootBuffer, sizeof(UInt64) * lootCount);

            for (int i = 0; i < lootCount; i++)
            {
                string name = RPM.ReadName(RPM.GetPtrChain((IntPtr)lootBuffer[i], new int[] { 0x10, 0x30, 0x60 }).ToInt64(), 64);

                if (FilterLoot(name) == false)
                    continue;

                if (!(bool)ESP_Loot.Options[Settings.LOOT_NAME])
                    name = "";

                Vector3 pos = RPM.Read<Vector3>(RPM.GetPtrChain((IntPtr)lootBuffer[i], new int[] { 0x10, 0x30, 0x30, 0x8, 0x38 }).ToInt64() + 0x90);
                //Here pos is either 0 or random for box and container, otherwise it is good for any other objects and dead bodies

And thanks for the reclass file! (I would rep+ but I need to spread first lol)

CraftLourens 29th December 2018 04:13 PM

Anyone has a sig/address of INTERNAL_Get_Position ?

matvei 29th December 2018 04:35 PM

Quote:

Originally Posted by CraftLourens (Post 2323112)
Anyone has a sig/address of INTERNAL_Get_Position ?

EscapeFromTarkov.exe + 0x80D0B0

Renard 1st January 2019 01:25 PM

EDIT 2: I found This Thread about optimizing unity cheats, lots of interesting info in there, gonna try them and report back!

I've made my own mono hack. (First time, it was pretty fun!)
Atm I have player, item and container ESP. I'm wondering if the loot inside the containers are client sided or not? cause a lot of good stuff are in containers rather than just sitting out in the open.

The idea is to make a "quick farming" esp, where I can just select what I'm looking for on my GUI and get into a raid, the hack will check if the items I've selected are present and if yes, it'll show the location. If not I can just leave the raid and repeat. (As a hatchling).

Also is there a dump of all EFT items in a spread sheet or something? I couldn't find one.

Edit: Also any ideas about optimizing a mono hack so it doesn't lag the fuck out?
I get about 100 fps but with esp turned on a map like Labs, after the scavs spawn, my fps goes down to 30-40! And this is only in offline mode with bots, so with even more Players in an online game, it'll probably lag even more.
I am using Coroutine so the FindObjectsOfType only runs every 0.1f for Players and 3f for items and containers. I optimized the order of instructions in my esp functions to reduce the amount of unnecessarily executed instructions, which helped a bit but this is still not playable.

Code:

private void Start()
{
    StartCoroutine(_Update());
}

private IEnumerator _Update()
{
    while(true)
    {
          yield return new WaitForSeconds(0.1f);
          try
          {
              _players = FindObjectsOfType<Player>();
          }
          catch
          {
              //snipped
          }
    }
}


lumungus 1st January 2019 05:36 PM

Quote:

Originally Posted by Renard (Post 2325549)
Atm I have player, item and container ESP

Am I really the only one who can't get a container ESP working?! This is driving me insane all the other items are working fine wtf

Renard 1st January 2019 06:23 PM

Quote:

Originally Posted by lumungus (Post 2325759)
Am I really the only one who can't get a container ESP working?! This is driving me insane all the other items are working fine wtf

What problem are you having? it's pretty much identical to item ESP except it's in LootableContainer.

lumungus 1st January 2019 06:43 PM

Quote:

Originally Posted by Renard (Post 2325805)
What problem are you having? it's pretty much identical to item ESP except it's in LootableContainer.

You can check my post above, I explain it all and got some code, but basically my ESP Loot is working fine for all items except containers, the position I get for containers are always wrong (either straight zero or some random place inside or outisde of the map)

Renard 1st January 2019 06:47 PM

Quote:

Originally Posted by lumungus (Post 2325821)
You can check my post above, I explain it all and got some code, but basically my ESP Loot is working fine for all items except containers, the position I get for containers are always wrong (either straight zero or some random place inside or outisde of the map)

Oh, I thought you were mono too. I can't help you with that, sorry.

TheWWorld 1st January 2019 07:32 PM

Quote:

Originally Posted by lumungus (Post 2325821)
You can check my post above, I explain it all and got some code, but basically my ESP Loot is working fine for all items except containers, the position I get for containers are always wrong (either straight zero or some random place inside or outisde of the map)

You can check for it in my source code of NoNameCheat :)

lumungus 1st January 2019 10:03 PM

Quote:

Originally Posted by TheWWorld (Post 2325874)
You can check for it in my source code of NoNameCheat :)

Yeah I have seen it, thank you, but I am external so it is not so usefull for me

I think my problem might come from the fact that items and containers are two differents objects (LootItem and LootableContainer)

ChickenWeed 2nd January 2019 04:31 AM

What about getting bones and their position external?

EDIT: I found this: https://www.unknowncheats.me/forum/o...transform.html

PeterPanen 2nd January 2019 07:08 PM

Quote:

Originally Posted by shaliuno (Post 2322916)
this will drop you to the first address of loot
it is a list so then it is +0x8 for each
they are all pointers so we need values



and the values + that post above will do the work
basically it is a straight position from the object's transform
if you want the loot though of course

Also:
My ReClass file you anyone wants:
https://github.com/shaliuno/eft-reclass

feel free to contribute

not 100% accurate as I haven't played much after patch.
But it will save you time making your own or to understand the logic.

Found a new game to mess with :D

What game did you find to mess with this time, if i may ask? Atlas?? :slomo:

LennyPenny 2nd January 2019 08:51 PM

Quote:

Originally Posted by Renard (Post 2325549)
Edit: Also any ideas about optimizing a mono hack so it doesn't lag the fuck out?
I get about 100 fps but with esp turned on a map like Labs, after the scavs spawn, my fps goes down to 30-40! And this is only in offline mode with bots, so with even more Players in an online game, it'll probably lag even more.
I am using Coroutine so the FindObjectsOfType only runs every 0.1f for Players and 3f for items and containers. I optimized the order of instructions in my esp functions to reduce the amount of unnecessarily executed instructions, which helped a bit but this is still not playable.

Code:

private void Start()
{
    StartCoroutine(_Update());
}

private IEnumerator _Update()
{
    while(true)
    {
          yield return new WaitForSeconds(0.1f);
          try
          {
              _players = FindObjectsOfType<Player>();
          }
          catch
          {
              //snipped
          }
    }
}


I tried to use an overlapSphere to find all objects in a radius (https://docs.unity3d.com/ScriptRefer...lapSphere.html) and then somehow get a player object from these, but to no avail.
Would be awesome if someone with better unity knowledge could figure it out.

Renard 2nd January 2019 09:40 PM

Quote:

Originally Posted by LennyPenny (Post 2326918)
I tried to use an overlapSphere to find all objects in a radius (https://docs.unity3d.com/ScriptRefer...lapSphere.html) and then somehow get a player object from these, but to no avail.
Would be awesome if someone with better unity knowledge could figure it out.

I figured out my problem. It wasn't necessary to have the coroutine on 0.1f for player ESP. I changed to 2 and it's pretty much perfectly smooth now. Also the thread I linked has some other good optimization points in it.

SnDiX 3rd January 2019 03:23 AM

anyone has current working offsets for norecoil/nospread/nosway and such?

Renard 3rd January 2019 04:24 AM

Quote:

Originally Posted by SnDiX (Post 2327163)
anyone has current working offsets for norecoil/nospread/nosway and such?

They are detected afaik. People have gotten banned for it. Same with skill hacks.

shaliuno 3rd January 2019 08:22 AM

Quote:

Originally Posted by Renard (Post 2327191)
They are detected afaik. People have gotten banned for it. Same with skill hacks.

They are not.
Just don't write it as no-brainer.
Offsets are in this thread.

SnDiX 3rd January 2019 12:11 PM

Quote:

Originally Posted by shaliuno (Post 2327279)
They are not.
Just don't write it as no-brainer.

Could you maybe further elaborate on what you mean by that?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

shaliuno 3rd January 2019 12:56 PM

ProceduralWeaponAnimation
you know that

SnDiX 3rd January 2019 01:04 PM

Yes i know that, i was referring to the "dont write it as no-brainer", what exactly did you mean by that.

shaliuno 3rd January 2019 04:09 PM

don't zero it out, keep changed only during shooting etc.
the less changes you have then better :D

SnDiX 4th January 2019 12:21 PM

Suddenly i cant get the Player Count anymore - it only prints out Zero all the time. Anyone else having that Problem Right now or did Offsets Change? AFAIK there was no patch.

Code:

 
                DWORD64 LocalGame1 = READ64(GameWorld + 0x30);
                DWORD64 LocalGame2 = READ64(LocalGame1 + 0x18);
                DWORD64 LocalGameWorldPointer = READ64(LocalGame2 + 0x28);
                DWORD64 RegisteredPlayers = READ64(LocalGameWorldPointer + 0x70);
                int Playercount = READ32(RegisteredPlayers + 0x18);


Edit: i didnt Change anything About my Code but now it seems to be working again, weird.

CraftLourens 4th January 2019 12:29 PM

Quote:

Originally Posted by SnDiX (Post 2328491)
Suddenly i cant get the Player Count anymore - it only prints out Zero all the time. Anyone else having that Problem Right now or did Offsets Change? AFAIK there was no patch.

Code:

 
                DWORD64 LocalGame1 = READ64(GameWorld + 0x30);
                DWORD64 LocalGame2 = READ64(LocalGame1 + 0x18);
                DWORD64 LocalGameWorldPointer = READ64(LocalGame2 + 0x28);
                DWORD64 RegisteredPlayers = READ64(LocalGameWorldPointer + 0x70);
                int Playercount = READ32(RegisteredPlayers + 0x18);


I can't get to LocalGameWorld with these offsets as well and yeah there was a patch.. However GOM did not change.

matvei 4th January 2019 12:31 PM

Quote:

Originally Posted by SnDiX (Post 2328491)
Suddenly i cant get the Player Count anymore - it only prints out Zero all the time. Anyone else having that Problem Right now or did Offsets Change? AFAIK there was no patch.

Code:

 
                DWORD64 LocalGame1 = READ64(GameWorld + 0x30);
                DWORD64 LocalGame2 = READ64(LocalGame1 + 0x18);
                DWORD64 LocalGameWorldPointer = READ64(LocalGame2 + 0x28);
                DWORD64 RegisteredPlayers = READ64(LocalGameWorldPointer + 0x70);
                int Playercount = READ32(RegisteredPlayers + 0x18);


There are several "GameWorld" objects, make sure you find the right one.

niceone1 6th January 2019 03:25 PM

Does someone know where i can find values like:
  • forceAttack
  • nextAttackTime
  • nextTickTime

@macho105 posted this class in the rust section, but i dont know if it exists in EFT.

Code:

class AttackEntity 
{
/*0x0000*/        char pad_0x000[0x160];
/*0x0160*/        bool aimingThirdPerson; 
/*0x0161*/        char pad_0x161[0x3];
/*0x0164*/        float deployDelay;       
/*0x0168*/        float repeatDelay;       
/*0x016C*/        bool hostile;           
/*0x016D*/        char pad_0x16D[0x3];
/*0x0170*/        float nextAttackTime;   
/*0x0174*/        float lastTickTime;     
/*0x0178*/        float nextTickTime;     
/*0x017C*/        float timeSinceDeploy;     
}


niceone1 8th January 2019 05:38 PM

Quote:

Originally Posted by lumungus (Post 2279618)
Same problem here, some offset changed? Have you found a solution?

Fixed: thanks to niceone1, I compiled in release, then I got bad bones positions but no more crash, moved boneListPtr from 0x98 to 0x90 and it is all good

If someone is interested in a actual fix, not the workaround i used before:
Code:

VECTOR3 Entity::getBoneTransform(DWORD64 transform)
{
        if (!helper.isValidAddress(transform)) return VECTOR3(0.0f, 0.0f, 0.0f);
        memory.read(transform, (DWORD64)&transform, sizeof(transform));
       
        if (!helper.isValidAddress(transform)) return VECTOR3(0.0f, 0.0f, 0.0f);
        memory.read(transform + 0x10, (DWORD64)&transform, sizeof(transform));
       

        // ******************************************************

        TransformAccessReadOnly pTransformAccessReadOnly;
        TransformData transformData;
        __m128 result;

        const __m128 mulVec0 = { -2.000, 2.000, -2.000, 0.000 };
        const __m128 mulVec1 = { 2.000, -2.000, -2.000, 0.000 };
        const __m128 mulVec2 = { -2.000, -2.000, 2.000, 0.000 };

        // ******************************************************

        if (!helper.isValidAddress(transform)) return VECTOR3(0.0f, 0.0f, 0.0f);
        memory.read((DWORD64)transform + 0x38, (DWORD64)&pTransformAccessReadOnly, sizeof(pTransformAccessReadOnly));
       
        if (!helper.isValidAddress(pTransformAccessReadOnly.pTransformData)) return VECTOR3(0.0f, 0.0f, 0.0f);
        memory.read((DWORD64)pTransformAccessReadOnly.pTransformData + 0x8, (DWORD64)&transformData, sizeof(transformData));
       
        if (!helper.isValidAddress(transformData.pTransformArray) || !helper.isValidAddress(transformData.pTransformIndices)) return VECTOR3(0.0f, 0.0f, 0.0f);

        // ******************************************************

        SIZE_T sizeMatriciesBuf = sizeof(Matrix34) * pTransformAccessReadOnly.index + sizeof(Matrix34);
        SIZE_T sizeIndicesBuf = sizeof(int) * pTransformAccessReadOnly.index + sizeof(int);

        // Allocate memory for storing large amounts of data (matricies and indicies)
        PVOID pMatriciesBuf = malloc(sizeMatriciesBuf);
        PVOID pIndicesBuf = malloc(sizeIndicesBuf);

        if (pMatriciesBuf && pIndicesBuf)
        {
                // Read Matricies array into the buffer
                memory.read(transformData.pTransformArray, (DWORD64)pMatriciesBuf, sizeMatriciesBuf);
                // Read Indices array into the buffer
                memory.read(transformData.pTransformIndices, (DWORD64)pIndicesBuf, sizeIndicesBuf);

                result = *(__m128*)((DWORD64)pMatriciesBuf + 0x30 * pTransformAccessReadOnly.index);
                int transformIndex = *(int*)((DWORD64)pIndicesBuf + 0x4 * pTransformAccessReadOnly.index);

                while (transformIndex >= 0)
                {
                        Matrix34 matrix34 = *(Matrix34*)((DWORD64)pMatriciesBuf + 0x30 * transformIndex);

                        __m128 xxxx = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_load_si128((__m128i*) &matrix34.vec1), 0x00));        // xxxx
                        __m128 yyyy = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_load_si128((__m128i*) &matrix34.vec1), 0x55));        // yyyy
                        __m128 zwxy = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_load_si128((__m128i*) &matrix34.vec1), 0x8E));        // zwxy
                        __m128 wzyw = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_load_si128((__m128i*) &matrix34.vec1), 0xDB));        // wzyw
                        __m128 zzzz = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_load_si128((__m128i*) &matrix34.vec1), 0xAA));        // zzzz
                        __m128 yxwy = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_load_si128((__m128i*) &matrix34.vec1), 0x71));        // yxwy
                        __m128 tmp7 = _mm_mul_ps(*(__m128*)(&matrix34.vec2), result);

                        result = _mm_add_ps(
                                _mm_add_ps(
                                        _mm_add_ps(
                                                _mm_mul_ps(
                                                        _mm_sub_ps(
                                                                _mm_mul_ps(_mm_mul_ps(xxxx, mulVec1), zwxy),
                                                                _mm_mul_ps(_mm_mul_ps(yyyy, mulVec2), wzyw)),
                                                        _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0xAA))),
                                                _mm_mul_ps(
                                                        _mm_sub_ps(
                                                                _mm_mul_ps(_mm_mul_ps(zzzz, mulVec2), wzyw),
                                                                _mm_mul_ps(_mm_mul_ps(xxxx, mulVec0), yxwy)),
                                                        _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0x55)))),
                                        _mm_add_ps(
                                                _mm_mul_ps(
                                                        _mm_sub_ps(
                                                                _mm_mul_ps(_mm_mul_ps(yyyy, mulVec0), yxwy),
                                                                _mm_mul_ps(_mm_mul_ps(zzzz, mulVec1), zwxy)),
                                                        _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0x00))),
                                                tmp7)), _mm_load_ps(&matrix34.vec0.x));

                        transformIndex = *(int*)((DWORD64)pIndicesBuf + 0x4 * transformIndex);
                }

                free(pMatriciesBuf);
                free(pIndicesBuf);
        }

        return VECTOR3(result.m128_f32[0], result.m128_f32[1], result.m128_f32[2]);
}

Note the use of "_mm_load_ps()" and "_mm_load_si128()" for Debug compile.

Credits go to @klmno, its his function - i just changed a thew things.
Original Thread: Link

Dimedrol1536 8th January 2019 08:30 PM

Help is needed. I need the actual class EFT.Player. Help with it.

matvei 9th January 2019 09:26 AM

Quote:

Originally Posted by Dimedrol1536 (Post 2333128)
Help is needed. I need the actual class EFT.Player. Help with it.

Code:

class Player
{
public:
  char pad_0x0000[0x10]; //0x0038
  MovementContext* _movementContext; //0x0038
  char pad_0x0040[0x30]; //0x0040
  ProceduralWeaponAnimation* _proceduralWeaponAnimation; //0x0070
  char pad_0x0078[0x10]; //0x0078
  PlayerBody* _playerBody; //0x0088
  char pad_0x0090[0x3B8]; //0x0090
  Profile* _profile; //0x0448 
  char pad_0x0450[0x28]; //0x0450
  HealthController* _healthController; //0x0478       
};


StreetX 10th January 2019 11:04 AM

I dont understand something with imethod_0, can you help? Do i need to do something with these? https://i.imgur.com/MCUjFhd.png
Code:

float playerHealth = player.HealthController.imethod_0(EFT.HealthSystem.EBodyPart.Common).Current / 435f * 100f;

SnDiX 10th January 2019 06:40 PM

quick Question... is writing the Yaw and Pitch in Movementcontext detected right now?
I finished my viewangle aimbot and i am unsure if i can use it online safely.

matvei 11th January 2019 07:29 AM

Quote:

Originally Posted by SnDiX (Post 2334758)
quick Question... is writing the Yaw and Pitch in Movementcontext detected right now?
I finished my viewangle aimbot and i am unsure if i can use it online safely.

No, I've been using it for a long time.

SnDiX 11th January 2019 11:49 PM

Quote:

Originally Posted by matvei (Post 2335188)
No, I've been using it for a long time.

Just noticed my aimbot is off by a Little bit when using Camera Position as my Position for calculating the angles, which Position are you using?

mikangchan 13th January 2019 10:53 AM

Quote:

Originally Posted by SnDiX (Post 2335942)
Just noticed my aimbot is off by a Little bit when using Camera Position as my Position for calculating the angles, which Position are you using?

use fireport pos

SnDiX 13th January 2019 01:27 PM

Quote:

Originally Posted by mikangchan (Post 2337127)
use fireport pos

Thanks, ill try to find the Offsets for it, any hints?

mikangchan 13th January 2019 03:12 PM

how to determine localplayer since OnSpeedChangedEvent is removed?

momopubg 13th January 2019 03:19 PM

Quote:

Originally Posted by mikangchan (Post 2337296)
how to determine localplayer since OnSpeedChangedEvent is removed?

account id

mikangchan 13th January 2019 03:35 PM

Quote:

Originally Posted by SnDiX (Post 2337221)
Thanks, ill try to find the Offsets for it, any hints?

procedureweaponanimation->handscontainer->fireport->getpos

Quote:

Originally Posted by momopubg (Post 2337306)
account id

hmm i don't understand.
what's the diff between local player and other player in accountid?

lumungus 13th January 2019 04:13 PM

Quote:

Originally Posted by mikangchan (Post 2337321)
what's the diff between local player and other player in accountid?

Accountid is unique and bound to your account, so if you retrieve yours you can just check for it to get your localplayer. Like: if player.accountid == MYACCOUNTID then localplayer = player

that's how I get my localplayer


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

mikangchan 13th January 2019 04:31 PM

is it detected modifing doorstate?

Quote:

Originally Posted by lumungus (Post 2337353)
Accountid is unique and bound to your account, so if you retrieve yours you can just check for it to get your localplayer. Like: if player.accountid == MYACCOUNTID then localplayer = player

that's how I get my localplayer

ty. I'm getting it with pov tho, which is more universal

Ac1d777 13th January 2019 04:37 PM

Quote:

Originally Posted by mikangchan (Post 2337296)
how to determine localplayer since OnSpeedChangedEvent is removed?

0x18

2sh

qazwar 13th January 2019 05:30 PM

Hey.
There was a problem with the definition of weapons in the hands of the player, HP parts of the body and skills (infinite endurance). What are the current offset for this?

Sorry for my english (google translate)

matvei 13th January 2019 05:35 PM

HP
 
Quote:

Originally Posted by qazwar (Post 2337459)
Hey.
There was a problem with the definition of weapons in the hands of the player, HP parts of the body and skills (infinite endurance). What are the current offset for this?

Sorry for my english (google translate)

Code:

Player + 0x478 = HealthController
 
class HealthController
{
public:
        char pad_0x0000[0x18]; //0x0000
        Dictionary* health; //0x0018
};
 
class Dictionary
{
public:
    char pad_0x0000[0x28]; //0x0000
    void* ptr; //0x0028
    long num; //0x0030
};
 
class BodyController
{
public:
        char pad_0x0000[0x20]; //0x0000
        BodyPart* body1; //0x0020
        BodyPart* body2; //0x0028
        BodyPart* body3; //0x0030
        BodyPart* body4; //0x0038
        BodyPart* body5; //0x0040
        BodyPart* body6; //0x0048
        BodyPart* body7; //0x0050
};
 
class BodyPart
{
public:
        char pad_0x0000[0x10]; //0x0000
        Value* value; //0x0010
};
 
class Value
{
public:
        char pad_0x0000[0x10]; //0x0000
        float current; //0x0010
        float maximum; //0x0014
};


mikangchan 13th January 2019 05:36 PM

Quote:

Originally Posted by qazwar (Post 2337459)
Hey.
There was a problem with the definition of weapons in the hands of the player, HP parts of the body and skills (infinite endurance). What are the current offset for this?

Sorry for my english (google translate)

i don't think u can still modify skills per ppl talking in this thread.

qazwar 13th January 2019 06:30 PM

Quote:

Originally Posted by mikangchan (Post 2337466)
i don't think u can still modify skills per ppl talking in this thread.

Ok.
https://github.com/Zeziroth/EscapeFr...TPlayer.cs#L25

This method is suitable for the realization of infinite energy? if so, what is the actual data?

SnDiX 13th January 2019 10:28 PM

for getting local player you could also just search for the player that has Distance <= 1 to the Camera, it Works for me

Renard 14th January 2019 12:02 AM

I can't get my internal to work after the update. It's only the player ESP. Items and everything else works. Odd thing is, turning on player ESP disables all the other overlays besides the GUI.
It worked just fine before the update.

mikangchan 14th January 2019 03:21 AM

Quote:

Originally Posted by qazwar (Post 2337518)
Ok.
https://github.com/Zeziroth/EscapeFr...TPlayer.cs#L25

This method is suitable for the realization of infinite energy? if so, what is the actual data?

i remember this works offline long time ago but I'm not sure if it's detected or not. you can always try tho, with free acc

Quote:

Originally Posted by Renard (Post 2337768)
I can't get my internal to work after the update. It's only the player ESP. Items and everything else works. Odd thing is, turning on player ESP disables all the other overlays besides the GUI.
It worked just fine before the update.

show us the code

Renard 14th January 2019 03:58 AM

Quote:

Originally Posted by mikangchan (Post 2337854)
show us the code

https://pastebin.com/W2dx35YT
I didn't include the Render class since it works for items and containers, so I don't think that's the problem.
Edit: forgot to mention that I have updated the references.

qazwar 14th January 2019 06:32 AM

Hey. Does anyone have relevant data for:

Code:

static constexpr uint64_t worldInteractiveObject = 0x2f8;
        struct
        {
                static constexpr uint64_t canBeBreached = 0x108; // all below are 1 byte
                static constexpr uint64_t operatable = 0xdb;
                static constexpr uint64_t openState = 0xd9;
        } worldInteractiveObject;


// Open locked objects.
                uint64_t worldInteractiveObject = this->process.ReadMemory<uint64_t>(this->localPlayer.instance + this->offsets.Player.worldInteractiveObject);
                if (worldInteractiveObject) // What we're looking at.
                {
                        if (HIBYTE(GetAsyncKeyState(VK_F2)))
                        {
                                uint8_t can_be_breached = 1;
                                uint8_t state_open = 2;
                                this->process.WriteMemory(worldInteractiveObject + this->offsets.worldInteractiveObject.canBeBreached, &can_be_breached);
                                this->process.WriteMemory(worldInteractiveObject + this->offsets.worldInteractiveObject.operatable, &can_be_breached);
                                this->process.WriteMemory(worldInteractiveObject + this->offsets.worldInteractiveObject.openState, &state_open);
                        }
                }

Does this construction work at all?

SnDiX 14th January 2019 07:41 PM

Has anyone here been working on a Name ESP externally? I managed to find the Names and read them, the only Problem is that the bots names are in Cyrillic and i have Problems properly printing them out, i just read the Name into an char Array and print it using DirectX9, i tried changing my Save Settings to use the Cyrillic Unicode compatible stuff but it still doesnt seem to work for me.


https://i.gyazo.com/f2cee6455d5460dd...db09d45a81.jpg

Reclass is showing the same as my esp

https://i.gyazo.com/b542436cb95d869f...6a663a247f.png

qazwar 14th January 2019 07:54 PM

Quote:

Originally Posted by SnDiX (Post 2338399)
Has anyone here been working on a Name ESP externally? I managed to find the Names and read them, the only Problem is that the bots names are in Cyrillic and i have Problems properly printing them out, i just read the Name into an char Array and print it using DirectX9, i tried changing my Save Settings to use the Cyrillic Unicode compatible stuff but it still doesnt seem to work for me.


Code:

if (auto playerName = EFTProcess.ReadPointer(ObjectPlayer, { 0x0448, 0x28, 0x10 }))
                        {
                                wchar_t wcharTemp[128] = { '\0' };
                                __int32 Length = EFTProcess.ReadMemory<__int32>(playerName + 0x10);
                                EFTProcess.ReadMemory(playerName + 0x14, wcharTemp, Length * 2);
                                Players.szName.assign(wcharTemp, Length);
                        }

Players.szName = std::wstring szName;

if you need to convert:
Code:

#include <codecvt>
inline ::std::string to_utf8(const ::std::wstring& str)
{
        ::std::wstring_convert<::std::codecvt_utf8<wchar_t>, wchar_t> c;
        return c.to_bytes(str);
}

http://skrinshoter.ru/i/140119/CLSkJCUJ.png

SnDiX 14th January 2019 09:51 PM

Quote:

Originally Posted by qazwar (Post 2338410)
Code:

if (auto playerName = EFTProcess.ReadPointer(ObjectPlayer, { 0x0448, 0x28, 0x10 }))
                        {
                                wchar_t wcharTemp[128] = { '\0' };
                                __int32 Length = EFTProcess.ReadMemory<__int32>(playerName + 0x10);
                                EFTProcess.ReadMemory(playerName + 0x14, wcharTemp, Length * 2);
                                Players.szName.assign(wcharTemp, Length);
                        }

Players.szName = std::wstring szName;

if you need to convert:
Code:

#include <codecvt>
inline ::std::string to_utf8(const ::std::wstring& str)
{
        ::std::wstring_convert<::std::codecvt_utf8<wchar_t>, wchar_t> c;
        return c.to_bytes(str);
}

http://skrinshoter.ru/i/140119/CLSkJCUJ.png


Thank you that really helped me and i got it working!

For some reason the text just doesnt Show up when i try to have it centered :
It Shows up doing this:
Code:

g_pFont->DrawTextW(0, fmt, -1, &ShadowPos, DT_NOCLIP , color);
but likes this it doesnt Show up
Code:

g_pFont->DrawTextW(0, fmt, -1, &ShadowPos, DT_NOCLIP | DT_CENTER , color);

qazwar 15th January 2019 07:32 PM

Quote:

Originally Posted by SnDiX (Post 2338512)
Thank you that really helped me and i got it working!

For some reason the text just doesnt Show up when i try to have it centered :
It Shows up doing this:
Code:

g_pFont->DrawTextW(0, fmt, -1, &ShadowPos, DT_NOCLIP , color);
but likes this it doesnt Show up
Code:

g_pFont->DrawTextW(0, fmt, -1, &ShadowPos, DT_NOCLIP | DT_CENTER , color);

Code:

void cRender::render_String(float x, float y, Color color, DWORD dwFlag, const TCHAR* fmt, ...)
{
  TCHAR buffer[512];
  va_list args;
  va_start(args, fmt);

#ifdef _UNICODE
  vswprintf_s(buffer, fmt, args);
#else
  vsprintf_s(buffer, fmt, args);
#endif
 
  va_end(args);

  DWORD dwMainFlags = dwFlag | DT_CALCRECT | DT_NOCLIP;

 
  RECT r;
  SetRect(&r, (int)x, (int)y, (int)x, 0);
  this->m_pFont->DrawText(nullptr, buffer, -1, &r, dwMainFlags, color);
  if (dwMainFlags & DT_CALCRECT)
    this->m_pFont->DrawText(nullptr, buffer, -1, &r, NULL, color);
}


SnDiX 17th January 2019 06:17 PM

Anyone found Raycast/Visibility Check stuff?

PutinIsLove 17th January 2019 08:02 PM

Hey guys ! Waking up from a long break of tarkov.

I have updated my code and everything is working fine.

I'm still strugling with Containers tho (in lootlist) localgameworld + 0x58].

Their positions are always wrong (0,0,0) as I saw in some other pages anyone knows why ? Is it possible to get objects inside them ?

Thanks ! :D

mikangchan 18th January 2019 07:36 AM

Quote:

Originally Posted by PutinIsLove (Post 2341437)
Hey guys ! Waking up from a long break of tarkov.

I have updated my code and everything is working fine.

I'm still strugling with Containers tho (in lootlist) localgameworld + 0x58].

Their positions are always wrong (0,0,0) as I saw in some other pages anyone knows why ? Is it possible to get objects inside them ?

Thanks ! :D

worldinteractableobjects under world. If u take a look in eft.gameworld u'll notice there are two world. both works

PutinIsLove 18th January 2019 06:46 PM

Quote:

Originally Posted by mikangchan (Post 2341853)
worldinteractableobjects under world. If u take a look in eft.gameworld u'll notice there are two world. both works

Thanks but I've looked for it without success for some hours now :disappointed:

BraydenEGC 18th January 2019 07:01 PM

Quote:

Originally Posted by PutinIsLove (Post 2342273)
Thanks but I've looked for it without success for some hours now :disappointed:



There IS a way to get objects inside of a container. However, it is severely hard to figure out how to do so.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

ClearlyRight 19th January 2019 03:26 PM

Hi. I am in the process of writing an external radar (show players on a map in a diffrent window).
This thread has been very helpful but I have gotten stuck and I am notsure if the offsets I am using are correct.

I am using https://pastebin.com/gNHhLKpc as a referance.

Are the following offsets correct to navigate to the unicodestring object that contains the first players name?
PlayerArray + 0x20 ] + 0x400 ] + 0x28 ] + 0x10 ].

Im trying to learn the forums notation but ] means ReadLongFromMemory. So PlayerArray + 0x20 ] means take PlayerArray address and add 0x20 to it then read a long from that address.

Thank you for your time.

Quote:

Originally Posted by ClearlyRight (Post 2342987)
Hi. I am in the process of writing an external radar (show players on a map in a diffrent window).
This thread has been very helpful but I have gotten stuck and I am notsure if the offsets I am using are correct.

I am using https://pastebin.com/gNHhLKpc as a referance.

Are the following offsets correct to navigate to the unicodestring object that contains the first players name?
PlayerArray + 0x20 ] + 0x400 ] + 0x28 ] + 0x10 ].

Im trying to learn the forums notation but ] means ReadLongFromMemory. So PlayerArray + 0x20 ] means take PlayerArray address and add 0x20 to it then read a long from that address.

Thank you for your time.

Okay. I did some good oldfashioned eyeballsearching and found my mistake.
The solution to my problem is:
PlayerArray + 0x10 ] +0x20 ] + 0x448 ] + 0x28 ] + 0x10 ].

Thank you all the contributors to this thread. It is very helpful!

lumungus 20th January 2019 07:08 PM

Quote:

Originally Posted by PutinIsLove (Post 2341437)
Hey guys ! Waking up from a long break of tarkov.

I have updated my code and everything is working fine.

I'm still strugling with Containers tho (in lootlist) localgameworld + 0x58].

Their positions are always wrong (0,0,0) as I saw in some other pages anyone knows why ? Is it possible to get objects inside them ?

Thanks ! :D

Wow, I am happy to find someone else with that problem

Let me know if you find any solution!

shaliuno 20th January 2019 09:33 PM

Not sure about objects inside.
But you can get the position from transform

PutinIsLove 20th January 2019 10:33 PM

Quote:

Originally Posted by shaliuno (Post 2344386)
Not sure about objects inside.
But you can get the position from transform

Yep, I use tranform, but containers (and only containers) returns 0,0,0 everytime.

Don't know why tho :dot:

PutinIsLove 21st January 2019 08:14 PM

Hey,

Is Player+0x90]+0x28]+0x10]+0x20+0x8*boneId] Still valid ? Any idea on how to get the transform from that ?

Thanks.

qazwar 21st January 2019 08:45 PM

Quote:

Originally Posted by PutinIsLove (Post 2345287)
Hey,

Is Player+0x90]+0x28]+0x10]+0x20+0x8*boneId] Still valid ? Any idea on how to get the transform from that ?

Thanks.

Code:

if (auto bone_transform = EFTProcess.ReadPointer(ObjectPlayer, { 0x0088 , 0x28, 0x28, 0x10 }))
                        {
                                Players.Head = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanHead * 8);
                                Players.Neck = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanNeck * 8);
                                Players.Spine3 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanSpine3 * 8);
                                Players.Spine2 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanSpine2 * 8);
                                Players.Spine1 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanSpine1 * 8);
                                Players.Pelvis = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanPelvis * 8);
                                Players.LCalf = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanLCalf * 8);
                                Players.LFoot = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanLFoot * 8);

                                Players.RCalf = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanRCalf * 8);
                                Players.RFoot = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanRFoot * 8);
                                Players.LForearm2 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanLForearm2 * 8);
                                Players.LForearm1 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanLForearm1 * 8);
                                Players.LUpperarm = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanLUpperarm * 8);
                                Players.RForearm2 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanRForearm2 * 8);
                                Players.RForearm1 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanRForearm1 * 8);
                                Players.RUpperarm = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanRUpperarm * 8);
                        }


mikangchan 22nd January 2019 03:14 AM

Quote:

Originally Posted by lumungus (Post 2322059)
Well, I fixed it by directly searching for "FPS Camera" in the tagged objects, even managed to find a "optic_camera" object to adapt my ESP to a zoomed scope!

it's the same usage for optic_camera and fps camera?

PutinIsLove 22nd January 2019 04:40 PM

Quote:

Originally Posted by qazwar (Post 2345322)
Code:

if (auto bone_transform = EFTProcess.ReadPointer(ObjectPlayer, { 0x0088 , 0x28, 0x28, 0x10 }))
                        {
                                Players.Head = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanHead * 8);
                                Players.Neck = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanNeck * 8);
                                Players.Spine3 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanSpine3 * 8);
                                Players.Spine2 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanSpine2 * 8);
                                Players.Spine1 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanSpine1 * 8);
                                Players.Pelvis = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanPelvis * 8);
                                Players.LCalf = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanLCalf * 8);
                                Players.LFoot = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanLFoot * 8);

                                Players.RCalf = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanRCalf * 8);
                                Players.RFoot = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanRFoot * 8);
                                Players.LForearm2 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanLForearm2 * 8);
                                Players.LForearm1 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanLForearm1 * 8);
                                Players.LUpperarm = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanLUpperarm * 8);
                                Players.RForearm2 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanRForearm2 * 8);
                                Players.RForearm1 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanRForearm1 * 8);
                                Players.RUpperarm = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanRUpperarm * 8);
                        }


Thanks mate !

lumungus 22nd January 2019 04:57 PM

Quote:

Originally Posted by mikangchan (Post 2345580)
it's the same usage for optic_camera and fps camera?

Yeah, but kinda broken, I didn't looked into it more than that but like I said before it sometimes stop working randomly after a few switch from optic_camera and fps camera

side-z 22nd January 2019 05:20 PM

Anyone know how to get corpses and it's coordinates externaly?

matvei 22nd January 2019 05:25 PM

Quote:

Originally Posted by side-z (Post 2346031)
Anyone know how to get corpses and it's coordinates externaly?

Look for dead among the list of loot (use the prefix: Player), use the standard transform class (it has already been paste earlier here).

SnDiX 22nd January 2019 06:43 PM

Has anyone found a way to get the positions of the ExfiltrationPoints?
I know where the Array of ExfiltrationPoints is (GameWorld + 0x18] +0x20] +0x20(First Entry))
But i cant find a way to get the Location of them
https://i.gyazo.com/acbd1e1b215642a3...6ff4eca7a1.png


The ExtendedCollider at 0x18 dosnt seem to be there as well as the Switch at 0x20 and the _root at 0x40. The BoxCollider at 0x80 seems to be there but i cant seem to find a way to get the Position of that either.

side-z 22nd January 2019 07:23 PM

Quote:

Originally Posted by matvei (Post 2346039)
Look for dead among the list of loot (use the prefix: Player), use the standard transform class (it has already been paste earlier here).

Thanks, got it. Also how do i get lootable containers and loot inside it? They are not in the loot list.

mikangchan 23rd January 2019 04:32 AM

Quote:

Originally Posted by side-z (Post 2346136)
Thanks, got it. Also how do i get lootable containers and loot inside it? They are not in the loot list.

check 1 page before, i said it's in worldinteractaleobject.

lumungus 23rd January 2019 05:44 PM

Quote:

Originally Posted by mikangchan (Post 2346424)
check 1 page before, i said it's in worldinteractaleobject.

Do you have an offset for "worldinteractaleobject"?

Lystic 25th January 2019 02:59 PM

How are you all using reclass without SClient detecting you? Is just cutting internet and loading an offline game safe?

shaliuno 25th January 2019 03:42 PM

1. You can compile your own reclass
2. You can use any r3 bypass on reclass aswell
3. They're retarded to not detect it
4. Offline works too.

GDPR_Anonymous 26th January 2019 05:31 AM

Quote:

Originally Posted by Lystic (Post 2348563)
How are you all using reclass without SClient detecting you? Is just cutting internet and loading an offline game safe?

ReClass.NET has a handle abuser plugin, use lsass.exe�s handle to the game.

However, I am just braving having ReClass open because their AC isn�t very powerful - yet to be banned, I might be flagged but I am not worried about that.

side-z 26th January 2019 04:48 PM

Did someone managed to fix w2s while wearing visor?

qazwar 27th January 2019 03:05 PM

Esp loot example:

global:
Code:

uint64_t global_MyCamera = 0x0;
Vec3      myCamera;


struct ItemLoot
{
        uint64_t    ObjectLoot;
        Vec3        vPos;
        std::wstring szName;
        Color color;
        float distance;
};
std::vector<ItemLoot> vLootList;

Code:

void LootListTest() {

    EFTProcess.ReadMemory(global_MyCamera + 0x90, &myCamera);
        uint64_t ptrList = EFTProcess.ReadMemory<uint64_t>(ptrLocalGameWorld + 0x58);
        if (!ptrList)
                return;
       
        uint64_t ptrBaseList  = EFTProcess.ReadMemory<uint64_t>(ptrList + 0x10);
        uint32_t u_ListCount  = EFTProcess.ReadMemory<uint32_t>(ptrList + 0x18);
       
        if (u_ListCount <= 0 || !ptrBaseList)
                return;

        static uint32_t u_OldCount = 0;
        if (u_OldCount != u_ListCount)
        {
                vLootList.clear();
               
                for (uint32_t i = 0; i < u_ListCount; i++)
                {
                        uint64_t ptrObjectLoot = EFTProcess.ReadMemory<uint64_t>(ptrBaseList + (0x20 + 0x8 * i));
                        if (!ptrObjectLoot)
                                continue;
                       
                        ItemLoot loot;
                       
                        loot.ObjectLoot = ptrObjectLoot;
                       
                        if (auto ptrTransform = EFTProcess.ReadPointer(ptrObjectLoot, { 0x10, 0x30, 0x30,  0x8, 0x38 }))
                                loot.vPos = EFTProcess.ReadMemory<Vec3>(ptrTransform + 0x90);
                       
                        if (loot.vPos.x == 0 && loot.vPos.y == 0 && loot.vPos.z == 0)  //Fix crutch
                                continue;
                       
                        if (auto ptrName = EFTProcess.ReadPointer(ptrObjectLoot, { 0x10, 0x30, 0x60 }))
                                  loot.szName = EFTProcess.ReadWString(name_ptr);
                       
                          loot.color    = Color::DimGray().setAlfa(180);
                          loot.distance = 20.f;
                         
                         
                          ReplaceStringInPlace(loot.szName, L"item_", L"");
                          ReplaceStringInPlace(loot.szName, L"(Clone)", L"");
                          ReplaceStringInPlace(loot.szName, L"Observed_PlayerSuperior", L"DEAD");
                          ReplaceStringInPlace(loot.szName, L"LootCorpse_PlayerSuperior", L"DEAD");
                       
                       
                        if (loot.szName.find(L"key_") != std::string::npos)
                        {
                                loot.distance = 1600.f;
                                loot.color = Color::Cyan();
                        }
                        if (loot.szName.find(L"_transilluminator") != std::string::npos)
                        {
                                loot.distance = 1000.f;
                                loot.szName = L"LedEx";
                                loot.color = Color::Cyan();
                        }
                       
                        vLootList.push_back(loot);
                       
                }
                u_OldCount = u_ListCount;
        }
       
        for (uint32_t i = 0; i < vLootList.size(); i++)
        {
                if (!vLootList[i].ObjectLoot)
                        continue;
               
                float  Dist = myCamera.Distance(vLootList[i].vPos);
                if(Dist > vLootList[i].distance)
                        continue;
               
                Vec2 vScreen2d;
                if (WorldToScreen(vLootList[i].vPos, vScreen2d)) {
                                YouString(vScreen2d.x, vScreen2d.y, vLootList[i].color, L"%ls [%.1fm]",  vLootList[i].szName.data(), Dist);
                }
        }
}

Code:

//Initialize once when landing on location
  global_MyCamera = EFTProcess.ReadPointer(ptrFpsCamera, { 0x30, 0x8,0x38 });

Code:

void ReplaceStringInPlace(std::wstring& subject, const std::wstring& search,
        const std::wstring& replace) {
        size_t pos = 0;
        while ((pos = subject.find(search, pos)) != std::wstring::npos) {
                subject.replace(pos, search.length(), replace);
                pos += replace.length();
        }
}


//........
Spent a few weeks playing the game, but was not able to implement the opening of the doors and fix the display boxes(Vec3(0,0,0)). Can be someone can help me with this(desirable concrete data)

Quote:

П осидел несколько недель за иг ой, но так и не смог еализовать отк ытие две ей и исп авить отоб ажение ящиков(Vec3(0,0,0)). Может быть кто-то сможет помочь мне с этим(желательно конк етными данными)
PS: sorry for my English


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

lumungus 27th January 2019 05:51 PM

Quote:

Originally Posted by qazwar (Post 2350516)
and fix the display boxes(Vec3(0,0,0))

Welcome to the club, let me know if you manage to fix it

Lystic 28th January 2019 02:58 AM

Has anyone figured out the display name of loot? I want something more specific than key_#

EDIT: I solved it on my own


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

The shortname is at ItemBase + 0x48] + 0x20] + 0x18]

This is a UTF-16 string starting at 0x14, (System.String structure)


And here is my mostly-complete ItemTemplate structure.
https://i.imgur.com/rLyCUkO.png

Here is the previous solution I had.

Lystic 28th January 2019 09:10 PM

You can check if loot is a body w/

LootBase + 0xF8

If it reads as 0, it is not a body. This points to the PlayerBody class.


EDIT: More info

You can walk the dead bodies inventory for items.

https://i.imgur.com/Ke1sWl3.png
Note: the dictionary keys are at 0x18. Read the same as you do the values, these are Int8/Int16 (most likely a single byte tho).

mikangchan 29th January 2019 03:42 AM

Quote:

Originally Posted by Lystic (Post 2351765)
~.

was about to ask untill i see this
Code:

ContainedItem.Value = Slot.ContainedItem

Lystic 29th January 2019 07:21 PM

Quote:

Originally Posted by mikangchan (Post 2352011)
was about to ask untill i see this
Code:

ContainedItem.Value = Slot.ContainedItem

Yeah it is ContainedItem + 0x10] => EFT.Inventory.Item class

mikangchan 29th January 2019 08:01 PM

Quote:

Originally Posted by Lystic (Post 2352533)
Yeah it is ContainedItem + 0x10] => EFT.Inventory.Item class

i thought u find a way to look inside i.e. backpack

anyone figured out how to read grenades positions? Grenades/GrenadeCriticalSettings doesn't work anymore

BraydenEGC 29th January 2019 09:23 PM

I am going r0 in c++. I am having issues with getting the LocalGameWorld. Could someone point me in the right direction? Thanks!

Lystic 29th January 2019 11:09 PM

Quote:

Originally Posted by mikangchan (Post 2352554)
i thought u find a way to look inside i.e. backpack

anyone figured out how to read grenades positions? Grenades/GrenadeCriticalSettings doesn't work anymore

I only tested this w/ the primary weapon of a body, so I can't confirm if it works for backpacks/vests/pockets

This iterates over all top-level items a body has (head, face, vest, weapon, ect)
SlotView => ItemId + 0xF8] + 0x60] + 0x28] + 0x20 + (0x8 * i)]

From that, you go over the InnerSlots array.
EFT.Inventoy.Slot => SlotView +0x18] + 0x20 + (0x8 * i)]

Then you have your slot, the EFT.Inventory.Item class is at
EFT.Inventory.Slot + 0x20]

mikangchan 30th January 2019 01:39 AM

Quote:

Originally Posted by BraydenEGC (Post 2352622)
I am going r0 in c++. I am having issues with getting the LocalGameWorld. Could someone point me in the right direction? Thanks!

what's the difference?

Quote:

Originally Posted by Lystic (Post 2352711)
I only tested this w/ the primary weapon of a body, so I can't confirm if it works for backpacks/vests/pockets

This iterates over all top-level items a body has (head, face, vest, weapon, ect)
SlotView => ItemId + 0xF8] + 0x60] + 0x28] + 0x20 + (0x8 * i)]

From that, you go over the InnerSlots array.
EFT.Inventoy.Slot => SlotView +0x18] + 0x20 + (0x8 * i)]

Then you have your slot, the EFT.Inventory.Item class is at
EFT.Inventory.Slot + 0x20]

There's nothing in innerslot for rig/backpack
So you can read innerslot for weapon? It shows all weapon mods or something?

Lystic 30th January 2019 02:54 AM

Quote:

Originally Posted by mikangchan (Post 2352798)
what's the difference?



There's nothing in innerslot for rig/backpack
So you can read innerslot for weapon? It shows all weapon mods or something?

Yep, weapon mods.

qazwar 30th January 2019 03:54 PM

new NoSway
Code:

localPlayer-> 0x0070(WeaponAnimation)-> 0x28(BreathEffector)->0x98 or  0x9C = 0.f;

lumungus 30th January 2019 05:43 PM

Quote:

Originally Posted by qazwar (Post 2353267)
new NoSway
Code:

localPlayer-> 0x0070(WeaponAnimation)-> 0x28(BreathEffector)->0x98 or  0x9C = 0.f;

Why "or" ? How dangerous is this to use?

mikangchan 30th January 2019 06:23 PM

set Intensity at 0x8C for no sway

Lystic 30th January 2019 11:47 PM

Quote:

Originally Posted by SnDiX (Post 2346106)
Has anyone found a way to get the positions of the ExfiltrationPoints?
I know where the Array of ExfiltrationPoints is (GameWorld + 0x18] +0x20] +0x20(First Entry))
But i cant find a way to get the Location of them
https://i.gyazo.com/acbd1e1b215642a3...6ff4eca7a1.png


The ExtendedCollider at 0x18 dosnt seem to be there as well as the Switch at 0x20 and the _root at 0x40. The BoxCollider at 0x80 seems to be there but i cant seem to find a way to get the Position of that either.

I am interested as well. Does it look like it requires an INTERNAL_get_position call? It did to me.

The ExtendedCollider is used for Exfiltration Doors. When the extract is disabled, the collider exists and is enabled, when the extract is enabled, the collider is then disabled.

The exfiltration is Triggered (it seems to me) by a collision between the player's collider and the ExfiltrationPoint's collider (not extended collider).

Using the standard transform offsets do not work either, they seem to always be center of map.


One thing that may help, does anyone know how to access the Bounds struct? That could also be the answer.

SnDiX 31st January 2019 05:37 AM

Quote:

Originally Posted by qazwar (Post 2353267)
new NoSway
Code:

localPlayer-> 0x0070(WeaponAnimation)-> 0x28(BreathEffector)->0x98 or  0x9C = 0.f;

Writing this to Zero for Complete removal of all Animations works aswell :
Code:

localplayer +0x70] + 0xC8

niceone1 1st February 2019 03:05 PM

Quote:

Originally Posted by mikangchan (Post 2341853)
worldinteractableobjects under world. If u take a look in eft.gameworld u'll notice there are two world. both works

Im trying to get the worldinteractableobjects, but my EFT.World is in both cases 0x0. Im ingame on Factory. Could you give me a hint whats wrong with my world pointers? https://imgur.com/a/srK6Hsu

Lystic 1st February 2019 07:00 PM

Quote:

Originally Posted by niceone1 (Post 2355475)
Im trying to get the worldinteractableobjects, but my EFT.World is in both cases 0x0. Im ingame on Factory. Could you give me a hint whats wrong with my world pointers? https://imgur.com/a/srK6Hsu

How are you getting the value for LocalGameWorld?


If Value = EFT_Game_Base + GW_Offset then idk
If Value = EFT_Game_Base +GW_Offset] (You are using the result of reading the ptr) then get rid of the pointer at 0x0 in Lgw

When I work with reclass on tarkov, I always read the value and use that. I rarely read from 0x0 so it helps standardize my class structure.

EDIT:

Just to add on, I haven't actually worked with those two offsets, so I don't know if they are 0x0 on my end, so I am not the #1 source.

TheMadMin3r 1st February 2019 08:10 PM

Quote:

Originally Posted by niceone1 (Post 2355475)
Im trying to get the worldinteractableobjects, but my EFT.World is in both cases 0x0. Im ingame on Factory. Could you give me a hint whats wrong with my world pointers? https://imgur.com/a/srK6Hsu

Were you testing this offline? I was having the same issue but I just hopped into an online game and now there are the two worlds: https://gyazo.com/3232375e2f80f98b7c8c2d2497d28859

niceone1 1st February 2019 10:04 PM

Quote:

Originally Posted by TheMadMin3r (Post 2355801)
Were you testing this offline? I was having the same issue but I just hopped into an online game and now there are the two worlds: https://gyazo.com/3232375e2f80f98b7c8c2d2497d28859

Thank you both!
@Lystic dereferencing (reading 0x0) is correct, but as @TheMadMin3r said it only works in multiplayer!
Which leads me to my next question: Why? :D

So i'm currently reading the IDs from the objects:
Code:

autoId_00279
autoId_00273
autoId_00272
autoId_00324
autoId_00323
autoId_00329
autoId_00331
autoId_00337
autoId_00292
autoId_00297
autoId_00395
autoId_00351
autoId_00343
autoId_00367
autoId_00260
autoId_00264
autoId_00338
autoId_00389
autoId_00398
autoId_00406
autoId_00369
autoId_00401
autoId_00344
autoId_00305
autoId_00347
autoId_00033
autoId_00332
autoId_00318
autoId_00284
autoId_00296
autoId_00390
autoId_00320
autoId_00321
autoId_00247
autoId_00246
autoId_00244
autoId_00245
autoId_00363
autoId_00403
autoId_00304
autoId_00282
autoId_00277
autoId_00268
autoId_00269
autoId_00267
autoId_00266
autoId_00265
autoId_00333
autoId_00254
autoId_00294
autoId_00311
autoId_00313
autoId_00300
autoId_00299
...

But i dont get it how to check if the item is a container and how to look inside of the container. Im using the Mono dissector to check the values from a WorldInteractiveObject: https://imgur.com/a/KvF23Pa

It seems like there is a lot stuff going on with doors but nothing related to containers/boxes.

My pointer for the objects so far: localgameworld] + 0xE0] + 0x30] + (0x20 + (0x8 * i)]

Lystic 1st February 2019 10:19 PM

Quote:

Originally Posted by niceone1 (Post 2355912)
Thank you both!
@Lystic dereferencing (reading 0x0) is correct, but as @TheMadMin3r said it only works in multiplayer!
Which leads me to my next question: Why? :D

So i'm currently reading the IDs from the objects:
Code:

autoId_00279
autoId_00273
autoId_00272
autoId_00324
autoId_00323
autoId_00329
autoId_00331
autoId_00337
autoId_00292
autoId_00297
autoId_00395
autoId_00351
autoId_00343
autoId_00367
autoId_00260
autoId_00264
autoId_00338
autoId_00389
autoId_00398
autoId_00406
autoId_00369
autoId_00401
autoId_00344
autoId_00305
autoId_00347
autoId_00033
autoId_00332
autoId_00318
autoId_00284
autoId_00296
autoId_00390
autoId_00320
autoId_00321
autoId_00247
autoId_00246
autoId_00244
autoId_00245
autoId_00363
autoId_00403
autoId_00304
autoId_00282
autoId_00277
autoId_00268
autoId_00269
autoId_00267
autoId_00266
autoId_00265
autoId_00333
autoId_00254
autoId_00294
autoId_00311
autoId_00313
autoId_00300
autoId_00299
...

But i dont get it how to check if the item is a container and how to look inside of the container. Im using the Mono dissector to check the values from a WorldInteractiveObject: https://imgur.com/a/KvF23Pa

It seems like there is a lot stuff going on with doors but nothing related to containers/boxes.

My pointer for the objects so far: localgameworld] + 0xE0] + 0x30] + (0x20 + (0x8 * i)]


LootableContainer derives from WIA. In MonoDissector, look for that class and use the offsets provided by that to determine if it is pointing to a LootableContainer.

Something like FilterExtended *should* do the trick.

If the offset is NULL, it is likely not a container (Much like my IsBody check on loot from an earlier post).


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

niceone1 2nd February 2019 03:13 PM

Quote:

Originally Posted by Lystic (Post 2355925)
LootableContainer derives from WIA. In MonoDissector, look for that class and use the offsets provided by that to determine if it is pointing to a LootableContainer.

Something like FilterExtended *should* do the trick.

If the offset is NULL, it is likely not a container (Much like my IsBody check on loot from an earlier post).

First of all, thank you for your help so far!
I looked into the LootableContainer structure to filter the WorldInteractiveObjects - that should not be a problem!

But i cant find a valid position/name for the items. (Or a pointer to a LootItem Object/LootItemTemplateObject).

Im currently using the transform from the "Unity.Engine.Object" (m_CachedPointer) at 0x10.

Position Offsets: WorldInteractive + 0x10, 0x30, 0x30, 0x8, 0x38, 0x90
Name Offsets: WorldInteractive + 0x10, 0x30, 0x60, 0x0

Here are some images about my current state: https://imgur.com/a/BdxY4fm (it seems, that the positions and the names are wrong, since i get displayed a lot of stuff - mostly doors, but no jackets, PCs or bags).

Lystic 2nd February 2019 07:41 PM

Quote:

Originally Posted by niceone1 (Post 2356516)
First of all, thank you for your help so far!
I looked into the LootableContainer structure to filter the WorldInteractiveObjects - that should not be a problem!

But i cant find a valid position/name for the items. (Or a pointer to a LootItem Object/LootItemTemplateObject).

Im currently using the transform from the "Unity.Engine.Object" (m_CachedPointer) at 0x10.

Position Offsets: WorldInteractive + 0x10, 0x30, 0x30, 0x8, 0x38, 0x90
Name Offsets: WorldInteractive + 0x10, 0x30, 0x60, 0x0

Here are some images about my current state: https://imgur.com/a/BdxY4fm (it seems, that the positions and the names are wrong, since i get displayed a lot of stuff - mostly doors, but no jackets, PCs or bags).

That's strange. LootableContainer has Vector3's @ 0x120 & 0x12C (i think those are right still). they are transform.localPosition. Maybe those can help?

Containers do not spawn with items on world creation. When a player searches them they have a "Spawn chance" and spawn items then. So you won't find a LootItem in them unless someone has already opened the container. Instead, you will be walking the nodes.

There is an array of "Nodes" in the LootableContainer class. (// Token: 0x040028CB RID: 10443). You can walk that to get an ItemTemplate class.

niceone1 3rd February 2019 02:14 AM

Quote:

Originally Posted by Lystic (Post 2356799)
That's strange. LootableContainer has Vector3's @ 0x120 & 0x12C (i think those are right still). they are transform.localPosition. Maybe those can help?

Containers do not spawn with items on world creation. When a player searches them they have a "Spawn chance" and spawn items then. So you won't find a LootItem in them unless someone has already opened the container. Instead, you will be walking the nodes.

There is an array of "Nodes" in the LootableContainer class. (// Token: 0x040028CB RID: 10443). You can walk that to get an ItemTemplate class.

Yes, these Vector3's are still there. But honestly i did not know, that the loot inside containers isn't loaded at the server initialisation. So with that knowledge i would say i leave it as it is. Maybe i try to fix it in a few weeks, but for now im done with the simple environment loot ESP.

So it's time to get prediction and silent aim working :).

But again: Thank you for your help so far!

Adelheid 3rd February 2019 08:57 PM

im new to eft can some1 pls answer me some questions ?

1. which camera are you using ?
FPS camera some times just dissapears
i cant get viewmatrix from optic_camera

2. how can i differentiate from player and scavs ?

PutinIsLove 3rd February 2019 09:29 PM

Quote:

Originally Posted by Adelheid (Post 2357905)
im new to eft can some1 pls answer me some questions ?

1. which camera are you using ?
FPS camera some times just dissapears
i cant get viewmatrix from optic_camera

2. how can i differentiate from player and scavs ?

Hey,

1- You can use fps camera. If it doesn't work just refresh it sometimes.

2- You can differenciate player and scav with their ID :wink1:

qazwar 3rd February 2019 09:36 PM

Quote:

Originally Posted by Adelheid (Post 2357905)
im new to eft can some1 pls answer me some questions ?

1. which camera are you using ?
FPS camera some times just dissapears
i cant get viewmatrix from optic_camera

2. how can i differentiate from player and scavs ?

2)
Code:

uint64_t ptrPlayerSide = EFTProcess.ReadPointer(ObjectPlayer, { 0x0448, 0x28 });
Players.PlayerSide = EFTProcess.ReadMemory<int>(ptrPlayerSide + 0x50);


Players.PlayerSide:
Code:

Usec  = 0x1,
        Bear  = 0x2,
        Savage = 0x4


Code:

uint32_t registration_date = EFTProcess.ReadMemory<int>(ptrPlayerSide + 0x54);
Code:

if (Players.PlayerSide == Savage)
                                        {
                                                if(registration_date <= 0)
                                                        //AI bot
                                                else
//Real_Player
                                        }


Adelheid 3rd February 2019 10:19 PM

Quote:

Originally Posted by PutinIsLove (Post 2357932)
~

thanks, apparently my tagged object function from rust skipped some objects.

Quote:

Originally Posted by qazwar (Post 2357933)
~

thanks

dennis0011 4th February 2019 10:15 PM

does someone have the offset for player Velocity ?

niceone1 5th February 2019 06:48 PM

Quote:

Originally Posted by dennis0011 (Post 2359139)
does someone have the offset for player Velocity ?

Might be at EFT.Player+0x20 (SimpleCharacterController)]+0xD0 (Vec3).

But im not 100% sure.

dennis0011 5th February 2019 07:12 PM

Quote:

Originally Posted by niceone1 (Post 2360078)
Might be at EFT.Player+0x20 (SimpleCharacterController)]+0xD0 (Vec3).

But im not 100% sure.

:D thanks xD ^^

Adelheid 7th February 2019 01:19 PM

sry for asking again, but there are some maps e.g. labs,factory in which i cant even find the FPS Camera or optic_..... object. On a map like customs this just sometimes happens.
And by using FPS Camera gives the wrong viewmatrix when being scoped in

btw i use this c&ped find tagged obj func
Code:

uint64_t find_tagged_obj(const char* ObjName) {
        int limit = 350;
        uint64_t output = 0x0;

        uint64_t TaggedObjectsList = read<uint64_t>(obj_mgr + 0x8);
        uint64_t Firstobject = read<uint64_t>(TaggedObjectsList + 0x10);
        uint64_t FirstobjectNamePtr = read<uint64_t>(Firstobject + 0x60);
        char NameByte[256];
        readprocmem(pid, (ptr_t)(FirstobjectNamePtr), &NameByte, sizeof(NameByte));

        char* name = (char*)NameByte;
        std::string FirstobjectName = std::string(name);

        uint64_t CurObjectList = TaggedObjectsList;
        for (int CurObjectCount = 0x1; CurObjectCount < limit; CurObjectCount++) {
                CurObjectList = read<uint64_t>(CurObjectList + 0x8);
                uint64_t CurObject = read<uint64_t>(CurObjectList + 0x10);
                uint64_t CurObjectNamePtr = read<uint64_t>(CurObject + 0x60);

                char NameByte[256];
                readprocmem(pid, (ptr_t)(CurObjectNamePtr), &NameByte, sizeof(NameByte));
               
                char* name = (char*)NameByte;
                std::string CurobjectName = std::string(name);
                //printf("CurTaggedobjectName :                %s:%d\n", CurobjectName.c_str(), CurObjectCount);

                if (CurobjectName == ObjName) {
                        //printf("%s                            %p:%d\n", CurobjectName.c_str(), CurObject, CurObjectCount);
                        output = CurObject;
                        return output;
                }
        }

        return NULL;
}


TheMadMin3r 7th February 2019 01:42 PM

Quote:

Originally Posted by Adelheid (Post 2361752)
sry for asking again, but there are some maps e.g. labs,factory in which i cant even find the FPS Camera or optic_..... object. On a map like customs this just sometimes happens.
And by using FPS Camera gives the wrong viewmatrix when being scoped in

Try increasing the limit to get FPS Camera all the time. And when scoping you have to use the view matrix from optic_camera instead of FPS Camera.

dywersant01 7th February 2019 07:18 PM

FPS Camera might not be the last object in taggedItems list. That what is happening in Labs, gotta iterate thru all tagged items to find it.

Lystic 8th February 2019 12:11 AM

Quote:

Originally Posted by TheMadMin3r (Post 2361767)
Try increasing the limit to get FPS Camera all the time. And when scoping you have to use the view matrix from optic_camera instead of FPS Camera.

Did you manage to figure out the additional transforms on the optic_camera view matrix? Edges of the optic do not map well to the screen.

Quote:

Originally Posted by TheMadMin3r (Post 2361767)
Try increasing the limit to get FPS Camera all the time. And when scoping you have to use the view matrix from optic_camera instead of FPS Camera.

^^ This. I have a limit > 2000 and search until I find the value, ignoring case.

Ac1d777 8th February 2019 09:40 AM

optic camera stores in lasttaggedobject while you have optic scope, if you haven't optic scope - fps camera. I did that trick with optic cam viewmatrix and this looks ugly as fuck, but works.

PutinIsLove 15th February 2019 06:41 PM

Quote:

Originally Posted by Ac1d777 (Post 2362534)
optic camera stores in lasttaggedobject while you have optic scope, if you haven't optic scope - fps camera. I did that trick with optic cam viewmatrix and this looks ugly as fuck, but works.

Thanks for that !
Any ways to know if you are looking into the scope ?

Thanks.

dywersant01 15th February 2019 07:05 PM

Quote:

Originally Posted by PutinIsLove (Post 2369879)
Thanks for that !
Any ways to know if you are looking into the scope ?

Thanks.

If optic_scope isnot used it will be filled with 0, and -1, pretty easy to filter out.

Also wanted to ask where is the matrix you guys use with optic_scope? When iam using the same matrix as with FPS CAMERA my objecst appear in compleatly random spots on the screen.

Ac1d777 15th February 2019 07:17 PM

Quote:

Originally Posted by PutinIsLove (Post 2369879)
Thanks for that !
Any ways to know if you are looking into the scope ?

Thanks.

Aiming 1, not aiming 0.

dler6 16th February 2019 07:26 PM

Anyone know the mask to zero out for no recoil/sway? Used to be produralweaponanimation + 0xb0, then changed to 0xc0, now I can't seem to find it.

TheMadMin3r 17th February 2019 12:40 PM

Quote:

Originally Posted by dler6 (Post 2371018)
Anyone know the mask to zero out for no recoil/sway? Used to be produralweaponanimation + 0xb0, then changed to 0xc0, now I can't seem to find it.

Mask is still at 0xC8:

https://i.gyazo.com/886df8520c829fb3...6a8801faf2.png


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

BraydenEGC 23rd February 2019 02:59 AM

Anyone have the current viewmatrix chain from "FPS Camera"? Much appreciated!

matvei 23rd February 2019 06:17 AM

Quote:

Originally Posted by BraydenEGC (Post 2378445)
Anyone have the current viewmatrix chain from "FPS Camera"? Much appreciated!

Code:

GameObject("FPS Camera") + 0x30] + 0x18] + 0xC0] = Matrix4x4

BraydenEGC 23rd February 2019 06:19 AM

Quote:

Originally Posted by matvei (Post 2378528)
Code:

GameObject("FPS Camera") + 0x30] + 0x18] + 0xC0] = Matrix4x4



Yeah, it wasn�t working for me, figured out it was a fat finger typo. My bad.

BraydenEGC 23rd February 2019 07:01 PM

Now I am having issues with my World to Screen. I attempted to debug it but had no luck. Here is a video and the code I used. I pretty much copied the code from a rust cheat. All help is appreciated!
Youtube Video of Issue

My world to screen function is inside of the entity class and is called on all entities/players except my local player.
Code:

        float fD3DXVec3Dot(const Vector3 *a, const Vector3 *b)
        {
                return (a->x * b->x +
                        a->y * b->y +
                        a->z * b->z);
        }
        bool GetW2SPosition(Vector2 * returnVec)
        {
                Vector3 pos = GetPosition();
                D3DMATRIX temp = ViewMatrix;
                Vector3 translationVec = Vector3(temp._41, temp._42, temp._43);
                Vector3 up = Vector3(temp._21, temp._22, temp._23);
                Vector3 right = Vector3(temp._11, temp._12, temp._13);
                float w = fD3DXVec3Dot(&translationVec, &pos) + temp._44;
                if (w < 0.098f)
                {
                        std::cout << "Failure W2S on w < 0.098f: " << w << std::endl;
                        return false;
                }
                float y = fD3DXVec3Dot(&up, &pos) + temp._24;
                float x = fD3DXVec3Dot(&right, &pos) + temp._24;
                returnVec->x = (1920 / 2) * (1.f + x / w);
                returnVec->y = (1080 / 2) * (1.f - y / w);
                return true;
        }


TheMadMin3r 23rd February 2019 07:13 PM

Quote:

Originally Posted by BraydenEGC (Post 2379417)
Now I am having issues with my World to Screen. I attempted to debug it but had no luck. Here is a video and the code I used. I pretty much copied the code from a rust cheat. All help is appreciated!
Youtube Video of Issue

My world to screen function is inside of the entity class and is called on all entities/players except my local player.
Code:

        float fD3DXVec3Dot(const Vector3 *a, const Vector3 *b)
        {
                return (a->x * b->x +
                        a->y * b->y +
                        a->z * b->z);
        }
        bool GetW2SPosition(Vector2 * returnVec)
        {
                Vector3 pos = GetPosition();
                D3DMATRIX temp = ViewMatrix;
                Vector3 translationVec = Vector3(temp._41, temp._42, temp._43);
                Vector3 up = Vector3(temp._21, temp._22, temp._23);
                Vector3 right = Vector3(temp._11, temp._12, temp._13);
                float w = fD3DXVec3Dot(&translationVec, &pos) + temp._44;
                if (w < 0.098f)
                {
                        std::cout << "Failure W2S on w < 0.098f: " << w << std::endl;
                        return false;
                }
                float y = fD3DXVec3Dot(&up, &pos) + temp._24;
                float x = fD3DXVec3Dot(&right, &pos) + temp._24;
                returnVec->x = (1920 / 2) * (1.f + x / w);
                returnVec->y = (1080 / 2) * (1.f - y / w);
                return true;
        }


You need to transpose the view matrix before getting the translation, up and right vectors.

BraydenEGC 23rd February 2019 07:15 PM

Quote:

Originally Posted by TheMadMin3r (Post 2379450)
You need to transpose the view matrix before getting the translation, up and right vectors.

Yeah, I do that. You can see it here:

Code:

        D3DMATRIX temp = Objects::FPSCam.GetViewMatrix();
        MatrixTranspose(&ViewMatrix, &temp);
        cout << "FPS Camera: " << hex << Objects::FPSCam.GetAddr() << endl;

Code:

D3DMATRIX *MatrixTranspose(D3DMATRIX *pOut, const D3DMATRIX *pM)
{
        // Legacy Function
        pOut->_11 = pM->_11;
        pOut->_12 = pM->_21;
        pOut->_13 = pM->_31;
        pOut->_14 = pM->_41;

        pOut->_21 = pM->_12;
        pOut->_22 = pM->_22;
        pOut->_23 = pM->_32;
        pOut->_24 = pM->_42;

        pOut->_31 = pM->_13;
        pOut->_32 = pM->_23;
        pOut->_33 = pM->_33;
        pOut->_34 = pM->_43;

        pOut->_41 = pM->_14;
        pOut->_42 = pM->_24;
        pOut->_43 = pM->_34;
        pOut->_44 = pM->_44;

        return pOut;
}

Edit: Fixed

Xingyiayoyu 24th February 2019 06:16 AM

When I was equipped with a mask ,ESP will be skewed.Does anyone know how to fix it?

Ac1d777 24th February 2019 09:43 AM

Quote:

Originally Posted by Xingyiayoyu (Post 2380028)
When I was equipped with a mask ,ESP will be skewed.Does anyone know how to fix it?

In next patch it will be fixed by devs, see patchnote.

BraydenEGC 24th February 2019 12:20 PM

Could someone lend me a hand with this issue? I am having issues iterating through the bones and transforming their positions. The position always return at the bottom of the entity. (Below knee position) Even when I input the head bone of 133, it still shows at the bottom. Furthermore, not all bones are valid/invalid for all the entities. For example, 133 could show one entity's foot while it doesn't even appear for another entity. I presume it has something to do with my transform or how I am walking the bone offsets. Any help is appreciated!
Video of the issue

Code:

Vector3 GetPosition(uint64_t transform)
{
        uint64_t transform_internal = Memory::ReadMemory<uint64_t>(transform + 0x10);
        if (!transform_internal)
                return Vector3(1,0,0);

        uint64_t some_ptr = Memory::ReadMemory<uint64_t>(transform_internal + 0x38);
        int32_t index = Memory::ReadMemory<int32_t>(transform_internal + 0x38 + sizeof(uint64_t));
        if (!some_ptr)
                return Vector3(2,0,0);

        uint64_t relation_array = Memory::ReadMemory<uint64_t>(some_ptr + 0x8);
        if (!relation_array)
                return Vector3(3, 0, 0);

        uint64_t dependency_index_array = Memory::ReadMemory<uint64_t>(some_ptr + 0x10);
        if (!dependency_index_array)
                return Vector3(4, 0, 0);

        __m128i temp_0;
        __m128 xmmword_1410D1340 = { -2.f, 2.f, -2.f, 0.f };
        __m128 xmmword_1410D1350 = { 2.f, -2.f, -2.f, 0.f };
        __m128 xmmword_1410D1360 = { -2.f, -2.f, 2.f, 0.f };
        __m128 temp_1;
        __m128 temp_2;
        __m128 temp_main = Memory::ReadMemory<__m128>(relation_array + index * 48);
        int32_t dependency_index = Memory::ReadMemory<int32_t>(dependency_index_array + index);

        while (dependency_index >= 0)
        {
                int32_t relation_index = 6 * dependency_index;

                temp_0 = Memory::ReadMemory<__m128i>(relation_array + 8 * relation_index + 16);
                temp_1 = Memory::ReadMemory<__m128>(relation_array + 8 * relation_index + 32);
                temp_2 = Memory::ReadMemory<__m128>(relation_array + 8 * relation_index);

                __m128 v10 = _mm_mul_ps(temp_1, temp_main);
                __m128 v11 = _mm_castsi128_ps(_mm_shuffle_epi32(temp_0, 0));
                __m128 v12 = _mm_castsi128_ps(_mm_shuffle_epi32(temp_0, 85));
                __m128 v13 = _mm_castsi128_ps(_mm_shuffle_epi32(temp_0, -114));
                __m128 v14 = _mm_castsi128_ps(_mm_shuffle_epi32(temp_0, -37));
                __m128 v15 = _mm_castsi128_ps(_mm_shuffle_epi32(temp_0, -86));
                __m128 v16 = _mm_castsi128_ps(_mm_shuffle_epi32(temp_0, 113));
                __m128 v17 = _mm_add_ps(
                        _mm_add_ps(
                                _mm_add_ps(
                                        _mm_mul_ps(
                                                _mm_sub_ps(
                                                        _mm_mul_ps(_mm_mul_ps(v11, xmmword_1410D1350), v13),
                                                        _mm_mul_ps(_mm_mul_ps(v12, xmmword_1410D1360), v14)),
                                                _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(v10), -86))),
                                        _mm_mul_ps(
                                                _mm_sub_ps(
                                                        _mm_mul_ps(_mm_mul_ps(v15, xmmword_1410D1360), v14),
                                                        _mm_mul_ps(_mm_mul_ps(v11, xmmword_1410D1340), v16)),
                                                _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(v10), 85)))),
                                _mm_add_ps(
                                        _mm_mul_ps(
                                                _mm_sub_ps(
                                                        _mm_mul_ps(_mm_mul_ps(v12, xmmword_1410D1340), v16),
                                                        _mm_mul_ps(_mm_mul_ps(v15, xmmword_1410D1350), v13)),
                                                _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(v10), 0))),
                                        v10)),
                        temp_2);

                temp_main = v17;
                dependency_index = Memory::ReadMemory<int32_t>(dependency_index_array + dependency_index);
        }

        return *reinterpret_cast<Vector3*>(&temp_main);
}

Code:

        Vector3 GetBonePos(int id)
        {
                uint64_t r1 = Memory::ReadMemory<uint64_t>(PlayerAddr + 0x88);
                uint64_t r2 = Memory::ReadMemory<uint64_t>(r1 + 0x28);
                uint64_t r3 = Memory::ReadMemory<uint64_t>(r2 + 0x28);
                uint64_t r4 = Memory::ReadMemory<uint64_t>(r3 + 0x10);
                uint64_t r5 = Memory::ReadMemory<uint64_t>(r4 + 0x20 + (id * 8));
                cout << "r5: " << r5 << " | Math: " << 0x20 + (id * 8) << endl;
                if (r5 != 0)
                {
                        return GetPosition(r5);
                }
        }


qazwar 24th February 2019 05:25 PM

Quote:

Originally Posted by BraydenEGC (Post 2380248)
Could someone lend me a hand with this issue? I am having issues iterating through the bones and transforming their positions. The position always return at the bottom of the entity. (Below knee position) Even when I input the head bone of 133, it still shows at the bottom. Furthermore, not all bones are valid/invalid for all the entities. For example, 133 could show one entity's foot while it doesn't even appear for another entity. I presume it has something to do with my transform or how I am walking the bone offsets. Any help is appreciated!
Video of the issue

Code:

Vec3  GetPosition(uint64_t pMatrix, uint32_t index)
{
        uint64_t matrix_list_base = 0;
        if (!EFTProcess.ReadMemory((uintptr_t)(pMatrix + 0x8), &matrix_list_base) || !matrix_list_base)
                return Vec3();

        uint64_t dependency_index_table_base = 0;
        if (!EFTProcess.ReadMemory((uintptr_t)(pMatrix + 0x10), &dependency_index_table_base) || !dependency_index_table_base)
                return Vec3();

        static auto get_dependency_index = [](uint64_t base, int32_t index) {
                if (!EFTProcess.ReadMemory((uintptr_t)(base + index * 4), &index))
                        return -1;
                return index;
        };

        static auto get_matrix_blob = [](uint64_t base, uint64_t offs, float* blob, uint32_t size) {
                EFTProcess.ReadMemory((uintptr_t)(base + offs), blob, size);
        };

        int32_t index_relation = get_dependency_index(dependency_index_table_base, index);

        Vec3 ret_value;
        {
                float* base_matrix3x4 = (float*)malloc(64),
                        *matrix3x4_buffer0 = (float*)((uint64_t)base_matrix3x4 + 16),
                        *matrix3x4_buffer1 = (float*)((uint64_t)base_matrix3x4 + 32),
                        *matrix3x4_buffer2 = (float*)((uint64_t)base_matrix3x4 + 48);

                get_matrix_blob(matrix_list_base, index * 48, base_matrix3x4, 16);

                __m128 xmmword_1410D1340 = { -2.f, 2.f, -2.f, 0.f };
                __m128 xmmword_1410D1350 = { 2.f, -2.f, -2.f, 0.f };
                __m128 xmmword_1410D1360 = { -2.f, -2.f, 2.f, 0.f };

                while (index_relation >= 0) {
                        uint32_t matrix_relation_index = 6 * index_relation;

                        // paziuret kur tik 3 nureadina, ten translationas, kur 4 = quatas ir yra rotationas.
                        get_matrix_blob(matrix_list_base, 8 * matrix_relation_index, matrix3x4_buffer2, 16);
                        __m128 v_0 = *(__m128*)matrix3x4_buffer2;

                        get_matrix_blob(matrix_list_base, 8 * matrix_relation_index + 32, matrix3x4_buffer0, 16);
                        __m128 v_1 = *(__m128*)matrix3x4_buffer0;

                        get_matrix_blob(matrix_list_base, 8 * matrix_relation_index + 16, matrix3x4_buffer1, 16);
                        __m128i v9 = *(__m128i*)matrix3x4_buffer1;

                        __m128 *v3 = (__m128*)base_matrix3x4; // [email protected]
                        __m128 v10; // [email protected]
                        __m128 v11; // [email protected]
                        __m128 v12; // [email protected]
                        __m128 v13; // [email protected]
                        __m128 v14; // [email protected]
                        __m128 v15; // [email protected]
                        __m128 v16; // [email protected]
                        __m128 v17; // [email protected]

                        v10 = _mm_mul_ps(v_1, *v3);
                        v11 = _mm_castsi128_ps(_mm_shuffle_epi32(v9, 0));
                        v12 = _mm_castsi128_ps(_mm_shuffle_epi32(v9, 85));
                        v13 = _mm_castsi128_ps(_mm_shuffle_epi32(v9, -114));
                        v14 = _mm_castsi128_ps(_mm_shuffle_epi32(v9, -37));
                        v15 = _mm_castsi128_ps(_mm_shuffle_epi32(v9, -86));
                        v16 = _mm_castsi128_ps(_mm_shuffle_epi32(v9, 113));

                        v17 = _mm_add_ps(
                                _mm_add_ps(
                                        _mm_add_ps(
                                                _mm_mul_ps(
                                                        _mm_sub_ps(
                                                                _mm_mul_ps(_mm_mul_ps(v11, (__m128)xmmword_1410D1350), v13),
                                                                _mm_mul_ps(_mm_mul_ps(v12, (__m128)xmmword_1410D1360), v14)),
                                                        _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(v10), -86))),
                                                _mm_mul_ps(
                                                        _mm_sub_ps(
                                                                _mm_mul_ps(_mm_mul_ps(v15, (__m128)xmmword_1410D1360), v14),
                                                                _mm_mul_ps(_mm_mul_ps(v11, (__m128)xmmword_1410D1340), v16)),
                                                        _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(v10), 85)))),
                                        _mm_add_ps(
                                                _mm_mul_ps(
                                                        _mm_sub_ps(
                                                                _mm_mul_ps(_mm_mul_ps(v12, (__m128)xmmword_1410D1340), v16),
                                                                _mm_mul_ps(_mm_mul_ps(v15, (__m128)xmmword_1410D1350), v13)),
                                                        _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(v10), 0))),
                                                v10)),
                                v_0);

                        *v3 = v17;

                        index_relation = get_dependency_index(dependency_index_table_base, index_relation);
                }

                ret_value = *(Vec3*)base_matrix3x4;
                delete[] base_matrix3x4;
        }

        return ret_value;
}
Vec3  GetPosition(uint64_t transform)
{
        auto transform_internal = EFTProcess.ReadMemory<uint64_t>(transform + 0x10);
        if (!transform_internal)
                return Vec3();

        auto matrices = EFTProcess.ReadMemory<uint64_t>(transform_internal + 0x38);
        auto index    = EFTProcess.ReadMemory<uint32_t>(transform_internal + 0x38 + sizeof(uint64_t));
        if (!matrices || index < 0)
                return Vec3();

        return GetPosition(matrices, index);
}


Code:

enum Bones : uint32_t{
        HumanHead = 133,

        HumanNeck  = 132,
        HumanSpine3 = 37,
        HumanSpine2 = 36,
        HumanSpine1 = 29,
        HumanPelvis = 14,

        HumanLCalf = 17,
        HumanLFoot = 18,

        HumanRCalf = 22,
        HumanRFoot = 23,

        HumanLForearm2 = 92,
        HumanLForearm1 = 91,
        HumanLUpperarm = 90,

        HumanRForearm2 = 113,
        HumanRForearm1 = 112,
        HumanRUpperarm = 111,
};


Code:

if (auto bone_transform = EFTProcess.ReadPointer(ObjectPlayer, { 0x0088 , 0x28, 0x28, 0x10 }))
                        {
                                Players.Head = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanHead * 8);
                                Players.Neck = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanNeck * 8);
                                Players.Spine3 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanSpine3 * 8);
                                Players.Spine2 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanSpine2 * 8);
                                Players.Spine1 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanSpine1 * 8);
                                Players.Pelvis = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanPelvis * 8);
                                Players.LCalf = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanLCalf * 8);
                                Players.LFoot = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanLFoot * 8);

                                Players.RCalf = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanRCalf * 8);
                                Players.RFoot = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanRFoot * 8);
                                Players.LForearm2 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanLForearm2 * 8);
                                Players.LForearm1 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanLForearm1 * 8);
                                Players.LUpperarm = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanLUpperarm * 8);
                                Players.RForearm2 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanRForearm2 * 8);
                                Players.RForearm1 = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanRForearm1 * 8);
                                Players.RUpperarm = EFTProcess.ReadMemory<uint64_t>(bone_transform + 0x20 + HumanRUpperarm * 8);
                        }

Code:

Vec3 vHeadPos = GetPosition(Players[i].Head);

niceone1 1st March 2019 03:04 PM

Does someone know the offset to force a primary attack?

I found
Code:

eft + 0x014329C8] 0x58] 0x28
which represents the mouse input - so 0x8 is left mouse click, which leads to a primary attack - but this method is a bit slow since the game is poling the value at this address every 20ms or smth. like that.

qazwar 5th March 2019 04:06 PM

Actual
Code:

class Player
{
public:
        char pad_0x0000[0x18]; //0x0000
        DWORD ChangedEvent; //0x0018
        char pad_0x001C[0x6C]; //0x001C
        PlayerBody* m_pPlayerBody; //0x0088
        char pad_0x0090[0x3E0]; //0x0090
        Profile* m_pProfile; //0x0470
        char pad_0x0478[0x28]; //0x0478
        HealthController* m_pHealthController; //0x04A0
        char pad_0x04A8[0x3D8]; //0x04A8
}; //Size=0x0880


vetero4ek 6th March 2019 03:20 AM

Guyes could you please give me clue how to get player Position From Player Class ?
Is it store in PlayerBody or where ?

qazwar 6th March 2019 07:36 AM

Quote:

Originally Posted by vetero4ek (Post 2391215)
Guyes could you please give me clue how to get player Position From Player Class ?
Is it store in PlayerBody or where ?

Vec3 vPosOrigin = m_pObjectPlayer->0x10->0x30->0x30->0x8->0x38->0x90

dler4 7th March 2019 01:20 AM

Did playerlist change? Used to be Gameworld + 0x30] + 0x18] + 0x28] + 0x70] + 0x10]

Can't seem to find it anymore

matvei 7th March 2019 10:09 AM

Quote:

Originally Posted by dler4 (Post 2392250)
Did playerlist change? Used to be Gameworld + 0x30] + 0x18] + 0x28] + 0x70] + 0x10]

Can't seem to find it anymore

You may have found wrong gameworld
GameObject("GameWorld") + 0x30] + 0x18] + 0x28] + 0x70] + 0x10] + 0x20 = First Player

EmhyrVarEmreis 7th March 2019 04:55 PM

Quote:

Originally Posted by matvei (Post 2392491)
You may have found wrong gameworld
GameObject("GameWorld") + 0x30] + 0x18] + 0x28] + 0x70] + 0x10] + 0x20 = First Player

I think offests have changed with this update. Can anyone share actual ones?

matvei 7th March 2019 05:51 PM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2392901)
I think offests have changed with this update. Can anyone share actual ones?

https://www.unknowncheats.me/forum/2390622-post813.html
After last update, only player structure has changed. Everything else is the same.

EmhyrVarEmreis 7th March 2019 10:26 PM

Quote:

Originally Posted by matvei (Post 2392957)
https://www.unknowncheats.me/forum/2390622-post813.html
After last update, only player structure has changed. Everything else is the same.

You're right, it's my bad. I made mistake in my program.

dler4 8th March 2019 02:13 AM

Quote:

Originally Posted by matvei (Post 2392491)
You may have found wrong gameworld
GameObject("GameWorld") + 0x30] + 0x18] + 0x28] + 0x70] + 0x10] + 0x20 = First Player

Turns out I just had to restart my PC and it worked again, happens like 4 times a year where offsets don't match at all and a restart fixes it.. no idea why

Thanks though


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

HELOHELO121 9th March 2019 12:00 AM

Anyone have the new offsets for GetX(), GetY(), and GetZ()?

BraydenEGC 9th March 2019 12:03 AM

Quote:

Originally Posted by HELOHELO121 (Post 2394349)
~snip~

1) Refrain from calling offsets by their function name in "your" cheat.
2) They didn't change.
3) It is probably your pasted radar messing up.

Debug and give us anything more than what you already know to go off of, because frankly, you know nothing about memory, your cheat, or EFT.

mikangchan 9th March 2019 05:32 AM

they put a wrapper on _slotViews, which containes dictionary at 0x10 and list at 0x18

HELOHELO121 9th March 2019 02:24 PM

Anyone have the offset for Player.MovementContext.Direction?
Or has the MovementContextObjectAddr offset changed?

Edit: Currently I am using 0x01EC for the direction but I believe that's outdated.

shaliuno 9th March 2019 02:45 PM

@HELOHELO121



HELOHELO121 9th March 2019 03:08 PM

Quote:

Originally Posted by shaliuno (Post 2394949)
@HELOHELO121



Hmm.. I do not have a clue what language this is or how the \uE016 style offsets even work. (I'm using C#)
My guess is that
\uE106 = Player.MovementState.Rotation offset
and
\uE510 = Player.MovementState offset
Could ya help me or link me something that will help me convert that into a int that I can use?

BraydenEGC 9th March 2019 03:11 PM

Quote:

Originally Posted by HELOHELO121 (Post 2394981)
~snip~

He literally just posted the offsets so why would you even need to convert that to an int. (Serves literally 0 purpose other than telling you that the name is obfuscated and would not be useful information in any way.)

shaliuno 9th March 2019 03:17 PM

Quote:

Originally Posted by HELOHELO121 (Post 2394981)
Hmm.. I do not have a clue what language this is or how the \uE016 style offsets even work. (I'm using C#)

C#

Quote:

Originally Posted by HELOHELO121 (Post 2394981)
My guess is that
\uE106 = Player.MovementState.Rotation offset
and
\uE510 = Player.MovementState offset
Could ya help me or link me something that will help me convert that into a int that I can use?

You can use dnSpy to see the code.
\uE106
\uE510
Are obfuscated fields, no big deal at all.

The code down below is CheatEngine mono dissect dump, where you can find offsets easy way (dnSpy is enough but with the dump it is easier)
Run game, do CE mono dump , expand all and export to txt. Forget about CE till next patch.

Compare what you see in dnSpy with the dump.

HELOHELO121 9th March 2019 03:18 PM

Quote:

Originally Posted by BraydenEGC (Post 2394988)
He literally just posted the offsets so why would you even need to convert that to an int. (Serves literally 0 purpose other than telling you that the name is obfuscated and would not be useful information in any way.)

would it be
0xEE 0x80 0x96
or
0xE016

BraydenEGC 9th March 2019 03:19 PM

Quote:

Originally Posted by HELOHELO121 (Post 2394997)
~snip~

Neither. I don't even know where you got 0xEE from, SMH.:irked:

HELOHELO121 9th March 2019 03:35 PM

Quote:

Originally Posted by shaliuno (Post 2394996)
C#



You can use dnSpy to see the code.
\uE106
\uE510
Are obfuscated fields, no big deal at all.

The code down below is CheatEngine mono dissect dump, where you can find offsets easy way (dnSpy is enough but with the dump it is easier)
Run game, do CE mono dump , expand all and export to txt. Forget about CE till next patch.

Compare what you see in dnSpy with the dump.

How do I deobfuscate these? Would de4dot work?

shaliuno 9th March 2019 03:37 PM

Quote:

Originally Posted by HELOHELO121 (Post 2394997)
-skip-

MovementContext:




If you don't get this idea on the image.
I suggest to spend more time getting the idea on how it works.
That will help a lot in cheating in Unity games.

Quote:

Originally Posted by HELOHELO121 (Post 2395019)
How do I deobfuscate these? Would de4dot work?

Yes, but there is no reason to do so.
It will make it slightly easier to read but will not bring back original field names.
Or for reasons BraydenEGC said below. That also has its use.

@BraydenEGC

I'm just used to dnSpy.
Analyzing references and stuff :D

BraydenEGC 9th March 2019 03:39 PM

Quote:

Originally Posted by shaliuno (Post 2395020)
~snip~

Actually, there is a more simple way to do it. You can load a deobfuscated assembly and won't have any issues and can see all offsets in mono dissect without the need of dnspy. (DnSpy is still a super useful tool though)

HELOHELO121 9th March 2019 04:19 PM

Quote:

Originally Posted by BraydenEGC (Post 2395058)
I actually can't believe what you just fucking said.
1) You don't deobfuscate offsets.
2) I already told you how to deobfuscate the class names, but you probably won't even look up the thread because you are that lazy.
2) You obviously have no clue what you are doing, take the advice of learning and run with it. (Stop lying about know c++ too, no one believes that for a second.)
:boid:

If I don't deobsfucate them how do I go from this:
\uE106
\uE510
to something I can use in C# as an offset.

mikangchan 9th March 2019 06:32 PM

Quote:

Originally Posted by HELOHELO121 (Post 2395067)
If I don't deobsfucate them how do I go from this:
\uE106
\uE510
to something I can use in C# as an offset.

if u use de4dot they should be something like GClassXX which gives you a cleaner code to work on

HELOHELO121 9th March 2019 08:00 PM

Anyone have the Player.MovementContext offset?

BraydenEGC 9th March 2019 08:03 PM

Quote:

Originally Posted by HELOHELO121 (Post 2395289)
~Snip~

Shailuno literally posted them for you...?

Code:

      d771440 : EFT.MovementState
            static fields
                0 : G (type: UnityEngine.Vector3)
                c : G_y (type: System.Single)
            fields
                10 : MovementContext (type: о�ђ)
 
 
 
 
        d6f8630 : EFT.Player
            static fields
            fields
                38 : оЂЌ (type: о�ђ)
                d76d988 : get_MovementContext ():о�ђ
 
о�ђ = MovementContext


HELOHELO121 9th March 2019 08:07 PM

Quote:

Originally Posted by BraydenEGC (Post 2395292)
Shailuno literally posted them for you...?

Code:

      d771440 : EFT.MovementState
            static fields
                0 : G (type: UnityEngine.Vector3)
                c : G_y (type: System.Single)
            fields
                10 : MovementContext (type: о”ђ)
 
 
 
 
        d6f8630 : EFT.Player
            static fields
            fields
                38 : оЂЌ (type: о”ђ)
                d76d988 : get_MovementContext ():о”ђ
 
о”ђ = MovementContext


0xd76d988?

HELOHELO121 9th March 2019 08:10 PM

Quote:

Originally Posted by BraydenEGC (Post 2395299)
Fuck no. :sigh1:

Am I supposed to subtract them?
0xd76d988 - 0xd6f8630?
and the answer is the offset?

TheMadMin3r 9th March 2019 08:14 PM

Quote:

Originally Posted by HELOHELO121 (Post 2395302)
Am I supposed to subtract them?
0xd76d988 - 0xd6f8630?
and the answer is the offset?

Does an offset of 0x75358 sound like it's the right offset?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

BraydenEGC 9th March 2019 08:23 PM

Quote:

Originally Posted by HELOHELO121 (Post 2395317)
~snip~

My beef w/ you:
1) Lying about knowing c++.
2) Not wanting to learn.
3) Not using your brain.
4) Creating a new thread over not knowing how to read a pointer even though it is in your paste.

I stopped caring about being an asshole towards you a long time ago. You are in now way, shape, or form ready to begin hacking. You don't even know how pointers work, yet you claim to be a c++ coder. It is just a meme at this point.

I understand everyone starts somewhere, but atleast have the motivation to learn c++ and learning how memory works before cheating. You will get nowhere with your current work ethic/motivation. :tool:

HELOHELO121 9th March 2019 08:46 PM

Quote:

Originally Posted by BraydenEGC (Post 2395325)
My beef w/ you:
1) Lying about knowing c++.
2) Not wanting to learn.
3) Not using your brain.
4) Creating a new thread over not knowing how to read a pointer even though it is in your paste.

I stopped caring about being an asshole towards you a long time ago. You are in now way, shape, or form ready to begin hacking. You don't even know how pointers work, yet you claim to be a c++ coder. It is just a meme at this point.

I understand everyone starts somewhere, but atleast have the motivation to learn c++ and learning how memory works before cheating. You will get nowhere with your current work ethic/motivation. :tool:

I'll try to be better at those things. I think I might have figured it out. Is it 0x38 for get_MovementContext?

BraydenEGC 9th March 2019 08:47 PM

Quote:

Originally Posted by HELOHELO121 (Post 2395343)
~snip~

0x38 is for MovementContext.

HELOHELO121 9th March 2019 08:51 PM

Quote:

Originally Posted by BraydenEGC (Post 2395346)
0x38 is for MovementContext.

So if that is true I'm guessing the numbers on the left of the semicolon represent the hex value of the function on the right of the semicolon. Then why would d76d988 not be correct for get_MovementContext?

Code:

d76d988 : get_MovementContext ():о�ђ

BraydenEGC 9th March 2019 08:54 PM

Quote:

Originally Posted by HELOHELO121 (Post 2395350)
~snip~

Because it is an address, not an offset.

polivilas 9th March 2019 09:19 PM

Quote:

Originally Posted by HELOHELO121 (Post 2395382)
How bout you get off your high horse and help me

The only high horse here is you - only you refuse to learn about basic concepts, only you is posting dumb questions, only you is demanding to be spoonfed for a cheat that is not yours.

Please reconsider your attitude and behavior before insulting people.

EmhyrVarEmreis 11th March 2019 10:44 AM

I know that this is thread about offsets, but I think it is relevant too.
Did they change the way of updating players position or I am using the wrong offsets? Players position are updated only when I look at them for me..

shaliuno 11th March 2019 11:23 AM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2396952)
I know that this is thread about offsets, but I think it is relevant too.
Did they change the way of updating players position or I am using the wrong offsets? Players position are updated only when I look at them for me..

I had this issue too.
It has been like that for quite a long.
I suggest using transform position instead of pedometer, it works best.

player, 0x10, 0x30, 0x30, 0x08, 0x38, 0x90
should be up to date but I haven't played for a while, but ReClass will help

HELOHELO121 11th March 2019 11:38 PM

Quote:

Originally Posted by Lystic (Post 2351765)
You can check if loot is a body w/

LootBase + 0xF8

If it reads as 0, it is not a body. This points to the PlayerBody class.

Sorry to comment on this so late, but this is not working for me.
It does work for all dead bodies but, some random static loot spawns don't return 0.

Also, could someone please share the current ItemLoot name offset? I am currently using 0x48 but it is not working.

EDIT:
Or could I be reading a UnicodeString's length wrong?
long NameObjAddr = ma.ReadLongMemory(ptrObjectLoot + 0x48);
int lengthOfString = ma.ReadIntMemory(NameObjAddr + 0x10); //Returns random address in memory

BraydenEGC 11th March 2019 11:40 PM

Quote:

Originally Posted by HELOHELO121 (Post 2397711)
~snip~



I haven�t tested dead bodies, however the loot name should be LootItem->_template->TemplateName (or something close to that)

HELOHELO121 11th March 2019 11:58 PM

Quote:

Originally Posted by BraydenEGC (Post 2397714)
I haven�t tested dead bodies, however the loot name should be LootItem->_template->TemplateName (or something close to that)

I got the chain
LootItem->0x40->0x20->0x10
but it's returning 0. Could someone share the current chain?

BraydenEGC 11th March 2019 11:59 PM

Quote:

Originally Posted by HELOHELO121 (Post 2397731)
I got the chain

LootItem->0x40->0x20->0x10

but it's returning 0. Could someone share the current chain?



It should be LootItem->0x40->0x20->0x10->0x14

HELOHELO121 12th March 2019 12:36 AM

Quote:

Originally Posted by BraydenEGC (Post 2397733)
It should be LootItem->0x40->0x20->0x10->0x14

Code:

long help = ma.Read<long>(ptrObjectLoot + 0x40);
long heelp = ma.Read<long>(help + 0x20);
long heeelp = ma.Read<long>(heelp + 0x10);
long heeeelp = ma.Read<long>(heeelp + 0x14);

long unicodeStringObjAddr = heeeelp;
int lengthOfString = ma.ReadIntMemory(unicodeStringObjAddr + 0x10);

Hmm lengthOfString still seems to be returning 0. What might I be doing wrong here?

EDIT: from viewing the UnicodeString structure I have realized that the data size is char[40] & when you do the extra 0x14 it points to the data member. I tried simply getting the length of the data member and doing a simple byte array read and then converting that to a string but that still just returns ""

Code:

long help = ma.Read<long>(ptrObjectLoot + 0x40);
long heelp = ma.Read<long>(help + 0x20);
long heeelp = ma.Read<long>(heelp + 0x10);
long heeeelp = ma.Read<long>(heeelp + 0x14);

long unicodeStringObjAddr = heeeelp;
loot.Name = System.Text.Encoding.Unicode.GetString(ma.ReadByteArrayMemory(unicodeStringObjAddr, Marshal.SizeOf(typeof(char)) * 40));


EmhyrVarEmreis 12th March 2019 01:03 AM

Quote:

Originally Posted by shaliuno (Post 2396978)
I had this issue too.
It has been like that for quite a long.
I suggest using transform position instead of pedometer, it works best.

player, 0x10, 0x30, 0x30, 0x08, 0x38, 0x90
should be up to date but I haven't played for a while, but ReClass will help

I'm pretty sure that it has changed.
Which method of hiding ReClass do you recommend for dumb tarkov ac system?

BraydenEGC 12th March 2019 01:03 AM

Quote:

Originally Posted by HELOHELO121 (Post 2397761)
[CODE]~snip~


You are reading the address wrong for length of string.

BraydenEGC 12th March 2019 01:04 AM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2397785)
~snip~


A strong dose of unplug the internet and go into offline mode.

EmhyrVarEmreis 12th March 2019 01:08 AM

Quote:

Originally Posted by BraydenEGC (Post 2397788)
A strong dose of unplug the internet and go into offline mode.

And probably clear some data after that, ya? Tarkov holds it somewhere, I am wrong?

BraydenEGC 12th March 2019 01:11 AM

EFT Structs / Offsets
 
Quote:

Originally Posted by EmhyrVarEmreis (Post 2397790)
~snip~



Well, not really. I have browsed the game�s structure for a bit and I have never noticed anything outside logs, NLOGS, and screenshots. Nor have I been banned while external.

HELOHELO121 12th March 2019 01:20 AM

Quote:

Originally Posted by BraydenEGC (Post 2397786)
You are reading the address wrong for length of string.

I also tried doing this
Code:

long help = ma.Read<long>(ptrObjectLoot + 0x40);
long heelp = ma.Read<long>(help + 0x20);
long heeelp = ma.Read<long>(heelp + 0x10);
 
long unicodeStringObjAddr = heeelp;
int lengthOfString = ma.ReadIntMemory(unicodeStringObjAddr + 0x10);

(I assumed the last 0x14 is acessing the data member of UnicodeString) but it still keeps returning 0

polivilas 12th March 2019 01:22 AM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2397785)
I'm pretty sure that it has changed.
Which method of hiding ReClass do you recommend for dumb tarkov ac system?

As a shameless self-plug - you could use the newest version of EmuTarkov to develop safely in singleplayer - offsets should be exactly same as 0.11.5.2780 :)


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

BraydenEGC 12th March 2019 01:22 AM

Quote:

Originally Posted by HELOHELO121 (Post 2397801)
~snip~



If you knew what you were doing and just looked at your code and the address you are reading, you would understand your mistake.

HELOHELO121 12th March 2019 01:38 AM

Quote:

Originally Posted by BraydenEGC (Post 2397804)
If you knew what you were doing and just looked at your code and the address you are reading, you would understand your mistake.

Hmm.. I haven't got the slightest clue. I know ptrObjectLoot is right because I can get the item's location just fine. I also know the 0x10 offset to get the length is correct because It works just fine when getting a players name using the same method.. Also I checked that the chain was in the right order. Could ya give me a hint?

BraydenEGC 12th March 2019 01:40 AM

Quote:

Originally Posted by HELOHELO121 (Post 2397826)
~snip~



You must be doing it different if it works for player names because reading a non-pointer address (the string) as a pointer, and then referencing from that pointer to get a nonzero/correct address is absolutely ludicrous. Post your player name and I will have a look for you.

HELOHELO121 12th March 2019 01:42 AM

Quote:

Originally Posted by BraydenEGC (Post 2397828)
You must be doing it different if it works for player names because reading a non-pointer address (the string) as a pointer, and then referencing from that pointer to get a nonzero/correct address is absolutely ludicrous. Post your player name and I will have a look for you.

~ NOT MY CODE ~
Code:

long unicodeStringObjAddr = ma.ReadLongMemory(addr + 0x10);
int lengthOfString = ma.ReadIntMemory(unicodeStringObjAddr + 0x10);
byte[] b = ma.ReadByteArrayMemory(unicodeStringObjAddr + 0x14, lengthOfString * 2);
return System.Text.Encoding.Unicode.GetString(b);

I'm using this as a reference
Code:

class UnicodeString
{
public:
private:
    char pad_0x0000[0x10]; //0x0000
public:
    __int32 len; //0x0010
    wchar_t data[40]; //0x0014
 
}; //Size=0x0064


HELOHELO121 12th March 2019 02:31 AM

Quote:

Originally Posted by BraydenEGC (Post 2397836)
I am not going to tell you, because I want you to learn, but I will hint that you made a mistake while pasting it and if you look at the basic structure of both of them and compare them you should get it in a nanosecond.

Hm... I haven't a clue. I know it isn't this
Code:

long unicodeStringObjAddr = ma.ReadLongMemory(addr + 0x10);
because addr + 0x10 points to the name string object I also know the ReadLongMemory & ReadIntMemory/Read<> difference doesn't matter because they return the same information. So, when comparing these two snippets I don't see anthing that would hint at why lengthOfString keeps returning 0.

Code:

long unicodeStringObjAddr = ma.ReadLongMemory(addr + 0x10);
int lengthOfString = ma.ReadIntMemory(unicodeStringObjAddr + 0x10);

Code:

long help = ma.Read<long>(loot.ObjectLoot + 0x40);
long help1 = ma.Read<long>(help + 0x20);
long unicodeStringObjAddr = ma.Read<long>(help1 + 0x10);
int lengthOfString = ma.Read<int>(unicodeStringObjAddr + 0x10);


HELOHELO121 12th March 2019 02:49 AM

Quote:

Originally Posted by BraydenEGC (Post 2397893)
Not pasting it correctly. i.e. You literally pasted it and modified the addresses incorrectly somehow. Next level shit right there.

Well that sucks because the length is still 0 and the name is still ""
Code:

long help = ma.Read<long>(loot.ObjectLoot + 0x40);
long help1 = ma.Read<long>(help + 0x20);
long unicodeStringObjAddr = ma.Read<long>(help1 + 0x10);
int lengthOfString = ma.Read<int>(unicodeStringObjAddr + 0x10);
byte[] b = ma.ReadByteArrayMemory(unicodeStringObjAddr + 0x14, lengthOfString * 2);
Console.WriteLine(System.Text.Encoding.Unicode.GetString(b));


BraydenEGC 12th March 2019 02:51 AM

Quote:

Originally Posted by HELOHELO121 (Post 2397898)
~snip~



Do some basic debugging and make sure you are getting all the addresses correctly and verify them in reclass.

HELOHELO121 12th March 2019 04:19 AM

Quote:

Originally Posted by BraydenEGC (Post 2397948)
�he never explains how to get the address of the class we wanna dissect�
Confusion 100. You can literally just print it in console. This shit makes me wanna whack my head against a light switch and hope to fuck I get electrocuted through both my eyes.

Ah, okay I had it confused with something else. Tks

Quote:

Originally Posted by BraydenEGC (Post 2397948)
�he never explains how to get the address of the class we wanna dissect�
Confusion 100. You can literally just print it in console. This shit makes me wanna whack my head against a light switch and hope to fuck I get electrocuted through both my eyes.

Maybe I'm not doing it right but when I enter the localplayer's address (printed using localplayer.addr) in it doesn't work. (Trying to Reverse player class.. still haven't figured out MovementContext offset)

TheMadMin3r 12th March 2019 09:13 AM

Quote:

Originally Posted by HELOHELO121 (Post 2397950)
Maybe I'm not doing it right but when I enter the localplayer's address (printed using localplayer.addr) in it doesn't work. (Trying to Reverse player class.. still haven't figured out MovementContext offset)

If you want help you're going to have give more information. When you say "it doesn't work" what do you mean by that? There are no values there or something else?

Have you attached reclass to the escapefromtarkov process?
Have you converted the address to hex before inputting it into reclass?

elevenelven 12th March 2019 10:40 AM

From my experience.
Shaliuno provided me offsets. But I couldn't implement them until i did thorough debugging.

With great tooling that can be found on UC (EmuTarkov, Reclass) I managed to track what exactly I'm doing. I visualized what ReadFloat, ReadVec3, Ptr are (all these are byte[]).

And finally I took first steps toward dnSpy+Mono dissect.

All this stuff is too complex to throw spaghetti on the wall hoping that something will stick.

But grasping these complex concepts one by one is exciting by itself. If you don't enjoy process, better switch to p2c. Because you will spoil something in your code, trigger detection and get ban.

HELOHELO121 12th March 2019 11:39 PM

Quote:

Originally Posted by TheMadMin3r (Post 2398108)
If you want help you're going to have give more information. When you say "it doesn't work" what do you mean by that? There are no values there or something else?

1. Have you attached reclass to the escapefromtarkov process?
2. Have you converted the address to hex before inputting it into reclass?

1. Yes
2. Yes

The values are appearing but the offsets stay the same no matter what class I'm using. I tried Player, MovementContext, and PlayerProfile class and it returns the same amount of members with the same offsets just different values:
https://imgur.com/4gIdWGB

BraydenEGC 12th March 2019 11:47 PM

Quote:

Originally Posted by HELOHELO121 (Post 2398959)
~snip~



I have no clue what you even think reclass is. It is not CE. You really need to research reclass some more.

BraydenEGC 13th March 2019 02:23 PM

Anyone have some info on how to go about getting the list of doors. I have explored, and there seems to be no list containing a dictionary of doors. (Like players, LootItems, grenades)

TheMadMin3r 13th March 2019 03:24 PM

Quote:

Originally Posted by BraydenEGC (Post 2399527)
Anyone have some info on how to go about getting the list of doors. I have explored, and there seems to be no list containing a dictionary of doors. (Like players, LootItems, grenades)

LocalGameWorld + 0xE8] is EFT.World. There is a dictionary that contains WorldInteractiveObjects in here. When I was searching for this I found that it is only there when in an online raid.

BraydenEGC 13th March 2019 03:31 PM

Quote:

Originally Posted by TheMadMin3r (Post 2399578)
~snip~


Right, thanks for the info. Apparently there is a pointer under the player for what item you are currently interacting with. I will try both. Much love.

HELOHELO121 13th March 2019 10:03 PM

Anyone have the current player rotation chain?
Currently I am using
Code:

Player + 0x38] + 0x1CE]
I have also tried
Code:

Player + 0x10] + 0x30] + 0x30] + 0x8] + 0x38] + 0x1CE]

BraydenEGC 14th March 2019 12:20 AM

Quote:

Originally Posted by HELOHELO121 (Post 2399981)
~snip~

I am using this just fine.
Code:

PlayerAddr -> 0x38 -> 0x1CE

HELOHELO121 14th March 2019 01:04 AM

Quote:

Originally Posted by BraydenEGC (Post 2400085)
I am using this just fine.
Code:

PlayerAddr -> 0x38 -> 0x1CE

Hmm.. It's returning 2.277951E-41 for me..
Code:

        public Vector3 ReadVector(long address)
        {
            Vector3 ret;
            ret.x = ma.ReadFloatMemory(address);
            ret.y = ma.ReadFloatMemory(address + 0x4);
            ret.z = ma.ReadFloatMemory(address + 0x8);
            return ret;
        }

        public float xdGetDirection()
        {
            long ree = ma.ReadLongMemory(addr + 0x38);
            return ReadVector(ree + 0x1CE).x;

        }

I also read it as a float in case 0x1CE is a float instead of a vector
Code:

        public float xdGetDirection()
        {
            long ree = ma.ReadLongMemory(addr + 0x38);
            return ma.ReadFloatMemory(ree + 0x1CE);

        }

Edit: I know the ReadVector func is working because it works when I get a players location:
Code:

return ReadVector(reeeee + 0x90);

BraydenEGC 14th March 2019 01:06 AM

EFT Structs / Offsets
 
Quote:

Originally Posted by HELOHELO121 (Post 2400115)
~snip~


I will double check I am using that chain when I get home. I could have done some changing and forgot.

TheMadMin3r 14th March 2019 08:52 AM

Quote:

Originally Posted by HELOHELO121 (Post 2400115)
Hmm.. It's returning 2.277951E-41 for me..
Code:

        public Vector3 ReadVector(long address)
        {
            Vector3 ret;
            ret.x = ma.ReadFloatMemory(address);
            ret.y = ma.ReadFloatMemory(address + 0x4);
            ret.z = ma.ReadFloatMemory(address + 0x8);
            return ret;
        }

        public float xdGetDirection()
        {
            long ree = ma.ReadLongMemory(addr + 0x38);
            return ReadVector(ree + 0x1CE).x;

        }

I also read it as a float in case 0x1CE is a float instead of a vector
Code:

        public float xdGetDirection()
        {
            long ree = ma.ReadLongMemory(addr + 0x38);
            return ma.ReadFloatMemory(ree + 0x1CE);

        }

Edit: I know the ReadVector func is working because it works when I get a players location:
Code:

return ReadVector(reeeee + 0x90);

Im using player + 0x38] + 0x1FC for rotation


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

HELOHELO121 14th March 2019 10:35 AM

Quote:

Originally Posted by TheMadMin3r (Post 2400306)
Im using player + 0x38] + 0x1FC for rotation

Thanks so much! That worked perfectly!

shaliuno 14th March 2019 02:56 PM

I literally spoofed you with player direction two pages ago.

https://www.unknowncheats.me/forum/2394949-post828.html
https://www.unknowncheats.me/forum/2395020-post835.html

But it seems that makes no sense for most people...


Yeah why bother with that idiot who tells your about dnSpy, ReClass, learning, CheatEngine MonoDissect, when you can just paste stuff and beg for offsets...

B74k 14th March 2019 09:16 PM

Friendly reminder that this thread is for EFT Structs / Offsets. Please stick to the topic. Anyone continuing flaming/spamming/going off-topic risks receiving an infraction.

HELOHELO121 17th March 2019 01:14 AM

Anyone have the current lootitem name chain? Thanks in advance.

BraydenEGC 17th March 2019 01:16 AM

Quote:

Originally Posted by HELOHELO121 (Post 2403123)
~snip~

Just like pretty much everything else you have asked for, it has been posted.

LootItem->0x20->0x18->0x10 (System.String)

HELOHELO121 17th March 2019 04:54 AM

Quote:

Originally Posted by BraydenEGC (Post 2403127)
Just like pretty much everything else you have asked for, it has been posted.

LootItem->0x20->0x18->0x10 (System.String)

Many thanks :)

qazwar 17th March 2019 10:06 AM

Hey. Is it possible to determine the type of loot according to this structure:
Code:

public enum EItemType
{
        // Token: 0x04006BCE RID: 27598
        None,
        // Token: 0x04006BCF RID: 27599
        Ammo,
        // Token: 0x04006BD0 RID: 27600
        Barter,
        // Token: 0x04006BD1 RID: 27601
        Container,
        // Token: 0x04006BD2 RID: 27602
        Food,
        // Token: 0x04006BD3 RID: 27603
        Backpack,
        // Token: 0x04006BD4 RID: 27604
        Goggles,
        // Token: 0x04006BD5 RID: 27605
        Rig,
        // Token: 0x04006BD6 RID: 27606
        Armor,
        // Token: 0x04006BD7 RID: 27607
        Equipment,
        // Token: 0x04006BD8 RID: 27608
        Grenade,
        // Token: 0x04006BD9 RID: 27609
        Info,
        // Token: 0x04006BDA RID: 27610
        Keys,
        // Token: 0x04006BDB RID: 27611
        Knife,
        // Token: 0x04006BDC RID: 27612
        Magazine,
        // Token: 0x04006BDD RID: 27613
        Meds,
        // Token: 0x04006BDE RID: 27614
        Mod,
        // Token: 0x04006BDF RID: 27615
        Special,
        // Token: 0x04006BE0 RID: 27616
        Weapon,
        // Token: 0x04006BE1 RID: 27617
        All
}

I Can't find this flag in memory regarding LotItem

Or perhaps there is another way to determine the type without resorting to string comparison?

PS:Sorry for broken English. Using Google translate)

Ac1d777 18th March 2019 07:01 AM

Quote:

Originally Posted by qazwar (Post 2403385)
Hey. Is it possible to determine the type of loot according to this structure:
Code:

public enum EItemType
{
        // Token: 0x04006BCE RID: 27598
        None,
        // Token: 0x04006BCF RID: 27599
        Ammo,
        // Token: 0x04006BD0 RID: 27600
        Barter,
        // Token: 0x04006BD1 RID: 27601
        Container,
        // Token: 0x04006BD2 RID: 27602
        Food,
        // Token: 0x04006BD3 RID: 27603
        Backpack,
        // Token: 0x04006BD4 RID: 27604
        Goggles,
        // Token: 0x04006BD5 RID: 27605
        Rig,
        // Token: 0x04006BD6 RID: 27606
        Armor,
        // Token: 0x04006BD7 RID: 27607
        Equipment,
        // Token: 0x04006BD8 RID: 27608
        Grenade,
        // Token: 0x04006BD9 RID: 27609
        Info,
        // Token: 0x04006BDA RID: 27610
        Keys,
        // Token: 0x04006BDB RID: 27611
        Knife,
        // Token: 0x04006BDC RID: 27612
        Magazine,
        // Token: 0x04006BDD RID: 27613
        Meds,
        // Token: 0x04006BDE RID: 27614
        Mod,
        // Token: 0x04006BDF RID: 27615
        Special,
        // Token: 0x04006BE0 RID: 27616
        Weapon,
        // Token: 0x04006BE1 RID: 27617
        All
}

I Can't find this flag in memory regarding LotItem

Or perhaps there is another way to determine the type without resorting to string comparison?

PS:Sorry for broken English. Using Google translate)

Ofcource you can't find any ref's to this enum cause uses by UI and Trade stuffs. LootItem and other childs not use this one.

yeswejam 20th March 2019 12:14 PM

Hi, this is my first post and contribution.
Code:

         
                         

                       
                       
                        Current Human Bone Position Offsets:
                       

                    { "BONES_HEAD_X",                        { _playerAddr, 0x500, 0xc0, 0x10, 0x10, 0x38, 0x90 }},
            { "BONES_HEAD_Y",                        { _playerAddr, 0x500, 0xc0, 0x10, 0x10, 0x38, 0x94 }},
            { "BONES_HEAD_Z",                        { _playerAddr, 0x500, 0xc0, 0x10, 0x10, 0x38, 0x98 }},

                        { "BONES_SHOULDER_LEFT_X",        { _playerAddr, 0x500, 0xc8, 0x10, 0x10, 0x38, 0x90 }},
            { "BONES_SHOULDER_LEFT_Y",        { _playerAddr, 0x500, 0xc8, 0x10, 0x10, 0x38, 0x94 }},
            { "BONES_SHOULDER_LEFT_Z",        { _playerAddr, 0x500, 0xc8, 0x10, 0x10, 0x38, 0x98 }},
                       
                        { "BONES_SHOULDER_RIGHT_X", { _playerAddr, 0x500, 0xd0, 0x10, 0x10, 0x38, 0x90 }},
            { "BONES_SHOULDER_RIGHT_Y", { _playerAddr, 0x500, 0xd0, 0x10, 0x10, 0x38, 0x94 }},
            { "BONES_SHOULDER_RIGHT_Z", { _playerAddr, 0x500, 0xd0, 0x10, 0x10, 0x38, 0x98 }},
                       
                        and so on.....
                       
                       
                        Note:
                        The Second Pointer after 0x500 is referencing to following PlayerBone fields
                       
                       
                PlayerBones
                        fields
                                18 : Player (type: EFT.Player)
                                20 : Weapon_Root_Third (type: UnityEngine.Transform)
                                28 : Weapon_Root_Anim (type: UnityEngine.Transform)
                                30 : Neck (type: UnityEngine.Transform)
                                38 : Weapon_reference_point (type: UnityEngine.Transform)
                                168 : R_Neck (type: UnityEngine.Vector3)
                                174 : R_Head (type: UnityEngine.Vector3)
                                40 : Shoulders (type: UnityEngine.Transform[])
                                48 : Shoulders_Anim (type: UnityEngine.Transform[])
                                50 : Upperarms (type: UnityEngine.Transform[])
                                58 : Forearms (type: UnityEngine.Transform[])
                                60 : LeftPalm (type: UnityEngine.Transform)
                                68 : RightPalm (type: UnityEngine.Transform)
                                70 : LootRaycastOrigin (type: UnityEngine.Transform)
                                78 : RootJoint (type: UnityEngine.Transform)
                                80 : HolsterPrimary (type: UnityEngine.Transform)
                                88 : HolsterSecondary (type: UnityEngine.Transform)
                                90 : HolsterPistol (type: UnityEngine.Transform)
                                98 : BendGoals (type: UnityEngine.Transform[])
                                a0 : KickingFoot (type: UnityEngine.Transform)
                                a8 : FovSpecialTransforms (type: UnityEngine.Transform[])
                                b0 : WeaponRoot (type: EFT.BifacialTransform)
                                b8 : Ribcage (type: EFT.BifacialTransform)
                                c0 : Head (type: EFT.BifacialTransform)
                                c8 : LeftShoulder (type: EFT.BifacialTransform)
                                d0 : RightShoulder (type: EFT.BifacialTransform)
                                d8 : LeftThigh2 (type: EFT.BifacialTransform)
                                e0 : RightThigh2 (type: EFT.BifacialTransform)
                                e8 : BodyTransform (type: EFT.BifacialTransform)
                                f0 : AnimatedTransform (type: EFT.BifacialTransform)
                                f8 : Pelvis (type: EFT.BifacialTransform)
                                100 : LeftThigh1 (type: EFT.BifacialTransform)
                                108 : RightThigh1 (type: EFT.BifacialTransform)
                                110 : Spine3 (type: EFT.BifacialTransform)
                                180 : Offset (type: UnityEngine.Vector3)
                                118 : LeftHandCollider (type: BodyPartCollider)
                                120 : Fireport (type: EFT.BifacialTransform)
                                128 : BifacialTransforms (type: System.Collections.Generic.Dictionary<PlayerBoneType,EFT.BifacialTransform>)
                                130 : BodyPartColliders (type: BodyPartCollider[])
                                138 : BodyPartCollidersHashSet (type: System.Collections.Generic.HashSet<UnityEngine.Collider>)
                                18c : ThirdPersonAuthority (type: System.Single)
                                140 : �€€ (type: UnityEngine.AnimationCurve)
                                190 : �€
                               
                               
        :>


12343com 20th March 2019 02:25 PM

Quote:

Originally Posted by qazwar (Post 2403385)
Hey. Is it possible to determine the type of loot according to this structure:
Code:

public enum EItemType
{
        // Token: 0x04006BCE RID: 27598
        None,
        // Token: 0x04006BCF RID: 27599
        Ammo,
        // Token: 0x04006BD0 RID: 27600
        Barter,
        // Token: 0x04006BD1 RID: 27601
        Container,
        // Token: 0x04006BD2 RID: 27602
        Food,
        // Token: 0x04006BD3 RID: 27603
        Backpack,
        // Token: 0x04006BD4 RID: 27604
        Goggles,
        // Token: 0x04006BD5 RID: 27605
        Rig,
        // Token: 0x04006BD6 RID: 27606
        Armor,
        // Token: 0x04006BD7 RID: 27607
        Equipment,
        // Token: 0x04006BD8 RID: 27608
        Grenade,
        // Token: 0x04006BD9 RID: 27609
        Info,
        // Token: 0x04006BDA RID: 27610
        Keys,
        // Token: 0x04006BDB RID: 27611
        Knife,
        // Token: 0x04006BDC RID: 27612
        Magazine,
        // Token: 0x04006BDD RID: 27613
        Meds,
        // Token: 0x04006BDE RID: 27614
        Mod,
        // Token: 0x04006BDF RID: 27615
        Special,
        // Token: 0x04006BE0 RID: 27616
        Weapon,
        // Token: 0x04006BE1 RID: 27617
        All
}

I Can't find this flag in memory regarding LotItem

Or perhaps there is another way to determine the type without resorting to string comparison?

PS:Sorry for broken English. Using Google translate)

try LootItem.\uE00A (EFT.InventoryLogic.Item)

then check what type of class it is or if it inherits from a certain class

many different ways check item type. this probably not best way, but it works.

yeswejam 20th March 2019 04:18 PM

Quote:

Originally Posted by 12343com (Post 2406660)
try LootItem.\uE00A (EFT.InventoryLogic.Item)

then check what type of class it is or if it inherits from a certain class

many different ways check item type. this probably not best way, but it works.


I can only see the possibility to categorize with the templates files and the parentId entity relationship.

I have summarized and formatted the categories from the emutarkov project.

What you need to do in your code is simply comparing the ParentId of the Item with your desired Filter Category ID

The Template reference is a json file and in "EFT.InventoryLogic.Item._template" and looks like this:
Code:

{
                        "_id": "5a7882dcc5856700177af662",
                        "_name": "mag_870_remington_magazie_cap_12g_4",
                        "_parent": "5448bc234bdc2d3c308b4569",
                        "_type": "Item",
                        "_props": {
                                "Name": "mag_870_remington_magazie_cap_12g_4",
                                "ShortName": "mag_870_remington_magazie_cap_12g_4",
                                "Description": "mag_870_remington_magazie_cap_12g_4",
                                "Weight": 0.1,
                                "BackgroundColor": "yellow",
                                "Width": 1,
                                "Height": 1,
                                "StackMaxSize": 1,
                                "Rarity": "Not_exist",
                                "SpawnChance": 10,
                                "CreditsPrice": 1030,
                                "ItemSound": "mag_plastic",
                                "Prefab": {
                                        "path": "assets/content/items/mods/magazines/mag_870_remington_magazie_cap_12g_4.bundle",
                                        "rcid": ""
                                },
                                "UsePrefab": {
                                        "path": "",
                                        "rcid": ""
                                },
                                "StackObjectsCount": 1,
                                "NotShownInSlot": false,
                                "ExaminedByDefault": true,
                                "ExamineTime": 1,
                                "IsUndiscardable": false,
                                "IsUnsaleable": false,
                                "IsUnbuyable": false
........
.....
..



Here the formatted Base Category List.

Code:

Id        ParentId        Categoryname
               
               
5b5f78dc86f77409407a7f8e        null        weapons
5b5f78fc86f77409407a7f90        5b5f78dc86f77409407a7f8e        weapons_assaultrifles
5b5f798886f77447ed5636b5        5b5f78dc86f77409407a7f8e        weapons_botaction
5b5f78e986f77447ed5636b1        5b5f78dc86f77409407a7f8e        weapons_carbines
5b5f791486f774093f2ed3be        5b5f78dc86f77409407a7f8e        weapons_dmr
5b5f79d186f774093f2ed3c2        5b5f78dc86f77409407a7f8e        weapons_gl
5b5f7a0886f77409407a7f96        5b5f78dc86f77409407a7f8e        weapons_melee
5b5f79a486f77409407a7f94        5b5f78dc86f77409407a7f8e        weapons_mg
5b5f792486f77447ed5636b3        5b5f78dc86f77409407a7f8e        weapons_pistols
5b5f794b86f77409407a7f92        5b5f78dc86f77409407a7f8e        weapons_shotguns
5b5f796a86f774093f2ed3c0        5b5f78dc86f77409407a7f8e        weapons_smg
5b5f79eb86f77447ed5636b7        5b5f78dc86f77409407a7f8e        weapons_special
5b5f7a2386f774093f2ed3c4        5b5f78dc86f77409407a7f8e        weapons_throw
               
               
5b47574386f77428ca22b346        null        ammo
5b47574386f77428ca22b33c        5b47574386f77428ca22b346        ammo_boxes
5b47574386f77428ca22b33b        5b47574386f77428ca22b346        ammo_rounds
               
               
5b47574386f77428ca22b33e        null        barter
5b47574386f77428ca22b2ee        5b47574386f77428ca22b33e        barter_building
5b47574386f77428ca22b2ef        5b47574386f77428ca22b33e        barter_electronics
5b47574386f77428ca22b2ed        5b47574386f77428ca22b33e        barter_energy
5b47574386f77428ca22b2f2        5b47574386f77428ca22b33e        barter_flammable
5b47574386f77428ca22b2f0        5b47574386f77428ca22b33e        barter_household
5b47574386f77428ca22b2f3        5b47574386f77428ca22b33e        barter_medical
5b47574386f77428ca22b2f4        5b47574386f77428ca22b33e        barter_others
5b47574386f77428ca22b2f6        5b47574386f77428ca22b33e        barter_tools
5b47574386f77428ca22b2f1        5b47574386f77428ca22b33e        barter_valuables
               
               
5b47574386f77428ca22b33f        null        gear
5b5f701386f774093f2ecf0f        5b47574386f77428ca22b33f        gear_armor
5b5f6f6c86f774093f2ecf0b        5b47574386f77428ca22b33f        gear_backpacks
5b5f6fa186f77409407a7eb7        5b47574386f77428ca22b33f        gear_cases
5b5f704686f77447ec5d76d7        5b47574386f77428ca22b33f        gear_components
5b47574386f77428ca22b32f        5b47574386f77428ca22b33f        gear_facecovers
5b5f6f3c86f774094242ef87        5b47574386f77428ca22b33f        gear_headsets
5b47574386f77428ca22b330        5b47574386f77428ca22b33f        gear_headwear
5b5f6f8786f77447ed563642        5b47574386f77428ca22b33f        gear_rigs
5b5f6fd286f774093f2ecf0d        5b47574386f77428ca22b33f        gear_secured
5b47574386f77428ca22b331        5b47574386f77428ca22b33f        gear_visors
               
               
               
               
5b5f71a686f77447ed5636ab        null        mods
5b5f71b386f774093f2ecf11        5b5f71a686f77447ed5636ab        mods_functional
5b5f750686f774093e6cb503        5b5f71a686f77447ed5636ab        mods_gear
5b5f75b986f77447ec5d7710        5b5f71a686f77447ed5636ab        mods_vital
               
               
5b5f74cc86f77447ec5d770a        5b5f71b386f774093f2ecf11        mod_aux
5b5f71c186f77409407a7ec0        5b5f71b386f774093f2ecf11        mod_bipod
5b5f736886f774094242f193        5b5f71b386f774093f2ecf11        mod_lightlaser
5b5f724186f77447ed5636ad        5b5f71b386f774093f2ecf11        mod_muzzle
               
5b5f751486f77447ec5d770c        5b5f750686f774093e6cb503        mod_charge
5b5f752e86f774093e6cb505        5b5f750686f774093e6cb503        mod_launcher
5b5f754a86f774094242f19b        5b5f750686f774093e6cb503        mod_magazine
5b5f755f86f77447ec5d770e        5b5f750686f774093e6cb503        mod_mount
5b5f757486f774093e6cb507        5b5f750686f774093e6cb503        mod_stock
5b5f759686f774094242f19d        5b5f750686f774093e6cb503        mod_tactical
               
5b5f75c686f774094242f19f        5b5f75b986f77447ec5d7710        mod_barrel
5b5f760586f774093e6cb509        5b5f75b986f77447ec5d7710        mod_gasblock
5b5f75e486f77447ec5d7712        5b5f75b986f77447ec5d7710        mod_handguard
5b5f761f86f774094242f1a1        5b5f75b986f77447ec5d7710        mod_pistolgrip
5b5f764186f77447ec5d7714        5b5f75b986f77447ec5d7710        mod_reciever
5b5f75c686f774094242f19f        5b5f75b986f77447ec5d7710        mod_barrel
5b5f760586f774093e6cb509        5b5f75b986f77447ec5d7710        mod_gasblock
5b5f75e486f77447ec5d7712        5b5f75b986f77447ec5d7710        mod_handguard
5b5f761f86f774094242f1a1        5b5f75b986f77447ec5d7710        mod_pistolgrip
5b5f764186f77447ec5d7714        5b5f75b986f77447ec5d7710        mod_reciever
               
               
               
5b47574386f77428ca22b344        null        medical
5b47574386f77428ca22b33a        5b47574386f77428ca22b344        medical_injectors
5b47574386f77428ca22b339        5b47574386f77428ca22b344        medical_injury
5b47574386f77428ca22b338        5b47574386f77428ca22b344        medical_medkits
5b47574386f77428ca22b337        5b47574386f77428ca22b344        medical_pills
               
               
5b47574386f77428ca22b340        null        provisions
5b47574386f77428ca22b335        5b47574386f77428ca22b340        provisions_drinks
5b47574386f77428ca22b336        5b47574386f77428ca22b340        provisions_food
               
               
5b619f1a86f77450a702a6f3        null        quest
5b47574386f77428ca22b345        null        spec
5b47574386f77428ca22b341        null        info
5b47574386f77428ca22b342        null        keys
5b47574386f77428ca22b343        null        maps
5b5f78b786f77447ed5636af        null        money


BraydenEGC 21st March 2019 01:12 AM

For us external kids, there is a super easy way to find local player. (I was using camera distance before which is a super shit and unoptimized way but it worked)

LocalGame->0x30 (System.String), contains a string which is the current Profile ID of our player.
PlayerProfile->0x10 (System.Stirng), containsa string also with that specific player's Profile ID.

Simply loop through players and compare their Profile IDs. Here is the exact code I am currently using:
Code:

Player GetLocalPlayer()
{
        std::string CurrentProfileID = Objects::LocalGame.GetCurrentProfileID();
        for (int i = 0; i <= Global::NumberofPlayers; i++)
        {
                uint64_t EntityAddr = GetEntityAddr(i);
                if (EntityAddr != 0)
                {
                        Player Entity = Player(EntityAddr);
                        std::string  PlayerProfileID = Entity.GetProfileID();
                        if (CurrentProfileID == PlayerProfileID)
                        {
                                return Entity;
                        }
                }
        }
        return 0;
}


shaliuno 21st March 2019 06:29 AM

@BraydenEGC

LocalPlayer is always first in the Players Table.

BraydenEGC 21st March 2019 06:30 AM

EFT Structs / Offsets
 
Quote:

Originally Posted by shaliuno (Post 2407329)
~snip~



Not when on scav runs. I never scav run. It is for peasants. :)

qazwar 21st March 2019 11:15 AM

Quote:

Originally Posted by BraydenEGC (Post 2407330)
Not when on scav runs. I never scav run. It is for peasants. :)

Code:

if (EFTProcess.ReadMemory<int>(m_pObjectPlayer + 0x18)) 
                                localObjectPlayer = m_pObjectPlayer;


Lystic 21st March 2019 06:52 PM

Quote:

Originally Posted by shaliuno (Post 2407329)
@BraydenEGC

LocalPlayer is always first in the Players Table.

Completely false information. The players entry in the table is almost completely at random. Local player being first is more likely, but sometimes it is second or third as well.

BraydenEGC 21st March 2019 06:53 PM

Quote:

Originally Posted by Lystic (Post 2407916)
~snip~



It is usually first when not scav running.

shaliuno 21st March 2019 09:27 PM

Quote:

Originally Posted by Lystic (Post 2407916)
Completely false information. The players entry in the table is almost completely at random. Local player being first is more likely, but sometimes it is second or third as well.

Hmm... Didn't know that.
Guess I was just lucky then.

Xingyiayoyu 22nd March 2019 10:51 AM

Someone knows how to do nightvision and no visor?

BraydenEGC 23rd March 2019 12:54 PM

Quote:

Originally Posted by Xingyiayoyu (Post 2408561)
~snip~



Mono-Internal or Internal/External?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

albanninou 23rd March 2019 07:42 PM

Hello all , sorry for this question but which software do you use for find offset ?
Thx for your answer. Have a nice day :)

BraydenEGC 23rd March 2019 07:43 PM

Quote:

Originally Posted by albanninou (Post 2410107)
~snip~



Mono-Dissect, DnSpy, and a tad bit of IDA.

albanninou 23rd March 2019 09:54 PM

:( i try since 2 hour found the new offset of profil and nickname but i'm too bad :( . how you do when class is name \uE540 or when on dnSpy he dont say you the offset of the field ?

shaliuno 23rd March 2019 11:15 PM

Just read this thread man...
@albanninou
https://www.unknowncheats.me/forum/2394949-post828.html
https://www.unknowncheats.me/forum/2395020-post835.html

albanninou 23rd March 2019 11:28 PM

Thx a lot @shaliuno

I have found the field but i dont understand how get offset https://i.imgur.com/nWsA0Eq.png

BraydenEGC 24th March 2019 05:36 PM

Quote:

Originally Posted by albanninou (Post 2410960)
~snip~

It doesn't really take that long. It just takes patience and perseverance.

Some tips for your trip:
1) Cache players/items using one thread and render them using another.
2) Multithreading is a must in this game.
3) When caching, make sure to use references to avoid making copies of an existing objects.
4) Try to be as generally optimized as possible. (You can research it online)
5) Don't get discouraged when you mess up or something doesn't work. It is a fact of coding that eventually, something is going to break.
6) I personally recommend coding in c++. It is much quicker, and MUCH more powerful than c#. However, there is an abundance of c# cheats compared to c++ cheats here on UC.

albanninou 24th March 2019 05:55 PM

I'm never discouraged ;) . Thx again for all tips ;) I'm disappointed i dont give you rep :'(

Thx @BraydenEGC and @shaliuno , i have understand how it's work for find offset , i can say you now the offset for nick name it's p->0x470->0x28->0x10. Thx a lot :) Have a nice day

Xingyiayoyu 25th March 2019 03:54 AM

Quote:

Originally Posted by BraydenEGC (Post 2409746)
Mono-Internal or Internal/External?

Internal

BraydenEGC 25th March 2019 03:57 AM

Quote:

Originally Posted by Xingyiayoyu (Post 2411475)
~snip~

I would have to look into the nightvisioncontroller and the faceshieldcontroller (I think that is what they are called). They are both under your player's class. Check them out using mono-dissect and tell me if you find anything interesting.

albanninou 25th March 2019 07:54 PM

It's possible get position on Transform ? because they call external functions for return the position

BraydenEGC 25th March 2019 09:35 PM

Quote:

Originally Posted by albanninou (Post 2412144)
~snip~

If I understand your question correctly, this.
(Unity) External bone position from Transform

Same concept for EFT.

HELOHELO121 28th March 2019 09:36 PM

Does anyone have the chain for getting a player's currently equipped weapon?

BraydenEGC 28th March 2019 09:43 PM

Quote:

Originally Posted by HELOHELO121 (Post 2415319)
~snip~

IIRC, There were pointers for Slot 1 & 2 under PlayerBody as of a few updates ago. (This could be inaccurate because I have been on vacation)

HELOHELO121 28th March 2019 10:21 PM

Quote:

Originally Posted by BraydenEGC (Post 2415326)
IIRC, There were pointers for Slot 1 & 2 under PlayerBody as of a few updates ago. (This could be inaccurate because I have been on vacation)

I'm having trouble finding that as a member of PlayerBody.. I'll keep looking. Let me know if you figure it out!

HELOHELO121 29th March 2019 11:00 PM

Could someone tell me if my player's primary weapon name chain is correct? It's not working correctly for me so the chain could be off or I could be reading the string wrong.
Player + 0x48] + 0x30] + 0x10] + 0x28] + 0x30] + 0x20] + 0x20] + 0x58] + 0x14]
thanks in advance

niceone1 31st March 2019 02:27 PM

Does someone know a way to get the items in a LootItem/EFT.InventoryLogic.Item like a backpack?

boristhemoris 1st April 2019 01:59 PM

Can anyone share the gom for latest patch? tried looking for it here but only found outdated ones

TheMaoci 1st April 2019 03:00 PM

Quote:

Originally Posted by CorreyWho (Post 1810680)
Who can lead me in the direction of getting a free hack. Can't seem to find one anywhere.

i will not try to sell anything bad but copy paste or download run won't help in this case.

mikangchan 1st April 2019 08:56 PM

Quote:

Originally Posted by boristhemoris (Post 2419086)
Can anyone share the gom for latest patch? tried looking for it here but only found outdated ones

there are all information needed in this subforum plus sources

matvei 2nd April 2019 05:43 AM

Quote:

Originally Posted by boristhemoris (Post 2419086)
Can anyone share the gom for latest patch? tried looking for it here but only found outdated ones

Code:

EscapeFromTarkov.exe + 0x1432840


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

HELOHELO121 2nd April 2019 11:41 AM

Can anyone give me the current offset for Group_ID?
Currently I am using
PlayerInfo + 0x18] (System.String)
but it's returning empty.

qazwar 2nd April 2019 09:18 PM

Quote:

Originally Posted by HELOHELO121 (Post 2420101)
Can anyone give me the current offset for Group_ID?
Currently I am using
PlayerInfo + 0x18] (System.String)
but it's returning empty.

Code:

class System_String
{
public:
    char pad_0x0000[0x10]; //0x0000
        __int32 Length; //0x0010
        wchar_t String[Length*2]; //0x0014
};

System_String Group_ID = PlayerInfo + 0x18

HELOHELO121 3rd April 2019 08:50 AM

Quote:

Originally Posted by qazwar (Post 2420699)
Code:

class System_String
{
public:
    char pad_0x0000[0x10]; //0x0000
        __int32 Length; //0x0010
        wchar_t String[Length*2]; //0x0014
};

System_String Group_ID = PlayerInfo + 0x18

I am reading strings that way and I'm using the same readstringmemory func for getting a player's name and it works fine.

Edit: Here's the function I am using for reading all unicode strings:
Code:

        public string UReadString(long ptr)
        {
            long unicodeStringObjAddr = ReadLongMemory(ptr);
            int length = ReadIntMemory(unicodeStringObjAddr + 0x10);
            byte[] b = ReadByteArrayMemory(unicodeStringObjAddr + 0x14, length * 2);
            return System.Text.Encoding.Unicode.GetString(b);
        }


lofaq 9th April 2019 07:32 PM

Does someone has actual offsets?

BraydenEGC 9th April 2019 07:44 PM

Quote:

Originally Posted by lofaq (Post 2428648)
~snip~


They are all in this thread...?

elevenelven 9th April 2019 07:45 PM

Hello! Could anyone help me with chain:
vector<uint64_t> playerPositionShift = {0x10, 0x30, 0x30, 0x08, 0x38, 0x90};
This was valid for 11.5

Not valid for 11.7

Question is how to validate this chain with MonoDump+Reclass.

lumungus 9th April 2019 07:47 PM

Quote:

Originally Posted by BraydenEGC (Post 2428652)
They are all in this thread...?

There have been a big update tonight, some changed

I have got:

lootlist: localgameworld + 0x48
playerlist: localgameworld + 0x60
playerprofil: 0x480
healthcontroller: 0x4B0

Something in the bones must have changed though but I can't find what, if anyone with more knowledge can help

BraydenEGC 9th April 2019 07:49 PM

Quote:

Originally Posted by lumungus (Post 2428657)
~snip~


I haven�t played EFT in a while, so I had no clue there was an update. Anyways, have you dumped via monodissect?

lumungus 9th April 2019 07:52 PM

Quote:

Originally Posted by BraydenEGC (Post 2428659)
I haven�t played EFT in a while, so I had no clue there was an update. Anyways, have you dumped via monodissect?

I suck at reversing. If I told you how I found those new offsets, you would puke and insult me

BraydenEGC 9th April 2019 07:53 PM

Quote:

Originally Posted by lumungus (Post 2428665)
~snip~



Monodissect is easier to use than cheat engine. Not even kidding. You can get most offsets with about 3 mouse clicks.

lofaq 9th April 2019 08:09 PM

Is it safe to open the CE and mono dissector?

BraydenEGC 9th April 2019 08:11 PM

Quote:

Originally Posted by lofaq (Post 2428677)
~snip~



Go into offline mode and you are safe from almost everything.

elevenelven 9th April 2019 08:33 PM

Two questions:

1. offset to have XYZ position of player?
2. how to find corpse in 11.7 (it's not in lootList anymore)?

qazwar 9th April 2019 08:34 PM

Quote:

Originally Posted by lumungus (Post 2428657)
There have been a big update tonight, some changed

I have got:

lootlist: localgameworld + 0x48
playerlist: localgameworld + 0x60
playerprofil: 0x480
healthcontroller: 0x4B0

Something in the bones must have changed though but I can't find what, if anyone with more knowledge can help

nothing has changed in the bones. everything is as it was.In addition to you specified changes, changed the position data (0x10, 0x30, 0x30, 0x8, 0x38 - >90)
https://i.imgur.com/Y4dKZQr.png

lumungus 9th April 2019 08:43 PM

Quote:

Originally Posted by qazwar (Post 2428700)
In addition to you specified changes, changed the position data (0x10, 0x30, 0x30, 0x8, 0x38 - >90)

Position of what? It is weird, my bones are not working anymore and I haven't changed anything, was working fine 2 days ago before the update

Edit: anyway it is fixed, was something else, still don't understand what the hell is happening but it is fixed

elevenelven 9th April 2019 09:01 PM

Quote:

Originally Posted by qazwar (Post 2428700)
nothing has changed in the bones. everything is as it was.In addition to you specified changes, changed the position data (0x10, 0x30, 0x30, 0x8, 0x38 - >90)
https://i.imgur.com/Y4dKZQr.png

Much appreciated for this info. Could you also specify, how to track this chain in MonoDissect?

Corpses are in a lot list. But their XYZ is somewhere else

mikangchan 9th April 2019 10:21 PM

Quote:

Originally Posted by elevenelven (Post 2428729)
Much appreciated for this info. Could you also specify, how to track this chain in MonoDissect?

Corpses are in a lot list. But their XYZ is somewhere else

corpses are Corpse which basically is a LootItem object with _pelvis

elevenelven 9th April 2019 10:35 PM

Quote:

Originally Posted by mikangchan (Post 2428794)
corpses are Corpse which basically is a LootItem object with _pelvis

Agree. But after patch all corpse have XYZ (0;0;0), which led me to conclusion Corpse have different XYZ offset in 11.7 (loot items stays the same)

Lystic 9th April 2019 11:53 PM

Quote:

Originally Posted by BraydenEGC (Post 2410965)
It doesn't really take that long. It just takes patience and perseverance.

Some tips for your trip:
1) Cache players/items using one thread and render them using another.
2) Multithreading is a must in this game.
3) When caching, make sure to use references to avoid making copies of an existing objects.
4) Try to be as generally optimized as possible. (You can research it online)
5) Don't get discouraged when you mess up or something doesn't work. It is a fact of coding that eventually, something is going to break.
6) I personally recommend coding in c++. It is much quicker, and MUCH more powerful than c#. However, there is an abundance of c# cheats compared to c++ cheats here on UC.

Other than kernel development, C# can do anything C++ can, but slower. :^)

To keep this on topic,

Hands controller has increased by 0x10, 0x4C8 now

HELOHELO121 10th April 2019 12:04 AM

Has the player location vector chain changed?
I Have
Player + 0x10] + 0x30] + 0x30] + 0x8] + 0x38] + 0x90]
But the vector is (0,0,0)


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

Lystic 10th April 2019 12:08 AM

Quote:

Originally Posted by HELOHELO121 (Post 2428856)
Has the player location vector chain changed?
I Have
Player + 0x10] + 0x30] + 0x30] + 0x8] + 0x38] + 0x90]
But the vector is (0,0,0)

I am having the same issue now, will post if I figure out the new chain.

If anyone has this please dear god.

dler4 10th April 2019 12:32 AM

Quote:

Originally Posted by HELOHELO121 (Post 2428856)
Has the player location vector chain changed?
I Have
Player + 0x10] + 0x30] + 0x30] + 0x8] + 0x38] + 0x90]
But the vector is (0,0,0)

You can use player + 0x38] + 0x68

But agreed, I could use that new chain too for other transforms if anyone has it

Lystic 10th April 2019 12:47 AM

It is weird. The original chain works for Loot Items.

HELOHELO121 10th April 2019 01:02 AM

Quote:

Originally Posted by Lystic (Post 2428859)
I am having the same issue now, will post if I figure out the new chain.

If anyone has this please dear god.

Until someone figures it out I am using
Player + 0x38] + 0x68] (Vector3)
and it works just fine.

ppin 10th April 2019 03:13 AM

what is the GOM?

dracorx 10th April 2019 03:26 AM

Is this still the right bone chain? seems broken for me

Code:

Player + 0x88 (playerbody) + 0x28 + 0x28 + 0x10 + 0x20 + bone_id * 8

elevenelven 10th April 2019 05:43 AM

Quote:

Originally Posted by HELOHELO121 (Post 2428856)
Has the player location vector chain changed?
I Have
Player + 0x10] + 0x30] + 0x30] + 0x8] + 0x38] + 0x90]
But the vector is (0,0,0)

Was mentioned before:

Player + 0x10] + 0x30] + 0x30] + 0x8] + 0x90] + 0x90]

But I cannot confirm that, since it points me to bogus values.

lofaq 10th April 2019 08:34 AM

Quote:

Originally Posted by elevenelven (Post 2428975)

Player + 0x10] + 0x30] + 0x30] + 0x8] + 0x90] + 0x90]

does not work

matvei 10th April 2019 08:46 AM

Quote:

Originally Posted by dracorx (Post 2428938)
Is this still the right bone chain? seems broken for me

Code:

Player + 0x88 (playerbody) + 0x28 + 0x28 + 0x10 + 0x20 + bone_id * 8

Code:

player + 0x88] + 0x28] + 0x18] + 0x28] + (0x20 + 0x8 * index)]
Quote:

Originally Posted by ppin (Post 2428931)
what is the GOM?

Code:

EscapeFromTarkov.exe + 0x1432840

EmhyrVarEmreis 10th April 2019 01:04 PM

Quote:

Originally Posted by lofaq (Post 2429035)
does not work

Yes, It doeas not work.
If anyone knows new offsets for player position, let us know, please :D

BraydenEGC 10th April 2019 02:06 PM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2429198)
~snip~



Player + 0x38] + 0x68

EmhyrVarEmreis 10th April 2019 02:18 PM

Quote:

Originally Posted by BraydenEGC (Post 2429265)
Player + 0x38] + 0x68

It's working replacement, but this vector is updated only when main player is looking towards the enemy, so it is helpful, but only partially :/

kkkcrs 10th April 2019 02:22 PM

Yeah, I can confirm that the more complicated offset is always active with a player postition.

BraydenEGC 10th April 2019 02:24 PM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2429271)
~snip~



I guess I will sit down and look when I get home tonight if no one has released it.

matvei 10th April 2019 03:47 PM

Just use position of bones.

EmhyrVarEmreis 10th April 2019 04:01 PM

Quote:

Originally Posted by BraydenEGC (Post 2429274)
I guess I will sit down and look when I get home tonight if no one has released it.

It would be great. I tried looking it with ReClass with no success. Now I'm learning how to use mono.

Quote:

Originally Posted by matvei (Post 2429360)
Just use position of bones.

It's good idea.

BraydenEGC 10th April 2019 04:33 PM

Until someone releases the non-bone position, just use (LFoot.x +RFoot.x) / 2 and (LFoot.y + RFoot.y) / 2 as the algorithm to get the position of a player.

TheMadMin3r 10th April 2019 05:09 PM

If you use PlayerBones stored in player there is one called playerbase or something along the lines of that. I believe the offset was player + 0x510] + 0xE8 (Not sure about this one as not on PC, just look using CE or something) read that as you would a bone.

EmhyrVarEmreis 10th April 2019 06:56 PM

Quote:

Originally Posted by TheMadMin3r (Post 2429450)
If you use PlayerBones stored in player there is one called playerbase or something along the lines of that. I believe the offset was player + 0x510] + 0xE8 (Not sure about this one as not on PC, just look using CE or something) read that as you would a bone.

Ok. I know how to get proper bones, but how to gen bone location vector when I know bone address? I can't find that.

Lystic 10th April 2019 09:02 PM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2429539)
Ok. I know how to get proper bones, but how to gen bone location vector when I know bone address? I can't find that.

INTERNAL_get_position


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

EmhyrVarEmreis 10th April 2019 11:04 PM

Quote:

Originally Posted by Lystic (Post 2429683)
INTERNAL_get_position

I saw that, but I have no idea how to translate it to anuther language. It is possible to get offsers road to position vector?

mikangchan 10th April 2019 11:34 PM

Quote:

Originally Posted by dracorx (Post 2428938)
Is this still the right bone chain? seems broken for me

Code:

Player + 0x88 (playerbody) + 0x28 + 0x28 + 0x10 + 0x20 + bone_id * 8

works for me

Lystic 10th April 2019 11:54 PM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2429779)
I saw that, but I have no idea how to translate it to anuther language. It is possible to get offsers road to position vector?

What language? I converted it to C# Using System.Numerics.Vectors for SIMD operation.s

EmhyrVarEmreis 11th April 2019 12:28 AM

Quote:

Originally Posted by Lystic (Post 2429803)
What language? I converted it to C# Using System.Numerics.Vectors for SIMD operation.s

Java :dance:

It seems that there is no simple position vector in bone, but it needs transformation to get actual position on map. Am I correct?

yeswejam 11th April 2019 04:27 AM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2429820)
Java :dance:

It seems that there is no simple position vector in bone, but it needs transformation to get actual position on map. Am I correct?

Yes, you have to extract the return of the internal call "UnityEngine.Transform internal_getPosition"

Here is how i'm doing it.

First of all the BodyParts Enums

Code:

        private enum eHumanBones
        {
            HumanPelvis      = 14,
                    HumanLThigh1    = 15,
                    HumanLThigh2    = 16,
                    HumanLCalf      = 17,
                    HumanLFoot      = 18,
                    HumanLToe        = 19,
                    HumanRThigh1    = 20,
                    HumanRThigh2    = 21,
                    HumanRCalf      = 22,
                    HumanRFoot      = 23,
                    HumanRToe        = 24,
                    HumanSpine1      = 29,
                    HumanSpine2      = 36,
                    HumanSpine3      = 37,
                    HumanLCollarbone = 89,
                    HumanLUpperarm  = 90,
                    HumanLForearm1  = 91,
                    HumanLForearm2  = 92,
                    HumanLForearm3  = 93,
                    HumanLPalm      = 94,
                    HumanRCollarbone = 110,
                    HumanRUpperarm  = 111,
                    HumanRForearm1  = 112,
                    HumanRForearm2  = 113,
                    HumanRForearm3  = 114,
                    HumanRPalm      = 115,
                    HumanNeck        = 132,
                    HumanHead        = 133
        };


The BodyPart offsets:

Code:

{ "HumanPelvis",        new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanPelvis } } } },
            { "HumanLThigh1",      new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanLThigh1 } } } },
            { "HumanLThigh2",      new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanLThigh2 } } } },
            { "HumanLCalf",        new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanLCalf } } } },
            { "HumanLFoot",        new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanLFoot } } } },
            { "HumanLToe",          new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanLToe } } } },
            { "HumanRThigh1",      new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanRThigh1 } } } },
            { "HumanRThigh2",      new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanRThigh2 } } } },
            { "HumanRCalf",        new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanRCalf } } } },
            { "HumanRFoot",        new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanRFoot } } } },
            { "HumanRToe",          new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanRToe } } } },
            { "HumanSpine1",        new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanSpine1 } } } },
            { "HumanSpine2",        new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanSpine2 } } } },
            { "HumanSpine3",        new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanSpine3 } } } },
            { "HumanLCollarbone",  new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanLCollarbone } } } },
            { "HumanLUpperarm",    new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanLUpperarm } } } },
            { "HumanLForearm1",    new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanLForearm1 } } } },
            { "HumanLForearm2",    new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanLForearm2 } } } },
            { "HumanLForearm3",    new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanLForearm3 } } } },
            { "HumanLPalm",        new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanLPalm } } } },
            { "HumanRCollarbone",  new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanRCollarbone } } } },
            { "HumanRUpperarm",    new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanRUpperarm } } } },
            { "HumanRForearm1",    new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanRForearm1 } } } },
            { "HumanRForearm2",    new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanRForearm2 } } } },
            { "HumanRForearm3",    new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanRForearm3 } } } },
            { "HumanRPalm",        new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanRPalm } } } },
            { "HumanNeck",          new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanNeck } } } },
            { "HumanHead",          new Dictionary<int, int[]>{ { 4, new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int) eHumanBones.HumanHead } } } },




The Draw Chain

Code:


        private static string[] lowerBody = new string[11]{
            "HumanLToe",
            "HumanLFoot",
            "HumanLCalf",
            "HumanLThigh2",
            "HumanLThigh1",
            "HumanPelvis",
            "HumanRThigh1",
            "HumanRThigh2",
            "HumanRCalf",
            "HumanRFoot",
            "HumanRToe",
        };
        private static  string[] midBody = new string[10]{
            "HumanRPalm",
            "HumanRForearm2",
            "HumanRForearm1",
            "HumanRUpperarm",
            "HumanRCollarbone",
            "HumanLCollarbone",
            "HumanLUpperarm",
            "HumanLForearm1",
            "HumanLForearm2",
            "HumanLPalm",
        };
        private static string[] upperBody = new string[4]{
            "HumanHead",
            "HumanNeck",
            "HumanSpine2",
            "HumanPelvis",
        };

The actual internal_getPosition extractor.
It was posted in the RUST structs Thread once awhile, but i had to modify it to get it working.

Code:



    private class TransformData
    {
        public ulong pTransformArray;
        public ulong pTransformIndices;
    }
    private struct Matrix34
    {
        private Vector4f vec0;
        private Vector4f vec1;
        private Vector4f vec2;
    };


        private unsafe Vector3 GetBonePosition(IntPtr transform)
        {



            IntPtr transform_internal = IntPtr.Add(transform, 0x10);
            if (!Base.IsValid(transform_internal.ToInt64()))
                return new Vector3();

            IntPtr pMatrix = Base.GetPtr(transform_internal, new int[] { 0x38 });
            int index = Memory.Read<int>(Base.GetPtr(transform_internal, new int[] { 0x38 + sizeof(UInt64) }).ToInt64());
            if (!Base.IsValid(pMatrix.ToInt64()))
                return new Vector3();

            IntPtr matrix_list_base = Base.GetPtr(pMatrix, new int[] { 0x8 });
            if (!Base.IsValid(matrix_list_base.ToInt64()))
                return new Vector3();

            IntPtr dependency_index_table_base = Base.GetPtr(pMatrix, new int[] { 0x10 });
            if (!Base.IsValid(dependency_index_table_base.ToInt64()))
                return new Vector3();


            byte[] pMatricesBuff = Memory.ReadBytes(Base.GetPtr(matrix_list_base, new int[] { 0 }).ToInt64(), (sizeof(Matrix34) * index) + sizeof(Matrix34));
            GCHandle pMatricesBufff = GCHandle.Alloc(pMatricesBuff, GCHandleType.Pinned);
            void* pMatricesBuf = pMatricesBufff.AddrOfPinnedObject().ToPointer();


            byte[] pIndicesBuff = Memory.ReadBytes(Base.GetPtr(dependency_index_table_base, new int[] { 0 }).ToInt64(), sizeof(int) * index + sizeof(int));
            GCHandle pIndicesBufff = GCHandle.Alloc(pIndicesBuff, GCHandleType.Pinned);
            void* pIndicesBuf = pIndicesBufff.AddrOfPinnedObject().ToPointer();



            Vector4f result = *(Vector4f*)((UInt64)pMatricesBuf + 0x30 * (UInt64)index);

            int index_relation = *(int*)((UInt64)pIndicesBuf + 0x4 * (UInt64)index);

            Vector4f xmmword_1410D1340 = new Vector4f(-2.0f, 2.0f, -2.0f, 0.0f);
            Vector4f xmmword_1410D1350 = new Vector4f(2.0f, -2.0f, -2.0f, 0.0f);
            Vector4f xmmword_1410D1360 = new Vector4f(-2.0f, -2.0f, 2.0f, 0.0f);

            int tries = 10000;
            int tried = 0;

            try
            {
                while (index_relation >= 0)
                {

                    if (tried++ > tries) break;
                    Matrix34 matrix34 = *(Matrix34*)((UInt64)pMatricesBuf + (0x30 * (UInt64)index_relation));

                    Vector4f v10 = matrix34.vec2 * result;
                    Vector4f v11 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(0)));
                    Vector4f v12 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(85)));
                    Vector4f v13 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-114)));
                    Vector4f v14 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-37)));
                    Vector4f v15 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-86)));
                    Vector4f v16 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(113)));
                    result = (((((((v11 * xmmword_1410D1350) * v13) - ((v12 * xmmword_1410D1360) * v14)) * VectorOperations.Shuffle(v10, (ShuffleSel)(-86))) +
                            ((((v15 * xmmword_1410D1360) * v14) - ((v11 * xmmword_1410D1340) * v16)) * VectorOperations.Shuffle(v10, (ShuffleSel)(85)))) +
                            (((((v12 * xmmword_1410D1340) * v16) - (v15 * xmmword_1410D1350 * v13)) * VectorOperations.Shuffle(v10, (ShuffleSel)(0))) + v10)) + matrix34.vec0);

                    index_relation = *(int*)((UInt64)pIndicesBuf + 0x4 * (UInt64)index_relation);
                }
                pIndicesBufff.Free();
                pMatricesBufff.Free();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }


            return new Vector3(result.X, result.Y, result.Z);

        }
    }



And here the result.
Good luck and have fun :>

https://imgur.com/a/ooJ8dXX

BraydenEGC 11th April 2019 05:09 AM

Quote:

Originally Posted by yeswejam (Post 2429940)
~snip~

Nice release for the C# (:puke:) users.

dracorx 11th April 2019 07:20 AM

Quote:

Originally Posted by mikangchan (Post 2429795)
works for me

Yup, my sig for getintpos broke.

PutinIsLove 11th April 2019 07:25 AM

Quote:

Originally Posted by yeswejam (Post 2429940)
Yes, you have to extract the return of the internal call "UnityEngine.Transform internal_getPosition"

Thanks, could you share your Memory.ReadBytes function with 3 parameters tho ?

Cheers !

yeswejam 11th April 2019 08:03 AM

Quote:

Originally Posted by PutinIsLove (Post 2430043)
Thanks, could you share your Memory.ReadBytes function with 3 parameters tho ?

Cheers !

Here you go :>

ReadBytes has only 2 args btw;


Code:

        public static byte[] ReadBytes(long address, Int32 bufferSize)
        {

            IntPtr processHandle = OpenProcess(PROCESS_WM_READ, false, p.Id);

            int bytesRead = 0;

            unsafe
            {
                byte[] buf = new byte[bufferSize];

 
                ReadProcessMemory((int)processHandle, address, buf, bufferSize, ref bytesRead);

                return buf;
            }
        }


PutinIsLove 11th April 2019 12:05 PM

Quote:

Originally Posted by yeswejam (Post 2430070)
Here you go :>

ReadBytes has only 2 args btw;


Code:

        public static byte[] ReadBytes(long address, Int32 bufferSize)
        {

            IntPtr processHandle = OpenProcess(PROCESS_WM_READ, false, p.Id);

            int bytesRead = 0;

            unsafe
            {
                byte[] buf = new byte[bufferSize];

 
                ReadProcessMemory((int)processHandle, address, buf, bufferSize, ref bytesRead);

                return buf;
            }
        }


Thanks again !

Have u ever had a "System.AccessViolationException" on that line ?

Vector4f result = *(Vector4f*)((UInt64)pMatricesBuf + 0x30 * (UInt64)index);

yeswejam 11th April 2019 12:33 PM

Quote:

Originally Posted by PutinIsLove (Post 2430242)
Thanks again !

Have u ever had a "System.AccessViolationException" on that line ?

Vector4f result = *(Vector4f*)((UInt64)pMatricesBuf + 0x30 * (UInt64)index);

Yes, in one raid out of maybe 60-70 online raids on customs.

3 Scavs were somehow corrupted.
With every thrown exception, i've had checked the Scav's name inside the GetBonePosition and returned directly a new Vector3.

It didn't happen again for the last 40 raids and therefor i did not investigate furthermore.

Code:

        private unsafe Vector3 GetBonePosition(IntPtr transform)
        {
            if (nickname == " адик Куче явый" || nickname == "Миха Угол" || nickname == "Шу а Викинг") return new Vector3();


If this happen to you constantly, check if you're passing the right Transform pointer to the function.

PutinIsLove 11th April 2019 12:41 PM

Quote:

Originally Posted by yeswejam (Post 2430264)
Yes, in one raid out of maybe 60-70 online raids on customs.

3 Scavs were somehow corrupted.
With every thrown exception, i've had checked the Scav's name inside the GetBonePosition and returned directly a new Vector3.

It didn't happen again for the last 40 raids and therefor i did not investigate furthermore.

Code:

        private unsafe Vector3 GetBonePosition(IntPtr transform)
        {
            if (nickname == " адик Куче явый" || nickname == "Миха Угол" || nickname == "Шу а Викинг") return new Vector3();


If this happen to you constantly, check if you're passing the right Transform pointer to the function.

Humm thanks , it does happen to me constantly so it must be something on my side !

Test with head ID (133)

Passing M.Read<IntPtr>(player + 0x88]+0x28]+0x28]+0x10]+0x20+0x8*133])

It should work right ?

BTW is it ok to use mono.simd for the vector4f and the operations ?

Thx

EDIT

Nvm I fixed my issue, it was just a stupid mistake on my side ! Thanks a lot buddy ! :flowers1:

yeswejam 11th April 2019 12:54 PM

Quote:

Originally Posted by PutinIsLove (Post 2430270)
Nvm I fixed my issue, it was just a stupid mistake on my side ! Thanks a lot buddy !

Cool :>
Glad i could help out.

nxyexiong 11th April 2019 02:19 PM

how do you get corpse position now?

lumungus 11th April 2019 05:30 PM

Quote:

Originally Posted by yeswejam (Post 2430264)
Yes, in one raid out of maybe 60-70 online raids on customs.

3 Scavs were somehow corrupted.
With every thrown exception, i've had checked the Scav's name inside the GetBonePosition and returned directly a new Vector3.

It didn't happen again for the last 40 raids and therefor i did not investigate furthermore.

Code:

        private unsafe Vector3 GetBonePosition(IntPtr transform)
        {
            if (nickname == " адик Куче явый" || nickname == "Миха Угол" || nickname == "Шу а Викинг") return new Vector3();


If this happen to you constantly, check if you're passing the right Transform pointer to the function.

I have the same problem, here is how I fixed it before 11.7:

Code:

            if (index_relation >= 200)
            {
                Marshal.FreeHGlobal(pMatricesBufPtr);
                Marshal.FreeHGlobal(pIndicesBufPtr);
                return new Vector3();
            }

Now in 11.7, if I use this check I can't get any bones anymore. I have to either remove the check or set 200 to 20000. Eitherway, the bug is back and it is anoying. I am looking for a new solution

elevenelven 11th April 2019 07:29 PM

New hotfix 11.7.2994 , Player.profile shifted, everything else stays the same:

490: _profile(type EFT.Profile)

EmhyrVarEmreis 11th April 2019 07:35 PM

Quote:

Originally Posted by yeswejam (Post 2429940)
~snip~

Thank you, I'll try to implement it in my code.
But of course it would be great if someone found simple offsets chain for player position :/

PutinIsLove 11th April 2019 08:14 PM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2430673)
Thank you, I'll try to implement it in my code.
But of course it would be great if someone found simple offsets chain for player position :/

Just use bone position mate !

ppin 11th April 2019 09:44 PM

anyone have
Code:

ReadLongMemory
?

i currently have
Code:

ReadLongMemory(addr + 0x10);
but it throws an error

PutinIsLove 11th April 2019 10:12 PM

Quote:

Originally Posted by ppin (Post 2430800)
anyone have
Code:

ReadLongMemory
?

i currently have
Code:

ReadLongMemory(addr + 0x10);
but it throws an error

What do you mean ? Could you be more specific ?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

HELOHELO121 11th April 2019 10:37 PM

Quote:

Originally Posted by ppin (Post 2430800)
anyone have
Code:

ReadLongMemory
?

i currently have
Code:

ReadLongMemory(addr + 0x10);
but it throws an error

What are you trying to read?

mikangchan 12th April 2019 01:08 AM

how do you get localgameworld internally?
i tried looping the active object list and but I get fps dropped to 6(which shouldn't be)

liquidace 12th April 2019 01:29 AM

Quote:

Originally Posted by mikangchan (Post 2430915)
how do you get localgameworld internally?
i tried looping the active object list and but I get fps dropped to 6(which shouldn't be)

put it in its own thread

Whats up with aim being so far off center?

https://i.imgur.com/8QlgOcQ.png

Pepethesheepie 12th April 2019 05:21 AM

Quote:

Originally Posted by liquidace (Post 2430922)
put it in its own thread

Whats up with aim being so far off center?

https://i.imgur.com/8QlgOcQ.png

It depends a lot on what gun you use. I used a weird sawed-off mosin inf. on a scav run. It didn't have a stock either and the aim wasn't the middle of my screen, or even remotely close to the center, it was way low, the equivalent of hip firing but while ADS.

ppin 12th April 2019 05:32 AM

Quote:

Originally Posted by HELOHELO121 (Post 2430837)
What are you trying to read?

Quote:

Originally Posted by PutinIsLove (Post 2430821)
What do you mean ? Could you be more specific ?

nvm, i got it, thanks though guys!

liquidace 12th April 2019 06:34 AM

Anyone got extraction chain? Half the stuff in mono dump is squares and im being lazy to compare in dnspy lol

37ed1 12th April 2019 07:07 AM

Don't make things overly complicated. If you need position of players you can use _movementContext->RaycastHitStruct. IIRC it's 0x38]+0x64(Vector3), check in dissect by yourself

Quote:

Originally Posted by liquidace (Post 2431055)
Anyone got extraction chain? Half the stuff in mono dump is squares and im being lazy to compare in dnspy lol

Not a best way, but squares are here because of obfuscation and each square has it's own code. For example  is E26C(ASCII to HEX),  is E003. You can see those hexes in dnspy easily or just search in dissect list using hex char code and regex search mode

PutinIsLove 12th April 2019 07:44 AM

Anyone know how to use the optic camera object ?

I'm trying to determine if i'm looking into scope but even if I don't, optic camera is filled.

What flag can I use to know if i'm scoping ?

Thanks


Edit :

Think I found it :

(byte) : optic + 0x30] + 0x18] + 0x38

1 when aiming with scope 0 when aiming with "normal sights"

Still have issue with optic scope, the matrix seems bugged to hell.

UPDATE 0.11.7.2994

Code:

PlayerProfile : 0x490
HealthController : 0x4c0


liquidace 12th April 2019 09:30 AM

Yeah there was some post back here: https://www.unknowncheats.me/forum/2362306-post774.html

apparently the matrix itself changes?

PutinIsLove 12th April 2019 09:40 AM

Quote:

Originally Posted by liquidace (Post 2431146)
Yeah there was some post back here: https://www.unknowncheats.me/forum/2362306-post774.html

apparently the matrix itself changes?

The matrix does change when you scope as it should be, but the matrix seems weird and doesn't fit well to my screen at all !

lumungus 12th April 2019 09:50 AM

Quote:

Originally Posted by urasaber (Post 2431072)
Don't make things overly complicated. If you need position of players you can use _movementContext->RaycastHitStruct. IIRC it's 0x38]+0x64(Vector3), check in dissect by yourself

RaycastHitStruct? That "RaycastHit" give me hope to actually check if a player is in line of sight or not, would that be possible with that struct?

PS: anyone got info on what the hell is happening with the positions of dead bodies in lootlist?

37ed1 12th April 2019 11:03 AM

Quote:

Originally Posted by lumungus (Post 2431162)
RaycastHitStruct? That "RaycastHit" give me hope to actually check if a player is in line of sight or not, would that be possible with that struct?

PS: anyone got info on what the hell is happening with the positions of dead bodies in lootlist?

Meh, it's more related to collision between player object and terrain/map/object

niceone1 12th April 2019 01:52 PM

Does someone else has trouble with the playerbones after the last small patch?

Sometimes none of them are working for me (transform spits out wrong values/0 values) or they are partly not working like only the chest is missing or the head etc.
And then there are raids where everything works like expected. Strange thing...

BraydenEGC 12th April 2019 02:02 PM

Quote:

Originally Posted by niceone1 (Post 2431293)
~snip~



It was working fine for me about 12 hours ago. Haven�t tried since. I will check when I get home tonight.

PutinIsLove 12th April 2019 02:38 PM

Quote:

Originally Posted by niceone1 (Post 2431293)
Does someone else has trouble with the playerbones after the last small patch?


Same issue here, it seems to be completly random ...

matvei 12th April 2019 03:04 PM

Quote:

Originally Posted by niceone1 (Post 2431293)
Does someone else has trouble with the playerbones after the last small patch?

Sometimes none of them are working for me (transform spits out wrong values/0 values) or they are partly not working like only the chest is missing or the head etc.
And then there are raids where everything works like expected. Strange thing...

This has not changed for a long time
https://www.unknowncheats.me/forum/2429045-post929.html

EmhyrVarEmreis 12th April 2019 04:25 PM

Quote:

Originally Posted by PutinIsLove (Post 2430708)
Just use bone position mate !

Yes, but converting code with pointers operations to one without it is not convenient :/ I'm writting my external in Java :P

BraydenEGC 12th April 2019 04:30 PM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2431413)
~snip~


Why in Java? Just seems like a bunch if extra work for a lesser result in my opinion.

EmhyrVarEmreis 12th April 2019 05:00 PM

Quote:

Originally Posted by BraydenEGC (Post 2431416)
Why in Java? Just seems like a bunch if extra work for a lesser result in my opinion.

Just because I prefer coding in Java. I have written previous version in C# and rewrite it just to check how to handle memory reading in Java. When it comes to performance there is no noticable difference.
Edit: Oh, and it is a lot easier for me to render graphic in Java.

Lystic 12th April 2019 07:15 PM

Did anyone figure out an external LOS check?


Quote:

Originally Posted by liquidace (Post 2431055)
Anyone got extraction chain? Half the stuff in mono dump is squares and im being lazy to compare in dnspy lol

I use https://www.charbase.com/e008-unicode-invalid-character to convert dnSpy codes to the format displayed in monodissect. It even works for searching, which is crucial to finding some items.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

HELOHELO121 12th April 2019 09:55 PM

Is anyone else having issues with MovementContext.Position? Currently I am using MovementContext.Position for getting a player's location but it is unreliable, doesn't work for some scavs and sometimes will not update for a few seconds. Anyone else experiencing this?

EmhyrVarEmreis 12th April 2019 10:08 PM

Quote:

Originally Posted by HELOHELO121 (Post 2431694)
Is anyone else having issues with MovementContext.Position? Currently I am using MovementContext.Position for getting a player's location but it is unreliable, doesn't work for some scavs and sometimes will not update for a few seconds. Anyone else experiencing this?

For me it always worked that way. There is different offests chain for player position, but it is unknown since latest big update. Most users recommend to use bone positions.

HELOHELO121 12th April 2019 10:37 PM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2431703)
For me it always worked that way. There is different offests chain for player position, but it is unknown since latest big update. Most users recommend to use bone positions.

Yea but bone positions requires much more RPM calls and the GetBonePosition function @yeswejam posted is far beyond my knowledge at this point.

E: Did you manage to get the function he posted here https://www.unknowncheats.me/forum/2429940-post945.html working for yourself?

Quote:

Originally Posted by BraydenEGC (Post 2429274)
I guess I will sit down and look when I get home tonight if no one has released it.

Any luck on the player position chain?

mikangchan 12th April 2019 11:21 PM

dozens of "chains" to get player position but yea movement context is probably the shortest one. other chains are Transform which requires more RPM

HELOHELO121 12th April 2019 11:32 PM

Quote:

Originally Posted by mikangchan (Post 2431750)
dozens of "chains" to get player position but yea movement context is probably the shortest one. other chains are Transform which requires more RPM

I'm looking for the new 'Transform' chain then I guess.

BraydenEGC 12th April 2019 11:37 PM

Quote:

Originally Posted by HELOHELO121 (Post 2431723)
~snip~

I haven't sat down and looked yet. I will probably do it tonight. (Rural internet, EFT update had to download for a while)

mikangchan 13th April 2019 12:22 AM

Quote:

Originally Posted by HELOHELO121 (Post 2431752)
I'm looking for the new 'Transform' chain then I guess.

there is one from playerbones where you get the body transform
player + 0x520] + 0xE8] + 0x10] + Transform::GetPosition()

this bugs sometimes(i haven't had one yet but one of my friends said that) so the more accurate one would be using pelvis from skeleton

HELOHELO121 13th April 2019 12:47 AM

Quote:

Originally Posted by mikangchan (Post 2431771)
there is one from playerbones where you get the body transform
player + 0x520] + 0xE8] + 0x10] + Transform::GetPosition()

this bugs sometimes(i haven't had one yet but one of my friends said that) so the more accurate one would be using pelvis from skeleton

I'm using external

liquidace 13th April 2019 12:48 AM

Yeah im having real problems with bone 133 becoming valid/invalid rapidly so skeleton esp draws lines across my screen and aimbot bounces... (using internal get position)

HELOHELO121 13th April 2019 12:50 AM

Quote:

Originally Posted by mikangchan (Post 2431771)
there is one from playerbones where you get the body transform
player + 0x520] + 0xE8] + 0x10] + Transform::GetPosition()

this bugs sometimes(i haven't had one yet but one of my friends said that) so the more accurate one would be using pelvis from skeleton

I'm external so this doesn't apply to me but thanks. I'm not a fan of using bone location so I'll wait till someone finds the player transform chain.

mikangchan 13th April 2019 01:35 AM

Quote:

Originally Posted by HELOHELO121 (Post 2431784)
I'm external so this doesn't apply to me but thanks. I'm not a fan of using bone location so I'll wait till someone finds the player transform chain.

this is the external way, as I said you need to read transform externally. there's one by klmno for you to copy&paste

yeswejam 13th April 2019 03:45 AM

Quote:

Originally Posted by PutinIsLove (Post 2431329)
Same issue here, it seems to be completly random ...

It's still working fine, see:

https://imgur.com/a/V6MdMbh

liquidace 13th April 2019 06:09 AM

anyone got a method for telling if an entity is local player?

Nevermind i typed the offset.

This is fine:

Code:

if(entity[x].player + 0x18) { islocal }

dracorx 13th April 2019 09:07 AM

Has anyone reversed the labs key card system? If it's clientside could be easily abused.

niceone1 13th April 2019 09:43 AM

Quote:

Originally Posted by matvei (Post 2431354)
This has not changed for a long time
https://www.unknowncheats.me/forum/2429045-post929.html

I'm using those two pointers to get to the bonelist:
Code:

_playerBody, 0x28, 0x28, 0x10, 0x20
_playerBody, 0x28, 0x18, 0x28, 0x20

Both are working but it seems like the transform function is failing on some of the bones. (https://www.unknowncheats.me/forum/2332931-post688.html)

Here are two images with failed bones:
https://imgur.com/a/BMcj0bO
https://imgur.com/a/BMcj0bO


EDIT:
Its seems like the size of the buffers are incorrect (just to debug this: Increasing the buffer fixes the problem.):
Does someone know whats wrong with the size of the transform?

Code:

        struct TransformAccessReadOnly
        {
                DWORD64        pTransformData;
                int index;
        };

        struct TransformData
        {
                DWORD64 pTransformArray;
                DWORD64 pTransformIndices;
        };

        struct Matrix34
        {
                VECTOR4 vec0;
                VECTOR4 vec1;
                VECTOR4 vec2;
        };

-----

        SIZE_T sizeMatriciesBuf = sizeof(Matrix34) * pTransformAccessReadOnly.index + sizeof(Matrix34);
        SIZE_T sizeIndicesBuf = sizeof(int) * pTransformAccessReadOnly.index + sizeof(int);

        sizeMatriciesBuf += 5000000;
        sizeIndicesBuf += 5000000;


PutinIsLove 13th April 2019 02:50 PM

Quote:

Originally Posted by niceone1 (Post 2432035)
I'm using those two pointers to get to the bonelist:
Code:

        sizeMatriciesBuf += 5000000;
        sizeIndicesBuf += 5000000;


Thanks for this, may I ask what are you using for scope w2s ?
My optic_scope matrix seems fucked up, any idea ?
Cheers

niceone1 13th April 2019 03:37 PM

Quote:

Originally Posted by PutinIsLove (Post 2432323)
Thanks for this, may I ask what are you using for scope w2s ?
My optic_scope matrix seems fucked up, any idea ?
Cheers

Keep in mind - this is only a ugly workaround. Im using the default one, but im not using any scopes :D

Edit:

Fixed the bones: I dropped the buffer and now its working as expected.

sakiriye 13th April 2019 08:16 PM

I was trying to update some good old esp hack but i couldnt manage to update some of the offsets below, can someone help me ?

Offsets inside the spoiler

yeswejam 13th April 2019 11:28 PM

To differentiate if an enemy is a Scav, PlayerScav or PMC Player, you can go like this.

Also with this method, i'm detecting the localPlayer with my own AccountID.
Works for both, Scav and PMC Raids.

Account ID Struct:
Note: Account ID is Unicode so don't forget to multiply the Account ID length * 2
Code:

                "ACCOUNT_ID"                        = playerBase, 0x490,  0x18, 0x14
                "ACCOUNT_ID_LENGTH"        = playerBase, 0x490,  0x18, 0x10

Detect if opponent is a Scav, PlayerScav or PMC.

Code:

        public bool isScav()
        {
            return AccountId == "0";
        }

        public bool isPlayerScav()
        {
            return AccountId != "0" && nickname.Contains(" ");
        }

        public bool isPlayer()
        {
            return AccountId != "0" && !nickname.Contains(" ");
        }


HELOHELO121 13th April 2019 11:32 PM

Quote:

Originally Posted by liquidace (Post 2431938)
anyone got a method for telling if an entity is local player?

Nevermind i typed the offset.

This is fine:

Code:

if(entity[x].player + 0x18) { islocal }

Holy shit how did I not know about this


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

BraydenEGC 13th April 2019 11:40 PM

Quote:

Originally Posted by HELOHELO121 (Post 2433016)
~snip~

Because you never reversed it? (1 thousandth reply to this thread) :party:

liquidace 13th April 2019 11:56 PM

Is there an easy way to draw the correct crosshair location? Center screen doesnt work:

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

This also means when aimbotting its off by a lot lol:

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

HELOHELO121 14th April 2019 12:04 AM

Quote:

Originally Posted by yeswejam (Post 2433012)
To differentiate if an enemy is a Scav, PlayerScav or PMC Player, you can go like this.

Also with this method, i'm detecting the localPlayer with my own AccountID.
Works for both, Scav and PMC Raids.

Account ID Struct:
Note: Account ID is Unicode so don't forget to multiply the Account ID length * 2
Code:

                "ACCOUNT_ID"                        = playerBase, 0x490,  0x18, 0x14
                "ACCOUNT_ID_LENGTH"        = playerBase, 0x490,  0x18, 0x10

Detect if opponent is a Scav, PlayerScav or PMC.

Code:

        public bool isScav()
        {
            return AccountId == "0";
        }

        public bool isPlayerScav()
        {
            return AccountId != "0" && nickname.Contains(" ");
        }

        public bool isPlayer()
        {
            return AccountId != "0" && !nickname.Contains(" ");
        }


Hmm AccountID is not working for me. Am I reading the unicode strings incorrectly?

Code:

public string UReadString(long ptr)
{
            long unicodeStringObjAddr = ReadLongMemory(ptr);
            int length = ReadIntMemory(unicodeStringObjAddr + 0x10);
            byte[] b = ReadByteArrayMemory(unicodeStringObjAddr + 0x14, length * 2);
            return System.Text.Encoding.Unicode.GetString(b);
}

string AccountID = UReadString(Player, {0x490, 0x18});

I think it isn't converting the byte array to string correctly
Just an example of some of the outputs in an offline raid:
Code:

893cb7f5-0b09-495b-aaaa-5d87dabe1e8c
f11b0929-7bf7-4b50-b520-2d133949733d
66827576-5ee7-4b0e-aac9-ef808a17a87a
bd40f0f2-92a2-418b-8902-d5d90b883980
ba0905e8-fe45-439c-9d76-2a831f2d1c5e

E: And it's odd because nicknames are unicode as well and they are read perfectly fine with the same function

w33zer 14th April 2019 01:05 AM

Does anyone have a way to get the facing of the player?

I've been working on a radar and I used to use:
Code:

                { "VIEW_X", new Dictionary<int, int[]>(){ { 4, new int[] { 0x42 , 0x1F4 } } } }
which gave a relative angle the player was facing, but that seems to be missing now.

I tried using position of the head relative to the feet to get a normalized vector, but it is pretty unreliable.

HELOHELO121 14th April 2019 02:26 AM

Quote:

Originally Posted by w33zer (Post 2433056)
Does anyone have a way to get the facing of the player?

I've been working on a radar and I used to use:
Code:

                { "VIEW_X", new Dictionary<int, int[]>(){ { 4, new int[] { 0x42 , 0x1F4 } } } }
which gave a relative angle the player was facing, but that seems to be missing now.

I tried using position of the head relative to the feet to get a normalized vector, but it is pretty unreliable.

I use Player.MovementContext.Rotation
Code:

        public float GetDirection()
        {
            float deg = ReadVector(Player, {0x38, 0x1FC}).x;
            if(deg < 0)
            {
                return 360f + deg;
            }
            return deg;
        }


yeswejam 14th April 2019 02:38 AM

Quote:

Originally Posted by HELOHELO121 (Post 2433032)
Hmm AccountID is not working for me. Am I reading the unicode strings incorrectly?

Code:

public string UReadString(long ptr)
{
            long unicodeStringObjAddr = ReadLongMemory(ptr);
            int length = ReadIntMemory(unicodeStringObjAddr + 0x10);
            byte[] b = ReadByteArrayMemory(unicodeStringObjAddr + 0x14, length * 2);
            return System.Text.Encoding.Unicode.GetString(b);
}

string AccountID = UReadString(Player, {0x490, 0x18});

I think it isn't converting the byte array to string correctly
Just an example of some of the outputs in an offline raid:
Code:

893cb7f5-0b09-495b-aaaa-5d87dabe1e8c
f11b0929-7bf7-4b50-b520-2d133949733d
66827576-5ee7-4b0e-aac9-ef808a17a87a
bd40f0f2-92a2-418b-8902-d5d90b883980
ba0905e8-fe45-439c-9d76-2a831f2d1c5e

E: And it's odd because nicknames are unicode as well and they are read perfectly fine with the same function

Here is my Function

Code:

        public string getAccountId()
        {

            if (AccountId != null)
            {
                return AccountId;
            }
            IntPtr Addr = Base.GetPtr(_baseAddr, new int[] { 0x490, 0x18, 0x14 });
   
            byte[] idBytes = Memory.ReadBytes(Addr.ToInt64(), structs.GetValue<int>("ACCOUNT_ID_LENGTH") * 2);


            return AccountId = Encoding.Unicode.GetString(idBytes); ;
        }


liquidace 14th April 2019 02:55 AM

Ok... sat down in offline server and dumped mono properly...

Code:

uintptr_t localPlayer = GetLocalPlayer();

                        if (IsValidPtr(localPlayer))
                        {
                                auto wepAnimation = RPM<uintptr_t>(localPlayer + 0x70);
                                if (IsValidPtr(wepAnimation))
                                {
                                        //Breath
                                        auto breath = RPM<uintptr_t>(wepAnimation + 0x28);
                                        if (IsValidPtr(breath))
                                        {
                                                *reinterpret_cast<int*>(breath + 0x8C) = 0;
                                        }

                                        //Recoil
                                        auto shotEffector = RPM<uintptr_t>(wepAnimation + 0x48);
                                        if (IsValidPtr(shotEffector))
                                        {
                                                *reinterpret_cast<Vector2*>(shotEffector + 0x38) = Vector2{ 0.f, 0.f };
                                                *reinterpret_cast<Vector2*>(shotEffector + 0x40) = Vector2{ 0.f, 0.f };
                                        }
                                }
                        }

Alternative way to zeroing the Mask without the side effects.

kkkcrs 14th April 2019 11:21 AM

Quote:

Originally Posted by BraydenEGC (Post 2431756)
I haven't sat down and looked yet. I will probably do it tonight. (Rural internet, EFT update had to download for a while)

We really hopes that you will succeed. Everything is so mixed up... I can't find the proper way (ofc there is bones, but I am still trying to look deeper for player position)

mikangchan 14th April 2019 05:08 PM

Quote:

Originally Posted by liquidace (Post 2433115)
Ok... sat down in offline server and dumped mono properly...

Code:

uintptr_t localPlayer = GetLocalPlayer();

                        if (IsValidPtr(localPlayer))
                        {
                                auto wepAnimation = RPM<uintptr_t>(localPlayer + 0x70);
                                if (IsValidPtr(wepAnimation))
                                {
                                        //Breath
                                        auto breath = RPM<uintptr_t>(wepAnimation + 0x28);
                                        if (IsValidPtr(breath))
                                        {
                                                *reinterpret_cast<int*>(breath + 0x8C) = 0;
                                        }

                                        //Recoil
                                        auto shotEffector = RPM<uintptr_t>(wepAnimation + 0x48);
                                        if (IsValidPtr(shotEffector))
                                        {
                                                *reinterpret_cast<Vector2*>(shotEffector + 0x38) = Vector2{ 0.f, 0.f };
                                                *reinterpret_cast<Vector2*>(shotEffector + 0x40) = Vector2{ 0.f, 0.f };
                                        }
                                }
                        }

Alternative way to zeroing the Mask without the side effects.

i would assume that zeroing RecoilStrength is an immediate ban

Quote:

Originally Posted by kkkcrs (Post 2433375)
We really hopes that you will succeed. Everything is so mixed up... I can't find the proper way (ofc there is bones, but I am still trying to look deeper for player position)

already posted

BraydenEGC 14th April 2019 07:33 PM

Quote:

Originally Posted by mikangchan (Post 2433646)
~snip~

You assumed wrong. I have been using it for ~3 months.

HELOHELO121 14th April 2019 10:38 PM

Can someone tell me what I'm doing wrong here? I'm trying to read AccountID and I'm having some trouble.
My function:
Code:

        public string getAccountId()
        {
            long BaseAddr = ma.Read<long>(addr + 0x18); // AccountID string address
            long DataAddr = ma.Read<long>(BaseAddr + 0x14); // AccountID string addr + data array offset

            byte[] Bytes = ma.ReadByteArrayMemory(DataAddr, ma.Read<int>(BaseAddr + 0x10) * 2);

            return Encoding.Unicode.GetString(Bytes);
        }

The main problem is that when I try to get the length of the AccountID string (ma.Read<int>(BaseAddr + 0x10)) it spits out the wrong numbers. For ai scavs the length is 72 and for me my AccountID length is 14. The function ends up returning just a string with the amount of spaces that the length is (e.g. my length is 14 so it returns 14 spaces.) What am I doing wrong here?

P.S. The AccountID string chain I am using is Player + 0x490] + 0x18]

Edit: Should I make my own thread about this?

liquidace 14th April 2019 11:14 PM

why do you need to get account id anyway? Theres a much much easier way to check local player

HELOHELO121 14th April 2019 11:16 PM

Quote:

Originally Posted by liquidace (Post 2434072)
why do you need to get account id anyway? Theres a much much easier way to check local player

That's not why I'm trying to get it. I'm trying to get it so I can differentiate AI from player scav.

liquidace 14th April 2019 11:21 PM

oh jesus lol, why didnt you say earlier.

Look at _profile (type: EFT.Profile -> Info

10 : Nickname (type: System.String)
50 : Side (type: EFT.EPlayerSide)
54 : RegistrationDate (type: System.Int32)

Side is 1 or 2 for players
Side is 4 and RegistrationDate is 0 for scavs

anything else can be assumed to be player scav

HELOHELO121 14th April 2019 11:41 PM

Quote:

Originally Posted by liquidace (Post 2434077)
oh jesus lol, why didnt you say earlier.

Look at _profile (type: EFT.Profile -> Info

10 : Nickname (type: System.String)
50 : Side (type: EFT.EPlayerSide)
54 : RegistrationDate (type: System.Int32)

Side is 1 or 2 for players
Side is 4 and RegistrationDate is 0 for scavs

anything else can be assumed to be player scav

Many thanks. I just did this:
Code:

AI Scav:
Is not a PMC and registration date is 0
Player Scav:
Is not a PMC  and registration date is not 0
PMC:
Is a PMC

P.S.:
I am determining if they are a PMC by reading
Player + 0x490] + 0x20] (boolean)

BraydenEGC 14th April 2019 11:43 PM

Quote:

Originally Posted by HELOHELO121 (Post 2434084)
~snip~

Or parse their side. Allows you to determine USEC, BEAR, and SCAV. (I use further analysis to determine if a entity is a player scav or just a regular scav.)

EmhyrVarEmreis 15th April 2019 12:19 AM

Quote:

Originally Posted by mikangchan (Post 2433646)
already posted

No. There are posts about getting player position from bones using transform but not how to get it directly by offsets chain.

liquidace 15th April 2019 12:41 AM

The chain has been i believe but it doesnt update unless they're in your fov so its kinda useless

mikangchan 15th April 2019 12:52 AM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2434112)
No. There are posts about getting player position from bones using transform but not how to get it directly by offsets chain.

Quote:

Originally Posted by mikangchan (Post 2431771)
there is one from playerbones where you get the body transform
player + 0x520] + 0xE8] + 0x10] + Transform::GetPosition()

this bugs sometimes(i haven't had one yet but one of my friends said that) so the more accurate one would be using pelvis from skeleton

i don't think there are vector3 that can be read directly, if that's what you want

anyone used the internal Object::get_name function? looks like it takes a pointer(this) and returns a char* but it crashes when using it. https://i.imgur.com/86mqvJm.png

or how do you guys read object names internally?

HELOHELO121 15th April 2019 06:34 AM

Does anyone know of any bool or enum that will tell me if the user is in game?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

liquidace 15th April 2019 08:20 AM

Quote:

Originally Posted by HELOHELO121 (Post 2434235)
Does anyone know of any bool or enum that will tell me if the user is in game?

look at

60 : RegisteredPlayers

inside there

count the // 18 : Members list

if > 0 then you're in a game

EmhyrVarEmreis 15th April 2019 11:02 AM

Quote:

Originally Posted by mikangchan (Post 2434126)
i don't think there are vector3 that can be read directly, if that's what you want

That's what I am looking for, vector3 that can be read directly without transform.
There was offsets chain which leaded to such vector before latest big patch. Probably it is still there but with different offsets values.

BraydenEGC 15th April 2019 01:55 PM

Escape from Tarkov Reversal, Structs and Offsets
 
Quote:

Originally Posted by EmhyrVarEmreis (Post 2434388)
~snip~


Then you are out of luck. On 11.7+, they started sorting player positions with transforms just like bones.

HELOHELO121 15th April 2019 10:23 PM

Quote:

Originally Posted by liquidace (Post 2434281)
look at

60 : RegisteredPlayers

inside there

count the // 18 : Members list

if > 0 then you're in a game

I'm not seeing it. What is RegisteredPlayers a member of?

mikangchan 15th April 2019 10:30 PM

Quote:

Originally Posted by HELOHELO121 (Post 2435173)
I'm not seeing it. What is RegisteredPlayers a member of?

EFT:GameWorld

HELOHELO121 15th April 2019 10:48 PM

Quote:

Originally Posted by mikangchan (Post 2435180)
EFT:GameWorld

If I'm understanding this right I should read
GW + 0x60] + 0x18] (integer)
and if It's more than 0 then I'm in game?

liquidace 15th April 2019 10:54 PM

correct - it does count yourself so if you're in a game by yourself, it will be 1.

How are you looping players if you aren't using RegisteredPlayers?

LocalWorld + 0x60] + 0x18 ] + 0x10 = Generic List of all players in the game

mikangchan 16th April 2019 12:06 AM

Quote:

Originally Posted by liquidace (Post 2435215)
How are you looping players if you aren't using RegisteredPlayers?

looping active object list - it will be laggy though

liquidace 16th April 2019 12:11 AM

Quote:

Originally Posted by mikangchan (Post 2435278)
looping active object list - it will be laggy though

oh boy lol.

On another note for angle aimbot what angle do you use for the source? getpos(fireport), viewtranslation or something else?

mikangchan 16th April 2019 12:19 AM

Quote:

Originally Posted by liquidace (Post 2435286)
oh boy lol.

On another note for angle aimbot what angle do you use for the source? getpos(fireport), viewtranslation or something else?

fireport, since this game uses the actual muzzle location(fireport) instead of eyeposition(r6)

liquidace 16th April 2019 12:22 AM

are you using same function as r6 just with fireport?

HELOHELO121 16th April 2019 12:24 AM

Quote:

Originally Posted by liquidace (Post 2435215)
correct - it does count yourself so if you're in a game by yourself, it will be 1.

How are you looping players if you aren't using RegisteredPlayers?

LocalWorld + 0x60] + 0x18 ] + 0x10 = Generic List of all players in the game

You're right. I was using RegisteredPlayers, it was just under a different name. Thanks!

mikangchan 16th April 2019 12:27 AM

Quote:

Originally Posted by liquidace (Post 2435291)
are you using same function as r6 just with fireport?

almost the same

HELOHELO121 16th April 2019 02:07 AM

Quote:

Originally Posted by BraydenEGC (Post 2434637)
Then you are out of luck. On 11.7+, they started sorting player positions with transforms just like bones.

So is your preferred method getting the location of a bone to get a player's location?

BraydenEGC 16th April 2019 03:51 AM

Quote:

Originally Posted by HELOHELO121 (Post 2435362)
~snip~

Take the average of the LFoot and RFoot position to get the position. Or just use the chain to player position. Or just use the "special" bone (you might have to dig around to find it).

37ed1 16th April 2019 07:55 AM

About fireport and muzzle position, is there a way to get position of current weapon muzzle, being fully external?

I'm completely external, without WPMs at all. For now, just for the sake of why not, I made an aimbot based on just a center of screen. Not a surprise that it's noticeable twitchy from time to time but always wondered if it will be possible to make it based on a muzzle of weapon.

I'll appreciate any hint! Tried to look into _proceduralWeaponAnimation awhile ago and haven't found anything yet, maybe I've missed something

liquidace 16th April 2019 08:49 AM

Quote:

Originally Posted by 37ed1 (Post 2435488)
About fireport and muzzle position, is there a way to get position of current weapon muzzle, being fully external?

I'm completely external, without WPMs at all. For now, just for the sake of why not, I made an aimbot based on just a center of screen. Not a surprise that it's noticeable twitchy from time to time but always wondered if it will be possible to make it based on a muzzle of weapon.

I'll appreciate any hint! Tried to look into _proceduralWeaponAnimation awhile ago and haven't found anything yet, maybe I've missed something

You need to use GetPosition on fireport (either calling the internal function or rebuild it).

If you're using mouse event etc, smooth out the aim a bit more and it wont twitch as much

37ed1 16th April 2019 09:21 AM

Quote:

Originally Posted by liquidace (Post 2435507)
You need to use GetPosition on fireport (either calling the internal function or rebuild it).

If you're using mouse event etc, smooth out the aim a bit more and it wont twitch as much

Yeah I'm smoothing the relative mouse move dividing it by some factor(depends on 2d distance left to target point), but it still twitching a bit and I believe it will. I've did some research on it and it happens because of tarkov input handling and windows mouse speed/acceleration settings. If you are doing mouse_events(or SendInput) with relative flag, then windows can multiply your move by 2 or even 4. Because of this your mouse pointer can go beyond a given goal in one move if that move was accelerated by OS, this will cause twitch as your next step will be going back to target because you've overcome it(and here acceleration could happen again).
One of the way to mitigate it is to disable mouse acceleration and lower mouse speed in windows each time you start aiming and in the end of aiming - restore the settings. But I think that it's an overkill, didn't tried it yet.
Quote:

The system applies two tests to the specified relative mouse motion when applying acceleration. If the specified distance along either the x or y axis is greater than the first mouse threshold value, and the mouse acceleration level is not zero, the operating system doubles the distance. If the specified distance along either the x- or y-axis is greater than the second mouse threshold value, and the mouse acceleration level is equal to two, the operating system doubles the distance that resulted from applying the first threshold test. It is thus possible for the operating system to multiply relatively-specified mouse motion along the x- or y-axis by up to four times.
About fireport. My main issue is that recoil obviously can go nuts while you are firing with aimbot, also because of weapon sway it's hard to hit something sometimes, because I'm bound to center of screen.
Isn't the GetPosition for fireport is the same GetPosition as for bones? IIRC it's INTERNAL_get_position for Transform and it works good for me

liquidace 16th April 2019 10:22 AM

Correct, fireport is a transform

37ed1 16th April 2019 10:28 AM

Quote:

Originally Posted by liquidace (Post 2435535)
Correct, fireport is a transform

Thanks! I've searched a bit more and it looks like Fireport should be somewhere in proceduralWeaponAnimation->HandsContainer. Anyway, I'll dig into it


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

liquidace 16th April 2019 10:32 AM

Quote:

Originally Posted by 37ed1 (Post 2435544)
Thanks! I've searched a bit more and it looks like Fireport should be somewhere in proceduralWeaponAnimation->HandsContainer. Anyway, I'll dig into it

correct the fireport transform is in handcontainer, just use internal_get_pos on that transform

EmhyrVarEmreis 16th April 2019 05:36 PM

Quote:

Originally Posted by yeswejam (Post 2429940)
Yes, you have to extract the return of the internal call "UnityEngine.Transform internal_getPosition"
Here is how i'm doing it.
Good luck and have fun :>

What Base.IsValid does? Could you provide the code?

elevenelven 16th April 2019 07:01 PM

Could anyone point me how to read UnityEngine.Vec3 starting from UnityEngine.Transform externally?

BraydenEGC 16th April 2019 07:03 PM

Quote:

Originally Posted by elevenelven (Post 2436321)
~snip~


I believe it is on the Rust section by klmno. (I found it via google)

elevenelven 16th April 2019 07:07 PM

Quote:

Originally Posted by BraydenEGC (Post 2436324)
I believe it is on the Rust section by klmno. (I found it via google)

Already red that topic. I thought there could be easier way to just get vector3 directly, without complex functions.

BraydenEGC 16th April 2019 07:10 PM

Quote:

Originally Posted by elevenelven (Post 2436328)
~snip~


AFAIK, no.

HELOHELO121 17th April 2019 01:32 AM

Quote:

Originally Posted by BraydenEGC (Post 2435419)
Take the average of the LFoot and RFoot position to get the position. Or just use the chain to player position. Or just use the "special" bone (you might have to dig around to find it).

I thought they removed the chain to player position based on what you said here:
Quote:

Then you are out of luck. On 11.7+, they started sorting player positions with transforms just like bones.

liquidace 17th April 2019 02:21 AM

You can use pedometer to get location but it updates really slow

BraydenEGC 17th April 2019 02:27 AM

Quote:

Originally Posted by liquidace (Post 2436752)
~snip~

There are also two more ways which have not been posted. I have hinted at both.

liquidace 17th April 2019 02:51 AM

iono i just use internal get position lol

HELOHELO121 17th April 2019 02:53 AM

Does anyone have the bone transform chain? I have the bone chain but I don't know how to access the transform from there.

BraydenEGC 17th April 2019 02:54 AM

Quote:

Originally Posted by HELOHELO121 (Post 2436780)
~snip~

You can no longer just read a vector 3 if you want a reliable position.

TheMadMin3r 17th April 2019 03:03 AM

Quote:

Originally Posted by BraydenEGC (Post 2436781)
You can no longer just read a vector 3 if you want a reliable position.

Pretty sure you can still get player base position by just reading vector 3

BraydenEGC 17th April 2019 03:06 AM

Quote:

Originally Posted by TheMadMin3r (Post 2436789)
Pretty sure you can still get player base position by just reading vector 3

Quote:

Originally Posted by BraydenEGC (Post 2436781)
if you want a reliable position.

Like I said, it isn't reliable by any means.

TheMadMin3r 17th April 2019 03:25 AM

Quote:

Originally Posted by BraydenEGC (Post 2436791)
Like I said, it isn't reliable by any means.


I've been using it and it's perfectly fine?

HELOHELO121 17th April 2019 03:31 AM

Quote:

Originally Posted by TheMadMin3r (Post 2436804)
I've been using it and it's perfectly fine?

What's the chain if you don't mind me asking?

TheMadMin3r 17th April 2019 03:36 AM

Quote:

Originally Posted by HELOHELO121 (Post 2436812)
What's the chain if you don't mind me asking?

player +0x38] + 0x68 I think

HELOHELO121 17th April 2019 03:38 AM

Quote:

Originally Posted by TheMadMin3r (Post 2436815)
player +0x38] + 0x68 I think

Oh lol that vector only updates when the player is in your field of view so it's basically useless

TheMadMin3r 17th April 2019 03:40 AM

Quote:

Originally Posted by HELOHELO121 (Post 2436816)
Oh lol that vector only updates when the player is in your field of view so it's basically useless

What need do you have for the position of a player that isn't in your FOV? forgive me if it's a stupid question, genuinely curious.

HELOHELO121 17th April 2019 03:41 AM

Quote:

Originally Posted by BraydenEGC (Post 2436781)
You can no longer just read a vector 3 if you want a reliable position.

I was asking the offset from the bone address to get the transform so I can plug it into this function or do I just plug in the bone address itself?

Quote:

Originally Posted by TheMadMin3r (Post 2436820)
What need do you have for the position of a player that isn't in your FOV? forgive me if it's a stupid question, genuinely curious.

Someone is trying to sneak up behind you. This is more for radar based cheats.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

liquidace 17th April 2019 03:51 AM

Dump mono and follow the chain yourself man. you're not going to learn just constantly asking for pastes

HELOHELO121 17th April 2019 04:29 AM

Quote:

Originally Posted by liquidace (Post 2436830)
Dump mono and follow the chain yourself man. you're not going to learn just constantly asking for pastes

It's not like I'm asking for full functions of code; I'm not 'just constantly asking for pastes'

liquidace 17th April 2019 07:52 AM

LootItem + 0x100 = Corpse Playerbody right?

Code:

Corpse
                        static fields
                        fields
                                d0 :  (type: RigidbodySpawner[])
                                d8 :  (type: CharacterJointSpawner[])
                                e0 :  (type: System.Action)
                                e8 :  (type: )
                                110 :  (type: EFT.EPlayerSide)
                                f0 :  (type: [])
                                f8 : _pelvis (type: UnityEngine.Transform)
                                114 :  (type: UnityEngine.Vector3)
                                120 :  (type: System.Boolean)
                                100 : PlayerBody (type: EFT.PlayerBody)
                                108 : ItemInHands (type: <EFT.InventoryLogic.Item>)

I've tried checking but i get false positives a lot like:

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

37ed1 17th April 2019 08:42 AM

Quote:

Originally Posted by HELOHELO121 (Post 2436846)
It's not like I'm asking for full functions of code; I'm not 'just constantly asking for pastes'

Man, just try to do it yourself.

Launch the game, go into offline raid. Suspend the process using any software you want or just windows's resource monitor. You can also disconnect your network connection just to be more safe if you are paranoid.
Attach cheat engine to game, go Mono->Dissect. Then go File->Expand, File->Save. Now you have text file with entire data structure of game.

Then use ReClass(you can watch video on youtube by Doug), using the data you've got from mono dissect. Trial and error, dig around. You can also use dnSpy to check game's code and understand the logic behind it. In some places names are obfuscated and you will see squares, dots and bunch of different symbols instead of readable names. You might also use de4dot to ease reading a bit of obfuscated names.

I've started reversing two month ago with zero knowledge in that area, but I have few years of coding experience. It's so easy to reverse unity games(thanks .net), I guess what will happen when BSG will update their version of unity and start using il2cpp...

elevenelven 17th April 2019 10:40 AM

Quote:

Originally Posted by liquidace (Post 2436940)
LootItem + 0x100 = Corpse Playerbody right?



I've tried checking but i get false positives...


Well, of course you will get false positives. You examining Corpse, which is child of LootItem. LootItem itself doesn't have 0x100

Code:


if(loot.getCategory() == GameEntities::LootCategory::Corpse)
{
 loot.setPositionAddress(lootOffsets.getPositionXyzCorpseAdress(lootBaseOffset));
}else

loot.setPositionAddress(lootOffsets.getPositionXyzAdress(lootBaseOffset));
}


liquidace 17th April 2019 11:52 AM

Oh cheers thanks! Will look into categories tomorrow

yeswejam 17th April 2019 05:29 PM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2436252)
What Base.IsValid does? Could you provide the code?

Valid pointer do not point to 0x0

mikangchan 17th April 2019 10:36 PM

in case someone want to improve their aimbot here's the clamp method used by the game
Code:

static const Vector2 ROTATION_RANGE = Vector2(-360.f, 360.f);
        static const Vector2 STAND_POSE_ROTATION_PITCH_RANGE = Vector2(-90.f, 90.f);

        static __forceinline float _clamp(float value, float min, float max)
        {
                if (value < min)
                {
                        value = min;
                }
                else if (value > max)
                {
                        value = max;
                }
                return value;
        }

        static __forceinline float _clamp_yaw(float float_0, float float_1, float float_2)
        {
                if (float_0 < -360.f)
                {
                        float_0 += 360.f;
                }
                if (float_0 > 360.f)
                {
                        float_0 -= 360.f;
                }
                float num = float_0 - 360.f;
                if (num > float_1 && num < float_2)
                {
                        return float_0;
                }
                return _clamp(float_0, float_1, float_2);
        }

        static __forceinline float _clamp_pitch(float float_0, float float_1, float float_2)
        {
                if (float_0 < -360.f)
                {
                        float_0 += 360.f;
                }
                if (float_0 > 360.f)
                {
                        float_0 -= 360.f;
                }
                return _clamp(float_0, float_1, float_2);
        }

        static __forceinline Vector2 _clamp_angle(const Vector2& angle)
        {
                return Vector2(_clamp_yaw(angle.x, ROTATION_RANGE.x, ROTATION_RANGE.y), _clamp_pitch(angle.y, STAND_POSE_ROTATION_PITCH_RANGE.x, STAND_POSE_ROTATION_PITCH_RANGE.y)); // pitch needs animatedtransform's eulerangle
        }

node that clamp pitch involves the eulerAngle from AnimatedTransform and i didn't bother getting that

Lystic 17th April 2019 10:41 PM

Quote:

Originally Posted by 37ed1 (Post 2435544)
Thanks! I've searched a bit more and it looks like Fireport should be somewhere in proceduralWeaponAnimation->HandsContainer. Anyway, I'll dig into it

Get the fireport from the HandsController (which when you have a weapon is a FirearmController)

HELOHELO121 18th April 2019 06:58 AM

Does anyone have the current viewmatrix chain & structure?

dracorx 18th April 2019 07:01 AM

Quote:

Originally Posted by HELOHELO121 (Post 2438083)
Does anyone have the current viewmatrix chain & structure?

Literally on the first page. Search before asking next time.

HELOHELO121 18th April 2019 07:16 AM

Quote:

Originally Posted by dracorx (Post 2438084)
Literally on the first page. Search before asking next time.

My bad, I had figured it would have been changed by then.

HELOHELO121 19th April 2019 07:14 PM

Quote:

Originally Posted by yeswejam (Post 2429940)
snippet

Sorry for my asking but could you share VectorOperations.Shuffle and ShuffleSel? I don't understand what this is for or it would do mathematically. Many thanks :)

Lystic 19th April 2019 07:23 PM

Quote:

Originally Posted by HELOHELO121 (Post 2439633)
Sorry for my asking but could you share VectorOperations.Shuffle and ShuffleSel? I don't understand what this is for or it would do mathematically. Many thanks :)

https://arcb.csc.ncsu.edu/~mueller/c...imdvector.html

There is a lot of information on SIMD operations.

McsDensTV 19th April 2019 07:36 PM

Does anyone have a working radar? please share - my not working (

HELOHELO121 19th April 2019 09:15 PM

Quote:

Originally Posted by Lystic (Post 2439638)
https://arcb.csc.ncsu.edu/~mueller/c...imdvector.html

There is a lot of information on SIMD operations.

I don't understand. So I'm trying to do 'a byte-shuffle operation'? I don't get this :dunno:

BraydenEGC 20th April 2019 12:25 AM

New view angle offset.
Player + 0x38 (MovementContext)] + 0x204 (Vector2)

HELOHELO121 20th April 2019 04:25 AM

Can someone help me? I'm trying to get the world position of a bone via internal_get_position but It's not passing to the end of the function and isn't completing the IsValidPointer checks. As you can see it keeps stopping at
Code:

            if (matrix_list_base.ToInt64() == 0x0) // Program stops here
                return new UnityEngine.Vector3();

(I'm using the function @yeswejam posted here) Also, should I post this as a separate thread or just keep this in this thread?
Code:

        private struct Matrix34
        {
            public Vector4f vec0;
            public Vector4f vec1;
            public Vector4f vec2;
        };


        private unsafe UnityEngine.Vector3 GetBonePosition(IntPtr transform, MemoryManage ma)
        {
            IntPtr transform_internal = IntPtr.Add(transform, 0x10);
            if (transform_internal.ToInt64() == 0x0)
                return new UnityEngine.Vector3();

            IntPtr pMatrix = ma.Read<IntPtr>(transform_internal + 0x38);
            int index = ma.Read<int>(ma.Read<IntPtr>(transform_internal + (0x38 + sizeof(UInt64))).ToInt64());
            if (pMatrix.ToInt64() == 0x0)
                return new UnityEngine.Vector3();

            IntPtr matrix_list_base = ma.Read<IntPtr>(pMatrix + 0x8);
            if (matrix_list_base.ToInt64() == 0x0) // Program stops here
                return new UnityEngine.Vector3();

            IntPtr dependency_index_table_base = ma.Read<IntPtr>(pMatrix + 0x10);
            if (dependency_index_table_base.ToInt64() == 0x0)
                return new UnityEngine.Vector3();

            byte[] pMatricesBuff = ma.ReadByteArray(ma.Read<IntPtr>(matrix_list_base + 0).ToInt64(), (sizeof(Matrix34) * index) + sizeof(Matrix34));
            GCHandle pMatricesBufff = GCHandle.Alloc(pMatricesBuff, GCHandleType.Pinned);
            void* pMatricesBuf = pMatricesBufff.AddrOfPinnedObject().ToPointer();


            byte[] pIndicesBuff = ma.ReadByteArray(ma.Read<IntPtr>(dependency_index_table_base + 0).ToInt64(), sizeof(int) * index + sizeof(int));
            GCHandle pIndicesBufff = GCHandle.Alloc(pIndicesBuff, GCHandleType.Pinned);
            void* pIndicesBuf = pIndicesBufff.AddrOfPinnedObject().ToPointer();

            Vector4f result = *(Vector4f*)((UInt64)pMatricesBuf + 0x30 * (UInt64)index);

            int index_relation = *(int*)((UInt64)pIndicesBuf + 0x4 * (UInt64)index);

            Vector4f xmmword_1410D1340 = new Vector4f(-2.0f, 2.0f, -2.0f, 0.0f);
            Vector4f xmmword_1410D1350 = new Vector4f(2.0f, -2.0f, -2.0f, 0.0f);
            Vector4f xmmword_1410D1360 = new Vector4f(-2.0f, -2.0f, 2.0f, 0.0f);

            int tries = 10000;
            int tried = 0;

            try
            {
                while (index_relation >= 0)
                {

                    if (tried++ > tries) break;
                    Matrix34 matrix34 = *(Matrix34*)((UInt64)pMatricesBuf + (0x30 * (UInt64)index_relation));

                    Vector4f v10 = matrix34.vec2 * result;
                    Vector4f v11 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(0)));
                    Vector4f v12 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(85)));
                    Vector4f v13 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-114)));
                    Vector4f v14 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-37)));
                    Vector4f v15 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-86)));
                    Vector4f v16 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(113)));
                    result = (((((((v11 * xmmword_1410D1350) * v13) - ((v12 * xmmword_1410D1360) * v14)) * VectorOperations.Shuffle(v10, (ShuffleSel)(-86))) +
                            ((((v15 * xmmword_1410D1360) * v14) - ((v11 * xmmword_1410D1340) * v16)) * VectorOperations.Shuffle(v10, (ShuffleSel)(85)))) +
                            (((((v12 * xmmword_1410D1340) * v16) - (v15 * xmmword_1410D1350 * v13)) * VectorOperations.Shuffle(v10, (ShuffleSel)(0))) + v10)) + matrix34.vec0);

                    index_relation = *(int*)((UInt64)pIndicesBuf + 0x4 * (UInt64)index_relation);
                }
                pIndicesBufff.Free();
                pMatricesBufff.Free();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }


            return new UnityEngine.Vector3(result.X, result.Y, result.Z);
        }
                        IntPtr boneTransform = ma.Read<IntPtr>(playerAddr + 0x88);
                        IntPtr boneTransform1 = ma.Read<IntPtr>(boneTransform + 0x28);
                        IntPtr boneTransform2 = ma.Read<IntPtr>(boneTransform1 + 0x18);
                        IntPtr boneTransform3 = ma.Read<IntPtr>(boneTransform2 + 0x28);
                        IntPtr headAddr = ma.Read<IntPtr>(boneTransform3 + (0x20 + (133 * 8))); // Head address (133 == head index)
                        UnityEngine.Vector3 headPos = GetBonePosition(headAddr, ma); // Always == (0,0,0)


lofaq 20th April 2019 06:33 AM

Did you find this function?
Quote:

VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(0))

HELOHELO121 20th April 2019 03:31 PM

Quote:

Originally Posted by lofaq (Post 2440055)
Did you find this function?

Search, download, and reference Mono.Simd.dll (C#)


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

HELOHELO121 21st April 2019 07:24 PM

Quote:

Originally Posted by liquidace (Post 2433028)
Is there an easy way to draw the correct crosshair location? Center screen doesnt work:

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

This also means when aimbotting its off by a lot lol:

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

What font are you using for your ESP? Me likie

EDIT:

Has the fix to the mysterious flickering arm bones still not been found yet?
https://imgur.com/4BE9FxP

kenng089 22nd April 2019 04:51 PM

Anyone have updated offsets as of April?

BraydenEGC 22nd April 2019 04:53 PM

Quote:

Originally Posted by kenng089 (Post 2442899)
~snip~



All in here.

kenng089 22nd April 2019 04:56 PM

are you sure about that? Can you confirm if they changed GOM = 0x1432840

Seems i cant kinda figure this out about offsets. Ive tried different once and i cant seem to get my discord overlay to pop up for some reason it's not reading ingame i think. What to do? Anyone can confirm my offsets?

public static class ..............
{
public static readonly string procName = "EscapeFromTarkov";
public static readonly long GOM = 0x1432840;

public static IntPtr gameObjectManager = Base.GetPtr(new IntPtr(Memory.ImageBase().ToInt64() + GOM), new int[] { });

public static IntPtr gameWorld = new IntPtr(0x0);

private static readonly int[] fpsCameraStruct = new int[] { 0x30, 0x18 };
public static IntPtr fpsCamera = new IntPtr(0x0);

private static readonly int[] localGameWorldStruct = new int[] { 0x30, 0x18, 0x28 };
public static IntPtr localGameWorld = new IntPtr(0x0);

private static readonly int[] registeredPlayerStruct = new int[] { 0x60 };
public static IntPtr registeredPlayers = new IntPtr(0x0);
private static readonly int[] playerCountStruct = new int[] { 0x18 };

BraydenEGC 22nd April 2019 10:42 PM

Quote:

Originally Posted by kenng089 (Post 2442903)
~snip~

I am 120% sure they are all in here. It is your will (or rather no will) to look that is stopping you from finding them.

liquidace 22nd April 2019 11:00 PM

Give the man some pasta, hes hungry dude. What if hes like 12 and hasnt eaten in months?

BraydenEGC 22nd April 2019 11:01 PM

Quote:

Originally Posted by liquidace (Post 2443229)
~snip~

Sounds like he should get off UC and go get a job.

kenng089 23rd April 2019 11:54 AM

no im not 12 and i do have a job btw ) You guys in here are harsh, chillax im new and learning. I dont need any paste code, but thanks for wasting your time writing that when u instead could spent 1min to write something useful BTW.

liquidace 23rd April 2019 11:56 AM

install emutarkov
open emutarkov
open cheatengine
attach cheatengine
dump mono
???
profit

kenng089 23rd April 2019 11:58 AM

Quote:

Originally Posted by liquidace (Post 2443724)
install emutarkov
open emutarkov
open cheatengine
attach cheatengine
dump mono
???
profit

Thanks mr. Didnt know emutarkov had same offsets as live servers.

liquidace 23rd April 2019 12:07 PM

you use the game files to spawn the server so yeah all offsets are the same

12343com 26th April 2019 05:18 PM

var isLocalPlayer = readInt(readLong(readLong(playerAddress + 0x88) + 0x68) + 0x18) == 0;


localplayer check

liquidace 27th April 2019 01:36 AM

or just player address + 0x18 thats been posted 1e99999 times

HELOHELO121 27th April 2019 07:33 AM

Does anyone have the chain to get a player's level? Thanks in advance.

Ac1d777 27th April 2019 11:32 AM

Quote:

Originally Posted by HELOHELO121 (Post 2447496)
Does anyone have the chain to get a player's level? Thanks in advance.

Check in DnSpy how game calculate level using EXP and some more variables, afaik here no exact level value.

HELOHELO121 27th April 2019 03:11 PM

Quote:

Originally Posted by Ac1d777 (Post 2447641)
Check in DnSpy how game calculate level using EXP and some more variables, afaik here no exact level value.

I'll look into it. I saw some other cheat had player levels so I figured it was just stored as an integer somewhere

SnDiX 29th April 2019 05:12 PM

Anyone here has some info on how to do teleport currently? I see quite a few People still teleporting.

BraydenEGC 29th April 2019 08:06 PM

Quote:

Originally Posted by SnDiX (Post 2450082)
~snip~



I haven�t seen a single teleporter. All the methods I know of were patched.

ZeusLord 29th April 2019 08:08 PM

Quote:

Originally Posted by HELOHELO121 (Post 2447846)
I'll look into it. I saw some other cheat had player levels so I figured it was just stored as an integer somewhere



iirc it’s somewhere in profile maybe skills or something but yeah it’s def stored somewhere

EDIT: Profile.Info.Level

liquidace 29th April 2019 09:26 PM

Quote:

Originally Posted by SnDiX (Post 2450082)
Anyone here has some info on how to do teleport currently? I see quite a few People still teleporting.

most of the popular p2c's have speedhacks so maybe you're seeing that?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

BraydenEGC 29th April 2019 09:28 PM

Quote:

Originally Posted by liquidace (Post 2450373)
~snip~

He could be seeing my speedhack as well. It will glitch the fuck out on people who have slow internet. It is super P tho. I can get across woods in 10 seconds.

SnDiX 29th April 2019 09:51 PM

Quote:

Originally Posted by liquidace (Post 2450373)
most of the popular p2c's have speedhacks so maybe you're seeing that?

Yeah upon further Investigation it Looks like speedhack more.. so anyone has Information on that :

BraydenEGC 29th April 2019 09:53 PM

Quote:

Originally Posted by SnDiX (Post 2450384)
~snip~

Is that a P2C you are using in the video? It just looks like two of the most popular P2Cs.

SnDiX 29th April 2019 09:54 PM

Quote:

Originally Posted by BraydenEGC (Post 2450387)
Is that a P2C you are using in the video? It just looks like two of the most popular P2Cs.

nah its my own, but i used one of the popular p2c as Inspiration for my overlay because i kinda liked the look of it

BraydenEGC 29th April 2019 09:54 PM

Quote:

Originally Posted by SnDiX (Post 2450389)
~snip~

Ah, okay. Well, it looks pretty good.

SnDiX 29th April 2019 09:57 PM

Quote:

Originally Posted by BraydenEGC (Post 2450390)
Ah, okay. Well, it looks pretty good.

thanks,
yeah im Pretty happy with it, just hate being killed by someone that goes sonic mode and Maybe i should switch to internal instead but whatever

BraydenEGC 29th April 2019 10:03 PM

Quote:

Originally Posted by SnDiX (Post 2450392)
~snip~

But going sonic mode is SOOOO much fun.
You should add names to your ESP so I could see if it was me or not. (Probably not because I RARELY play labs.)

SnDiX 29th April 2019 10:10 PM

Quote:

Originally Posted by BraydenEGC (Post 2450397)
~

give me a hint then :P , dont need Offsets just a General direction ( if it does work from external aswell)
labs must be unplayable for non-cheaters, i Encounter so many other cheaters on it -> i actually have names but i rarely ever enable it

HELOHELO121 30th April 2019 05:32 AM

Does anyone have the chain to check if a player is visible?

Quote:

Originally Posted by SnDiX (Post 2450384)
Yeah upon further Investigation it Looks like speedhack more.. so anyone has Information on that :
Speedhacker.mp4

You should cover up your Session ID in the bottom left corner. I do with my cheat by just drawing a black rectangle in the bottom left corner. AFAIK BSG can use that code to get information about you and the match.

mikangchan 30th April 2019 06:30 AM

Quote:

Originally Posted by BraydenEGC (Post 2450397)
But going sonic mode is SOOOO much fun.
You should add names to your ESP so I could see if it was me or not. (Probably not because I RARELY play labs.)

i was thinking noclip or teleporting a short distance but apparently it's not the case?

ThePapanoob 30th April 2019 10:20 AM

Quote:

Originally Posted by mikangchan (Post 2450601)
i was thinking noclip or teleporting a short distance but apparently it's not the case?

theres multiple ways of implementing speedhack

TripleT 1st May 2019 01:59 AM

Process Address to EFT.GameWorld
 
Hey guys, very new to all of this but I'm trying to figure out how to get from the GOM to EFT.GameWorld:

1938fbc8 : EFT.GameWorld
fields
60 : RegisteredPlayers

I've looped through the Active Object List and find the object with name = "GameWorld" and then 0x30] + 0x18] + 0x28] gives me an object of type ClientNetworkGameWorld. But then + 0x60] + 0x18] doesn't give me the number of players... Other offsets don't appear to be correct either. Have I not found the EFT.GameWorld Object?

Thanks in advance for any help you could offer.

mikangchan 1st May 2019 04:49 AM

Quote:

Originally Posted by ThePapanoob (Post 2450681)
theres multiple ways of implementing speedhack

wanna give a hint?

GDPR_Anonymous 1st May 2019 06:17 PM

Quote:

Originally Posted by mikangchan (Post 2451654)
wanna give a hint?

theres already been a few methods posted on here, i think themacoi (sorry for butcher) posted a version of it on his emutarkov thread

mikangchan 1st May 2019 08:26 PM

Quote:

Originally Posted by Fyrahh (Post 2452715)
theres already been a few methods posted on here, i think themacoi (sorry for butcher) posted a version of it on his emutarkov thread

i'm aware some of the old methods, but none of them works I assume.
also i just looked at maoci's thread again and find nothing regarding speedhack. would be nice if you can share that post here

doretz 2nd May 2019 03:45 AM

Does anyone have the latest internal function to transform bone positions? Tried to find it but I don't think I got it correctly

BraydenEGC 2nd May 2019 03:46 AM

Quote:

Originally Posted by doretz (Post 2453223)
~snip~



You can simply mimic it. It has been posted multiple times in the Rust section. I have also sent it to you on discord before. Big L, homie.

CraigChrist 2nd May 2019 04:36 AM

Does anyone have the offset of player rotation in MovementContext?

n7292 2nd May 2019 05:24 AM

Quote:

Originally Posted by BraydenEGC (Post 2453225)
You can simply mimic it. It has been posted multiple times in the Rust section. I have also sent it to you on discord before. Big L, homie.

New to cheating on tarkov (and unity3d games) so if you can help me out with this bone position stuff that would be great. We've looked around the Rust section and found some of their bone reversal functions but to no avail.

I'm internal because mono cheats are dumb.

From what I've seen on this thread is that the consensus is player] + 0x88] + 0x28] + 0x18] + 0x28] == our bone array.

We can get a pointer to our transform object in our bone array + 0x20 + (0x8 * boneIndex).

The boneIndex for pelvis is 14 (decimal, not hex), correct? Therefore, boneArray + 0x90] should be the transform object for pelvis.

If I've done anything wrong here so far, correct me.

BraydenEGC 2nd May 2019 05:27 AM

Quote:

Originally Posted by n7292 (Post 2453270)
~snip~

Player->0x88->0x28->0x28->0x10->0x20 + BoneID * 8->InternalTransformat 0 bytes into current pointer.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

n7292 2nd May 2019 05:39 AM

*snip*

elevenelven 2nd May 2019 08:21 AM

Quote:

Originally Posted by TripleT (Post 2451520)
Hey guys, very new to all of this but I'm trying to figure out how to get from the GOM to EFT.GameWorld:

1938fbc8 : EFT.GameWorld
fields
60 : RegisteredPlayers

I've looped through the Active Object List and find the object with name = "GameWorld" and then 0x30] + 0x18] + 0x28] gives me an object of type ClientNetworkGameWorld. But then + 0x60] + 0x18] doesn't give me the number of players... Other offsets don't appear to be correct either. Have I not found the EFT.GameWorld Object?

Thanks in advance for any help you could offer.

Loop through the list of ActiveObjects, find first one GW. Skip it.
You should take second one.

Code:

gameWorldEntityOffset = findActiveObjectOffset("gameworld", 2);

doretz 2nd May 2019 02:48 PM

Quote:

Originally Posted by elevenelven (Post 2453367)
Loop through the list of ActiveObjects, find first one GW. Skip it.
You should take second one.

Code:

gameWorldEntityOffset = findActiveObjectOffset("gameworld", 2);

Is this a normal thing to do? The first gameworld for me has everything, but maybe its because I was in offline mode.

BraydenEGC 2nd May 2019 02:50 PM

Escape from Tarkov Reversal, Structs and Offsets
 
Quote:

Originally Posted by doretz (Post 2453671)
~snip~



It is Unity�s amazing garbage collection system. It was the reason we had to occasionally restart our pc�s when using my cheat. I now just save all gameworlds, and iterate through them until I find the valid one. Rough solution but it works perfectly.

Repiz29 2nd May 2019 09:18 PM

Hello everyone,
I'm not new to the cheat world, but I've never managed to create one of my own, I kindly ask if anyone is willing to share the GameObject of the last version of EFT.
Thanks in advance

PutinIsLove 3rd May 2019 01:24 PM

Quote:

Originally Posted by Repiz29 (Post 2454029)
Hello everyone,
I'm not new to the cheat world, but I've never managed to create one of my own, I kindly ask if anyone is willing to share the GameObject of the last version of EFT.
Thanks in advance

What do you mean. Everything you need has already been posted earlier

DavidPi 3rd May 2019 09:21 PM

Hey !

First time I try to write a cheat.
Going external (with c#) and I have following offsets:

Code:

class Offsets
    {
        public class fromBaseAdress
        {
            public const long gameObjectManagerOffset = 0x1432840;
        }

        public class fromGameObjectManager
        {
            public const long firstActiveObjectAddressOffset = 0x18;
            public const long firstTaggedObjectAddressOffset = 0x8;
        }

        public class fromGameObject
        {
            public const long gameObjectNameAddressOffset = 0x60;

            public const long localGameWorldObjectOffset1 = 0x30;
            public const long localGameWorldObjectOffset2 = 0x18;
            public const long localGameWorldObjectOffset3 = 0x28;
        }

        public class fromLocalGameWorld
        {
            public const long playerArrayObjectAddressOffset = 0x60;
        }

        public class fromPlayerList
        {
            public const long playerCountAddressOffset = 0x18;

            public const long firstPlayerAddressOffset = 0x10;

            public const long playerAddressOffset1 = 0x20;

            public const long playerAddressOffset2 = 0x8; //"space between" players
        }
    }

I carefully read the WHOLE thread and I spent two days trying to figure out how to get MovementContext (and then Vector3 of pos)

Can someone give me a hint on how to find player pos thanks to dnspy and cheatengine monodissect ? (Saved the list but my values are fucked https://imgur.com/a/DsjHuFy)
( Looked in Player / EFT.PLayer / MovementState but Im lost because of strange values https://imgur.com/a/9lhZytw)

Not asking to be spoonfed but to be put on the "right" way. Please, Help the baby dev to levelup :wizard:. :)

BraydenEGC 3rd May 2019 09:32 PM

Quote:

Originally Posted by DavidPi (Post 2454997)
~snip~

The most reliable way (afaik) is to just use bone position. You can use some simple math or a special bone to get the position of the player.

(Simple math as in take the average of the feet positions.)

DavidPi 3rd May 2019 09:48 PM

Quote:

Originally Posted by BraydenEGC (Post 2455007)
The most reliable way (afaik) is to just use bone position. You can use some simple math or a special bone to get the position of the player.

(Simple math as in take the average of the feet positions.)

I previously have seen your "left bone pos + right bone pos"/2 answer.. Was hoping there was something easier ^^ ( #Lazy)

Ill do it that way !

Thanks for the answer.

HELOHELO121 3rd May 2019 10:28 PM

Quote:

Originally Posted by DavidPi (Post 2455014)
I previously have seen your "left bone pos + right bone pos"/2 answer.. Was hoping there was something easier ^^ ( #Lazy)

Ill do it that way !

Thanks for the answer.

AFAIK there is only 2 methods. Reading the pos of the 'secret bone' or doing by average the 2 bone positions. I do that this way:
Code:

private float GetAverage(float a, float b)
{
    return (a + b) / 2;
}
private UnityEngine.Vector3 GetAverage(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
{
    return new UnityEngine.Vector3(GetAverage(a.x, b.x), GetAverage(a.y, b.y), GetAverage(a.z, b.z));
}

UnityEngine.Vector3 lFootPos = GetBonePosition(Read<IntPtr>(BoneMatrix + (0x20 + ((int)eHumanBones.HumanLFoot * 8))));
UnityEngine.Vector3 rFootPos = GetBonePosition(Read<IntPtr>(BoneMatrix + (0x20 + ((int)eHumanBones.HumanRFoot * 8))));

UnityEngine.Vector3 Location = GetAverage(lFootPos, rFootPos);

Edit: There IS a third method:
Player + 0x38] + 0x68] (UnityEngine.Vector3)
This this the MovementContext method you were referring to, but this vector3 is unreliable and only updates when the entity is within your fov.

BraydenEGC 4th May 2019 12:13 AM

Quote:

Originally Posted by DavidPi (Post 2455014)
~snip~


Yeah, I see what you mean by easier way. I just like to call it the secret home, but in reality, it is SUPER easy to find if you have dumped the bone enum. If you really want to know what the secret bone is, just dump the bones.

DavidPi 4th May 2019 03:06 PM

Quote:

Originally Posted by HELOHELO121 (Post 2455048)
Edit: There IS a third method:
Player + 0x38] + 0x68] (UnityEngine.Vector3)
This this the MovementContext method you were referring to, but this vector3 is unreliable and only updates when the entity is within your fov.

I Already tried the 3rd method but its useless. It only refresh if the ennemy is in your fov..

Quote:

Originally Posted by BraydenEGC (Post 2455124)
Yeah, I see what you mean by easier way. I just like to call it the secret home, but in reality, it is SUPER easy to find if you have dumped the bone enum. If you really want to know what the secret bone is, just dump the bones.

is it related to this object :p ?
https://i.imgur.com/jScn7GL.png

HELOHELO121 4th May 2019 07:24 PM

Quote:

Originally Posted by DavidPi (Post 2455701)
I Already tried the 3rd method but its useless. It only refresh if the ennemy is in your fov..



is it related to this object :p ?
https://i.imgur.com/jScn7GL.png

Figured it out. The bone index of the base is 0.
https://i.imgur.com/hrsA2se.png
Bone Enum:
Code:

    public enum eHumanBones
    {
        HumanBase = 0,
        HumanPelvis = 14,
        HumanLThigh1 = 15,
        HumanLThigh2 = 16,
        HumanLCalf = 17,
        HumanLFoot = 18,
        HumanLToe = 19,
        HumanRThigh1 = 20,
        HumanRThigh2 = 21,
        HumanRCalf = 22,
        HumanRFoot = 23,
        HumanRToe = 24,
        HumanSpine1 = 29,
        HumanSpine2 = 36,
        HumanSpine3 = 37,
        HumanLCollarbone = 89,
        HumanLUpperarm = 90,
        HumanLForearm1 = 91,
        HumanLForearm2 = 92,
        HumanLForearm3 = 93,
        HumanLPalm = 94,
        HumanRCollarbone = 110,
        HumanRUpperarm = 111,
        HumanRForearm1 = 112,
        HumanRForearm2 = 113,
        HumanRForearm3 = 114,
        HumanRPalm = 115,
        HumanNeck = 132,
        HumanHead = 133
    };

How I read the base:
Code:

UnityEngine.Vector3 Location = GetBonePosition(Read<IntPtr>(BoneMatrix + (0x20 + ((int)eHumanBones.HumanBase * 8))));
--EDIT:--

Can someone help me get the optic_camera? Here's what I'm doing.
Code:

                       
long ds = ma.FindTaggedObject("optic_camera").addr;
if (ds == 0)
{
    FPSCamera = new Camera(ma.FindTaggedObject("fps camera").addr, ma);
}
else
{
    FPSCamera = new Camera(ds, ma);
}

The issue is that ds isn't 0 except when switching weapons, so it uses optic_camera all the time.

TheMadMin3r 4th May 2019 10:27 PM

Quote:

Originally Posted by HELOHELO121 (Post 2455945)
long ds = ma.FindTaggedObject("optic_camera").addr;
if (ds == 0)
{
FPSCamera = new Camera(ma.FindTaggedObject("fps camera").addr, ma);
}
else
{
FPSCamera = new Camera(ds, ma);
}
[/CODE]
The issue is that ds isn't 0 except when switching weapons, so it uses optic_camera all the time.

Just check whether or not we're scoping and only use optic camera then?

HELOHELO121 4th May 2019 10:30 PM

Quote:

Originally Posted by TheMadMin3r (Post 2456107)
Just check whether or not we're scoping and only use optic camera then?

What's the chain to check if a player is scoping?

DavidPi 4th May 2019 11:11 PM

Quote:

Originally Posted by HELOHELO121 (Post 2455945)
Figured it out. The bone index of the base is 0.
https://i.imgur.com/hrsA2se.png
Bone Enum:
Code:

    public enum eHumanBones
    {
        HumanBase = 0,
        HumanPelvis = 14,
        HumanLThigh1 = 15,
        HumanLThigh2 = 16,
        HumanLCalf = 17,
        HumanLFoot = 18,
        HumanLToe = 19,
        HumanRThigh1 = 20,
        HumanRThigh2 = 21,
        HumanRCalf = 22,
        HumanRFoot = 23,
        HumanRToe = 24,
        HumanSpine1 = 29,
        HumanSpine2 = 36,
        HumanSpine3 = 37,
        HumanLCollarbone = 89,
        HumanLUpperarm = 90,
        HumanLForearm1 = 91,
        HumanLForearm2 = 92,
        HumanLForearm3 = 93,
        HumanLPalm = 94,
        HumanRCollarbone = 110,
        HumanRUpperarm = 111,
        HumanRForearm1 = 112,
        HumanRForearm2 = 113,
        HumanRForearm3 = 114,
        HumanRPalm = 115,
        HumanNeck = 132,
        HumanHead = 133
    };

How I read the base:
Code:

UnityEngine.Vector3 Location = GetBonePosition(Read<IntPtr>(BoneMatrix + (0x20 + ((int)eHumanBones.HumanBase * 8))));
--EDIT:--

Can someone help me get the optic_camera? Here's what I'm doing.
Code:

                       
long ds = ma.FindTaggedObject("optic_camera").addr;
if (ds == 0)
{
    FPSCamera = new Camera(ma.FindTaggedObject("fps camera").addr, ma);
}
else
{
    FPSCamera = new Camera(ds, ma);
}

The issue is that ds isn't 0 except when switching weapons, so it uses optic_camera all the time.

Nice! Ill give it a try tomorrow.
Thank you HELOHELO121

12343com 5th May 2019 04:13 AM

Quote:

Originally Posted by HELOHELO121 (Post 2456109)
What's the chain to check if a player is scoping?

try

firearmcontroller._isAiming

or, firearmcontroller + 0x10d

it's a bool.

n7292 6th May 2019 02:21 AM

@BraydenEGC There is no reason what-so-ever to restart your PC if the first GameWorld fails. This is not the result of U3D's garbage collection at all. And U3D cannot possibly cache memory on your ram once it's closed. Restarting your game will solve this problem, if it doesn't this is an error in your own programming and you shouldn't mislead the community with information that you don't understand. That isn't how Garbage Collection works at all. This is a direct error in the programming of EFT, quite possibly by design to deter cheaters who are C/Ping public code. One can just delete the GameWorld instance when it fails and move onto the next one or just loop through the rest (which I believe is something you mentioned).

To everyone else who is struggling with grabbing a player position, I snipped my old post that had information on it because the information provided was more directed towards one user than helpful to the community. As per request, I'll give the full information now.

Quote:

Transform::GetPosition (.text:0000000080D1F0) -- This is not the only GetPosition method available under Transform, I believe this specific function returns Vector3.Z (but also happens to return a full Vector3 structure in the 2nd parameter which is an IN/OUT parameter.
Code:

.text:000000014080D1F0 sub_80D1F0  proc near              ; DATA XREF: .data:00000001413B6C10↓o
.text:000000014080D1F0                                        ; .pdata:0000000141591BCC↓o
.text:000000014080D1F0
.text:000000014080D1F0 var_18          = byte ptr -18h
.text:000000014080D1F0
.text:000000014080D1F0                push    rbx
.text:000000014080D1F2                sub    rsp, 30h
.text:000000014080D1F6                mov    rbx, rdx
.text:000000014080D1F9                test    rcx, rcx
.text:000000014080D1FC                jz      short loc_14080D22A
.text:000000014080D1FE                mov    rax, [rcx+10h]
.text:000000014080D202                test    rax, rax
.text:000000014080D205                jz      short loc_14080D22A
.text:000000014080D207                lea    rdx, [rsp+38h+var_18]
.text:000000014080D20C                mov    rcx, rax
.text:000000014080D20F                call    sub_1406EA880
.text:000000014080D214                mov    ecx, [rax]
.text:000000014080D216                mov    [rbx], ecx
.text:000000014080D218                mov    ecx, [rax+4]
.text:000000014080D21B                mov    [rbx+4], ecx
.text:000000014080D21E                mov    eax, [rax+8]
.text:000000014080D221                mov    [rbx+8], eax
.text:000000014080D224                add    rsp, 30h
.text:000000014080D228                pop    rbx
.text:000000014080D229                retn
.text:000000014080D22A ; ---------------------------------------------------------------------------
.text:000000014080D22A
.text:000000014080D22A loc_14080D22A:                          ; CODE XREF: sub_14080D1F0+C↑j
.text:000000014080D22A                                        ; sub_14080D1F0+15↑j
.text:000000014080D22A                call    sub_140635A90
.text:000000014080D22F                int    3              ; Trap to Debugger
.text:000000014080D22F sub_14080D1F0  endp

As you can tell by the parameter registers used (rcx, rdx), this is an x64 __fastcall. To figure out what parameters are passed you can tell that this does not pull from registers r8 and r9 (to abide by the rules of __fastcall the first 4 parameters will be pulled from rcx, rdx, r8, and r9 -- so if they don't use r8 and r9 we can assume it's only going to take 2). It does pull parameters off the stack (rsp + 20h) but it seems that those are not crucial to the function's execution.


Code:

.text:000000014080D216                mov    [rbx], ecx
.text:000000014080D218                mov    ecx, [rax+4]
.text:000000014080D21B                mov    [rbx+4], ecx
.text:000000014080D21E                mov    eax, [rax+8]
.text:000000014080D221                mov    [rbx+8], eax

It's clear from this assembly snapshot that we have a full Vector3 structure in RBX and then pop it off the stack after we grab its contents (shown below, right before the return). This function, in no way, allocates space for RBX. As shown here:

Code:

.text:000000014080D1F6                mov    rbx, rdx
Remember how I mentioned that x64 __fastcall will take parameters in rcx, rdx, r8 and r9 respectively? Well, we immediately move the address of rdx (parameter two) into rbx. This is because those parameter registers are VOLATILE. The assembler will immediately store the value in a separate register (in our case RBX) non-subject to change.

When the function is done, we pop rbx.

Code:

.text:000000014080D228                pop    rbx
x64 __fastcall will return through RAX.

RAX has our Z position, and RBX has our Vector3 position. So we utilize RBX instead of RAX and consider that the function's return value. Don't get confused here, RAX will be returned, it's just the register that contains the address of the IN/OUT parameter is RBX and we push our own Vector3 address to this register by passing it through the IN parameter.

Do not accept a return value from this function, or you'll end up with the contents of RAX. Use RBX.

Here is a C++ Implementation of all that information:
Code:

typedef UINT64(__fastcall *transformGetPosition)(UINT64 transform, UINT64 outPosition);
transformGetPosition TransformGetPosition = NULL;

TransformGetPosition = reinterpret_cast<transformGetPosition>(reinterpret_cast<UINT64>(GetModuleHandle(NULL)) + 0x80D1F0);

Vector3 newVector = Vector3(0.f, 0.f, 0.f);
TransformGetPosition(transformPtr, (UINT64)&newVector);

Our position of the transform is now stored in newVector. We typedef a return value but never accept one because it's useless in our case. Please, for the love of god and all that is holy, try to understand the assembly behind the function without just copy-pasting the implementation below. Attempt to learn what is going on under the hood, and this community will never have the same problem again.

mikangchan 6th May 2019 05:27 AM

Quote:

Originally Posted by n7292 (Post 2457273)
@BraydenEGC There is no reason what-so-ever to restart your PC if the first GameWorld fails. This is not the result of U3D's garbage collection at all. And U3D cannot possibly cache memory on your ram once it's closed. Restarting your game will solve this problem, if it doesn't this is an error in your own programming and you shouldn't mislead the community with information that you don't understand. That isn't how Garbage Collection works at all. This is a direct error in the programming of EFT, quite possibly by design to deter cheaters who are C/Ping public code. One can just delete the GameWorld instance when it fails and move onto the next one or just loop through the rest (which I believe is something you mentioned).

To everyone else who is struggling with grabbing a player position, I snipped my old post that had information on it because the information provided was more directed towards one user than helpful to the community. As per request, I'll give the full information now.


Code:

.text:000000014080D1F0 sub_80D1F0  proc near              ; DATA XREF: .data:00000001413B6C10↓o
.text:000000014080D1F0                                        ; .pdata:0000000141591BCC↓o
.text:000000014080D1F0
.text:000000014080D1F0 var_18          = byte ptr -18h
.text:000000014080D1F0
.text:000000014080D1F0                push    rbx
.text:000000014080D1F2                sub    rsp, 30h
.text:000000014080D1F6                mov    rbx, rdx
.text:000000014080D1F9                test    rcx, rcx
.text:000000014080D1FC                jz      short loc_14080D22A
.text:000000014080D1FE                mov    rax, [rcx+10h]
.text:000000014080D202                test    rax, rax
.text:000000014080D205                jz      short loc_14080D22A
.text:000000014080D207                lea    rdx, [rsp+38h+var_18]
.text:000000014080D20C                mov    rcx, rax
.text:000000014080D20F                call    sub_1406EA880
.text:000000014080D214                mov    ecx, [rax]
.text:000000014080D216                mov    [rbx], ecx
.text:000000014080D218                mov    ecx, [rax+4]
.text:000000014080D21B                mov    [rbx+4], ecx
.text:000000014080D21E                mov    eax, [rax+8]
.text:000000014080D221                mov    [rbx+8], eax
.text:000000014080D224                add    rsp, 30h
.text:000000014080D228                pop    rbx
.text:000000014080D229                retn
.text:000000014080D22A ; ---------------------------------------------------------------------------
.text:000000014080D22A
.text:000000014080D22A loc_14080D22A:                          ; CODE XREF: sub_14080D1F0+C↑j
.text:000000014080D22A                                        ; sub_14080D1F0+15↑j
.text:000000014080D22A                call    sub_140635A90
.text:000000014080D22F                int    3              ; Trap to Debugger
.text:000000014080D22F sub_14080D1F0  endp

As you can tell by the parameter registers used (rcx, rdx), this is an x64 __fastcall. To figure out what parameters are passed you can tell that this does not pull from registers r8 and r9 (to abide by the rules of __fastcall the first 4 parameters will be pulled from rcx, rdx, r8, and r9 -- so if they don't use r8 and r9 we can assume it's only going to take 2). It does pull parameters off the stack (rsp + 20h) but it seems that those are not crucial to the function's execution.


Code:

.text:000000014080D216                mov    [rbx], ecx
.text:000000014080D218                mov    ecx, [rax+4]
.text:000000014080D21B                mov    [rbx+4], ecx
.text:000000014080D21E                mov    eax, [rax+8]
.text:000000014080D221                mov    [rbx+8], eax

It's clear from this assembly snapshot that we have a full Vector3 structure in RBX and then pop it off the stack after we grab its contents (shown below, right before the return). This function, in no way, allocates space for RBX. As shown here:

Code:

.text:000000014080D1F6                mov    rbx, rdx
Remember how I mentioned that x64 __fastcall will take parameters in rcx, rdx, r8 and r9 respectively? Well, we immediately move the address of rdx (parameter two) into rbx. This is because those parameter registers are VOLATILE. The assembler will immediately store the value in a separate register (in our case RBX) non-subject to change.

When the function is done, we pop rbx.

Code:

.text:000000014080D228                pop    rbx
x64 __fastcall will return through RAX.

RAX has our Z position, and RBX has our Vector3 position. So we utilize RBX instead of RAX and consider that the function's return value. Don't get confused here, RAX will be returned, it's just the register that contains the address of the IN/OUT parameter is RBX and we push our own Vector3 address to this register by passing it through the IN parameter.

Do not accept a return value from this function, or you'll end up with the contents of RAX. Use RBX.

Here is a C++ Implementation of all that information:
Code:

typedef UINT64(__fastcall *transformGetPosition)(UINT64 transform, UINT64 outPosition);
transformGetPosition TransformGetPosition = NULL;

TransformGetPosition = reinterpret_cast<transformGetPosition>(reinterpret_cast<UINT64>(GetModuleHandle(NULL)) + 0x80D1F0);

Vector3 newVector = Vector3(0.f, 0.f, 0.f);
TransformGetPosition(transformPtr, (UINT64)&newVector);

Our position of the transform is now stored in newVector. We typedef a return value but never accept one because it's useless in our case. Please, for the love of god and all that is holy, try to understand the assembly behind the function without just copy-pasting the implementation below. Attempt to learn what is going on under the hood, and this community will never have the same problem again.

it's posted dozen times. this is the internal function for unity's transform

12343com 6th May 2019 05:51 AM

Quote:

Originally Posted by mikangchan (Post 2457335)
it's posted dozen times. this is the internal function for unity's transform

Yeah the internal functions are not at all hard to find, but I think his point was to more explain how the assembly works than just post it.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

n7292 6th May 2019 08:25 AM

Quote:

Originally Posted by 12343com (Post 2457343)
Yeah the internal functions are not at all hard to find, but I think his point was to more explain how the assembly works than just post it.

That was the point, to help new users get into this. Little tired of everyone going into this type of stuff and having no clue whats actually going on. But instead of shit on people, I try to help, unlike most people here.

12343com 6th May 2019 10:06 AM

Quote:

Originally Posted by n7292 (Post 2457402)
That was the point, to help new users get into this. Little tired of everyone going into this type of stuff and having no clue whats actually going on. But instead of shit on people, I try to help, unlike most people here.

I don't have much of a presence here, but I appreciate it. It's an insightful post, for sure. I normally slap my F5 key in ida to view the c++ so I can just work off that because I know fuck all about assembly.

To keep my post on topic, here's a way to get rotation internally:

Code:

typedef __int64 __fastcall INTERNAL_get_rotation(__int64, __int64);

...

INTERNAL_get_rotation* INTERNAL_get_rot = (INTERNAL_get_rotation*)(_base + 0x80D350);

...

__int64 ptr = (__int64)(new Vector4{ 0, 0, 0, 0 });
INTERNAL_get_rot(TRANSFORM_INTERNAL, ptr); // *(__int64*)(transform + 0x10)

Vector4 is actually a Quaternion in unity, but i only need x,y,z,w from it so Vector4 is just a struct with x,y,z,w.

It isn't pretty, but it works. Whoever wants to improve that, be my guest.


edit: here's a version where you don't need to get the struct fields by offset or cast to Vector4* and dereference:

Code:

typedef __int64 __fastcall INTERNAL_get_rotation(__int64, __int64);

...

INTERNAL_get_rotation* INTERNAL_get_rot = (INTERNAL_get_rotation*)(_base + 0x80D350);

...

Vector4 Vector4_Out = Vector4{ 0, 0, 0, 0 };
INTERNAL_get_rot(TRANSFORM_INTERNAL, (__int64)&Vector4_Out); // *(__int64*)(transform + 0x10)

Then you can do Vector4_Out.x, etc

I didn't test it, so let me know if any problems crop up.

BraydenEGC 6th May 2019 01:14 PM

Quote:

Originally Posted by n7292 (Post 2457273)
~snip~


I realized it wasn�t an issue with garbage collection a while after I posted it. The reason I originally thought it was garbage collection was because a friend told me, and I didn�t even remotely second guess it because he is amazing at cheating in EFT. My fault and apologies.

n7292 6th May 2019 08:43 PM

Quote:

Originally Posted by 12343com (Post 2457444)
--

Good extension to the post, one of these days I'll compile up all the transform functions and get a decent internal SDK out for users who are learning. Using Hex-Rays' Pseudo-code is fine, but eventually you'll come across functions that pseudo-code either fails to decompile properly (and gives you the wrong parameters, etc), and you'll need to fall back on assembly. It's an easy to learn and solid skill. I don't see many people on here putting in the effort to just learn it. Good on you.

DavidPi 12th May 2019 11:32 AM

Quote:

Originally Posted by PutinIsLove (Post 2430242)
Thanks again !

Have u ever had a "System.AccessViolationException" on that line ?

Vector4f result = *(Vector4f*)((UInt64)pMatricesBuf + 0x30 * (UInt64)index);

I sometimes have the exact same error... Did you find where it came from ?

BraydenEGC 12th May 2019 04:33 PM

Quote:

Originally Posted by DavidPi (Post 2462653)
~snip~

If you aren't internal, it is pretty obvious why it isn't working. :)

DavidPi 12th May 2019 09:58 PM

Quote:

Originally Posted by BraydenEGC (Post 2462874)
If you aren't internal, it is pretty obvious why it isn't working. :)

It looks so easy for you but I dont get it ...

Here is the function (InPtr.Zero checks removed for the sake of clarity):

Code:

public unsafe static Vector3 GetBonePosition(IntPtr transform)
        {
            IntPtr pTransformInternal = IntPtr.Add(transform, 0x10);

            IntPtr pIndex = Memory.GetPtr(pTransformInternal, new int[] { 0x38 + 0x8 });

            int index = Memory.Read<int>(pIndex);
           
            IntPtr pMatrix = Memory.GetPtr(pTransformInternal, 0x38);

            IntPtr pMatrixListBase = Memory.GetPtr(pMatrix, 0x8);

            IntPtr pDependencyIndexTableBase = Memory.GetPtr(pMatrix, 0x10);
           
            int sizePMatricesBuff = sizeof(Matrix34) * index + sizeof(Matrix34);
            byte[] pMatricesBuff = Memory.ReadBytes(Memory.GetPtr(pMatrixListBase, 0).ToInt64(), sizePMatricesBuff);
            GCHandle pMatricesBufff = GCHandle.Alloc(pMatricesBuff, GCHandleType.Pinned);
            void* pMatricesBuf = pMatricesBufff.AddrOfPinnedObject().ToPointer();
           
            int sizePIndicesBuff = sizeof(int) * index + sizeof(int);
            byte[] pIndicesBuff = Memory.ReadBytes(Memory.GetPtr(pDependencyIndexTableBase, 0).ToInt64(), sizePIndicesBuff);
            GCHandle pIndicesBufff = GCHandle.Alloc(pIndicesBuff, GCHandleType.Pinned);
            void* pIndicesBuf = pIndicesBufff.AddrOfPinnedObject().ToPointer();

            Vector4f result = *(Vector4f*)((UInt64)pMatricesBuf + 0x30 * (UInt64)index);

            int index_relation = *(int*)((UInt64)pIndicesBuf + 0x4 * (UInt64)index);

            Vector4f xmmword_1410D1340 = new Vector4f(-2.0f, 2.0f, -2.0f, 0.0f);
            Vector4f xmmword_1410D1350 = new Vector4f(2.0f, -2.0f, -2.0f, 0.0f);
            Vector4f xmmword_1410D1360 = new Vector4f(-2.0f, -2.0f, 2.0f, 0.0f);

            int tries = 10000;
            int tried = 0;

            try
            {
                while (index_relation >= 0)
                {

                    if (tried++ >= tries) break;
                    Matrix34 matrix34 = *(Matrix34*)((UInt64)pMatricesBuf + (0x30 * (UInt64)index_relation));

                    Vector4f v10 = matrix34.vec2 * result;
                    Vector4f v11 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(0)));
                    Vector4f v12 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(85)));
                    Vector4f v13 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-114)));
                    Vector4f v14 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-37)));
                    Vector4f v15 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-86)));
                    Vector4f v16 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(113)));
                    result = (((((((v11 * xmmword_1410D1350) * v13) - ((v12 * xmmword_1410D1360) * v14)) * VectorOperations.Shuffle(v10, (ShuffleSel)(-86))) +
                            ((((v15 * xmmword_1410D1360) * v14) - ((v11 * xmmword_1410D1340) * v16)) * VectorOperations.Shuffle(v10, (ShuffleSel)(85)))) +
                            (((((v12 * xmmword_1410D1340) * v16) - (v15 * xmmword_1410D1350 * v13)) * VectorOperations.Shuffle(v10, (ShuffleSel)(0))) + v10)) + matrix34.vec0);

                    index_relation = *(int*)((UInt64)pIndicesBuf + 0x4 * (UInt64)index_relation);
                }
                pIndicesBufff.Free();
                pMatricesBufff.Free();
                return new Vector3(result.X, result.Y, result.Z);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                pIndicesBufff.Free();
                pMatricesBufff.Free();
            }
            return Vector3.Zero();
}

This function does work but after a few time in game (> 10min), I have the following error:
https://i.imgur.com/FfiJr98.png

I checked the pointers they are not null.
Didnt have time to check the offsets thru reclass (But I dont think they moved)

One has hints ? :confused:

Edit: BTW, I have a radar and I learnt a lot of stuffs with this thread. Thank you guys !

BraydenEGC 12th May 2019 10:01 PM

Quote:

Originally Posted by DavidPi (Post 2463143)
~snip~

Why are you declaring pointers if you are external? omegalul?

DavidPi 12th May 2019 10:05 PM

Quote:

Originally Posted by BraydenEGC (Post 2463146)
Why are you declaring pointers if you are external? omegalul?

I may be wrong be I thought external hacks are in a separate process (.exe)
whereas Internal hacks are dll that get injected into the game process...

BraydenEGC 12th May 2019 10:14 PM

Quote:

Originally Posted by DavidPi (Post 2463149)
~snip~

I am terribly sorry. I misread your code. My friend believes its an error with a corrupt memory state since you said it only happens sometimes.

12343com 12th May 2019 10:24 PM

Quote:

Originally Posted by DavidPi (Post 2463149)
I may be wrong be I thought external hacks are in a separate process (.exe)
whereas Internal hacks are dll that get injected into the game process...

have you put this in a config file? (name it like yourappname.exe.config)

Code:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
  </startup>
  <runtime>
    <legacyCorruptedStateExceptionsPolicy enabled="true" />
  </runtime>
</configuration>

not sure about the whole "10 minute rule" thing but yea, you can try this.

HELOHELO121 13th May 2019 06:21 AM

Quote:

Originally Posted by DavidPi (Post 2463149)
I may be wrong be I thought external hacks are in a separate process (.exe)
whereas Internal hacks are dll that get injected into the game process...

This fixed it for me when I was experiencing this issue
https://www.unknowncheats.me/forum/2444382-post22.html
inside the catch block check if the exception is AccessViolationException, if so, append that address to the skiplist
and at the beginning of the getboneposition function check to make sure skiplist does not contain the address you are trying to read

ThePapanoob 13th May 2019 07:27 AM

Quote:

Originally Posted by HELOHELO121 (Post 2463371)
This fixed it for me when I was experiencing this issue
https://www.unknowncheats.me/forum/2444382-post22.html
inside the catch block check if the exception is AccessViolationException, if so, append that address to the skiplist
and at the beginning of the getboneposition function check to make sure skiplist does not contain the address you are trying to read



Yes lets all just ghettofix it instead of fixing the real issue :think:

12343com 13th May 2019 07:36 AM

Quote:

Originally Posted by ThePapanoob (Post 2463386)
Yes lets all just ghettofix it instead of fixing the real issue :thonk:

Don't know what's up with this skip address stuff.

BraydenEGC 13th May 2019 07:37 AM

Quote:

Originally Posted by ThePapanoob (Post 2463386)
~snip~


Your fucking avatar kills me.

ThePapanoob 13th May 2019 09:30 AM

Quote:

Originally Posted by 12343com (Post 2463389)
Don't know what's up with this skip address stuff.

look at your +reps :P gave you a hint because of your honesty

12343com 13th May 2019 10:19 AM

Quote:

Originally Posted by ThePapanoob (Post 2463442)
look at your +reps :P gave you a hint because of your honesty

Thanks, man

DavidPi 13th May 2019 07:08 PM

Quote:

Originally Posted by ThePapanoob (Post 2463442)
look at your +reps :P gave you a hint because of your honesty

Can you please share with us ? :foreveralone:

I'd like to avoid the "ghettofix" ^^

yeswejam 14th May 2019 06:30 AM

I've fixed it by allocating via Marshal.AllocHGlobal instead of GCHandle pinning.


Here you go


Code:





                int matricesBuffSize = iMatrixSize * index + iMatrixSize;
                int indicesBuffSize  =  iIntSize * index + iIntSize;

 

                Marshal.Copy(
                    Memory.ReadBytes(
                        (long)pMatrix_list_base, matricesBuffSize
                    ),
                    0,
                    pMatricesBufff = Marshal.AllocHGlobal(matricesBuffSize),
                    matricesBuffSize
                );
                Marshal.Copy(
                    Memory.ReadBytes(
                        (long)pDependency_index_table_base, indicesBuffSize
                    ),
                    0,
                    pIndicesBufff = Marshal.AllocHGlobal(indicesBuffSize),
                    indicesBuffSize
                );


37ed1 14th May 2019 07:35 AM

Quote:

Originally Posted by yeswejam (Post 2464197)
I've fixed it by allocating via Marshal.AllocHGlobal instead of GCHandle pinning.

Here you go

Code:

                int matricesBuffSize = iMatrixSize * index + iMatrixSize;
                int indicesBuffSize  =  iIntSize * index + iIntSize;

 

                Marshal.Copy(
                    Memory.ReadBytes(
                        (long)pMatrix_list_base, matricesBuffSize
                    ),
                    0,
                    pMatricesBufff = Marshal.AllocHGlobal(matricesBuffSize),
                    matricesBuffSize
                );
                Marshal.Copy(
                    Memory.ReadBytes(
                        (long)pDependency_index_table_base, indicesBuffSize
                    ),
                    0,
                    pIndicesBufff = Marshal.AllocHGlobal(indicesBuffSize),
                    indicesBuffSize
                );


I'm afraid this will not fix anything for you. I've been using AllocHGlobal for more than a half of the year and everything was good until 11.7 I believe, after update 11.7 the "bad transforms" started to appear from time to time. But in my personal experience it happens only in offline mode with high amount of bots. It's not related to just bones transforms, but for all transforms, for example it also can happen for Fireport transform, ironsights transforms and I even saw it happening for loot items(very rare tho and it recovers quickly). You can reproduce it by playing factory with high amount of bots or just horde mode.
Tried to debug it few times but meh, as I said it's a very rare event in offline mode and in online everything "just works".


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

yeswejam 14th May 2019 08:17 AM

Quote:

Originally Posted by 37ed1 (Post 2464224)
I'm afraid this will not fix anything for you. I've been using AllocHGlobal for more than a half of the year and everything was good until 11.7 I believe, after update 11.7 the "bad transforms" started to appear from time to time. But in my personal experience it happens only in offline mode with high amount of bots. It's not related to just bones transforms, but for all transforms, for example it also can happen for Fireport transform, ironsights transforms and I even saw it happening for loot items(very rare tho and it recovers quickly). You can reproduce it by playing factory with high amount of bots or just horde mode.
Tried to debug it few times but meh, as I said it's a very rare event in offline mode and in online everything "just works".

I've swapped to AllocGlobal 3 weeks ago and haven't encountered an any errors so far. Before, labs was really horrific to play with the GCHandle allocation, cause i s couldnt really use the esp for the first 3 minutes.
Now everything is perfect.
Even drawing 15 complete skeletons of players simultanously with 60fps and everything is fine.

ThePapanoob 14th May 2019 08:47 AM

Quote:

Originally Posted by yeswejam (Post 2464245)
I've swapped to AllocGlobal 3 weeks ago and haven't encountered an any errors so far. Before, labs was really horrific to play with the GCHandle allocation, cause i s couldnt really use the esp for the first 3 minutes.
Now everything is perfect.
Even drawing 15 complete skeletons of players simultanously with 60fps and everything is fine.

just trace through the code step by step and verify the addresses you will see why it happens :chinese:

37ed1 14th May 2019 09:26 AM

Quote:

Originally Posted by yeswejam (Post 2464245)
I've swapped to AllocGlobal 3 weeks ago and haven't encountered an any errors so far. Before, labs was really horrific to play with the GCHandle allocation, cause i s couldnt really use the esp for the first 3 minutes.
Now everything is perfect.
Even drawing 15 complete skeletons of players simultanously with 60fps and everything is fine.

Glad that you've resolved it!
Just my guess out of nothing about your first 3 minutes in raid: probably you are reading list of players in an incorrect way? Idk but it might be that you did some small mistake somewhere in your cheat architecture, caching something wrongly, etc, etc.
About performance: I've been examining my performance using dotTrace(jetbrains) on a factory map with horde mode of scavs(40 bots). My initial implementation with bones netted me like 10-13fps lol. A week or so, fixes here and there, some grain of multithreading and now I'm able to have 50-60fps with 40 bots while I'm reading loot items also in background. I've needed the performance hard, because I'm not using in-game angles for my aimbot.
C# too btw

yeswejam 14th May 2019 10:30 AM

Quote:

Originally Posted by 37ed1 (Post 2464289)
Glad that you've resolved it!
Just my guess out of nothing about your first 3 minutes in raid: probably you are reading list of players in an incorrect way? Idk but it might be that you did some small mistake somewhere in your cheat architecture, caching something wrongly, etc, etc.
About performance: I've been examining my performance using dotTrace(jetbrains) on a factory map with horde mode of scavs(40 bots). My initial implementation with bones netted me like 10-13fps lol. A week or so, fixes here and there, some grain of multithreading and now I'm able to have 50-60fps with 40 bots while I'm reading loot items also in background. I've needed the performance hard, because I'm not using in-game angles for my aimbot.
C# too btw


It was a lot of work in terms of optimizations but i havelearned alot.

Started with gdi and crippling through tarkov and now i'm rendering asynchronously and multithreaded with a swapchain backbuffer on a d3d11 Device.

I don't use the SharpDX DrawLine function because it's too slow in the Draw Thread.
I directly write in my update thread all Bones pixel by pixel into bitmaps
Code:

drawList["copybones"] = async delegate
{
    bonesbitmap.CopyFromMemory(memstream, Overlay._Width* 4);
    d2dContext.DrawBitmap(bonesbitmap,1, BitmapInterpolationMode.Linear); 
};

In my draw thread i simply copy the bitmaps into the backbuffer and present.
Even on Interchange with 500+ items on screen i'm not faling below 40 frames.

I've spent alot time in optimizing but it's worth it, also for the xp.

12343com 14th May 2019 10:47 AM

the only problem you should be having with a gchandle is failing to call Free on it

37ed1 14th May 2019 10:51 AM

Quote:

Originally Posted by yeswejam (Post 2464315)
It was a lot of work in terms of optimizations but i havelearned alot.

Started with gdi and crippling through tarkov and now i'm rendering asynchronously and multithreaded with a swapchain backbuffer on a d3d11 Device.

I don't use the SharpDX DrawLine function because it's too slow in the Draw Thread.
I directly write in my update thread all Bones pixel by pixel into bitmaps
Code:

drawList["copybones"] = async delegate
{
    bonesbitmap.CopyFromMemory(memstream, Overlay._Width* 4);
    d2dContext.DrawBitmap(bonesbitmap,1, BitmapInterpolationMode.Linear); 
};

In my draw thread i simply copy the bitmaps into the backbuffer and present.
Even on Interchange with 500+ items on screen i'm not faling below 40 frames.

I've spent alot time in optimizing but it's worth it, also for the xp.

Nice work!
I wish that one day, I'll get out of my laziness and switch to d3d11 from d2d1 lmao

yeswejam 14th May 2019 10:56 AM

Quote:

Originally Posted by 12343com (Post 2464319)
the only problem you should be having with a gchandle is failing to call Free on it

and/or when the SIMD Algorithm drifts off of the allocated memory space while computing.

I don't place a bet that only switching to AllocGlobal fixed my issue.
I also went Kernel and retrieve the Tarkov handle from kernel land and protect the the memory page

ThePapanoob 15th May 2019 08:50 AM

Quote:

Originally Posted by yeswejam (Post 2464315)
It was a lot of work in terms of optimizations but i havelearned alot.

Started with gdi and crippling through tarkov and now i'm rendering asynchronously and multithreaded with a swapchain backbuffer on a d3d11 Device.

I don't use the SharpDX DrawLine function because it's too slow in the Draw Thread.
I directly write in my update thread all Bones pixel by pixel into bitmaps
Code:

drawList["copybones"] = async delegate
{
    bonesbitmap.CopyFromMemory(memstream, Overlay._Width* 4);
    d2dContext.DrawBitmap(bonesbitmap,1, BitmapInterpolationMode.Linear); 
};

In my draw thread i simply copy the bitmaps into the backbuffer and present.
Even on Interchange with 500+ items on screen i'm not faling below 40 frames.

I've spent alot time in optimizing but it's worth it, also for the xp.

you really should macro optimize before you micro optimize :asian:
in my rust cheat i get >60fps with ALOT more stuff being drawn

37ed1 15th May 2019 09:56 AM

Quote:

Originally Posted by ThePapanoob (Post 2465246)
you really should macro optimize before you micro optimize :asian:
in my rust cheat i get >60fps with ALOT more stuff being drawn

You also can get constant 60 or 120fps of drawing, but if the data that is being drawn is updated at, let's say, 30fps - what is the point then to draw that data that fast?

ThePapanoob 15th May 2019 10:03 AM

Quote:

Originally Posted by 37ed1 (Post 2465282)
You also can get constant 60 or 120fps of drawing, but if the data that is being drawn is updated at, let's say, 30fps - what is the point then to draw that data that fast?

well the game updates way more often than 30 a sec and making it run alot faster also means that when you move the mouse around that it doesnt lag behind

yeswejam 15th May 2019 01:15 PM

Quote:

Originally Posted by ThePapanoob (Post 2465246)
you really should macro optimize before you micro optimize :asian:
in my rust cheat i get >60fps with ALOT more stuff being drawn

I meant the Ingame FPS of tarkov doesnt drop.
You can't equalize EFT's with Rust's graphical performance.

I'm still optimizing though.
Trying to find a better way to cache the data.

I don't want to use sharpdx DrawText in the draw phase.

I rather want to write the Strings with into bitmaps in the update thread, so i can copy and draw them in the draw phase.

Tibbles123 16th May 2019 08:12 PM

Longtime lurker here - I saw someone way earlier ask for map info and it got buried

So for our external radar folks - anyone know offsets for current world map name? Going further, for the arma games there were convenient offsets to get map size as well. Do those exist?

Would work wonders for auto scaling map image files and drawing correctly!

HELOHELO121 17th May 2019 02:22 AM

Does anyone have the current weapon slot name chain?
Currently I'm using
Code:

WeaponSlot + 0x20] + 0x20] + 0x58] + 0x14]
but it's returning bogus pointers

Thanks in advance

Edit:
I also tried
Code:

WeaponSlot + 0x20] + 0x20] + 0x50] + 0x14]
but that is returning bogus pointers as well

BraydenEGC 17th May 2019 02:47 AM

Quote:

Originally Posted by HELOHELO121 (Post 2466864)
~snip~



I get it by iterating throw my inventory slots. I can also get all my armor/backpack/etc from this.

HELOHELO121 17th May 2019 02:54 AM

Quote:

Originally Posted by BraydenEGC (Post 2466869)
I get it by iterating throw my inventory slots. I can also get all my armor/backpack/etc from this.

Sure but what chain are you using to get the name from the slot? That's what I'm struggling with

12343com 17th May 2019 03:29 AM

Quote:

Originally Posted by HELOHELO121 (Post 2466871)
Sure but what chain are you using to get the name from the slot? That's what I'm struggling with

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

you can get the item from slot like this, if i recall, then get name from item. if that's what you wanted.

so readlong(slot + 0x20); and get item name from it - same way you'd make an item esp

BraydenEGC 17th May 2019 03:33 AM

Quote:

Originally Posted by 12343com (Post 2466885)
~snip~

He wanted a c+p chain, but close enough.

HELOHELO121 17th May 2019 03:48 AM

Quote:

Originally Posted by 12343com (Post 2466885)
https://i.imgur.com/hAKMPJF.png

you can get the item from slot like this, if i recall, then get name from item. if that's what you wanted.

so readlong(slot + 0x20); and get item name from it - same way you'd make an item esp

Quote:

Originally Posted by BraydenEGC (Post 2466886)
He wanted a c+p chain, but close enough.

Nope @BraydenEGC. Got it working, that helped. Thanks @12343com :fing02:

BraydenEGC 17th May 2019 03:49 AM

Quote:

Originally Posted by HELOHELO121 (Post 2466892)
~snip~

Ah, ok. What chain did you end up using? You are evolving!

HELOHELO121 17th May 2019 03:52 AM

Quote:

Originally Posted by BraydenEGC (Post 2466893)
Ah, ok. What chain did you end up using? You are evolving!

Code:

Slot + 0x20] + 0x20] + 0x58]


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

BraydenEGC 17th May 2019 03:53 AM

Quote:

Originally Posted by HELOHELO121 (Post 2466894)
~snip~

Hmm. How are you iterating slots? (I am curious if there are more ways than mine.)

HELOHELO121 17th May 2019 04:47 AM

Quote:

Originally Posted by BraydenEGC (Post 2466895)
Hmm. How are you iterating slots? (I am curious if there are more ways than mine.)

I haven't been able to iterate through all slots and get their name to work yet. I figured I could iterate through them by just defining the enum of slots, similar to what I do with bones.
e.x.
Code:

(0x30 + (0x8 * (int)slot))
and that works for primaryweapon and secondary but anything after that including holster isn't working.
Code:

    public enum Slot
    {
        FirstPrimaryWeapon, // works
        SecondPrimaryWeapon, // works
        Holster, // this and beyond don't work
        Scabbard,
        Backpack,
        SecuredContainer,
        TacticalVest,
        ArmorVest,
        Pockets,
        Eyewear,
        FaceCover,
        Headwear,
        Earpiece,
        Dogtag,
        ArmBand
    }


BraydenEGC 17th May 2019 04:48 AM

Quote:

Originally Posted by HELOHELO121 (Post 2466906)
~snip~

What is the full chain you are trying to use?

HELOHELO121 17th May 2019 04:51 AM

Quote:

Originally Posted by BraydenEGC (Post 2466907)
What is the full chain you are trying to use?

Code:

PlayerProfile + 0x48] + 0x30] + 0x10] + 0x28] + (0x30 + (0x8 * (int)slot] // Slot

hellspawnchrist 17th May 2019 08:25 AM

So I'm using the external GetBonePos
Code:

private unsafe Vector3 GetBonePosition(IntPtr transform)
        {
            IntPtr transform_internal = IntPtr.Add(transform, 0x10);

            IntPtr pMatrix = new IntPtr(ma.ReadLongMemory((long)transform_internal + 0x38));
            int index = ma.ReadIntMemory(ma.ReadLongMemory((long)transform_internal + 0x38 + sizeof(UInt64)));

            IntPtr matrix_list_base = new IntPtr(ma.ReadLongMemory((long)pMatrix + 0x8));

            IntPtr dependency_index_table_base = new IntPtr(ma.ReadLongMemory((long)pMatrix + 0x10));

            byte[] pMatricesBuff = ma.ReadByteArrayMemory(ma.ReadLongMemory((long)matrix_list_base), (sizeof(Matrix34) * index) + sizeof(Matrix34));
            GCHandle pMatricesBufff = GCHandle.Alloc(pMatricesBuff, GCHandleType.Pinned);
            void* pMatricesBuf = pMatricesBufff.AddrOfPinnedObject().ToPointer();


            byte[] pIndicesBuff = ma.ReadByteArrayMemory(ma.ReadLongMemory((long)dependency_index_table_base), sizeof(int) * index + sizeof(int));
            GCHandle pIndicesBufff = GCHandle.Alloc(pIndicesBuff, GCHandleType.Pinned);
            void* pIndicesBuf = pIndicesBufff.AddrOfPinnedObject().ToPointer();

            Vector4f result = *(Vector4f*)((UInt64)pMatricesBuf + 0x30 * (UInt64)index);

            int index_relation = *(int*)((UInt64)pIndicesBuf + 0x4 * (UInt64)index);

            Vector4f xmmword_1410D1340 = new Vector4f(-2.0f, 2.0f, -2.0f, 0.0f);
            Vector4f xmmword_1410D1350 = new Vector4f(2.0f, -2.0f, -2.0f, 0.0f);
            Vector4f xmmword_1410D1360 = new Vector4f(-2.0f, -2.0f, 2.0f, 0.0f);

            int tries = 10000;
            int tried = 0;

            try
            {
                while (index_relation >= 0)
                {

                    if (tried++ > tries) break;
                    Matrix34 matrix34 = *(Matrix34*)((UInt64)pMatricesBuf + (0x30 * (UInt64)index_relation));

                    Vector4f v10 = matrix34.vec2 * result;
                    Vector4f v11 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(0)));
                    Vector4f v12 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(85)));
                    Vector4f v13 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-114)));
                    Vector4f v14 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-37)));
                    Vector4f v15 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-86)));
                    Vector4f v16 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(113)));
                    result = (((((((v11 * xmmword_1410D1350) * v13) - ((v12 * xmmword_1410D1360) * v14)) * VectorOperations.Shuffle(v10, (ShuffleSel)(-86))) +
                            ((((v15 * xmmword_1410D1360) * v14) - ((v11 * xmmword_1410D1340) * v16)) * VectorOperations.Shuffle(v10, (ShuffleSel)(85)))) +
                            (((((v12 * xmmword_1410D1340) * v16) - (v15 * xmmword_1410D1350 * v13)) * VectorOperations.Shuffle(v10, (ShuffleSel)(0))) + v10)) + matrix34.vec0);

                    index_relation = *(int*)((UInt64)pIndicesBuf + 0x4 * (UInt64)index_relation);
                }
                pIndicesBufff.Free();
                pMatricesBufff.Free();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            return new Vector3(result.X, result.Y, result.Z);
        }

This is the chain I'm using to get the bone transform

Code:

        public IntPtr GetPlayerRootBoneAddr(int i)
        {
            IntPtr res = new IntPtr((ma.ReadLongMemory(GetAddr() + 0x88)));
            res = new IntPtr(ma.ReadLongMemory((long)res + 0x28));
            res = new IntPtr(ma.ReadLongMemory((long)res + 0x18));
            res = new IntPtr(ma.ReadLongMemory((long)res + 0x28));
            res = new IntPtr(ma.ReadLongMemory((long)res + 0x8 * i));
            return res;
        }

The implementation to get a players pos

Code:

return GetBonePosition(GetPlayerRootBoneAddr(14));
GetBonePos is returning 0,0,0 every time. I've struggled because I can't properly debug the GetBonePosition func to check that it's all working.
GetPlayerRootBoneAddr seems to work fine as it matches up with CE.

Any hint/tips?

37ed1 17th May 2019 09:47 AM

Quote:

Originally Posted by hellspawnchrist (Post 2466991)
So I'm using the external GetBonePos

GetBonePos is returning 0,0,0 every time. I've struggled because I can't properly debug the GetBonePosition func to check that it's all working.
GetPlayerRootBoneAddr seems to work fine as it matches up with CE.

Any hint/tips?

Your chain to bone transform is wrong, re-check in dissect by going into 0x88] + 0x28] + 0x28] and further

hellspawnchrist 17th May 2019 03:00 PM

I may have stayed up too long. I'm dumbfounded.
Code:

IntPtr res = new IntPtr((ma.ReadLongMemory(GetAddr() + 0x88)));
            res = new IntPtr(ma.ReadLongMemory((long)res + 0x28));
            res = new IntPtr(ma.ReadLongMemory((long)res + 0x28));
            res = new IntPtr(ma.ReadLongMemory((long)res + 0x10));
            res = new IntPtr(ma.ReadLongMemory((long)res + 0x20 + i * 0x8));
            return res;

https://imgur.com/Jm6Jrxh.png
//Mods if I posted the image incorrectly, I apologize.

GDPR_Anonymous 17th May 2019 03:59 PM

Quote:

Originally Posted by hellspawnchrist (Post 2467191)
I may have stayed up too long. I'm dumbfounded.
Code:

IntPtr res = new IntPtr((ma.ReadLongMemory(GetAddr() + 0x88)));
            res = new IntPtr(ma.ReadLongMemory((long)res + 0x28));
            res = new IntPtr(ma.ReadLongMemory((long)res + 0x28));
            res = new IntPtr(ma.ReadLongMemory((long)res + 0x10));
            res = new IntPtr(ma.ReadLongMemory((long)res + 0x20 + i * 0x8));
            return res;

https://imgur.com/Jm6Jrxh.png
//Mods if I posted the image incorrectly, I apologize.

0x88] + 0x28] + 0x28 <--- do it like this

hellspawnchrist 17th May 2019 04:47 PM

Quote:

Originally Posted by Fyrahh (Post 2467228)
0x88] + 0x28] + 0x28 <--- do it like this

Am I misunderstanding?

https://i.imgur.com/9g97Nrz.png

So I plug 0x14E760020 into the GetBonePosition and
From here pMatrix = 0x0
index = 0

I know I'm missing something stupid aaaahggg

Updated Code:
Code:

private unsafe Vector3 GetBonePosition(IntPtr transform)
        {
            IntPtr transform_internal = IntPtr.Add(transform, 0x10);

            IntPtr pMatrix = ma.GetPtr(transform_internal, new int[] { 0x38 });
            int index = ma.ReadIntMemory(ma.GetPtr(transform_internal, new int[] { 0x38 + sizeof(UInt64) }).ToInt64());

            IntPtr matrix_list_base = ma.GetPtr(pMatrix, new int[] { 0x8 });

            IntPtr dependency_index_table_base = ma.GetPtr(pMatrix, new int[] { 0x10 });

            byte[] pMatricesBuff = ma.ReadByteArrayMemory(ma.GetPtr(matrix_list_base, new int[] { 0 }).ToInt64(), (sizeof(Matrix34) * index) + sizeof(Matrix34));
            GCHandle pMatricesBufff = GCHandle.Alloc(pMatricesBuff, GCHandleType.Pinned);
            void* pMatricesBuf = pMatricesBufff.AddrOfPinnedObject().ToPointer();


            byte[] pIndicesBuff = ma.ReadByteArrayMemory(ma.GetPtr(dependency_index_table_base, new int[] { 0 }).ToInt64(), sizeof(int) * index + sizeof(int));
            GCHandle pIndicesBufff = GCHandle.Alloc(pIndicesBuff, GCHandleType.Pinned);
            void* pIndicesBuf = pIndicesBufff.AddrOfPinnedObject().ToPointer();
           
            Vector4f result = *(Vector4f*)((UInt64)pMatricesBuf + 0x30 * (UInt64)index);

            int index_relation = *(int*)((UInt64)pIndicesBuf + 0x4 * (UInt64)index);

            Vector4f xmmword_1410D1340 = new Vector4f(-2.0f, 2.0f, -2.0f, 0.0f);
            Vector4f xmmword_1410D1350 = new Vector4f(2.0f, -2.0f, -2.0f, 0.0f);
            Vector4f xmmword_1410D1360 = new Vector4f(-2.0f, -2.0f, 2.0f, 0.0f);

            int tries = 10000;
            int tried = 0;

            try
            {
                while (index_relation >= 0)
                {

                    if (tried++ > tries) break;
                    Matrix34 matrix34 = *(Matrix34*)((UInt64)pMatricesBuf + (0x30 * (UInt64)index_relation));

                    Vector4f v10 = matrix34.vec2 * result;
                    Vector4f v11 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(0)));
                    Vector4f v12 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(85)));
                    Vector4f v13 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-114)));
                    Vector4f v14 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-37)));
                    Vector4f v15 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-86)));
                    Vector4f v16 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(113)));
                    result = (((((((v11 * xmmword_1410D1350) * v13) - ((v12 * xmmword_1410D1360) * v14)) * VectorOperations.Shuffle(v10, (ShuffleSel)(-86))) +
                            ((((v15 * xmmword_1410D1360) * v14) - ((v11 * xmmword_1410D1340) * v16)) * VectorOperations.Shuffle(v10, (ShuffleSel)(85)))) +
                            (((((v12 * xmmword_1410D1340) * v16) - (v15 * xmmword_1410D1350 * v13)) * VectorOperations.Shuffle(v10, (ShuffleSel)(0))) + v10)) + matrix34.vec0);

                    index_relation = *(int*)((UInt64)pIndicesBuf + 0x4 * (UInt64)index_relation);
                }
                pIndicesBufff.Free();
                pMatricesBufff.Free();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            return new Vector3(result.X, result.Y, result.Z);
        }

Code:

public IntPtr GetPlayerRootBoneAddr(int index)
        {
            //GetAddr() returns the Player Address
            return ma.GetPtr(new IntPtr(GetAddr()), new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int)index });
        }

Code:

public Vector3 GetVec3()
        {
            Vector3 res = GetBonePosition(GetPlayerRootBoneAddr(0)); //for base, also tried 14 for pelvis
            Console.WriteLine("X:" + res.x + " Y:" + res.y + " Z:" + res.z);
            return res;
        }

Still failing, somehow.

Xyox 17th May 2019 07:33 PM

Hello, i'm back to cheating on EFT.
Months ago i made a radar reading from memory using OpenProcess/ReadProcessMemory.

Now i thought would be time to try making my first driver but i'm having problems getting the base address of the EFT process.

I'm trying to use PLOAD_IMAGE_NOTIFY_ROUTINE and filter by FullImageName, problem is that i'm not sure what EFT's base image name is...

Using that callback to DbgPrint everything that EFT process is loading, i can see it only loads SClient.dll when i click "READY" in game (when i start a match).

So is it safe to assume that if i get the base address with OpenProcess from a user-mode program and then close the handle before starting a match the anticheat won't notice anything?

hellspawnchrist 17th May 2019 08:51 PM

Quote:

Originally Posted by Xyox (Post 2467351)
Now i thought would be time to try making my first driver but i'm having problems getting the base address of the EFT process.

https://www.unknowncheats.me/forum/1610503-post8.html <- Should be exactly what you need there.

PeterPanen 17th May 2019 09:10 PM

Quote:

Originally Posted by hellspawnchrist (Post 2467267)
Am I misunderstanding?

https://i.imgur.com/9g97Nrz.png

So I plug 0x14E760020 into the GetBonePosition and
From here pMatrix = 0x0
index = 0

I know I'm missing something stupid aaaahggg

Updated Code:
Code:

snip
Still failing, somehow.

I'm having the same problem : /

HELOHELO121 17th May 2019 09:37 PM

Quote:

Originally Posted by hellspawnchrist (Post 2467267)
Am I misunderstanding?

https://i.imgur.com/9g97Nrz.png

So I plug 0x14E760020 into the GetBonePosition and
From here pMatrix = 0x0
index = 0

I know I'm missing something stupid aaaahggg

Updated Code:
Code:

private unsafe Vector3 GetBonePosition(IntPtr transform)
        {
            IntPtr transform_internal = IntPtr.Add(transform, 0x10);

            IntPtr pMatrix = ma.GetPtr(transform_internal, new int[] { 0x38 });
            int index = ma.ReadIntMemory(ma.GetPtr(transform_internal, new int[] { 0x38 + sizeof(UInt64) }).ToInt64());

            IntPtr matrix_list_base = ma.GetPtr(pMatrix, new int[] { 0x8 });

            IntPtr dependency_index_table_base = ma.GetPtr(pMatrix, new int[] { 0x10 });

            byte[] pMatricesBuff = ma.ReadByteArrayMemory(ma.GetPtr(matrix_list_base, new int[] { 0 }).ToInt64(), (sizeof(Matrix34) * index) + sizeof(Matrix34));
            GCHandle pMatricesBufff = GCHandle.Alloc(pMatricesBuff, GCHandleType.Pinned);
            void* pMatricesBuf = pMatricesBufff.AddrOfPinnedObject().ToPointer();


            byte[] pIndicesBuff = ma.ReadByteArrayMemory(ma.GetPtr(dependency_index_table_base, new int[] { 0 }).ToInt64(), sizeof(int) * index + sizeof(int));
            GCHandle pIndicesBufff = GCHandle.Alloc(pIndicesBuff, GCHandleType.Pinned);
            void* pIndicesBuf = pIndicesBufff.AddrOfPinnedObject().ToPointer();
           
            Vector4f result = *(Vector4f*)((UInt64)pMatricesBuf + 0x30 * (UInt64)index);

            int index_relation = *(int*)((UInt64)pIndicesBuf + 0x4 * (UInt64)index);

            Vector4f xmmword_1410D1340 = new Vector4f(-2.0f, 2.0f, -2.0f, 0.0f);
            Vector4f xmmword_1410D1350 = new Vector4f(2.0f, -2.0f, -2.0f, 0.0f);
            Vector4f xmmword_1410D1360 = new Vector4f(-2.0f, -2.0f, 2.0f, 0.0f);

            int tries = 10000;
            int tried = 0;

            try
            {
                while (index_relation >= 0)
                {

                    if (tried++ > tries) break;
                    Matrix34 matrix34 = *(Matrix34*)((UInt64)pMatricesBuf + (0x30 * (UInt64)index_relation));

                    Vector4f v10 = matrix34.vec2 * result;
                    Vector4f v11 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(0)));
                    Vector4f v12 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(85)));
                    Vector4f v13 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-114)));
                    Vector4f v14 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-37)));
                    Vector4f v15 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-86)));
                    Vector4f v16 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(113)));
                    result = (((((((v11 * xmmword_1410D1350) * v13) - ((v12 * xmmword_1410D1360) * v14)) * VectorOperations.Shuffle(v10, (ShuffleSel)(-86))) +
                            ((((v15 * xmmword_1410D1360) * v14) - ((v11 * xmmword_1410D1340) * v16)) * VectorOperations.Shuffle(v10, (ShuffleSel)(85)))) +
                            (((((v12 * xmmword_1410D1340) * v16) - (v15 * xmmword_1410D1350 * v13)) * VectorOperations.Shuffle(v10, (ShuffleSel)(0))) + v10)) + matrix34.vec0);

                    index_relation = *(int*)((UInt64)pIndicesBuf + 0x4 * (UInt64)index_relation);
                }
                pIndicesBufff.Free();
                pMatricesBufff.Free();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            return new Vector3(result.X, result.Y, result.Z);
        }

Code:

public IntPtr GetPlayerRootBoneAddr(int index)
        {
            //GetAddr() returns the Player Address
            return ma.GetPtr(new IntPtr(GetAddr()), new int[] { 0x88, 0x28, 0x28, 0x10, 0x20 + 0x8 * (int)index });
        }

Code:

public Vector3 GetVec3()
        {
            Vector3 res = GetBonePosition(GetPlayerRootBoneAddr(0)); //for base, also tried 14 for pelvis
            Console.WriteLine("X:" + res.x + " Y:" + res.y + " Z:" + res.z);
            return res;
        }

Still failing, somehow.

Your transform address looks correct. The issue lies within your GetBonePosition function. Insert breakpoints, debug and go from breakpoint to breakpoint. Check the variable's values each breakpoint and you'll know what's not working correctly.

hellspawnchrist 17th May 2019 10:13 PM

Quote:

Originally Posted by HELOHELO121 (Post 2467430)
Your transform address looks correct. The issue lies within your GetBonePosition function. Insert breakpoints, debug and go from breakpoint to breakpoint. Check the variable's values each breakpoint and you'll know what's not working correctly.

Resolved. Figured out that in GetBonePosition, some of the offsets were to be added post calculation. Thanks again bros!

Xyox 17th May 2019 10:13 PM

Quote:

Originally Posted by hellspawnchrist (Post 2467400)
https://www.unknowncheats.me/forum/1610503-post8.html <- Should be exactly what you need there.

Thanks.

I did it both the way you suggested and by using PLOAD_IMAGE_NOTIFY_ROUTINE filtering FullImageName with "EFT\EscapeFromTarkov.exe".

Both methods return the same address so i think it works.

hellspawnchrist 17th May 2019 10:22 PM

Quote:

Originally Posted by Xyox (Post 2467442)
Thanks.

I did it both the way you suggested and by using PLOAD_IMAGE_NOTIFY_ROUTINE filtering FullImageName with "EFT\EscapeFromTarkov.exe".

Both methods return the same address so i think it works.

What's the address?

Xyox 17th May 2019 10:26 PM

Quote:

Originally Posted by hellspawnchrist (Post 2467452)
What's the address?

0x763A0000

PeterPanen 17th May 2019 10:31 PM

Quote:

Originally Posted by hellspawnchrist (Post 2467441)
Resolved. Figured out that in GetBonePosition, some of the offsets were to be added post calculation. Thanks again bros!

Do you mind sharing a tiny bit?
Im stuck with debugging this :/

hellspawnchrist 18th May 2019 07:15 AM

Quote:

Originally Posted by PeterPanen (Post 2467459)
Do you mind sharing a tiny bit?
Im stuck with debugging this :/

Assuming your bonetransform chain is correct.
If the problem is with getbonepos, then check this:

Code:

IntPtr pMatrix = ma.GetPtr(transform_internal, new int[] { 0x38 });
            int index = ma.ReadIntMemory(ma.GetPtr(transform_internal, new int[] { 0x38 + sizeof(UInt64) }).ToInt64());
 
            IntPtr matrix_list_base = ma.GetPtr(pMatrix, new int[] { 0x8 });

for pMatrix I had to readPtr(transform_internal) then add 0x38 to the result.
Same goes for much of this function.

BraydenEGC 18th May 2019 02:47 PM

Quote:

Originally Posted by hellspawnchrist (Post 2467667)
~snip~

Why do you do 0x38 + sizeof(UInt64) Instead of just 0x40...?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

hellspawnchrist 18th May 2019 11:00 PM

Quote:

Originally Posted by BraydenEGC (Post 2467928)
Why do you do 0x38 + sizeof(UInt64) Instead of just 0x40...?

Honestly don't remember. Likely to do with the original conversion of the function.

ThePapanoob 20th May 2019 08:43 AM

Quote:

Originally Posted by BraydenEGC (Post 2467928)
Why do you do 0x38 + sizeof(UInt64) Instead of just 0x40...?

because he 1:1 translated @klmno post

klmno 20th May 2019 02:36 PM

Quote:

Originally Posted by BraydenEGC (Post 2467928)
Why do you do 0x38 + sizeof(UInt64) Instead of just 0x40...?

Because I'm offsetting from the previous offset, more readable IMO if it ever needs to be updated. All preference.

kuhi 20th May 2019 03:59 PM

I'm trying to write my first shooter cheat as I only made bots for rpg games before.

But something I find strange, I always saw ADDRESS + OFFSETS in this example format: 0x00000000 + 0x00, but as I can see here it's different, I feel totally retarded :D

So please, can someone help me explaining how to understand this?
I want to start reading other players position, but I don't understand this lists/dictionary, I can't see a ADDRESS + offset1,offset2,offset3 ... etc...

Please if you're going to give the address + offsets without explaining I'm not going to learn and I don't want someone to just give me the results

Thanks guys <3

12343com 20th May 2019 04:49 PM

Quote:

Originally Posted by kuhi (Post 2470068)
I'm trying to write my first shooter cheat as I only made bots for rpg games before.

But something I find strange, I always saw ADDRESS + OFFSETS in this example format: 0x00000000 + 0x00, but as I can see here it's different, I feel totally retarded :D

So please, can someone help me explaining how to understand this?
I want to start reading other players position, but I don't understand this lists/dictionary, I can't see a ADDRESS + offset1,offset2,offset3 ... etc...

Please if you're going to give the address + offsets without explaining I'm not going to learn and I don't want someone to just give me the results

Thanks guys <3

it is the same thing, people just use fancy functions sometimes when they want to read.. don't know why.

it's basically

long addr1 = readprocessmemory(0xsomething + some_offset1);
long addr2 = readprocessmemory(addr1 + some_offset2);

...etc

if you need help, reply with an example you can't understand, i will try to explain.

one thing to note, if you are reading structs you want to rpm(class + structoffset + structmemberoffset)

Buchmesse 20th May 2019 06:03 PM

So im trying to get the offsets looking through the process with Cheat Engine and Mono dissector however seems like things are obfuscated so not sure how i would find the right offsets

12343com 21st May 2019 04:22 AM

Quote:

Originally Posted by Buchmesse (Post 2470196)
So im trying to get the offsets looking through the process with Cheat Engine and Mono dissector however seems like things are obfuscated so not sure how i would find the right offsets

what exactly are you trying to look for? it's hard to explain if you're not showing example

BraydenEGC 21st May 2019 04:23 AM

Quote:

Originally Posted by Buchmesse (Post 2470196)
~snip~

Look using DnSpy for clues as to what the obfuscated class is. There is no deobfuscation technique that will give you the original names of the classes or fields.

HELOHELO121 23rd May 2019 03:45 AM

Does anyone have the chain to the weapon sway mask? Thanks in advance

BraydenEGC 23rd May 2019 03:55 AM

Quote:

Originally Posted by HELOHELO121 (Post 2472480)
~snip~

It can all be found under PWA. (Use mono-dissect for the exact offsets, but there are multiple.) Also, try to refrain from asking for "chains". It kinda makes you seem like a noob. Instead, ask for any tips or pointers in the direction you should look, then find the offsets yourself. Thats just my 2 cents though.

HELOHELO121 23rd May 2019 04:08 AM

Quote:

Originally Posted by BraydenEGC (Post 2472485)
It can all be found under PWA. (Use mono-dissect for the exact offsets, but there are multiple.)

WDYM by PWA. Wouldn't I have to use something else on top of mono-dissect because isn't everything obfuscated?

Quote:

Originally Posted by BraydenEGC (Post 2472485)
Also, try to refrain from asking for "chains". It kinda makes you seem like a noob.

Hmm.. that's odd

BraydenEGC 23rd May 2019 04:10 AM

Quote:

Originally Posted by HELOHELO121 (Post 2472495)
~snip~

PWA = PlayerWeaponAnimation. Not everything is obfuscated. In fact, a simple ctrl + f search of a mono-dissect dump will pull it up immediately.

HELOHELO121 23rd May 2019 04:29 AM

Quote:

Originally Posted by BraydenEGC (Post 2472496)
PWA = PlayerWeaponAnimation. Not everything is obfuscated. In fact, a simple ctrl + f search of a mono-dissect dump will pull it up immediately.

I'm not finding PlayerWeaponAnimation in mono dissector, could you mean EFT.Animations.ProceduralWeaponAnimation?

Edit: I think I may have found it:
Code:

                12ecb908 : EFT.Animations.ProceduralWeaponAnimation
                        static fields
                                0 :  (type: System.Func<,System.Boolean>)
                                8 :  (type: System.Func<,System.Boolean>)
                                10 :  (type: System.Func<EFT.InventoryLogic.Slot,System.Boolean>)
                                18 :  (type: System.Func<UnityEngine.Transform,System.Boolean>)
                                20 :  (type: System.Func<EFT.InventoryLogic.Slot,System.Boolean>)
                                28 :  (type: System.Func<EFT.InventoryLogic.Slot,System.Boolean>)
                                30 :  (type: System.Func<EFT.InventoryLogic.Slot,System.Boolean>)
                                38 :  (type: System.Func<EFT.InventoryLogic.Mod,System.String>)
                        fields
                                18 : HandsContainer (type: EFT.Animations.PlayerSpring)
                                20 : CameraContainer (type: UnityEngine.GameObject)
                                c8 : Mask (type: EFT.Animations.EProceduralAnimationMask) //Mask to 0 out to remove sway.. maybe?
                                28 : Breath (type: EFT.Animations.BreathEffector)
                                30 : Walk (type: WalkEffector)
                                38 : MotionReact (type: MotionEffector)
                                40 : ForceReact (type: ForceEffector)
                                48 : Shootingg (type: ShotEffector)
                                50 : TurnAway (type: TurnAwayEffector)
                                58 : CustomEffector (type: CustomEffector)
                                60 :  (type: ContainerCollectionView)
                                cc : Offset (type: UnityEngine.Vector3)
                                d8 : _lineOfSightDeltaAngle (type: System.Single)
                                dc : _cameraShiftToLineOfSight (type: UnityEngine.Vector2)
                                68 :  (type: UnityEngine.Transform)
                                70 :  (type: UnityEngine.Transform)
                                e4 :  (type: System.Single)
                                78 : ScopeAimTransforms (type: System.Collections.Generic.List<EFT.Animations.ProceduralWeaponAnimation.>)
                                e8 : AimIndex (type: System.Int32)
                                ec : CameraSmoothTime (type: System.Single)
                                f0 :  (type: UnityEngine.Vector3)
                                fc :  (type: UnityEngine.Quaternion)
                                10c :  (type: UnityEngine.Quaternion)
                                11c :  (type: System.Single)
                                80 :  (type: EFT.Player.FirearmController)
                                120 :  (type: System.Boolean)
                                121 :  (type: System.Boolean)
                                122 : _shouldMoveWeaponCloser (type: System.Boolean)
                                124 : _vCameraTarget (type: UnityEngine.Vector3)
                                130 : RotationCameraOffset (type: UnityEngine.Vector3)
                                13c : _pointOfView (type: EFT.EPointOfView)
                                140 :  (type: System.Single)
                                144 :  (type: System.Single)
                                148 :  (type: System.Single)
                                88 :  (type: Systems.Effects.OpticSight[])
                                14c :  (type: UnityEngine.Vector3)
                                158 : _aimFovDeltaZ (type: System.Single)
                                15c :  (type: System.Single)
                                160 :  (type: UnityEngine.Quaternion)
                                170 :  (type: UnityEngine.Quaternion)
                                180 :  (type: System.Single)
                                184 : _shotDirection (type: UnityEngine.Vector3)
                                190 :  (type: System.Single)
                                194 : TacticalReloadStiffnes (type: UnityEngine.Vector3)
                                1a0 : TacticalReloadPosition (type: System.Single)
                                90 :  (type: EFT.Player.)
                                1a4 : CameraSmoothSteady (type: System.Single)
                                1a8 : CameraSmoothRecoil (type: System.Single)
                                1ac : CameraSmoothOut (type: System.Single)
                                98 : CameraSmoothBlender (type: EFT.Player.BetterValueBlender)
                                1b0 : AimSwayMax (type: UnityEngine.Vector3)
                                1bc : AimSwayMin (type: UnityEngine.Vector3)
                                1c8 : SwayFalloff (type: System.Single)
                                1cc : AimSwayStartsThreshold (type: System.Single)
                                1d0 : AimSwayMaxThreshold (type: System.Single)
                                1d4 :  (type: System.Single)
                                1d8 :  (type: UnityEngine.Vector3)
                                a0 :  (type: EFT.Player.ValueBlender)
                                a8 :  (type: UnityEngine.Transform)
                                1e4 :  (type: System.Int32)
                                b0 :  (type: EFT.Player.ValueBlender)
                                1e8 :  (type: System.Boolean)
                                1ec : TiltZeroY (type: System.Single)
                                1f0 : CameraTiltZero (type: UnityEngine.Vector3)
                                1fc : _launcherZeroZ (type: System.Single)
                                200 : _launcherRotationZeroX (type: System.Single)
                                204 : RotationZeroSum (type: UnityEngine.Vector3)
                                210 : PositionZeroSum (type: UnityEngine.Vector3)
                                b8 : BlindfireBlender (type: EFT.Player.BetterValueBlender)
                                21c : BlindFireOffset (type: UnityEngine.Vector3)
                                228 : BlindFireRotation (type: UnityEngine.Vector3)
                                234 : BlindFireCamera (type: UnityEngine.Vector3)
                                240 : SideFireOffset (type: UnityEngine.Vector3)
                                24c : SideFireRotation (type: UnityEngine.Vector3)
                                258 : SideFireCamera (type: UnityEngine.Vector3)
                                264 : Pitch (type: System.Single)
                                268 : AimingDisplacementStr (type: System.Single)
                                26c :  (type: System.Single)
                                270 :  (type: System.Single)
                                274 :  (type: System.Single)
                                278 :  (type: System.Single)
                                27c :  (type: UnityEngine.Vector3)
                                288 : BlindFireEndPosition (type: UnityEngine.Vector3)
                                294 :  (type: System.Boolean)
                                295 :  (type: System.Boolean)
                                296 :  (type: System.Boolean)
                                297 : ShotNeedsFovAdjustments (type: System.Boolean)
                                298 :  (type: UnityEngine.Vector3)
                                c0 :  (type: .)
                                2a4 :  (type: UnityEngine.Vector3)


BraydenEGC 23rd May 2019 04:42 AM

Quote:

Originally Posted by HELOHELO121 (Post 2472505)
~snip~

Yeah, sorry. It has been a while since I have worked on my EFT cheat.

HELOHELO121 23rd May 2019 04:44 AM

Quote:

Originally Posted by BraydenEGC (Post 2472512)
Yeah, sorry. It has been a while since I have worked on my EFT cheat.

Could you help me out here? I got the mask offset but I'm still trying to get the get_ProceduralWeaponAnimation() offset.
Code:

12ec40a0 : get_ProceduralWeaponAnimation ():EFT.Animations.ProceduralWeaponAnimation
12ecb908 : EFT.Animations.ProceduralWeaponAnimation

I figured I had to subtract the 2 to get the offset but it gave me a decimal value of ~30,000 which is clearly wrong. I'm just not sure what to do to get the offset from the address of the get_ProceduralWeaponAnimation function

BraydenEGC 23rd May 2019 05:01 AM

Quote:

Originally Posted by HELOHELO121 (Post 2472513)
~snip~

This is not even remotely close to how you get offsets using mono-dissect. Search Procedural Weapon Animation and see where it is used.

HELOHELO121 23rd May 2019 05:07 AM

Quote:

Originally Posted by BraydenEGC (Post 2472518)
This is not even remotely close to how you get offsets using mono-dissect. Search Procedural Weapon Animation and see where it is used.

I think I get it. I was doing dumb shit. So, if I did everything correctly, the chain to PWM mask is
Player + 0x70] + 0xc8]
And all I have to do to remove the sway is just write NULL to that value?

BraydenEGC 23rd May 2019 05:11 AM

Quote:

Originally Posted by HELOHELO121 (Post 2472521)
~snip~

I have no clue if that will work, I used to just write float values, but as soon as I got silent aim, I just stopped writing recoil because I am 99% sure it is detected.

HELOHELO121 23rd May 2019 05:17 AM

Quote:

Originally Posted by BraydenEGC (Post 2472522)
I just stopped writing recoil because I am 99% sure it is detected.

Oh rip, I just spent all this time trying to implement it. What makes you think it is detected? It's easy to over-estimate BSG.

elevenelven 23rd May 2019 08:28 AM

Quote:

Originally Posted by HELOHELO121 (Post 2472526)
Oh rip, I just spent all this time trying to implement it. What makes you think it is detected? It's easy to over-estimate BSG.

There is no greater danger than underestimating your opponent.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

HELOHELO121 23rd May 2019 08:04 PM

Quote:

Originally Posted by elevenelven (Post 2472610)
There is no greater danger than underestimating your opponent.

Not really adding to the conversation but kay.

ThePapanoob 23rd May 2019 08:05 PM

Quote:

Originally Posted by HELOHELO121 (Post 2473083)
Not really adding to the conversation but kay.



He actually is... its better to be safe about things than to loose money because of it

BraydenEGC 23rd May 2019 08:07 PM

Quote:

Originally Posted by HELOHELO121 (Post 2473083)
~snip~



Kind of counter intuitive to not add to the topic by telling someone they aren�t adding to the topic but kay.

12343com 23rd May 2019 08:26 PM

Quote:

Originally Posted by HELOHELO121 (Post 2473083)
Not really adding to the conversation but kay.

why mean?

HELOHELO121 23rd May 2019 10:49 PM

Quote:

Originally Posted by 12343com (Post 2456326)
try

firearmcontroller._isAiming

or, firearmcontroller + 0x10d

it's a bool.

This does not work. It will stay true when unscoping. For certain guns it is true all the time and others it is false all the time. Anyone else got any tips for knowing when to get optic camera vs fpscamera?

Edit: it also will be true when using a non-magnified scope.

12343com 23rd May 2019 11:23 PM

Quote:

Originally Posted by HELOHELO121 (Post 2473202)
This does not work. It will stay true when unscoping. For certain guns it is true all the time and others it is false all the time. Anyone else got any tips for knowing when to get optic camera vs fpscamera?

Edit: it also will be true when using a non-magnified scope.

used to work on my old mono cheat. you _sure_ you're doing it right?

HELOHELO121 24th May 2019 12:07 AM

Quote:

Originally Posted by 12343com (Post 2473232)
used to work on my old mono cheat. you _sure_ you're doing it right?

I believe so
Player + 0x70] + 0x80] + 0x10d]
Player->ProceduralWeaponAnimation->FirearmController->Scoped_Offset
If that is true, I get optic_camera using FindTaggedObject

Xyox 24th May 2019 02:33 AM

Quote:

Originally Posted by HELOHELO121 (Post 2473258)
I believe so
Player + 0x70] + 0x80] + 0x10d]
Player->ProceduralWeaponAnimation->FirearmController->Scoped_Offset
If that is true, I get optic_camera using FindTaggedObject

Just to make sure, it's:

Code:

Player + 0x70] + 0x80] + 0x10d
Without the last ] which means you don't follow the pointer for the last offset.

BraydenEGC 24th May 2019 02:43 AM

Quote:

Originally Posted by Xyox (Post 2473318)
~snip~

Thanks for explaining that to him. He has probably just seen other people use the 0x0 + 0x0] + 0x0]... format before and thought he understood what a ] meant.

HELOHELO121 24th May 2019 03:30 AM

Quote:

Originally Posted by BraydenEGC (Post 2473322)
Thanks for explaining that to him. He has probably just seen other people use the 0x0 + 0x0] + 0x0]... format before and thought he understood what a ] meant.

I'd appreciate it if you didn't try and say what you 'think' i mean by something. Let me explain it myself. As for this, I just typed it out real quick.

Quote:

Originally Posted by Xyox (Post 2473318)
Just to make sure, it's:

Code:

Player + 0x70] + 0x80] + 0x10d
Without the last ] which means you don't follow the pointer for the last offset.

Yea my B I just typed it out real quick and couldn't be bothered to fix it.

Edit:
Can someone help me find a way to get the currently equipped weapon's firerate? I looked through the FirearmController structure and didn't find anything?

BraydenEGC 24th May 2019 01:51 PM

Quote:

Originally Posted by HELOHELO121 (Post 2473345)
~snip~



It is under a class under FirearmController, IIRC. I haven�t looked at it recently because I haven�t needed to modify my gun.

HELOHELO121 24th May 2019 09:37 PM

Quote:

Originally Posted by BraydenEGC (Post 2473656)
It is under a class under FirearmController, IIRC. I haven�t looked at it recently because I haven�t needed to modify my gun.

I'm trying to check if the weapon's fire rate is single fire, and if so it will fire the gun as fast as mouse_action will let me. I looked through firearmcontroller and didn't find anything relevant. There are a few members whose type is obfuscated though. How do I deobfuscate these symbols so I can get the type and class of those members?

BraydenEGC 24th May 2019 10:41 PM

Quote:

Originally Posted by HELOHELO121 (Post 2474071)
~snip~

You cannot deobfuscate to the original names, obviously. I am not entirely sure if that is what you were asking or not, but when you find it, it is an array of integers. I can set my gun to be burst, full auto, or semi auto. I can also change the rate at which my weapon fires. (See my minigun videos for more demonstration.)

HELOHELO121 24th May 2019 11:35 PM

Quote:

Originally Posted by BraydenEGC (Post 2474118)
You cannot deobfuscate to the original names, obviously. I am not entirely sure if that is what you were asking or not, but when you find it, it is an array of integers. I can set my gun to be burst, full auto, or semi auto. I can also change the rate at which my weapon fires. (See my minigun videos for more demonstration.)

I was talking about deobfuscating the types of fields. I looked through all the other fields and didn't find anything relating to what you're talking about, so I assumed it must be under one of these obfuscated types.
Code:

                166677e0 : EFT.Player+FirearmController
                        fields
                                88 :  (type: .)
                                c0 :  (type: <System.Single>)
                                c8 :  (type: <System.Single>)
                                d0 :  (type: )
                                d8 :  (type: )


12343com 24th May 2019 11:48 PM

Quote:

Originally Posted by HELOHELO121 (Post 2474151)
I was talking about deobfuscating the types of fields. I looked through all the other fields and didn't find anything relating to what you're talking about, so I assumed it must be under one of these obfuscated types.
Code:

                166677e0 : EFT.Player+FirearmController
                        fields
                                88 :  (type: .)
                                c0 :  (type: <System.Single>)
                                c8 :  (type: <System.Single>)
                                d0 :  (type: )
                                d8 :  (type: )


How do you think you're doing to deobfuscate it? The types are renamed. Reverse engineer it by looking at the types in dnspy and checking where it is referenced for clues.

HELOHELO121 25th May 2019 12:02 AM

Quote:

Originally Posted by BraydenEGC (Post 2474118)
You cannot deobfuscate to the original names, obviously. I am not entirely sure if that is what you were asking or not, but when you find it, it is an array of integers. I can set my gun to be burst, full auto, or semi auto. I can also change the rate at which my weapon fires. (See my minigun videos for more demonstration.)

also why would they store it as an array of integers? that doesn't make any sense

BraydenEGC 25th May 2019 03:31 AM

Quote:

Originally Posted by HELOHELO121 (Post 2474178)
~snip~

Think about it. You have multiple fire modes. One of the most effective ways to store multiple objects is an array. So it goes something like this:

Array of Weapon Fire Modes:
byte 1: 2 (Count of Fire Modes)
byte 2: 1 (The number for a fire mode. (Single.))
byte 3: 2 (The number for another fire mode.(Full Auto))

So I would have a weapon that could switch between single and full auto. Please note: These are not the actual byte values of any firemodes.

Makes a metric ton of sense, IMO.

HELOHELO121 25th May 2019 05:36 AM

Quote:

Originally Posted by BraydenEGC (Post 2474275)
Think about it. You have multiple fire modes. One of the most effective ways to store multiple objects is an array. So it goes something like this:

Array of Weapon Fire Modes:
byte 1: 2 (Count of Fire Modes)
byte 2: 1 (The number for a fire mode. (Single.))
byte 3: 2 (The number for another fire mode.(Full Auto))

So I would have a weapon that could switch between single and full auto. Please note: These are not the actual byte values of any firemodes.

Makes a metric ton of sense, IMO.

I was confused because I'm trying to get the current fire mode, not a list of the available ones.

BraydenEGC 25th May 2019 05:54 AM

Quote:

Originally Posted by HELOHELO121 (Post 2474317)
~snip~


It is like 4 or 8 bytes before the fire mode array, IIRC.

HELOHELO121 25th May 2019 06:26 AM

Quote:

Originally Posted by BraydenEGC (Post 2474326)
It is like 4 or 8 bytes before the fire mode array, IIRC.

Gotcha, another question.. I figured you'd be a good person to ask because you used to use external:
I created an aimbot using the center of the screen but obviously it's not great because of how eft uses fireport instead of firing from the center of the screen. I was able to get the position of the fireport. I don't understand how I'm supposed to calculate the angle from the fireport so I can know where on my screen my aimbot should aim? Or am I going about this all wrong?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

12343com 25th May 2019 12:45 PM

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

HELOHELO121 25th May 2019 05:02 PM

Quote:

Originally Posted by 12343com (Post 2474590)

What am I doing wrong here? I tried reading it as both a byte and int. It keeps returning 0.
Code:

                167f45c8 : 
                        static fields
                        fields
                                18 :  (type: )
                                20 : OnChanged (type: )
                                28 : FireMode (type: EFT.InventoryLogic.Weapon.EFireMode)
                12da9000 : EFT.InventoryLogic.Weapon
                        fields
                                80 : Repairable (type: )
                                88 : Foldable (type: )
                                90 : FireMode (type: ) //167f45c8
                12dc04b8 : EFT.InventoryLogic.Weapon+EFireMode
                        static fields
                        fields
                                10 : value__ (type: System.Byte)
                1f4a9068 : EFT.Player+FirearmController+
                        static fields
                        fields
                                20 :  (type: EFT.Player.FirearmController)
                                28 :  (type: EFT.Player)
                                30 :  (type: FirearmsAnimator)
                                38 :  (type: EFT.Firearms)
                                40 :  (type: EFT.InventoryLogic.Weapon)
EFT.Player+FirearmController + 0x40] + 0x90] + 0x28] + 0x10


TheMadMin3r 25th May 2019 05:15 PM

Quote:

Originally Posted by HELOHELO121 (Post 2474824)
What am I doing wrong here? I tried reading it as both a byte and int. It keeps returning 0.
Code:

                167f45c8 : 
                        static fields
                        fields
                                18 :  (type: )
                                20 : OnChanged (type: )
                                28 : FireMode (type: EFT.InventoryLogic.Weapon.EFireMode)
                12da9000 : EFT.InventoryLogic.Weapon
                        fields
                                80 : Repairable (type: )
                                88 : Foldable (type: )
                                90 : FireMode (type: ) //167f45c8
                12dc04b8 : EFT.InventoryLogic.Weapon+EFireMode
                        static fields
                        fields
                                10 : value__ (type: System.Byte)
                1f4a9068 : EFT.Player+FirearmController+
                        static fields
                        fields
                                20 :  (type: EFT.Player.FirearmController)
                                28 :  (type: EFT.Player)
                                30 :  (type: FirearmsAnimator)
                                38 :  (type: EFT.Firearms)
                                40 :  (type: EFT.InventoryLogic.Weapon)
EFT.Player+FirearmController + 0x40] + 0x90] + 0x28] + 0x10


EFireMode is an enum, you don't follow the pointer you just read it straight as a byte or whatever type it is:
https://gyazo.com/a42f406ff7fdf449da0b5b11cdf6f217

so it would be FirearmController + 0x40] + 0x90] + 0x28 : byte

HELOHELO121 25th May 2019 05:25 PM

Quote:

Originally Posted by TheMadMin3r (Post 2474845)
EFireMode is an enum, you don't follow the pointer you just read it straight as a byte or whatever type it is:
https://gyazo.com/a42f406ff7fdf449da0b5b11cdf6f217

so it would be FirearmController + 0x40] + 0x90] + 0x28 : byte

It's just giving me random integers that only change each time I switch weapons and then switch back

Xyox 26th May 2019 01:45 AM

Quote:

Originally Posted by HELOHELO121 (Post 2474824)
What am I doing wrong here? I tried reading it as both a byte and int. It keeps returning 0.
Code:

                167f45c8 : 
                        static fields
                        fields
                                18 :  (type: )
                                20 : OnChanged (type: )
                                28 : FireMode (type: EFT.InventoryLogic.Weapon.EFireMode)
                12da9000 : EFT.InventoryLogic.Weapon
                        fields
                                80 : Repairable (type: )
                                88 : Foldable (type: )
                                90 : FireMode (type: ) //167f45c8
                12dc04b8 : EFT.InventoryLogic.Weapon+EFireMode
                        static fields
                        fields
                                10 : value__ (type: System.Byte)
                1f4a9068 : EFT.Player+FirearmController+
                        static fields
                        fields
                                20 :  (type: EFT.Player.FirearmController)
                                28 :  (type: EFT.Player)
                                30 :  (type: FirearmsAnimator)
                                38 :  (type: EFT.Firearms)
                                40 :  (type: EFT.InventoryLogic.Weapon)
EFT.Player+FirearmController + 0x40] + 0x90] + 0x28] + 0x10


Quote:

Originally Posted by TheMadMin3r (Post 2474845)
EFireMode is an enum, you don't follow the pointer you just read it straight as a byte or whatever type it is:
https://gyazo.com/a42f406ff7fdf449da0b5b11cdf6f217

so it would be FirearmController + 0x40] + 0x90] + 0x28 : byte

I found the fire mode value starting from 0x1f4a9068 in the code you posted i went into 0x40] + 0x90] + 0x28.

But... If you follow the chain you guys posted you would end up reading a different 0x40...

HELOHELO121 26th May 2019 03:34 AM

Quote:

Originally Posted by Xyox (Post 2475256)
I found the fire mode value starting from 0x1f4a9068 in the code you posted i went into 0x40] + 0x90] + 0x28.

But... If you follow the chain you guys posted you would end up reading a different 0x40...

I guess I'm not understanding the difference code-wise between
EFT.Player+FirearmController+
and
EFT.Player+FirearmController

BraydenEGC 26th May 2019 03:55 PM

Quote:

Originally Posted by HELOHELO121 (Post 2475303)
~snip~

Look at it using DnSpy. It will make 100x more sense.

12343com 26th May 2019 04:58 PM

Quote:

Originally Posted by HELOHELO121 (Post 2475303)
I guess I'm not understanding the difference code-wise between
EFT.Player+FirearmController+
and
EFT.Player+FirearmController

the  is nested class

Code:

public class A
{
    class B
    {

    }
}

in this case B is 

here's a more "straightforward" explanation:

Code:

public class Player
{
    class FirearmController
    {
        class 
        {

        }
    }
}

this works for me.

Code:

byte selectedfiremode = readbyte(readlong(readlong(firearm_class + 0x48) + 0x90) + 0x28);

notleguaani 27th May 2019 08:35 PM

Could someone quote the newest offsets for current patch

snufkin 27th May 2019 10:49 PM

Started working on an internal cheat couple of days back.
Thread been a big help so far, thanks dudes.

Anyway im trying to dump the dictionary of bones through Skeleton.
Chain with offsets look like this:
Code:

Player + 0x88] == PlayerBody
PlayerBody + 0x28] ==RootJointSkeleton
RootJointSkeleton  + 0x18] == BoneDictionary
BoneDictionary + 0x28] == ValueArray
ValueArray + (0x20 + 0x8 * index)] == BoneTransform

I count 138 bones in the value array but a lot of these are NULL pointers and all of the bones have position {0, 0, 0}.
Here is my chain to retrieve position from BoneTransform:
Code:

BoneTransform + 0x10] == Transform
Transform + 0x38] == TransformChild
TransformChild + 0x90 == Vec3

Also i don't know what the proper class names are, i just kind of winged it.
I'm not sure if I'm getting correct result or if my dictionary implementation is wrong. All bones having pos {0, 0, 0} is weird as shit tho.

Any ideas?

BraydenEGC 27th May 2019 10:58 PM

Quote:

Originally Posted by snufkin (Post 2477157)
~snip~

You can't get the bone's position by reading 3 floats. Instead, you must call INTERNAL_Get_Position, or mimic it. This has been shown in threads in the Rust section and here, on this reversal thread.

Also, many of the bones are null because they are not Human bones. All valid bones will have a name of Human(Bone name here.) An example is HumanHead/HumanLArm/HumanRElbow.

snufkin 28th May 2019 10:58 AM

Quote:

Originally Posted by BraydenEGC (Post 2477165)
You can't get the bone's position by reading 3 floats. Instead, you must call INTERNAL_Get_Position, or mimic it. This has been shown in threads in the Rust section and here, on this reversal thread.

Also, many of the bones are null because they are not Human bones. All valid bones will have a name of Human(Bone name here.) An example is HumanHead/HumanLArm/HumanRElbow.

Yeah figured out the dictionary keys were strings after i posted, thought they'd be enums.

I'll try the internal function, do you call it on a regular Transform or a BoneTransform/BifacialTransform?
There are multiple versions of the function signature floating around in the thread, tried all of them with all the offsets i could find but game crashed every time.

BraydenEGC 28th May 2019 11:41 AM

Escape from Tarkov Reversal, Structs and Offsets
 
Quote:

Originally Posted by snufkin (Post 2477513)
~snip~

I personally just mimic it.

snufkin 28th May 2019 04:13 PM

Got it working with these offsets:

Code:

using BoneTransform_GetPosition = uint64_t(__fastcall *)(BoneTransform* transform, DirectX::XMFLOAT3* pos);

DirectX::XMFLOAT3 BoneTransform::getWorldPos()
{
        DirectX::XMFLOAT3 pos;
        BoneTransform_GetPosition orig = (BoneTransform_GetPosition)(getBaseAddress() + 0x80D1F0);
        orig(this, &pos);
        return pos;
}

Where BoneTransform is the pointer you get out of a Skeleton bone dictionary and getBaseAddress() is the base address of tarkov process.

Anyone know if BoneTransform in my case is the equivalent of UnityEngine.Transform or EFT.BifacialTransform? I.E. what type is the value type of managed bone dictionary?

BraydenEGC 28th May 2019 04:36 PM

Escape from Tarkov Reversal, Structs and Offsets
 
Quote:

Originally Posted by snufkin (Post 2477736)
~snip~



If I remember correctly they are using bone transform since the same algorithm is used in Rust.

lumungus 28th May 2019 07:59 PM

I feel like it is a stupid question but I can't find the answer anywhere: how would you get a position from a "UnityEngine.Vector3" ?

Apparently it looks like that:

Code:

5e51360 : UnityEngine.Vector3
                        static fields
                        fields
                                10 : x (type: System.Single)
                                14 : y (type: System.Single)
                                18 : z (type: System.Single)

In c#, I do tried this:

Code:

Vector3 pos = RPM.Read<Vector3>(RPM.GetPtr(InteractiveObject, new int[] { VECTOR3_OFFSET, 0x10 }).ToInt64());
But it doesn't seem to be working, so I tried that instead:
Code:

                Int32 x = RPM.Read<Int32>(RPM.GetPtr(InteractiveObject, new int[] { VECTOR3_OFFSET, 0x10 }).ToInt64());
                Int32 y = RPM.Read<Int32>(RPM.GetPtr(InteractiveObject, new int[] { VECTOR3_OFFSET,, 0x14 }).ToInt64());
                Int32 z = RPM.Read<Int32>(RPM.GetPtr(InteractiveObject, new int[] { VECTOR3_OFFSET,, 0x18 }).ToInt64());
                Vector3 pos = new Vector3(x, y, z);

Still nothing. Am I doing something wrong here?

BraydenEGC 28th May 2019 08:58 PM

Quote:

Originally Posted by lumungus (Post 2477879)
~snip~


You do not need to dereference for any of the x, y, or z values.

lumungus 28th May 2019 10:04 PM

Changed it for that but still no results

Code:

                IntPtr v3 = RPM.GetPtr(InteractiveObject, new int[] { VECTOR3_OFFSET, 0x0 });
                float x = RPM.Read<float>(v3.ToInt64() + 0x10);
                float y = RPM.Read<float>(v3.ToInt64() + 0x14);
                float z = RPM.Read<float>(v3.ToInt64() + 0x18);


MaverickTreatz 30th May 2019 06:45 PM

Quote:

Originally Posted by lumungus (Post 2477981)
Changed it for that but still no results

Code:

IntPtr v3 = RPM.GetPtr(InteractiveObject, new int[] { VECTOR3_OFFSET });
                float x = RPM.Read<float>(v3.ToInt64() + 0x10);
                float y = RPM.Read<float>(v3.ToInt64() + 0x14);
                float z = RPM.Read<float>(v3.ToInt64() + 0x18);

or
Code:

IntPtr v3 = RPM.GetPtr(InteractiveObject, new int[] { VECTOR3_OFFSET });
                float x = RPM.Read<float>(v3.ToInt64() + 0x04);
                float y = RPM.Read<float>(v3.ToInt64() + 0x08);
                float z = RPM.Read<float>(v3.ToInt64() + 0x0C);

Example:
Code:

Vector3 = Memory.ReadVector3(Memory.ReadInt64(Memory.ReadInt64(Memory.ReadInt64(Camera + 0x30) + 0x08) + 0x38) + 0x90);
Code:

public static Vector3 ReadVector3(long address)
        {
            int read = 0;
            byte[] buffer = new byte[12];

            Natives.ReadProcessMemory(Handle, address, buffer, 12, ref read);

            return new Vector3(buffer);
        }


lumungus 30th May 2019 08:39 PM

Yeah, thanks but I tried all kind of stuff and it is still not working, I don't get why

Here is what I have so far:

Mono dissect dump:

Code:

17369aa0 : ClientLocalGameWorld
                        static fields
                        fields
                        methods
                        base class
                                17369bc0 : EFT.ClientGameWorld
                                        static fields
                                        fields
                                        methods
                                        base class
                                                172ab578 : EFT.GameWorld
                                                        static fields
                                                        fields
                                                                18 :  (type: )
                                                                20 :  (type: System.String)
                                                                28 : GameDateTime (type: )
                                                                30 : CurrentProfileId (type: System.String)
                                                                38 :  (type: )
                                                                40 : _sharedBallisticsCalculator (type: EFT.Ballistics.BallisticsCalculator)
                                                                48 : LootList (type: System.Collections.Generic.List<>)
                                                                50 : ItemOwners (type: System.Collections.Generic.Dictionary<,EFT.GameWorld.>)
                                                                58 : LootItems (type: <System.Int32,LootItem>)
                                                                60 : RegisteredPlayers (type: System.Collections.Generic.List<EFT.Player>)
                                                                68 :  (type: System.Collections.Generic.Dictionary<UnityEngine.Collider,EFT.Player>)
                                                                70 :  (type: System.Collections.Generic.Dictionary<UnityEngine.Collider,EFT.PlayerSpirit>)
                                                                78 :  (type: System.Collections.Generic.Dictionary<UnityEngine.Collider,EFT.PlayerSpirit>)
                                                                80 :  (type: System.Collections.Generic.List<EFT.AssetsManager.AmmoPoolObject>)
                                                                88 :  (type: System.Collections.Generic.List<>)
                                                                90 : SpeakerManager (type: EFT.SpeakerManager)
                                                                108 :  (type: EFT.EUpdateQueue)
                                                                98 :  (type: System.Action<>)
                                                                a0 : Turnables (type: System.Collections.Generic.Dictionary<System.String,Turnable>)
                                                                a8 : Grenades (type: <System.Int32,Throwable>)
                                                                b0 : GrenadesCriticalStates (type: System.Collections.Generic.List<>)
                                                                b8 : _grenadeFactory (type: )
                                                                c0 : _effectsCommutator (type: Systems.Effects.EffectsCommutator)
                                                                c8 : Indoors (type: System.Collections.Generic.List<EnvironmentHelperTrigger>)
                                                                d0 :  (type: EFT.Ballistics.BallisticCollider)
                                                                d8 :  (type: EFT.World)
                                                                e0 :  (type: EFT.World)
                                                                e8 : ObjectsFactory (type: )
                                                                f0 :  (type: System.Collections.Generic.Queue<System.Byte[]>)
                                                                f8 :  (type: )
                                                                100 :  (type: System.Collections.Generic.List<WorldInteractiveObject>)
                                                        methods
                                                        base class
                                                                5c42040 : UnityEngine.MonoBehaviour
                                                                        static fields
                                                                        fields
                                                                        methods
                                                                        base class
                                                                       
172b10a8 : EFT.World
                        static fields
                        fields
                                18 :  (type: System.Int32[])
                                20 :  (type: System.Collections.Generic.List<WorldInteractiveObject.>)
                                28 : Interactables (type: System.Collections.Generic.IDictionary<System.String,System.Int32>)
                                30 :  (type: WorldInteractiveObject[])
                                38 :  (type: System.Collections.Generic.Dictionary<System.String,WorldInteractiveObject>)
                                40 :  (type: System.Collections.Generic.IDictionary<UnityEngine.Networking.NetworkConnection,EFT.ChannelCombined>)
                                48 :  (type: System.Collections.Generic.List<EFT.SubWorld>)
                                178 :  (type: System.Int32)
                                17c :  (type: System.Int32)
                                50 :  (type: )
                                58 :  (type: System.Collections.Generic.List<UnityEngine.Networking.NetworkConnection>)
                                60 :  (type: )
                                68 : _previousPacket (type: )
                                e8 : _packet (type: )
                                168 :  (type: System.Collections.Generic.Queue<System.Byte[]>)
                                170 :  (type: )
                        methods
                        base class
                                5c42040 : UnityEngine.MonoBehaviour
                                        static fields
                                        fields
                                        methods
                                        base class
                                       
13cb80b8 : WorldInteractiveObject
                        static fields
                        fields
                                a0 : Snap (type: EDoorState)
                                38 : KeyId (type: System.String)
                                40 : Id (type: System.String)
                                a4 :  (type: System.Int32)
                                a8 : _currentAngle (type: System.Single)
                                ac : interactPosition1 (type: UnityEngine.Vector3)
                                b8 : interactPosition2 (type: UnityEngine.Vector3)
                                c4 : viewTarget1 (type: UnityEngine.Vector3)
                                48 : LockHandle (type: DoorHandle)
                                d0 : OpenAngle (type: System.Single)
                                d4 : CloseAngle (type: System.Single)
                                d8 : DoorAxis (type: WorldInteractiveObject.EDoorAxis)
                                dc : DoorForward (type: WorldInteractiveObject.EDoorAxis)
                                e0 : PushID (type: System.Int32)
                                e4 : CloseID (type: System.Int32)
                                50 : ShutSound (type: UnityEngine.AudioClip[])
                                58 : SqueakSound (type: UnityEngine.AudioClip[])
                                60 : OpenSound (type: UnityEngine.AudioClip[])
                                e8 : ShutShift (type: System.Single)
                                68 : Obstacle (type: UnityEngine.AI.NavMeshObstacle)
                                ec : _ignoreSyncUntil (type: System.Single)
                                70 :  (type: UnityEngine.Collider)
                                f0 :  (type: EDoorState)
                                78 :  (type: )
                                f1 : _doorState (type: EDoorState)
                                f2 :  (type: EDoorState)
                                80 : _interaction (type: WorldInteractiveObject.InteractionState)
                                88 : _previousInteraction (type: WorldInteractiveObject.InteractionState)
                                90 : _handle (type: DoorHandle)
                                98 : Grips (type: GripPose[])
                                f3 : Operatable (type: System.Boolean)
                                f4 : _shutPlayed (type: System.Boolean)
                                f5 :  (type: System.Boolean)
                                f6 :  (type: EDoorState)
                                f8 :  (type: System.Single)
                        methods
                        base class
                                13cb2270 : InteractableObject
                                        static fields
                                        fields
                                                28 : InteractionDirection (type: UnityEngine.Vector3)
                                                18 :  (type: BetterSource)
                                                20 :  (type: UnityEngine.Coroutine)
                                                34 : InteractionDot (type: System.Single)
                                        methods
                                        base class
                                                5e3ee00 : UnityEngine.MonoBehaviour
                                                        static fields
                                                        fields
                                                        methods
                                                        base class

17496468 : LootableContainer
                        static fields
                        fields
                                100 : ItemOwner (type: )
                                108 : Template (type: System.String)
                                120 : ClosedPosition (type: UnityEngine.Vector3)
                                12c : OpenPosition (type: UnityEngine.Vector3)
                                110 :  (type: [])
                                138 : ChanceModifier (type: System.Single)
                                118 : FilterExtended (type: System.Collections.Generic.List<LootableContainerParameters>)
                        methods
                        base class
                                13cb80b8 : WorldInteractiveObject
                                        static fields
                                        fields
                                        methods
                                        base class
                                                       
5e51360 : UnityEngine.Vector3
                        static fields
                        fields
                                10 : x (type: System.Single)
                                14 : y (type: System.Single)
                                18 : z (type: System.Single)
                        methods
                        base class
                                57019a0 : System.ValueType
                                        static fields
                                        fields
                                        methods
                                        base class

Code:


Code:

        public static T Read<T>(Int64 address)
        {
            byte[] Buffer = new byte[Marshal.SizeOf(typeof(T))];
            IntPtr ByteRead;
            Managed.ReadProcessMemory(pHandle, address, Buffer, (uint)Buffer.Length, out ByteRead);

            // Get Struct from Buffer
            GCHandle handle = GCHandle.Alloc(Buffer, GCHandleType.Pinned);
            T stuff = (T)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(T));
            handle.Free();
            // Return
            return stuff;
        }

        public static IntPtr GetPtr(IntPtr pointer, int[] offsets)
        {
            IntPtr pointedto = pointer;
            foreach (int offset in offsets)
            {
                IntPtr tmpPointed = (IntPtr)(RPM.Read<long>((long)pointedto));
                pointedto = IntPtr.Add(tmpPointed, offset);
            }
            return pointedto;
        }

        private void GetLootContainersFromDict()
        {
            IntPtr InteractiveObjectDict = RPM.GetPtr(LocalGameWorld, new int[] { 0xD8, 0x38 });
            //IntPtr keys = RPM.GetPtr(InteractiveObjectDict, new int[] { 0x20 });
            IntPtr vals = RPM.GetPtr(InteractiveObjectDict, new int[] { 0x28 });
            int lootCount = RPM.Read<int>(RPM.GetPtr(InteractiveObjectDict, new int[] { 0x38 }).ToInt64());

            for (int i = 0; i < lootCount; i++)
            {
                //IntPtr keyObj = RPM.GetPtr(keys, new int[] { 0x20 + 0x8 * i });
                IntPtr valObj = RPM.GetPtr(vals, new int[] { 0x20 + 0x8 * i });

                string name = RPM.ReadName(RPM.GetPtr(valObj, new int[] { 0x10, 0x30, 0x60, 0x0 }).ToInt64(), 64); // names are corrects

                Vector3 pos = new Vector3();
                pos = RPM.Read<Vector3>(RPM.GetPtr(valObj, new int[] { 0xAC }).ToInt64()); // First method, wrong pos, tried 0x120 and 0xC4 and 0xB8 too

                IntPtr v3 = RPM.GetPtr(valObj, new int[] { 0xAC }); // tried 0x120 and 0xC4 and 0xB8 too, also tried to dereference the pointer (new int[] { 0xAC, 0x0 })
                float x = RPM.Read<float>(v3.ToInt64() + 0x10); // tried 0x04 too
                float y = RPM.Read<float>(v3.ToInt64() + 0x14); // tried 0x08 too
                float z = RPM.Read<float>(v3.ToInt64() + 0x18); // tried 0x0C too
                Vector3 pos = new Vector3(x, y, z); // Second method, wrong pos again

                if (pos.IsZero)
                    continue;
                float distance = Vector3.Distance(localPlayer.Origin, pos);
                draw.DrawLoot(name, pos, distance, localPlayer.CloseDistance);
            }
        }

I am being desperate on those LootableContainers :(


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

BraydenEGC 30th May 2019 08:41 PM

Quote:

Originally Posted by lumungus (Post 2479671)
~snip~



Have you followed my advice and checked the addresses and Vector 3 values via reclass?

lumungus 30th May 2019 09:17 PM

Quote:

Originally Posted by BraydenEGC (Post 2479672)
Have you followed my advice and checked the addresses and Vector 3 values via reclass?

I did tried, but I am not sure I am using reclass properly, I have confusing results:

Code:

                169915a8 : EFT.GameWorld
                        static fields
                        fields
                                18 :  (type: )
                                20 :  (type: System.String)
                                28 : GameDateTime (type: )
                                30 : CurrentProfileId (type: System.String)
                                38 :  (type: )
                                40 : _sharedBallisticsCalculator (type: EFT.Ballistics.BallisticsCalculator)
                                48 : LootList (type: System.Collections.Generic.List<>)
                                50 : ItemOwners (type: System.Collections.Generic.Dictionary<,EFT.GameWorld.>)
                                58 : LootItems (type: <System.Int32,LootItem>)
                                60 : RegisteredPlayers (type: System.Collections.Generic.List<EFT.Player>)
                                68 :  (type: System.Collections.Generic.Dictionary<UnityEngine.Collider,EFT.Player>)
                                70 :  (type: System.Collections.Generic.Dictionary<UnityEngine.Collider,EFT.PlayerSpirit>)
                                78 :  (type: System.Collections.Generic.Dictionary<UnityEngine.Collider,EFT.PlayerSpirit>)
                                80 :  (type: System.Collections.Generic.List<EFT.AssetsManager.AmmoPoolObject>)
                                88 :  (type: System.Collections.Generic.List<>)
                                90 : SpeakerManager (type: EFT.SpeakerManager)
                                108 :  (type: EFT.EUpdateQueue)
                                98 :  (type: System.Action<>)
                                a0 : Turnables (type: System.Collections.Generic.Dictionary<System.String,Turnable>)
                                a8 : Grenades (type: <System.Int32,Throwable>)
                                b0 : GrenadesCriticalStates (type: System.Collections.Generic.List<>)
                                b8 : _grenadeFactory (type: )
                                c0 : _effectsCommutator (type: Systems.Effects.EffectsCommutator)
                                c8 : Indoors (type: System.Collections.Generic.List<EnvironmentHelperTrigger>)
                                d0 :  (type: EFT.Ballistics.BallisticCollider)
                                d8 :  (type: EFT.World)
                                e0 :  (type: EFT.World)
                                e8 : ObjectsFactory (type: )
                                f0 :  (type: System.Collections.Generic.Queue<System.Byte[]>)
                                f8 :  (type: )
                                100 :  (type: System.Collections.Generic.List<WorldInteractiveObject>)
                        methods
                        base class

https://puu.sh/Dzt2d/f6d56b3dac.png

EFT.World at 0xD8 and 0xE0 are at 0 and reclass says 'GameWorld' at 0x48 where it should be a list of LootItems, I must be doing something wrong

HELOHELO121 30th May 2019 09:54 PM

Quote:

Originally Posted by 12343com (Post 2475974)
the  is nested class

Code:

public class A
{
    class B
    {

    }
}

in this case B is 

here's a more "straightforward" explanation:

Code:

public class Player
{
    class FirearmController
    {
        class 
        {

        }
    }
}

this works for me.

Code:

byte selectedfiremode = readbyte(readlong(readlong(firearm_class + 0x48) + 0x90) + 0x28);

Thanks for the help!

snufkin 31st May 2019 04:36 PM

Having issues drawing stuff using the ViewMatrix from "FPS Camera" GameObject.
Can draw using screen coordinates just fine but when i try to draw stuff inside the world using view it doesn't show up.

I'm using DirectXTK so it shouldn't be a shader issue, I'm also transposing the view before using it. I tried all kinds of combinations between left handed and right handed projections but nothing seems to work.

BraydenEGC 31st May 2019 04:39 PM

Quote:

Originally Posted by snufkin (Post 2480290)
~snip~

You are supposed to transpose the matrix. Have you tried doubly checking your chain via reclass? If so, you can simply copy paste a world to screen function from the Rust section. Make sure you are reading the 16 floats correctly too.

snufkin 1st June 2019 09:26 PM

Quote:

Originally Posted by BraydenEGC (Post 2480296)
You are supposed to transpose the matrix. Have you tried doubly checking your chain via reclass? If so, you can simply copy paste a world to screen function from the Rust section. Make sure you are reading the 16 floats correctly too.

I've triple checked all offsets, they should be correct. I looked at the actual matrix in reclass though and its all messed up, either the viewmatrix has a parent matrix somewhere or it's not correct.

For example, extracting the translation from the inverse of the viewmatrix doesn't give you anywhere near the correct location but should.

I also tried extracting the direction vectors (up, right etc) and the distance doesn't line up to 1 which all normalized vectors should. It's really weird.

BraydenEGC 1st June 2019 09:30 PM

Quote:

Originally Posted by snufkin (Post 2481566)
~snip~

You could be getting the wrong FPSCamera. There is another FPSCamera when you have an optic. Make sure you are reading as an array of 16 floats. (You can just make a class that contains 16 floats. I believe DirectX already has some though.)
Verify you are reading the same floats as reclass. Any differences could point to a incorrect FPSCamera.

qazwar 2nd June 2019 02:56 PM

Quote:

Originally Posted by snufkin (Post 2481566)
I've triple checked all offsets, they should be correct. I looked at the actual matrix in reclass though and its all messed up, either the viewmatrix has a parent matrix somewhere or it's not correct.

For example, extracting the translation from the inverse of the viewmatrix doesn't give you anywhere near the correct location but should.

I also tried extracting the direction vectors (up, right etc) and the distance doesn't line up to 1 which all normalized vectors should. It's really weird.


Code:

#ifdef _DEBUG
#define ILINE _inline
#else
#define ILINE __forceinline
#endif

enum type_zero { ZERO };

struct Matrix4x4
{
        ILINE Matrix4x4() { Matrix4x4{ ZERO }; };
        ILINE Matrix4x4(type_zero) :
                _11(0), _12(0), _13(0), _14(0),
                _21(0), _22(0), _23(0), _24(0),
                _31(0), _32(0), _33(0), _34(0),
                _41(0), _42(0), _43(0), _44(0) {
        }
        ILINE Matrix4x4(float _11, float _12, float _13, float _14,
                float _21, float _22, float _23, float _24,
                float _31, float _32, float _33, float _34,
                float _41, float _42, float _43, float _44):
                _11(_11), _12(_12), _13(_13), _14(_14),
                _21(_21), _22(_22), _23(_23), _24(_24),
                _31(_31), _32(_32), _33(_33), _34(_34),
                _41(_41), _42(_42), _43(_43), _44(_44) {
        }
 
        float _11, _12, _13, _14;
        float _21, _22, _23, _24;
        float _31, _32, _33, _34;
        float _41, _42, _43, _44;
};
 
ILINE Matrix4x4 *MatrixTranspose(Matrix4x4 *pOut, const Matrix4x4 *pM)
{
        pOut->_11 = pM->_11;
        pOut->_12 = pM->_21;
        pOut->_13 = pM->_31;
        pOut->_14 = pM->_41;

        pOut->_21 = pM->_12;
        pOut->_22 = pM->_22;
        pOut->_23 = pM->_32;
        pOut->_24 = pM->_42;

        pOut->_31 = pM->_13;
        pOut->_32 = pM->_23;
        pOut->_33 = pM->_33;
        pOut->_34 = pM->_43;

        pOut->_41 = pM->_14;
        pOut->_42 = pM->_24;
        pOut->_43 = pM->_34;
        pOut->_44 = pM->_44;

        return pOut;
}

Code:

Matrix4x4 matrix;//Final matrix(gloabal)
Code:

    Matrix4x4  temp_matrix;
        uint64_t m_p_Matrix = EFTProcess.ReadPointer(taggedObj_FpsCamera, { 0x30, 0x18 });
        EFTProcess.ReadMemory(m_p_Matrix + 0xC0, &temp_matrix);
        MatrixTranspose(&matrix, &temp_matrix);


snufkin 2nd June 2019 06:03 PM

Figured it out. Turns out it's not a ViewMatrix, but a ViewProjectionMatrix. So no need to create your own projection.

Also for some very weird reason I did not need to transpose the matrix even though unity uses column major and directx uses row major.

EmhyrVarEmreis 2nd June 2019 11:05 PM

How to use this unity\eft ViewProjectionMatrix to get on-screen-coordinates? Simply multiply vector by it? Do I need to translate vector by player position or rotate by angles?

snufkin 3rd June 2019 09:29 AM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2482646)
How to use this unity\eft ViewProjectionMatrix to get on-screen-coordinates? Simply multiply vector by it? Do I need to translate vector by player position or rotate by angles?

A ViewMatrix transforms vector from world space into view space. Projection matrix transforms vector from view space into screen coordinates. ViewProjectionMatrix combines both so it translates vector from world coordinates into screen coordinates.

Depending on your math library you either multiply a vector or call a function that handles the multiplication internally. Note that you may have to pre multiply or post multiply depending on column vectors vs row vectors.

EDIT:
Getting random access violations sometimes when looping through the game object manager.
I assume its a synchronization issue where game objects are being removed at the same time I'm looping through the list.

Any of you dealt with the same problem?
Is there a way to check if a gameobject is valid?

mikangchan 3rd June 2019 08:58 PM

can anyone confirm optic_scope is still in tagged object list? Just checked offline and it's not there anymore

BraydenEGC 3rd June 2019 08:59 PM

Quote:

Originally Posted by mikangchan (Post 2483653)
~snip~


I dumped them a couple days ago, let me check.

Update: It is not in tagged or atleast my tagged dump.

mikangchan 3rd June 2019 10:46 PM

Quote:

Originally Posted by BraydenEGC (Post 2483655)
I dumped them a couple days ago, let me check.

Update: It is not in tagged or atleast my tagged dump.

any idea where it is or it's a different name?

BraydenEGC 3rd June 2019 10:47 PM

Quote:

Originally Posted by mikangchan (Post 2483745)
~snip~



I have no clue. I personally don�t use it in any way.

HELOHELO121 4th June 2019 02:42 AM

Quote:

Originally Posted by mikangchan (Post 2483653)
can anyone confirm optic_scope is still in tagged object list? Just checked offline and it's not there anymore

Not there for me either, this has been plaguing me for a while

yeswejam 4th June 2019 06:22 AM

I've dumped all skeleton transform objects along with their connection chain and formatted it nicely to have a good overview.

The pointer to the list is accessible through:

playerBase ] 0x88 ] 0x28 ] 0x28 ] 0x10

Enjoy :>

Code:


[{ ""                                                :  { "offset" : 0x20,  "path" : "" } },
 { "IKController"                        :  { "offset" : 0x28,  "path" : "IKController" } },
 { "Mesh"                                        :  { "offset" : 0x30,  "path" : "Mesh" } },
 { "Vest_0"                                :  { "offset" : 0x38,  "path" : "Mesh/Vest_0" } },
 { "Vest_1"                                :  { "offset" : 0x40,  "path" : "Mesh/Vest_1" } },
 { "backpack"                                :  { "offset" : 0x48,  "path" : "Mesh/backpack" } },
 { "backpack_0"                        :  { "offset" : 0x50,  "path" : "Mesh/backpack/backpack_0" } },
 { "backpack_1"                        :  { "offset" : 0x58,  "path" : "Mesh/backpack/backpack_1" } },
 { "backpack_2"                        :  { "offset" : 0x60,  "path" : "Mesh/backpack/backpack_2" } },
 { "razgruz"                                :  { "offset" : 0x68,  "path" : "Mesh/razgruz" } },
 { "razgruz_0"                                :  { "offset" : 0x70,  "path" : "Mesh/razgruz/razgruz_0" } },
 { "razgruz_1"                                :  { "offset" : 0x78,  "path" : "Mesh/razgruz/razgruz_1" } },
 { "razgruz_2"                                :  { "offset" : 0x80,  "path" : "Mesh/razgruz/razgruz_2" } },
 { "Root_Joint"                                :  { "offset" : 0x88,  "path" : "Root_Joint" } },
 { "HumanPelvis"                        :  { "offset" : 0x90,  "path" : "Root_Joint/HumanPelvis" } },
 { "HumanLThigh1"                        :  { "offset" : 0x98,  "path" : "Root_Joint/HumanPelvis/HumanLThigh1" } },
 { "HumanLThigh2"                        :  { "offset" : 0xA0,  "path" : "Root_Joint/HumanPelvis/HumanLThigh1/HumanLThigh2" } },
 { "HumanLCalf"                        :  { "offset" : 0xA8,  "path" : "Root_Joint/HumanPelvis/HumanLThigh1/HumanLThigh2/HumanLCalf" } },
 { "HumanLFoot"                        :  { "offset" : 0xB0,  "path" : "Root_Joint/HumanPelvis/HumanLThigh1/HumanLThigh2/HumanLCalf/HumanLFoot" } },
 { "HumanLToe"                                :  { "offset" : 0xB8,  "path" : "Root_Joint/HumanPelvis/HumanLThigh1/HumanLThigh2/HumanLCalf/HumanLFoot/HumanLToe" } },
 { "HumanRThigh1"                        :  { "offset" : 0xC0,  "path" : "Root_Joint/HumanPelvis/HumanRThigh1" } },
 { "HumanRThigh2"                        :  { "offset" : 0xC8,  "path" : "Root_Joint/HumanPelvis/HumanRThigh1/HumanRThigh2" } },
 { "HumanRCalf"                        :  { "offset" : 0xD0,  "path" : "Root_Joint/HumanPelvis/HumanRThigh1/HumanRThigh2/HumanRCalf" } },
 { "HumanRFoot"                        :  { "offset" : 0xD8,  "path" : "Root_Joint/HumanPelvis/HumanRThigh1/HumanRThigh2/HumanRCalf/HumanRFoot" } },
 { "HumanRToe"                                :  { "offset" : 0xE0,  "path" : "Root_Joint/HumanPelvis/HumanRThigh1/HumanRThigh2/HumanRCalf/HumanRFoot/HumanRToe" } },
 { "Bear_Feet"                                :  { "offset" : 0xE8,  "path" : "Root_Joint/HumanPelvis/HumanRThigh1/Bear_Feet" } },
 { "USEC_Feet"                                :  { "offset" : 0xF0,  "path" : "Root_Joint/HumanPelvis/HumanRThigh1/USEC_Feet" } },
 { "BEAR_feet_1"                        :  { "offset" : 0xF8,  "path" : "Root_Joint/HumanPelvis/HumanRThigh1/BEAR_feet_1" } },
 { "weapon_holster_pistol"        :  { "offset" : 0x100,  "path" : "Root_Joint/HumanPelvis/HumanRThigh1/weapon_holster_pistol" } },
 { "HumanSpine1"                        :  { "offset" : 0x108,  "path" : "Root_Joint/HumanPelvis/HumanSpine1" } },
 { "HumanGear1"                        :  { "offset" : 0x110,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanGear1" } },
 { "HumanGear2"                        :  { "offset" : 0x118,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanGear2" } },
 { "HumanGear3"                        :  { "offset" : 0x120,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanGear3" } },
 { "HumanGear4"                        :  { "offset" : 0x128,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanGear4" } },
 { "HumanGear4_1"                        :  { "offset" : 0x130,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanGear4/HumanGear4_1" } },
 { "HumanGear5"                        :  { "offset" : 0x138,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanGear5" } },
 { "HumanSpine2"                        :  { "offset" : 0x140,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2" } },
 { "HumanSpine3"                        :  { "offset" : 0x148,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3" } },
 { "IK_S_LForearm1"                :  { "offset" : 0x150,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/IK_S_LForearm1" } },
 { "IK_S_LForearm2"                :  { "offset" : 0x158,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/IK_S_LForearm1/IK_S_LForearm2" } },
 { "IK_S_LForearm3"                :  { "offset" : 0x160,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/IK_S_LForearm1/IK_S_LForearm2/IK_S_LForearm3" } },
 { "IK_S_LPalm"                        :  { "offset" : 0x168,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/IK_S_LForearm1/IK_S_LForearm2/IK_S_LForearm3/IK_S_LPalm" } },
 { "IK_S_LDigit11"                        :  { "offset" : 0x170,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/IK_S_LForearm1/IK_S_LForearm2/IK_S_LForearm3/IK_S_LPalm/IK_S_LDigit11" } },
 { "IK_S_LDigit12"                        :  { "offset" : 0x178,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/IK_S_LForearm1/IK_S_LForearm2/IK_S_LForearm3/IK_S_LPalm/IK_S_LDigit11/IK_S_LDigit12" } },
 { "IK_S_LDigit13"                        :  { "offset" : 0x180,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/IK_S_LForearm1/IK_S_LForearm2/IK_S_LForearm3/IK_S_LPalm/IK_S_LDigit11/IK_S_LDigit12/IK_S_LDigit13" } },
 { "IK_S_LDigit21"                        :  { "offset" : 0x188,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/IK_S_LForearm1/IK_S_LForearm2/IK_S_LForearm3/IK_S_LPalm/IK_S_LDigit21" } },
 { "IK_S_LDigit22"                        :  { "offset" : 0x190,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/IK_S_LForearm1/IK_S_LForearm2/IK_S_LForearm3/IK_S_LPalm/IK_S_LDigit21/IK_S_LDigit22" } },
 { "IK_S_LDigit23"                        :  { "offset" : 0x198,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/IK_S_LForearm1/IK_S_LForearm2/IK_S_LForearm3/IK_S_LPalm/IK_S_LDigit21/IK_S_LDigit22/IK_S_LDigit23" } },
 { "IK_S_LDigit31"                        :  { "offset" : 0x1A0,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/IK_S_LForearm1/IK_S_LForearm2/IK_S_LForearm3/IK_S_LPalm/IK_S_LDigit31" } },
 { "IK_S_LDigit32"                        :  { "offset" : 0x1A8,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/IK_S_LForearm1/IK_S_LForearm2/IK_S_LForearm3/IK_S_LPalm/IK_S_LDigit31/IK_S_LDigit32" } },
 { "IK_S_LDigit33"                        :  { "offset" : 0x1B0,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/IK_S_LForearm1/IK_S_LForearm2/IK_S_LForearm3/IK_S_LPalm/IK_S_LDigit31/IK_S_LDigit32/IK_S_LDigit33" } },
 { "IK_S_LDigit41"                        :  { "offset" : 0x1B8,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/IK_S_LForearm1/IK_S_LForearm2/IK_S_LForearm3/IK_S_LPalm/IK_S_LDigit41" } },
 { "IK_S_LDigit42"                        :  { "offset" : 0x1C0,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/IK_S_LForearm1/IK_S_LForearm2/IK_S_LForearm3/IK_S_LPalm/IK_S_LDigit41/IK_S_LDigit42" } },
 { "IK_S_LDigit43"                        :  { "offset" : 0x1C8,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/IK_S_LForearm1/IK_S_LForearm2/IK_S_LForearm3/IK_S_LPalm/IK_S_LDigit41/IK_S_LDigit42/IK_S_LDigit43" } },
 { "IK_S_LDigit51"                        :  { "offset" : 0x1D0,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/IK_S_LForearm1/IK_S_LForearm2/IK_S_LForearm3/IK_S_LPalm/IK_S_LDigit51" } },
 { "IK_S_LDigit52"                        :  { "offset" : 0x1D8,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/IK_S_LForearm1/IK_S_LForearm2/IK_S_LForearm3/IK_S_LPalm/IK_S_LDigit51/IK_S_LDigit52" } },
 { "IK_S_LDigit53"                        :  { "offset" : 0x1E0,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/IK_S_LForearm1/IK_S_LForearm2/IK_S_LForearm3/IK_S_LPalm/IK_S_LDigit51/IK_S_LDigit52/IK_S_LDigit53" } },
 { "XYZ"                                        :  { "offset" : 0x1E8,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/IK_S_LForearm1/IK_S_LForearm2/IK_S_LForearm3/IK_S_LPalm/XYZ" } },
 { "LCollarbone_anim"                :  { "offset" : 0x1F0,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/LCollarbone_anim" } },
 { "RCollarbone_anim"                :  { "offset" : 0x1F8,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/RCollarbone_anim" } },
 { "XYZ"                                        :  { "offset" : 0x200,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/RCollarbone_anim/XYZ" } },
 { "Weapon_root_3rd_anim"        :  { "offset" : 0x208,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/Weapon_root_3rd_anim" } },
 { "XYZ_1"                                        :  { "offset" : 0x210,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/Weapon_root_3rd_anim/XYZ_1" } },
 { "Bend_Goal_Left"                :  { "offset" : 0x218,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/Bend_Goal_Left" } },
 { "Bend_Goal_Right"                :  { "offset" : 0x220,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/Bend_Goal_Right" } },
 { "XYZ_1"                                        :  { "offset" : 0x228,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/Bend_Goal_Right/XYZ_1" } },
 { "HumanRibcage"                        :  { "offset" : 0x230,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage" } },
 { "IK_LForearm1"                        :  { "offset" : 0x238,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/IK_LForearm1" } },
 { "IK_LForearm2"                        :  { "offset" : 0x240,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/IK_LForearm1/IK_LForearm2" } },
 { "IK_LForearm3"                        :  { "offset" : 0x248,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/IK_LForearm1/IK_LForearm2/IK_LForearm3" } },
 { "IK_LPalm"                                :  { "offset" : 0x250,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/IK_LForearm1/IK_LForearm2/IK_LForearm3/IK_LPalm" } },
 { "IK_LDigit11"                        :  { "offset" : 0x258,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/IK_LForearm1/IK_LForearm2/IK_LForearm3/IK_LPalm/IK_LDigit11" } },
 { "IK_LDigit12"                        :  { "offset" : 0x260,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/IK_LForearm1/IK_LForearm2/IK_LForearm3/IK_LPalm/IK_LDigit11/IK_LDigit12" } },
 { "IK_LDigit13"                        :  { "offset" : 0x268,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/IK_LForearm1/IK_LForearm2/IK_LForearm3/IK_LPalm/IK_LDigit11/IK_LDigit12/IK_LDigit13" } },
 { "IK_LDigit21"                        :  { "offset" : 0x270,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/IK_LForearm1/IK_LForearm2/IK_LForearm3/IK_LPalm/IK_LDigit21" } },
 { "IK_LDigit22"                        :  { "offset" : 0x278,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/IK_LForearm1/IK_LForearm2/IK_LForearm3/IK_LPalm/IK_LDigit21/IK_LDigit22" } },
 { "IK_LDigit23"                        :  { "offset" : 0x280,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/IK_LForearm1/IK_LForearm2/IK_LForearm3/IK_LPalm/IK_LDigit21/IK_LDigit22/IK_LDigit23" } },
 { "IK_LDigit31"                        :  { "offset" : 0x288,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/IK_LForearm1/IK_LForearm2/IK_LForearm3/IK_LPalm/IK_LDigit31" } },
 { "IK_LDigit32"                        :  { "offset" : 0x290,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/IK_LForearm1/IK_LForearm2/IK_LForearm3/IK_LPalm/IK_LDigit31/IK_LDigit32" } },
 { "IK_LDigit33"                        :  { "offset" : 0x298,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/IK_LForearm1/IK_LForearm2/IK_LForearm3/IK_LPalm/IK_LDigit31/IK_LDigit32/IK_LDigit33" } },
 { "IK_LDigit41"                        :  { "offset" : 0x2A0,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/IK_LForearm1/IK_LForearm2/IK_LForearm3/IK_LPalm/IK_LDigit41" } },
 { "IK_LDigit42"                        :  { "offset" : 0x2A8,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/IK_LForearm1/IK_LForearm2/IK_LForearm3/IK_LPalm/IK_LDigit41/IK_LDigit42" } },
 { "IK_LDigit43"                        :  { "offset" : 0x2B0,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/IK_LForearm1/IK_LForearm2/IK_LForearm3/IK_LPalm/IK_LDigit41/IK_LDigit42/IK_LDigit43" } },
 { "IK_LDigit51"                        :  { "offset" : 0x2B8,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/IK_LForearm1/IK_LForearm2/IK_LForearm3/IK_LPalm/IK_LDigit51" } },
 { "IK_LDigit52"                        :  { "offset" : 0x2C0,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/IK_LForearm1/IK_LForearm2/IK_LForearm3/IK_LPalm/IK_LDigit51/IK_LDigit52" } },
 { "IK_LDigit53"                        :  { "offset" : 0x2C8,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/IK_LForearm1/IK_LForearm2/IK_LForearm3/IK_LPalm/IK_LDigit51/IK_LDigit52/IK_LDigit53" } },
 { "Camera_animated"                :  { "offset" : 0x2D0,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/Camera_animated" } },
 { "CameraContainer"                :  { "offset" : 0x2D8,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/CameraContainer" } },
 { "Cam"                                        :  { "offset" : 0x2E0,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/CameraContainer/Cam" } },
 { "HumanLCollarbone"                :  { "offset" : 0x2E8,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone" } },
 { "HumanLUpperarm"                :  { "offset" : 0x2F0,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone/HumanLUpperarm" } },
 { "HumanLForearm1"                :  { "offset" : 0x2F8,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone/HumanLUpperarm/HumanLForearm1" } },
 { "HumanLForearm2"                :  { "offset" : 0x300,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone/HumanLUpperarm/HumanLForearm1/HumanLForearm2" } },
 { "HumanLForearm3"                :  { "offset" : 0x308,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone/HumanLUpperarm/HumanLForearm1/HumanLForearm2/HumanLForearm3" } },
 { "HumanLPalm"                        :  { "offset" : 0x310,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone/HumanLUpperarm/HumanLForearm1/HumanLForearm2/HumanLForearm3/HumanLPalm" } },
 { "HumanLDigit11"                        :  { "offset" : 0x318,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone/HumanLUpperarm/HumanLForearm1/HumanLForearm2/HumanLForearm3/HumanLPalm/HumanLDigit11" } },
 { "HumanLDigit12"                        :  { "offset" : 0x320,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone/HumanLUpperarm/HumanLForearm1/HumanLForearm2/HumanLForearm3/HumanLPalm/HumanLDigit11/HumanLDigit12" } },
 { "HumanLDigit13"                        :  { "offset" : 0x328,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone/HumanLUpperarm/HumanLForearm1/HumanLForearm2/HumanLForearm3/HumanLPalm/HumanLDigit11/HumanLDigit12/HumanLDigit13" } },
 { "HumanLDigit21"                        :  { "offset" : 0x330,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone/HumanLUpperarm/HumanLForearm1/HumanLForearm2/HumanLForearm3/HumanLPalm/HumanLDigit21" } },
 { "HumanLDigit22"                        :  { "offset" : 0x338,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone/HumanLUpperarm/HumanLForearm1/HumanLForearm2/HumanLForearm3/HumanLPalm/HumanLDigit21/HumanLDigit22" } },
 { "HumanLDigit23"                        :  { "offset" : 0x340,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone/HumanLUpperarm/HumanLForearm1/HumanLForearm2/HumanLForearm3/HumanLPalm/HumanLDigit21/HumanLDigit22/HumanLDigit23" } },
 { "HumanLDigit31"                        :  { "offset" : 0x348,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone/HumanLUpperarm/HumanLForearm1/HumanLForearm2/HumanLForearm3/HumanLPalm/HumanLDigit31" } },
 { "HumanLDigit32"                        :  { "offset" : 0x350,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone/HumanLUpperarm/HumanLForearm1/HumanLForearm2/HumanLForearm3/HumanLPalm/HumanLDigit31/HumanLDigit32" } },
 { "HumanLDigit33"                        :  { "offset" : 0x358,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone/HumanLUpperarm/HumanLForearm1/HumanLForearm2/HumanLForearm3/HumanLPalm/HumanLDigit31/HumanLDigit32/HumanLDigit33" } },
 { "HumanLDigit41"                        :  { "offset" : 0x360,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone/HumanLUpperarm/HumanLForearm1/HumanLForearm2/HumanLForearm3/HumanLPalm/HumanLDigit41" } },
 { "HumanLDigit42"                        :  { "offset" : 0x368,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone/HumanLUpperarm/HumanLForearm1/HumanLForearm2/HumanLForearm3/HumanLPalm/HumanLDigit41/HumanLDigit42" } },
 { "HumanLDigit43"                        :  { "offset" : 0x370,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone/HumanLUpperarm/HumanLForearm1/HumanLForearm2/HumanLForearm3/HumanLPalm/HumanLDigit41/HumanLDigit42/HumanLDigit43" } },
 { "HumanLDigit51"                        :  { "offset" : 0x378,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone/HumanLUpperarm/HumanLForearm1/HumanLForearm2/HumanLForearm3/HumanLPalm/HumanLDigit51" } },
 { "HumanLDigit52"                        :  { "offset" : 0x380,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone/HumanLUpperarm/HumanLForearm1/HumanLForearm2/HumanLForearm3/HumanLPalm/HumanLDigit51/HumanLDigit52" } },
 { "HumanLDigit53"                        :  { "offset" : 0x388,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanLCollarbone/HumanLUpperarm/HumanLForearm1/HumanLForearm2/HumanLForearm3/HumanLPalm/HumanLDigit51/HumanLDigit52/HumanLDigit53" } },
 { "HumanRCollarbone"                :  { "offset" : 0x390,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone" } },
 { "HumanRUpperarm"                :  { "offset" : 0x398,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone/HumanRUpperarm" } },
 { "HumanRForearm1"                :  { "offset" : 0x3A0,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone/HumanRUpperarm/HumanRForearm1" } },
 { "HumanRForearm2"                :  { "offset" : 0x3A8,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone/HumanRUpperarm/HumanRForearm1/HumanRForearm2" } },
 { "HumanRForearm3"                :  { "offset" : 0x3B0,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone/HumanRUpperarm/HumanRForearm1/HumanRForearm2/HumanRForearm3" } },
 { "HumanRPalm"                        :  { "offset" : 0x3B8,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone/HumanRUpperarm/HumanRForearm1/HumanRForearm2/HumanRForearm3/HumanRPalm" } },
 { "HumanRDigit11"                        :  { "offset" : 0x3C0,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone/HumanRUpperarm/HumanRForearm1/HumanRForearm2/HumanRForearm3/HumanRPalm/HumanRDigit11" } },
 { "HumanRDigit12"                        :  { "offset" : 0x3C8,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone/HumanRUpperarm/HumanRForearm1/HumanRForearm2/HumanRForearm3/HumanRPalm/HumanRDigit11/HumanRDigit12" } },
 { "HumanRDigit13"                        :  { "offset" : 0x3D0,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone/HumanRUpperarm/HumanRForearm1/HumanRForearm2/HumanRForearm3/HumanRPalm/HumanRDigit11/HumanRDigit12/HumanRDigit13" } },
 { "HumanRDigit21"                        :  { "offset" : 0x3D8,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone/HumanRUpperarm/HumanRForearm1/HumanRForearm2/HumanRForearm3/HumanRPalm/HumanRDigit21" } },
 { "HumanRDigit22"                        :  { "offset" : 0x3E0,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone/HumanRUpperarm/HumanRForearm1/HumanRForearm2/HumanRForearm3/HumanRPalm/HumanRDigit21/HumanRDigit22" } },
 { "HumanRDigit23"                        :  { "offset" : 0x3E8,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone/HumanRUpperarm/HumanRForearm1/HumanRForearm2/HumanRForearm3/HumanRPalm/HumanRDigit21/HumanRDigit22/HumanRDigit23" } },
 { "HumanRDigit31"                        :  { "offset" : 0x3F0,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone/HumanRUpperarm/HumanRForearm1/HumanRForearm2/HumanRForearm3/HumanRPalm/HumanRDigit31" } },
 { "HumanRDigit32"                        :  { "offset" : 0x3F8,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone/HumanRUpperarm/HumanRForearm1/HumanRForearm2/HumanRForearm3/HumanRPalm/HumanRDigit31/HumanRDigit32" } },
 { "HumanRDigit33"                        :  { "offset" : 0x400,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone/HumanRUpperarm/HumanRForearm1/HumanRForearm2/HumanRForearm3/HumanRPalm/HumanRDigit31/HumanRDigit32/HumanRDigit33" } },
 { "HumanRDigit41"                        :  { "offset" : 0x408,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone/HumanRUpperarm/HumanRForearm1/HumanRForearm2/HumanRForearm3/HumanRPalm/HumanRDigit41" } },
 { "HumanRDigit42"                        :  { "offset" : 0x410,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone/HumanRUpperarm/HumanRForearm1/HumanRForearm2/HumanRForearm3/HumanRPalm/HumanRDigit41/HumanRDigit42" } },
 { "HumanRDigit43"                        :  { "offset" : 0x418,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone/HumanRUpperarm/HumanRForearm1/HumanRForearm2/HumanRForearm3/HumanRPalm/HumanRDigit41/HumanRDigit42/HumanRDigit43" } },
 { "HumanRDigit51"                        :  { "offset" : 0x420,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone/HumanRUpperarm/HumanRForearm1/HumanRForearm2/HumanRForearm3/HumanRPalm/HumanRDigit51" } },
 { "HumanRDigit52"                        :  { "offset" : 0x428,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone/HumanRUpperarm/HumanRForearm1/HumanRForearm2/HumanRForearm3/HumanRPalm/HumanRDigit51/HumanRDigit52" } },
 { "HumanRDigit53"                        :  { "offset" : 0x430,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/HumanRCollarbone/HumanRUpperarm/HumanRForearm1/HumanRForearm2/HumanRForearm3/HumanRPalm/HumanRDigit51/HumanRDigit52/HumanRDigit53" } },
 { "Weapon_root"                        :  { "offset" : 0x438,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanRibcage/Weapon_root" } },
 { "HumanNeck"                                :  { "offset" : 0x440,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanNeck" } },
 { "HumanHead"                                :  { "offset" : 0x448,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanNeck/HumanHead" } },
 { "HumanBackpack"                        :  { "offset" : 0x450,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/HumanBackpack" } },
 { "weapon_holster"                :  { "offset" : 0x458,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/weapon_holster" } },
 { "weapon_holster1"                :  { "offset" : 0x460,  "path" : "Root_Joint/HumanPelvis/HumanSpine1/HumanSpine2/HumanSpine3/weapon_holster1" } },
 { "Camera_animated_3rd"        :  { "offset" : 0x468,  "path" : "Root_Joint/Camera_animated_3rd" } }];


BraydenEGC 4th June 2019 12:49 PM

Quote:

Originally Posted by yeswejam (Post 2483972)
~snip~


Nice release. It is really helpful for those who do not have a skeleton ESP. I think it was already released, but nevertheless, good release.

yeswejam 4th June 2019 06:36 PM

Quote:

Originally Posted by BraydenEGC (Post 2484180)
Nice release. It is really helpful for those who do not have a skeleton ESP. I think it was already released, but nevertheless, good release.

Thanks.
And yeah, i've seen several posts, but not a clean and complete list yet + extra info.

snufkin 5th June 2019 01:19 PM

Is there a view direction vector somewhere? Having issues translating view angles into forward direction vector to do some calculations for aimbot.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

yeswejam 5th June 2019 09:24 PM

Quote:

Originally Posted by snufkin (Post 2485115)
Is there a view direction vector somewhere? Having issues translating view angles into forward direction vector to do some calculations for aimbot.

yes, in the movementcontext

playerAddr + 0x38


Here my Reclass file:
https://imgur.com/s8eukwC


// EDIT
The BBCode is bugged, the image won't show up >_>

Here the plain link: https://imgur.com/s8eukwC

EmhyrVarEmreis 9th June 2019 03:57 PM

How to check if player is scoping?
I'm reading player + 0x70] + 0x80] + 0x10D with no luck

OpticCamera matrix needs different calculations other than FpsCamera? When I calc player to screen position using the same alghoritm Optic Camera gives me wrong results, the difference is the bigger the player is farther away from the center of aiming.

yeswejam 10th June 2019 12:13 AM

@ThePapanoob
@37ed1


I've found the reason why the SIMD Vector process occasionally redirects to unallocated memory.
It's quite obvious though.


Code:

while (index_relation >= 0) {

        adr = (lMatrices + (0x30 * (ulong) index_relation));

        matrix34 = *(Matrix34*)(adr);

        v10 = matrix34.vec2 * result;
        v11 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(0)));
        v12 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(85)));
        v13 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-114)));
        v14 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-37)));
        v15 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-86)));
        v16 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(113)));

        result = (((((((v11 * xmmword_1410D1350) * v13) - ((v12 * xmmword_1410D1360) * v14)) * VectorOperations.Shuffle(v10, (ShuffleSel)(-86))) +
                          ((((v15 * xmmword_1410D1360) * v14) - ((v11 * xmmword_1410D1340) * v16)) * VectorOperations.Shuffle(v10, (ShuffleSel)(85)))) +
                          (((((v12 * xmmword_1410D1340) * v16) - (v15 * xmmword_1410D1350 * v13)) * VectorOperations.Shuffle(v10, (ShuffleSel)(0))) + v10)) + matrix34.vec0);

        index_relation = *(int*)(lndices + 0x4 * (ulong)index_relation);
 }


The bug is in the while condition.
When the next index_relation value is exactly 0, the operation must end there.

Why?
Because when getting the next matrix offset by multiplying
Code:

*(Matrix34*)(lMatrices +  0x30 *  (index_relation = 0 ))
you simply get the base address of your allocated space.

So the solution is:
Code:

result = *(Vector4f*)(lMatrices + 0x30 * (ulong)index);

index_relation = index;


while ((index_relation = *(int*)(lndices + 0x4 * (ulong)index_relation)) > 0)
{


        Matrix34 matrix34 = *(Matrix34*)(lMatrices + (0x30 * (ulong)index_relation));

        v10 = matrix34.vec2 * result;
        v11 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(0)));
        v12 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(85)));
        v13 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-114)));
        v14 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-37)));
        v15 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(-86)));
        v16 = (Vector4f)(VectorOperations.Shuffle(matrix34.vec1, (ShuffleSel)(113)));

        result = (((((((v11 * xmmword_1410D1350) * v13) - ((v12 * xmmword_1410D1360) * v14)) * VectorOperations.Shuffle(v10, (ShuffleSel)(-86))) +
                                ((((v15 * xmmword_1410D1360) * v14) - ((v11 * xmmword_1410D1340) * v16)) * VectorOperations.Shuffle(v10, (ShuffleSel)(85)))) +
                                (((((v12 * xmmword_1410D1340) * v16) - (v15 * xmmword_1410D1350 * v13)) * VectorOperations.Shuffle(v10, (ShuffleSel)(0))) + v10)) + matrix34.vec0);

}


kkkcrs 10th June 2019 05:33 PM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2488744)
How to check if player is scoping?
I'm reading player + 0x70] + 0x80] + 0x10D with no luck

OpticCamera matrix needs different calculations other than FpsCamera? When I calc player to screen position using the same alghoritm Optic Camera gives me wrong results, the difference is the bigger the player is farther away from the center of aiming.

I have tried to fix this by myself, but I am out of ideas...:huh:

Maybe somebody would support us:smashfreakB:

EmhyrVarEmreis 10th June 2019 06:09 PM

@yeswejam
lMatrices and lndices are simply addresses for matrices and indices?

yeswejam 10th June 2019 07:09 PM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2489730)
@yeswejam
lMatrices and lndices are simply addresses for matrices and indices?

yeah, basically
matrices/indices are IntPtr objects
lMatrcies/lIndices are long addresses

37ed1 10th June 2019 08:02 PM

Quote:

Originally Posted by yeswejam (Post 2489170)
~

Good find! Thanks, I'll check it too.
Since we lastly talked about this, I haven't encountered any issues with bones. Let me remind you, my thought was that the sizes for the buffers are incorrect and since then it seems to work good.
Anyway, I'll debug it again, thanks!

EmhyrVarEmreis 10th June 2019 10:39 PM

What is current loot item name chain?
I've tried LootItem->0x40]->0x20] (+ 0x10 and 0x14 for size and data).

(I'm looking for player -> firearm -> isScoping chain too)

BraydenEGC 10th June 2019 10:40 PM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2490022)
~snip~


0x48] + 0x18] + 0x20] (System.String)

EmhyrVarEmreis 10th June 2019 11:31 PM

Quote:

Originally Posted by BraydenEGC (Post 2490028)
0x48] + 0x18] + 0x20] (System.String)

Are you sure?
When I read {LootItem + 0x48] + 0x18] + 0x20] + 0x10 -> int} bytes from {LootItem + 0x48] + 0x18] + 0x20] + 0x14} it gives me random stuff.
My LootItem address is correct because {LootItem + 0x10] + 0x30] + 0x30] + 0x08] + 0x38] + 0x90} gives me proper location.

yeswejam 11th June 2019 01:52 AM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2490053)
Are you sure?
When I read {LootItem + 0x48] + 0x18] + 0x20] + 0x10 -> int} bytes from {LootItem + 0x48] + 0x18] + 0x20] + 0x14} it gives me random stuff.
My LootItem address is correct because {LootItem + 0x10] + 0x30] + 0x30] + 0x08] + 0x38] + 0x90} gives me proper location.



itembaseaddress ] 0x10 ] 0x30 ] 0x60 ] 0x0

BraydenEGC 11th June 2019 01:53 AM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2490053)
~snip~


Odd, maybe that is for inventory items and I didn�t realize.

yeswejam 11th June 2019 11:51 PM

I've reversed the whole internal SIMD operation in IDA and made a 1:1 adaption for csharp.

I've just finished it and it run perfectly !

https://imgur.com/XWc2lSb

https://imgur.com/lEJRddT

37ed1 13th June 2019 10:35 AM

Quote:

Originally Posted by yeswejam (Post 2491085)
I've reversed the whole internal SIMD operation in IDA and made a 1:1 adaption for csharp.

I've just finished it and it run perfectly !

https://imgur.com/XWc2lSb

https://imgur.com/lEJRddT

For those _mm_* calls, did you used SSE methods of .net? I mean the ones from System.Runtime.Intrinsics, or you've reversed them too?

yeswejam 13th June 2019 04:29 PM

Quote:

Originally Posted by 37ed1 (Post 2492372)
For those _mm_* calls, did you used SSE methods of .net? I mean the ones from System.Runtime.Intrinsics, or you've reversed them too?



I had it implemented at the beginning, but there were only problems with the type conversion.
As I studied the documentation more closely, I came to the conclusion that it is much simpler to define the functions yourself, because in the end the arithmetic is the same.

I have continued to analyze and optimize the whole procedure because quite a few local variables in the IDA disasm are redundant.

In the end, I came out the same, but now with much cleaner source code and indeed without the accessviolation bug

I'm publishing my implementation now.

Here you go.


Code:

/**
        � 2019 yeswejam, All Rights Reserved
        https://www.unknowncheats.me/forum/members/1469708.html
 
        UnityEngine.Transform  Internal SIMD Vector3 Operation - INTERNAL_get_position
**/



using System;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using Mono.Simd;
using UnityEngine;

using __m128  = Mono.Simd.Vector4f;
using __int32  = System.Int32;
using __int64  = System.Int64;

namespace foobar {

 public class BoneTransform
    {
                public Vector3 position, screen;
               
        public string name;

                protected __int64 address;

        protected __m128 xmmword_1,
                                                xmmword_2,
                                                xmmword_3;
       
 
 
        public BoneTransform(string name, __int64 address)
        {
            this.name    = name;
            this.address = address;

            xmmword_1 = new __m128(-2.0f,  2.0f, -2.0f, 0.0f);
            xmmword_2 = new __m128( 2.0f, -2.0f, -2.0f, 0.0f);
            xmmword_3 = new __m128(-2.0f, -2.0f,  2.0f, 0.0f);

            screen  = new Vector3();
            position = new Vector3();

            __int64 transformInternal  = Memory.Read<__int64>(address          + 0x10);
            __int32 relation            = Memory.Read<__int32>(transformInternal + 0x40);
            __int64 matrixBase          = Memory.Read<__int64>(transformInternal + 0x38);
            __int64 matrixList          = Memory.Read<__int64>(matrixBase        + 0x8);
            __int64 indexList          = Memory.Read<__int64>(matrixBase        + 0x10);

            __int32 matrixSize          =  0x30 * relation + 0x30;
            __int32 indexSize          =  0x4 * relation + 0x4;

            __int64 matrixAlloc        = (__int64) Marshal.AllocHGlobal(matrixSize);
            __int64 indexAlloc          = (__int64) Marshal.AllocHGlobal(indexSize);


            op = new InternalOperation()
            {
                relation  = relation,

                matrix = new __matrix()
                {
                    address = matrixBase,
                    list    = matrixList,
                    size    = matrixSize,
                    alloc  = matrixAlloc
                },
                index  = new __index()
                {
                    list  = indexList,
                    size  = indexSize,
                    alloc = indexAlloc
                },
            };


            Task.Run(syncMemory);
        }



        public void update()
        {
                        calcPosition();

                        screen = EFTCam.WorldToScreen(position, screen);
        }

        public float x { get { return position.x; } set { position.x = value; }}
        public float y { get { return position.y; } set { position.y = value; }}
        public float z { get { return position.z; } set { position.z = value; }}
               
               
        public bool isValid()
        {
            return x != 0f && y != 0f && z != 0f;
        }
        protected static __m128 _mm_add_ps(__m128 v1, __m128 v2)
        {
            return v1 + v2;
        }
        protected static __m128 _mm_mul_ps(__m128 v1, __m128 v2)
        {
            return v1 * v2;
        }
        protected static __m128 _mm_sub_ps(__m128 v1, __m128 v2)
        {
            return v1 - v2;
        }
        protected static __m128 _mm_shuffle_epi32(__m128 left, ShuffleSel control)
        {
            return VectorOperations.Shuffle(left, (ShuffleSel)control);
        }

        protected struct __matrix34
        {
            public __m128 Vec1, Vec2, Vec3;
        }

        protected InternalOperation op;

        protected unsafe struct InternalOperation
        {
            public __int32 relation;
            public __matrix matrix;
            public __index  index;
        };

        protected struct __matrix
        {
            public __int64 address;
            public __int64 list;
            public __int32 size;
            public __int64 alloc;
        }

        protected struct __index
        {
            public __int64 list;
            public __int32 size;
            public __int64 alloc;

        }

        protected async Task syncMemory()
        {
                        Task.Run(syncIndexMemory);
                        Task.Run(syncMatrixMemory);
        }
        protected async Task syncIndexMemory()
        {
                    Marshal.Copy(Memory.ReadBytes( op.index.list,  op.index.size), 0, (IntPtr)  op.index.alloc,  op.index.size);
        }
        protected async Task syncMatrixMemory()
        {
            Marshal.Copy(Memory.ReadBytes(op.matrix.list, op.matrix.size), 0, (IntPtr) op.matrix.alloc, op.matrix.size);
        }

        protected unsafe void calcPosition()
        {
            Task.Run(syncMemory);


            __m128 v1;
            __m128 v2;
            __m128 v3;
            __m128 v4;

            __matrix34 v5;

            __int32 v6 = op.relation;
            __int64 v7 = op.index.alloc;
            __int64 v8 = op.matrix.alloc;

            __m128 v13;
            __m128 v14;
            __m128 v15;
            __m128 v16;
            __m128 v17;
            __m128 v18;
            __m128 v19;
            __m128 v20;



            v1 = *(__m128*)(v8 + 0x30 * v6);


            while ((v6 = *(__int32*)(v7 + 0x4 * v6)) > 0)
            {
                v5 = *(__matrix34*)(v8 + 0x30 * v6);

                v2 = v5.Vec1;
                v3 = v5.Vec2;
                v4 = v5.Vec3;

                v13 = _mm_mul_ps(v4, v1);

                v14 = _mm_shuffle_epi32(v3, (ShuffleSel)(0));
                v15 = _mm_shuffle_epi32(v3, (ShuffleSel)(85));
                v16 = _mm_shuffle_epi32(v3, (ShuffleSel)(-114));
                v17 = _mm_shuffle_epi32(v3, (ShuffleSel)(-37));
                v18 = _mm_shuffle_epi32(v3, (ShuffleSel)(-86));
                v19 = _mm_shuffle_epi32(v3, (ShuffleSel)(113));

                v1 = _mm_add_ps(
                        _mm_add_ps(
                            _mm_add_ps(
                                _mm_mul_ps(
                                    _mm_sub_ps(
                                        _mm_mul_ps(_mm_mul_ps(v14, xmmword_2), v16),
                                        _mm_mul_ps(_mm_mul_ps(v15, xmmword_3), v17)),
                                    _mm_shuffle_epi32(v13, (ShuffleSel)(-86))),
                                _mm_mul_ps(
                                    _mm_sub_ps(
                                        _mm_mul_ps(_mm_mul_ps(v18, xmmword_3), v17),
                                        _mm_mul_ps(_mm_mul_ps(v14, xmmword_1), v19)),
                                    _mm_shuffle_epi32(v13, (ShuffleSel)85))),
                            _mm_add_ps(
                                _mm_mul_ps(
                                    _mm_sub_ps(
                                        _mm_mul_ps(_mm_mul_ps(v15, xmmword_1), v19),
                                        _mm_mul_ps(_mm_mul_ps(v18, xmmword_2), v16)),
                                    _mm_shuffle_epi32(v13, (ShuffleSel)0)),
                                v13)),
                            v2);

            }

   

            x = v1.X;
            y = v1.Y;
            z = v1.Z;
        }
    }


MASLO1337 16th June 2019 01:26 AM

I cant get LootItem's Vector3 from
Code:

Item + 0x10 + 0x30 + 0x30 + 0x8 + 0x38 + 0x90
Its always (0,0,0) or closer to zero
https://imgur.com/a/hoYn68H

yeswejam 16th June 2019 05:55 PM

Quote:

Originally Posted by MASLO1337 (Post 2494963)
I cant get LootItem's Vector3 from
Code:

Item + 0x10 + 0x30 + 0x30 + 0x8 + 0x38 + 0x90
Its always (0,0,0) or closer to zero
https://imgur.com/a/hoYn68H

Dude, i've posted it literally 5 posts before your post.
Are you even reading this forum?


itembaseaddress ] 0x10 ] 0x30 ] 0x60 ] 0x0

MASLO1337 16th June 2019 08:49 PM

if I understand correctly, I need to read
Code:

Item + (0x10 + 0x10 + 0x30 + 0x60 + 0x0) + (0x10 + 0x30 + 0x30 + 0x08 + 0x38 + 0x90)
to get a Vector3 position, but it's still something wrong
https://imgur.com/rTAuO31

yeswejam 16th June 2019 11:14 PM

Quote:

Originally Posted by MASLO1337 (Post 2495690)
if I understand correctly, I need to read
Code:

Item + (0x10 + 0x10 + 0x30 + 0x60 + 0x0) + (0x10 + 0x30 + 0x30 + 0x08 + 0x38 + 0x90)
to get a Vector3 position, but it's still something wrong
https://imgur.com/rTAuO31

Sry, i looked up the name address.

Position Address : Base.GetPtr(itemBase, new int[] { 0x10, 0x30, 0x30, 0x08, 0x38, 0x90 });

37ed1 18th June 2019 08:14 AM

Quote:

Originally Posted by yeswejam (Post 2492642)
I had it implemented at the beginning, but there were only problems with the type conversion.
As I studied the documentation more closely, I came to the conclusion that it is much simpler to define the functions yourself, because in the end the arithmetic is the same.

I have continued to analyze and optimize the whole procedure because quite a few local variables in the IDA disasm are redundant.

In the end, I came out the same, but now with much cleaner source code and indeed without the accessviolation bug

I'm publishing my implementation now.

Here you go.


Code:

code

You are the man for sharing this, much thanks. Although I'm not that interested to use paste&go code, someone will find it useful.
I've decided to fire up an IDA and do it by myself. Had a little struggle to find internal_get_position initially, just because of my small, even close to zero, experience in IDA and asm in general. But I did it. To no surprise I've found out that the IDA's pseudocode was fully identical to the one that you've posted, except the refactoring you've did for redundant variables and other small things.
Thanks again!

Also
Quote:

You must spread some Reputation around before giving it to yeswejam again.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

MASLO1337 20th June 2019 10:00 AM

Is there a any way to find out the weapon the player is holding? Those ways that they wrote before do not work.
sorry for bad english(

BraydenEGC 20th June 2019 02:35 PM

Quote:

Originally Posted by MASLO1337 (Post 2498933)
~snip~

You can find the weapons someone has by looping through inventory->fastaccess->equipment[].

MASLO1337 20th June 2019 03:13 PM

Quote:

Originally Posted by BraydenEGC (Post 2499148)
You can find the weapons someone has by looping through inventory->fastaccess->equipment[].

I thought about it but could not figure out how to get the item from the Dictionary.

How to get item from Dictionary?
https://imgur.com/a/aFGSznM

yeswejam 20th June 2019 06:46 PM

Quote:

Originally Posted by MASLO1337 (Post 2499182)
I thought about it but could not figure out how to get the item from the Dictionary.

How to get item from Dictionary?
https://imgur.com/a/aFGSznM

Here is the structure.

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

niharkanta1 22nd June 2019 05:50 AM

I am trying to render the name of the gun players are holding and Player Levels.
what is the offset for that.. anybody has any clue ??

BraydenEGC 22nd June 2019 04:40 PM

Quote:

Originally Posted by niharkanta1 (Post 2500668)
~snip~

Player level has to be calculated using the experience table that is in EFT. Weapon names is as simple as Profile->Inventory->Equipment->EquipmentArray->(Specific Item you want the name of)->ContainedItem->Template->Name.

PutinIsLove 1st July 2019 09:57 AM

Hey guys, back to coding a little bit.

Is there a way to get infinite stamina, no recoil, and no breath ?
(Own external)
Saw it could be detected few pages ago, is this right ?
Thanks

dracorx 3rd July 2019 04:09 PM

Anyone have the chain to get ammo count for current weapon?

snufkin 3rd July 2019 05:12 PM

Quote:

Originally Posted by PutinIsLove (Post 2508134)
Hey guys, back to coding a little bit.

Is there a way to get infinite stamina, no recoil, and no breath ?
(Own external)
Saw it could be detected few pages ago, is this right ?
Thanks

Don't know about infinite stamina but this is the no recoil/no breath method I use and I haven't been banned yet.

No recoil:
Set shot effector intensity to 0.
Player->ProceduralWeaponAnimation->ShotEffector.intensity (float32)

Offset
PlayerAddr + 0x70] + 0x48] + 0x64

No breath:
Set breath effector intensity to 0.
Player->ProceduralWeaponAnimation->BreathEffector.intensity (float32)

Offset
PlayerAddr + 0x70] + 0x28] + 0x8C

PutinIsLove 3rd July 2019 08:17 PM

Quote:

Originally Posted by snufkin (Post 2509961)
Don't know about infinite stamina but this is the no recoil/no breath method I use and I haven't been banned yet.

No recoil:
Set shot effector intensity to 0.
Player->ProceduralWeaponAnimation->ShotEffector.intensity (float32)

Offset
PlayerAddr + 0x70] + 0x48] + 0x64

No breath:
Set breath effector intensity to 0.
Player->ProceduralWeaponAnimation->BreathEffector.intensity (float32)

Offset
PlayerAddr + 0x70] + 0x28] + 0x8C

Thanks, I had find the recoil but i will be able to implement breath. Thanks buddy :asskiss:

snufkin 5th July 2019 08:13 PM

Did anyone manage to figure out a good way to compensate for bullet drop in aimbot math?

albanninou 6th July 2019 11:32 AM

Hello, i try to make a loot ESP external but i have a probleme for get the nme of item.
I had GameWorld, so i get the LocalGameworld ( 0x30->0x18->0x28), here i get the lootlist (0x48), i get all lootitem list :
Code:

public LootItem[] GetLootItem()
        {
            int itemCount = GetCount();

            long fpAddr = mem.Read<long>(addr + 0x10);
            LootItem[] p = new LootItem[itemCount];
            for (int i = 0; i < itemCount; i++)
            {
                p[i] = new LootItem(mem.Read<long>(fpAddr + 0x20 + (i * 0x8)), mem);
            }
            return p;
        }

on lootitem, i get Item (0x48) and on the item i get the name (0x18->0x20).
And this dont return me the name :( where is false ?

Edit:
If i get the name directly one the lootitem on 0x50 i get omething like this :
Quote:

591093bb86f7747caa7bb2ee ShortName
Sorry for the bad english

PutinIsLove 6th July 2019 01:42 PM

Quote:

Originally Posted by albanninou (Post 2512033)
~

item + 0x10] + 0x30] + 0x60

EmhyrVarEmreis 7th July 2019 12:46 PM

Anynone knows how to check if player is scoping?
I want to know wchich camera matrix to use :/

albanninou 7th July 2019 01:39 PM

Quote:

Originally Posted by PutinIsLove (Post 2512104)
item + 0x10] + 0x30] + 0x60

Code:

public string GetName()
        {
            long temp = mem.Read<long>(addr + 0x10);
            long temp1 = mem.Read<long>(temp + 0x30);
            return mem.UReadString(temp1 + 0x60);
        }

that's give me an empty string :(

i think my problem is
Code:

public LootItem[] GetLootItem()
        {
            int itemCount = GetCount();

            long fpAddr = mem.Read<long>(addr + 0x10);
            LootItem[] p = new LootItem[itemCount];
            for (int i = 0; i < itemCount; i++)
            {
                p[i] = new LootItem(mem.Read<long>(fpAddr + 0x20 + (i * 0x8)), mem);
            }
            return p;
        }


dracorx 7th July 2019 02:54 PM

Unity 2018 confirmed for 12.0, also I'm wagering they are adding EAC.

37ed1 7th July 2019 04:34 PM

Quote:

Originally Posted by dracorx (Post 2512900)
Unity 2018 confirmed for 12.0, also I'm wagering they are adding EAC.

I agree. The "big thing that we can't talk about" which Nikita said is either proper update for in-home AC(doubt) or they'll start to use proper 3rd party AC such as EAC.

So what unity2018 will bring to us? Will it have il2cpp?
Also, in case of EAC, most of the wanna-be reversers(like me lol) gonna be fucked. I have a fully working and legit(properly signed) kernel driver to read memory via IOCTLs. Not a paste, wrote my own using WDF.

If there is anyone who had an experience with EAC - to what should we prepare? inb4 ban

elevenelven 8th July 2019 09:04 AM

I don't think it'll be third-party AC. Just another iteration of in-home AC.
Anyways, everything changes - it'll be next challenge to cheat with new AC.

BraydenEGC 8th July 2019 10:47 AM

Quote:

Originally Posted by elevenelven (Post 2513409)
it'll be next challenge to cheat with new AC.


I severely doubt that. It will be a challenge to be a after on the new AC, sure. But the few people who code things for themselves are pretty much golden.

TheMaoci 8th July 2019 02:55 PM

i will reviews binaries after it comes out ;) same with updating everything for JET :)


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

albanninou 8th July 2019 06:29 PM

Quote:

Originally Posted by albanninou (Post 2512867)
Code:

public string GetName()
        {
            long temp = mem.Read<long>(addr + 0x10);
            long temp1 = mem.Read<long>(temp + 0x30);
            return mem.UReadString(temp1 + 0x60);
        }

that's give me an empty string :(

i think my problem is
Code:

public LootItem[] GetLootItem()
        {
            int itemCount = GetCount();

            long fpAddr = mem.Read<long>(addr + 0x10);
            LootItem[] p = new LootItem[itemCount];
            for (int i = 0; i < itemCount; i++)
            {
                p[i] = new LootItem(mem.Read<long>(fpAddr + 0x20 + (i * 0x8)), mem);
            }
            return p;
        }


No one can help me with my problem ?

PutinIsLove 8th July 2019 07:51 PM

Quote:

Originally Posted by albanninou (Post 2513715)
No one can help me with my problem ?

You got a realistic item count at least ?

albanninou 8th July 2019 08:22 PM

Quote:

Originally Posted by PutinIsLove (Post 2513778)
You got a realistic item count at least ?

yes and when i drop an item he got +1, i think i dont understand on what you do
Code:

item + 0x10] + 0x30] + 0x60
i have try it on lootitem and item

Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EscapeFromCSharp
{
    public class LootList : BaseClass
    {
        public LootList(long addr, Memory mem) : base(addr, mem) { }

        public int GetCount()
        {
            return mem.Read<int>(addr + 0x18);
        }

        public LootItem[] GetLootItem()
        {
            int itemCount = GetCount();

            long fpAddr = mem.Read<long>(addr + 0x10);
            LootItem[] p = new LootItem[itemCount];
            for (int i = 0; i < itemCount; i++)
            {
                p[i] = new LootItem(mem.Read<long>(fpAddr + 0x20 + (i * 0x8)), mem);
            }
            return p;
        }
    }

    public class LootItem : BaseClass
    {
        public LootItem(long addr, Memory mem) : base(addr, mem) { }

        public string GetName()
        {
            long temp = mem.Read<long>(addr + 0x10);
            long temp0 = mem.Read<long>(temp + 0x30);
            long temp1 = mem.Read<long>(temp0 + 0x60);
            return mem.UReadString(temp1 + 0x0);
        }

        public Item GetItem()
        {
            return new Item(mem.Read<long>(addr + 0x48), mem);
        }

        internal long GetPosition()
        {
            long temp = mem.Read<long>(addr + 0x10);
            long temp0 = mem.Read<long>(temp + 0x30);
            long temp1 = mem.Read<long>(temp0 + 0x30);
            long temp2 = mem.Read<long>(temp1 + 0x08);
            long temp3 = mem.Read<long>(temp2 + 0x38);
            return mem.Read<long>(temp3 + 0x90);
        }
    }

    public class Item : BaseClass
    {
        public Item(long addr, Memory mem) : base(addr, mem) { }

        public string GetName()
        {
            long temp = mem.Read<long>(addr + 0x10);
            long temp0 = mem.Read<long>(temp + 0x30);
            long temp1 = mem.Read<long>(temp0 + 0x60);
            return mem.UReadString(temp1);
        }

        public Template GetTemplate()
        {
            return new Template(mem.Read<long>(addr + 0x20), mem);
        }

        public ItemAdress GetOriginalItem()
        {
            return new ItemAdress(mem.Read<long>(addr + 0x18), mem);
        }
        internal long GetPosition()
        {
            long temp = mem.Read<long>(addr + 0x10);
            long temp0 = mem.Read<long>(temp + 0x30);
            long temp1 = mem.Read<long>(temp0 + 0x30);
            long temp2 = mem.Read<long>(temp1 + 0x08);
            long temp3 = mem.Read<long>(temp2 + 0x38);
            return mem.Read<long>(temp3 + 0x90);
        }
    }

    public class Template : BaseClass
    {
        public Template(long addr, Memory mem) : base(addr, mem) { }

        public string GetName()
        {
            return mem.UReadString(addr + 0x10);
        }

    }

    public class ItemAdress : BaseClass
    {
        public ItemAdress(long addr, Memory mem) : base(addr, mem) { }

        public string GetName()
        {
            long temp = mem.Read<long>(addr + 0x10);
            long temp0 = mem.Read<long>(temp + 0x30);
            return mem.UReadString(temp0 + 0x60);
        }

        internal long GetPosition()
        {
            long temp = mem.Read<long>(addr + 0x10);
            long temp0 = mem.Read<long>(temp + 0x30);
            long temp1 = mem.Read<long>(temp0 + 0x30);
            long temp2 = mem.Read<long>(temp1 + 0x08);
            long temp3 = mem.Read<long>(temp2 + 0x38);
            return mem.Read<long>(temp3 + 0x90);
        }

    }
}

it's all offset i use

snufkin 10th July 2019 12:24 PM

Quote:

Originally Posted by elevenelven (Post 2513409)
I don't think it'll be third-party AC. Just another iteration of in-home AC.
Anyways, everything changes - it'll be next challenge to cheat with new AC.

This game has an AC?

TheMaoci 10th July 2019 01:40 PM

Quote:

Originally Posted by snufkin (Post 2515036)
This game has an AC?

SClient.dll <- its an anticheat / it also has heartbeat

albanninou 10th July 2019 06:49 PM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2488744)
How to check if player is scoping?
I'm reading player + 0x70] + 0x80] + 0x10D with no luck

OpticCamera matrix needs different calculations other than FpsCamera? When I calc player to screen position using the same alghoritm Optic Camera gives me wrong results, the difference is the bigger the player is farther away from the center of aiming.

player is scoping :
Code:

player + 0x70+0x120

ruiner8808 15th July 2019 12:47 PM

Quote:

Originally Posted by albanninou (Post 2513797)
yes and when i drop an item he got +1, i think i dont understand on what you do
Code:

item + 0x10] + 0x30] + 0x60
i have try it on lootitem and item

Did you solve the problem with loot names and location?
Because I have the same(I'm too use escapsefromcharp as base) :crying:
I have working only counter and check If it corpse or not

(sorry for bad english)

snufkin 16th July 2019 02:48 PM

Anyone else getting weird results when using the view matrix from optic_camera?
It's like there's a scale factor missing or something. It only looks right when looking through the center of the screen.

albanninou 16th July 2019 06:32 PM

Quote:

Originally Posted by ruiner8808 (Post 2518617)
Did you solve the problem with loot names and location?
Because I have the same(I'm too use escapsefromcharp as base) :crying:
I have working only counter and check If it corpse or not

(sorry for bad english)

No sorry , i have try a lot of thing put i dont found an answer. Are you french ?

ruiner8808 16th July 2019 09:19 PM

Quote:

Originally Posted by albanninou (Post 2519635)
No sorry , i have try a lot of thing put i dont found an answer. Are you french ?

No, I'm ukrainian)

I figure out how to get an item name - it's byte array

Here is working example:
Code:


public string GetName()
        {
           
            long temp = mem.Read<long>(addr + 0x10);
            long temp0 = mem.Read<long>(temp + 0x30);
            long temp1 = mem.Read<long>(temp0 + 0x60);
            Byte[] ByteArrayName = mem.ReadByteArray(temp1 + 0x0, 100);
            List<Byte> CleanedByteArray = new List<Byte>();
            for(int i=0; i<ByteArrayName.Length; i++)
                {
                if (ByteArrayName[i] == 0x0) break;

                CleanedByteArray.Add(ByteArrayName[i]);

                };
            return Encoding.UTF8.GetString(CleanedByteArray.ToArray(), 0, CleanedByteArray.ToArray().Length).Replace("(Clone)", "");
        }

And for position:
Code:


public UnityEngine.Vector3 GetPosition()
        {
            long temp = mem.Read<long>(addr + 0x10);
            long temp0 = mem.Read<long>(temp + 0x30);
            long temp1 = mem.Read<long>(temp0 + 0x30);
            long temp2 = mem.Read<long>(temp1 + 0x08);
            long temp3 = mem.Read<long>(temp2 + 0x38);
            UnityEngine.Vector3 position = mem.Read<UnityEngine.Vector3>(temp3 + 0x90);
            return position;
        }


BraydenEGC 17th July 2019 01:03 AM

Quote:

Originally Posted by ruiner8808 (Post 2519815)
~snip~

Everything in memory is a byte array though. You are just casting the bytes into different types. For example, a float is just an array of 4 bytes. A uint64_t is an array of 8 bytes. What you are doing here is just individually reading each character into an array, then looping through the characters in the array and adding them to a vector (or list in this case). That code is so unnecessarily complicated. Cast the bytes as characters and just throw them into a string instead of using that elaborate function.

albanninou 17th July 2019 06:32 PM

Quote:

Originally Posted by ruiner8808 (Post 2519815)
~snip~

Thx a lot for the answer :) it's work

ruiner8808 18th July 2019 02:33 AM

Quote:

Originally Posted by BraydenEGC (Post 2519973)
Cast the bytes as characters and just throw them into a string instead of using that elaborate function.

Something like this?
Code:

public string GetName()
        {
            long temp = mem.Read<long>(addr + 0x10);
            long temp0 = mem.Read<long>(temp + 0x30);
            long temp1 = mem.Read<long>(temp0 + 0x60);
            string itemname = "";
            byte[] ByteArrayName = mem.ReadByteArray(temp1 + 0x0, 100);   
            for(int i=0; ByteArrayName.Length>i && ByteArrayName[i] !=0; i++) {
                char current = Convert.ToChar(ByteArrayName[i]);
                itemname += current;
            };
            return itemname.Replace("(Clone)", "");


BraydenEGC 18th July 2019 02:36 AM

Escape from Tarkov Reversal, Structs and Offsets
 
Quote:

Originally Posted by ruiner8808 (Post 2520820)
~snip~



I guess that is better, I would still just static cast the characters. No need to call a function if you are converting a byte to a char. I would also read the length of the string instead of just grabbing the first 100 bytes. Saves time and headaches. (Assuming the length is less than 100, which it will be 99% of the time.)

ruiner8808 18th July 2019 04:41 AM

Quote:

Originally Posted by BraydenEGC (Post 2520823)
I would also read the length of the string instead of just grabbing the first 100 bytes. Saves time and headaches. (Assuming the length is less than 100, which it will be 99% of the time.)

Thx for your advices) I wanted to read length of the string but I don't now how...

BraydenEGC 18th July 2019 04:45 AM

Quote:

Originally Posted by ruiner8808 (Post 2520858)
~snip~



Look up System.String in a monodissect dump. It should blatantly stand out.

37ed1 18th July 2019 07:25 AM

Let me just throw my version of reading strings

Code:

        private string ReadString(IntPtr ptr)
        {
            var stringLengthAddress = Memory.GetPtr(ptr, new[] { 0x10 });
            var stringLength = Memory.Read<int>(stringLengthAddress);

            if (stringLength <= 0 || stringLength > 300)
            {
                return null;
            }

            var stringStartAddress = Memory.GetPtr(ptr, new[] { 0x14 });

            var bytes = Memory.ReadFixed<byte[]>(stringStartAddress, stringLength * 2);

            return Encoding.Unicode.GetString(bytes);
        }


BraydenEGC 18th July 2019 07:28 AM

Quote:

Originally Posted by 37ed1 (Post 2520908)
~snip~


I am sure it will help that guy out. Thanks.

ruiner8808 18th July 2019 09:05 AM

Quote:

Originally Posted by 37ed1 (Post 2520908)
~snip~

Quote:

Originally Posted by BraydenEGC (Post 2520909)
~snip~

HELOHELO121 sourse has similar function
Code:

public string UReadString(long ptr)
        {
            long unicodeStringObjAddr = Read<long>(ptr);
            int length = Read<int>(unicodeStringObjAddr + 0x10);
            byte[] b = ReadByteArray(unicodeStringObjAddr + 0x14, length * 2);
            return System.Text.Encoding.Unicode.GetString(b);
        }

He uses it for getting player name and it works good, but I tried it for items before and get empty string.
Offset for length player name string is easy to find
https://i.imgur.com/gnFQ7b8.jpg

But for item names, I don't see any familiar.
Thx for help guys, I think I'm doing something wrong, so I just leave it like this, dont wanna be annoying and bother you. Sorry for my English:sad6:

37ed1 18th July 2019 12:35 PM

Quote:

Originally Posted by ruiner8808 (Post 2520947)
~

Player name and any item name are the same type - System.String, so they are readable in the exact same way. Your issue is probably somewhere in the chain by which you are getting to an item and/or its name. Like dereferencing some pointer in a wrong way for example.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

HELOHELO121 19th July 2019 05:37 AM

Can someone tell me how you can get the aimpoint externally? (Where your bullet will land). I tried using the center of the screen for my aimbot but your gun rarely shoots in the middle of your screen and I figure there is a way I can get where the bullet will go for a way more precise aimbot.

Edit:
Additionally, is there any confirmation that nulling out EFT.Animations.ProceduralWeaponAnimation.Mask is detected?

BraydenEGC 19th July 2019 05:43 AM

Quote:

Originally Posted by HELOHELO121 (Post 2521716)
~snip~



Yes, it is detected. Just raycast from your fireport using your current view angle.

HELOHELO121 19th July 2019 07:00 AM

Quote:

Originally Posted by BraydenEGC (Post 2521720)
Yes, it is detected. Just raycast from your fireport using your current view angle.

Raycast using what? UnityEngine.RaycastHit? What do you mean exactly? I do know how to get the fireport position but i'm lost beyond that

Ac1d777 19th July 2019 12:36 PM

Quote:

Originally Posted by HELOHELO121 (Post 2521754)
Raycast using what? UnityEngine.RaycastHit? What do you mean exactly? I do know how to get the fireport position but i'm lost beyond that

He ment as raycast vector between your fireport and aim bone if i ud correct.

HELOHELO121 19th July 2019 02:51 PM

Quote:

Originally Posted by Ac1d777 (Post 2521890)
He ment as raycast vector between your fireport and aim bone if i ud correct.

I don't see what you mean by 'raycast vector' all I found in the vector class that seemed maybe useful is UnityEngine.Vector3.Angle

ruiner8808 19th July 2019 06:14 PM

Anyone has corpses position offset? I tried to find by my self but failed it

Ac1d777 19th July 2019 06:51 PM

Quote:

Originally Posted by HELOHELO121 (Post 2521975)
I don't see what you mean by 'raycast vector' all I found in the vector class that seemed maybe useful is UnityEngine.Vector3.Angle

HeadPos - FireportPos.

37ed1 19th July 2019 09:32 PM

Quote:

Originally Posted by Ac1d777 (Post 2522127)
HeadPos - FireportPos.

Most likely you meant your local camera position, not just head position.
Have no idea tho how to get that, didn't even tried, just adding my point on topic

HELOHELO121 19th July 2019 10:23 PM

Quote:

Originally Posted by 37ed1 (Post 2522221)
Most likely you meant your local camera position, not just head position.
Have no idea tho how to get that, didn't even tried, just adding my point on topic

IIRC you can get pos from FPSCamera

anarh1st47 20th July 2019 01:57 AM

https://www.unknowncheats.me/forum/d...=file&id=27427

@TheMaoci Thanks for sharing, approved for analyzing only

HELOHELO121 20th July 2019 04:50 AM

@TheMaoci Thanks for the release, it's very useful xoxo

Can someone tell me how to get position from FPSCamera?

albanninou 20th July 2019 11:05 AM

Any one know how to get transform rotation ? i have the position but not the rotation

37ed1 20th July 2019 11:28 AM

Quote:

Originally Posted by albanninou (Post 2522580)
Any one know how to get transform rotation ? i have the position but not the rotation

It's in native code - INTERNAL_getRotation. You have to reverse it in IDA to mimic its behavior in your code or go internal.

albanninou 20th July 2019 12:35 PM

Quote:

Originally Posted by 37ed1 (Post 2522589)
It's in native code - INTERNAL_getRotation. You have to reverse it in IDA to mimic its behavior in your code or go internal.

ok thx i go look that :)

snufkin 21st July 2019 09:20 AM

Is there someway to translate the address of INTERNAL_ functions in dnspy/monodump to real memory addresses that I can use to find the corresponding function in Ida?

dracorx 21st July 2019 10:55 AM

Quote:

Originally Posted by snufkin (Post 2523245)
Is there someway to translate the address of INTERNAL_ functions in dnspy/monodump to real memory addresses that I can use to find the corresponding function in Ida?

Just do a string search in IDA, they should be listed in order like so:

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

albanninou 28th July 2019 08:30 PM

hello , any one know how i can get all throw grenade ? i want to show they on esp , but i dont find the list of they

BraydenEGC 28th July 2019 08:44 PM

Escape from Tarkov Reversal, Structs and Offsets
 
Quote:

Originally Posted by albanninou (Post 2531144)
~snip~


It is under LocalGameWorld.

albanninou 29th July 2019 09:32 PM

Quote:

Originally Posted by BraydenEGC (Post 2531152)
It is under LocalGameWorld.

Thx i found it . i work on an aimbot and for the shotdirection i use the fireport and the camera transforme but is not realy accurate , do you have a better idea ?

Quote:

Originally Posted by HELOHELO121 (Post 2522432)
@TheMaoci Thanks for the release, it's very useful xoxo

Can someone tell me how to get position from FPSCamera?

Player -> 0x70 weapon animation -> 0x18 hand container ->0x58 transfom

it's one answer but i think you can found other chain

HELOHELO121 30th July 2019 03:14 AM

Quote:

Originally Posted by albanninou (Post 2532225)
Thx i found it . i work on an aimbot and for the shotdirection i use the fireport and the camera transforme but is not realy accurate , do you have a better idea ?

I just eliminate most animations that prevent the gun from firing near to the center of the screen, then use mouse_event and move the mouse onto the target body part. A little bit of tweaking is needed but it works good enough for myself.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

BraydenEGC 30th July 2019 10:21 AM

Quote:

Originally Posted by HELOHELO121 (Post 2532413)
~snip~

I try to steer away from mouse event as much as possible. Writing a view angle aimbot is actually REALLY simple with tons of examples already out there. All you have to do is calculate the angle to the target and write the angle to your translation vector.

albanninou 30th July 2019 06:03 PM

Quote:

Originally Posted by HELOHELO121 (Post 2532413)
I just eliminate most animations that prevent the gun from firing near to the center of the screen, then use mouse_event and move the mouse onto the target body part. A little bit of tweaking is needed but it works good enough for myself.

But the center of the screen is not where the weapon shoot. So i try with fireport and fpscamera location but when i change weapon i need to up or down the fpscamera for shoot accurate (sorry for bad english)

lokinton 1st August 2019 08:31 AM

hey i wanted to start doing tarkov, is there any magical entity list like clientEntities in rust? or am i stuck with tagged and active?

BraydenEGC 1st August 2019 08:32 AM

Quote:

Originally Posted by lokinton (Post 2534521)
~snip~


GameWorld->RegisteredPlayers.

lokinton 1st August 2019 09:05 AM

Quote:

Originally Posted by BraydenEGC (Post 2534522)
GameWorld->RegisteredPlayers.

thanks i got it! <3
how do i go about reversing the game? it looks like its obfuscated ;/
https://i.imgur.com/ByBg3LX.png

albanninou 1st August 2019 09:23 AM

Quote:

Originally Posted by lokinton (Post 2534552)
~~

Dont do internal cheat is detected so fast make an external , you can use DnSpy for the class and a bump make with cheat engine for the offset

lokinton 1st August 2019 10:15 AM

the fps camera isnt there for me until bots spawn, is that normal?
sometimes it's not there even after the bots spawn in.

Code:

uint64_t tagged_object = *(uint64_t*)(hack.game_object_manager + 0x8);
uint64_t last_tagged_object = *(uint64_t*)(hack.game_object_manager);
for (int i = 0; tagged_object != last_tagged_object; i++) {
        uint64_t game_object = *(uint64_t*)(tagged_object + 0x10);
        uint64_t object_name_ptr = *(uint64_t*)(game_object + 0x60);
        char* name = (char*)object_name_ptr;

        if (strstr(name, "FPS Camera"))
                fps_camera = game_object;

        tagged_object = *(uint64_t*)(tagged_object + 0x8);
        last_tagged_object = *(uint64_t*)(hack.game_object_manager);
}


BraydenEGC 1st August 2019 01:58 PM

Quote:

Originally Posted by albanninou (Post 2534571)
~snip~


What the fuck? You know there is a difference between internal and mono-internal, right? Neither internal, nor external is detected as long as you don�t do anything retarded... Really confused by this comment.

niharkanta1 1st August 2019 02:19 PM

Quote:

Originally Posted by BraydenEGC (Post 2534826)
What the fuck? You know there is a difference between internal and mono-internal, right? Neither internal, nor external is detected as long as you don�t do anything retarded... Really confused by this comment.

Nope, I didn't have any idea.
For internal you inject a dll into the process right.
Is it Mono-internal when you use MonoBehaviour or something in your internal code only for unity games..

BraydenEGC 1st August 2019 02:25 PM

Quote:

Originally Posted by niharkanta1 (Post 2534855)
~snip~



Yeah, that is vividly how it works. In reality, it is much more complicated, but you get the point.

mikangchan 3rd August 2019 03:02 AM

Quote:

Originally Posted by niharkanta1 (Post 2534855)
Nope, I didn't have any idea.
For internal you inject a dll into the process right.
Is it Mono-internal when you use MonoBehaviour or something in your internal code only for unity games..

i get what ur saying but i just wanna say, you can implement MonoBehavior in cpp as well :lmao:

lokinton 3rd August 2019 03:22 AM

hey, its more of a unity question but did anyone try raycasting in UnityEngine.Physics? i cant get it to work ;/

any idea for determining if a player is local player?

albanninou 3rd August 2019 01:59 PM

hello , i try to take the camera on interchange but i dont find it , i have read they remove the camera from tageed list so how i can get it?

Quote:

Originally Posted by albanninou (Post 2536745)
hello , i try to take the camera on interchange but i dont find it , i have read they remove the camera from tageed list so how i can get it?

Sorry, i have found , i just need to check more than 1000 tagged object

ZeusLord 3rd August 2019 05:38 PM

Quote:

Originally Posted by lokinton (Post 2536381)
hey, its more of a unity question but did anyone try raycasting in UnityEngine.Physics? i cant get it to work ;/

any idea for determining if a player is local player?



Uh to answer your about local player check you could check if the PlayerOwner component is null if it�s not it�s the local player

lokinton 3rd August 2019 06:21 PM

Quote:

Originally Posted by ZeusLord (Post 2536946)
Uh to answer your about local player check you could check if the PlayerOwner component is null if it�s not it�s the local player

meh, i already figured it out using camera pos and head pos. still thanks :P

BraydenEGC 3rd August 2019 06:22 PM

Quote:

Originally Posted by lokinton (Post 2536999)
~snip~

That is a super gross way of doing it, lmao.

37ed1 3rd August 2019 06:44 PM

Damn wizards... any other complicated AF way to determine local player? Just curious how deep you guys can go.

There's AccountId property, just saying.

BraydenEGC 3rd August 2019 06:45 PM

Quote:

Originally Posted by 37ed1 (Post 2537016)
~snip~

Check if the character controller is null, check account ID vs local game world, a few other ways that are trash.

37ed1 3rd August 2019 06:47 PM

Quote:

Originally Posted by BraydenEGC (Post 2537020)
Check if the character controller is null, check account ID vs local game world, a few other ways that are trash.

Oh! I remembered another one! Check if player is the first one in list lmao

BraydenEGC 4th August 2019 08:26 AM

Quote:

Originally Posted by 37ed1 (Post 2537022)
~snip~

Doesn't work in scav games, and isn't necessarily true in every game as a PMC, it is unreliable but super easy to code for a newbie.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

lokinton 5th August 2019 03:08 PM

hey, has anyone tried calling INTERNAL_CALL_Internal_RaycastTest natively?
this is what happens when i call it in my cheat https://streamable.com/rpv22
basically, it works but breaks the game (offline bots shots never land and vice versa, other players or bots online can normally hit me)

if anyone wants to experiment with it
Code:

typedef bool(__thiscall*PhysicsRaycastTest_t)(vec3*, vec3*, float, int, int);
PhysicsRaycastTest_t PhysicsRaycastTest = ReCa<PhysicsRaycastTest_t>(ReCa<uint64_t>(GetModuleHandleA(0)) + 0x87E880);


Ac1d777 9th August 2019 09:35 AM

Quote:

Originally Posted by lokinton (Post 2538541)
hey, has anyone tried calling INTERNAL_CALL_Internal_RaycastTest natively?
this is what happens when i call it in my cheat https://streamable.com/rpv22
basically, it works but breaks the game (offline bots shots never land and vice versa, other players or bots online can normally hit me)

if anyone wants to experiment with it
Code:

typedef bool(__thiscall*PhysicsRaycastTest_t)(vec3*, vec3*, float, int, int);
PhysicsRaycastTest_t PhysicsRaycastTest = ReCa<PhysicsRaycastTest_t>(ReCa<uint64_t>(GetModuleHandleA(0)) + 0x87E880);


Any of this RayCasts functions will be have this issue + crashes. I tried half year ago all possible ways, but not solved.

HELOHELO121 11th August 2019 07:21 PM

Can someone tell me how to get specific parts of the head? (Ears, Eyes, Top, Ect) The base head bone is too close to the thorax for my aimbot

TheMaoci 13th August 2019 02:35 PM

Quote:

Originally Posted by HELOHELO121 (Post 2544377)
Can someone tell me how to get specific parts of the head? (Ears, Eyes, Top, Ect) The base head bone is too close to the thorax for my aimbot

its propably the best place to shoot ;) cause of helmets hyh

snufkin 14th August 2019 08:30 AM

Welp, BattlEye confirmed to be added in an imminent patch.
I'm nowhere near skilled enough to reverse BattlEye on my own, is there a resource with information on its inner workings and possibly tips on how to dodge it?

BraydenEGC 14th August 2019 08:30 AM

Quote:

Originally Posted by snufkin (Post 2546463)
~snip~



The easiest way is to just made a driver in my opinion.

snufkin 15th August 2019 09:22 AM

Quote:

Originally Posted by BraydenEGC (Post 2546464)
The easiest way is to just made a driver in my opinion.

sounds like a major pain in my ass.
im internal so the actual cheat stays about the same but i need some new way of injection. i guess kernel injectors are a thing but i dont know shit about them.

dracorx 15th August 2019 09:28 AM

Quote:

Originally Posted by snufkin (Post 2547315)
im internal so the actual cheat stays about the same but i need some new way of injection.

Pre-2017 yes but nowadays no, the internal itself needs just as much anti-anticheat measures as your method of injection.

snufkin 15th August 2019 10:45 AM

Quote:

Originally Posted by dracorx (Post 2547320)
Pre-2017 yes but nowadays no, the internal itself needs just as much anti-anticheat measures as your method of injection.

jeez that's rough.
seems i have a bunch of new shit to learn then.

RangeMachine 15th August 2019 09:16 PM

Quote:

Originally Posted by snufkin (Post 2547353)
jeez that's rough.
seems i have a bunch of new shit to learn then.

take some f2p battleye game like unturned or something, because you are going to waste a ton of accounts probably.

liquidace 28th August 2019 09:49 PM

Quote:

Originally Posted by lokinton (Post 2534608)
the fps camera isnt there for me until bots spawn, is that normal?
sometimes it's not there even after the bots spawn in.

Code:

uint64_t tagged_object = *(uint64_t*)(hack.game_object_manager + 0x8);
uint64_t last_tagged_object = *(uint64_t*)(hack.game_object_manager);
for (int i = 0; tagged_object != last_tagged_object; i++) {
        uint64_t game_object = *(uint64_t*)(tagged_object + 0x10);
        uint64_t object_name_ptr = *(uint64_t*)(game_object + 0x60);
        char* name = (char*)object_name_ptr;

        if (strstr(name, "FPS Camera"))
                fps_camera = game_object;

        tagged_object = *(uint64_t*)(tagged_object + 0x8);
        last_tagged_object = *(uint64_t*)(hack.game_object_manager);
}


bit late on this one but i ran into this issue last night re-writing my internal.

The FPS camera can sometimes fall in the last tagged object position which means that style of for loop will never grab it when that happens :)

lokinton 29th August 2019 07:43 AM

Quote:

Originally Posted by liquidace (Post 2559523)
bit late on this one but i ran into this issue last night re-writing my internal.

The FPS camera can sometimes fall in the last tagged object position which means that style of for loop will never grab it when that happens :)

ye i found it out later on but still thanks :D

liquidace 29th August 2019 12:54 PM

Quote:

Originally Posted by lokinton (Post 2559775)
ye i found it out later on but still thanks :D

no worries! you still deving tarkov hacks? It seems BE killed this thread :(

37ed1 29th August 2019 01:33 PM

Quote:

Originally Posted by liquidace (Post 2559934)
no worries! you still deving tarkov hacks? It seems BE killed this thread :(

Tbh I'm waiting for the big patch to come, because I'm too lazy to rework things for BE and then update most of them again for new stuff in game and engine.

lokinton 29th August 2019 03:00 PM

Quote:

Originally Posted by liquidace (Post 2559934)
no worries! you still deving tarkov hacks? It seems BE killed this thread :(

waiting for 0.12 patch and ill get back to eft, now i moved onto rust agian ;/

liquidace 31st August 2019 12:04 AM

did anyone find the location/transform for exfils? I've mapped out most of it but can't seem to locate the transform for it :(

BraydenEGC 31st August 2019 01:42 PM

Quote:

Originally Posted by liquidace (Post 2561285)
~snip~


They are definitely there. You just have to look for them.

liquidace 31st August 2019 09:52 PM

Quote:

Originally Posted by BraydenEGC (Post 2561632)
They are definitely there. You just have to look for them.

any hints lol? I've checked all the obvious places in gameworld, player and even started digging through how ontriggerenter is used :(

12343com 1st September 2019 02:45 AM

Quote:

Originally Posted by liquidace (Post 2561873)
any hints lol? I've checked all the obvious places in gameworld, player and even started digging through how ontriggerenter is used :(

Code:

GameWorldInstance.ExfiltrationController.ExfiltrationPoints
Code:

GameWorldInstance.ExfiltrationController.ScavExfiltrationPoints
old, so not sure if it still works, you'll need to find offsets. best of luck to you - not interested in knowing the exfils because i know them by heart, but if you have any questions ask.

the position itself would be at ExfiltrationPoint.transform.position. the name would be at ExfiltrationPoint.Settings.Name if i remember.

liquidace 1st September 2019 04:37 AM

how are you getting to transform though (ExfiltrationPoint.transform)? I really must be blind lol :|

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


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

BraydenEGC 1st September 2019 04:38 AM

Quote:

Originally Posted by liquidace (Post 2562068)
~snip~


There are other types of transforms...

12343com 1st September 2019 12:00 PM

Quote:

Originally Posted by liquidace (Post 2562068)
how are you getting to transform though (ExfiltrationPoint.transform)? I really must be blind lol :|

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

ExfiltrationPoint inherits MonoBehaviour, MonoBehaviour inherits Behaviour, Behaviour inherits Component.

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

[[Component + 0x10] + 0x30] should give you the gameObject, and [[[gameObject + 0x30] + 8] + 0x28] seems like it should give you the transform.

Your full code should look something like this if you are external:
Code:

long transform = getlong(getlong(getlong(getlong(getlong(component + 0x10) + 0x30) + 0x30) + 8) + 0x28);
Or something like this if you're internal:
Code:

long transform = *(long*)(*(long*)(*(long*)(*(long*)(*(long*)(component + 0x10) + 0x30) + 0x30) + 8) + 0x28);
Then call your gettransformposition function

Here's the ida decompiled function
https://i.imgur.com/fyxuYMF.png


I haven't tested this and it's very late right now so I may have gotten something wrong. If it works, great. If not, try debugging. If it still doesn't work feel free to ask me, and if somebody notices something wrong please point it out.

liquidace 1st September 2019 12:41 PM

Quote:

Originally Posted by 12343com (Post 2562206)
ExfiltrationPoint inherits MonoBehaviour, MonoBehaviour inherits Behaviour, Behaviour inherits Component.

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

[[Component + 0x10] + 0x30] should give you the gameObject, and [[[gameObject + 0x30] + 8] + 0x28] seems like it should give you the transform.

Your full code should look something like this if you are external:
Code:

long transform = getlong(getlong(getlong(getlong(getlong(component + 0x10) + 0x30) + 0x30) + 8) + 0x28);
Or something like this if you're internal:
Code:

long transform = *(long*)(*(long*)(*(long*)(*(long*)(*(long*)(component + 0x10) + 0x30) + 0x30) + 8) + 0x28);
Then call your gettransformposition function

Here's the ida decompiled function
https://i.imgur.com/fyxuYMF.png


I haven't tested this and it's very late right now so I may have gotten something wrong. If it works, great. If not, try debugging. If it still doesn't work feel free to ask me, and if somebody notices something wrong please point it out.

Ah was just about to write up something similar lol. Spent the last bunch of hours reading through unity engine itself.

It appears you can cast directly from ExfiltrationPoint -> UnityEngine.Object.

From there you can read 0x10]0x30]0x30]0x8]0x38]0x90 as a vec3 to get position directly without the internal getpos call. (note the 0x8]0x38] in my chain for anyone else reading)

The initial 0x10 is this m_CachedPtr

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

Edit;

should note i havent actually tested in game to see if that vec is correct but it looks correct

liquidace 4th September 2019 03:03 AM

Has anyone looked at getting these?

Code:

// Token: 0x06005DCE RID: 24014 RVA: 0x0018E988 File Offset: 0x0018CB88
        static \uE5E2()
        {
                \uE5E2.TerrainLowPoly = (1 << LayerMask.NameToLayer(\uE7A2.\uE000(27882)) | 1 << \uE5E2.LowPolyColliderLayer);
                \uE5E2.HighPolyWithTerrainMask = (1 << LayerMask.NameToLayer(\uE7A2.\uE000(27882)) | 1 << LayerMask.NameToLayer(\uE7A2.\uE000(27874)));
                \uE5E2.HighPolyWithTerrainMaskAI = (1 << LayerMask.NameToLayer(\uE7A2.\uE000(27882)) | 1 << LayerMask.NameToLayer(\uE7A2.\uE000(27874)) | 1 << LayerMask.NameToLayer(\uE7A2.\uE000(95966)) | 1 << LayerMask.NameToLayer(\uE7A2.\uE000(95956)));
                \uE5E2.HighPolyCollider = 1 << LayerMask.NameToLayer(\uE7A2.\uE000(27874));
                \uE5E2.PlayerMask = 1 << \uE5E2.PlayerLayer;
                \uE5E2.Grass = 1 << LayerMask.NameToLayer(\uE7A2.\uE000(95966));
                \uE5E2.Terrain = 1 << LayerMask.NameToLayer(\uE7A2.\uE000(27882));
                \uE5E2.СonsiderPlayerMask = (\uE5E2.HighPolyWithTerrainMask | 1 << LayerMask.NameToLayer(\uE7A2.\uE000(55174)));
                \uE5E2.DefaultLayer = 1 << LayerMask.NameToLayer(\uE7A2.\uE000(12754));
                \uE5E2.AI = \uE06F.\uE001(new string[]
                {
                        \uE7A2.\uE000(95956),
                        \uE7A2.\uE000(95966)
                });
                \uE5E2.HitColliderMask = 1 << LayerMask.NameToLayer(\uE7A2.\uE000(55174));
                \uE5E2.PlayerCollisionsMask = \uE06F.\uE00D(\uE5E2.PlayerLayer);
                \uE5E2.PlayerStaticCollisionsMask = (\uE5E2.PlayerCollisionsMask & ~\uE5E2.PlayerMask);
                int uE66F = LayerMask.NameToLayer(\uE7A2.\uE000(62402));
                \uE5E2.ShellsCollisionsMask = \uE06F.\uE00D(uE66F);
                int uE66F2 = LayerMask.NameToLayer(\uE7A2.\uE000(88370));
                \uE5E2.PlayerCollisionTestMask = \uE06F.\uE00D(uE66F2);
                \uE5E2.GrenadeAffectedMask = LayerMask.GetMask(new string[]
                {
                        \uE7A2.\uE000(13100),
                        \uE7A2.\uE000(12832)
                });
                \uE5E2.GrenadeObstaclesColliderMask = LayerMask.GetMask(new string[]
                {
                        \uE7A2.\uE000(27874),
                        \uE7A2.\uE000(95916),
                        \uE7A2.\uE000(27882)
                });
                \uE5E2.DisablerCullingObjectLayer = LayerMask.NameToLayer(\uE7A2.\uE000(95920));
                \uE5E2.DisablerCullingObjectLayerMask = 1 << \uE5E2.DisablerCullingObjectLayer;
                \uE5E2.DoorLayer = LayerMask.NameToLayer(\uE7A2.\uE000(95916));
                \uE5E2.ShellsLayer = LayerMask.NameToLayer(\uE7A2.\uE000(62402));
                \uE5E2.WaterLayer = LayerMask.NameToLayer(\uE7A2.\uE000(7133));
                \uE5E2.LootMask = 1 << LayerMask.NameToLayer(\uE7A2.\uE000(12843));
        }

all this is making my brain hurt:

Code:

static \uE7A2()
        {
                Assembly executingAssembly = Assembly.GetExecutingAssembly();
                \uE7A2.\uE003 = new \uE7A2.\uE000(\uE7A2.\uE001);
                Stream uE002_uED0D = \uE7A3.\uE006(executingAssembly.GetManifestResourceStream(\uE7A2.\uE003(~(-(-1220817868 - -689824774)) + 530993095)));
                \uE7A2.\uE002 = new \uE7A2.\uE001().\uE001(uE002_uED0D);
        }

        // Token: 0x06009DD9 RID: 40409 RVA: 0x002FC408 File Offset: 0x002FA608
        public static string \uE000(int \uE002\uED07)
        {
                return (string)((Hashtable)AppDomain.CurrentDomain.GetData(\uE7A2.\uE002))[\uE002\uED07];
        }

public string \uE001(Stream \uE002\uED0D)
                {
                        TypeBuilder typeBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(new AssemblyName
                        {
                                Name = "?"
                        }, ~(~(-(-56289897 << 2 ^ 136666081))) + (AssemblyBuilderAccess)(-89059906)).DefineDynamicModule("?").DefineType("?", -(-(~(TypeAttributes)(-424900760)) - -424900759));
                        this.\uE000(typeBuilder);
                        Type type = typeBuilder.CreateType();
                        string name = "?";
                        BindingFlags invokeAttr = (BindingFlags)(~(BindingFlags)(~(BindingFlags)(~(-(~-162811726 ^ 162811260)) >> 1)));
                        Binder binder = null;
                        object target = null;
                        object[] array = new object[-(~(--896060141 - 375256072 + -654751366 - -133947297))];
                        array[~(-(~(-912280631 ^ 173803241) + -325636801) + 441735203) - 243212282] = \uE002\uED0D;
                        return (string)type.InvokeMember(name, invokeAttr, binder, target, array);
                }


yeswejam 4th September 2019 03:58 PM

Quote:

Originally Posted by PutinIsLove (Post 1797064)
Hey,

Anyone willing to share adress and offsets ? Thx.

I have just generated and uploaded a new reclass save file of the current game version 0.11.7.3007

Full Mono dissect converted for ReClassEx64 | EFT Version 0.11.7.3007


Have fun, peace

liquidace 5th September 2019 01:18 AM

Quote:

Originally Posted by lokinton (Post 2538541)
hey, has anyone tried calling INTERNAL_CALL_Internal_RaycastTest natively?
this is what happens when i call it in my cheat https://streamable.com/rpv22
basically, it works but breaks the game (offline bots shots never land and vice versa, other players or bots online can normally hit me)

if anyone wants to experiment with it
Code:

typedef bool(__thiscall*PhysicsRaycastTest_t)(vec3*, vec3*, float, int, int);
PhysicsRaycastTest_t PhysicsRaycastTest = ReCa<PhysicsRaycastTest_t>(ReCa<uint64_t>(GetModuleHandleA(0)) + 0x87E880);


what mask did you use? I've reversed most of this function and can call it without it breaking my game but ive tested a few masks without much luck :|

pretty much done, only pieces of the puzzle left is raycast and lootcontainer contents.

currently have:
corpse / loot / loot container / player esp / barrel (only players) esp / skeletons
view angle aimbot
exfils (all / open)

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

liquidace 7th September 2019 01:46 AM

finally............................

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

liquidace 8th September 2019 12:28 AM

hmm anyone played with calling LayerToName(int)? (base + 0x7EF8B0)

Trying to find out the names of each layer so i can make custom visibility masks but calling it just insta crashes with nullptr

liquidace 17th September 2019 10:44 PM

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

You can find ammo count by looking for "cartridges" in dnspy and working back. It's not too hard :) Will trade direct chain for other fun stuff (like container contents). If you're actively reversing tarkov hit me up, maybe we can trade info. Theres still a few pieces i want to add/solve.

Atarugolan 22nd September 2019 11:09 AM

Any working version for just emu tarkov?

liquidace 24th September 2019 04:17 AM

there is enough info on this forum for you to cheat on the live version. theres moreeeeeeeeeeeee than enough info in this topic for you to cheat on emutarkov where BE isnt active.

matvei 28th October 2019 09:11 AM

0.12.0.4818
Code:

GameObjectManager [UnityPlayer.dll+0x150ECA8]

37ed1 28th October 2019 12:53 PM

Quote:

Originally Posted by matvei (Post 2604615)
0.12.0.4818
Code:

GameObjectManager [UnityPlayer.dll+0x150ECA8]

Much thanks dude!

Any tips on how to mess and debug with the game, since the BE has been added? Haven't touched it since some time before the BE has been added. Writing and reading memory is not an issue for me as it's in kernel already, I mainly mean the debugging of my external thingy with the game running.

ZeusLord 28th October 2019 12:55 PM

Quote:

Originally Posted by 37ed1 (Post 2604709)
Much thanks dude!



Any tips on how to mess and debug with the game, since the BE has been added? Haven't touched it since some time before the BE has been added. Writing and reading memory is not an issue for me as it's in kernel already, I mainly mean the debugging of my external thingy with the game running.



I�d say either use EmuTarkov when that�s updated or go into offline and stop BEservice (assuming they don�t check it BE is running in offline)

BraydenEGC 28th October 2019 01:14 PM

Quote:

Originally Posted by ZeusLord (Post 2604711)
~snip~


Game now closes with BESeevice as of .12. Even with memory frozen. You will need to find a way around it.

Tonyx97 28th October 2019 03:30 PM

Code:

UnityPlayer.dll + 0x93F880 = Transform GetPosition
GO + comp list ] + transform ] + 0x38 ] + 0xB0 = Position
Camera + 0xD8 ] = viewmatrix

Has anyone got the following ones updated yet?

Code:

constexpr uintptr_t body = 0x88;
constexpr uintptr_t root_joint = 0x28;
constexpr uintptr_t bone_dict = 0x18;
constexpr uintptr_t values_array = 0x28;


TheMadMin3r 28th October 2019 03:41 PM

Quote:

Originally Posted by Tonyx97 (Post 2604846)
Code:

constexpr uintptr_t body = 0x88;
constexpr uintptr_t root_joint = 0x28;
constexpr uintptr_t bone_dict = 0x18;
constexpr uintptr_t values_array = 0x28;


88 : _playerBody (type: EFT.PlayerBody)
28 : SkeletonRootJoint (type: Diz.Skinning.Skeleton)
18 : Bones (type: System.Collections.Generic.Dictionary<System.String,UnityEngine.Transform>)
28 : _values (type: System.Collections.Generic.List<UnityEngine.Transform>)

dler4 28th October 2019 11:58 PM

Which of these offsets is incorrect? Can't really use reclass right now

Code:

playerlist = local gameworld + 0x60] + 0x10]
first player = playerlist + 0x20]
profile = player + 0x480]
name = profile + 0x28] + 0x10] + 0x14
is_player = profile + 0x20] + 0x10

Is my profile offset incorrect?

BraydenEGC 28th October 2019 11:59 PM

Quote:

Originally Posted by dler4 (Post 2605223)
~snip~



Profile is 0x3A0.

dler4 29th October 2019 01:35 AM

Quote:

Originally Posted by BraydenEGC (Post 2605224)
Profile is 0x3A0.

Thanks

Edit: Why is it that my ESP works only in offline mode?

When I'm online, I can get my own coordinates from the playerlist (player + 0x20] + 0x98/0x9c/0xa0), but all other players have invalid coords. This also works fine with bots offline, but not bots online. Are those the wrong offsets?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

Tonyx97 29th October 2019 01:35 PM

Quote:

Originally Posted by TheMadMin3r (Post 2604855)
88 : _playerBody (type: EFT.PlayerBody)
28 : SkeletonRootJoint (type: Diz.Skinning.Skeleton)
18 : Bones (type: System.Collections.Generic.Dictionary<System.String,UnityEngine.Transform>)
28 : _values (type: System.Collections.Generic.List<UnityEngine.Transform>)

Isn't it player + _playerBody ] + SkeletonRootJoint ] + Bones ] + _values? I've been doing this before and now _values is null somehow.

Brut7 29th October 2019 02:29 PM

Quote:

Originally Posted by Tonyx97 (Post 2605417)
Isn't it player + _playerBody ] + SkeletonRootJoint ] + Bones ] + _values? I've been doing this before and now _values is null somehow.

perfect work for me.
Code:

        ULONG64 SkeletonRootJoin = read_ulong64(_PlayerBody + 0x28);
        if (!SkeletonRootJoin)return position;

        ULONG64 BoneEnumerator = read_ulong64(SkeletonRootJoin + 0x28);
        if (!BoneEnumerator)return position;

        ULONG64 TransformArray = read_ulong64(BoneEnumerator + 0x10);
        if (!TransformArray)return position;
        return calc_internal_position(TransformArray, index);

Does anyone have a problem with positions for loot / corpses in online? in offline i get correct position...

BraydenEGC 29th October 2019 09:11 PM

Quote:

Originally Posted by dler4 (Post 2605252)
~snip~

I have no clue what exactly that chain is, but it is likely something that is localized. I would recommend just using the player's transform instead of your chain.

liquidace 29th October 2019 10:41 PM

for player location you have to get transform and then use internal getpos. Brayden/I got everything updated in just a couple of hours. Everything is pretty straight forward to find if you're willing to put in a little effort. If you can bypass BE, you can find offsets in tarkov :)

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

BraydenEGC 29th October 2019 10:55 PM

Quote:

Originally Posted by liquidace (Post 2605856)
~snip~

It was mostly you, I just helped you with some stuff when you got stuck. bY tHe WaY gOm Is 0000000181500CE8. That shit got me.

liquidace 30th October 2019 12:14 AM

fight me :mog:

dler4 30th October 2019 02:30 AM

Anyone know yaw/pitch offset in context?

liquidace 30th October 2019 03:46 AM

open game in dnspy and poke around movementcontext class. Come on man this is all super basic offsets

dler4 30th October 2019 01:53 PM

Quote:

Originally Posted by liquidace (Post 2606020)
open game in dnspy and poke around movementcontext class. Come on man this is all super basic offsets

Why are people asking how to debug then if they can just use dnspy without issues? I don't know what battleye/eft allows

iSeph 30th October 2019 04:25 PM

Anyone got model indexcount, bytewidth and stride for d3d11?

ZeusLord 30th October 2019 04:29 PM

Escape from Tarkov Reversal, Structs and Offsets
 
Quote:

Originally Posted by dler4 (Post 2606309)
Why are people asking how to debug then if they can just use dnspy without issues? I don't know what battleye/eft allows



So they can use stuff like reclass helps to map it out and see its layout in memory or generating classes for internal cheats as for dnSpy you don�t even need the game open to use it so you don�t have to worry about BE there back when I did shit with EFT I�d use mono dissector in cheat engine and dnSpy works great

dracorx 30th October 2019 04:55 PM

Quote:

Originally Posted by iSeph (Post 2606424)
Anyone got model indexcount, bytewidth and stride for d3d11?

Not to sound like a dick but if you were capable of hooking d3d11 undetected on BE then you wouldn't even ask about this lol.

iSeph 30th October 2019 05:22 PM

Quote:

Originally Posted by dracorx (Post 2606449)
Not to sound like a dick but if you were capable of hooking d3d11 undetected on BE then you wouldn't even ask about this lol.

You got them tho?

dracorx 30th October 2019 05:59 PM

Quote:

Originally Posted by iSeph (Post 2606471)
You got them tho?

For the last patch yes, but now I'm external. Like I said it's trivial to log it yourself if you can already manage to hook d3d11 undetected.

https://i.gyazo.com/020585287d841e8d...64b2d33e58.png

iSeph 30th October 2019 06:10 PM

Quote:

Originally Posted by dracorx (Post 2606500)
For the last patch yes, but now I'm external. Like I said it's trivial to log it yourself if you can already manage to hook d3d11 undetected.

https://i.gyazo.com/020585287d841e8d...64b2d33e58.png

Yeah its trivial but tedious to get all the correct ones, I keep missing some so can you help or no? I believe the correct stride is 0x28 but cant get the rest 100% correct lol

EmhyrVarEmreis 30th October 2019 07:33 PM

Quote:

Originally Posted by matvei (Post 2604615)
0.12.0.4818
Code:

GameObjectManager [UnityPlayer.dll+0x150ECA8]

Is this valid? I got UnityPlayer.dll address from driver (from ImageInfo->ImageBase) but I cannot find any valid tagged or active objects.

liquidace 30th October 2019 11:41 PM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2606569)
Is this valid? I got UnityPlayer.dll address from driver (from ImageInfo->ImageBase) but I cannot find any valid tagged or active objects.

yes its valid you need to get the address of unityplayer from inside eft.exe

Edit:

As in getmodulea(unityplayer.dll) if you are internal or something similar if you are external

niceone1 31st October 2019 01:04 AM

[delete it] my fail...

liquidace 31st October 2019 11:16 AM

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

:cg2:

EmhyrVarEmreis 31st October 2019 06:19 PM

Are these offests valid?
Code:

local gameworld = gameworld + 0x30] + 0x18] + 0x28]
playerlist = local gameworld + 0x60] + 0x10]
first player = playerlist + 0x20]
profile = player + 0x480]
name = profile + 0x28] + 0x10] + 0x14
is_player = profile + 0x20] + 0x10

I think I got wrong localgameworld, because playerlist is 309 items long...

I've tried using dnSpy bu I cannot figure out how to get offets by this tool.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

liquidace 31st October 2019 09:07 PM

we've already answered you on your previous post but you ignored us.

Edit: Ok maybe not you but we answered the guy you pasted those offsets from

EmhyrVarEmreis 31st October 2019 11:02 PM

Quote:

Originally Posted by liquidace (Post 2607239)
we've already answered you on your previous post but you ignored us.

Edit: Ok maybe not you but we answered the guy you pasted those offsets from

I've already got that profile is player + 0x3A0], but as I've wtitten that I think this playerlist offsets or localgameworld (wchich was not included in the post of the guy I pasted those offsets) are incorrect.

Edit:
About dnSpy: I assume that dnSpy must be attached to process to hel with offsets, right? Can this be done safely with BE? Or meybe there are methods to bypass BE?

liquidace 1st November 2019 12:01 AM

no dnspy wont help you get offsets - well not easily

if your playerlist is wrong, then your problem is GOM or how you're access it.

thomascool130 1st November 2019 12:28 AM

get the offsets since BE is here
i close the game when i want to turn off BE so i can hang on to cheat engine

EmhyrVarEmreis 1st November 2019 12:53 AM

Quote:

Originally Posted by liquidace (Post 2607328)
no dnspy wont help you get offsets - well not easily

I thought so. DnSpy is not CLR aware :/

Quote:

Originally Posted by liquidace (Post 2607328)
if your playerlist is wrong, then your problem is GOM or how you're access it.

To get GameWorld I'm iterating over active objects in GOM ang looking for one with name "GameWorld". My program finds it so I assume my GOM is correct. To be more precise, I am getting playerList by:
List = LocalGameWorld + 0x60]
Size = List + 0x18
PlayerOnList = List + 0x10] + (0x20 + n * 0x8)]

Quote:

Originally Posted by thomascool130 (Post 2607348)
get the offsets since BE is here
i close the game when i want to turn off BE so i can hang on to cheat engine

I can't follow this :thinkhard: How do you attach CheatEngine to EFT while having BE turned off?

TheMadMin3r 1st November 2019 01:07 AM

Quote:

Originally Posted by EmhyrVarEmreis (Post 2607363)
I thought so. DnSpy is not CLR aware :/


To get GameWorld I'm iterating over active objects in GOM ang looking for one with name "GameWorld". My program finds it so I assume my GOM is correct. To be more precise, I am getting playerList by:
List = LocalGameWorld + 0x60]
Size = List + 0x18
PlayerOnList = List + 0x10] + (0x20 + n * 0x8)]


I can't follow this :thinkhard: How do you attach CheatEngine to EFT while having BE turned off?

Player list is 0x68 :
68 : RegisteredPlayers (type: System.Collections.Generic.List<EFT.Player>)

and to use cheat engine to dump offsets just open the game without BE
https://i.gyazo.com/81614bd8c501c451...a8b4684baf.png

HELOHELO121 1st November 2019 02:16 AM

Quote:

Originally Posted by TheMadMin3r (Post 2607369)
and to use cheat engine to dump offsets just open the game without BE
https://i.gyazo.com/81614bd8c501c451...a8b4684baf.png

Can you go into an offline raid by running without BE?

TheMadMin3r 1st November 2019 02:29 AM

Quote:

Originally Posted by HELOHELO121 (Post 2607383)
Can you go into an offline raid by running without BE?

No, it won't even load to the main menu because "client is not authorised"

HELOHELO121 1st November 2019 02:34 AM

Quote:

Originally Posted by TheMadMin3r (Post 2607391)
No, it won't even load to the main menu because "client is not authorised"

Gotcha

37ed1 1st November 2019 08:49 AM

I've managed to play offline mode once via suspending game process, then suspending both *._BE.exe and BEService.exe.
After that, kill *_BE.exe process and stop BEService service(iirc their names). Wait a bit and suspended beservice.exe should be stopped.
After that, resume game process.

niceone1 1st November 2019 02:32 PM

Did someone find a way to stop the timer in an offline raid?

liquidace 1st November 2019 09:41 PM

breakpoint the game but when you unbreakpoint you will get disconnected and the game closes

niceone1 1st November 2019 10:56 PM

Quote:

Originally Posted by liquidace (Post 2607895)
breakpoint the game but when you unbreakpoint you will get disconnected and the game closes

Yea or suspend the thread, but unlimited time like in siege would be great.

Also if someone needs it a up to date item & level list (dont ask me what the did to the "Key to KIBA store outlet"):
Items: https://pastebin.com/WBP7Fhq2
Level/EXP: https://pastebin.com/HY1Gpi9s

nxyexiong 2nd November 2019 05:11 AM

it seems mono dissector cannot read class name properly, some random characters was append to the class name like EFT.Player+xxx. any idea how to fix this? or any method to dump the structure?

HELOHELO121 2nd November 2019 06:07 AM

Quote:

Originally Posted by nxyexiong (Post 2608090)
it seems mono dissector cannot read class name properly, some random characters was append to the class name like EFT.Player+xxx. any idea how to fix this? or any method to dump the structure?

IIRC that means it's an obfuscated class nested inside of EFT.Player

liquidace 2nd November 2019 06:11 AM

you will need to reverse it manually in dnspy or similar. You're not going to be able to get the class names back to original plain english

HELOHELO121 2nd November 2019 08:30 AM

Quote:

Originally Posted by 37ed1 (Post 2607484)
I've managed to play offline mode once via suspending game process, then suspending both *._BE.exe and BEService.exe.
After that, kill *_BE.exe process and stop BEService service(iirc their names). Wait a bit and suspended beservice.exe should be stopped.
After that, resume game process.

Two things I noticed:
In this state, the mono tab does not appear through cheat engine so I can't mono-dissect eft in that state
I also cannot map a unsigned driver in this state either

37ed1 2nd November 2019 04:55 PM

Quote:

Originally Posted by HELOHELO121 (Post 2608139)
Two things I noticed:
In this state, the mono tab does not appear through cheat engine so I can't mono-dissect eft in that state
I also cannot map a unsigned driver in this state either

Good to know, thanks. I've also noticed that you still can't enumerate modules of that process from usermode, likely if BE still strips handles huh.
I'm not mmaping my driver so I didn't noticed that drawbacks, but I'm still stuck at getting module base address.

BraydenEGC 2nd November 2019 04:57 PM

Just a heads up for everyone, they are sending all logs on game launch and whenever the game crashes/doesn't close via the menu with exit code 0. This is super simple to patch, but is very bannable if you are internal or doing anything majorly suspicious when your game crashes/closes.

Code:

Attempted to log all items in X:\EFT\Logs at 11:52:52 AM. -- Game Start
Attempted to log all items in X:\EFT\Logs at 11:53:35 AM. -- Game Closed via Task Manager


HELOHELO121 2nd November 2019 09:31 PM

Quote:

Originally Posted by 37ed1 (Post 2608378)
Good to know, thanks. I've also noticed that you still can't enumerate modules of that process from usermode, likely if BE still strips handles huh.
I'm not mmaping my driver so I didn't noticed that drawbacks, but I'm still stuck at getting module base address.

Can't you just get the base address of the main module like you could before .12?

Also, how come we can't just go into offline mode and disconnect from the internet? Does BE keep logs or smthn that will get you banned after you re-connect to the internet?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

BraydenEGC 2nd November 2019 09:50 PM

Here is a full dump of all strings that are 'obfuscated' into a hashtable by the game. Over 180k results. Jeez.

https://pastebin.com/2fvWaHgJ

TheMaoci 3rd November 2019 01:30 AM

@BraydenEGC - did you do it from internal ?? - i really needs you to push .12 JET abit further cause im stuck ...
0.12.0.4921 original / deobfuscated / exported assembly
https://www.unknowncheats.me/forum/d...=file&id=28167

BraydenEGC 3rd November 2019 03:46 AM

Quote:

Originally Posted by TheMaoci (Post 2608708)
~snip~

Yeah, I did it internally.

HELOHELO121 3rd November 2019 07:37 PM

Can somebody help me get the LocalGameWorld? I figure the issue is I'm getting the GOM wrong or my LGW offset is outdated. I'm getting GOM by getting the DllBase of "UnityEngine.dll" + 0x150ECA8. And here's how I'm getting the LGW:

Code:

ULONG64 n65a = Read<ULONG64>(GOM + 0x30);
std::cout << "n65a: " << n65a << "\n";
ULONG64 n70a = Read<ULONG64>(n65a + 0x18);
std::cout << "n70a: " << n70a << "\n";
ULONG64 LGW = Read<ULONG64>(n70a + 0x28);
std::cout << "LGW: " << LGW << "\n";

And here is the output

Quote:

GOM: 1636894310512
n65a: 7453001533780525105
n70a: 0
LGW: 0
RegisteredPlayers: 0
RegisteredPlayers._size: 0

BraydenEGC 3rd November 2019 07:38 PM

Quote:

Originally Posted by HELOHELO121 (Post 2609277)
~snip~


The objects are in a linked list...

drakonia 3rd November 2019 07:55 PM

 Moderator note  Approved for analysis only. Use at your own risk

liquidace 3rd November 2019 09:30 PM

Quote:

Originally Posted by HELOHELO121 (Post 2609277)
Can somebody help me get the LocalGameWorld? I figure the issue is I'm getting the GOM wrong or my LGW offset is outdated. I'm getting GOM by getting the DllBase of "UnityEngine.dll" + 0x150ECA8. And here's how I'm getting the LGW:

Code:

ULONG64 n65a = Read<ULONG64>(GOM + 0x30);
std::cout << "n65a: " << n65a << "\n";
ULONG64 n70a = Read<ULONG64>(n65a + 0x18);
std::cout << "n70a: " << n70a << "\n";
ULONG64 LGW = Read<ULONG64>(n70a + 0x28);
std::cout << "LGW: " << LGW << "\n";

And here is the output

how do you release an entire cheat, that gets all this but then fail so epicly now?

Before you paste this from your C# cheat:

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

you need to get this:

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

HELOHELO121 3rd November 2019 10:14 PM

Quote:

Originally Posted by liquidace (Post 2609344)
how do you release an entire cheat, that gets all this but then fail so epicly now?

Before you paste this from your C# cheat:

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

you need to get this:

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

It's been so long since I've touched this game, I guess I forgot.

BraPhiNd 4th November 2019 06:52 PM

Did the change to the new unity versions change the memory layout of List and Dictionary? I'm able to get gameworld successfully (LocationId is set properly) but when I try to read either ItemOwners (dictionary) or AllLoot (list) my offsets return incorrect data. For example, I tried to read the dictionary size at offset 0x38 and list size at 0x18 which both gave garbage data.

HELOHELO121 4th November 2019 09:06 PM

Quote:

Originally Posted by BraPhiNd (Post 2609920)
Did the change to the new unity versions change the memory layout of List and Dictionary? I'm able to get gameworld successfully (LocationId is set properly) but when I try to read either ItemOwners (dictionary) or AllLoot (list) my offsets return incorrect data. For example, I tried to read the dictionary size at offset 0x38 and list size at 0x18 which both gave garbage data.

Nope, List and Dict are still the same. Here's how I read the playerlist

Code:

class List : public BaseClass {
public:
        int Count = 0;
        ULONG64 items = 0;

        List(ULONG64 addr) : BaseClass(addr)
        {
                Count = Read<int>(addr + 0x18);
                items = Read<ULONG64>(addr + 0x10);
        }

        ULONG64 get(int index)
        {
                return Read<ULONG64>(items + (0x20 + (index * 0x8)));
        }
};


liquidace 4th November 2019 09:48 PM

dictionaries are not the same

BraPhiNd 4th November 2019 10:02 PM

Quote:

Originally Posted by liquidace (Post 2609987)
dictionaries are not the same

Good to hear, I had forgotten to dereference my list address but still had no idea what was wrong with the dictionary. I've looked around on how the offsets are found for the native libraries but I'm not making any headway. Mostly been using mono dissect up to this point. Any tips?


Edit:
Woot, created a small test game to figure this out. End result is the following:

Dictionary:
0x40 - Dictionary Size
0x18 - Dictionary Elements as a Array<KeyValuePair>

Array:
0x18 - Allocated Size
0x20 - Beginning of Array

KeyValuePair:
0x8 - Pointer to Key
0x10 - Pointer to Value

HELOHELO121 5th November 2019 04:50 AM

Can someone give me the EFT.isPlayer boolean offset? (I'm not sure the exact name of the bool but it was Player + 0x18 before .12 and I think the name is obfuscated)

37ed1 5th November 2019 05:11 AM

Quote:

Originally Posted by HELOHELO121 (Post 2610196)
Can someone give me the EFT.isPlayer boolean offset? (I'm not sure the exact name of the bool but it was Player + 0x18 before .12 and I think the name is obfuscated)

Can't you just use AccountId from Profile? IIRC account id is -1 for bots

HELOHELO121 5th November 2019 05:48 AM

Quote:

Originally Posted by 37ed1 (Post 2610200)
Can't you just use AccountId from Profile? IIRC account id is -1 for bots

Sorry, by isPlayer I meant isLocalPlayer

Edit: Currently I'm getting local using CurrentProfileId but that only works when you are a PMC.

liquidace 5th November 2019 07:00 AM

Quote:

Originally Posted by BraPhiNd (Post 2609996)
Good to hear, I had forgotten to dereference my list address but still had no idea what was wrong with the dictionary. I've looked around on how the offsets are found for the native libraries but I'm not making any headway. Mostly been using mono dissect up to this point. Any tips?


Edit:
Woot, created a small test game to figure this out. End result is the following:

Dictionary:
0x40 - Dictionary Size
0x18 - Dictionary Elements as a Array<KeyValuePair>

Array:
0x18 - Allocated Size
0x20 - Beginning of Array

KeyValuePair:
0x8 - Pointer to Key
0x10 - Pointer to Value

until you insert an item and it goes here and not 0x20 :D

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

GIBS0N 5th November 2019 09:26 AM

Someone got the new chain for body part health from player - > healthcontroller - > 0x18 and so on?

JustCheating 6th November 2019 03:14 AM

Is mono injection still possible with BE? I would assume not right?

liquidace 6th November 2019 03:16 AM

yes its possible without ban

rayleigh 6th November 2019 03:29 PM

can someone say me where i get
Code:

0x1432840)
from old version


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

Lynxaa 7th November 2019 04:41 AM

Quote:

Originally Posted by rayleigh (Post 2611388)
can someone say me where i get
Code:

0x1432840)
from old version

unityplayer.dll
48 8B 15 ? ? ? ? 66 39 77 54

adspro 7th November 2019 02:04 PM

what new offset ViewAngles?

GeeMTee 8th November 2019 05:13 AM

anyone can help me with the internal?
add me please in discord decomo#5837

TheMaoci 8th November 2019 01:00 PM

i need help with `code 201` ... i somehow cannot authorizate my connection to the server just to establish connection and get response

i know i need PHPSESSID but i think they do something with it ... and im still not sure what ...

ps. you can pm me it if you dont want it public but i need it for JET implementation for .12

nxyexiong 8th November 2019 02:16 PM

anybody knows the correct chain for weapon names? mine stop working since .12:

Code:

Weapon0 = Profile + 0x48] 0x30] 0x10] 0x28] 0x30]
Weapon1 = Profile + 0x48] 0x30] 0x10] 0x28] 0x38]


HELOHELO121 8th November 2019 11:14 PM

Does anybody know the current offset to get EFT.InventoryLogic.Weapon from EFT.Player.FirearmController? My old offset was 0x48 but that isn't working anymore for me.

liquidace 8th November 2019 11:36 PM

for the love of god dump mono and grab it in 3.1 seconds

HELOHELO121 8th November 2019 11:59 PM

Quote:

Originally Posted by liquidace (Post 2613218)
for the love of god dump mono and grab it in 3.1 seconds

Got it, the member I was looking for is in it's parent class: ItemHandsController. The offset is 0x50 (type: EFT.InventoryLogic.Item) for anyone who is wondering.

liquidace 9th November 2019 12:57 AM

nice job! Keep a notepad of all the stuff you use and how you get to it, what is above/below it in the classes etc, it makes finding stuff very simple in the future

hurpy 9th November 2019 05:38 AM

Quote:

Originally Posted by TheMaoci (Post 2612823)
i need help with `code 201` ... i somehow cannot authorizate my connection to the server just to establish connection and get response

i know i need PHPSESSID but i think they do something with it ... and im still not sure what ...

ps. you can pm me it if you dont want it public but i need it for JET implementation for .12

201 should be returning an object to parse, maybe a web page/json

are you getting an object back? because if so there should be a link in that object that will take you to the actual response

side-z 9th November 2019 08:27 AM

Is the view matrix at camera + 0xD8 correct? It's values are changing even if i'm not moving camera so W2S makes objects flickering https://gfycat.com/ru/heftypleasedafricanhornbill.
Also how do i get a correct name from LootItem? It has a Name string field but it looks like some hash(24 random chars).

BraydenEGC 9th November 2019 12:37 PM

Quote:

Originally Posted by side-z (Post 2613442)
~snip~



Template-> ShortName

BraPhiNd 9th November 2019 12:37 PM

Quote:

Originally Posted by liquidace (Post 2613274)
nice job! Keep a notepad of all the stuff you use and how you get to it, what is above/below it in the classes etc, it makes finding stuff very simple in the future

Have you tried replacing all of the unicode characters with their string representations in the monodump? By doing that you can ctrl+F directly to the class by using the unicode string from dnSpy. No need to fiddle with trying to remember positions.

BraydenEGC 9th November 2019 12:59 PM

Quote:

Originally Posted by BraPhiNd (Post 2613574)
~snip~

Works fine until the game updates and you have to do it all on a new assembly just because BSG wanted to hotfix a bug.

GeeMTee 9th November 2019 02:26 PM

Could you help me? I have a small piece of code that I need to execute internally. But I have no idea how to do it now. I used to use a mono injector and it was enough for me a few seconds after closing BEService. My hands are dropping already, I don’t know where to dig.

Lynxaa 9th November 2019 03:33 PM

Quote:

Originally Posted by GeeMTee (Post 2613636)
Could you help me? I have a small piece of code that I need to execute internally. But I have no idea how to do it now. I used to use a mono injector and it was enough for me a few seconds after closing BEService. My hands are dropping already, I don�t know where to dig.

What do you need to execute internally?

GeeMTee 9th November 2019 03:52 PM

Quote:

Originally Posted by Lynxaa (Post 2613673)
What do you need to execute internally?

I wrote a dll that I need to embed in the game. It contains code that works with the character profile

Lynxaa 9th November 2019 03:55 PM

Quote:

Originally Posted by GeeMTee (Post 2613689)
I wrote a dll that I need to embed in the game. It contains code that works with the character profile

You're going to have to look into bypassing BattlEye if you want to do any form of injection.

-

Has anyone had any luck with:
30 :  (type: EFT.Interactive.WorldInteractiveObject)

liquidace 9th November 2019 11:31 PM

what are you trying to do with it?

TheMaoci 10th November 2019 01:47 AM

@hurpy nvm i dump everything i needed :) have fun boisss time to update emulator again ;)


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

Respecter 10th November 2019 02:33 PM

Code:

UnityPlayer_Dumped+0xbfff70
[actual address in first opcode] E8 ? ? ? ? F2 0F 10 38

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

w33zer 12th November 2019 06:37 AM

Does the rotation on movementcontext still work?

I am migrating from c# to c++ and i have most pieces going, but for some reason I can't get the that or the loot list working.

Not sure if its just offset related or if I'm just doing something screwy in c++.

Also if anyone else is reading memory from a vm I had to do this for converting the unicode strings to get around the diff between the way unicode is treated across os.

Code:

std::string GetUnicodeString(uint64_t addr, int stringLength)
{
        char16_t wcharTemp[64] = { '\0' };
        ReadTarkovMemory(addr, wcharTemp, stringLength * 2);
        std::string u8_conv = std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t>{}.to_bytes(wcharTemp);
        return u8_conv;
}


Respecter 13th November 2019 12:09 AM

Quote:

Originally Posted by w33zer (Post 2615600)
Does the rotation on movementcontext still work?

I am migrating from c# to c++ and i have most pieces going, but for some reason I can't get the that or the loot list working.

Not sure if its just offset related or if I'm just doing something screwy in c++.

Also if anyone else is reading memory from a vm I had to do this for converting the unicode strings to get around the diff between the way unicode is treated across os.

Code:

std::string GetUnicodeString(uint64_t addr, int stringLength)
{
        char16_t wcharTemp[64] = { '\0' };
        ReadTarkovMemory(addr, wcharTemp, stringLength * 2);
        std::string u8_conv = std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t>{}.to_bytes(wcharTemp);
        return u8_conv;
}


if you are internal you can just cast and print it.

https://i.imgur.com/2fH2jZE.png


Code:

std::wstring PlayerInfo::GetName()
{
    try
    {
        if (!IsValidPtr(this))
            return std::wstring();


        auto m_pPlayerName = (uintptr_t*)((uintptr_t)this + 0x10);
        if (!IsValidPtr(m_pPlayerName))
            return std::wstring();

        auto m_pName = (wchar_t*)(*m_pPlayerName + 0x14);
        if (!IsValidPtr(m_pName))
            return std::wstring();

return std::wstring(m_pName);
    }
    catch (...)
    {
        printf(xorstr_("Failed to get player name \n").c_str());
    }

    return std::wstring();
}


w33zer 13th November 2019 04:55 AM

Quote:

Originally Posted by w33zer (Post 2615600)
I am migrating from c# to c++ and i have most pieces going, but for some reason I can't get the that or the loot list working.

Not sure if its just offset related or if I'm just doing something screwy in c++.

Nvm I'm just bad at C++ >_>

Quote:

Originally Posted by w33zer (Post 2615600)
Does the rotation on movementcontext still work?

I still haven't figured this one out though.

HELOHELO121 13th November 2019 09:25 PM

Quote:

Originally Posted by w33zer (Post 2616282)
I still haven't figured this one out though.

IIRC, no

w33zer 14th November 2019 12:41 AM

Quote:

Originally Posted by HELOHELO121 (Post 2616746)
IIRC, no

Any tips for how to do direction the player is facing? I tried a line perpendicular to the line between the players feet, but that's more of a movement direction than their perspective.

liquidace 14th November 2019 01:28 AM

raycast head to gun and project it further

HELOHELO121 14th November 2019 09:16 PM

Quote:

Originally Posted by liquidace (Post 2616882)
raycast head to gun and project it further

What about for external cheats?

liquidace 15th November 2019 02:58 AM

yeah... raycast head to gun and project it further. What does being external have to do with the price of fish in japan?

Respecter 15th November 2019 03:18 AM

welp, how to write aimbot angles in memory? / or call a function idk

i don't wanna use setmousepos from winapi to sux

w33zer 15th November 2019 07:41 AM

I'm not sure why i decided to try to draw a line between feet instead of through weapon. That makes sense.

Quote:

Originally Posted by HELOHELO121 (Post 2617525)
What about for external cheats?


player] + 0x38] + 0x1d0 is the view angle I was looking for before. Seems to work still.

What is the chain that gets the name of the weapon the player is currently using?

Xyox 15th November 2019 06:03 PM

Hello, yesterday i dumped mono and i've been able to find the offsets i need to make a basic ESP. So today i only needed to get the view matrix and setup the overlay.
Well it's been almost 6 hours and i still can't manage to find the "FPS Camera".

Thing is, i think i'm doing something wrong when reading the tagged objects list because in there i always find only the first 2 objects ("factory_LevelSettings", "sun") and then it looks like there are no more objects...

These are the offsets i'm using:
Code:

TaggedObjectList = GOM] + 0x8;
NextObject = TaggedObjectList] + 0x8;
CurrentObject = TaggedObjectList] + 0x10;
ObjectName = CurrentObject] + 0x60];

I'm also using using the exact same function (except changing the first offset) to loop the active object list and that is working perfectly and i'm able to find "GameWorld".

So either the TaggedObjectList offset is wrong or i'm out of ideas.

I've also read in this thread about the fact that "FPS Camera" might be the last tagged object but i don't think that would explain why i only find two object in the list...

I'll also leave here the function i'm using in case you notice something wrong, but again it's the same function i'm using for the active object list and that works:
Code:

uint64_t objectList = readPointer(process, GOM + listOffset);

        int checked = 0;
        uint64_t currentObject;
        std::string currentName;

        while(checked < 10000) {
                currentObject = objectList + 0x10;
                currentName = readString(process, readPointer(process, readPointer(process, currentObject) + 0x60), name.length());

                if(currentName == name) {
                        return readPointer(process, currentObject);
                }
               
                objectList = readPointer(process, objectList + 0x8);
                checked++;
        }

        return 0x0;

Any help is appreciated. Thanks.

Lynxaa 15th November 2019 07:12 PM

Quote:

Originally Posted by Xyox (Post 2618034)
Hello, yesterday i dumped mono and i've been able to find the offsets i need to make a basic ESP. So today i only needed to get the view matrix and setup the overlay.
Well it's been almost 6 hours and i still can't manage to find the "FPS Camera".

Thing is, i think i'm doing something wrong when reading the tagged objects list because in there i always find only the first 2 objects ("factory_LevelSettings", "sun") and then it looks like there are no more objects...

These are the offsets i'm using:
Code:

TaggedObjectList = GOM] + 0x8;
NextObject = TaggedObjectList] + 0x8;
CurrentObject = TaggedObjectList] + 0x10;
ObjectName = CurrentObject] + 0x60];

I'm also using using the exact same function (except changing the first offset) to loop the active object list and that is working perfectly and i'm able to find "GameWorld".

So either the TaggedObjectList offset is wrong or i'm out of ideas.

I've also read in this thread about the fact that "FPS Camera" might be the last tagged object but i don't think that would explain why i only find two object in the list...

I'll also leave here the function i'm using in case you notice something wrong, but again it's the same function i'm using for the active object list and that works:
Code:

uint64_t objectList = readPointer(process, GOM + listOffset);

        int checked = 0;
        uint64_t currentObject;
        std::string currentName;

        while(checked < 10000) {
                currentObject = objectList + 0x10;
                currentName = readString(process, readPointer(process, readPointer(process, currentObject) + 0x60), name.length());

                if(currentName == name) {
                        return readPointer(process, currentObject);
                }
               
                objectList = readPointer(process, objectList + 0x8);
                checked++;
        }

        return 0x0;

Any help is appreciated. Thanks.

Code:

  BaseObject* pCurrentObject = m_pObjectManager->m_pTaggedObjects;
  GameObject* pCurrentGameObject = pCurrentObject->m_pObject;

  bool bLastObject = false;
  do {
    if( FNV::get( pCurrentGameObject->m_name ) == hash ) {
      return pCurrentGameObject;
    }

    if( bLastObject )
      break;

    pCurrentObject = pCurrentObject->m_pNext;
    pCurrentGameObject = pCurrentObject->m_pObject;

    if( pCurrentObject == m_pObjectManager->m_pLastTaggedObject )
      bLastObject = true;
  } while( true );

Code:

class GameObjectManager {
public:
  BaseObject* m_pLastTaggedObject;  // 0x0000
  BaseObject* m_pTaggedObjects;    // 0x0008
  BaseObject* m_pLastActiveObject;  // 0x0010
  BaseObject* m_pActiveObjects;    // 0x0018
};

class BaseObject {
public:
  PAD( 0x8 );
  BaseObject* m_pNext;      // 0x0008
  GameObject* m_pObject;    // 0x0010
};

class GameObject {
public:
  PAD( 0x60 );
  char* m_name;  // 0x0060
};

You can do away with the while loop and the ghetto last object check but it works lol

Make sure you are using the correct GOM pointer too.

Code:

  // STR: "GameObject is already being activated or deactivated."
  // .text:0000000180636F4C                test    r15b, r15b
  // .text:0000000180636F4F                jz      short loc_180636F5B
  // .text:0000000180636F51                mov    rcx, rbx
  // .text:0000000180636F54                call    sub_18063A8A0                      <-- This function contains the offset.
  // .text:0000000180636F59                jmp    short loc_180636F7F

0x1432840


HELOHELO121 15th November 2019 09:16 PM

Quote:

Originally Posted by liquidace (Post 2617672)
yeah... raycast head to gun and project it further. What does being external have to do with the price of fish in japan?

Last I checked raycast ain't possible externally

liquidace 15th November 2019 09:33 PM

sucks to be wrong

CatalystFTW 16th November 2019 03:25 AM

edit: fixed, was an error on my end.

amikai666 16th November 2019 02:37 PM

base entity -> profile offset?
upd: 3A0

dler4 16th November 2019 08:35 PM

What the yaw/pitch offset in the movementcontext class?

Xyox 16th November 2019 10:17 PM

Quote:

Originally Posted by Lynxaa (Post 2618082)
[ ... ]

Thanks for taking the time to answer. Turns out my code was correct.
The problem was that i had the "Auto RAM Cleaner" option activated in the game's settings.
My guess is that it "cleans" the tagged object list as soon as the game loads, i was looping the tagged object list after that so i was getting weird results.

liquidace 16th November 2019 11:10 PM

Quote:

Originally Posted by Xyox (Post 2618803)
Thanks for taking the time to answer. Turns out my code was correct.
The problem was that i had the "Auto RAM Cleaner" option activated in the game's settings.
My guess is that it "cleans" the tagged object list as soon as the game loads, i was looping the tagged object list after that so i was getting weird results.

that isnt the issue, i use ram cleaner otherwise game starts using 15gb ram after a few hours


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

Xyox 17th November 2019 03:15 AM

Quote:

Originally Posted by liquidace (Post 2618831)
that isnt the issue, i use ram cleaner otherwise game starts using 15gb ram after a few hours

Well every time i have the ram cleaner on i can see all objects but when the "raid starting in X seconds" screen comes up the list is left with just a few objects (sometimes around 40 sometimes even just 3).

When i turn it off and i start a new raid the list is full of objects until the end of the raid.

You can still find what you need with ram cleaner on but only if you loop the list before the raid starts.

(I'm only talking about the tagged objects list, the active object list doesn't seem to be affected)

liquidace 17th November 2019 05:09 AM

i only grab localworld and fps camera once in game

i only grab localworld and fps camera once in game

Xyox 17th November 2019 01:18 PM

Quote:

Originally Posted by liquidace (Post 2619011)
i only grab localworld and fps camera once in game

i only grab localworld and fps camera once in game

You said It uses 15gb of ram after a while so i guess you have at least 16gb of It.
I only have 8gb of ram on my pc so maybe i get cleaned earlier/more aggressively than you do.

If that's not It i wouldn't be surprised if their cleaner Is bugged and works differently for everyone.

206221 19th November 2019 08:41 AM

hi, how to using c++ to get the player list , local player and player position :)

share me offset ?

i want to code a base esp and using imgui -> draw box on external:)

Respecter 19th November 2019 07:43 PM

Quote:

Originally Posted by 206221 (Post 2620482)
hi, how to using c++ to get the player list , local player and player position :)

share me offset ?

i want to code a base esp and using imgui -> draw box on external:)

Search on this section, there already ready copy pasta ready to go. Also, you can use rust section, since its same engine.

HELOHELO121 20th November 2019 09:17 PM

Since Saber is no longer active, can't we not modify clientside values that would previously get you banned (I.E. nulling our ProceduralWeaponAnimation)?

Respecter 20th November 2019 10:19 PM

Quote:

Originally Posted by HELOHELO121 (Post 2621556)
Since Saber is no longer active, can't we not modify clientside values that would previously get you banned (I.E. nulling our ProceduralWeaponAnimation)?

You can simple test that by, enabling it, if you get banned, there is your response. You don't need to wait for them. But that common pratices on BE/EAC protected games.

Also, probaly this its common sense already, but since i'm new, i'm sharing it anyway. If you use vpn to russia/ukraine you can buy account from official website for $25 dollars instead of $45 that helps. But you going to need the vpn on all the time.

liquidace 20th November 2019 10:49 PM

Quote:

Originally Posted by HELOHELO121 (Post 2621556)
Since Saber is no longer active, can't we not modify clientside values that would previously get you banned (I.E. nulling our ProceduralWeaponAnimation)?

most values are still checked server side

Respecter 21st November 2019 08:50 PM

Code:

// Generated using ReClassEx - Driver Version 0.1.1 - @Respecter

class LOCALGAMEWORLD;
class ArrayItems;
class ItemList;
class Item;
class ItemProfile;
class ItemBasicInformation;
class ItemInformation;
class ItemCoordinates;
class ItemLocationContainer;
class ArrayPlayers;
class PlayerList;
class Player;
class MovementContext;
class ProceduralWeaponAnimation;
class PlayerProfile;
class PlayerInfo;
class UnityEngineString;
class HealthController;
class Inventory;
class HealthBody;
class BodyController;
class HealthContainer;
class Health;
class FastAccess;
class BoundCells;
class m_pDictionaryItems;
class Weapon;
class WeaponDetails;
class WeaponNameInfo;
class PlayerBody;
class m_pSkeletonRootJoin;
class BoneEnumerator;
class TransformArray;
class CAMERA;
class FPSCamera;
class CameraObject;
class CameraEntity;
class CameraContainer;
class CameraPosition;

class LOCALGAMEWORLD
{
public:
        char pad_0x0000[0x48]; //0x0000
        ArrayItems* m_pItemList; //0x0048
        char pad_0x0050[0x18]; //0x0050
        ArrayPlayers* m_pPlayerList; //0x0068

}; //Size=0x0070

class ArrayItems
{
public:
        char pad_0x0000[0x10]; //0x0000
        ItemList* m_pItemList; //0x0010
        __int32 Count; //0x0018
        __int32 MaxCout; //0x001C

}; //Size=0x0020

class ItemList
{
public:
        char pad_0x0000[0x20]; //0x0000
        Item* m_pFirstItem; //0x0020

}; //Size=0x0028

class Item
{
public:
        char pad_0x0000[0x10]; //0x0000
        ItemProfile* m_pItemProfile; //0x0010

}; //Size=0x0018

class ItemProfile
{
public:
        char pad_0x0000[0x30]; //0x0000
        ItemBasicInformation* m_pItemInformation; //0x0030

}; //Size=0x0038

class ItemBasicInformation
{
public:
        char pad_0x0000[0x30]; //0x0000
        ItemInformation* m_pItemInformation; //0x0030
        char pad_0x0038[0x28]; //0x0038
        char* ItemName; //0x0060

}; //Size=0x0068

class ItemInformation
{
public:
        char pad_0x0000[0x8]; //0x0000
        ItemCoordinates* m_pItemCoordinates; //0x0008

}; //Size=0x0010

class ItemCoordinates
{
public:
        char pad_0x0000[0x38]; //0x0000
        ItemLocationContainer* m_pItemLocationContainer; //0x0038

}; //Size=0x0040

class ItemLocationContainer
{
public:
        char pad_0x0000[0xB0]; //0x0000
        Vector3 ItemPosition; //0x00B0

}; //Size=0x00BC

class ArrayPlayers
{
public:
        char pad_0x0000[0x10]; //0x0000
        PlayerList* m_pList; //0x0010
        __int32 Count; //0x0018
        __int32 MaxCount; //0x001C

}; //Size=0x0020

class PlayerList
{
public:
        char pad_0x0000[0x20]; //0x0000
        Player* m_pFirstEntity; //0x0020
        Player* m_pSecondPlayer; //0x0028

}; //Size=0x0030

class Player
{
public:
        char pad_0x0000[0x38]; //0x0000
        MovementContext* m_pMovementContext; //0x0038
        char pad_0x0040[0x30]; //0x0040
        ProceduralWeaponAnimation* m_pProceduralWeaponAnimation; //0x0070
        char pad_0x0078[0x10]; //0x0078
        PlayerBody* m_pPlayerBody; //0x0088
        char pad_0x0090[0x310]; //0x0090
        PlayerProfile* m_pPlayerProfile; //0x03A0
        char pad_0x03A8[0x28]; //0x03A8
        HealthController* m_pHealthController; //0x03D0

}; //Size=0x03D8

class MovementContext
{
public:
        char pad_0x0000[0x1D0]; //0x0000
        Vector2 ViewAngles; //0x01D0
        Vector2 ViewAngles2; //0x01D8
        Vector3 LocalPosition; //0x01E0

}; //Size=0x01EC

class ProceduralWeaponAnimation
{
public:
        char pad_0x0000[0xE0]; //0x0000
        __int32 Mask; //0x00E0

}; //Size=0x00E4

class PlayerProfile
{
public:
        char pad_0x0000[0x28]; //0x0000
        PlayerInfo* m_PlayerInfo; //0x0028
        char pad_0x0030[0x18]; //0x0030
        Inventory* m_pInventory; //0x0048

}; //Size=0x0050

class PlayerInfo
{
public:
        char pad_0x0000[0x10]; //0x0000
        UnityEngineString* m_pPlayerName; //0x0010
        char pad_0x0018[0x3C]; //0x0018
        __int32 CreationDate; //0x0054

}; //Size=0x0058

class UnityEngineString
{
public:
        char pad_0x0000[0x10]; //0x0000
        __int32 size; //0x0010
        wchar_t name[24]; //0x0014

}; //Size=0x0044

class HealthController
{
public:
        char pad_0x0000[0x18]; //0x0000
        HealthBody* m_pHealthBody; //0x0018

}; //Size=0x0020

class Inventory
{
public:
        char pad_0x0000[0x30]; //0x0000
        FastAccess* m_pFastAccess; //0x0030

}; //Size=0x0038

class HealthBody
{
public:
        char pad_0x0000[0x18]; //0x0000
        BodyController* m_pBodyController; //0x0018

}; //Size=0x0020

class BodyController
{
public:
        char pad_0x0000[0x30]; //0x0000
        HealthContainer* m_pHealthHead; //0x0030
        char pad_0x0038[0x10]; //0x0038
        HealthContainer* m_pHealthThorax; //0x0048
        char pad_0x0050[0x10]; //0x0050
        HealthContainer* m_pHealthStomach; //0x0060
        char pad_0x0068[0x10]; //0x0068
        HealthContainer* m_pHealthLeftArm; //0x0078
        char pad_0x0080[0x10]; //0x0080
        HealthContainer* m_pHealthRightArm; //0x0090
        char pad_0x0098[0x10]; //0x0098
        HealthContainer* m_pHealthLeftLeg; //0x00A8
        char pad_0x00B0[0x10]; //0x00B0
        HealthContainer* m_pHealthRightLeg; //0x00C0

}; //Size=0x00C8

class HealthContainer
{
public:
        char pad_0x0000[0x10]; //0x0000
        Health* m_pHealth; //0x0010

}; //Size=0x0018

class Health
{
public:
        char pad_0x0000[0x10]; //0x0000
        float Health; //0x0010
        float HealthMax; //0x0014

}; //Size=0x0018

class FastAccess
{
public:
        char pad_0x0000[0x10]; //0x0000
        BoundCells* m_BoundCells; //0x0010

}; //Size=0x0018

class BoundCells
{
public:
        char pad_0x0000[0x18]; //0x0000
        m_pDictionaryItems* m_pInventoryDicionatinary; //0x0018

}; //Size=0x0020

class m_pDictionaryItems
{
public:
        char pad_0x0000[0x30]; //0x0000
        Weapon* Knife; //0x0030
        char pad_0x0038[0x10]; //0x0038
        Weapon* Pistol; //0x0048
        char pad_0x0050[0x10]; //0x0050
        Weapon* FirstWeapon; //0x0060
        char pad_0x0068[0x10]; //0x0068
        Weapon* SecondWeapon; //0x0078

}; //Size=0x0080

class Weapon
{
public:
        char pad_0x0000[0x10]; //0x0000
        WeaponDetails* m_pWeaponDetails; //0x0010

}; //Size=0x0018

class WeaponDetails
{
public:
        char pad_0x0000[0x20]; //0x0000
        WeaponNameInfo* m_pWeaponNameInfo; //0x0020

}; //Size=0x0028

class WeaponNameInfo
{
public:
        char pad_0x0000[0x10]; //0x0000
        UnityEngineString* Name; //0x0010
        char pad_0x0018[0x10]; //0x0018
        UnityEngineString* NameType; //0x0028

}; //Size=0x0030

class PlayerBody
{
public:
        char pad_0x0000[0x28]; //0x0000
        m_pSkeletonRootJoin* m_pSkeletonRootJoin; //0x0028

}; //Size=0x0030

class m_pSkeletonRootJoin
{
public:
        char pad_0x0000[0x28]; //0x0000
        BoneEnumerator* m_pBoneEnumerator; //0x0028

}; //Size=0x0030

class BoneEnumerator
{
public:
        char pad_0x0000[0x10]; //0x0000
        TransformArray* m_pTransformArray; //0x0010

}; //Size=0x0018

class TransformArray
{
public:
        char pad_0x0000[0x8]; //0x0000

}; //Size=0x0008

class CAMERA
{
public:
        char pad_0x0000[0x30]; //0x0000
        FPSCamera* m_pFpsCamera; //0x0030
        char pad_0x0038[0xA0]; //0x0038
        matrix3x4_t ViewMatrix; //0x00D8

}; //Size=0x0118

class FPSCamera
{
public:
        char pad_0x0000[0x30]; //0x0000
        CameraObject* m_pCameraObject; //0x0030
        char pad_0x0038[0x28]; //0x0038
        char* ObjectName; //0x0060

}; //Size=0x0068

class CameraObject
{
public:
        char pad_0x0000[0x8]; //0x0000
        CameraContainer* m_pCameraContainer; //0x0008
        char pad_0x0010[0x8]; //0x0010
        CameraEntity* m_pCameraEntity; //0x0018

}; //Size=0x0020

class CameraEntity
{
public:
        char pad_0x0000[0xD8]; //0x0000
        matrix3x4_t ViewMatrix; //0x00D8

}; //Size=0x0118

class CameraContainer
{
public:
        char pad_0x0000[0x38]; //0x0000
        CameraPosition* m_pCameraPosition; //0x0038

}; //Size=0x0040

class CameraPosition
{
public:
        char pad_0x0000[0xB0]; //0x0000
        Vector3 cameraPosition; //0x00B0
        char pad_0x00BC[0x4]; //0x00BC
        Vector4 cameraRotation; //0x00C0

}; //Size=0x00D0

RE is love.

206221 25th November 2019 11:28 AM

Code:

{
mGameWorldPoint = Helper::UNITY3D_FindActiveObject("GameWorld", mGameObjectManagerOffset);
       
        if (!IsValid(mGameWorldPoint))
        {
                return false;
        }

        mFPSCameraPoint = Helper::UNITY3D_FindTaggedObject("FPS Camera", mGameObjectManagerOffset);

        if (!IsValid(mFPSCameraPoint))
        {
                return false;
        }

        {
                auto _v1 = Helper::Read<uint64_t>(mGameWorldPoint + 0x30);
                auto _v2 = Helper::Read<uint64_t>(_v1 + 0x18);
                auto _v3 = Helper::Read<uint64_t>(_v2 + 0x28);

                if (!IsValid(_v3))
                {
                        return false;
                }

                mLocalGameWorldPoint = _v3;
        }

        mRegisterPlayerPoint = Helper::Read<uint64_t>(mLocalGameWorldPoint + 0x68);

        if (!IsValid(mRegisterPlayerPoint))
        {
                return false;
        }

        mPlayersCountPoint = Helper::Read<uint64_t>(mRegisterPlayerPoint + 0x18);

        if (!IsValid(mPlayersCountPoint))
        {
                return false;
        }

        return true;
}

i find the mGameWorldPoint , mFPSCameraPoin , mLocalGameWorldPoint

but I don't know it's true or not

and

Code:

{
        int _count = Helper::Read<int>(mPlayersCountPoint);

        if (_count > 0)
        {
                return _count;
        }

        return 0;
}


{
int limit = GetPlayerCount();

        for (int i = 0x0; i < limit; i++)
        {
                DWORD64 _playerObjectPoint = NULL;
                {
                        auto _v1 = Helper::Read<uint64_t>(mRegisterPlayerPoint + 0x10);
                        auto _v2 = Helper::Read<uint64_t>(_v1 + 0x20 + i * 0x8);

                        if (!IsValid(_v2))
                        {
                                mPlayerList.clear();
                                return;
                        }

                        _playerObjectPoint = _v2;
                }

                DWORD64 _playerNamePoint = NULL;
                {
                        auto _v1 = Helper::Read<uint64_t>(_playerObjectPoint + 0x398);
                        auto _v2 = Helper::Read<uint64_t>(_v1 + 0x28);
                        auto _v3 = Helper::Read<uint64_t>(_v2 + 0x10);
                        auto _v4 = Helper::Read<uint64_t>(_v3 + 0x14);

                        if (!IsValid(_v4))
                        {
                                mPlayerList.clear();
                                return;
                        }

                        _playerNamePoint = _v2;
                }
               
                Player _playerObject(_playerObjectPoint, _playerNamePoint);
                mPlayerList.push_back(_playerObject);
        }
}

i try to get player count in game . that give me a error count ...

pls help me . how to get playerlist and playercount... (up it's my code.)

tks.

HELOHELO121 26th November 2019 04:11 AM

Quote:

Originally Posted by 206221 (Post 2624599)
snip

do
Code:

int _count = Helper::Read<int>(mRegisterPlayerPoint + 0x18);
also you don't need to check if _count is less than 0; just make it an unsigned int

206221 26th November 2019 06:49 AM

Quote:

Originally Posted by HELOHELO121 (Post 2625136)
do
Code:

int _count = Helper::Read<int>(mRegisterPlayerPoint + 0x18);
also you don't need to check if _count is less than 0; just make it an unsigned int

oh ... that's my bug.. ..

but i get the count is too big thats look likes address .... i'm sure to wrong in code some where and i don't know where...... :(

oh . fixed the count bugs.

i get the player list ..


pls share me the WorldToScreen function:)

i read the memory by (FTPCamera + 0x30) + 0x18) + 0xC0) ... the pos is error..

or current using other function?

Respecter 26th November 2019 02:33 PM

I really don't know how you guys suffer so much for this get the basic things working. There for real copy pasta ready on this own thread, you just to go past posts to get it. Just read it, and implement.

Almost 80% of this thread its how to get position lol

adspro 26th November 2019 10:55 PM

someone found local player in menu?

BraydenEGC 26th November 2019 11:28 PM

Quote:

Originally Posted by Respecter (Post 2625400)
~snip~

Yeah, can you help me? I am trying to call the internal get position function externally... The address is Base]+0x0]+0xDEADB3EF...? I reversed the game using ollydbg and I need some assistance. Add me on discord please, I soldmy 13th wife for internet connection to talk to you...

Respecter 28th November 2019 05:31 PM

Someone knows a variable that changes while your are ingame and while you are in menu?

BraydenEGC 28th November 2019 07:53 PM

Quote:

Originally Posted by Respecter (Post 2626973)
~snip~

You can check if the number of loot/registered players inside of gameworld (if it exists) is valid.

____________________________________________________________________________

I would probably clear these registry keys if you are getting a new account. https://prnt.sc/q3iu74

Respecter 28th November 2019 10:01 PM

Quote:

Originally Posted by BraydenEGC (Post 2627056)
You can check if the number of loot/registered players inside of gameworld (if it exists) is valid.

____________________________________________________________________________

I would probably clear these registry keys if you are getting a new account. https://prnt.sc/q3iu74

Was looking for a global variable or something like that.

Btw, someone knows how to filder optic_camera ? There no just one, and sometimes its not the first one that that its i find

BraydenEGC 28th November 2019 10:40 PM

Quote:

Originally Posted by Respecter (Post 2627144)
~snip~

Check the environment/scene name then.

---------------------------
https://prnt.sc/q3nsuj
Sent on game start.

206221 29th November 2019 10:43 AM

the code:

Code:

Helper::Vector3 UNITY3D_Transform_GetPosition(int64_t _transformPoint)
        {
                if (!IsValid(_transformPoint)) return Helper::Vector3(0.0f, 0.0f, 0.0f);
                Helper::Read_(_transformPoint + 0x10, (DWORD64)&_transformPoint, sizeof(_transformPoint));


                // ******************************************************

                TransformAccessReadOnly pTransformAccessReadOnly;
                TransformData transformData;
                __m128 result;

                const __m128 mulVec0 = { -2.000, 2.000, -2.000, 0.000 };
                const __m128 mulVec1 = { 2.000, -2.000, -2.000, 0.000 };
                const __m128 mulVec2 = { -2.000, -2.000, 2.000, 0.000 };

                // ******************************************************

                if (!IsValid(_transformPoint)) return Helper::Vector3(0.0f, 0.0f, 0.0f);
                Helper::Read_((DWORD64)_transformPoint + 0x38, (DWORD64)&pTransformAccessReadOnly, sizeof(pTransformAccessReadOnly));

                if (!IsValid(pTransformAccessReadOnly.pTransformData)) return Helper::Vector3(0.0f, 0.0f, 0.0f);
                Helper::Read_((DWORD64)pTransformAccessReadOnly.pTransformData + 0x8, (DWORD64)&transformData, sizeof(transformData));

                if (!IsValid(transformData.pTransformArray) || !IsValid(transformData.pTransformIndices)) return Helper::Vector3(0.0f, 0.0f, 0.0f);

                // ******************************************************

                SIZE_T sizeMatriciesBuf = sizeof(Matrix34) * pTransformAccessReadOnly.index + sizeof(Matrix34);
                SIZE_T sizeIndicesBuf = sizeof(int) * pTransformAccessReadOnly.index + sizeof(int);

                sizeMatriciesBuf += 2048;
                sizeIndicesBuf += 2048;

                // Allocate memory for storing large amounts of data (matricies and indicies)
                PVOID pMatriciesBuf = malloc(sizeMatriciesBuf);
                PVOID pIndicesBuf = malloc(sizeIndicesBuf);

                if (pMatriciesBuf && pIndicesBuf)
                {
                        // Read Matricies array into the buffer
                        Helper::Read_(transformData.pTransformArray, (DWORD64)pMatriciesBuf, sizeMatriciesBuf);
                        // Read Indices array into the buffer
                        Helper::Read_(transformData.pTransformIndices, (DWORD64)pIndicesBuf, sizeIndicesBuf);

                        result = *(__m128*)((DWORD64)pMatriciesBuf + 0x30 * pTransformAccessReadOnly.index);
                        int transformIndex = *(int*)((DWORD64)pIndicesBuf + 0x4 * pTransformAccessReadOnly.index);

                        while (transformIndex >= 0)
                        {
                                Matrix34 matrix34 = *(Matrix34*)((DWORD64)pMatriciesBuf + 0x30 * transformIndex);

                                __m128 xxxx = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_load_si128((__m128i*) &matrix34.vec1), 0x00));        // xxxx
                                __m128 yyyy = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_load_si128((__m128i*) &matrix34.vec1), 0x55));        // yyyy
                                __m128 zwxy = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_load_si128((__m128i*) &matrix34.vec1), 0x8E));        // zwxy
                                __m128 wzyw = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_load_si128((__m128i*) &matrix34.vec1), 0xDB));        // wzyw
                                __m128 zzzz = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_load_si128((__m128i*) &matrix34.vec1), 0xAA));        // zzzz
                                __m128 yxwy = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_load_si128((__m128i*) &matrix34.vec1), 0x71));        // yxwy
                                __m128 tmp7 = _mm_mul_ps(*(__m128*)(&matrix34.vec2), result);

                                result = _mm_add_ps(
                                        _mm_add_ps(
                                                _mm_add_ps(
                                                        _mm_mul_ps(
                                                                _mm_sub_ps(
                                                                        _mm_mul_ps(_mm_mul_ps(xxxx, mulVec1), zwxy),
                                                                        _mm_mul_ps(_mm_mul_ps(yyyy, mulVec2), wzyw)),
                                                                _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0xAA))),
                                                        _mm_mul_ps(
                                                                _mm_sub_ps(
                                                                        _mm_mul_ps(_mm_mul_ps(zzzz, mulVec2), wzyw),
                                                                        _mm_mul_ps(_mm_mul_ps(xxxx, mulVec0), yxwy)),
                                                                _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0x55)))),
                                                _mm_add_ps(
                                                        _mm_mul_ps(
                                                                _mm_sub_ps(
                                                                        _mm_mul_ps(_mm_mul_ps(yyyy, mulVec0), yxwy),
                                                                        _mm_mul_ps(_mm_mul_ps(zzzz, mulVec1), zwxy)),
                                                                _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0x00))),
                                                        tmp7)), _mm_load_ps(&matrix34.vec0.x));

                                transformIndex = *(int*)((DWORD64)pIndicesBuf + 0x4 * transformIndex);
                        }

                        free(pMatriciesBuf);
                        free(pIndicesBuf);
                }

                return Helper::Vector3(result.m128_f32[0], result.m128_f32[1], result.m128_f32[2]);
        }

up code in Client.0.11.X.XXXX it's ok .. i get bone position by head , body and so on ...

but the Client.0.12.X.XXXX it's error...

is changed in the 0.12.x.xxxx version ??


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

liquidace 29th November 2019 08:27 PM

have you tried not pasting and debugging the function

37ed1 29th November 2019 10:39 PM

Quote:

Originally Posted by liquidace (Post 2627706)
have you tried not pasting and debugging the function

Damn man, as I'm reading your posts you seems to be rude af, please don't be so. Not calling this as elitism, yet.

Quote:

Originally Posted by 206221 (Post 2627421)
~

Yes, it has been changed in .12 update with an Unity engine upgrade. You can either check the rust reversal&offsets thread or go a page or two back in this thread, it has been posted by @Respecter. You'll have to examine the code at least a bit and you'll notice the difference.

BraydenEGC 30th November 2019 01:36 AM

Quote:

Originally Posted by 37ed1 (Post 2627782)
~snip~

I mean, liquidace does have a fair point. If they guy had just debugged the function, he would at least have a clue as to what was wrong or where it was failing instead of throwing it on our laps and expecting a fix.

206221 30th November 2019 04:04 AM

Quote:

Originally Posted by 37ed1 (Post 2627782)
Yes, it has been changed in .12 update with an Unity engine upgrade. You can either check the rust reversal&offsets thread or go a page or two back in this thread, it has been posted by @Respecter. You'll have to examine the code at least a bit and you'll notice the difference.

thank you very much...

i will find the new offset in the function..

let's the aimbot and esp all done~~

LOL~~~ ~~~ ~~

:fing02: :fing02: :fing02: >>>> 37ed1

TheMaoci 30th November 2019 04:25 PM

NIKITAAAA DYUDEEEE ITS SO FKIN RETARDED !!!!

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

MrTehHax 3rd December 2019 12:31 PM

has anyone managed to reverse how to grab itemids that can be used across their api?

mikangchan 4th December 2019 02:25 AM

is changing recoil still safe?

Lynxaa 4th December 2019 04:52 AM

Quote:

Originally Posted by mikangchan (Post 2630976)
is changing recoil still safe?

shoteffector? yes.

mikangchan 4th December 2019 05:49 AM

Quote:

Originally Posted by Lynxaa (Post 2631029)
shoteffector? yes.

thx. do you lock to a small number or you can lock to 0?

HELOHELO121 4th December 2019 06:20 AM

Quote:

Originally Posted by mikangchan (Post 2631044)
thx. do you lock to a small number or you can lock to 0?

0 //2short

snufkin 4th December 2019 11:32 AM

I think I figured out why everyone is so confused about the layout of a Dictionary lmao:
Code:

                14774538 : Diz.Skinning.Skeleton
                        static fields
                        fields
                                18 : Bones (type: System.Collections.Generic.Dictionary<System.String,UnityEngine.Transform>)
                                20 : _keys (type: System.Collections.Generic.List<System.String>)
                                28 : _values (type: System.Collections.Generic.List<UnityEngine.Transform>)

So the actual Dictionary is at 0x18, but it also contains two lists with keys and values right after it (??)

37ed1 4th December 2019 12:27 PM

Quote:

Originally Posted by snufkin (Post 2631170)
I think I figured out why everyone is so confused about the layout of a Dictionary lmao:
Code:

                14774538 : Diz.Skinning.Skeleton
                        static fields
                        fields
                                18 : Bones (type: System.Collections.Generic.Dictionary<System.String,UnityEngine.Transform>)
                                20 : _keys (type: System.Collections.Generic.List<System.String>)
                                28 : _values (type: System.Collections.Generic.List<UnityEngine.Transform>)

So the actual Dictionary is at 0x18, but it also contains two lists with keys and values right after it (??)

It's been like that for a very long time.
Here's the exactly same structure from a dump of 0.11.5.2753 version of the game:
Code:

                1442bdf0 : Diz.Skinning.Skeleton
                        static fields
                        fields
                                18 : Bones (type: System.Collections.Generic.Dictionary<System.String,UnityEngine.Transform>)
                                20 : _keys (type: System.Collections.Generic.List<System.String>)
                                28 : _values (type: System.Collections.Generic.List<UnityEngine.Transform>)

Also checked the 0.10.x dump - no changes, it's the same.

snufkin 4th December 2019 01:53 PM

Quote:

Originally Posted by 37ed1 (Post 2631193)
It's been like that for a very long time.
Here's the exactly same structure from a dump of 0.11.5.2753 version of the game:
Code:

                1442bdf0 : Diz.Skinning.Skeleton
                        static fields
                        fields
                                18 : Bones (type: System.Collections.Generic.Dictionary<System.String,UnityEngine.Transform>)
                                20 : _keys (type: System.Collections.Generic.List<System.String>)
                                28 : _values (type: System.Collections.Generic.List<UnityEngine.Transform>)

Also checked the 0.10.x dump - no changes, it's the same.

Yes, that wasn't my point. People have been confusing Skeleton class with Dictionary because Skeleton also contains List of key and values.
Speaking of which, anyone have the new Dictionary layout? (or dissect dump) My mono dissect is no longer showing up in CE.


Is this chain correct for getting external bone position?
Code:

UnityEngine.Transform + 0x10] = InternalTransform
InternalTransform + 0x38] = TransformAccess
TransformAccess + 0 ] = TransformData
TransformData + 0x18] = Array of Matrix3x4

TransformAccess + 0 is giving me a null pointer. I think IDA is bamboozling me.
https://i.gyazo.com/9486f6bf85977acc...9f1f096957.png

mikangchan 5th December 2019 07:02 AM

Quote:

Originally Posted by snufkin (Post 2631234)
Yes, that wasn't my point. People have been confusing Skeleton class with Dictionary because Skeleton also contains List of key and values.
Speaking of which, anyone have the new Dictionary layout? (or dissect dump) My mono dissect is no longer showing up in CE.


Is this chain correct for getting external bone position?
Code:

UnityEngine.Transform + 0x10] = InternalTransform
InternalTransform + 0x38] = TransformAccess
TransformAccess + 0 ] = TransformData
TransformData + 0x18] = Array of Matrix3x4

TransformAccess + 0 is giving me a null pointer. I think IDA is bamboozling me.
https://i.gyazo.com/9486f6bf85977acc...9f1f096957.png

check the struct klmno posted here:(Unity) External bone position from Transform

snufkin 6th December 2019 03:23 PM

Quote:

Originally Posted by mikangchan (Post 2631859)
check the struct klmno posted here:(Unity) External bone position from Transform

Thank you. One too many pointers in my structures.

Quote:

Originally Posted by snufkin (Post 2509961)
Don't know about infinite stamina but this is the no recoil/no breath method I use and I haven't been banned yet.

No recoil:
Set shot effector intensity to 0.
Player->ProceduralWeaponAnimation->ShotEffector.intensity (float32)

Offset
PlayerAddr + 0x70] + 0x48] + 0x64

No breath:
Set breath effector intensity to 0.
Player->ProceduralWeaponAnimation->BreathEffector.intensity (float32)

Offset
PlayerAddr + 0x70] + 0x28] + 0x8C

Anyone sitting on updated offsets for the effector structures? Specifically the intensity offsets seem to be different.

MasterScuzee 6th December 2019 05:51 PM

Hey guys :)
Just starting with EFT, any hints what I need first to get something like an Entitylist?
First time working with Unity.

Thanks in advance :3

RTEHRTH 6th December 2019 06:13 PM

Quote:

Originally Posted by MasterScuzee (Post 2633173)
Hey guys :)
Just starting with EFT, any hints what I need first to get something like an Entitylist?
First time working with Unity.

Thanks in advance :3

no
......

MasterScuzee 6th December 2019 06:13 PM

Quote:

Originally Posted by RTEHRTH (Post 2633193)
no
......

Ah very friendly, thx ;)

mikangchan 6th December 2019 10:48 PM

Quote:

Originally Posted by snufkin (Post 2633011)
Thank you. One too many pointers in my structures.


Anyone sitting on updated offsets for the effector structures? Specifically the intensity offsets seem to be different.

nope still 0x8C

matvei 7th December 2019 06:45 AM

Quote:

Originally Posted by MasterScuzee (Post 2633173)
...

Code:

EntityList = "GameWorld"+0x30]+0x18]+0x28]+0x68]+0x20


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

snufkin 7th December 2019 10:28 AM

Quote:

Originally Posted by mikangchan (Post 2633415)
nope still 0x8C

What about shoteffector intensity? Still 0x64?

MasterScuzee 7th December 2019 12:09 PM

Quote:

Originally Posted by matvei (Post 2633652)
Code:

EntityList = "GameWorld"+0x30]+0x18]+0x28]+0x68]+0x20

Thanks! :)

HELOHELO121 7th December 2019 04:20 PM

Quote:

Originally Posted by snufkin (Post 2633746)
What about shoteffector intensity? Still 0x64?

just dump mono in cheat engine it makes everything a million times easier

snufkin 7th December 2019 11:18 PM

Quote:

Originally Posted by HELOHELO121 (Post 2634040)
just dump mono in cheat engine it makes everything a million times easier

Can't get it to work after Battleye was added. Either there is no mono option, or there is, but the dissect tool crashes with nothing dumped.

Xyox 8th December 2019 02:31 AM

Quote:

Originally Posted by snufkin (Post 2634422)
Can't get it to work after Battleye was added. Either there is no mono option, or there is, but the dissect tool crashes with nothing dumped.

Just go to eft install dir. You'll find two executables for the game: EscapeFromTarkov.exe and EscapeFromTarkov_BE.exe

Open the first one (the one without BE) it'll give an error message when open, leave it open.

You should see from task manager that BE (including the service) is not running.
Since BE is not running you can suspend the process/disconnect from internet without BE closing the game (this may be optional but i'm paranoid so i did it anyway).

Now you can dump mono with CE.

mikangchan 8th December 2019 07:10 AM

has anyone been working on optic_camera? looks like 0x30 -> 0x18 -> 0xD8 is the chain but it's scaling on screen

snufkin 9th December 2019 06:54 AM

Quote:

Originally Posted by Xyox (Post 2634520)
Just go to eft install dir. You'll find two executables for the game: EscapeFromTarkov.exe and EscapeFromTarkov_BE.exe

Open the first one (the one without BE) it'll give an error message when open, leave it open.

You should see from task manager that BE (including the service) is not running.
Since BE is not running you can suspend the process/disconnect from internet without BE closing the game (this may be optional but i'm paranoid so i did it anyway).

Now you can dump mono with CE.

Thank you worked like a charm.

Respecter 9th December 2019 03:28 PM

Quote:

Originally Posted by mikangchan (Post 2634636)
has anyone been working on optic_camera? looks like 0x30 -> 0x18 -> 0xD8 is the chain but it's scaling on screen

It under 0x58/D8, but you have to filter it cuz sometimes there more than one optic_camera and it suddenly stop to work.

And there a problem with view matrix for sure that the esp its just fucking wierd

mikangchan 10th December 2019 07:49 AM

Quote:

Originally Posted by Respecter (Post 2635932)
It under 0x58/D8, but you have to filter it cuz sometimes there more than one optic_camera and it suddenly stop to work.

And there a problem with view matrix for sure that the esp its just fucking wierd

for me it's just too big comparing to the actual size in scope. otherwise it works fine
im not sure what the 0x58 does tho

Respecter 10th December 2019 06:00 PM

Quote:

Originally Posted by mikangchan (Post 2636501)
for me it's just too big comparing to the actual size in scope. otherwise it works fine
im not sure what the 0x58 does tho

yeah for me too, comparing to the size of scope is kind wierd. 0x58 does the same thing (matrix)

But, if you found a way to filter the optic_camera let me know. Some maps have 1-4 others 1-2, and just one of them works.

dywersant01 10th December 2019 10:30 PM

Quote:

Originally Posted by Respecter (Post 2636916)
yeah for me too, comparing to the size of scope is kind wierd. 0x58 does the same thing (matrix)

But, if you found a way to filter the optic_camera let me know. Some maps have 1-4 others 1-2, and just one of them works.

Optics are tied to your gun. Theres a list containg them in ProceduralWeaponAnimation at 0x88.

Respecter 11th December 2019 12:40 AM

Quote:

Originally Posted by dywersant01 (Post 2637117)
Optics are tied to your gun. Theres a list containg them in ProceduralWeaponAnimation at 0x88.

thanks, going to have a look on it x)

RuleMadManBD 11th December 2019 04:03 AM

Hey

Just started to work on EFT. As Rust and EFT have Unity in common, I attempted to find the GOM in IDA similar to this thread https://www.unknowncheats.me/forum/1392989-post81.html

While loading the EscapeFromTarkov.exe in IDA it prompts for "WindowsPlayer_Master_mono_x64.pdb" ... I have downloaded the 2018.4.11F1 to provide the correct .pdb file, but the signature is still mis-matched. Any tips on which step I went wrong at?

Lynxaa 11th December 2019 05:53 AM

Quote:

Originally Posted by RuleMadManBD (Post 2637261)
Hey

Just started to work on EFT. As Rust and EFT have Unity in common, I attempted to find the GOM in IDA similar to this thread https://www.unknowncheats.me/forum/1392989-post81.html

While loading the EscapeFromTarkov.exe in IDA it prompts for "WindowsPlayer_Master_mono_x64.pdb" ... I have downloaded the 2018.4.11F1 to provide the correct .pdb file, but the signature is still mis-matched. Any tips on which step I went wrong at?

https://www.unknowncheats.me/forum/2...-post1513.html

couple pages back, check next time lol

mikangchan 11th December 2019 06:26 AM

Quote:

Originally Posted by RuleMadManBD (Post 2637261)
Hey

Just started to work on EFT. As Rust and EFT have Unity in common, I attempted to find the GOM in IDA similar to this thread https://www.unknowncheats.me/forum/1392989-post81.html

While loading the EscapeFromTarkov.exe in IDA it prompts for "WindowsPlayer_Master_mono_x64.pdb" ... I have downloaded the 2018.4.11F1 to provide the correct .pdb file, but the signature is still mis-matched. Any tips on which step I went wrong at?

1. you can't get the engine to generate a demo game and use its pdb
2. put UnityPlayer.dll in IDA

RuleMadManBD 11th December 2019 06:54 AM

Quote:

Originally Posted by Lynxaa (Post 2637299)
https://www.unknowncheats.me/forum/2...-post1513.html

couple pages back, check next time lol

Thanks, I skimmed right over that apparently. Found it!

mikangchan 11th December 2019 08:37 AM

Quote:

Originally Posted by Respecter (Post 2637172)
thanks, going to have a look on it x)

i can get a camera from opticsight but the scaling problem persists

dywersant01 11th December 2019 12:07 PM

Quote:

Originally Posted by mikangchan (Post 2637359)
i can get a camera from opticsight but the scaling problem persists

This is true. Iam only using optics to position my aimbot perfectly. All the drawing is done with FPS Camera matrix, which is off a bit when looking thru optical scopes - but meh :)

mikangchan 11th December 2019 10:00 PM

Quote:

Originally Posted by dywersant01 (Post 2637436)
This is true. Iam only using optics to position my aimbot perfectly. All the drawing is done with FPS Camera matrix, which is off a bit when looking thru optical scopes - but meh :)

what do you mean by using optics to position the aimbot? are you using the position of optic camera instead of fireport?

dywersant01 12th December 2019 10:13 AM

Quote:

Originally Posted by mikangchan (Post 2637887)
what do you mean by using optics to position the aimbot? are you using the position of optic camera instead of fireport?

What i meant was, that iam using optic_camera tied to my gun optics instead of FPS Camera to calculate screen position for aimbot to target.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

grimreapaa 13th December 2019 11:19 AM

I'm interested in working on some sort of ESP for Tarkov but I've no idea where to start. I've got background in programming experience but no experience in reversal/hacking such as this. Would anyone be able to tell me some programs I should track down and some resources I might be able to use to get started? Thanks in advance.

dracorx 13th December 2019 12:25 PM

Quote:

Originally Posted by grimreapaa (Post 2639370)
I'm interested in working on some sort of ESP for Tarkov but I've no idea where to start. I've got background in programming experience but no experience in reversal/hacking such as this. Would anyone be able to tell me some programs I should track down and some resources I might be able to use to get started? Thanks in advance.

You'll need to work around BE first, I suggest doing some research on UC particularly in the Anti-Cheat bypass section. 1 tip I can give is use kvm or a service such as shadowPC for testing, hwid bans are a real deterrent to cheat development if you don't have much prior experience against BE.

snufkin 13th December 2019 02:09 PM

1 Attachment(s)
Got everything working again post BattlEye/0.12.
Switched to external this time to dodge AC but I'm really starting to regret it.
Dealing with RPM performance issues and emulating internal functions just isn't as much fun.

https://www.unknowncheats.me/forum/a...1&d=1576245541

Quote:

Originally Posted by dracorx (Post 2639420)
You'll need to work around BE first, I suggest doing some research on UC particularly in the Anti-Cheat bypass section. 1 tip I can give is use kvm or a service such as shadowPC for testing, hwid bans are a real deterrent to cheat development if you don't have much prior experience against BE.

Are you internal? I'm trying to get my internal cheat working again but my experience is limited.
My manual mapper hijacks a thread by hooking a common function (window message handler in this case), and uses it to init the cheat, setup other hooks, etc. It would still be caught if you scan for executable memory, or look at thread call stack addresses. I purge the PE headers as an extra security measure but not sure it will help. Do you need to dodge ALL possible detection vectors for a private one-man cheat, or is reasonable doubt enough?

dracorx 13th December 2019 02:19 PM

Quote:

Originally Posted by snufkin (Post 2639510)
Do you need to dodge ALL possible detection vectors for a private one-man cheat, or is reasonable doubt enough?

If your hwid isn't flagged the ban is extremely delayed if you're "one-man"ing it. I'm talking up to 2-5 month delay.

snufkin 13th December 2019 02:29 PM

Quote:

Originally Posted by dracorx (Post 2639515)
If your hwid isn't flagged the ban is extremely delayed if you're "one-man"ing it. I'm talking up to 2-5 month delay.

Seems counter-intuitive. To catch more people once cheat is released? Or waiting pending manual reverse?

HELOHELO121 13th December 2019 09:58 PM

Quote:

Originally Posted by snufkin (Post 2639510)
Got everything working again post BattlEye/0.12.
Switched to external this time to dodge AC but I'm really starting to regret it.
Dealing with RPM performance issues and emulating internal functions just isn't as much fun.

https://www.unknowncheats.me/forum/a...ets-tarkov-png


Are you internal? I'm trying to get my internal cheat working again but my experience is limited.
My manual mapper hijacks a thread by hooking a common function (window message handler in this case), and uses it to init the cheat, setup other hooks, etc. It would still be caught if you scan for executable memory, or look at thread call stack addresses. I purge the PE headers as an extra security measure but not sure it will help. Do you need to dodge ALL possible detection vectors for a private one-man cheat, or is reasonable doubt enough?

What are you using for your overlay? Just topmost transparent or what?

snufkin 14th December 2019 12:51 PM

Quote:

Originally Posted by HELOHELO121 (Post 2639958)
What are you using for your overlay? Just topmost transparent or what?

I use WS_EX_LAYERED with a color key for transparency.
Using TOPMOST flag is not necessary, you get same effect from moving your own window on top of target window every frame.

i.e:
Code:

        HWND window = CreateWindowEx(..., WS_EX_LAYERED, ...);

        // Activate transparency on color black.
        SetLayeredWindowAttributes(window, RGB(0, 0, 0), 0, LWA_COLORKEY);

        // Every frame do this, adjust size and position as needed.
        HWND windowOverTarget = GetWindow(targetWindow, GW_HWNDPREV);
        SetWindowPos(window, windowOverTarget, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE);


MasterScuzee 14th December 2019 01:04 PM

So, I got a very very gay Problem.
I am for example reading the GOM, which succeeds but whenever I want to read something else, like GOM + offsetof(GOM, lastActiveObject) my Read returns "abort()" any idea why?

Here some code:
Code:

        m_GameObjectManager = Read<uint64_t>(GetModule(ENCRYPT_STRINGW("UnityPlayer.dll"))->GetBase() + OFFSET_GAMEOBJECTMANAGER); // works
        if (!m_GameObjectManager)
                return FALSE;

        auto activeObjects = Read<std::array<uint64_t, 2>>(m_GameObjectManager + offsetof(EFTStructs::GameObjectManager, lastActiveObject)); // returns abort()
        if (!activeObjects[0] || !activeObjects[1])
                return FALSE;

Thanks in advance :3 @snufkin

snufkin 14th December 2019 04:04 PM

Quote:

Originally Posted by MasterScuzee (Post 2640617)
So, I got a very very gay Problem.
I am for example reading the GOM, which succeeds but whenever I want to read something else, like GOM + offsetof(GOM, lastActiveObject) my Read returns "abort()" any idea why?

Here some code:
Code:

        m_GameObjectManager = Read<uint64_t>(GetModule(ENCRYPT_STRINGW("UnityPlayer.dll"))->GetBase() + OFFSET_GAMEOBJECTMANAGER); // works
        if (!m_GameObjectManager)
                return FALSE;

        auto activeObjects = Read<std::array<uint64_t, 2>>(m_GameObjectManager + offsetof(EFTStructs::GameObjectManager, lastActiveObject)); // returns abort()
        if (!activeObjects[0] || !activeObjects[1])
                return FALSE;

Thanks in advance :3 @snufkin

Why are you reading two addresses?
Try reading just a single uint64_t and not an array of 2 and see it works. The EntityList is not an array either, its a linked list. See: https://www.geeksforgeeks.org/data-s...s/linked-list/
Meaning GOM + lastActiveObject returns a pointer to the last entry in the linked list. You have to walk the list to get the actual GameObjects.

MasterScuzee 14th December 2019 04:06 PM

Quote:

Originally Posted by snufkin (Post 2640770)
~

Reading anything, with GOM results in an abort(), I can even try to read GOM + "InsertUsefulValueHere" and it returns abort() .-.

Xyox 14th December 2019 05:56 PM

EDIT: nvm fixed this already, "relation_array" and "dependency_index_array" are now at 0x18 and 0x20 respectively

Hello, i'm trying to read bones positions from external, i'm using the function posted by klmno here: (Unity) External bone position from Transform

I can read the "index" fine from:
Code:

Transform] + 0x10] + 0x40
So i guess the offsets are correct up to that point.

But looking at the memory i can see that at:
Code:

Transform] + 0x10] + 0x38] + 0x8
There is not a pointer.

Can anyone confirm that those offsets are still working or did they change with the new unity version?

EDIT: 0x20 looks like it might be some kind of "dependency_index_array" so maybe the two arrays moved from 0x8 0x10 to 0x18 0x20?

snufkin 14th December 2019 07:16 PM

Quote:

Originally Posted by MasterScuzee (Post 2640774)
Reading anything, with GOM results in an abort(), I can even try to read GOM + "InsertUsefulValueHere" and it returns abort() .-.

I'm guessing the GOM offset is wrong. Mine is UnityPlayer.dll + 0x150ECA8

MasterScuzee 14th December 2019 07:23 PM

Quote:

Originally Posted by snufkin (Post 2640970)
I'm guessing the GOM offset is wrong. Mine is UnityPlayer.dll + 0x150ECA8

Using the same, Reading just fails... well I guess it's a problem on my side xd

Xyox 14th December 2019 11:57 PM

EDIT: nvm fixed this too by switching to the function posted by 64com in the same thread. I should probably wait a couple more hours before asking for help as i usually find the solution myself...

Quote:

Originally Posted by snufkin (Post 2639510)
...

Spent all day trying to get the bone esp to work without luck.
I don't know why but all of the bones seem to be located at the same point (in the middle between the feet).

I'm using the function that's posted here.

I then give the vector that gets returned from that function to my w2s function and then i render it on the screen.

Did you experience anything similar when making your esp? I really don't know where else to look...

HELOHELO121 15th December 2019 02:53 AM

Quote:

Originally Posted by snufkin (Post 2640598)
I use WS_EX_LAYERED with a color key for transparency.
Using TOPMOST flag is not necessary, you get same effect from moving your own window on top of target window every frame.

i.e:
Code:

        HWND window = CreateWindowEx(..., WS_EX_LAYERED, ...);

        // Activate transparency on color black.
        SetLayeredWindowAttributes(window, RGB(0, 0, 0), 0, LWA_COLORKEY);

        // Every frame do this, adjust size and position as needed.
        HWND windowOverTarget = GetWindow(targetWindow, GW_HWNDPREV);
        SetWindowPos(window, windowOverTarget, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE);


Gotcha, thanks. Remember to set the overlay position and size a little bit off from the target window size to prevent getting infraction pts

Quote:

Originally Posted by snufkin (Post 2640598)
I use WS_EX_LAYERED with a color key for transparency.
Using TOPMOST flag is not necessary, you get same effect from moving your own window on top of target window every frame.

i.e:
Code:

        HWND window = CreateWindowEx(..., WS_EX_LAYERED, ...);

        // Activate transparency on color black.
        SetLayeredWindowAttributes(window, RGB(0, 0, 0), 0, LWA_COLORKEY);

        // Every frame do this, adjust size and position as needed.
        HWND windowOverTarget = GetWindow(targetWindow, GW_HWNDPREV);
        SetWindowPos(window, windowOverTarget, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE);


Follow up question, what method do you use for allowing mouse input to passthrough the overlay? I looked into methods but the only working one i found was using WS_EX_TRANSPARENT which gets infraction pts iirc

snufkin 15th December 2019 09:00 PM

Quote:

Originally Posted by HELOHELO121 (Post 2641297)
Follow up question, what method do you use for allowing mouse input to passthrough the overlay? I looked into methods but the only working one i found was using WS_EX_TRANSPARENT which gets infraction pts iirc

That's what the SWP_NOACTIVATE in the call to SetWindowPos is there for. It moves the our window on top of the target but the target window still remains active, thus receiving any mouse and key inputs.

HELOHELO121 15th December 2019 10:03 PM

Can someone help me with my WorldToScreen function? It's just not outputting the right value. No matter the input _Enemy, _Screen always seems to return the same value. I know I'm getting the matrix correctly and It looks like i'm transposing it correctly, too. I pasted this from my old C# cheat and just made it compatible with C++. Here's the code. I also know I'm getting the 3d position correctly that I'm passing to W2S.
Code:

        float D3DXVec3Dot(Vector a, Vector b)
        {
                return (a.x * b.x +
                        a.y * b.y +
                        a.z * b.z);
        }
        D3DMATRIX D3DMatrixTranspose(D3DMATRIX in) {
                D3DMATRIX out;

                out._11 = in._11;
                out._21 = in._12;
                out._31 = in._13;
                out._41 = in._14;

                out._12 = in._21;
                out._22 = in._22;
                out._32 = in._23;
                out._42 = in._24;

                out._13 = in._31;
                out._23 = in._32;
                out._33 = in._33;
                out._43 = in._34;

                out._14 = in._41;
                out._24 = in._42;
                out._34 = in._43;
                out._44 = in._44;

                return out;
        }

        void PrintMatrix(D3DMATRIX m) {
                std::cout << "{" << m._11 << ", " << m._12 << ", " << m._13 << ", " << m._14 << "}\n";
                std::cout << "{" << m._21 << ", " << m._22 << ", " << m._23 << ", " << m._24 << "}\n";
                std::cout << "{" << m._31 << ", " << m._32 << ", " << m._33 << ", " << m._34 << "}\n";
                std::cout << "{" << m._41 << ", " << m._42 << ", " << m._43 << ", " << m._44 << "}\n";
        }

        bool WorldToScreen(Vector _Enemy, Vector* _Screen, ImVec2 windowSize)
        {
                _Screen = new Vector(0, 0, 0);

                std::cout << "windowSize: " << windowSize.x << "," << windowSize.y << std::endl;
                std::cout << "Matrix:\n";
                PrintMatrix(_viewMatrix);
                D3DMATRIX temp = D3DMatrixTranspose(_viewMatrix);
                std::cout << "Transposed Matrix:\n";
                PrintMatrix(temp);
                Vector translationVector = Vector(temp._41, temp._42, temp._43);
                Vector up = Vector(temp._21, temp._22, temp._23);
                Vector right = Vector(temp._11, temp._12, temp._13);

                float w = D3DXVec3Dot(translationVector, _Enemy) + temp._44;

                if (w < 0.098f)
                        return false;

                float y = D3DXVec3Dot(up, _Enemy) + temp._24;
                float x = D3DXVec3Dot(right, _Enemy) + temp._14;

                _Screen->x = (windowSize.x / 2) * (1.f + x / w);
                _Screen->y = (windowSize.y / 2) * (1.f - y / w);
                _Screen->z = w;

                return true;
        }

And here is the output
Quote:

windowSize: 1919,1079
Matrix:
{-0.207276, -0.0479178, 0.95868, 0.958641}
{-1.4901e-05, 1.30227, 0.0382496, 0.038248}
{-0.70315, 0.0140977, -0.282047, -0.282036}
{28.7868, -6.82858, 64.7048, 64.7822}
Transposed Matrix:
{-0.207276, -1.4901e-05, -0.70315, 28.7868}
{-0.0479178, 1.30227, 0.0140977, -6.82858}
{0.95868, 0.0382496, -0.282047, 64.7048}
{0.958641, 0.038248, -0.282036, 64.7822}
_Screen: (10.000000,0.000000,0.000000)
Edit: Fixed, I forgot to remove the line where I'm writing to the ptr
Code:

_Screen = new Vector(0, 0, 0);

HELOHELO121 17th December 2019 02:18 AM

Quote:

Originally Posted by snufkin (Post 2642060)
That's what the SWP_NOACTIVATE in the call to SetWindowPos is there for. It moves the our window on top of the target but the target window still remains active, thus receiving any mouse and key inputs.

Did you ever have issues with the cursor appearing whenever the middle of the screen is over the esp? For me, whenever I hover the middle of my screen over objects in the esp, the cursor shows up and I can't shoot, none of the input goes to eft till I look away

BraydenEGC 17th December 2019 02:21 AM

Quote:

Originally Posted by HELOHELO121 (Post 2643200)
~snip~

If you are using ImGui, then only send the cursor to ImGui unless you want to (your menu is open).

HELOHELO121 17th December 2019 02:26 AM

Quote:

Originally Posted by BraydenEGC (Post 2643201)
If you are using ImGui, then only send the cursor to ImGui unless you want to (your menu is open).

Yea, I use it to draw the primitives like circles and lines for the esp. How do I disable imgui capturing the cursor?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

mikangchan 17th December 2019 06:14 PM

Quote:

Originally Posted by HELOHELO121 (Post 2643204)
Yea, I use it to draw the primitives like circles and lines for the esp. How do I disable imgui capturing the cursor?

it's right in their example

Quote:

Originally Posted by dywersant01 (Post 2638265)
What i meant was, that iam using optic_camera tied to my gun optics instead of FPS Camera to calculate screen position for aimbot to target.

why would you need screen position for aimbot...mouse_event aimbot?


Question:
is it instant ban if you disable BE and join online game? what about using flea market?

dracorx 18th December 2019 04:58 AM

Quote:

Originally Posted by mikangchan (Post 2643814)
is it instant ban if you disable BE and join online game? what about using flea market?

You can play up to 5 min without BE running online. Flea market works fine, no heartbeats till you go into a raid.

Respecter 20th December 2019 12:53 AM

Someone has the patch for getting clean item names? (If it exist)

And i know that you can use a custom list, and compare the hash, but i want to get it directly from the game.

HELOHELO121 20th December 2019 04:15 AM

Quote:

Originally Posted by Respecter (Post 2646331)
Someone has the patch for getting clean item names? (If it exist)

And i know that you can use a custom list, and compare the hash, but i want to get it directly from the game.

This should suit your needs
Code:

                1ef026b98b8 : EFT.InventoryLogic.ItemTemplate
                        fields
                                18 : ShortName (type: System.String)


Respecter 20th December 2019 03:02 PM

Quote:

Originally Posted by HELOHELO121 (Post 2646468)
This should suit your needs
Code:

                1ef026b98b8 : EFT.InventoryLogic.ItemTemplate
                        fields
                                18 : ShortName (type: System.String)


mewh, i already have it, it has some shit string on it aswell, sadly, but thanks

liquidace 21st December 2019 05:40 AM

hook mono and read the template translations
or
be mono internal and just access it directly

they look like this:

https://i.imgur.com/1i33TRP.png

Lynxaa 21st December 2019 10:53 AM

To add onto what liquid said, there's a class that adds the .Localized() function to strings, find that function and you figure out how localizations are translated.

You can do it without touching anything mono related but it's far more tricky.

lokinton 21st December 2019 12:51 PM

is nospread still undetected?

edit;;;;
do you also have that weird problem with fireport where it aims to the left or right of the player? basically just inaccurate

liquidace 21st December 2019 10:12 PM

no i dont have that issue. are you standing completely still? just finished moving?

lokinton 22nd December 2019 08:43 AM

Quote:

Originally Posted by liquidace (Post 2648328)
no i dont have that issue. are you standing completely still? just finished moving?

it was because of breath

Respecter 23rd December 2019 09:56 PM

Someone knows if this days removing recoil / breath or any weapon modification on weaponprocedure class is checked by the server, and bannable?

lokinton 24th December 2019 09:01 AM

Quote:

Originally Posted by Respecter (Post 2650424)
Someone knows if this days removing recoil / breath or any weapon modification on weaponprocedure class is checked by the server, and bannable?

got banned recently and WAS doing that.

37ed1 24th December 2019 06:39 PM

Code:

0x15181E8

Respecter 24th December 2019 07:06 PM

Code:

GetPos
UnityPlayer+0xc09a20
E8 ? ? ? ? F2 0F 10 38


Code:

GOM
UnityPlayer+0x15181E8
E8 ? ? ? ? 4C 8B C8 48 8B 50 08




24/12
Code:

// Created with ReClass.NET 1.2 by KN4CK3R

class LOCALGAMEWORLD // Aka LocalGameWorld
{
public:
        char pad_0000[48]; //0x0000
        class UnityEngineString *m_LocalPlayerID; //0x0030
        char pad_0038[16]; //0x0038
        class ArrayItems *m_pItemList; //0x0048
        char pad_0050[24]; //0x0050
        class Array *m_pPlayerList; //0x0068
}; //Size: 0x0070

class Array
{
public:
        char pad_0000[16]; //0x0000
        class List *m_pList; //0x0010
        int32_t Count; //0x0018
        int32_t MaxCount; //0x001C
}; //Size: 0x0020

class List
{
public:
        char pad_0000[32]; //0x0000
        class Player *m_pFirstEntity; //0x0020
        class Player *m_pSecondPlayer; //0x0028
        class Player *N00000819; //0x0030
        class Player *N0000081A; //0x0038
        class Player *N0000081B; //0x0040
        class Player *N0000081C; //0x0048
        char pad_0050[1056]; //0x0050
}; //Size: 0x0470

class Player
{
public:
        char pad_0000[24]; //0x0000
        class LocalPlayerChecker *m_pLocalPlayerChecker; //0x0018
        char pad_0020[24]; //0x0020
        class MovementContext *m_pMovementContext; //0x0038
        char pad_0040[48]; //0x0040
        class ProceduralWeaponAnimation *m_pProceduralWeaponAnimation; //0x0070
        char pad_0078[16]; //0x0078
        class PlayerBody *m_pPlayerBody; //0x0088
        char pad_0090[784]; //0x0090
        class PlayerProfile *m_pPlayerProfile; //0x03A0
        char pad_03A8[40]; //0x03A8
        class HealthController *m_pHealthController; //0x03D0
}; //Size: 0x03D8

class MovementContext
{
public:
        char pad_0000[464]; //0x0000
        Vector2 ViewAngles; //0x01D0
        Vector2 ViewAngles2; //0x01D8
        Vector3 LocalPosition; //0x01E0
}; //Size: 0x01EC

class CAMERA // Aka FPS Camera
{
public:
        char pad_0000[48]; //0x0000
        class FPSCamera *m_pFpsCamera; //0x0030
}; //Size: 0x0038

class FPSCamera
{
public:
        char pad_0000[48]; //0x0000
        class CameraObject *m_pCameraObject; //0x0030
        char pad_0038[40]; //0x0038
        char *ObjectName; //0x0060
}; //Size: 0x0068

class CameraObject
{
public:
        char pad_0000[8]; //0x0000
        class CameraContainer *m_pCameraContainer; //0x0008
        char pad_0010[8]; //0x0010
        class CameraEntity *m_pCameraEntity; //0x0018
}; //Size: 0x0020

class CameraEntity
{
public:
        char pad_0000[88]; //0x0000
        Matrix4x4 ViewMatrix0; //0x0058
        char pad_0098[64]; //0x0098
        Matrix4x4 ViewMatrix; //0x00D8
}; //Size: 0x0118

class PlayerBody
{
public:
        char pad_0000[40]; //0x0000
        class m_pSkeletonRootJoin *m_pSkeletonRootJoin; //0x0028
}; //Size: 0x0030

class m_pSkeletonRootJoin
{
public:
        char pad_0000[40]; //0x0000
        class BoneEnumerator *m_pBoneEnumerator; //0x0028
}; //Size: 0x0030

class BoneEnumerator
{
public:
        char pad_0000[16]; //0x0000
        class TransformArray *m_pTransformArray; //0x0010
}; //Size: 0x0018

class TransformArray
{
public:
        char pad_0000[8]; //0x0000
}; //Size: 0x0008

class PlayerProfile
{
public:
        char pad_0000[16]; //0x0000
        class UnityEngineString *m_pPlayerId; //0x0010
        char pad_0018[16]; //0x0018
        class PlayerInfo *m_PlayerInfo; //0x0028
        char pad_0030[16]; //0x0030
        class PlayerHealth *m_pHealth; //0x0040
        class Inventory *m_pInventory; //0x0048
}; //Size: 0x0050

class PlayerInfo
{
public:
        char pad_0000[16]; //0x0000
        class UnityEngineString *m_pPlayerName; //0x0010
        char pad_0018[60]; //0x0018
        int32_t CreationDate; //0x0054
}; //Size: 0x0058

class UnityEngineString
{
public:
        char pad_0000[16]; //0x0000
        int32_t size; //0x0010
        wchar_t name[24]; //0x0014
}; //Size: 0x0044

class HealthController // _healthController
{
public:
        char pad_0000[24]; //0x0000
        class HealthBody *m_pHealthBody; //0x0018
}; //Size: 0x0020

class HealthBody
{
public:
        char pad_0000[40]; //0x0000
        class BodyController *m_pBodyController; //0x0028
}; //Size: 0x0030

class BodyController
{
public:
        char pad_0000[32]; //0x0000
        class HealthContainer *m_pHealthHead; //0x0020
        class HealthContainer *m_pHealthThorax; //0x0028
        class HealthContainer *m_pHealthStomach; //0x0030
        class HealthContainer *m_pHealthLeftArm; //0x0038
        class HealthContainer *m_pHealthRightArm; //0x0040
        class HealthContainer *m_pHealthLeftLeg; //0x0048
        class HealthContainer *m_pHealthRightLeg; //0x0050
}; //Size: 0x0058

class HealthContainer
{
public:
        char pad_0000[16]; //0x0000
        class Health *m_pHealth; //0x0010
}; //Size: 0x0018

class Health
{
public:
        char pad_0000[16]; //0x0000
        float Health; //0x0010
        float HealthMax; //0x0014
}; //Size: 0x0018

class PlayerHealth
{
public:
        char pad_0000[24]; //0x0000
        class HealthInfo *m_playerHealthInfo; //0x0018
}; //Size: 0x0020

class HealthInfo
{
public:
        char pad_0000[16]; //0x0000
        float Health; //0x0010
        float MaxHealth; //0x0014
}; //Size: 0x0018

class CameraContainer
{
public:
        char pad_0000[56]; //0x0000
        class CameraPosition *m_pCameraPosition; //0x0038
}; //Size: 0x0040

class CameraPosition
{
public:
        char pad_0000[176]; //0x0000
        Vector3 cameraPosition; //0x00B0
        char pad_00BC[4]; //0x00BC
        Vector4 cameraRotation; //0x00C0
}; //Size: 0x00D0

class ArrayItems
{
public:
        char pad_0000[16]; //0x0000
        class ItemList *m_pItemList; //0x0010
        int32_t Count; //0x0018
        int32_t MaxCout; //0x001C
}; //Size: 0x0020

class ItemList
{
public:
        char pad_0000[32]; //0x0000
        class Item *m_pFirstItem; //0x0020
        class Item *m_pSecondItem; //0x0028
}; //Size: 0x0030

class Item
{
public:
        char pad_0000[16]; //0x0000
        class ItemProfile *m_pItemProfile; //0x0010
}; //Size: 0x0018

class ItemProfile
{
public:
        char pad_0000[40]; //0x0000
        class ItemStats *m_pItemStats; //0x0028
        class ItemBasicInformation *m_pItemInformation; //0x0030
}; //Size: 0x0038

class ItemBasicInformation
{
public:
        char pad_0000[48]; //0x0000
        class ItemLocalization *m_pItemLocalization; //0x0030
        char pad_0038[40]; //0x0038
        char *ItemPatName; //0x0060
}; //Size: 0x0068

class ItemLocalization
{
public:
        char pad_0000[8]; //0x0000
        class ItemCoordinates *m_pItemCoordinates; //0x0008
}; //Size: 0x0010

class ItemCoordinates
{
public:
        char pad_0000[56]; //0x0000
        class ItemLocationContainer *m_pItemLocationContainer; //0x0038
}; //Size: 0x0040

class ItemLocationContainer
{
public:
        char pad_0000[176]; //0x0000
        Vector3 ItemPosition; //0x00B0
}; //Size: 0x00BC

class Inventory
{
public:
        char pad_0000[48]; //0x0000
        class FastAccess *m_pFastAccess; //0x0030
}; //Size: 0x0038

class FastAccess
{
public:
        char pad_0000[16]; //0x0000
        class BoundCells *m_BoundCells; //0x0010
}; //Size: 0x0018

class BoundCells
{
public:
        char pad_0000[40]; //0x0000
        class m_pDictionaryItems *m_pInventoryDicionatinary; //0x0028
}; //Size: 0x0030

class m_pDictionaryItems
{
public:
        char pad_0000[32]; //0x0000
        class Weapon *Knife; //0x0020
        class Weapon *Pistol; //0x0028
        class Weapon *FirstWeapon; //0x0030
        class Weapon *SecondWeapon; //0x0038
}; //Size: 0x0040

class Weapon
{
public:
        char pad_0000[32]; //0x0000
        class WeaponDetails *m_pWeaponDetails; //0x0020
}; //Size: 0x0028

class WeaponDetails
{
public:
        char pad_0000[32]; //0x0000
        class WeaponNameInfo *m_pWeaponNameInfo; //0x0020
}; //Size: 0x0028

class WeaponNameInfo
{
public:
        char pad_0000[16]; //0x0000
        class UnityEngineString *Name; //0x0010
        char pad_0018[16]; //0x0018
        class UnityEngineString *NameType; //0x0028
}; //Size: 0x0030

class ProceduralWeaponAnimation
{
public:
        char pad_0000[40]; //0x0000
        class BreathEffector *m_pBreath; //0x0028
        char pad_0030[24]; //0x0030
        class ShotEffector *m_pShootingg; //0x0048
        char pad_0050[56]; //0x0050
        class OpticSight *m_pOpticSightArray; //0x0088
        char pad_0090[80]; //0x0090
        int32_t Mask; //0x00E0 Write zero for no-recoil / no - sway
        char pad_00E4[40]; //0x00E4
        float CameraSmoothTime; //0x010C
        char pad_0110[188]; //0x0110
        float CameraSmoothSteady; //0x01CC
}; //Size: 0x01D0

class ItemStats
{
public:
        char pad_0000[80]; //0x0000
        class StatsNames *m_pStatsNames; //0x0050
}; //Size: 0x0058

class StatsNames
{
public:
        char pad_0000[32]; //0x0000
        class ItemNames *m_pItemNames; //0x0020
}; //Size: 0x0028

class ItemNames
{
public:
        char pad_0000[80]; //0x0000
        class UnityEngineString *m_pItemHashIdentifier; //0x0050
        char pad_0058[8]; //0x0058
        class UnityEngineString *m_pParentHashIdentifier; //0x0060
}; //Size: 0x0068

class OpticSight
{
public:
        char pad_0000[32]; //0x0000
        class UnityCamera *m_pCamera; //0x0020
}; //Size: 0x0028

class UnityCamera
{
public:
        char pad_0000[40]; //0x0000
        class CameraRaw *m_pCameraRaw; //0x0028
}; //Size: 0x0030

class BreathEffector
{
public:
        char pad_0000[136]; //0x0000
        bool IsAiming; //0x0088
        char pad_0089[3]; //0x0089
        float Intensity; //0x008C
}; //Size: 0x0090

class ShotEffector
{
public:
        char pad_0000[104]; //0x0000
        float Intensity; //0x0068
}; //Size: 0x006C

class CameraRaw
{
public:
        char pad_0000[48]; //0x0000
        class CameraEntity *m_pCameraEntity; //0x0030
}; //Size: 0x0038

class PlayerId
{
public:
        char pad_0000[16]; //0x0000
        int32_t N000007E4; //0x0010
        wchar_t N000007F5[24]; //0x0014
        char pad_0044[112]; //0x0044
}; //Size: 0x00B4

class LocalPlayerChecker
{
public:
        char pad_0000[8]; //0x0000
}; //Size: 0x0008


HELOHELO121 25th December 2019 01:00 AM

Is using mouse_event for an aimbot in an external cheat safe? (ik there's better ways to do it with viewangles but I'm mathematically retarded) I've heard some people say it gets you banned but I've also heard others say GetAsyncKeyState gets you banned and I've been using it for months.

MasterScuzee 25th December 2019 01:21 AM

Quote:

Originally Posted by HELOHELO121 (Post 2651500)
~

I mean there definitely are better ways to do this, but I never had issues with my mouse_event Aimbot in BE games.

Respecter 25th December 2019 06:26 AM

Quote:

Originally Posted by HELOHELO121 (Post 2651500)
Is using mouse_event for an aimbot in an external cheat safe? (ik there's better ways to do it with viewangles but I'm mathematically retarded) I've heard some people say it gets you banned but I've also heard others say GetAsyncKeyState gets you banned and I've been using it for months.

The only fucking problem is that the crosshair or the shit aim itself it�s not fucking centered, it�s so annoy

bongobangobengo 25th December 2019 03:40 PM

Quote:

Originally Posted by Respecter (Post 2651221)
Code:

GetPos
UnityPlayer+0xc09a20
E8 ? ? ? ? F2 0F 10 38


Code:

GOM
UnityPlayer+0x15181E8
E8 ? ? ? ? 4C 8B C8 48 8B 50 08




24/12
Code:

// Created with ReClass.NET 1.2 by KN4CK3R

class LOCALGAMEWORLD // Aka LocalGameWorld
{
public:
char pad_0000[48]; //0x0000
class UnityEngineString *m_LocalPlayerID; //0x0030
char pad_0038[16]; //0x0038
class ArrayItems *m_pItemList; //0x0048
char pad_0050[24]; //0x0050
class Array *m_pPlayerList; //0x0068
}; //Size: 0x0070

class Array
{
public:
char pad_0000[16]; //0x0000
class List *m_pList; //0x0010
int32_t Count; //0x0018
int32_t MaxCount; //0x001C
}; //Size: 0x0020

class List
{
public:
char pad_0000[32]; //0x0000
class Player *m_pFirstEntity; //0x0020
class Player *m_pSecondPlayer; //0x0028
class Player *N00000819; //0x0030
class Player *N0000081A; //0x0038
class Player *N0000081B; //0x0040
class Player *N0000081C; //0x0048
char pad_0050[1056]; //0x0050
}; //Size: 0x0470

class Player
{
public:
char pad_0000[24]; //0x0000
class LocalPlayerChecker *m_pLocalPlayerChecker; //0x0018
char pad_0020[24]; //0x0020
class MovementContext *m_pMovementContext; //0x0038
char pad_0040[48]; //0x0040
class ProceduralWeaponAnimation *m_pProceduralWeaponAnimation; //0x0070
char pad_0078[16]; //0x0078
class PlayerBody *m_pPlayerBody; //0x0088
char pad_0090[784]; //0x0090
class PlayerProfile *m_pPlayerProfile; //0x03A0
char pad_03A8[40]; //0x03A8
class HealthController *m_pHealthController; //0x03D0
}; //Size: 0x03D8

class MovementContext
{
public:
char pad_0000[464]; //0x0000
Vector2 ViewAngles; //0x01D0
Vector2 ViewAngles2; //0x01D8
Vector3 LocalPosition; //0x01E0
}; //Size: 0x01EC

class CAMERA // Aka FPS Camera
{
public:
char pad_0000[48]; //0x0000
class FPSCamera *m_pFpsCamera; //0x0030
}; //Size: 0x0038

class FPSCamera
{
public:
char pad_0000[48]; //0x0000
class CameraObject *m_pCameraObject; //0x0030
char pad_0038[40]; //0x0038
char *ObjectName; //0x0060
}; //Size: 0x0068

class CameraObject
{
public:
char pad_0000[8]; //0x0000
class CameraContainer *m_pCameraContainer; //0x0008
char pad_0010[8]; //0x0010
class CameraEntity *m_pCameraEntity; //0x0018
}; //Size: 0x0020

class CameraEntity
{
public:
char pad_0000[88]; //0x0000
Matrix4x4 ViewMatrix0; //0x0058
char pad_0098[64]; //0x0098
Matrix4x4 ViewMatrix; //0x00D8
}; //Size: 0x0118

class PlayerBody
{
public:
char pad_0000[40]; //0x0000
class m_pSkeletonRootJoin *m_pSkeletonRootJoin; //0x0028
}; //Size: 0x0030

class m_pSkeletonRootJoin
{
public:
char pad_0000[40]; //0x0000
class BoneEnumerator *m_pBoneEnumerator; //0x0028
}; //Size: 0x0030

class BoneEnumerator
{
public:
char pad_0000[16]; //0x0000
class TransformArray *m_pTransformArray; //0x0010
}; //Size: 0x0018

class TransformArray
{
public:
char pad_0000[8]; //0x0000
}; //Size: 0x0008

class PlayerProfile
{
public:
char pad_0000[16]; //0x0000
class UnityEngineString *m_pPlayerId; //0x0010
char pad_0018[16]; //0x0018
class PlayerInfo *m_PlayerInfo; //0x0028
char pad_0030[16]; //0x0030
class PlayerHealth *m_pHealth; //0x0040
class Inventory *m_pInventory; //0x0048
}; //Size: 0x0050

class PlayerInfo
{
public:
char pad_0000[16]; //0x0000
class UnityEngineString *m_pPlayerName; //0x0010
char pad_0018[60]; //0x0018
int32_t CreationDate; //0x0054
}; //Size: 0x0058

class UnityEngineString
{
public:
char pad_0000[16]; //0x0000
int32_t size; //0x0010
wchar_t name[24]; //0x0014
}; //Size: 0x0044

class HealthController // _healthController
{
public:
char pad_0000[24]; //0x0000
class HealthBody *m_pHealthBody; //0x0018
}; //Size: 0x0020

class HealthBody
{
public:
char pad_0000[40]; //0x0000
class BodyController *m_pBodyController; //0x0028
}; //Size: 0x0030

class BodyController
{
public:
char pad_0000[32]; //0x0000
class HealthContainer *m_pHealthHead; //0x0020
class HealthContainer *m_pHealthThorax; //0x0028
class HealthContainer *m_pHealthStomach; //0x0030
class HealthContainer *m_pHealthLeftArm; //0x0038
class HealthContainer *m_pHealthRightArm; //0x0040
class HealthContainer *m_pHealthLeftLeg; //0x0048
class HealthContainer *m_pHealthRightLeg; //0x0050
}; //Size: 0x0058

class HealthContainer
{
public:
char pad_0000[16]; //0x0000
class Health *m_pHealth; //0x0010
}; //Size: 0x0018

class Health
{
public:
char pad_0000[16]; //0x0000
float Health; //0x0010
float HealthMax; //0x0014
}; //Size: 0x0018

class PlayerHealth
{
public:
char pad_0000[24]; //0x0000
class HealthInfo *m_playerHealthInfo; //0x0018
}; //Size: 0x0020

class HealthInfo
{
public:
char pad_0000[16]; //0x0000
float Health; //0x0010
float MaxHealth; //0x0014
}; //Size: 0x0018

class CameraContainer
{
public:
char pad_0000[56]; //0x0000
class CameraPosition *m_pCameraPosition; //0x0038
}; //Size: 0x0040

class CameraPosition
{
public:
char pad_0000[176]; //0x0000
Vector3 cameraPosition; //0x00B0
char pad_00BC[4]; //0x00BC
Vector4 cameraRotation; //0x00C0
}; //Size: 0x00D0

class ArrayItems
{
public:
char pad_0000[16]; //0x0000
class ItemList *m_pItemList; //0x0010
int32_t Count; //0x0018
int32_t MaxCout; //0x001C
}; //Size: 0x0020

class ItemList
{
public:
char pad_0000[32]; //0x0000
class Item *m_pFirstItem; //0x0020
class Item *m_pSecondItem; //0x0028
}; //Size: 0x0030

class Item
{
public:
char pad_0000[16]; //0x0000
class ItemProfile *m_pItemProfile; //0x0010
}; //Size: 0x0018

class ItemProfile
{
public:
char pad_0000[40]; //0x0000
class ItemStats *m_pItemStats; //0x0028
class ItemBasicInformation *m_pItemInformation; //0x0030
}; //Size: 0x0038

class ItemBasicInformation
{
public:
char pad_0000[48]; //0x0000
class ItemLocalization *m_pItemLocalization; //0x0030
char pad_0038[40]; //0x0038
char *ItemPatName; //0x0060
}; //Size: 0x0068

class ItemLocalization
{
public:
char pad_0000[8]; //0x0000
class ItemCoordinates *m_pItemCoordinates; //0x0008
}; //Size: 0x0010

class ItemCoordinates
{
public:
char pad_0000[56]; //0x0000
class ItemLocationContainer *m_pItemLocationContainer; //0x0038
}; //Size: 0x0040

class ItemLocationContainer
{
public:
char pad_0000[176]; //0x0000
Vector3 ItemPosition; //0x00B0
}; //Size: 0x00BC

class Inventory
{
public:
char pad_0000[48]; //0x0000
class FastAccess *m_pFastAccess; //0x0030
}; //Size: 0x0038

class FastAccess
{
public:
char pad_0000[16]; //0x0000
class BoundCells *m_BoundCells; //0x0010
}; //Size: 0x0018

class BoundCells
{
public:
char pad_0000[40]; //0x0000
class m_pDictionaryItems *m_pInventoryDicionatinary; //0x0028
}; //Size: 0x0030

class m_pDictionaryItems
{
public:
char pad_0000[32]; //0x0000
class Weapon *Knife; //0x0020
class Weapon *Pistol; //0x0028
class Weapon *FirstWeapon; //0x0030
class Weapon *SecondWeapon; //0x0038
}; //Size: 0x0040

class Weapon
{
public:
char pad_0000[32]; //0x0000
class WeaponDetails *m_pWeaponDetails; //0x0020
}; //Size: 0x0028

class WeaponDetails
{
public:
char pad_0000[32]; //0x0000
class WeaponNameInfo *m_pWeaponNameInfo; //0x0020
}; //Size: 0x0028

class WeaponNameInfo
{
public:
char pad_0000[16]; //0x0000
class UnityEngineString *Name; //0x0010
char pad_0018[16]; //0x0018
class UnityEngineString *NameType; //0x0028
}; //Size: 0x0030

class ProceduralWeaponAnimation
{
public:
char pad_0000[40]; //0x0000
class BreathEffector *m_pBreath; //0x0028
char pad_0030[24]; //0x0030
class ShotEffector *m_pShootingg; //0x0048
char pad_0050[56]; //0x0050
class OpticSight *m_pOpticSightArray; //0x0088
char pad_0090[80]; //0x0090
int32_t Mask; //0x00E0 Write zero for no-recoil / no - sway
char pad_00E4[40]; //0x00E4
float CameraSmoothTime; //0x010C
char pad_0110[188]; //0x0110
float CameraSmoothSteady; //0x01CC
}; //Size: 0x01D0

class ItemStats
{
public:
char pad_0000[80]; //0x0000
class StatsNames *m_pStatsNames; //0x0050
}; //Size: 0x0058

class StatsNames
{
public:
char pad_0000[32]; //0x0000
class ItemNames *m_pItemNames; //0x0020
}; //Size: 0x0028

class ItemNames
{
public:
char pad_0000[80]; //0x0000
class UnityEngineString *m_pItemHashIdentifier; //0x0050
char pad_0058[8]; //0x0058
class UnityEngineString *m_pParentHashIdentifier; //0x0060
}; //Size: 0x0068

class OpticSight
{
public:
char pad_0000[32]; //0x0000
class UnityCamera *m_pCamera; //0x0020
}; //Size: 0x0028

class UnityCamera
{
public:
char pad_0000[40]; //0x0000
class CameraRaw *m_pCameraRaw; //0x0028
}; //Size: 0x0030

class BreathEffector
{
public:
char pad_0000[136]; //0x0000
bool IsAiming; //0x0088
char pad_0089[3]; //0x0089
float Intensity; //0x008C
}; //Size: 0x0090

class ShotEffector
{
public:
char pad_0000[104]; //0x0000
float Intensity; //0x0068
}; //Size: 0x006C

class CameraRaw
{
public:
char pad_0000[48]; //0x0000
class CameraEntity *m_pCameraEntity; //0x0030
}; //Size: 0x0038

class PlayerId
{
public:
char pad_0000[16]; //0x0000
int32_t N000007E4; //0x0010
wchar_t N000007F5[24]; //0x0014
char pad_0044[112]; //0x0044
}; //Size: 0x00B4

class LocalPlayerChecker
{
public:
char pad_0000[8]; //0x0000
}; //Size: 0x0008


Thank you!

But has anyone having problems with the "new" GOM offset? I'm having troubles finding the local game world :(

Inviato dal mio MI 9 Transparent Edition utilizzando Tapatalk

Xyox 25th December 2019 05:14 PM

Quote:

Originally Posted by bongobangobengo (Post 2651844)
Thank you!

But has anyone having problems with the "new" GOM offset? I'm having troubles finding the local game world :(

Inviato dal mio MI 9 Transparent Edition utilizzando Tapatalk

Using GOM offset posted above and everything works.
Finding GameWorld and LocalGameWorld offsets did not change so you probably have some error in your code...

HELOHELO121 26th December 2019 12:52 AM

Anyone have the updated chain for getting the position of an object that inherits MonoBehaviour? I tried using
Code:

throwableAddress + 0x10] + 0x30] + 0x30] + 0x8] + 0x38] + 0x90]
to get the pos of a throwable but it's not working.

Quote:

Originally Posted by Respecter (Post 2651609)
The only fucking problem is that the crosshair or the shit aim itself it�s not fucking centered, it�s so annoy

Not if you break the animations


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

amikai666 27th December 2019 08:11 AM

ObjectsManager - 48 8B 15 ? ? ? ? 66 39

someone made a visible check?

HELOHELO121 27th December 2019 08:30 PM

Anyone have the updated GOM?

liquidace 27th December 2019 10:08 PM

it didnt change

HELOHELO121 27th December 2019 10:23 PM

Quote:

Originally Posted by liquidace (Post 2653627)
it didnt change

Got it, problem on my end

BunnuB 30th December 2019 06:10 AM

i dont know how to use GOM ( im so sorry cause im so new to every thing that using code,html and things) im so appreciate if you read this thank you sir

K2o 30th December 2019 06:46 AM

Quote:

Originally Posted by Respecter (Post 2651221)
Code:

GetPos
UnityPlayer+0xc09a20
E8 ? ? ? ? F2 0F 10 38


Code:

GOM
UnityPlayer+0x15181E8
E8 ? ? ? ? 4C 8B C8 48 8B 50 08




24/12
Code:

// Created with ReClass.NET 1.2 by KN4CK3R

class LOCALGAMEWORLD // Aka LocalGameWorld
{
public:
        char pad_0000[48]; //0x0000
        class UnityEngineString *m_LocalPlayerID; //0x0030
        char pad_0038[16]; //0x0038
        class ArrayItems *m_pItemList; //0x0048
        char pad_0050[24]; //0x0050
        class Array *m_pPlayerList; //0x0068
}; //Size: 0x0070

class Array
{
public:
        char pad_0000[16]; //0x0000
        class List *m_pList; //0x0010
        int32_t Count; //0x0018
        int32_t MaxCount; //0x001C
}; //Size: 0x0020

class List
{
public:
        char pad_0000[32]; //0x0000
        class Player *m_pFirstEntity; //0x0020
        class Player *m_pSecondPlayer; //0x0028
        class Player *N00000819; //0x0030
        class Player *N0000081A; //0x0038
        class Player *N0000081B; //0x0040
        class Player *N0000081C; //0x0048
        char pad_0050[1056]; //0x0050
}; //Size: 0x0470

class Player
{
public:
        char pad_0000[24]; //0x0000
        class LocalPlayerChecker *m_pLocalPlayerChecker; //0x0018
        char pad_0020[24]; //0x0020
        class MovementContext *m_pMovementContext; //0x0038
        char pad_0040[48]; //0x0040
        class ProceduralWeaponAnimation *m_pProceduralWeaponAnimation; //0x0070
        char pad_0078[16]; //0x0078
        class PlayerBody *m_pPlayerBody; //0x0088
        char pad_0090[784]; //0x0090
        class PlayerProfile *m_pPlayerProfile; //0x03A0
        char pad_03A8[40]; //0x03A8
        class HealthController *m_pHealthController; //0x03D0
}; //Size: 0x03D8

class MovementContext
{
public:
        char pad_0000[464]; //0x0000
        Vector2 ViewAngles; //0x01D0
        Vector2 ViewAngles2; //0x01D8
        Vector3 LocalPosition; //0x01E0
}; //Size: 0x01EC

class CAMERA // Aka FPS Camera
{
public:
        char pad_0000[48]; //0x0000
        class FPSCamera *m_pFpsCamera; //0x0030
}; //Size: 0x0038

class FPSCamera
{
public:
        char pad_0000[48]; //0x0000
        class CameraObject *m_pCameraObject; //0x0030
        char pad_0038[40]; //0x0038
        char *ObjectName; //0x0060
}; //Size: 0x0068

class CameraObject
{
public:
        char pad_0000[8]; //0x0000
        class CameraContainer *m_pCameraContainer; //0x0008
        char pad_0010[8]; //0x0010
        class CameraEntity *m_pCameraEntity; //0x0018
}; //Size: 0x0020

class CameraEntity
{
public:
        char pad_0000[88]; //0x0000
        Matrix4x4 ViewMatrix0; //0x0058
        char pad_0098[64]; //0x0098
        Matrix4x4 ViewMatrix; //0x00D8
}; //Size: 0x0118

class PlayerBody
{
public:
        char pad_0000[40]; //0x0000
        class m_pSkeletonRootJoin *m_pSkeletonRootJoin; //0x0028
}; //Size: 0x0030

class m_pSkeletonRootJoin
{
public:
        char pad_0000[40]; //0x0000
        class BoneEnumerator *m_pBoneEnumerator; //0x0028
}; //Size: 0x0030

class BoneEnumerator
{
public:
        char pad_0000[16]; //0x0000
        class TransformArray *m_pTransformArray; //0x0010
}; //Size: 0x0018

class TransformArray
{
public:
        char pad_0000[8]; //0x0000
}; //Size: 0x0008

class PlayerProfile
{
public:
        char pad_0000[16]; //0x0000
        class UnityEngineString *m_pPlayerId; //0x0010
        char pad_0018[16]; //0x0018
        class PlayerInfo *m_PlayerInfo; //0x0028
        char pad_0030[16]; //0x0030
        class PlayerHealth *m_pHealth; //0x0040
        class Inventory *m_pInventory; //0x0048
}; //Size: 0x0050

class PlayerInfo
{
public:
        char pad_0000[16]; //0x0000
        class UnityEngineString *m_pPlayerName; //0x0010
        char pad_0018[60]; //0x0018
        int32_t CreationDate; //0x0054
}; //Size: 0x0058

class UnityEngineString
{
public:
        char pad_0000[16]; //0x0000
        int32_t size; //0x0010
        wchar_t name[24]; //0x0014
}; //Size: 0x0044

class HealthController // _healthController
{
public:
        char pad_0000[24]; //0x0000
        class HealthBody *m_pHealthBody; //0x0018
}; //Size: 0x0020

class HealthBody
{
public:
        char pad_0000[40]; //0x0000
        class BodyController *m_pBodyController; //0x0028
}; //Size: 0x0030

class BodyController
{
public:
        char pad_0000[32]; //0x0000
        class HealthContainer *m_pHealthHead; //0x0020
        class HealthContainer *m_pHealthThorax; //0x0028
        class HealthContainer *m_pHealthStomach; //0x0030
        class HealthContainer *m_pHealthLeftArm; //0x0038
        class HealthContainer *m_pHealthRightArm; //0x0040
        class HealthContainer *m_pHealthLeftLeg; //0x0048
        class HealthContainer *m_pHealthRightLeg; //0x0050
}; //Size: 0x0058

class HealthContainer
{
public:
        char pad_0000[16]; //0x0000
        class Health *m_pHealth; //0x0010
}; //Size: 0x0018

class Health
{
public:
        char pad_0000[16]; //0x0000
        float Health; //0x0010
        float HealthMax; //0x0014
}; //Size: 0x0018

class PlayerHealth
{
public:
        char pad_0000[24]; //0x0000
        class HealthInfo *m_playerHealthInfo; //0x0018
}; //Size: 0x0020

class HealthInfo
{
public:
        char pad_0000[16]; //0x0000
        float Health; //0x0010
        float MaxHealth; //0x0014
}; //Size: 0x0018

class CameraContainer
{
public:
        char pad_0000[56]; //0x0000
        class CameraPosition *m_pCameraPosition; //0x0038
}; //Size: 0x0040

class CameraPosition
{
public:
        char pad_0000[176]; //0x0000
        Vector3 cameraPosition; //0x00B0
        char pad_00BC[4]; //0x00BC
        Vector4 cameraRotation; //0x00C0
}; //Size: 0x00D0

class ArrayItems
{
public:
        char pad_0000[16]; //0x0000
        class ItemList *m_pItemList; //0x0010
        int32_t Count; //0x0018
        int32_t MaxCout; //0x001C
}; //Size: 0x0020

class ItemList
{
public:
        char pad_0000[32]; //0x0000
        class Item *m_pFirstItem; //0x0020
        class Item *m_pSecondItem; //0x0028
}; //Size: 0x0030

class Item
{
public:
        char pad_0000[16]; //0x0000
        class ItemProfile *m_pItemProfile; //0x0010
}; //Size: 0x0018

class ItemProfile
{
public:
        char pad_0000[40]; //0x0000
        class ItemStats *m_pItemStats; //0x0028
        class ItemBasicInformation *m_pItemInformation; //0x0030
}; //Size: 0x0038

class ItemBasicInformation
{
public:
        char pad_0000[48]; //0x0000
        class ItemLocalization *m_pItemLocalization; //0x0030
        char pad_0038[40]; //0x0038
        char *ItemPatName; //0x0060
}; //Size: 0x0068

class ItemLocalization
{
public:
        char pad_0000[8]; //0x0000
        class ItemCoordinates *m_pItemCoordinates; //0x0008
}; //Size: 0x0010

class ItemCoordinates
{
public:
        char pad_0000[56]; //0x0000
        class ItemLocationContainer *m_pItemLocationContainer; //0x0038
}; //Size: 0x0040

class ItemLocationContainer
{
public:
        char pad_0000[176]; //0x0000
        Vector3 ItemPosition; //0x00B0
}; //Size: 0x00BC

class Inventory
{
public:
        char pad_0000[48]; //0x0000
        class FastAccess *m_pFastAccess; //0x0030
}; //Size: 0x0038

class FastAccess
{
public:
        char pad_0000[16]; //0x0000
        class BoundCells *m_BoundCells; //0x0010
}; //Size: 0x0018

class BoundCells
{
public:
        char pad_0000[40]; //0x0000
        class m_pDictionaryItems *m_pInventoryDicionatinary; //0x0028
}; //Size: 0x0030

class m_pDictionaryItems
{
public:
        char pad_0000[32]; //0x0000
        class Weapon *Knife; //0x0020
        class Weapon *Pistol; //0x0028
        class Weapon *FirstWeapon; //0x0030
        class Weapon *SecondWeapon; //0x0038
}; //Size: 0x0040

class Weapon
{
public:
        char pad_0000[32]; //0x0000
        class WeaponDetails *m_pWeaponDetails; //0x0020
}; //Size: 0x0028

class WeaponDetails
{
public:
        char pad_0000[32]; //0x0000
        class WeaponNameInfo *m_pWeaponNameInfo; //0x0020
}; //Size: 0x0028

class WeaponNameInfo
{
public:
        char pad_0000[16]; //0x0000
        class UnityEngineString *Name; //0x0010
        char pad_0018[16]; //0x0018
        class UnityEngineString *NameType; //0x0028
}; //Size: 0x0030

class ProceduralWeaponAnimation
{
public:
        char pad_0000[40]; //0x0000
        class BreathEffector *m_pBreath; //0x0028
        char pad_0030[24]; //0x0030
        class ShotEffector *m_pShootingg; //0x0048
        char pad_0050[56]; //0x0050
        class OpticSight *m_pOpticSightArray; //0x0088
        char pad_0090[80]; //0x0090
        int32_t Mask; //0x00E0 Write zero for no-recoil / no - sway
        char pad_00E4[40]; //0x00E4
        float CameraSmoothTime; //0x010C
        char pad_0110[188]; //0x0110
        float CameraSmoothSteady; //0x01CC
}; //Size: 0x01D0

class ItemStats
{
public:
        char pad_0000[80]; //0x0000
        class StatsNames *m_pStatsNames; //0x0050
}; //Size: 0x0058

class StatsNames
{
public:
        char pad_0000[32]; //0x0000
        class ItemNames *m_pItemNames; //0x0020
}; //Size: 0x0028

class ItemNames
{
public:
        char pad_0000[80]; //0x0000
        class UnityEngineString *m_pItemHashIdentifier; //0x0050
        char pad_0058[8]; //0x0058
        class UnityEngineString *m_pParentHashIdentifier; //0x0060
}; //Size: 0x0068

class OpticSight
{
public:
        char pad_0000[32]; //0x0000
        class UnityCamera *m_pCamera; //0x0020
}; //Size: 0x0028

class UnityCamera
{
public:
        char pad_0000[40]; //0x0000
        class CameraRaw *m_pCameraRaw; //0x0028
}; //Size: 0x0030

class BreathEffector
{
public:
        char pad_0000[136]; //0x0000
        bool IsAiming; //0x0088
        char pad_0089[3]; //0x0089
        float Intensity; //0x008C
}; //Size: 0x0090

class ShotEffector
{
public:
        char pad_0000[104]; //0x0000
        float Intensity; //0x0068
}; //Size: 0x006C

class CameraRaw
{
public:
        char pad_0000[48]; //0x0000
        class CameraEntity *m_pCameraEntity; //0x0030
}; //Size: 0x0038

class PlayerId
{
public:
        char pad_0000[16]; //0x0000
        int32_t N000007E4; //0x0010
        wchar_t N000007F5[24]; //0x0014
        char pad_0044[112]; //0x0044
}; //Size: 0x00B4

class LocalPlayerChecker
{
public:
        char pad_0000[8]; //0x0000
}; //Size: 0x0008


+rep ty :flirt:

Xyox 1st January 2020 03:58 PM

EDIT: nvm, i had the scale a little off... it's precise af now

https://i.imgur.com/oJqzb4T.gif

Anyone who made a 2d radar with underlaying game map got the players position to be precise on the map (across the entire map)?

I tried on factory using a screenshot of the factory map that Therapist sells.
I went on factory in the room behind forklift/machinery, i put the map under my radar and scaled it down so that when walking from one side of the room to the other i would see my player do exactly the same on my radar.

Problem is that while on that side of the map it works perfect, the farther i go from that room the more screwed up positions get, if i go to the barrels spawn for example on the radar i see that i'm outside the wall...

I thought maybe the official 2d maps were not proportionate to the actual in game 3d maps.
So i exported 3d maps from the game, loaded customs inside unity editor and made my own 2d map.

Tried to use that on customs same as i did on factory but still the same problem persists...

I'm using the same coordinates system the game uses to draw inside my radar, meaning that if the player is at position (10, 20) on the horizontal plane, my radar would display it at (10, 20) from the origin on my radar so that shouldn't be a problem.

TommyHoogstra 2nd January 2020 03:10 PM

Trying to get started here, do I need to get the base address of UnityPlayer.dll, or is the exe base fine? My FindPattern for GOM returns the same address as using the offset, but I cant seem to get object names

Code:

        GOM = GetObjectManager();
        uint64_t activeObject = driver->RPM<uint64_t>(GOM + 0x18);

        for (int i = 0; i < 500; i++) {
                uint64_t nextObj = driver->RPM<uint64_t>(activeObject + 0x8);
                uint64_t nextGameObj = driver->RPM<uint64_t>(activeObject + 0x10);
                char name[256];
                driver->RPM2(nextGameObj + 0x60, &name, 256);
                std::cout << std::string(name) << std::endl;
                activeObject = nextObj;

        }

Code:

uint64_t GetObjectManager() {
       
        return driver->RPM<uint64_t>(baseAddress + 0x15181E8);
}

Currently looping 500 and all strings are empty, am I missing something?
Tried a few variations based on replies in this thread

HELOHELO121 2nd January 2020 07:19 PM

Quote:

Originally Posted by TommyHoogstra (Post 2657994)
Trying to get started here, do I need to get the base address of UnityPlayer.dll, or is the exe base fine? My FindPattern for GOM returns the same address as using the offset, but I cant seem to get object names

Code:

        GOM = GetObjectManager();
        uint64_t activeObject = driver->RPM<uint64_t>(GOM + 0x18);

        for (int i = 0; i < 500; i++) {
                uint64_t nextObj = driver->RPM<uint64_t>(activeObject + 0x8);
                uint64_t nextGameObj = driver->RPM<uint64_t>(activeObject + 0x10);
                char name[256];
                driver->RPM2(nextGameObj + 0x60, &name, 256);
                std::cout << std::string(name) << std::endl;
                activeObject = nextObj;

        }

Code:

uint64_t GetObjectManager() {
       
        return driver->RPM<uint64_t>(baseAddress + 0x15181E8);
}

Currently looping 500 and all strings are empty, am I missing something?
Tried a few variations based on replies in this thread

You need to get the base address of "UnityPlayer.dll". If your cheat is in kernelmode, this function works great https://www.unknowncheats.me/forum/1554018-post4.html

TommyHoogstra 3rd January 2020 03:12 AM

Quote:

Originally Posted by HELOHELO121 (Post 2658197)
You need to get the base address of "UnityPlayer.dll". If your cheat is in kernelmode, this function works great https://www.unknowncheats.me/forum/1554018-post4.html

Just what I needed, thanks

Quote:

Originally Posted by HELOHELO121 (Post 2658197)
You need to get the base address of "UnityPlayer.dll". If your cheat is in kernelmode, this function works great https://www.unknowncheats.me/forum/1554018-post4.html

Alright, so I have the correct base address now (double checked with Process Hacker), and getting some output but it is completely wrong (as far as I can tell).

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

Tried changing a few things around but always ended with the same sort of thing.

Code:

        GOM = GetObjectManager() ;
       
        uint64_t activeObject = driver->RPM<uint64_t>(GOM + 0x18);

        for (int i = 0; i < 5000; i++) {
                uint64_t nextObj = driver->RPM<uint64_t>(activeObject + 0x8);
                uint64_t nextGameObj = driver->RPM<uint64_t >(activeObject + 0x10);
                char name[256];
                driver->RPM2(nextGameObj + 0x60, &name, 256);
                std::cout << std::string(name) << std::endl;
                activeObject = nextObj;

        }

I tried changing the RPM to something else that would work, and got the same result also.

My find pattern stopped working after I got the new base address, might be related? Currently just using the offset driver->RPM<uint64_t>(baseAddress + 0x15181E8)

Any ideas?


Edit: Turns out I had to dereference the name

testName name = driver->RPM<testName>(driver->RPM<uint64_t>(nextGameObj + 0x60) + 0x0);

thanks again!

Some other things:

Why is it that sometimes player position is displayed as (0,0,0), I assume they are out of render?

Also noticed a lot of player names are symbols and stuff, I assume these are the AI as well but maybe chinese or something (OCE Server)

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

Xyox 3rd January 2020 03:04 PM

Quote:

Originally Posted by TommyHoogstra (Post 2658499)
Why is it that sometimes player position is displayed as (0,0,0), I assume they are out of render?

Also noticed a lot of player names are symbols and stuff, I assume these are the AI as well but maybe chinese or something (OCE Server)

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

Where are you reading position from?

Also the actual string of player name is at:

Code:

nameOffset] + 0x10 = size
nameOffset] + 0x14 = actual string

And it's not a normal string (1 byte per char) but it's unicode and it's 2 bytes per char.

A couple pages back 2 guys posted about how to read them for both internal and external.

Quote:

Originally Posted by w33zer (Post 2615600)

Code:

std::string GetUnicodeString(uint64_t addr, int stringLength)
{
        char16_t wcharTemp[64] = { '\0' };
        ReadTarkovMemory(addr, wcharTemp, stringLength * 2);
        std::string u8_conv = std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t>{}.to_bytes(wcharTemp);
        return u8_conv;
}


Quote:

Originally Posted by Respecter (Post 2616147)
if you are internal you can just cast and print it.

Code:

std::wstring PlayerInfo::GetName()
{
    try
    {
        if (!IsValidPtr(this))
            return std::wstring();


        auto m_pPlayerName = (uintptr_t*)((uintptr_t)this + 0x10);
        if (!IsValidPtr(m_pPlayerName))
            return std::wstring();

        auto m_pName = (wchar_t*)(*m_pPlayerName + 0x14);
        if (!IsValidPtr(m_pName))
            return std::wstring();

return std::wstring(m_pName);
    }
    catch (...)
    {
        printf(xorstr_("Failed to get player name \n").c_str());
    }

    return std::wstring();
}




Also make sure your console or whatever you're printing the names to supports the characters you're trying to display.

TommyHoogstra 3rd January 2020 03:14 PM

Quote:

Originally Posted by Xyox (Post 2658862)
Where are you reading position from?

Also the actual string of player name is at:

Code:

nameOffset] + 0x10 = size
nameOffset] + 0x14 = actual string

And it's not a normal string (1 byte per char) but it's unicode and it's 2 bytes per char. I'm not sure if this makes a difference when you are internal but when you're external it does.

A couple pages back 2 guys posted about how to read them for both internal and external.







Also make sure your console or whatever you're printing the names to supports the characters you're trying to display.

For position, I'm using Player + 0x38] + 0x1E0

Code:

uint64_t movementComponent = driver->RPM<uint64_t>(player + 0x38);
                Vector3 pos = driver->RPM<Vector3>(movementComponent + 0x1E0);

I'll have to give that function a go for player names.

Is the local player position retrieved by a different function? I noticed my own player in the List for one game, but not for the rest. Perhaps it was always there but displayed as all those characters.

Edit: I implemented that function, regular names are still fine, and the old names are a little more readable but still seem utter garbage:
https://i.imgur.com/KEZVQmZ.png

I'm thinking its just my console being on Multi-byte, so shouldnt be a problem once I'm drawing.

Xyox 3rd January 2020 04:02 PM

Quote:

Originally Posted by TommyHoogstra (Post 2658876)
For position, I'm using Player + 0x38] + 0x1E0

That position you're reading is local.

Code:

Player + 0x88] + 0x28] + 0x28] + 0x10] + 0x20] + 0x10] + 0x38] + 0xB0
I'm reading from there, maybe there are shorter ways that i don't know of, but that works for my radar.

TommyHoogstra 3rd January 2020 05:21 PM

Quote:

Originally Posted by Xyox (Post 2658925)
That position you're reading is local.

Code:

Player + 0x88] + 0x28] + 0x28] + 0x10] + 0x20] + 0x10] + 0x38] + 0xB0
I'm reading from there, maybe there are shorter ways that i don't know of, but that works for my radar.

I imagine that gets the head position or something?

My implementation doesnt seem to work
Code:

uint64_t body = driver->RPM<uint64_t>(player + 0x88);
                uint64_t skeleton = driver->RPM<uint64_t>(body + 0x28);
                uint64_t boneEnum = driver->RPM<uint64_t>(skeleton + 0x28);
                uint64_t transformArray = driver->RPM<uint64_t>(boneEnum + 0x10);
                uint64_t bone = driver->RPM<uint64_t>(transformArray + 0x38);
                pos = driver->RPM<Vector3>(bone + 0xB0);


Xyox 3rd January 2020 08:11 PM

Quote:

Originally Posted by TommyHoogstra (Post 2658994)
I imagine that gets the head position or something?

My implementation doesnt seem to work
Code:

uint64_t body = driver->RPM<uint64_t>(player + 0x88);
                uint64_t skeleton = driver->RPM<uint64_t>(body + 0x28);
                uint64_t boneEnum = driver->RPM<uint64_t>(skeleton + 0x28);
                uint64_t transformArray = driver->RPM<uint64_t>(boneEnum + 0x10);
                uint64_t bone = driver->RPM<uint64_t>(transformArray + 0x38);
                pos = driver->RPM<Vector3>(bone + 0xB0);


It's the point between the feet.

You're missing two offsets... after you get the transform array it's:

Code:

transformArray + 0x20] + 0x10] + 0x38] + 0xB0

HELOHELO121 4th January 2020 12:36 AM

Quote:

Originally Posted by TommyHoogstra (Post 2658876)
For position, I'm using Player + 0x38] + 0x1E0

Code:

uint64_t movementComponent = driver->RPM<uint64_t>(player + 0x38);
                Vector3 pos = driver->RPM<Vector3>(movementComponent + 0x1E0);


You can't use that method to get player pos reliably, the pos only updates when the player is visible from local player. You need to get the position of bones. Note, you'll need a working function to get positon from a transform. Go back a few pages. There should be a posted source. I can help you out if you can't find it.

Xyox 4th January 2020 12:58 AM

Quote:

Originally Posted by HELOHELO121 (Post 2659364)
You can't use that method to get player pos reliably, the pos only updates when the player is visible from local player. You need to get the position of bones. Note, you'll need a working function to get positon from a transform. Go back a few pages. There should be a posted source. I can help you out if you can't find it.

If all he needs is player position this works both online and offline, updates even when you're looking in another direction and doesn't need the function to get tranform position:

Code:

Player + 0x88] + 0x28] + 0x28] + 0x10] + 0x20] + 0x10] + 0x38] + 0xB0
If he needs bones position then yes this is the source: link.

TommyHoogstra 4th January 2020 04:27 AM

Quote:

Originally Posted by Xyox (Post 2659143)
It's the point between the feet.

You're missing two offsets... after you get the transform array it's:

Code:

transformArray + 0x20] + 0x10] + 0x38] + 0xB0

Not sure how tf I missed that, was right in front of me.

Works as expected now.

Thanks!

Is that link for the bone function a little outdated? I've done some looking and seen a few variations but can't seem to get them working

Raiiindrops 4th January 2020 09:07 AM

Would be awesome to have somthing like that for new comers like me: The Path of ESP
<3

Xyox 4th January 2020 02:05 PM

Quote:

Originally Posted by TommyHoogstra (Post 2659445)
Not sure how tf I missed that, was right in front of me.

Works as expected now.

Thanks!

Is that link for the bone function a little outdated? I've done some looking and seen a few variations but can't seem to get them working

It works, use the second one (the one posted by 64com).


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

TommyHoogstra 4th January 2020 02:50 PM

Quote:

Originally Posted by Xyox (Post 2659662)
It works, use the second one (the one posted by 64com).

I tried a few combinations throughout the better part of a day, including the one by 64com.

Is modification required? I've included my implementation below if you have the time to have a quick look. Trying to scale box size based on distance isn't great :P



Thanks again for help, ++rep

Xyox 4th January 2020 03:15 PM

Quote:

Originally Posted by TommyHoogstra (Post 2659693)
I tried a few combinations throughout the better part of a day, including the one by 64com.

Is modification required? I've included my implementation below if you have the time to have a quick look. Trying to scale box size based on distance isn't great :P



Thanks again for help, ++rep

You're missing the internal transform. So the beginning of your GetPosition function becomes:

Code:

        Vector3 GetPosition(Driver* driver)
        {
                __m128 result;

                const __m128 mulVec0 = { -2.000, 2.000, -2.000, 0.000 };
                const __m128 mulVec1 = { 2.000, -2.000, -2.000, 0.000 };
                const __m128 mulVec2 = { -2.000, -2.000, 2.000, 0.000 };

        uint64_t internalTransform = driver->RPM<uint64_t>(address + 0x10);

                TransformAccessReadOnly pTransformAccessReadOnly = driver->RPM<TransformAccessReadOnly>(internalTransform + 0x38);


TommyHoogstra 4th January 2020 04:11 PM

Quote:

Originally Posted by Xyox (Post 2659711)
You're missing the internal transform. So the beginning of your GetPosition function becomes:

Code:

        Vector3 GetPosition(Driver* driver)
        {
                __m128 result;

                const __m128 mulVec0 = { -2.000, 2.000, -2.000, 0.000 };
                const __m128 mulVec1 = { 2.000, -2.000, -2.000, 0.000 };
                const __m128 mulVec2 = { -2.000, -2.000, 2.000, 0.000 };

        uint64_t internalTransform = driver->RPM<uint64_t>(address + 0x10);

                TransformAccessReadOnly pTransformAccessReadOnly = driver->RPM<TransformAccessReadOnly>(internalTransform + 0x38);


I tried this one earlier today, just seems to crash.

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

Code:

uint64_t internalTransform = driver->RPM<uint64_t>(address + 0x10);

                TransformAccessReadOnly pTransformAccessReadOnly = driver->RPM<TransformAccessReadOnly>(internalTransform + 0x38);


Xyox 4th January 2020 04:32 PM

Quote:

Originally Posted by TommyHoogstra (Post 2659751)
I tried this one earlier today, just seems to crash.

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

Code:

uint64_t internalTransform = driver->RPM<uint64_t>(address + 0x10);

                TransformAccessReadOnly pTransformAccessReadOnly = driver->RPM<TransformAccessReadOnly>(internalTransform + 0x38);


Whoops, i forgot one thing :D

Two offsets have changed... From:

Code:

transformArray = 0x8
transformIndices = 0x10

To:

Code:

transformArray = 0x18
transformIndices = 0x20

So if i'm not mistaken TransformData should be:

Code:

struct TransformData
{
        char pad[24];
        ULONGLONG pTransformArray;
        ULONGLONG pTransformIndices;
};

This is how it is just in case (i'm not using the two structs but you should be able to tell what's what):

Code:

        uint64_t internalTransform = mem.readPointer(transform + 0x10);

        uint64_t transformAccessReadOnlyData = mem.readPointer(internalTransform + 0x38);
        int transformAccessReadOnlyIndex = mem.readInt(internalTransform + 0x40);

        uint64_t transformDataArray = mem.readPointer(transformAccessReadOnlyData + 0x18);
        uint64_t transformDataIndices = mem.readPointer(transformAccessReadOnlyData + 0x20);



Quote:

Originally Posted by Respecter (Post 2617675)
welp, how to write aimbot angles in memory? / or call a function idk

i don't wanna use setmousepos from winapi to sux

Did you find where to write them?
I mean, i know they can be written to MovementContext viewangles but is it still undetected?

Also i've seen people talk about ShotEffector to remove recoil.
Can anyone tell me if there is any difference between using zeroing ShotEffector->intensity or zeroing ProceduralWeaponAnimation->Mask?
Is one of them detected?

rockzz 5th January 2020 08:03 PM

So I decided to take a look on this game too and since its my first unity game did some reading.
As it seems most common way to get the view matrix is by getting it from an camera object.
Looping through active objects I found lots of objects with camera in the name how to filter the right one?

While searching this thread I saw someone filtering by name "fps camera" but there is no object with that name in my list did the name change or am I missing something.

Xyox 5th January 2020 08:32 PM

Quote:

Originally Posted by rockzz (Post 2660888)
So I decided to take a look on this game too and since its my first unity game did some reading.
As it seems most common way to get the view matrix is by getting it from an camera object.
Looping through active objects I found lots of objects with camera in the name how to filter the right one?

While searching this thread I saw someone filtering by name "fps camera" but there is no object with that name in my list did the name change or am I missing something.

"FPS Camera" is in the tagged objects list (which is at 0x8 inside GOM) not active objects list.

rockzz 5th January 2020 09:02 PM

Quote:

Originally Posted by Xyox (Post 2660914)
"FPS Camera" is in the tagged objects list (which is at 0x8 inside GOM) not active objects list.

Thanks, had a mistake not looping the last object of the list and so it was missing the camera :D
Btw is there any elegant way to get the localplayer without looping through whole player list?

Xyox 5th January 2020 10:05 PM

Quote:

Originally Posted by rockzz (Post 2660937)
Thanks, had a mistake not looping the last object of the list and so it was missing the camera :D
Btw is there any elegant way to get the localplayer without looping through whole player list?

Not that i know of, you have to loop the list anyway to get the other players tho.

rockzz 6th January 2020 11:50 AM

Quote:

Originally Posted by Xyox (Post 2660982)
Not that i know of, you have to loop the list anyway to get the other players tho.

Ah I was trying to use it for some distance calculation but will just use camera position instead.

Have another problem now trying to get the Internal GetPos posted in this thread before to work.
Quote:

Originally Posted by Respecter (Post 2651221)
Code:

GetPos
UnityPlayer+0xc09a20
E8 ? ? ? ? F2 0F 10 38

...

From looking at it in IDA, I assume it takes InternalTransform as described in few posts above.
https://i.imgur.com/T7VymH3.png

I whatsoever just seem to get invalid values.
Code:

bool GameGetPosition(void* pTransform, Vector3D* outPosition)
{
        if (!isValidPointer(pTransform) || !isValidPointer(outPosition))
                return false;
        using Game__GetPositionFn = void*&(__fastcall*)(void*, Vector3D* );
        reinterpret_cast<Game__GetPositionFn>(g_pUnityPlayerDllBase + 0xc09a20)(pTransform, outPosition);
        return isValidPointer(outPosition) && !outPosition->isZero();
}


const int eHeadBone = 25;
Vector3D pos3D = Vector3D(0.f,0.f,0.f);
//                                                                                                                                0x88                0x28                                        0x28                        0x10                                0x20 + 0x8*bonenum(25)
BoneTransform* pHeadTransform = (BoneTransform*)(*(&(pPlayer->m_pPlayerBody->m_pSkeletonRootJoin->m_pBoneEnumerator->m_pTransformArray->m_pFirstBone) + (DWORD_PTR)(0x8 * eHeadBone)));
                                                                                                                //0x10                       
bool bValidPosition = GameGetPosition(pHeadTransform->m_pInternalTransform, pos3D);


Xyox 6th January 2020 01:21 PM

Quote:

Originally Posted by rockzz (Post 2661406)
Ah I was trying to use it for some distance calculation but will just use camera position instead.

Have another problem now trying to get the Internal GetPos posted in this thread before to work.

From looking at it in IDA, I assume it takes InternalTransform as described in few posts above.
https://i.imgur.com/T7VymH3.png

I whatsoever just seem to get invalid values.
Code:

bool GameGetPosition(void* pTransform, Vector3D* outPosition)
{
        if (!isValidPointer(pTransform) || !isValidPointer(outPosition))
                return false;
        using Game__GetPositionFn = void*&(__fastcall*)(void*, Vector3D* );
        reinterpret_cast<Game__GetPositionFn>(g_pUnityPlayerDllBase + 0xc09a20)(pTransform, outPosition);
        return isValidPointer(outPosition) && !outPosition->isZero();
}


const int eHeadBone = 25;
Vector3D pos3D = Vector3D(0.f,0.f,0.f);
//                                                                                                                                0x88                0x28                                        0x28                        0x10                                0x20 + 0x8*bonenum(25)
BoneTransform* pHeadTransform = (BoneTransform*)(*(&(pPlayer->m_pPlayerBody->m_pSkeletonRootJoin->m_pBoneEnumerator->m_pTransformArray->m_pFirstBone) + (DWORD_PTR)(0x8 * eHeadBone)));
                                                                                                                //0x10                       
bool bValidPosition = GameGetPosition(pHeadTransform->m_pInternalTransform, pos3D);


I'm not internal. However i don't think 0x8 * 25 is the head bone, in that case you would get invalid values because that bone might be invalid or who knows why else...
I'm on my phone so i can't confirm it but if i remember correctly head bone is 0x448 inside transformArray...
So if my math is correct your eHeadBone should be 133.

lmao69 6th January 2020 02:37 PM

i just recently started my hacking adventures in this game

i've managed to locate the swapchain with CE 48 8B D9 48 8B D1 48 8B 0D ? ? ? ? E8 ? ? ? ? 48 8B 03 ] 0x2A0 and my renderer works great

I'm attempting to debug the game with reclass, but one small issue is that bedaisy seems to kill my game instantly the moment i terminate it.

Anyone know how to debug eft without be running?

also: i don't know much with mono / dnspy so im using my usual methods of CE + reclass

rockzz 6th January 2020 03:10 PM

Quote:

Originally Posted by Xyox (Post 2661488)
I'm not internal. However i don't think 0x8 * 25 is the head bone, in that case you would get invalid values because that bone might be invalid or who knows why else...
I'm on my phone so i can't confirm it but if i remember correctly head bone is 0x448 inside transformArray...
So if my math is correct your eHeadBone should be 133.

I just looked at it in reclass and noticed some pointers in the bonelist are 0/invalid. Trying to call the function with list Element 133 , 0x448->0x10 writes me some random numbers in the vector3d* I pass as output not sure what I'm missing.

EDIT: Got it working now! Thanks again for your help

Raiiindrops 6th January 2020 06:51 PM

Quote:

Originally Posted by lmao69 (Post 2661569)
i just recently started my hacking adventures in this game

i've managed to locate the swapchain with CE 48 8B D9 48 8B D1 48 8B 0D ? ? ? ? E8 ? ? ? ? 48 8B 03 ] 0x2A0 and my renderer works great

I'm attempting to debug the game with reclass, but one small issue is that bedaisy seems to kill my game instantly the moment i terminate it.

Anyone know how to debug eft without be running?

also: i don't know much with mono / dnspy so im using my usual methods of CE + reclass

From what I understood, either run EscapeFromTarkov.exe (you won't see much but BE will be off) or Just Emutarkov.

Any idea why Scavs names aren't displayed like my player name?
https://i.imgur.com/k7WsMPd.png
I assume it's just console problem. You had same problem IIRC @TommyHoogstra

Lynxaa 7th January 2020 06:06 AM

because they are unicode not ascii..

wprintf, if you managed to read player names you should've been able to notice the extra bytes.

rockzz 7th January 2020 11:45 AM

Anyone know a reliable way to read active weapon and health that works online&offline and for bots too?
https://i.imgur.com/y2AeDnI.png

EDIT: I just did a mistake what I thought was a list is in fact a dictionary @ player+0x3d0+0x18 reading from that now works for hp, still looking for a chain to get active weapon slot.

Btw is anyone using internal W2S and can confirm "UnityPlayer.dll" + 0x0958040 correct?

Some stuff I found while playing around:
pPlayer + 0x18 = isLocalPlayer (check != 0)
pPlayerInfo + 0x64 = exp
pPlayerInfo +0x50 = side
pPlayerInfo + 0x54 = isAI (check == 0)

DoublyDead 8th January 2020 06:31 AM

Hello everyone. I have two questions hope somebody answer me:

1) How do you huys use your custom esp? I mean i thought that BE see everything and will ban you. As i know you may play withoud BE around 5 minutes, but obviously this not the way for getting fun.
2) What the best way to test your esp for detecting i mean nobody want to get hwid ban from BE or something.

thx all of you guys, hope will help you too :P

bongobangobengo 8th January 2020 02:04 PM

Does anyone know a way to understand in which map we're playing?
Or just the unique Id of the current map?

Inviato dal mio MI 9 Transparent Edition utilizzando Tapatalk

Nuros 8th January 2020 04:02 PM

Quote:

Originally Posted by Xyox (Post 2657241)
EDIT: nvm, i had the scale a little off... it's precise af now

https://i.imgur.com/oJqzb4T.gif

Anyone who made a 2d radar with underlaying game map got the players position to be precise on the map (across the entire map)?

I tried on factory using a screenshot of the factory map that Therapist sells.
I went on factory in the room behind forklift/machinery, i put the map under my radar and scaled it down so that when walking from one side of the room to the other i would see my player do exactly the same on my radar.

Problem is that while on that side of the map it works perfect, the farther i go from that room the more screwed up positions get, if i go to the barrels spawn for example on the radar i see that i'm outside the wall...

I thought maybe the official 2d maps were not proportionate to the actual in game 3d maps.
So i exported 3d maps from the game, loaded customs inside unity editor and made my own 2d map.

Tried to use that on customs same as i did on factory but still the same problem persists...

I'm using the same coordinates system the game uses to draw inside my radar, meaning that if the player is at position (10, 20) on the horizontal plane, my radar would display it at (10, 20) from the origin on my radar so that shouldn't be a problem.

Nice ! I'd like to that to but what tool did you use to export the maps ? I tried using uTinyRipper but it's taking ages to export a single level file and I don't even know which ones to extract :hypnotized:

basemas030 8th January 2020 05:28 PM

Quote:

Originally Posted by rockzz (Post 2662271)
Anyone know a reliable way to read active weapon and health that works online&offline and for bots too?
https://i.imgur.com/y2AeDnI.png

EDIT: I just did a mistake what I thought was a list is in fact a dictionary @ player+0x3d0+0x18 reading from that now works for hp, still looking for a chain to get active weapon slot.

Btw is anyone using internal W2S and can confirm "UnityPlayer.dll" + 0x0958040 correct?

Some stuff I found while playing around:
pPlayer + 0x18 = isLocalPlayer (check != 0)
pPlayerInfo + 0x64 = exp
pPlayerInfo +0x50 = side
pPlayerInfo + 0x54 = isAI (check == 0)

nice looking esp.

pdawn 8th January 2020 08:21 PM

Im failing miserabilly on reading entites on this game, any hints?

https://prnt.sc/qkzxr2


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

inetlolz 11th January 2020 04:40 PM

any way to get extraction points on active or tagged objects?

Xyox 11th January 2020 07:23 PM

Quote:

Originally Posted by inetlolz (Post 2665660)
any way to get extraction points on active or tagged objects?

Have a look at ExfiltrationController it's at GameWorld + 0x18.
There you can find both player exits and scav exits.

Adelheid 11th January 2020 07:50 PM

Quote:

Originally Posted by HELOHELO121 (Post 2652236)

Not if you break the animations

what do you mean by that, running in crosshair problem aswell

inetlolz 11th January 2020 10:05 PM

Quote:

Originally Posted by Xyox (Post 2665771)
Have a look at ExfiltrationController it's at GameWorld + 0x18.
There you can find both player exits and scav exits.

thanks
i'm scaning it

res = RPM(localgameworld + 0x18)
res = RPM(res + 0x20)
res = RPM(res + 0x20) // to get first element

scaning it, i found vector3 in 0x1AC , but is not correct. What im doing wrong?

btw i dont found the sdk

HELOHELO121 11th January 2020 10:21 PM

Quote:

Originally Posted by Adelheid (Post 2665795)
what do you mean by that, running in crosshair problem aswell

Find a method that removes all recoil, sway and a bunch of other anims. There's several methods. Look into the Effectors, thats the easiest method

liquidace 11th January 2020 10:29 PM

Quote:

Originally Posted by inetlolz (Post 2665888)
thanks
i'm scaning it

res = RPM(localgameworld + 0x18)
res = RPM(res + 0x20)
res = RPM(res + 0x20) // to get first element

scaning it, i found vector3 in 0x1AC , but is not correct. What im doing wrong?

btw i dont found the sdk

because there is no vector for their location in that class. Go back a bunch of pages - ive posted before how its done as well as others explaining it

rockzz 12th January 2020 12:55 AM

Quote:

Originally Posted by liquidace (Post 2565075)
Quote:

Originally Posted by lokinton (Post 2538541)
hey, has anyone tried calling INTERNAL_CALL_Internal_RaycastTest natively?
this is what happens when i call it in my cheat https://streamable.com/rpv22
basically, it works but breaks the game (offline bots shots never land and vice versa, other players or bots online can normally hit me)

if anyone wants to experiment with it
Code:

typedef bool(__thiscall*PhysicsRaycastTest_t)(vec3*, vec3*, float, int, int);
PhysicsRaycastTest_t PhysicsRaycastTest = ReCa<PhysicsRaycastTest_t>(ReCa<uint64_t>(GetModuleHandleA(0)) + 0x87E880);


~Snip~

Is this for visible check did any of you invest some more time into reversing it or anyone knows a clean way to check for visibility.
Currently I'm full ghetto style by looping all objects in distance and checking if my raycasted angle goes through them it's not very accurate and imperformant af.

Frankie11 12th January 2020 01:12 AM

hello, new to unity games sorry if this been answered already but does anyone know how to properly read gameWorld? I tried using this method I found by reading it like this

Code:

uint64_t EFTData::GetObjectFromList(uint64_t listPtr, uint64_t lastObjectPtr, const char * objectName)
{
        using EFTStructs::BaseObject;
        char name[64];
        uint64_t classNamePtr = 0x0;

        BaseObject activeObject = process.ReadMemory<BaseObject>(listPtr);
        BaseObject lastObject = process.ReadMemory<BaseObject>(lastObjectPtr);

        if (activeObject.object != 0x0)
        {
                while (activeObject.object != 0 && activeObject.object != lastObject.object)
                {
                        classNamePtr = process.ReadMemory<uint64_t>(activeObject.object + 0x60);
                        process.ReadMemory(classNamePtr, &name);

                        if (strcmp(name, objectName) == 0)
                        {
                                return activeObject.object;
                        }

                        activeObject = process.ReadMemory<BaseObject>(activeObject.nextObjectLink);
                }
        }

        if (lastObject.object != 0x0)
        {
                classNamePtr = process.ReadMemory<uint64_t>(lastObject.object + 0x60);
                process.ReadMemory(classNamePtr, &name);

                if (strcmp(name, objectName) == 0)
                {
                        return lastObject.object;
                }
        }

        return uint64_t();
}

but its never found, I do get some output tho

https://prnt.sc/qmgi5g

liquidace 12th January 2020 01:40 AM

You're looping this while in raid right? not at the menu?

Frankie11 12th January 2020 01:50 AM

Quote:

Originally Posted by liquidace (Post 2666042)
You're looping this while in raid right? not at the menu?

At menu, looks like I have to be in a raid right?

Raiiindrops 12th January 2020 02:22 AM

Quote:

Originally Posted by Frankie11 (Post 2666048)
At menu, looks like I have to be in a raid right?

Indeed. Go offline raid :-)

Frankie11 12th January 2020 06:36 AM

okay so I just read from the first page of this thread to now so I can gain some knowledge on how people are approaching this game so I have a quick question are this offsets still being used?

Code:

static constexpr uint64_t onSpeedChangedEvent = 0x38; // Local player specific var.
                static constexpr uint64_t pedometer = 0x60;



nvm they are removed, saw that u can check localplayer w id any other way?

SquareKent 12th January 2020 07:53 AM

which bone ids?

Frankie11 12th January 2020 08:43 AM

Quote:

Originally Posted by SquareKent (Post 2666211)
which bone ids?

Code:

public enum eHumanBones
        {
            HumanBase = 0,
            HumanPelvis = 14,
            HumanLThigh1 = 15,
            HumanLThigh2 = 16,
            HumanLCalf = 17,
            HumanLFoot = 18,
            HumanLToe = 19,
            HumanRThigh1 = 20,
            HumanRThigh2 = 21,
            HumanRCalf = 22,
            HumanRFoot = 23,
            HumanRToe = 24,
            HumanSpine1 = 29,
            HumanSpine2 = 36,
            HumanSpine3 = 37,
            HumanLCollarbone = 89,
            HumanLUpperarm = 90,
            HumanLForearm1 = 91,
            HumanLForearm2 = 92,
            HumanLForearm3 = 93,
            HumanLPalm = 94,
            HumanRCollarbone = 110,
            HumanRUpperarm = 111,
            HumanRForearm1 = 112,
            HumanRForearm2 = 113,
            HumanRForearm3 = 114,
            HumanRPalm = 115,
            HumanNeck = 132,
            HumanHead = 133
        };


SquareKent 12th January 2020 08:47 AM

Quote:

Originally Posted by Frankie11 (Post 2666228)
Code:

public enum eHumanBones
        {
            HumanBase = 0,
            HumanPelvis = 14,
            HumanLThigh1 = 15,
            HumanLThigh2 = 16,
            HumanLCalf = 17,
            HumanLFoot = 18,
            HumanLToe = 19,
            HumanRThigh1 = 20,
            HumanRThigh2 = 21,
            HumanRCalf = 22,
            HumanRFoot = 23,
            HumanRToe = 24,
            HumanSpine1 = 29,
            HumanSpine2 = 36,
            HumanSpine3 = 37,
            HumanLCollarbone = 89,
            HumanLUpperarm = 90,
            HumanLForearm1 = 91,
            HumanLForearm2 = 92,
            HumanLForearm3 = 93,
            HumanLPalm = 94,
            HumanRCollarbone = 110,
            HumanRUpperarm = 111,
            HumanRForearm1 = 112,
            HumanRForearm2 = 113,
            HumanRForearm3 = 114,
            HumanRPalm = 115,
            HumanNeck = 132,
            HumanHead = 133
        };


thanks

rockzz 12th January 2020 01:50 PM

Quote:

Originally Posted by Frankie11 (Post 2666177)
okay so I just read from the first page of this thread to now so I can gain some knowledge on how people are approaching this game so I have a quick question are this offsets still being used?

Code:

static constexpr uint64_t onSpeedChangedEvent = 0x38; // Local player specific var.
                static constexpr uint64_t pedometer = 0x60;



nvm they are removed, saw that u can check localplayer w id any other way?

Posted it one page back here for you:

pPlayer + 0x18 = isLocalPlayer (check != nullptr)

Soreeros 12th January 2020 07:47 PM

I'm sorry if it's offtopic,but is using Just EmuTarkov enough for reversing the game and test my cheats?
This is my first unity game so I'm kind of confused what to do.

shaliuno 12th January 2020 08:14 PM

Yeah, it is enough to get a working framework.
If the version of JET is older, you can run EFT w/o BE (just to get app running) and dump latest offsets via CE to make your hack up to date.

pdawn 12th January 2020 09:26 PM

Can anyone point me into the right direction why calling GetPos is just crashing me?

Code:

auto body = *(uint64_t*)(pPlayer + 0x88);
                        auto skeleton = *(uint64_t*)(body + 0x28);
                        auto boneEnum = *(uint64_t*)(skeleton + 0x28);
                        auto transformArray = *(uint64_t*)(boneEnum + 0x10);
                        auto transform = *(uint64_t*)(transformArray + (0x20 + (HumanHead * 0x8)));
                        uint64_t internalTransform = *(uint64_t*)(transform + 0x10);

                        typedef void*& (__fastcall* Game__GetPositionFn) (void*, Vector3&);
                        Game__GetPositionFn fnGetPos = (Game__GetPositionFn)(GetModuleHandleA(GAMEMODULE) + 0xc09a20);
fnGetPos(internalTransform , &pos);


Frankie11 12th January 2020 09:54 PM

anyone knows how to check if IsPlayer? from looking at the old posts I saw that there used to be a bool type inside PlayerProfile at 0x20 is it still accessible ?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

BraydenEGC 12th January 2020 10:16 PM

Quote:

Originally Posted by Frankie11 (Post 2666749)
~snip~

Check if the player's profile ID is valid.

bluntedits 13th January 2020 11:51 AM

I saw some people have problems with W2S scaling using the optic camera viewmatrix. This is because the optic camera matrix does not account current FOV (while the FPS matrix does). You can fix this by using the FovX and FovY found from the FPS camera:

Code:

const float fovx = *(float*)(fpsCameraObject + 0x12C);
const float fovy = *(float*)(fpsCameraObject + 0x118); //directly after viewmatrix

//In your W2S:
float x = Vec3Dot(&right, in) + matrix._41;
float y = Vec3Dot(&up, in) + matrix._42;
if (bUsingOpticCamera) //Don't fix for FPS camera
{
    x /= fovx;
    y /= fovy;
}

out->x = CenterX() * (1.f + x / w);
out->y = CenterY() * (1.f - y / w);

EDIT: Sometimes fovx and fovy are 1.f, use 0x98 (y) and 0xAC (x) in this case.

rockzz 13th January 2020 03:06 PM

Quote:

Originally Posted by Frankie11 (Post 2666749)
anyone knows how to check if IsPlayer? from looking at the old posts I saw that there used to be a bool type inside PlayerProfile at 0x20 is it still accessible ?

If u want to check for bots you can check for creationdate at pPlayerInfo + 0x54 > 0 means it's a player.

erroxg 13th January 2020 08:46 PM

How are you guys debugging/testing your cheats? Does EmuTarkov work? Trying make a simple ESP and I would like to test my RPM method.

shaliuno 13th January 2020 10:08 PM

EmuTarkov lets you run w/o BE and play local

More than enough to test and debug your hack

JET is great!

Adelheid 15th January 2020 12:56 AM

Quote:

Originally Posted by bluntedits (Post 2667060)
^^

thanks for the info, that fixes the scaling issues, tho i still have the problem that the position doesnt match the bone/item when not exactly on the player with crosshair

hover 15th January 2020 10:16 AM

How bypass hash check in game launcher?

BraydenEGC 15th January 2020 01:56 PM

Quote:

Originally Posted by hover (Post 2668922)
~snip~


It has been posted here multiple times. Entire threads have been made about it. You just have to look at their code and use the search function in DnSpy.

shaliuno 15th January 2020 03:22 PM

Quote:

Originally Posted by BraydenEGC (Post 2669067)
Entire threads have been made about it.

Epic legends were written. :)
And bards sang their poems.
And great warriors laid their heads on the the battlefield.

GDPR_Anonymous 16th January 2020 09:51 AM

Quote:

Originally Posted by Lynxaa (Post 2618082)
[CODE]
Make sure you are using the correct GOM pointer too.

Code:

  // STR: "GameObject is already being activated or deactivated."
  // .text:0000000180636F4C                test    r15b, r15b
  // .text:0000000180636F4F                jz      short loc_180636F5B
  // .text:0000000180636F51                mov    rcx, rbx
  // .text:0000000180636F54                call    sub_18063A8A0                      <-- This function contains the offset.
  // .text:0000000180636F59                jmp    short loc_180636F7F

0x1432840


I'm trying to find GOM for emuTarkov, I've opened UnityPlayer.dll in IDA and found:

Code:

.rdata:000000018124C0E0 00000036 C GameObject is already being activated or deactivated.
Which takes me to

Code:

.rdata:000000018124C0E0 aGameobjectIsAl db 'GameObject is already being activated or deactivated.',0
.rdata:000000018124C0E0                                        ; DATA XREF: sub_1806374A0+35o
.rdata:000000018124C116                align 20h

I then follow
Code:

sub_1806374A0+35o
and it takes me to this function:

Code:

.text:00000001806374D5                lea    rcx, aGameobjectIsAl ; "GameObject is already being activated o"...
.text:00000001806374DC                mov    [r11-78h], rdx
.text:00000001806374E0                xor    ebp, ebp
.text:00000001806374E2                mov    [r11-70h], rdx
.text:00000001806374E6                mov    [rsp+0B8h+var_88], rcx
.text:00000001806374EB                mov    ecx, 1
.text:00000001806374F0                mov    [rsp+0B8h+var_40], 1
.text:00000001806374F5                mov    [rsp+0B8h+var_68], ebp
.text:00000001806374F9                mov    [r11-60h], rdx
.text:00000001806374FD                mov    [rsp+0B8h+var_54], ecx
.text:0000000180637501                lea    rcx, [rsp+0B8h+var_88]
.text:0000000180637506                mov    [rsp+0B8h+var_58], 0A1h
.text:000000018063750E                mov    [rsp+0B8h+var_50], eax
.text:0000000180637512                mov    [rsp+0B8h+var_4C], ebp
.text:0000000180637516                mov    [r11-48h], rbp
.text:000000018063751A                call    sub_180BE9D70
.text:000000018063751F                add    rsp, 98h
.text:0000000180637526                pop    r14
.text:0000000180637528                pop    r13
.text:000000018063752A                pop    rbp
.text:000000018063752B                pop    rbx
.text:000000018063752C                retn

Am I right in assuming
Code:

call    sub_180BE9D70
UnityPlayer.dll + 0x180BE9D70 is the GOM address?


OR should I be looking side that function at 180BE9D70 which is:

Code:

.text:0000000180BE9D70                push    rbp
.text:0000000180BE9D72                lea    rbp, [rsp-30h]
.text:0000000180BE9D77                sub    rsp, 130h
.text:0000000180BE9D7E                mov    eax, [rcx+34h]
.text:0000000180BE9D81                shr    eax, 16h
.text:0000000180BE9D84                test    al, 1
.text:0000000180BE9D86                jz      short loc_180BE9D96
.text:0000000180BE9D88                call    sub_180BEA150
.text:0000000180BE9D8D                add    rsp, 130h
.text:0000000180BE9D94                pop    rbp
.text:0000000180BE9D95                retn
.text:0000000180BE9D96 ; -------------------

which means UnityPlayer.dll + 0x180BEA150 is the GOM address which one is correct?

shaliuno 16th January 2020 11:10 AM

Quote:

Originally Posted by Abox (Post 2669738)
I'm trying to find GOM for emuTarkov


https://www.unknowncheats.me/forum/2032727-post231.html

GDPR_Anonymous 16th January 2020 11:55 AM

Quote:

Originally Posted by shaliuno (Post 2669771)

I tried this out previous to no avail.

I've opened EscapeFromTarkov.exe in IDA64, View > Open Sub Views > Strings searched for 'FindGameObject' but there is no string I thought maybe it was removed in a latest patch since the post is some years old.

Is this process I'm doing to search for it wrong?

Lynxaa 16th January 2020 12:49 PM

Quote:

Originally Posted by Abox (Post 2669796)
I tried this out previous to no avail.

Search for the string I gave

F5, scroll to bottom, find:
Code:

    if ( v11 )
      {
        LOBYTE(v7) = sub_18063A8A0(v5);
      }

Go into the function

Code:

    v5 = (__int64 *)qword_18150ECA8;
    if ( !*(_WORD *)(v2 + 84) )
      v5 = (__int64 *)(qword_18150ECA8 + 16);

That's GOM, not for the newest game version either, this one may work with JET.

TJ888 16th January 2020 01:30 PM

Quote:

Originally Posted by Abox (Post 2669796)
I tried this out previous to no avail.

I've opened EscapeFromTarkov.exe in IDA64, View > Open Sub Views > Strings searched for 'FindGameObject' but there is no string I thought maybe it was removed in a latest patch since the post is some years old.

Is this process I'm doing to search for it wrong?

Don't open EscapeFromTarkov.exe, pretty much most important things are in UnityPlayer.dll.

How I found GOM- Open UnityPlayer.dll in IDA64, search for the string "FindGameObjectsWithTag" and go into that function.
Code:

sub_8FE180("UnityEngine.GameObject::FindGameObjectsWithTag", sub_948850 <--- This function);
Then the 1st function call that takes no parameters and where the resulting address is used in the for-loop init and condition, is a function that obtains the GameObjectManager Address.
Code:

GOM = sub_639640() <--- This function;
for ( i = *(uintptr_t*)(GOM + 8); i != GOM; i = *(uintptr_t*)(i + 8) )

Code:

__int64 sub_639640()
{
  return qword_15181E8 <--- GOM Address/Offset;
}

Should be the correct offset for the latest EmuTarkov as well.

GDPR_Anonymous 16th January 2020 02:03 PM

Quote:

Originally Posted by TJ888 (Post 2669850)
snip.

Thank you both very helpful,

Out of interest how did you get IDA to not include the base address?

E.g. my function looks different to yours


Code:

__int64 sub_180639640()
{
  return qword_1815181E8;
}


BraydenEGC 16th January 2020 02:18 PM

Quote:

Originally Posted by Abox (Post 2669870)
~snip~



Rebase the segments to 0.

dywersant01 16th January 2020 08:05 PM

Quote:

Originally Posted by bluntedits (Post 2667060)
I saw some people have problems with W2S scaling using the optic camera viewmatrix. This is because the optic camera matrix does not account current FOV (while the FPS matrix does). You can fix this by using the FovX and FovY found from the FPS camera:

Code:

const float fovx = *(float*)(fpsCameraObject + 0x12C);
const float fovy = *(float*)(fpsCameraObject + 0x118); //directly after viewmatrix

//In your W2S:
float x = Vec3Dot(&right, in) + matrix._41;
float y = Vec3Dot(&up, in) + matrix._42;
if (bUsingOpticCamera) //Don't fix for FPS camera
{
    x /= fovx;
    y /= fovy;
}

out->x = CenterX() * (1.f + x / w);
out->y = CenterY() * (1.f - y / w);


Are you sure these offset are correct? They always are equal to 1.0f for me, both for fps camera and current optic camera.

Frankie11 16th January 2020 10:58 PM

does anyone know why this happens?

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

some code:
Code:

bool PRENDER::WorldToScreen(const Vector3& point3D, Vector3& point2D)
{
        D3DXVECTOR3 _point3D = D3DXVECTOR3(point3D.x, point3D.z, point3D.y);

        auto& matrix = EFTData::Instance()->viewMatrix;
        D3DXVECTOR3 translationVector = D3DXVECTOR3(matrix._41, matrix._42, matrix._43);
        D3DXVECTOR3 up = D3DXVECTOR3(matrix._21, matrix._22, matrix._23);
        D3DXVECTOR3 right = D3DXVECTOR3(matrix._11, matrix._12, matrix._13);

        float w = D3DXVec3Dot(&translationVector, &_point3D) + matrix._44;

        if (w < 0.098f)
                return false;

        float y = D3DXVec3Dot(&up, &_point3D) + matrix._24;
        float x = D3DXVec3Dot(&right, &_point3D) + matrix._14;

        point2D.x = (s_width * 0.5f) * (1.f + x / w);
        point2D.y = (s_height * 0.5f) * (1.f - y / w);
        //point2D.z = w;

        return true;
}

Quote:

Originally Posted by BraydenEGC (Post 2379417)
Now I am having issues with my World to Screen. I attempted to debug it but had no luck. Here is a video and the code I used. I pretty much copied the code from a rust cheat. All help is appreciated!
Youtube Video of Issue

My world to screen function is inside of the entity class and is called on all entities/players except my local player.
Code:

        float fD3DXVec3Dot(const Vector3 *a, const Vector3 *b)
        {
                return (a->x * b->x +
                        a->y * b->y +
                        a->z * b->z);
        }
        bool GetW2SPosition(Vector2 * returnVec)
        {
                Vector3 pos = GetPosition();
                D3DMATRIX temp = ViewMatrix;
                Vector3 translationVec = Vector3(temp._41, temp._42, temp._43);
                Vector3 up = Vector3(temp._21, temp._22, temp._23);
                Vector3 right = Vector3(temp._11, temp._12, temp._13);
                float w = fD3DXVec3Dot(&translationVec, &pos) + temp._44;
                if (w < 0.098f)
                {
                        std::cout << "Failure W2S on w < 0.098f: " << w << std::endl;
                        return false;
                }
                float y = fD3DXVec3Dot(&up, &pos) + temp._24;
                float x = fD3DXVec3Dot(&right, &pos) + temp._24;
                returnVec->x = (1920 / 2) * (1.f + x / w);
                returnVec->y = (1080 / 2) * (1.f - y / w);
                return true;
        }


Would u mind elaborating how u fixed this issue? I'm having the same one right now

Adelheid 17th January 2020 10:59 AM

Quote:

Originally Posted by Frankie11 (Post 2670180)
++

transpose your matrix

gummy 17th January 2020 02:04 PM

Quote:

Originally Posted by Frankie11 (Post 2670180)
does anyone know why this happens?

Code:

D3DXVECTOR3 WorldToScreen(D3DXVECTOR3 origin)
{
        D3DXMATRIX temp;

        auto viewMatrix = mem.Read<D3DXMATRIX>(mem.Read<uint64_t>(mem.Read<uint64_t>(fpsCamera + 0x30) + 0x18) + 0xC0);

        D3DXMatrixTranspose(&temp, &viewMatrix);

        D3DXVECTOR3 translationVector = D3DXVECTOR3(temp._41, temp._42, temp._43);
        D3DXVECTOR3 up = D3DXVECTOR3(temp._21, temp._22, temp._23);
        D3DXVECTOR3 right = D3DXVECTOR3(temp._11, temp._12, temp._13);

        float w = D3DXVec3Dot(&translationVector, &origin) + temp._44;

        //if (w < 0.098f)
        //return  D3DXVECTOR3(0,0,0);

        if (w < 1.f)
                w = 1.f;

        float y = D3DXVec3Dot(&up, &origin) + temp._24;
        float x = D3DXVec3Dot(&right, &origin) + temp._14;

        float ScreenX = (Width / 2) * (1.f + x / w);
        float ScreenY = (Height / 2) * (1.f - y / w);
        float ScreenZ = w;

        return D3DXVECTOR3(ScreenX, ScreenY, ScreenZ);

from my old external, I cant remember where it came from


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

Frankie11 17th January 2020 04:56 PM

Quote:

Originally Posted by gummy8unny (Post 2670655)
Code:

D3DXVECTOR3 WorldToScreen(D3DXVECTOR3 origin)
{
        D3DXMATRIX temp;

        auto viewMatrix = mem.Read<D3DXMATRIX>(mem.Read<uint64_t>(mem.Read<uint64_t>(fpsCamera + 0x30) + 0x18) + 0xC0);

        D3DXMatrixTranspose(&temp, &viewMatrix);

        D3DXVECTOR3 translationVector = D3DXVECTOR3(temp._41, temp._42, temp._43);
        D3DXVECTOR3 up = D3DXVECTOR3(temp._21, temp._22, temp._23);
        D3DXVECTOR3 right = D3DXVECTOR3(temp._11, temp._12, temp._13);

        float w = D3DXVec3Dot(&translationVector, &origin) + temp._44;

        //if (w < 0.098f)
        //return  D3DXVECTOR3(0,0,0);

        if (w < 1.f)
                w = 1.f;

        float y = D3DXVec3Dot(&up, &origin) + temp._24;
        float x = D3DXVec3Dot(&right, &origin) + temp._14;

        float ScreenX = (Width / 2) * (1.f + x / w);
        float ScreenY = (Height / 2) * (1.f - y / w);
        float ScreenZ = w;

        return D3DXVECTOR3(ScreenX, ScreenY, ScreenZ);

from my old external, I cant remember where it came from

I fixed it yesterday by just changing from using my Vector3 class to the D3DVector3. Weird issue ty tho +rep

Quote:

Originally Posted by TommyHoogstra (Post 2659693)
I tried a few combinations throughout the better part of a day, including the one by 64com.

Is modification required? I've included my implementation below if you have the time to have a quick look. Trying to scale box size based on distance isn't great :P



Thanks again for help, ++rep

did u end up fixing this issue?

Xyox 18th January 2020 12:29 AM

Quote:

Originally Posted by Frankie11 (Post 2670818)
did u end up fixing this issue?

Quote:

Originally Posted by Xyox (Post 2659770)
Two offsets have changed... From:

Code:

transformDataArray = 0x8
transformDataIndices = 0x10

To:

Code:

transformDataArray = 0x18
transformDataIndices = 0x20

So if i'm not mistaken TransformData should be:

Code:

struct TransformData
{
        char pad[24];
        ULONGLONG pTransformArray;
        ULONGLONG pTransformIndices;
};

This is how it is just in case (i'm not using the two structs but you should be able to tell what's what):

Code:

        uint64_t internalTransform = mem.readPointer(transform + 0x10);

        uint64_t transformAccessReadOnlyData = mem.readPointer(internalTransform + 0x38);
        int transformAccessReadOnlyIndex = mem.readInt(internalTransform + 0x40);

        uint64_t transformDataArray = mem.readPointer(transformAccessReadOnlyData + 0x18);
        uint64_t transformDataIndices = mem.readPointer(transformAccessReadOnlyData + 0x20);


Function posted by 64com works, only thing that needs to be changed are those two offsets above.
And he was also using wrong bone number, head is bone number 133 (transformArray + 0x448).
Using wrong bone number can cause the function to not work because not all bones are valid.

Frankie11 18th January 2020 12:58 AM

Quote:

Originally Posted by Xyox (Post 2671102)
Function posted by 64com works, only thing that needs to be changed are those two offsets above.
And he was also using wrong bone number, head is bone number 133 (transformArray + 0x448).
Using wrong bone number can cause the function to not work because not all bones are valid.

I been using it but for some reason it doesn't work right, maybe the way im calling it?

some code:

Code:

FVector GetPosition()
        {
                __m128 result;

                const __m128 mulVec0 = { -2.000, 2.000, -2.000, 0.000 };
                const __m128 mulVec1 = { 2.000, -2.000, -2.000, 0.000 };
                const __m128 mulVec2 = { -2.000, -2.000, 2.000, 0.000 };

                uint64_t internalTransform = memio->read<uint64_t>(address + 0x10);

                uint64_t pTransformAccessReadOnly = memio->read<uint64_t>(internalTransform + 0x38);

                int transformAccessReadOnlyIndex = memio->read<int>(internalTransform + 0x40);

                uint64_t transformDataArray = memio->read<uint64_t>(pTransformAccessReadOnly + 0x18);
                uint64_t transformDataIndices = memio->read<uint64_t>(pTransformAccessReadOnly + 0x20);


                SIZE_T sizeMatriciesBuf = sizeof(Matrix34) * transformAccessReadOnlyIndex + sizeof(Matrix34);
                SIZE_T sizeIndicesBuf = sizeof(int) * transformAccessReadOnlyIndex + sizeof(int);

                // Allocate memory for storing large amounts of data (matricies and indicies)
                PVOID pMatriciesBuf = malloc(sizeMatriciesBuf);
                PVOID pIndicesBuf = malloc(sizeIndicesBuf);

                if (pMatriciesBuf && pIndicesBuf)
                {
                        // Read Matricies array into the buffer
                        memio->readbuffer(transformDataArray, pMatriciesBuf, sizeMatriciesBuf);
                        // Read Indices array into the buffer
                        memio->readbuffer(transformDataIndices, pIndicesBuf, sizeIndicesBuf);

                        result = *(__m128*)((ULONGLONG)pMatriciesBuf + 0x30 * transformAccessReadOnlyIndex);
                        int transformIndex = *(int*)((ULONGLONG)pIndicesBuf + 0x4 * transformAccessReadOnlyIndex);

                        while (transformIndex >= 0)
                        {
                                Matrix34 matrix34 = *(Matrix34*)((ULONGLONG)pMatriciesBuf + 0x30 * transformIndex);

                                __m128 xxxx = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x00));        // xxxx
                                __m128 yyyy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x55));        // yyyy
                                __m128 zwxy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x8E));        // zwxy
                                __m128 wzyw = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0xDB));        // wzyw
                                __m128 zzzz = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0xAA));        // zzzz
                                __m128 yxwy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x71));        // yxwy
                                __m128 tmp7 = _mm_mul_ps(*(__m128*)(&matrix34.vec2), result);

                                result = _mm_add_ps(
                                        _mm_add_ps(
                                                _mm_add_ps(
                                                        _mm_mul_ps(
                                                                _mm_sub_ps(
                                                                        _mm_mul_ps(_mm_mul_ps(xxxx, mulVec1), zwxy),
                                                                        _mm_mul_ps(_mm_mul_ps(yyyy, mulVec2), wzyw)),
                                                                _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0xAA))),
                                                        _mm_mul_ps(
                                                                _mm_sub_ps(
                                                                        _mm_mul_ps(_mm_mul_ps(zzzz, mulVec2), wzyw),
                                                                        _mm_mul_ps(_mm_mul_ps(xxxx, mulVec0), yxwy)),
                                                                _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0x55)))),
                                                _mm_add_ps(
                                                        _mm_mul_ps(
                                                                _mm_sub_ps(
                                                                        _mm_mul_ps(_mm_mul_ps(yyyy, mulVec0), yxwy),
                                                                        _mm_mul_ps(_mm_mul_ps(zzzz, mulVec1), zwxy)),
                                                                _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0x00))),
                                                        tmp7)), *(__m128*)(&matrix34.vec0));

                                transformIndex = *(int*)((ULONGLONG)pIndicesBuf + 0x4 * transformIndex);
                        }

                        free(pMatriciesBuf);
                        free(pIndicesBuf);
                }

                return FVector(result.m128_f32[0], result.m128_f32[1], result.m128_f32[2]);
        }
};

Code:

static std::vector<uintptr_t> offs_head_transform{ this->offsets.Player.playerBody, 0x28, 0x28, 0x10, 0x20 + Bones::HumanHead * 8 };
                        if (uint64_t bone_transform = memio->ReadChain(player.instance, offs_head_transform))
                        {
                        Transform headtranfrom = Transform(bone_transform);
                                // Get head bone pos.
                                player.headPos = headtranfrom.GetPosition();

                        }


Xyox 18th January 2020 03:02 AM

Quote:

Originally Posted by Frankie11 (Post 2671112)
I been using it but for some reason it doesn't work right, maybe the way im calling it?

some code:

Code:

FVector GetPosition()
        {
                __m128 result;

                const __m128 mulVec0 = { -2.000, 2.000, -2.000, 0.000 };
                const __m128 mulVec1 = { 2.000, -2.000, -2.000, 0.000 };
                const __m128 mulVec2 = { -2.000, -2.000, 2.000, 0.000 };

                uint64_t internalTransform = memio->read<uint64_t>(address + 0x10);

                uint64_t pTransformAccessReadOnly = memio->read<uint64_t>(internalTransform + 0x38);

                int transformAccessReadOnlyIndex = memio->read<int>(internalTransform + 0x40);

                uint64_t transformDataArray = memio->read<uint64_t>(pTransformAccessReadOnly + 0x18);
                uint64_t transformDataIndices = memio->read<uint64_t>(pTransformAccessReadOnly + 0x20);


                SIZE_T sizeMatriciesBuf = sizeof(Matrix34) * transformAccessReadOnlyIndex + sizeof(Matrix34);
                SIZE_T sizeIndicesBuf = sizeof(int) * transformAccessReadOnlyIndex + sizeof(int);

                // Allocate memory for storing large amounts of data (matricies and indicies)
                PVOID pMatriciesBuf = malloc(sizeMatriciesBuf);
                PVOID pIndicesBuf = malloc(sizeIndicesBuf);

                if (pMatriciesBuf && pIndicesBuf)
                {
                        // Read Matricies array into the buffer
                        memio->readbuffer(transformDataArray, pMatriciesBuf, sizeMatriciesBuf);
                        // Read Indices array into the buffer
                        memio->readbuffer(transformDataIndices, pIndicesBuf, sizeIndicesBuf);

                        result = *(__m128*)((ULONGLONG)pMatriciesBuf + 0x30 * transformAccessReadOnlyIndex);
                        int transformIndex = *(int*)((ULONGLONG)pIndicesBuf + 0x4 * transformAccessReadOnlyIndex);

                        while (transformIndex >= 0)
                        {
                                Matrix34 matrix34 = *(Matrix34*)((ULONGLONG)pMatriciesBuf + 0x30 * transformIndex);

                                __m128 xxxx = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x00));        // xxxx
                                __m128 yyyy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x55));        // yyyy
                                __m128 zwxy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x8E));        // zwxy
                                __m128 wzyw = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0xDB));        // wzyw
                                __m128 zzzz = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0xAA));        // zzzz
                                __m128 yxwy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x71));        // yxwy
                                __m128 tmp7 = _mm_mul_ps(*(__m128*)(&matrix34.vec2), result);

                                result = _mm_add_ps(
                                        _mm_add_ps(
                                                _mm_add_ps(
                                                        _mm_mul_ps(
                                                                _mm_sub_ps(
                                                                        _mm_mul_ps(_mm_mul_ps(xxxx, mulVec1), zwxy),
                                                                        _mm_mul_ps(_mm_mul_ps(yyyy, mulVec2), wzyw)),
                                                                _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0xAA))),
                                                        _mm_mul_ps(
                                                                _mm_sub_ps(
                                                                        _mm_mul_ps(_mm_mul_ps(zzzz, mulVec2), wzyw),
                                                                        _mm_mul_ps(_mm_mul_ps(xxxx, mulVec0), yxwy)),
                                                                _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0x55)))),
                                                _mm_add_ps(
                                                        _mm_mul_ps(
                                                                _mm_sub_ps(
                                                                        _mm_mul_ps(_mm_mul_ps(yyyy, mulVec0), yxwy),
                                                                        _mm_mul_ps(_mm_mul_ps(zzzz, mulVec1), zwxy)),
                                                                _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0x00))),
                                                        tmp7)), *(__m128*)(&matrix34.vec0));

                                transformIndex = *(int*)((ULONGLONG)pIndicesBuf + 0x4 * transformIndex);
                        }

                        free(pMatriciesBuf);
                        free(pIndicesBuf);
                }

                return FVector(result.m128_f32[0], result.m128_f32[1], result.m128_f32[2]);
        }
};

Code:

static std::vector<uintptr_t> offs_head_transform{ this->offsets.Player.playerBody, 0x28, 0x28, 0x10, 0x20 + Bones::HumanHead * 8 };
                        if (uint64_t bone_transform = memio->ReadChain(player.instance, offs_head_transform))
                        {
                        Transform headtranfrom = Transform(bone_transform);
                                // Get head bone pos.
                                player.headPos = headtranfrom.GetPosition();

                        }


I'm looking at your code from my phone so I might be missing something but it seems fine.
Only thing that comes to my mind is to make sure Bones::HumanHead is 133 and your ReadChain method "reads into" the last offset instead of just adding it and returning. That's because in the GetPosition funtion you read from address + 0x10 so you should already be inside the transform (if that makes sense said by my poor English).

Adelheid 18th January 2020 03:30 AM

Quote:

Originally Posted by liquidace (Post 2665913)
because there is no vector for their location in that class. Go back a bunch of pages - ive posted before how its done as well as others explaining it

Thanks for the info you've postet a while back. But could you please point me in the right direction of how to get position.
Code:

ptr_t exfil_controller = read<ptr_t>(read<ptr_t>(local_game_world +0x18) + 0x20);

                DWORD exfil_size = read<DWORD>(exfil_controller + 0x18);

                for (int i = 0; i < exfil_size; i++)
                {
                        ptr_t exfil = read<ptr_t>(exfil_controller + 0x20 + i * 0x8);
                       
vec3f exfil_pos = read<vec3f>(read<ptr_t>(read<ptr_t>(read<ptr_t>(read<ptr_t>(read<ptr_t>(exfil + 0x10) + 0x30) + 0x30) + 0x8) + 0x38) + 0xb0 );

currently doing this, but the position returned is somehow the same for every exfil.

BraydenEGC 18th January 2020 03:40 AM

Quote:

Originally Posted by Adelheid (Post 2671169)
~snip~

That is not a valid chain. You need to call/use InternalGetPosition on the exfiltration point's transform, which is buried fairly deep.

2858357545 18th January 2020 11:42 AM

Why can't I find a player for rust

24jared24 18th January 2020 06:22 PM

Quote:

Originally Posted by TJ888 (Post 2669850)
Then the 1st function call that takes no parameters and where the resulting address is used in the for-loop init and condition, is a function that obtains the GameObjectManager Address.
Code:

GOM = sub_639640() <--- This function;
for ( i = *(uintptr_t*)(GOM + 8); i != GOM; i = *(uintptr_t*)(i + 8) )

Code:

__int64 sub_639640()
{
  return qword_15181E8 <--- GOM Address/Offset;
}

Should be the correct offset for the latest EmuTarkov as well.

This is what I have https://i.imgur.com/3jIVGa6.png

I don't see a for loop like yours in there anywhere

shaliuno 18th January 2020 06:48 PM

Quote:

Originally Posted by 24jared24 (Post 2671713)
This is what I have https://i.imgur.com/3jIVGa6.png

I don't see a for loop like yours in there anywhere


look above
you went down too far
https://i.imgur.com/s8evKxw.png

Wolrus 18th January 2020 10:55 PM

Did the offsets for player health change recently ?
I'm reading a null pointer at pHealthBody + 0x28 where I'm expecting a pointer to BodyController.

Code:

pHealthController = ReadPtr(pCurrentPlayer+0x03D0)
pHealthBody = ReadPtr(pHealthController+0x18)
pBodyController = ReadPtr(pHealthBody+0x28)
HealthContainers = struct.unpack("Q"*7,ReadBytes(pBodyController+0x20,8*7))
Health = 0
for pHC in HealthContainers :
        pHealth = ReadPtr(pHC +0x010)
        Health += struct.unpack("f"*2,ReadBytes(pHealth+0x10,4*2))


Frankie11 19th January 2020 02:01 AM

I'm trying to fix my esp render while scoping, I found that people use the optic camera viewmatrix to fix this issue. Can someone elaborate this method please and is there a check to see if scoping?

24jared24 19th January 2020 04:06 AM

Quote:

Originally Posted by Xyox (Post 2659711)
You're missing the internal transform. So the beginning of your GetPosition function becomes:

What does "address" in
Code:

uint64_t internalTransform = driver->RPM<uint64_t>(address + 0x10);
represent?

pdawn 19th January 2020 06:34 AM

Quote:

Originally Posted by Frankie11 (Post 2672029)
I'm trying to fix my esp render while scoping, I found that people use the optic camera viewmatrix to fix this issue. Can someone elaborate this method please and is there a check to see if scoping?



Code:

bool WorldToScreen(Vector3 _Enemy, Vector3* _Screen)
        {
                D3DMATRIX temp = Vector3().D3DMatrixTranspose(pFPSCamera->m_pCameraObject->m_pCameraEntity->ViewMatrix);
                if (localPlayer->m_pProceduralWeaponAnimation()->m_pBreath()->IsAiming && localPlayer->m_pProceduralWeaponAnimation()->m_pOpticSightArray()->m_pCamera())
                {
                        temp = Vector3().D3DMatrixTranspose(localPlayer->m_pProceduralWeaponAnimation()->m_pOpticSightArray()->m_pCamera()->m_pCameraRaw()->m_pCameraEntity()->ViewMatrix);
                }
                Vector3 translationVector = Vector3(temp._41, temp._42, temp._43);
                Vector3 up = Vector3(temp._21, temp._22, temp._23);
                Vector3 right = Vector3(temp._11, temp._12, temp._13);

                float w = Vector3().D3DXVec3Dot(translationVector, _Enemy) + temp._44;

                if (w < 0.098f)
                        return false;

                float x = Vector3().D3DXVec3Dot(right, _Enemy) + temp._14;
                float y = Vector3().D3DXVec3Dot(up, _Enemy) + temp._24;

                if (localPlayer->m_pProceduralWeaponAnimation()->m_pBreath()->IsAiming && localPlayer->m_pProceduralWeaponAnimation()->m_pOpticSightArray()->m_pCamera())
                {
                        x /= pFPSCamera->m_pCameraObject->m_pCameraEntity->fovx;
                        y /= pFPSCamera->m_pCameraObject->m_pCameraEntity->fovy;
                }
               
                _Screen->x = (Render->CenterX) * (1.f + x / w);
                _Screen->y = (Render->CenterY) * (1.f - y / w);
                _Screen->z = w;

                return true;
        }

c&p for you since u didn't understand the posts spoonfeding u

Xyox 19th January 2020 12:57 PM

Quote:

Originally Posted by 24jared24 (Post 2672077)
What does "address" in
Code:

uint64_t internalTransform = driver->RPM<uint64_t>(address + 0x10);
represent?

It's the bone transform inside the transform array.
Something like:

Code:

address = read<uint64_t>(transformArray + 0x20 + boneNumber * 0x8)

Respecter 19th January 2020 03:29 PM

Quote:

Originally Posted by pdawn (Post 2672117)
Code:

bool WorldToScreen(Vector3 _Enemy, Vector3* _Screen)
        {
                D3DMATRIX temp = Vector3().D3DMatrixTranspose(pFPSCamera->m_pCameraObject->m_pCameraEntity->ViewMatrix);
                if (localPlayer->m_pProceduralWeaponAnimation()->m_pBreath()->IsAiming && localPlayer->m_pProceduralWeaponAnimation()->m_pOpticSightArray()->m_pCamera())
                {
                        temp = Vector3().D3DMatrixTranspose(localPlayer->m_pProceduralWeaponAnimation()->m_pOpticSightArray()->m_pCamera()->m_pCameraRaw()->m_pCameraEntity()->ViewMatrix);
                }
                Vector3 translationVector = Vector3(temp._41, temp._42, temp._43);
                Vector3 up = Vector3(temp._21, temp._22, temp._23);
                Vector3 right = Vector3(temp._11, temp._12, temp._13);

                float w = Vector3().D3DXVec3Dot(translationVector, _Enemy) + temp._44;

                if (w < 0.098f)
                        return false;

                float x = Vector3().D3DXVec3Dot(right, _Enemy) + temp._14;
                float y = Vector3().D3DXVec3Dot(up, _Enemy) + temp._24;

                if (localPlayer->m_pProceduralWeaponAnimation()->m_pBreath()->IsAiming && localPlayer->m_pProceduralWeaponAnimation()->m_pOpticSightArray()->m_pCamera())
                {
                        x /= pFPSCamera->m_pCameraObject->m_pCameraEntity->fovx;
                        y /= pFPSCamera->m_pCameraObject->m_pCameraEntity->fovy;
                }
               
                _Screen->x = (Render->CenterX) * (1.f + x / w);
                _Screen->y = (Render->CenterY) * (1.f - y / w);
                _Screen->z = w;

                return true;
        }

c&p for you since u didn't understand the posts spoonfeding u

correct! but still bad tought, the size of the esp inside is ridiculous

24jared24 19th January 2020 05:20 PM

Quote:

Originally Posted by Xyox (Post 2672318)
It's the bone transform inside the transform array.
Something like:

Code:

address = read<uint64_t>(transformArray + 0x20 + boneNumber * 0x8)

Thanks, figured that out digging through the earlier pages late last night. However I'm still crashing on this line inside of GetPosition just like one of the guys you helped earlier
Code:

int transformIndex = *(int*)((ULONGLONG)pIndicesBuf + 0x4 * transformAccessReadOnlyIndex);
EDIT: NVM all that, I fixed it literally 2 seconds after posting. It was just an error porting it over to my rpm functions and reading to the wrong address.

Seems like bones only render like under 100m or something, is that normal?

Xyox 19th January 2020 05:41 PM

Quote:

Originally Posted by 24jared24 (Post 2672541)
Thanks, figured that out digging through the earlier pages late last night. However I'm still crashing on this line inside of GetPosition just like one of the guys you helped earlier
Code:

int transformIndex = *(int*)((ULONGLONG)pIndicesBuf + 0x4 * transformAccessReadOnlyIndex);
EDIT: NVM all that, I fixed it literally 2 seconds after posting. It was just an error porting it over to my rpm functions and reading to the wrong address.

Seems like bones only render like under 100m or something, is that normal?

I was about to reply, i noticed the & before the pointer :D
I'm not using wallhack anymore so i might be wrong but i think i remember seeing scavs across the map in customs... I mean they were so tiny that i think it was way more than 100m

SquareKent 19th January 2020 05:53 PM

which raycast mask for visible check for player?

1 << 8 incorrect

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

notcarl 19th January 2020 06:50 PM

Quote:

Originally Posted by pdawn (Post 2672117)
Code:

bool WorldToScreen(Vector3 _Enemy, Vector3* _Screen)
        {
                D3DMATRIX temp = Vector3().D3DMatrixTranspose(pFPSCamera->m_pCameraObject->m_pCameraEntity->ViewMatrix);
                if (localPlayer->m_pProceduralWeaponAnimation()->m_pBreath()->IsAiming && localPlayer->m_pProceduralWeaponAnimation()->m_pOpticSightArray()->m_pCamera())
                {
                        temp = Vector3().D3DMatrixTranspose(localPlayer->m_pProceduralWeaponAnimation()->m_pOpticSightArray()->m_pCamera()->m_pCameraRaw()->m_pCameraEntity()->ViewMatrix);
                }
                Vector3 translationVector = Vector3(temp._41, temp._42, temp._43);
                Vector3 up = Vector3(temp._21, temp._22, temp._23);
                Vector3 right = Vector3(temp._11, temp._12, temp._13);

                float w = Vector3().D3DXVec3Dot(translationVector, _Enemy) + temp._44;

                if (w < 0.098f)
                        return false;

                float x = Vector3().D3DXVec3Dot(right, _Enemy) + temp._14;
                float y = Vector3().D3DXVec3Dot(up, _Enemy) + temp._24;

                if (localPlayer->m_pProceduralWeaponAnimation()->m_pBreath()->IsAiming && localPlayer->m_pProceduralWeaponAnimation()->m_pOpticSightArray()->m_pCamera())
                {
                        x /= pFPSCamera->m_pCameraObject->m_pCameraEntity->fovx;
                        y /= pFPSCamera->m_pCameraObject->m_pCameraEntity->fovy;
                }
               
                _Screen->x = (Render->CenterX) * (1.f + x / w);
                _Screen->y = (Render->CenterY) * (1.f - y / w);
                _Screen->z = w;

                return true;
        }

c&p for you since u didn't understand the posts spoonfeding u

for the love of god at least use some variables if you want to talk down on someone

dywersant01 19th January 2020 06:58 PM

Quote:

Originally Posted by SquareKent (Post 2672576)
which raycast mask for visible check for player?

1 << 8 incorrect

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

Terrain
HighPolyCollider
Foliage


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

notcarl 19th January 2020 07:06 PM

Quote:

Originally Posted by dywersant01 (Post 2670083)
Are you sure these offset are correct? They always are equal to 1.0f for me, both for fps camera and current optic camera.

Those offsets work just fine for FOV

confirmed2 19th January 2020 08:12 PM

I'm trying to obtain player health but for some reason it always returns 0 I've checked everything not sure

my code:

Code:

uint64_t EFTData::get_bodycontroller(uint64_t instance)
{
        static std::vector<uint64_t> temp{ this->offsets.Player.m_pHealthController, 0x18, 0x28 };

        return ReadChain(instance, temp);
}

float EFTData::GetBodyPartHP(uint64_t body, BodyParts part)
{
        return read<float>(read<uint64_t>(read<uint64_t>(body + part) + 0x10) + 0x10);
}

float EFTData::GetMaxBody(uint64_t body, BodyParts part)
{
        return read<float>(read<uint64_t>(read<uint64_t>(body + part) + 0x10) + 0x14);
}

float EFTData::GetMaxSumOfAllBodyParts(uint64_t body)
{
        if (GetMaxBody(body, BodyParts::Thorax) == 80)
                return 435;
        else
                return 725;
}

float EFTData::GetSumOfAllBodyParts(uint64_t body)
{
        float ret = 0.0f;
       
        //for (int i = Bar; i <= Last; i++)
        for (uint64_t parts = Head; parts < value_max; parts++)
        {
                ret += GetBodyPartHP(body, (BodyParts)parts);
        }
               
        return ret;
}

float EFTData::GetHealthPercentage(uint64_t body)
{
        return (GetSumOfAllBodyParts(body) / GetMaxSumOfAllBodyParts(body)) * 100;
}


SquareKent 19th January 2020 10:02 PM

Quote:

Originally Posted by dywersant01 (Post 2672626)
Terrain
HighPolyCollider
Foliage

not helped

bluntedits 19th January 2020 10:36 PM

Quote:

Originally Posted by dywersant01 (Post 2670083)
Are you sure these offset are correct? They always are equal to 1.0f for me, both for fps camera and current optic camera.

Quote:

Originally Posted by Respecter (Post 2672428)
correct! but still bad tought, the size of the esp inside is ridiculous

Quote:

Originally Posted by notcarl (Post 2672633)
Those offsets work just fine for FOV

I noticed the offsets I posted indeed are just 1.f sometimes, in this case you should try using 0x98 for FovY and 0xAC for FovX as backup, they seem to work.

Frankie11 20th January 2020 12:24 AM

Quote:

Originally Posted by Xyox (Post 2665771)
Have a look at ExfiltrationController it's at GameWorld + 0x18.
There you can find both player exits and scav exits.

Where exactly are you obtaining the transform for each exit?

I can't find it inside GameWorld + 0x18-> Exfiltrationpoints (0x20)

Xyox 20th January 2020 01:02 AM

Quote:

Originally Posted by Frankie11 (Post 2672829)
Where exactly are you obtaining the transform for each exit?

I can't find it inside GameWorld + 0x18-> Exfiltrationpoints (0x20)

I can't remember but @liquidace posted how it's done a couple pages back.

Wolrus 20th January 2020 01:24 AM

Quote:

Originally Posted by confirmed2 (Post 2672680)
I'm trying to obtain player health but for some reason it always returns 0 I've checked everything not sure

I'm having a similar problem, because there is a null pointer at pHealthController]+0x18]+0x28 instead of bodycontroller.

24jared24 20th January 2020 02:13 AM

Quote:

Originally Posted by Wolrus (Post 2671899)
Did the offsets for player health change recently ?
I'm reading a null pointer at pHealthBody + 0x28 where I'm expecting a pointer to BodyController.

Code:

pHealthController = ReadPtr(pCurrentPlayer+0x03D0)
pHealthBody = ReadPtr(pHealthController+0x18)
pBodyController = ReadPtr(pHealthBody+0x28)
HealthContainers = struct.unpack("Q"*7,ReadBytes(pBodyController+0x20,8*7))
Health = 0
for pHC in HealthContainers :
        pHealth = ReadPtr(pHC +0x010)
        Health += struct.unpack("f"*2,ReadBytes(pHealth+0x10,4*2))


Did you ever figure this out? Offsets just seem wrong looking at it in reclass

Frankie11 20th January 2020 03:52 AM

Quote:

Originally Posted by bluntedits (Post 2672768)
I noticed the offsets I posted indeed are just 1.f sometimes, in this case you should try using 0x98 for FovY and 0xAC for FovX as backup, they seem to work.

Oh, ty ill add a quick check to it when it happens also one question do u obtain FovX and y inside m_pCameraEntity or CameraObject? I've seen two people doing it different ways

pdawn 20th January 2020 07:07 AM

Quote:

Originally Posted by Respecter (Post 2672428)
correct! but still bad tought, the size of the esp inside is ridiculous

edit: yeah right, got what u mean, but seems enough for me, it's at the size of the character tho

Quote:

Originally Posted by notcarl (Post 2672618)
for the love of god at least use some variables if you want to talk down on someone

for the love of god, what is a variable to u :dunno:

dywersant01 20th January 2020 11:28 AM

Quote:

Originally Posted by SquareKent (Post 2672760)
not helped

Well you can remove Foliage from the list. The rest is correct. Its how the game does its checks when raycasting.

Quote:

Originally Posted by bluntedits (Post 2672768)
I noticed the offsets I posted indeed are just 1.f sometimes, in this case you should try using 0x98 for FovY and 0xAC for FovX as backup, they seem to work.

Indeed, ive managed to figure out above offsets the other day. There could be some differences in how this game stores values in online/offline mode, i will do more testing. Thanks.

Quote:

Originally Posted by Frankie11 (Post 2672912)
Oh, ty ill add a quick check to it when it happens also one question do u obtain FovX and y inside m_pCameraEntity or CameraObject? I've seen two people doing it different ways

Its the same class with view matrices in it.

SquareKent 20th January 2020 11:35 AM

issue mask

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

liquidace 20th January 2020 03:31 PM

try 12 and 18

Xyox 20th January 2020 03:57 PM

Quote:

Originally Posted by Wolrus (Post 2671899)
Did the offsets for player health change recently ?
I'm reading a null pointer at pHealthBody + 0x28 where I'm expecting a pointer to BodyController.

Quote:

Originally Posted by confirmed2 (Post 2672680)
I'm trying to obtain player health but for some reason it always returns 0 I've checked everything not sure

Quote:

Originally Posted by 24jared24 (Post 2672863)
Did you ever figure this out? Offsets just seem wrong looking at it in reclass

Code:

Player + 0x3D0] = HealthController
HealthController + 0x18] = HealthBody
HealthBody + 0x18] = BodyController


rockzz 20th January 2020 05:25 PM

Anyone else experiencing weird read error exceptions in mono-2.0-bdwgc.dll when trying to call certain functions like layertoname/raycasttest_injected using jet version of game for testing?
Using my exact same code on battleye version of game is working fine tho.
https://i.imgur.com/2uQTPkr.png
EDIT:
Looking at it in IDA a bit further it looks to be dying at "mono-2.0-bdwgc.dll"+0xB5123 which seems to be some kind of assertion?!
https://i.imgur.com/NumW18C.png
https://i.imgur.com/jEiWAVD.png
EDIT2: turns out it was not inside that dll, which was just fetching the invalid address. Fixxed it by manually editing original games .dlls to work with JET keeping original address spacing and not using the ones provided by JET team.

BraydenEGC 20th January 2020 06:04 PM

Quote:

Originally Posted by rockzz (Post 2673340)
~snip~

This is why I don't use JET. But no, everyone hates on me for not using it for testing lmao.

Wolrus 20th January 2020 06:48 PM

Quote:

Originally Posted by 24jared24 (Post 2672863)
Did you ever figure this out? Offsets just seem wrong looking at it in reclass

Quote:

Originally Posted by Xyox (Post 2673255)
Code:

Player + 0x3D0] = HealthController
HealthController + 0x18] = HealthBody
HealthBody + 0x18] = BodyController


thanks ! it's working now

Code:

pHealthController = ReadPtr(pCurrentPlayer+0x03D0)
pHealthBody = ReadPtr(pHealthController+0x18)
pBodyController = ReadPtr(pHealthBody+0x18)

pHealthContainersList = self.ReadBytes(pBodyController+0x20,8*3*7,"Q"*3*7) // 0x18 * 7
pHealthContainersList = pHealthContainersList[2::3] // 0x10, 0x28, 0x40, 0x58, 0x70, 0x88, 0xA0
Health = list()
for pHC in pHealthContainersList :
        pHealth = self.ReadPtr(pHC +0x010)
        Health.append(self.ReadBytes(pHealth+0x10,4*2,"f"*2)) //Health,MaxHealth

While I'm at it, what tool did you use to export the maps to Unity Xyox ? I tried exporting a few of the .level files to unity, but there's nothing but trees.
https://cdn.discordapp.com/attachmen...16/unknown.png

rockzz 20th January 2020 08:16 PM

Quote:

Originally Posted by Wolrus (Post 2673425)
While I'm at it, what tool did you use to export the maps to Unity Xyox ? I tried exporting a few of the .level files to unity, but there's nothing but trees.
https://cdn.discordapp.com/attachmen...16/unknown.png

UtinyRipper works fine ripping whole game takes a bit of time/space, but afterwards you can just delete unwanted stuff and open maps to export 2d tiles

Xyox 20th January 2020 08:33 PM

Quote:

Originally Posted by Wolrus (Post 2673425)
thanks ! it's working now

Code:

pHealthController = ReadPtr(pCurrentPlayer+0x03D0)
pHealthBody = ReadPtr(pHealthController+0x18)
pBodyController = ReadPtr(pHealthBody+0x18)

pHealthContainersList = self.ReadBytes(pBodyController+0x20,8*3*7,"Q"*3*7) // 0x18 * 7
pHealthContainersList = pHealthContainersList[2::3] // 0x10, 0x28, 0x40, 0x58, 0x70, 0x88, 0xA0
Health = list()
for pHC in pHealthContainersList :
        pHealth = self.ReadPtr(pHC +0x010)
        Health.append(self.ReadBytes(pHealth+0x10,4*2,"f"*2)) //Health,MaxHealth

While I'm at it, what tool did you use to export the maps to Unity Xyox ? I tried exporting a few of the .level files to unity, but there's nothing but trees.
https://cdn.discordapp.com/attachmen...16/unknown.png

I just used utinyripper and gave it the entire EscapeFromTarkov_Data folder. It takes a while to export tho :D

rockzz 21st January 2020 01:57 AM

Quote:

Originally Posted by liquidace (Post 2565075)
what mask did you use? I've reversed most of this function and can call it without it breaking my game but ive tested a few masks without much luck :|
https://i.imgur.com/f4y2xCX.png

Hey,
what did you use to fix the internal raycast for me it's breaking gamephysics too has it to do with first param physicsscene? I didn't find to much info about how to get the physicsscene out of a gamescene, for now I'm using pointer to int dummy = 0 it works for visible check but completely breaks physics.

Any hint is appreciated.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

Soreeros 21st January 2020 03:55 AM

So I'm trying to implement Item ESP but seems there are almost 1000 items in certain maps,how do you guys filter them?
Since I'm internal(not mono internal) and drawing everything on present,that kills FPS too much :p

For now I'd like to filter key items,Is there any way to do so that's not involved with comparing item hash?
I've looked for EFT.Interactive.LootItem,EFT.InventoryLogic.Item and EFT.InventoryLogic.ItemTemplate but so far no luck.

gamer11446 21st January 2020 06:59 PM

Quote:

Originally Posted by Soreeros (Post 2673757)
So I'm trying to implement Item ESP but seems there are almost 1000 items in certain maps,how do you guys filter them?
Since I'm internal(not mono internal) and drawing everything on present,that kills FPS too much :p

For now I'd like to filter key items,Is there any way to do so that's not involved with comparing item hash?
I've looked for EFT.Interactive.LootItem,EFT.InventoryLogic.Item and EFT.InventoryLogic.ItemTemplate but so far no luck.

Look for the LootList in GameWorld probably?
Check Mocked-Mono-Internal for that, maybe you will find what you are looking for
And dont forget that you can recheck items like once in a 30s,they wont go away, you know :)

Btw, maybe u know how to check items inside containers? If its even possible. Didnt find anything today

Can someone tell me if I can Get items inside containers just like Im talking items laying in the Game World?

Soreeros 21st January 2020 08:32 PM

Quote:

Originally Posted by Soreeros (Post 2673757)
So I'm trying to implement Item ESP but seems there are almost 1000 items in certain maps,how do you guys filter them?
Since I'm internal(not mono internal) and drawing everything on present,that kills FPS too much :p

For now I'd like to filter key items,Is there any way to do so that's not involved with comparing item hash?
I've looked for EFT.Interactive.LootItem,EFT.InventoryLogic.Item and EFT.InventoryLogic.ItemTemplate but so far no luck.

Probably this is not the best way but I've found Dictionary that contains clean item names at GClass1125.
Here's the dump in case someone needed the same thing.

Code:

543be5e94bdc2df1348b4568 Name : Key
5448ba0b4bdc2d02308b456c Name : Factory exit key
5672c92d4bdc2d180f8b4567 Name : Dorm room 118 Key
5780cda02459777b272ede61 Name : Dorm room 306 Key
5780cf692459777de4559321 Name : Dorm room 315 Key
5780cf722459777a5108b9a1 Name : Dorm room 308 Key
5780cf7f2459777de4559322 Name : Marked key
5780cf942459777df90dcb72 Name : Dorm room 214 Key
5780cf9e2459777df90dcb73 Name : Dorm room 218 Key
5780cfa52459777dfb276eb1 Name : Dorm room 220 Key
5780d0532459777a5108b9a2 Name : Customs office key
5780d0652459777df90dcb74 Name : Cabinet key
5780d07a2459777de4559324 Name : Portable cabin key
57a349b2245977762b199ec7 Name : Door key
590c62a386f77412b0130255 Name : Sliderkey Secure Flash drive
5913611c86f77479e0084092 Name : Trailer park cabin key
5913651986f774432f15d132 Name : VAZ key
59136a4486f774447a1ed172 Name : Dorm guard desk key
59136e1e86f774432f15d133 Name : Dorm room 110 Key
59136f6f86f774447a1ed173 Name : Car key
591382d986f774465a6413a7 Name : Dorm room 105 Key
591383f186f7744a4c5edcf3 Name : Dorm room 104 Key
5913877a86f774432f15d444 Name : The key to the gas station storage room
5913915886f774123603c392 Name : Military base checkpoint key
5914578086f774123569ffa4 Name : Dorm room 108 Key
59148c8a86f774197930e983 Name : Dorm room 204 Key
59148f8286f7741b951ea113 Name : Weapon safe key
591ae8f986f77406f854be45 Name : Yotota car key
591afe0186f77431bd616a11 Name : Key ZB-014
5937ee6486f77408994ba448 Name : Machinery key
5938144586f77473c2087145 Name : Portable cabin key of customs Factory zone
5938504186f7740991483f30 Name : Dorm room 203 Key
593858c486f774253a24cb52 Name : Door key
5938603e86f77435642354f4 Name : Dorm room 206 Key
59387a4986f77401cc236e62 Name : Dorm room 114 Key
5938994586f774523a425196 Name : Dorm room 103 Key
593962ca86f774068014d9af Name : Unknown key
593aa4be86f77457f56379f8 Name : Dorm room 303 Key
59e0bdb186f774156f04ce82 Name : Vltor CASV keymod 2 inch guide
59e0be5d86f7742d48765bd2 Name : Vltor CASV keymod 4 inch guide
59e0bed186f774156f04ce84 Name : Vltor CASV keymod 6 inch guide
59fafd4b86f7745ca07e1232 Name : Keytool
59fb375986f7741b681b81a6 Name : Krebs Custom UFM Keymod System handguard for AKM
5a0448bc86f774736f14efa8 Name : The key to the closed premises of the sanatorium
5a0dc45586f7742f6b0b73e3 Name : Office 104 West wing key
5a0dc95c86f77452440fc675 Name : Office 112 West wing key
5a0ea64786f7741707720468 Name : Office 107 East wing key
5a0ea69f86f7741cd5406619 Name : Office 108 East wing key
5a0ea79b86f7741d4a35298e Name : Health resort utility room key
5a0eb38b86f774153b320eb0 Name : SMW car key
5a0eb6ac86f7743124037a28 Name : Cottage back entrance key
5a0ec6d286f7742c0b518fb5 Name : West wing room 205 key
5a0ec70e86f7742c0b518fba Name : West wing room 207 key
5a0ee30786f774023b6ee08f Name : West wing room 216 key
5a0ee34586f774023b6ee092 Name : West wing room 220 key
5a0ee37f86f774023657a86f Name : West wing room 221 key
5a0ee4b586f7743698200d22 Name : East wing room 206 key
5a0ee62286f774369454a7ac Name : East wing room 209 key
5a0ee72c86f77436955d3435 Name : East wing room 213 key
5a0ee76686f7743698200d5c Name : East wing room 216 key
5a0eeb1a86f774688b70aa5c Name : West wing room 303 key
5a0eeb8e86f77461257ed71a Name : West wing room 309 key
5a0eebed86f77461230ddb3d Name : West wing room 325 key
5a0eec9686f77402ac5c39f2 Name : East wing room 310 key
5a0eecf686f7740350630097 Name : East wing room 313 key
5a0eed4386f77405112912aa Name : East wing room 314 key
5a0eedb386f77403506300be Name : East wing room 322 key
5a0eee1486f77402aa773226 Name : East wing room 328 key
5a0eff2986f7741fd654e684 Name : Health resort room 321 safe key
5a0f006986f7741ffd2fe484 Name : Weather station safe key
5a0f045e86f7745b0f0d0e42 Name : Gas station safe key
5a0f068686f7745b0d4ea242 Name : Cottage safe key
5a0f075686f7745bcc42ee12 Name : Key to store safe
5a0f08bc86f77478f33b84c2 Name : Health resort management office safe key
5a0f0f5886f7741c4e32a472 Name : Health resort warehouse safe key
5a13ee1986f774794d4c14cd Name : West wing room 323 key
5a13eebd86f7746fd639aa93 Name : West wing room 218 key
5a13ef0686f7746e5a411744 Name : West wing room 219 key
5a13ef7e86f7741290491063 Name : West wing room 301 key
5a13f24186f77410e57c5626 Name : East wing room 222 key
5a13f35286f77413ef1436b0 Name : East wing room 226 key
5a13f46386f7741dd7384b04 Name : West wing room 306 key
5a144bdb86f7741d374bbde0 Name : East wing room 205 key
5a144dfd86f77445cb5a0982 Name : West wing room 203 key
5a1452ee86f7746f33111763 Name : West wing room 222 key
5a145d4786f7744cbb6f4a12 Name : East wing room 306 key
5a145d7b86f7744cbb6f4a13 Name : East wing room 308 key
5a145ebb86f77458f1796f05 Name : East wing room 316 key
5a29357286f77409c705e025 Name : Sliderkey Flash drive
5a9d6d00a2750c5c985b5305 Name : Strike industries keymod 4 inch guide
5a9d6d13a2750c00164f6b03 Name : Strike industries keymod 6 inch guide
5ad5ccd186f774446d5706e9 Name : Key to OLI administrator office
5ad5cfbd86f7742c825d6104 Name : Key to OLI logistics department office
5ad5d20586f77449be26d877 Name : Key to utility room of OLI outlet
5ad5d49886f77455f9731921 Name : Key to utility room of power substation
5ad5d64486f774079b080af8 Name : Key to pharmacy
5ad5d7d286f77450166e0a89 Name : Key to KIBA store outlet
5ad5db3786f7743568421cce Name : Key to EMERCOM medical unit
5ad7217186f7746744498875 Name : Key to OLI cash register
5ad7242b86f7740a6a3abd43 Name : Key to IDEA cash register
5ad7247386f7747487619dc3 Name : Key to Goshan cash register
5addaffe86f77470b455f900 Name : Key to KIBA Outlet grate door
5b7be2345acfc400196d524a Name : Aim sport Universal keymod foregrip for FAL
5c17664f2e2216398b5a7e3c Name : VLTOR CMRD Keymod handguard for AK
5c1d0c5f86f7744bb2683cf0 Name : Lab. Blue keycard
5c1d0d6d86f7744bb2683e1f Name : Lab. Yellow keycard.
5c1d0dc586f7744baf2e7b79 Name : Lab. Green keycard
5c1d0efb86f7744baf2e7b7b Name : Lab. Red keycard
5c1d0f4986f7744bb01837fa Name : Lab. Black keycard
5c1e2a1e86f77431ea0ea84c Name : Lab. key. Manager office
5c1e2d1f86f77431e9280bee Name : Lab. key. Testing area (weap.)
5c1e495a86f7743109743dfb Name : Lab. Violet keycard
5c1f79a086f7746ed066fb8f Name : Lab. key. Arsenal storage room
5c6d10e82e221601da357b07 Name : HK MRS 14 keymod foregrip for 416A5
5c94bbff86f7747ee735c08f Name : TerraGroup Labs access keycard
5cde7afdd7f00c000d36b89d Name : A*B Arms MOD X Gen.3 keymod handguard for M700
5d08d21286f774736e7c94c3 Name : Shturman key
5d403f9186f7743cac3f229b Name : Bottle of Dan Jackiel Whiskey
5d80c60f86f77440373c4ece Name : RB-BK key
5d80c62a86f7744036212b3f Name : RB-VO key
5d80c66d86f774405611c7d6 Name : RB-AO key
5d80c6c586f77440351beef1 Name : RB-OB key
5d80c6fc86f774403a401e3c Name : RB-TB key
5d80c78786f774403a401e3e Name : RB-AK key
5d80c88d86f77440556dbf07 Name : RB-AM key
5d80c8f586f77440373c4ed0 Name : RB-OP key
5d80c93086f7744036212b41 Name : RB-MP11 key
5d80c95986f77440351beef3 Name : RB-MP12 key
5d80ca9086f774403a401e40 Name : RB-MP21 key
5d80cab086f77440535be201 Name : RB-MP22 key
5d80cb3886f77440556dbf09 Name : RB-PSP1 key
5d80cb5686f77440545d1286 Name : RB-PS81 key
5d80cb8786f774405611c7d9 Name : RB-PP key
5d80cbd886f77470855c26c2 Name : RB-MP13 key
5d80ccac86f77470841ff452 Name : RB-ORB1 key
5d80ccdd86f77474f7575e02 Name : RB-ORB2 key
5d80cd1a86f77402aa362f42 Name : RB-ORB3 key
5d8e0db586f7744450412a42 Name : RB-KORL key
5d8e0e0e86f774321140eb56 Name : RB-KPRL key
5d8e15b686f774445103b190 Name : Key to HEP station storage
5d8e3ecc86f774414c78d05e Name : RB-GN key
5d947d3886f774447b415893 Name : RB-SMP key
5d947d4e86f774447b415895 Name : RB-KSM key
5d95d6be86f77424444eb3a7 Name : RB-PS82 key
5d95d6fa86f77424484aa5e9 Name : Key RB-PSP2
5d9f1fa686f774726974a992 Name : RB-ST key
5da46e3886f774653b7a83fe Name : RB-RS key
5da5cdcd86f774529238fb9b Name : RB-RH key
5da743f586f7744014504f72 Name : USEC stash on Customs key
5ae4498786f7744bde357695 Name : The key to success

Quote:

Originally Posted by gamer11446 (Post 2674234)
Look for the LootList in GameWorld probably?
Check Mocked-Mono-Internal for that, maybe you will find what you are looking for
And dont forget that you can recheck items like once in a 30s,they wont go away, you know :)

Btw, maybe u know how to check items inside containers? If its even possible. Didnt find anything today

Can someone tell me if I can Get items inside containers just like Im talking items laying in the Game World?

I believe containers don't spawn with items,they will be determined when you open them afaik.
EFT is my first unity game and I have been reversing the game only for a week so correct me if i'm wrong though.

BraydenEGC 21st January 2020 08:36 PM

Quote:

Originally Posted by Soreeros (Post 2674304)
~snip~


Containers spawn with items in them. They generate on map load by the server. Also, that list you just posted looks like all the item name localizations.

gamer11446 21st January 2020 08:44 PM

Quote:

Originally Posted by BraydenEGC (Post 2674316)
Containers spawn with items in them. They generate on map load by the server. Also, that list you just posted looks like all the item name localizations.

Well, then I can make ESP that will show me only containers with items that I need, good news

BraydenEGC 21st January 2020 08:46 PM

Escape from Tarkov Reversal, Structs and Offsets
 
Quote:

Originally Posted by gamer11446 (Post 2674334)
~snip~


It is a pain in the ass to find.

gamer11446 21st January 2020 08:49 PM

Quote:

Originally Posted by BraydenEGC (Post 2674337)


It is a pain in the ass to find.

Already noticed that.
But as long as Im still having fun - I Will keep trying to find it :)

Frankie11 22nd January 2020 06:31 AM

some c&p skeleton esp code for anyone that doesn't have this yet:

Code:

std::list<int> upper_part = { Bones::HumanNeck, Bones::HumanHead };
std::list<int> right_arm = { Bones::HumanNeck, Bones::HumanRUpperarm, Bones::HumanRForearm1, Bones::HumanRPalm };
std::list<int> left_arm = { Bones::HumanNeck, Bones::HumanLUpperarm, Bones::HumanLForearm1, Bones::HumanLPalm };
std::list<int> spine = { Bones::HumanNeck, Bones::HumanSpine1, Bones::HumanSpine2, Bones::HumanPelvis };

std::list<int> lower_right = { Bones::HumanPelvis, Bones::HumanRThigh1, Bones::HumanRCalf, Bones::HumanRFoot };
std::list<int> lower_left = { Bones::HumanPelvis, Bones::HumanLThigh1, Bones::HumanLCalf, Bones::HumanLFoot };

std::list<std::list<int>> skeleton = { upper_part, right_arm, left_arm, spine, lower_right, lower_left };


void DrawSkeleton(uint64_t instance)
{
        uint64_t bone_matrix = getbone_matrix(instance);
        FVector neckpos = GetPosition(read<uint64_t>(bone_matrix + (0x20 + ((int)Bones::HumanNeck * 8))));
        FVector pelvispos = GetPosition(read<uint64_t>(bone_matrix + (0x20 + ((int)Bones::HumanPelvis * 8))));
        FVector previous(0, 0, 0);
        FVector current, p1, c1;
        for (auto a : skeleton)
        {
                previous = FVector(0, 0, 0);
                for (int bone : a)
                {
                        current = bone == Bones::HumanNeck ? neckpos : (bone == Bones::HumanPelvis ? pelvispos : GetPosition(read<uint64_t>(bone_matrix + (0x20 + ((int)bone * 8)))));
                        if (previous.x == 0.f)
                        {
                                previous = current;
                                continue;
                        }
                        WorldToScreen(previous, p1);
                        WorldToScreen(current, c1);
                        draw_line(p1.x, p1.y, c1.x, c1.y, D3DCOLOR_ARGB(255, 153, 249, 9));
                        previous = current;
                }
        }
}

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

rockzz 22nd January 2020 08:19 AM

After spending quite some time on the fun stuff I could get wtw stw and magic bullets to work as well as tp items/dead bodys.
https://i.imgur.com/rstjQrn.png
https://i.imgur.com/AveZkJG.png
https://i.imgur.com/d3Msqhv.gif

Tping local player short distances seems to work fine in online mode, but when I try to tp other players for OPK they seem to get synced back to old position by server did anyone experiment with this? Currently looking to make nade kill whole lobby :D

Soreeros 22nd January 2020 09:13 AM

Quote:

Originally Posted by Soreeros (Post 2673757)
So I'm trying to implement Item ESP but seems there are almost 1000 items in certain maps,how do you guys filter them?
Since I'm internal(not mono internal) and drawing everything on present,that kills FPS too much :p

For now I'd like to filter key items,Is there any way to do so that's not involved with comparing item hash?
I've looked for EFT.Interactive.LootItem,EFT.InventoryLogic.Item and EFT.InventoryLogic.ItemTemplate but so far no luck.

I couldn't figure out what else I could've done so here it is for fellow external/internal cheaters.
It's not pretty but hey it works xd

I'm still trying to get item category,let me know if you guys know anything.

Code:

#include <unordered_map>

std::unordered_map<std::string, std::string> AllKeys = {
{ "543be5e94bdc2df1348b4568 Name", "Key"},
{ "5448ba0b4bdc2d02308b456c Name", "Factory exit key"},
{ "5672c92d4bdc2d180f8b4567 Name", "Dorm room 118 Key"},
{ "5780cda02459777b272ede61 Name", "Dorm room 306 Key"},
{ "5780cf692459777de4559321 Name", "Dorm room 315 Key"},
{ "5780cf722459777a5108b9a1 Name", "Dorm room 308 Key"},
{ "5780cf7f2459777de4559322 Name", "Marked key"},
{ "5780cf942459777df90dcb72 Name", "Dorm room 214 Key"},
{ "5780cf9e2459777df90dcb73 Name", "Dorm room 218 Key"},
{ "5780cfa52459777dfb276eb1 Name", "Dorm room 220 Key"},
{ "5780d0532459777a5108b9a2 Name", "Customs office key"},
{ "5780d0652459777df90dcb74 Name", "Cabinet key"},
{ "5780d07a2459777de4559324 Name", "Portable cabin key"},
{ "57a349b2245977762b199ec7 Name", "Door key"},
{ "590c62a386f77412b0130255 Name", "Sliderkey Secure Flash drive"},
{ "5913611c86f77479e0084092 Name", "Trailer park cabin key"},
{ "5913651986f774432f15d132 Name", "VAZ key"},
{ "59136a4486f774447a1ed172 Name", "Dorm guard desk key"},
{ "59136e1e86f774432f15d133 Name", "Dorm room 110 Key"},
{ "59136f6f86f774447a1ed173 Name", "Car key"},
{ "591382d986f774465a6413a7 Name", "Dorm room 105 Key"},
{ "591383f186f7744a4c5edcf3 Name", "Dorm room 104 Key"},
{ "5913877a86f774432f15d444 Name", "The key to the gas station storage room"},
{ "5913915886f774123603c392 Name", "Military base checkpoint key"},
{ "5914578086f774123569ffa4 Name", "Dorm room 108 Key"},
{ "59148c8a86f774197930e983 Name", "Dorm room 204 Key"},
{ "59148f8286f7741b951ea113 Name", "Weapon safe key"},
{ "591ae8f986f77406f854be45 Name", "Yotota car key"},
{ "591afe0186f77431bd616a11 Name", "Key ZB-014"},
{ "5937ee6486f77408994ba448 Name", "Machinery key"},
{ "5938144586f77473c2087145 Name", "Portable cabin key of customs Factory zone"},
{ "5938504186f7740991483f30 Name", "Dorm room 203 Key"},
{ "593858c486f774253a24cb52 Name", "Door key"},
{ "5938603e86f77435642354f4 Name", "Dorm room 206 Key"},
{ "59387a4986f77401cc236e62 Name", "Dorm room 114 Key"},
{ "5938994586f774523a425196 Name", "Dorm room 103 Key"},
{ "593962ca86f774068014d9af Name", "Unknown key"},
{ "593aa4be86f77457f56379f8 Name", "Dorm room 303 Key"},
{ "59fafd4b86f7745ca07e1232 Name", "Keytool"},
{ "5a0448bc86f774736f14efa8 Name", "The key to the closed premises of the sanatorium"},
{ "5a0dc45586f7742f6b0b73e3 Name", "Office 104 West wing key"},
{ "5a0dc95c86f77452440fc675 Name", "Office 112 West wing key"},
{ "5a0ea64786f7741707720468 Name", "Office 107 East wing key"},
{ "5a0ea69f86f7741cd5406619 Name", "Office 108 East wing key"},
{ "5a0ea79b86f7741d4a35298e Name", "Health resort utility room key"},
{ "5a0eb38b86f774153b320eb0 Name", "SMW car key"},
{ "5a0eb6ac86f7743124037a28 Name", "Cottage back entrance key"},
{ "5a0ec6d286f7742c0b518fb5 Name", "West wing room 205 key"},
{ "5a0ec70e86f7742c0b518fba Name", "West wing room 207 key"},
{ "5a0ee30786f774023b6ee08f Name", "West wing room 216 key"},
{ "5a0ee34586f774023b6ee092 Name", "West wing room 220 key"},
{ "5a0ee37f86f774023657a86f Name", "West wing room 221 key"},
{ "5a0ee4b586f7743698200d22 Name", "East wing room 206 key"},
{ "5a0ee62286f774369454a7ac Name", "East wing room 209 key"},
{ "5a0ee72c86f77436955d3435 Name", "East wing room 213 key"},
{ "5a0ee76686f7743698200d5c Name", "East wing room 216 key"},
{ "5a0eeb1a86f774688b70aa5c Name", "West wing room 303 key"},
{ "5a0eeb8e86f77461257ed71a Name", "West wing room 309 key"},
{ "5a0eebed86f77461230ddb3d Name", "West wing room 325 key"},
{ "5a0eec9686f77402ac5c39f2 Name", "East wing room 310 key"},
{ "5a0eecf686f7740350630097 Name", "East wing room 313 key"},
{ "5a0eed4386f77405112912aa Name", "East wing room 314 key"},
{ "5a0eedb386f77403506300be Name", "East wing room 322 key"},
{ "5a0eee1486f77402aa773226 Name", "East wing room 328 key"},
{ "5a0eff2986f7741fd654e684 Name", "Health resort room 321 safe key"},
{ "5a0f006986f7741ffd2fe484 Name", "Weather station safe key"},
{ "5a0f045e86f7745b0f0d0e42 Name", "Gas station safe key"},
{ "5a0f068686f7745b0d4ea242 Name", "Cottage safe key"},
{ "5a0f075686f7745bcc42ee12 Name", "Key to store safe"},
{ "5a0f08bc86f77478f33b84c2 Name", "Health resort management office safe key"},
{ "5a0f0f5886f7741c4e32a472 Name", "Health resort warehouse safe key"},
{ "5a13ee1986f774794d4c14cd Name", "West wing room 323 key"},
{ "5a13eebd86f7746fd639aa93 Name", "West wing room 218 key"},
{ "5a13ef0686f7746e5a411744 Name", "West wing room 219 key"},
{ "5a13ef7e86f7741290491063 Name", "West wing room 301 key"},
{ "5a13f24186f77410e57c5626 Name", "East wing room 222 key"},
{ "5a13f35286f77413ef1436b0 Name", "East wing room 226 key"},
{ "5a13f46386f7741dd7384b04 Name", "West wing room 306 key"},
{ "5a144bdb86f7741d374bbde0 Name", "East wing room 205 key"},
{ "5a144dfd86f77445cb5a0982 Name", "West wing room 203 key"},
{ "5a1452ee86f7746f33111763 Name", "West wing room 222 key"},
{ "5a145d4786f7744cbb6f4a12 Name", "East wing room 306 key"},
{ "5a145d7b86f7744cbb6f4a13 Name", "East wing room 308 key"},
{ "5a145ebb86f77458f1796f05 Name", "East wing room 316 key"},
{ "5a29357286f77409c705e025 Name", "Sliderkey Flash drive"},
{ "5ad5ccd186f774446d5706e9 Name", "Key to OLI administrator office"},
{ "5ad5cfbd86f7742c825d6104 Name", "Key to OLI logistics department office"},
{ "5ad5d20586f77449be26d877 Name", "Key to utility room of OLI outlet"},
{ "5ad5d49886f77455f9731921 Name", "Key to utility room of power substation"},
{ "5ad5d64486f774079b080af8 Name", "Key to pharmacy"},
{ "5ad5d7d286f77450166e0a89 Name", "Key to KIBA store outlet"},
{ "5ad5db3786f7743568421cce Name", "Key to EMERCOM medical unit"},
{ "5ad7217186f7746744498875 Name", "Key to OLI cash register"},
{ "5ad7242b86f7740a6a3abd43 Name", "Key to IDEA cash register"},
{ "5ad7247386f7747487619dc3 Name", "Key to Goshan cash register"},
{ "5addaffe86f77470b455f900 Name", "Key to KIBA Outlet grate door"},
{ "5c1d0c5f86f7744bb2683cf0 Name", "Lab. Blue keycard"},
{ "5c1d0d6d86f7744bb2683e1f Name", "Lab. Yellow keycard. "},
{ "5c1d0dc586f7744baf2e7b79 Name", "Lab. Green keycard "},
{ "5c1d0efb86f7744baf2e7b7b Name", "Lab. Red keycard"},
{ "5c1d0f4986f7744bb01837fa Name", "Lab. Black keycard"},
{ "5c1e2a1e86f77431ea0ea84c Name", "Lab. key. Manager office"},
{ "5c1e2d1f86f77431e9280bee Name", "Lab. key. Testing area (weap.)"},
{ "5c1e495a86f7743109743dfb Name", "Lab. Violet keycard"},
{ "5c1f79a086f7746ed066fb8f Name", "Lab. key. Arsenal storage room"},
{ "5c94bbff86f7747ee735c08f Name", "TerraGroup Labs access keycard"},
{ "5d08d21286f774736e7c94c3 Name", "Shturman key"},
{ "5d403f9186f7743cac3f229b Name", "Bottle of Dan Jackiel Whiskey"},
{ "5d80c60f86f77440373c4ece Name", "RB-BK key"},
{ "5d80c62a86f7744036212b3f Name", "RB-VO key"},
{ "5d80c66d86f774405611c7d6 Name", "RB-AO key"},
{ "5d80c6c586f77440351beef1 Name", "RB-OB key"},
{ "5d80c6fc86f774403a401e3c Name", "RB-TB key"},
{ "5d80c78786f774403a401e3e Name", "RB-AK key"},
{ "5d80c88d86f77440556dbf07 Name", "RB-AM key"},
{ "5d80c8f586f77440373c4ed0 Name", "RB-OP key"},
{ "5d80c93086f7744036212b41 Name", "RB-MP11 key"},
{ "5d80c95986f77440351beef3 Name", "RB-MP12 key"},
{ "5d80ca9086f774403a401e40 Name", "RB-MP21 key"},
{ "5d80cab086f77440535be201 Name", "RB-MP22 key"},
{ "5d80cb3886f77440556dbf09 Name", "RB-PSP1 key"},
{ "5d80cb5686f77440545d1286 Name", "RB-PS81 key"},
{ "5d80cb8786f774405611c7d9 Name", "RB-PP key"},
{ "5d80cbd886f77470855c26c2 Name", "RB-MP13 key"},
{ "5d80ccac86f77470841ff452 Name", "RB-ORB1 key"},
{ "5d80ccdd86f77474f7575e02 Name", "RB-ORB2 key"},
{ "5d80cd1a86f77402aa362f42 Name", "RB-ORB3 key"},
{ "5d8e0db586f7744450412a42 Name", "RB-KORL key"},
{ "5d8e0e0e86f774321140eb56 Name", "RB-KPRL key"},
{ "5d8e15b686f774445103b190 Name", "Key to HEP station storage"},
{ "5d8e3ecc86f774414c78d05e Name", "RB-GN key"},
{ "5d947d3886f774447b415893 Name", "RB-SMP key"},
{ "5d947d4e86f774447b415895 Name", "RB-KSM key"},
{ "5d95d6be86f77424444eb3a7 Name", "RB-PS82 key"},
{ "5d95d6fa86f77424484aa5e9 Name", "Key RB-PSP2"},
{ "5d9f1fa686f774726974a992 Name", "RB-ST key"},
{ "5da46e3886f774653b7a83fe Name", "RB-RS key"},
{ "5da5cdcd86f774529238fb9b Name", "RB-RH key"},
{ "5da743f586f7744014504f72 Name", "USEC stash on Customs key"},
{ "5ae4498786f7744bde357695 Name", "The key to success"},
};


std::unordered_map<std::string, std::string> AllItems = {
{ "5422acb9af1c889c16000029 ShortName", "Item"},
{ "543be5664bdc2dd4348b4569 ShortName", "Item"},
{ "543be5cb4bdc2deb348b4568 ShortName", "Item"},
{ "543be5dd4bdc2deb348b4569 ShortName", "Item"},
{ "543be5e94bdc2df1348b4568 ShortName", "Item"},
{ "543be5f84bdc2dd4348b456a ShortName", "Item"},
{ "543be6564bdc2df4348b4568 ShortName", "Item"},
{ "543be6674bdc2df1348b4569 ShortName", "Item"},
{ "5447a9cd4bdc2dbd208b4567 ShortName", "M4A1"},
{ "5447ac644bdc2d6c208b4567 ShortName", "Ball 5.56x45"},
{ "5447b5cf4bdc2d65278b4567 ShortName", "Pistol"},
{ "5447b5e04bdc2d62278b4567 ShortName", "Item"},
{ "5447b5f14bdc2d61278b4567 ShortName", "Item"},
{ "5447b5fc4bdc2d87278b4567 ShortName", "Item"},
{ "5447b6094bdc2dc3278b4567 ShortName", "Item"},
{ "5447b6194bdc2d67278b4567 ShortName", "Item"},
{ "5447b6254bdc2dc3278b4568 ShortName", "Item"},
{ "5447bed64bdc2d97278b4568 ShortName", "Item"},
{ "5447bedf4bdc2d87278b4568 ShortName", "Item"},
{ "5447bee84bdc2dc3278b4569 ShortName", "Item"},
{ "5447e0e74bdc2d3c308b4567 ShortName", "Item"},
{ "5447e1d04bdc2dff2f8b4567 ShortName", "Item"},
{ "5448ba0b4bdc2d02308b456c ShortName", "Factory"},
{ "5448bc234bdc2d3c308b4569 ShortName", "Item"},
{ "5448bd6b4bdc2dfc2f8b4569 ShortName", "PM"},
{ "5448be9a4bdc2dfd2f8b456a ShortName", "RGD-5"},
{ "5448bf274bdc2dfc2f8b456a ShortName", "Item"},
{ "5448c12b4bdc2d02308b456f ShortName", "PM 90-93"},
{ "5448c1d04bdc2dff2f8b4569 ShortName", "GEN M3 20"},
{ "5448e5284bdc2dcb718b4567 ShortName", "Item"},
{ "5448e53e4bdc2d60728b4567 ShortName", "Item"},
{ "5448e54d4bdc2dcc718b4568 ShortName", "Item"},
{ "5448e5724bdc2ddf718b4568 ShortName", "Item"},
{ "5448e8d04bdc2ddf718b4569 ShortName", "Item"},
{ "5448e8d64bdc2dce718b4568 ShortName", "Item"},
{ "5448eb774bdc2d0a728b4567 ShortName", "Item"},
{ "5448ecbe4bdc2d60728b4568 ShortName", "Item"},
{ "5448f39d4bdc2d0a728b4568 ShortName", "Item"},
{ "5448f3a14bdc2d27728b4569 ShortName", "Item"},
{ "5448f3a64bdc2d60728b456a ShortName", "Item"},
{ "5448f3ac4bdc2dce718b4569 ShortName", "Item"},
{ "5448fe124bdc2da5018b4567 ShortName", "Item"},
{ "5448fe394bdc2d0d028b456c ShortName", "Item"},
{ "5448fe7a4bdc2d6f028b456b ShortName", "Item"},
{ "5448fee04bdc2dbc018b4567 ShortName", "Water"},
{ "5448ff904bdc2d6f028b456e ShortName", "Crackers"},
{ "5449016a4bdc2d6f028b456f ShortName", "Roubles"},
{ "544901bf4bdc2ddf018b456d ShortName", "Roubles"},
{ "544909bb4bdc2d6f028b4577 ShortName", "AN/PEQ-15"},
{ "54491bb74bdc2d09088b4567 ShortName", "ER Bayonet"},
{ "54491c4f4bdc2db1078b4568 ShortName", "MP-133"},
{ "544a11ac4bdc2d470e8b456a ShortName", "Alpha Container"},
{ "544a378f4bdc2d30388b4567 ShortName", "GEN M3 40"},
{ "544a37c44bdc2d25388b4567 ShortName", "MAG5-60"},
{ "544a38634bdc2d58388b4568 ShortName", "USGI A2"},
{ "544a3a774bdc2d3a388b4567 ShortName", "HAMR"},
{ "544a5caa4bdc2d1a388b4568 ShortName", "AVS"},
{ "544a5cde4bdc2d39388b456b ShortName", "MBSS"},
{ "544fb25a4bdc2dfb738b4567 ShortName", "Bandage"},
{ "544fb3364bdc2d34748b456a ShortName", "Splint"},
{ "544fb37f4bdc2dee738b4567 ShortName", "Painkillers"},
{ "544fb3f34bdc2d03748b456a ShortName", "Morphine"},
{ "544fb45d4bdc2dee738b4568 ShortName", "Salewa"},
{ "544fb5454bdc2df8738b456a ShortName", "Tool"},
{ "544fb62a4bdc2dfb738b4568 ShortName", "Pineapp.Jc."},
{ "544fb6cc4bdc2d34748b456e ShortName", "Slickers"},
{ "54527a984bdc2d4e668b4567 ShortName", "M855"},
{ "54527ac44bdc2d36668b4567 ShortName", "M855A1"},
{ "545cdae64bdc2d39198b4568 ShortName", "Tri-Zip"},
{ "545cdb794bdc2d3a198b456a ShortName", "6B43 6A"},
{ "5485a8684bdc2da71d8b4567 ShortName", "Ammo"},
{ "550aa4154bdc2dd8348b456b ShortName", "Item"},
{ "550aa4af4bdc2dd4348b456e ShortName", "Item"},
{ "550aa4bf4bdc2dd6348b456b ShortName", "Item"},
{ "550aa4cd4bdc2dd8348b456c ShortName", "Item"},
{ "550aa4dd4bdc2dc9348b4569 ShortName", "Item"},
{ "550ad14d4bdc2dd5348b456c ShortName", "Item"},
{ "555ef6e44bdc2de9068b457e ShortName", "Item"},
{ "557596e64bdc2dc2118b4571 ShortName", "Item"},
{ "557ff21e4bdc2d89578b4586 ShortName", "TGlass"},
{ "557ffd194bdc2d28148b457f ShortName", "Pockets"},
{ "55801eed4bdc2d89578b4588 ShortName", "SV-98"},
{ "558022b54bdc2dac148b458d ShortName", "EXPS3"},
{ "55802d5f4bdc2dac148b458e ShortName", "GEN M3 30"},
{ "55802f3e4bdc2de7118b4584 ShortName", "Item"},
{ "55802f4a4bdc2ddb688b4569 ShortName", "Item"},
{ "55802f5d4bdc2dac148b458f ShortName", "MOE Pistol"},
{ "558032614bdc2de7118b4585 ShortName", "BGV-MK46K Black"},
{ "55818a104bdc2db9688b4569 ShortName", "Item"},
{ "55818a304bdc2db5418b457d ShortName", "Item"},
{ "55818a594bdc2db9688b456a ShortName", "Item"},
{ "55818a604bdc2db5418b457e ShortName", "Item"},
{ "55818a684bdc2ddd698b456d ShortName", "Item"},
{ "55818a6f4bdc2db9688b456b ShortName", "Item"},
{ "55818ac54bdc2d5b648b456e ShortName", "Item"},
{ "55818acf4bdc2dde698b456b ShortName", "Item"},
{ "55818ad54bdc2ddc698b4569 ShortName", "Item"},
{ "55818add4bdc2d5b648b456f ShortName", "Item"},
{ "55818ae44bdc2dde698b456c ShortName", "Item"},
{ "55818aeb4bdc2ddc698b456a ShortName", "Item"},
{ "55818af64bdc2d5b648b4570 ShortName", "Item"},
{ "55818afb4bdc2dde698b456d ShortName", "Item"},
{ "55818b014bdc2ddc698b456b ShortName", "Item"},
{ "55818b084bdc2d5b648b4571 ShortName", "Item"},
{ "55818b0e4bdc2dde698b456e ShortName", "Item"},
{ "55818b164bdc2ddc698b456c ShortName", "Item"},
{ "55818b1d4bdc2d5b648b4572 ShortName", "Item"},
{ "55818b224bdc2dde698b456f ShortName", "Item"},
{ "559ba5b34bdc2d1f1a8b4582 ShortName", "SV-98 polymer"},
{ "55d355e64bdc2d962f8b4569 ShortName", "M4A1 Upper"},
{ "55d35ee94bdc2d61338b4568 ShortName", "260mm AR-15 5.56x45"},
{ "55d3632e4bdc2d972f8b4569 ShortName", "370mm AR-15 5.56x45"},
{ "55d448594bdc2d8c2f8b4569 ShortName", "610mm MP-133 12ga"},
{ "55d4491a4bdc2d882f8b456e ShortName", "510mm MP-133 12ga"},
{ "55d449444bdc2d962f8b456d ShortName", "610mm MP-133 12ga"},
{ "55d44fd14bdc2d962f8b456e ShortName", "AR-15 Charge"},
{ "55d459824bdc2d892f8b4573 ShortName", "KAC RIS"},
{ "55d45d3f4bdc2d972f8b456c ShortName", "МR-133 Beechwood"},
{ "55d45f484bdc2d972f8b456d ShortName", "Custom MP-133 plastic"},
{ "55d480c04bdc2d1d4e8b456a ShortName", "6L23"},
{ "55d481904bdc2d8c2f8b456a ShortName", "6L26"},
{ "55d482194bdc2d1d4e8b456b ShortName", "6L31"},
{ "55d4837c4bdc2d1d4e8b456c ShortName", "Saiga 545"},
{ "55d484b44bdc2d1d4e8b456d ShortName", "MP-133x6"},
{ "55d485804bdc2d8c2f8b456b ShortName", "MP-133x8"},
{ "55d485be4bdc2d962f8b456f ShortName", "PM/PPSH"},
{ "55d4887d4bdc2d962f8b4570 ShortName", "STANAG"},
{ "55d48a634bdc2d8b2f8b456a ShortName", "SPRM"},
{ "55d48ebc4bdc2d8c2f8b456c ShortName", "Sprut"},
{ "55d4ae6c4bdc2d8b2f8b456e ShortName", "M4SS"},
{ "55d4af3a4bdc2d972f8b456f ShortName", "LPA2F"},
{ "55d4b9964bdc2d1d4e8b456e ShortName", "A2 Pistol"},
{ "55d5f46a4bdc2d1b198b4567 ShortName", "CA2R"},
{ "55d614004bdc2d86028b4568 ShortName", "MONSTER"},
{ "55d6190f4bdc2d87028b4567 ShortName", "M MONSTER"},
{ "55d720f24bdc2d88028b456d ShortName", "Item"},
{ "55d7217a4bdc2d86028b456d ShortName", "Default Inventory"},
{ "55f84c3c4bdc2d5f408b4576 ShortName", "RIS II 9.5 FDE"},
{ "560835c74bdc2dc8488b456f ShortName", "510mm MP-133 12ga"},
{ "560836484bdc2d20478b456e ShortName", "540mm MP-133"},
{ "560836b64bdc2d57468b4567 ShortName", "540mm MP-133 12ga"},
{ "560836fb4bdc2d773f8b4569 ShortName", "660mm МR-133"},
{ "560837154bdc2da74d8b4568 ShortName", "660mm MP-133 12ga"},
{ "5608373c4bdc2dc8488b4570 ShortName", "710mm MP-133"},
{ "560837544bdc2de22e8b456e ShortName", "710mm MP-133 12ga"},
{ "560837824bdc2d57468b4568 ShortName", "750mm MP-133"},
{ "5608379a4bdc2d26448b4569 ShortName", "750mm MP-133 12ga"},
{ "560838c94bdc2d77798b4569 ShortName", "RTC 12ga"},
{ "56083a334bdc2dc8488b4571 ShortName", "133/153 Pl.g."},
{ "56083be64bdc2d20478b456f ShortName", "133/153 Pl.s."},
{ "56083cba4bdc2de22e8b456f ShortName", "133/153 W.s."},
{ "56083e1b4bdc2dc8488b4572 ShortName", "SV-98 Rear"},
{ "56083eab4bdc2d26448b456a ShortName", "SV-98 HR"},
{ "560d5e524bdc2d25448b4571 ShortName", "7mm 12c"},
{ "560d61e84bdc2da74d8b4571 ShortName", "SNB"},
{ "560d657b4bdc2da74d8b4572 ShortName", "Klesch"},
{ "560d75f54bdc2da74d8b4573 ShortName", "SNB 7.62x54 R"},
{ "560e620e4bdc2d724b8b456b ShortName", "SV-98 STD"},
{ "5644bd2b4bdc2d3b4c8b4572 ShortName", "AK-74N"},
{ "5645bc214bdc2d363b8b4571 ShortName", "Kiver-M"},
{ "5645bcb74bdc2ded0b8b4578 ShortName", "Item"},
{ "5645bcc04bdc2d363b8b4572 ShortName", "ComTac2"},
{ "5648a69d4bdc2ded0b8b457b ShortName", "BlackRock"},
{ "5648a7494bdc2d9d488b4583 ShortName", "PACA"},
{ "5648ac824bdc2ded0b8b457d ShortName", "RP-1"},
{ "5648ae314bdc2d3d1c8b457f ShortName", "CAA RS47"},
{ "5648b0744bdc2d363b8b4578 ShortName", "6P20 Sb.6"},
{ "5648b1504bdc2d9d488b4584 ShortName", "6P20 Sb.9"},
{ "5648b2414bdc2d3b4c8b4578 ShortName", "M1-B"},
{ "5648b4534bdc2d3d1c8b4580 ShortName", "B-10М B-19"},
{ "5648b62b4bdc2d9d488b4585 ShortName", "GP-34"},
{ "5648b6ff4bdc2d3d1c8b4581 ShortName", "ТТ 10000"},
{ "5649a2464bdc2d91118b45a8 ShortName", "MPR45"},
{ "5649aa744bdc2ded0b8b457e ShortName", "6P20 0-20"},
{ "5649ab884bdc2ded0b8b457f ShortName", "DTK-1"},
{ "5649ad3f4bdc2df8348b4585 ShortName", "6P4 Sb.8V"},
{ "5649ade84bdc2d1b2b8b4587 ShortName", "6P1 Sb.8"},
{ "5649ae4a4bdc2d1b2b8b4588 ShortName", "RК-3"},
{ "5649af094bdc2df8348b4586 ShortName", "6P1 0-1"},
{ "5649af884bdc2d1b2b8b4589 ShortName", "B-33"},
{ "5649b0544bdc2d1b2b8b458a ShortName", "6P1 Sb.2"},
{ "5649b0fc4bdc2d17108b4588 ShortName", "6P20 Sb.7"},
{ "5649b1c04bdc2d16268b457c ShortName", "6P20 Sb.5"},
{ "5649b2314bdc2d79388b4576 ShortName", "МЕ4"},
{ "5649be884bdc2d79388b4577 ShortName", "CST"},
{ "5649d9a14bdc2d79388b4580 ShortName", "ТТ01"},
{ "5649ed104bdc2d3d1c8b458b ShortName", "PS 7.62x39"},
{ "564ca99c4bdc2d16268b4589 ShortName", "6L20"},
{ "564ca9df4bdc2d35148b4569 ShortName", "6L18"},
{ "564caa3d4bdc2d17108b458e ShortName", "TGP-A"},
{ "5656d7c34bdc2d9d198b4587 ShortName", "PS"},
{ "5656eb674bdc2d35148b457c ShortName", "40mm"},
{ "566162e44bdc2d3f298b4573 ShortName", "Item"},
{ "5661632d4bdc2d903d8b456b ShortName", "Item"},
{ "566168634bdc2d144c8b456c ShortName", "Item"},
{ "566965d44bdc2d814c8b4571 ShortName", "Item"},
{ "566abbb64bdc2d144c8b457d ShortName", "Item"},
{ "566abbc34bdc2d92178b4576 ShortName", "Stash"},
{ "5671435f4bdc2d96058b4569 ShortName", "Item"},
{ "567143bf4bdc2d1a0f8b4567 ShortName", "Сase"},
{ "5672c92d4bdc2d180f8b4567 ShortName", "Room 118 Key"},
{ "5672cb124bdc2d1a0f8b4568 ShortName", "AA Bat."},
{ "5672cb304bdc2dc2088b456a ShortName", "D Bat."},
{ "5672cb724bdc2dc2088b456b ShortName", "GMcount"},
{ "5673de654bdc2d180f8b456d ShortName", "Saury"},
{ "56742c284bdc2d98058b456d ShortName", "Crickent"},
{ "56742c2e4bdc2d95058b456d ShortName", "Zibbo"},
{ "56742c324bdc2d150f8b456d ShortName", "GPhone"},
{ "567583764bdc2d98058b456e ShortName", "Item"},
{ "567849dd4bdc2d150f8b456e ShortName", "Item"},
{ "5696686a4bdc2da3298b456a ShortName", "Dollars"},
{ "569668774bdc2da2298b4568 ShortName", "Euros"},
{ "56d59856d2720bd8418b456a ShortName", "P226R"},
{ "56d59948d2720bb7418b4582 ShortName", "9x19 P226"},
{ "56d59d3ad2720bdb418b4577 ShortName", "Pst gzh"},
{ "56d5a1f7d2720bb3418b456a ShortName", "112mm P226 9x19"},
{ "56d5a2bbd2720bb8418b456a ShortName", "BPGripP226"},
{ "56d5a407d2720bb3418b456b ShortName", "P226 Slide"},
{ "56d5a661d2720bd8418b456b ShortName", "Sig #8FR"},
{ "56d5a77ed2720b90418b4568 ShortName", "Sig #8R"},
{ "56dee2bdd2720bc8328b4567 ShortName", "MP-153"},
{ "56deec93d2720bec348b4568 ShortName", "750mm М -153 12ga"},
{ "56deed6ed2720b4c698b4583 ShortName", "МP-153 Polymer"},
{ "56deee15d2720bee328b4567 ShortName", "МP153x4"},
{ "56deeefcd2720bc8328b4568 ShortName", "МP153x8"},
{ "56def37dd2720bec348b456a ShortName", "X400"},
{ "56dfef82d2720bbd668b4567 ShortName", "BP"},
{ "56dff026d2720bb8668b4567 ShortName", "BS"},
{ "56dff061d2720bb5668b4567 ShortName", "BT"},
{ "56dff0bed2720bb0668b4567 ShortName", "FMJ"},
{ "56dff216d2720bbd668b4568 ShortName", "HP"},
{ "56dff2ced2720bb4668b4567 ShortName", "PP"},
{ "56dff338d2720bbd668b4569 ShortName", "PRS"},
{ "56dff3afd2720bba668b4567 ShortName", "PS"},
{ "56dff421d2720b5f5a8b4567 ShortName", "SP"},
{ "56dff4a2d2720bbd668b456a ShortName", "T"},
{ "56dff4ecd2720b5f5a8b4568 ShortName", "US"},
{ "56e0598dd2720bb5668b45a6 ShortName", "PB"},
{ "56e05a6ed2720bd0748b4567 ShortName", "Bakelite PB"},
{ "56e05b06d2720bb2668b4586 ShortName", "PB-S"},
{ "56e294cdd2720b603a8b4575 ShortName", "Terraplane 85L"},
{ "56e335e4d2720b6c058b456d ShortName", "ScavBP"},
{ "56e33634d2720bd8058b456b ShortName", "Duffle"},
{ "56e33680d2720be2748b4576 ShortName", "T-Bag"},
{ "56ea6fafd2720b844b8b4593 ShortName", "KX3"},
{ "56ea70acd2720b844b8b4594 ShortName", "FF 4-16"},
{ "56ea7165d2720b6e518b4583 ShortName", "BOTL"},
{ "56ea7293d2720b8d4b8b45ba ShortName", "SM220-239"},
{ "56ea8180d2720bf2698b456a ShortName", "KAC QDC"},
{ "56ea8222d2720b69698b4567 ShortName", "SV-98 Bipod"},
{ "56ea8d2fd2720b7c698b4570 ShortName", "PICBLOCK"},
{ "56ea9461d2720b67698b456f ShortName", "Item"},
{ "56eabcd4d2720b66698b4574 ShortName", "MK12"},
{ "56eabf3bd2720b75698b4569 ShortName", "MOE Stock"},
{ "570fd6c2d2720bc6458b457f ShortName", "553"},
{ "570fd721d2720bc5458b4596 ShortName", "MRS"},
{ "570fd79bd2720bc7458b4583 ShortName", "OKP-7"},
{ "5710c24ad2720bc3458b45a3 ShortName", "F-1"},
{ "571659bb2459771fb2755a12 ShortName", "ECS FDE"},
{ "571a12c42459771f627b58a0 ShortName", "TT"},
{ "571a26d524597720680fbe8a ShortName", "116mm st. ТТ"},
{ "571a279b24597720b4066566 ShortName", "121mm thr. TT"},
{ "571a282c2459771fb2755a69 ShortName", "TT grips"},
{ "571a28e524597720b4066567 ShortName", "TT silencer"},
{ "571a29dc2459771fb2755a6a ShortName", "tt-105"},
{ "57235b6f24597759bf5a30f1 ShortName", "PVS-14"},
{ "572b7adb24597762ae139821 ShortName", "Scav Vest"},
{ "572b7d8524597762b472f9d1 ShortName", "Cap"},
{ "572b7f1624597762ae139822 ShortName", "Balaclava"},
{ "572b7fa124597762b472f9d2 ShortName", "Beanie"},
{ "572b7fa524597762b747ce82 ShortName", "Mask"},
{ "5733279d245977289b77ec24 ShortName", "Battery"},
{ "573474f924597738002c6174 ShortName", "Chainlet"},
{ "5734758f24597738025ee253 ShortName", "GoldChain"},
{ "573475fb24597737fb1379e1 ShortName", "Cigarettes"},
{ "573476d324597737da2adc13 ShortName", "Cigarettes"},
{ "573476f124597737e04bf328 ShortName", "Cigarettes"},
{ "5734770f24597738025ee254 ShortName", "Cigarettes"},
{ "5734773724597737fd047c14 ShortName", "Cond. milk"},
{ "5734779624597737e04bf329 ShortName", "CPU Fan"},
{ "573477e124597737dd42e191 ShortName", "CPU"},
{ "5734781f24597737e04bf32a ShortName", "DVD"},
{ "573478bc24597738002c6175 ShortName", "Horse"},
{ "5734795124597738002c6176 ShortName", "Tape"},
{ "57347b8b24597737dd42e192 ShortName", "Matches"},
{ "57347baf24597738002c6178 ShortName", "RAM"},
{ "57347c1124597737fb1379e3 ShortName", "Duct tape"},
{ "57347c2e24597744902c94a1 ShortName", "PSU"},
{ "57347c5b245977448d35f6e1 ShortName", "Bolts"},
{ "57347c77245977448d35f6e2 ShortName", "Screw nut"},
{ "57347c93245977448d35f6e3 ShortName", "Toothpaste"},
{ "57347ca924597744596b4e71 ShortName", "Graphics card"},
{ "57347cd0245977445a2d6ff1 ShortName", "T-Plug"},
{ "57347d3d245977448f7b7f61 ShortName", "Croutons"},
{ "57347d5f245977448b40fa81 ShortName", "Humpback"},
{ "57347d692459774491567cf1 ShortName", "Peas"},
{ "57347d7224597744596b4e72 ShortName", "Tushonka"},
{ "57347d8724597744596b4e76 ShortName", "Squash"},
{ "57347d90245977448f7b7f65 ShortName", "Oatflakes"},
{ "57347d9c245977448b40fa85 ShortName", "Herring"},
{ "57347da92459774491567cf5 ShortName", "Tushonka"},
{ "5735fdcd2459776445391d61 ShortName", "AKBS"},
{ "5735ff5c245977640e39ba7e ShortName", "FMJ43"},
{ "573601b42459776410737435 ShortName", "LRN"},
{ "573602322459776445391df1 ShortName", "LRNPC"},
{ "5736026a245977644601dc61 ShortName", "P gl"},
{ "573603562459776430731618 ShortName", "Pst gzh"},
{ "573603c924597764442bd9cb ShortName", "PT gzh"},
{ "573718ba2459775a75491131 ShortName", "9 BZT gzh"},
{ "573719762459775a626ccbc1 ShortName", "9 P gzh"},
{ "573719df2459775a626ccbc2 ShortName", "PBM"},
{ "57371aab2459775a77142f22 ShortName", "PMM"},
{ "57371b192459775a9f58a5e0 ShortName", "PPe gzh"},
{ "57371e4124597760ff7b25f1 ShortName", "PPT gzh"},
{ "57371eb62459776125652ac1 ShortName", "PRS gs"},
{ "57371f2b24597761224311f1 ShortName", "PS gs PPO"},
{ "57371f8d24597761006c6a81 ShortName", "PSO gzh"},
{ "5737201124597760fc4431f1 ShortName", "Pst gzh"},
{ "5737207f24597760ff7b25f2 ShortName", "PSV"},
{ "573720e02459776143012541 ShortName", "RG028 gzh"},
{ "57372140245977611f70ee91 ShortName", "SP7 gzh"},
{ "5737218f245977612125ba51 ShortName", "SP8 gzh"},
{ "573722e82459776104581c21 ShortName", "BZHT gzh"},
{ "573724b42459776125652ac2 ShortName", "P gzh"},
{ "5737250c2459776125652acc ShortName", "PBM"},
{ "5737256c2459776125652acd ShortName", "PMM"},
{ "573725b0245977612125bae2 ShortName", "Ppe gzh"},
{ "5737260b24597761224311f2 ShortName", "PPT gzh"},
{ "5737266524597761006c6a8c ShortName", "PRS gzh"},
{ "573726d824597765d96be361 ShortName", "PS gs PPO"},
{ "5737273924597765dd374461 ShortName", "PSO gzh"},
{ "573727c624597765cc785b5b ShortName", "Pst gzh"},
{ "5737280e24597765cc785b5c ShortName", "PSV"},
{ "5737287724597765e1625ae2 ShortName", "RG028 gzh"},
{ "573728cc24597765cc785b5d ShortName", "SP7 gzh"},
{ "573728f324597765e5728561 ShortName", "SP8 gzh"},
{ "5737292724597765e5728562 ShortName", "BP gs"},
{ "57372a7f24597766fe0de0c1 ShortName", "BP gs"},
{ "57372ac324597767001bc261 ShortName", "BP gs"},
{ "57372b832459776701014e41 ShortName", "BS gs"},
{ "57372bad245977670b7cd242 ShortName", "BS gs"},
{ "57372bd3245977670b7cd243 ShortName", "BS gs"},
{ "57372c21245977670937c6c2 ShortName", "BT gs"},
{ "57372c56245977685e584582 ShortName", "BT gs"},
{ "57372c89245977685d4159b1 ShortName", "BT gs"},
{ "57372d1b2459776862260581 ShortName", "PP gs"},
{ "57372d4c245977685a3da2a1 ShortName", "PP gs"},
{ "57372db0245977685d4159b2 ShortName", "PP gs"},
{ "57372deb245977685d4159b3 ShortName", "PRS gs"},
{ "57372e1924597768553071c1 ShortName", "PRS gs"},
{ "57372e4a24597768553071c2 ShortName", "PRS gs"},
{ "57372e73245977685d4159b4 ShortName", "PS gs"},
{ "57372e94245977685648d3e1 ShortName", "PS gs"},
{ "57372ebf2459776862260582 ShortName", "PS gs"},
{ "57372ee1245977685d4159b5 ShortName", "T gs"},
{ "57372f2824597769a270a191 ShortName", "T gs"},
{ "57372f5c24597769917c0131 ShortName", "T gs"},
{ "57372f7d245977699b53e301 ShortName", "US gs"},
{ "57372fc52459776998772ca1 ShortName", "US gs"},
{ "5737300424597769942d5a01 ShortName", "US gs"},
{ "5737330a2459776af32363a1 ShortName", "FMJ"},
{ "5737339e2459776af261abeb ShortName", "HP"},
{ "573733c72459776b0b7b51b0 ShortName", "SP"},
{ "5739d41224597779c3645501 ShortName", "Pst Gzh"},
{ "57486e672459770abd687134 ShortName", "OKP-7 Dove"},
{ "574d967124597745970e7c94 ShortName", "SKS"},
{ "574dad8024597745964bf05c ShortName", "56-A-231 Sb.5"},
{ "574db213245977459a2f3f5d ShortName", "SKS Rear"},
{ "574eb85c245977648157eec3 ShortName", "Factory"},
{ "57505f6224597709a92585a9 ShortName", "Alyonka"},
{ "575062b524597720a31c09a1 ShortName", "Green Tea"},
{ "57513f07245977207e26a311 ShortName", "Apl.jc."},
{ "57513f9324597720a7128161 ShortName", "Pom.juice"},
{ "57513fcc24597720a31c09a6 ShortName", "Vita juice"},
{ "5751435d24597720a27126d1 ShortName", "NRG Drink"},
{ "57514643245977207f2c2d09 ShortName", "TarCola"},
{ "575146b724597720a27126d5 ShortName", "Milk"},
{ "5751487e245977207e26a315 ShortName", "Emelya"},
{ "5751496424597720a27126da ShortName", "Hot Rod"},
{ "5751a25924597722c463c472 ShortName", "Bandage"},
{ "5751a89d24597722aa0e8db0 ShortName", "GoldenStar"},
{ "5755356824597772cb798962 ShortName", "AI-2"},
{ "5755383e24597772cb798966 ShortName", "Vaseline"},
{ "576165642459773c7a400233 ShortName", "Saiga 12ga v.10"},
{ "576167ab2459773cad038c43 ShortName", "SOK-12 P.T."},
{ "576169e62459773c69055191 ShortName", "Sb.7-1"},
{ "57616a9e2459773c7a400234 ShortName", "Sb.5"},
{ "57616c112459773cce774d66 ShortName", "Sb.0-2"},
{ "57616ca52459773c69055192 ShortName", "SOK-12АК Stock"},
{ "576a581d2459771e7b1bc4f1 ShortName", "MP-443 Grach"},
{ "576a5ed62459771e9c2096cb ShortName", "9x19 MP-443"},
{ "576a63cd2459771e796e0e11 ShortName", "P.grip.MP443"},
{ "576a7c512459771e796e0e17 ShortName", "B-8"},
{ "576fd4ec2459777f0b518431 ShortName", "PSO 1M2-1"},
{ "577d128124597739d65d0e56 ShortName", "FFWB"},
{ "577d141e24597739c5255e01 ShortName", "FF3"},
{ "577e1c9d2459773cd707c525 ShortName", "Paper"},
{ "5780cda02459777b272ede61 ShortName", "306 Key"},
{ "5780cf692459777de4559321 ShortName", "315 Key"},
{ "5780cf722459777a5108b9a1 ShortName", "308 Key"},
{ "5780cf7f2459777de4559322 ShortName", "Mark.Key"},
{ "5780cf942459777df90dcb72 ShortName", "Room 214 Key"},
{ "5780cf9e2459777df90dcb73 ShortName", "Room 218 Key"},
{ "5780cfa52459777dfb276eb1 ShortName", "Room 220 Key"},
{ "5780d0532459777a5108b9a2 ShortName", "Customs key"},
{ "5780d0652459777df90dcb74 ShortName", "Gas station"},
{ "5780d07a2459777de4559324 ShortName", "Cabin key"},
{ "57838ad32459774a17445cd2 ShortName", "VSS"},
{ "57838c962459774a1651ec63 ShortName", "VSS suppressor"},
{ "57838e1b2459774a256959b1 ShortName", "VSS Rear"},
{ "57838f0b2459774a256959b2 ShortName", "6L24"},
{ "57838f9f2459774a150289a0 ShortName", "6L25"},
{ "578395402459774a256959b5 ShortName", "Ksk VSS"},
{ "578395e82459774a0e553c7b ShortName", "VSS Stock"},
{ "5783c43d2459774bbe137486 ShortName", "Wallet"},
{ "57864a3d24597754843f8721 ShortName", "Item"},
{ "57864a66245977548f04a81f ShortName", "Item"},
{ "57864ada245977548638de91 ShortName", "Item"},
{ "57864bb7245977548b3b66c2 ShortName", "Item"},
{ "57864c322459775490116fbf ShortName", "Item"},
{ "57864c8c245977548867e7f1 ShortName", "Item"},
{ "57864e4c24597754843f8723 ShortName", "Item"},
{ "57864ee62459775490116fc1 ShortName", "Item"},
{ "578f8778245977358849a9b5 ShortName", "Jacket"},
{ "578f8782245977354405a1e3 ShortName", "Safe"},
{ "578f879c24597735401e6bc6 ShortName", "Cash register"},
{ "578f87a3245977356274f2cb ShortName", "Duffle bag"},
{ "578f87ad245977356274f2cc ShortName", "Wooden crate"},
{ "578f87b7245977356274f2cd ShortName", "Drawer"},
{ "579204f224597773d619e051 ShortName", "PM(t)"},
{ "5795f317245977243854e041 ShortName", "Item"},
{ "5798a2832459774b53341029 ShortName", "Customs"},
{ "57a0dfb82459774d3078b56c ShortName", "SP-5"},
{ "57a0e5022459774d1673f889 ShortName", "SP-6"},
{ "57a3459f245977764a01f703 ShortName", "B-3"},
{ "57a349b2245977762b199ec7 ShortName", "Key"},
{ "57a9b9ce2459770ee926038d ShortName", "SOK12 RS"},
{ "57ac965c24597706be5f975c ShortName", "DR1/4x"},
{ "57aca93d2459771f2c7e26db ShortName", "DR1/4xFDE"},
{ "57acb6222459771ec34b5cb0 ShortName", "043-02"},
{ "57ade1442459771557167e15 ShortName", "Baskak"},
{ "57adff4f24597737f373b6e6 ShortName", "BRAVO4"},
{ "57ae0171245977343c27bfcf ShortName", "PK-06"},
{ "57af48872459771f0b2ebf11 ShortName", "OMRG FDE"},
{ "57bef4c42459772e8d35a53b ShortName", "Item"},
{ "57c44b372459772d2b39b8ce ShortName", "AS VAL"},
{ "57c44dd02459772d2e0ae249 ShortName", "VAL suppressor"},
{ "57c44e7b2459772d28133248 ShortName", "AS VAL rear sight"},
{ "57c44f4f2459772d2c627113 ShortName", "VAL Dust cover"},
{ "57c44fa82459772d2d75e415 ShortName", "VAL pol."},
{ "57c450252459772d28133253 ShortName", "VAL Stock"},
{ "57c55efc2459772d2c6271e7 ShortName", "OMRG Black"},
{ "57c55f092459772d291a8463 ShortName", "OMRG GE"},
{ "57c55f112459772d28133310 ShortName", "OMRG GG"},
{ "57c55f172459772d27602381 ShortName", "OMRG OD"},
{ "57c5ac0824597754771e88a9 ShortName", "3-24x42"},
{ "57c69dd424597774c03b7bbc ShortName", "30mm Mount"},
{ "57c9a89124597704ee6faec1 ShortName", "226FDE"},
{ "57cd379a24597778e7682ecf ShortName", "KATT"},
{ "57cff947245977638e6f2a19 ShortName", "MOE AKM"},
{ "57cffb66245977632f391a99 ShortName", "AFG M-LOK"},
{ "57cffcd624597763133760c5 ShortName", "AFG M-LOK"},
{ "57cffcdd24597763f5110006 ShortName", "AFG M-LOK"},
{ "57cffce524597763b31685d8 ShortName", "AFG M-LOK"},
{ "57cffd8224597763b03fc609 ShortName", "MOE AKM"},
{ "57cffddc24597763133760c6 ShortName", "MOE AKM"},
{ "57cffe0024597763b03fc60b ShortName", "MOE AKM"},
{ "57cffe20245977632f391a9d ShortName", "MOE AKM"},
{ "57d14d2524597714373db789 ShortName", "PP-91 Kedr"},
{ "57d14e1724597714010c3f4b ShortName", "PP91 Std"},
{ "57d1519e24597714373db79d ShortName", "PP91 Std"},
{ "57d152ec245977144076ccdf ShortName", "PP91 Pol"},
{ "57d17c5e2459775a5c57d17d ShortName", "WF501B"},
{ "57d17e212459775a1179a0f5 ShortName", "25 mm ring"},
{ "57da93632459771cb65bf83f ShortName", "NT-4 blk."},
{ "57dbb57e2459774673234890 ShortName", "NT-4 FDE"},
{ "57dc2fa62459775949412633 ShortName", "AKS-74U"},
{ "57dc324a24597759501edc20 ShortName", "6P26 0-20"},
{ "57dc32dc245977596d4ef3d3 ShortName", "6P26 Sb.6"},
{ "57dc334d245977597164366f ShortName", "6P26 Sb.7"},
{ "57dc347d245977596754e7a1 ShortName", "6P26 Sb.5"},
{ "57e26ea924597715ca604a09 ShortName", "A-2607"},
{ "57e26fc7245977162a14b800 ShortName", "A-2607"},
{ "57e3dba62459770f0c32322b ShortName", "6P4 Sb.9"},
{ "57ee59b42459771c7b045da5 ShortName", "Kedr RIS"},
{ "57f3a5ae2459772b0e0bf19e ShortName", "PSO eyecup"},
{ "57f3c6bd24597738e730fa2f ShortName", "PP-91-01 Kedr-B"},
{ "57f3c7e024597738ea4ba286 ShortName", "PP-91-01 muzzlethread"},
{ "57f3c8cc2459773ec4480328 ShortName", "PP-91-01 suppressor"},
{ "57f4c844245977379d5c14d1 ShortName", "PP-9 Klin"},
{ "57fd23e32459772d0805bcf1 ShortName", "LS321"},
{ "57ffa9f4245977728561e844 ShortName", "B-11"},
{ "57ffaea724597779f52b3a4d ShortName", "B-12"},
{ "57ffb0062459777a045af529 ShortName", "B-18"},
{ "57ffb0e42459777d047111c5 ShortName", "PBS-4"},
{ "5811ce572459770cba1a34ea ShortName", "Stash"},
{ "5811ce662459770f6f490f32 ShortName", "Stash"},
{ "5811ce772459770e9e5f9532 ShortName", "Stash"},
{ "5827272a24597748c74bdeea ShortName", "MTU002 L"},
{ "58272b392459774b4c7b3ccd ShortName", "MTU002 S"},
{ "58272b842459774abc128d50 ShortName", "CSS-SRM-L"},
{ "58272d7f2459774f6311ddfd ShortName", "GK-02"},
{ "583990e32459771419544dd2 ShortName", "AKS-74UN"},
{ "5839a40f24597726f856b511 ShortName", "AKS-74UB"},
{ "5839a7742459773cf9693481 ShortName", "AKS-74UB D.c."},
{ "58491f3324597764bc48fa02 ShortName", "XPS3-0"},
{ "584924ec24597768f12ae244 ShortName", "XPS3-2"},
{ "584984812459776a704a82a6 ShortName", "P1X42"},
{ "5857a8b324597729ab0a0e7d ShortName", "Beta Container"},
{ "5857a8bc2459772bad15db29 ShortName", "Gamma container"},
{ "587de4282459771bca0ec90b ShortName", "P226 tr. 9x19"},
{ "587de5ba2459771c0f1e8a58 ShortName", "P226 protection cap"},
{ "587df3a12459772c28142567 ShortName", "SKS int."},
{ "587df583245977373c4f1129 ShortName", "SKS-A5"},
{ "587e02ff24597743df3deaeb ShortName", "OP-SKS"},
{ "587e0531245977466077a0f7 ShortName", "OP-SKS W.s."},
{ "587e08ee245977446b4410cf ShortName", "OPSKS DT"},
{ "588200af24597742fa221dfb ShortName", "610mm М -153 12ga"},
{ "588200c224597743990da9ed ShortName", "660mm М -153 12ga"},
{ "588200cf2459774414733d55 ShortName", "710mm М -153 12ga"},
{ "58820d1224597753c90aeb13 ShortName", "12x70 Slug"},
{ "5882163224597757561aa920 ShortName", "МP153x7"},
{ "5882163824597757561aa922 ShortName", "МP153x6"},
{ "5882163e24597758206fee8c ShortName", "МP153x5"},
{ "588226d124597767ad33f787 ShortName", "AFG blk."},
{ "588226dd24597767ad33f789 ShortName", "AFG FDE"},
{ "588226e62459776e3e094af7 ShortName", "AFG FG"},
{ "588226ef24597767af46e39c ShortName", "AFG OD"},
{ "58864a4f2459770fcc257101 ShortName", "PSO gzh"},
{ "5887431f2459777e1612938f ShortName", "LPS Gzh"},
{ "588892092459774ac91d4b11 ShortName", "DVL-10"},
{ "5888945a2459774bf43ba385 ShortName", "DVL-10 500mm .308"},
{ "5888956924597752983e182d ShortName", "DVL-10 M2 660mm .308"},
{ "5888961624597754281f93f3 ShortName", "Harris HBR"},
{ "5888976c24597754281f93f5 ShortName", "DVL-10 М2"},
{ "5888988e24597752fe43a6fa ShortName", "DVL-10"},
{ "5888996c24597754281f9419 ShortName", "DVL-10 М2 MBr"},
{ "58889c7324597754281f9439 ShortName", "DVL-10 MD"},
{ "58889d0c2459775bc215d981 ShortName", "LOBAEV Arms Stock"},
{ "588b56d02459771481110ae2 ShortName", "RIS II 9.5 BLK"},
{ "58948c8e86f77409493f7266 ShortName", "MPX"},
{ "58949dea86f77409483e16a8 ShortName", "MPX A2"},
{ "58949edd86f77409483e16a9 ShortName", "MPX Charge"},
{ "58949fac86f77409483e16aa ShortName", "MPX Charge"},
{ "5894a05586f774094708ef75 ShortName", "9x19 MPX"},
{ "5894a13e86f7742405482982 ShortName", "MCX/MPX early"},
{ "5894a2c386f77427140b8342 ShortName", "203mm MPX 9x19"},
{ "5894a42086f77426d2590762 ShortName", "MPX Gen. 1"},
{ "5894a51286f77426d13baf02 ShortName", "MPX p. grip"},
{ "5894a5b586f77426d2590767 ShortName", "MPX 1 gen."},
{ "5894a73486f77426d259076c ShortName", "SIG Front Flip Up"},
{ "5894a81786f77427140b8347 ShortName", "SIG Rearsight Flip Up"},
{ "58a56f8d86f774651579314c ShortName", "2In. Gen1"},
{ "58a5c12e86f7745d585a2b9e ShortName", "4In. Gen1"},
{ "58ac1bf086f77420ed183f9f ShortName", "SIG F.K."},
{ "58ac60eb86f77401897560ff ShortName", "Balaclava_dev"},
{ "58aeaaa886f7744fc1560f81 ShortName", "165mm MPXSD 9x19"},
{ "58aeac1b86f77457c419f475 ShortName", "MPX-SD"},
{ "58c157be86f77403c74b2bb6 ShortName", "BGV-MK46K FDE"},
{ "58c157c886f774032749fb06 ShortName", "BGV-MK46K FG"},
{ "58d2664f86f7747fec5834f6 ShortName", "DPCSM"},
{ "58d268fc86f774111273f8c2 ShortName", "DP"},
{ "58d2912286f7744e27117493 ShortName", "RBP"},
{ "58d2946386f774496974c37e ShortName", "MOE Stock FDE"},
{ "58d2946c86f7744e271174b5 ShortName", "MOE Stock FG"},
{ "58d2947686f774485c6a1ee5 ShortName", "MOE Stock OD"},
{ "58d2947e86f77447aa070d53 ShortName", "MOE Stock SG"},
{ "58d399e486f77442e0016fe7 ShortName", "T-1"},
{ "58d39b0386f77443380bf13c ShortName", "AMSH"},
{ "58d39d3d86f77445bb794ae7 ShortName", "AMM"},
{ "58d3db5386f77426186285a0 ShortName", "M67"},
{ "58dd3ad986f77403051cba8f ShortName", "M80"},
{ "5900b89686f7744e704a8747 ShortName", "Woods"},
{ "5909d24f86f77466f56e6855 ShortName", "Medbag SMU06"},
{ "5909d36d86f774660f0bb900 ShortName", "Grenade box"},
{ "5909d45286f77465a8136dc6 ShortName", "Wooden ammo box"},
{ "5909d4c186f7746ad34e805a ShortName", "Medcase"},
{ "5909d50c86f774659e6aaebe ShortName", "Toolbox"},
{ "5909d5ef86f77467974efbd8 ShortName", "Weapon box"},
{ "5909d76c86f77471e53d2adf ShortName", "Weapon box"},
{ "5909d7cf86f77470ee57d75a ShortName", "Weapon box"},
{ "5909d89086f77472591234a0 ShortName", "Weapon box"},
{ "5909e4b686f7747f5b744fa4 ShortName", "Dead Scav"},
{ "5909e99886f7740c983b9984 ShortName", "USB-A"},
{ "590a358486f77429692b2790 ShortName", "RecBatt"},
{ "590a373286f774287540368b ShortName", "Dfuel"},
{ "590a386e86f77429692b27ab ShortName", "HDD"},
{ "590a391c86f774385a33c404 ShortName", "Magnet"},
{ "590a3b0486f7743954552bdb ShortName", "Сircuit board"},
{ "590a3c0a86f774385a33c450 ShortName", "Plug"},
{ "590a3cd386f77436f20848cb ShortName", "ES Lamp"},
{ "590a3d9c86f774385926e510 ShortName", "UV Lamp"},
{ "590a3efd86f77437d351a25b ShortName", "GasAn"},
{ "590c2b4386f77425357b6123 ShortName", "Pliers"},
{ "590c2c9c86f774245b1f03f2 ShortName", "MTape"},
{ "590c2d8786f774245b1f03f3 ShortName", "Screwdriver"},
{ "590c2e1186f77425357b6124 ShortName", "Set"},
{ "590c311186f77424d1667482 ShortName", "Wrench"},
{ "590c31c586f774245e3141b2 ShortName", "Nails"},
{ "590c346786f77423e50ed342 ShortName", "Xeno"},
{ "590c35a486f774273531c822 ShortName", "Shus"},
{ "590c37d286f77443be3d7827 ShortName", "SAS"},
{ "590c392f86f77444754deb29 ShortName", "SSD"},
{ "590c595c86f7747884343ad7 ShortName", "Filter"},
{ "590c5a7286f7747884343aea ShortName", "Gpowder"},
{ "590c5bbd86f774785762df04 ShortName", "WD-40"},
{ "590c5c9f86f77477c91c36e7 ShortName", "WD-40"},
{ "590c5d4b86f774784e1b9c45 ShortName", "Lunchbox"},
{ "590c5f0d86f77413997acfab ShortName", "MRE"},
{ "590c60fc86f77412b13fddcf ShortName", "Docs"},
{ "590c621186f774138d11ea29 ShortName", "Flash drive"},
{ "590c62a386f77412b0130255 ShortName", "Sliderkey"},
{ "590c639286f774151567fa95 ShortName", "Manual"},
{ "590c645c86f77412b01304d9 ShortName", "Diary"},
{ "590c651286f7741e566b6461 ShortName", "Diary"},
{ "590c657e86f77412b013051d ShortName", "Grizzly"},
{ "590c661e86f7741e566b646a ShortName", "Car"},
{ "590c678286f77426c9660122 ShortName", "IFAK"},
{ "590c695186f7741e566b64a2 ShortName", "Augmentin"},
{ "590dde5786f77405e71908b2 ShortName", "Сase"},
{ "590de71386f774347051a052 ShortName", "Teapot"},
{ "590de7e986f7741b096e5f32 ShortName", "Vase"},
{ "5910922b86f7747d96753483 ShortName", "Сase"},
{ "591092ef86f7747bb8703422 ShortName", "Docs"},
{ "591093bb86f7747caa7bb2ee ShortName", "Letter"},
{ "591094e086f7747caa7bb2ef ShortName", "Repair Kit"},
{ "5910959486f7747d96753485 ShortName", "Repair Kit"},
{ "5910968f86f77425cf569c32 ShortName", "Repair Kit"},
{ "5913611c86f77479e0084092 ShortName", "Cabin key"},
{ "5913651986f774432f15d132 ShortName", "Sixpack"},
{ "59136a4486f774447a1ed172 ShortName", "Gdesk"},
{ "59136e1e86f774432f15d133 ShortName", "110 Key"},
{ "59136f6f86f774447a1ed173 ShortName", "Key"},
{ "591382d986f774465a6413a7 ShortName", "105 Key"},
{ "591383f186f7744a4c5edcf3 ShortName", "104 Key"},
{ "5913877a86f774432f15d444 ShortName", "Storage"},
{ "5913915886f774123603c392 ShortName", "Checkpoint"},
{ "59139c2186f77411564f8e42 ShortName", "PC block"},
{ "5914578086f774123569ffa4 ShortName", "108 Key"},
{ "59148c8a86f774197930e983 ShortName", "Room 204 Key"},
{ "59148f8286f7741b951ea113 ShortName", "Safe"},
{ "5914944186f774189e5e76c2 ShortName", "Jacket"},
{ "591ae8f986f77406f854be45 ShortName", "Yotota"},
{ "591aef7986f774139d495f03 ShortName", "M7A1PDW"},
{ "591af10186f774139d495f0e ShortName", "M7A1PDW"},
{ "591af28e86f77414a27a9e1d ShortName", "UVG Tactical"},
{ "591afe0186f77431bd616a11 ShortName", "ZB-014"},
{ "591c4e1186f77410354b316e ShortName", "Cobra shade"},
{ "591c4efa86f7741030027726 ShortName", "EKP-8-18"},
{ "591ee00d86f774592f7b841e ShortName", "Cobra"},
{ "5926bb2186f7744b1c6c6e60 ShortName", "MP5"},
{ "5926c0df86f77462f647f764 ShortName", "MP5 Upper"},
{ "5926c32286f774616e42de99 ShortName", "MP5 Cocking"},
{ "5926c36d86f77467a92a8629 ShortName", "MP5WT"},
{ "5926c3b286f774640d189b6b ShortName", "9x19 MP5"},
{ "5926d2be86f774134d668e4e ShortName", "MP5 Drum Rearsight"},
{ "5926d33d86f77410de68ebc0 ShortName", "MP5SD suppressor"},
{ "5926d3c686f77410de68ebc8 ShortName", "HK A2"},
{ "5926d40686f7740f152b6b7e ShortName", "HK A3"},
{ "5926dad986f7741f82604363 ShortName", "MFIHKMOUNT"},
{ "5926e16e86f7742f5a0f7ecb ShortName", "3 Lug"},
{ "5926f2e086f7745aae644231 ShortName", "MP5SD"},
{ "5926f34786f77469195bfe92 ShortName", "MP5SD HG"},
{ "5929a2a086f7744f4b234d43 ShortName", "6sh112"},
{ "592c2d1a86f7746dbe2af32a ShortName", "Alpha"},
{ "5937ee6486f77408994ba448 ShortName", "Key"},
{ "5937ef2b86f77408a47244b3 ShortName", "Jacket"},
{ "5937fd0086f7742bf33fc198 ShortName", "Watch"},
{ "5938144586f77473c2087145 ShortName", "Key"},
{ "5938188786f77474f723e87f ShortName", "Docs 0031"},
{ "5938504186f7740991483f30 ShortName", "Room 203 Key"},
{ "593858c486f774253a24cb52 ShortName", "Key"},
{ "5938603e86f77435642354f4 ShortName", "206 Key"},
{ "59387a4986f77401cc236e62 ShortName", "114 Key"},
{ "59387ac686f77401442ddd61 ShortName", "Jacket"},
{ "5938878586f7741b797c562f ShortName", "Docs 0052"},
{ "5938994586f774523a425196 ShortName", "103 Key"},
{ "593962ca86f774068014d9af ShortName", "Unk. key"},
{ "593965cf86f774087a77e1b6 ShortName", "Docs 0048"},
{ "5939a00786f7742fe8132936 ShortName", "Zibbo"},
{ "5939e5a786f77461f11c0098 ShortName", "Docs 0013"},
{ "5939e9b286f77462a709572c ShortName", "Letter"},
{ "593a87af86f774122f54a951 ShortName", "Reagent"},
{ "593aa4be86f77457f56379f8 ShortName", "303 Key"},
{ "593d1fa786f7746da62d61ac ShortName", "SKS SOCOM"},
{ "593d489686f7745c6255d58a ShortName", "Hexagon AKM"},
{ "593d490386f7745ee97a1555 ShortName", "Hexagon SKS"},
{ "593d493f86f7745e6b2ceb22 ShortName", "Hexagon AK-74"},
{ "5943d9c186f7745a13413ac9 ShortName", "Shrapnel"},
{ "5943ee5a86f77413872d25ec ShortName", "PWS CQB"},
{ "5943eeeb86f77412d6384f6b ShortName", "PWS CQB 74"},
{ "5947c73886f7747701588af5 ShortName", "BUS"},
{ "5947db3f86f77447880cf76f ShortName", "EKP-8-02"},
{ "5947e98b86f774778f1448bc ShortName", "UBR GEN2"},
{ "5947eab886f77475961d96c5 ShortName", "UBR GEN2"},
{ "5947f92f86f77427344a76b1 ShortName", "SAW"},
{ "5947fa2486f77425b47c1a9b ShortName", "SAW"},
{ "595cf16b86f77427440c32e2 ShortName", "LVOA-S blk."},
{ "595cfa8b86f77427437e845b ShortName", "LVOA-C blk."},
{ "5963866286f7747bf429b572 ShortName", "Stash"},
{ "5963866b86f7747bfa1c4462 ShortName", "Stash"},
{ "5991b51486f77447b112d44f ShortName", "MS2000"},
{ "5996f6cb86f774678763a6ca ShortName", "RGD-5 Shrapnel"},
{ "5996f6d686f77467977ba6cc ShortName", "F1 Shrapnel"},
{ "5996f6fc86f7745e585b4de3 ShortName", "M67 Shrapnel"},
{ "59984ab886f7743e98271174 ShortName", "PP-19-01"},
{ "5998517986f7746017232f7e ShortName", "p. grip PP-19-01"},
{ "599851db86f77467372f0a18 ShortName", "Stock PP-19-01"},
{ "5998529a86f774647f44f421 ShortName", "9x19 Sb.7"},
{ "5998597786f77414ea6da093 ShortName", "PP-19-01 Br"},
{ "5998598e86f7740b3f498a86 ShortName", "Saiga-9 Br"},
{ "59985a6c86f77414ec448d17 ShortName", "rec.cov. Vityaz-SN"},
{ "59985a8086f77414ec448d1a ShortName", "rec.cov. Vityaz"},
{ "599860ac86f77436b225ed1a ShortName", "9x19 PP-19-01"},
{ "599860e986f7743bb57573a6 ShortName", "Rear sight PP-19-01"},
{ "59bfc5c886f7743bf6794e62 ShortName", "Vityaz sil."},
{ "59bfe68886f7746004266202 ShortName", "MUR-1S Upper"},
{ "59bffbb386f77435b379b9c2 ShortName", "Hybrid 46"},
{ "59bffc1f86f77435b128b872 ShortName", "DT Mount"},
{ "59c0ec5b86f77435b128bfca ShortName", "Hexagon 12K"},
{ "59c1383d86f774290a37e0ca ShortName", "PMAG D-60"},
{ "59c63b4486f7747afb151c1c ShortName", "SD TRR"},
{ "59c6633186f7740cf0493bb9 ShortName", "AK 74 G.Tube"},
{ "59ccd11386f77428f24a488f ShortName", "PP-19-01 g.tube"},
{ "59ccfdba86f7747f2109a587 ShortName", "M1-B"},
{ "59d36a0086f7747e673f3946 ShortName", "AKS74U G.tube"},
{ "59d6088586f774275f37482f ShortName", "AKM"},
{ "59d625f086f774661516605d ShortName", "AK55"},
{ "59d6272486f77466146386ff ShortName", "Pmag30 AK/AKM GEN M3"},
{ "59d64ec286f774171d1e0a42 ShortName", "6P1 Sb.1-2"},
{ "59d64f2f86f77417193ef8b3 ShortName", "6P1 Sb.6-1"},
{ "59d64fc686f774171b243fe2 ShortName", "6P1 0-14"},
{ "59d6507c86f7741b846413a2 ShortName", "6P1 0-1"},
{ "59d650cf86f7741b846413a4 ShortName", "6P1 Sb.2-1"},
{ "59d6514b86f774171a068a08 ShortName", "6P1 Sb.5"},
{ "59d790f486f77403cb06aec6 ShortName", "Predator Pro v3 XHP35"},
{ "59db3a1d86f77429e05b4e92 ShortName", "GRAL-S"},
{ "59db3acc86f7742a2c4ab912 ShortName", "Stark AR RG"},
{ "59db3b0886f77429d72fb895 ShortName", "Stark AR RG"},
{ "59db794186f77448bc595262 ShortName", "Epsilon"},
{ "59db7e1086f77448be30ddf3 ShortName", "TA11D"},
{ "59db7eed86f77461f8380365 ShortName", "TA51"},
{ "59e0bdb186f774156f04ce82 ShortName", "2In. CASV"},
{ "59e0be5d86f7742d48765bd2 ShortName", "4 in. CASV"},
{ "59e0bed186f774156f04ce84 ShortName", "6In. CASV"},
{ "59e0d99486f7744a32234762 ShortName", "BP"},
{ "59e3556c86f7741776641ac2 ShortName", "Bleach"},
{ "59e3577886f774176a362503 ShortName", "Sugar"},
{ "59e358a886f7741776641ac3 ShortName", "Wiper"},
{ "59e3596386f774176c10a2a2 ShortName", "Paid"},
{ "59e35abd86f7741778269d82 ShortName", "Sodium"},
{ "59e35cbb86f7741778269d83 ShortName", "Hose"},
{ "59e35de086f7741778269d84 ShortName", "Drill"},
{ "59e35ef086f7741777737012 ShortName", "Screws"},
{ "59e3606886f77417674759a5 ShortName", "NaCl"},
{ "59e361e886f774176c10a2a5 ShortName", "H2O2"},
{ "59e3639286f7741777737013 ShortName", "Lion"},
{ "59e3647686f774176a362507 ShortName", "Clock"},
{ "59e3658a86f7741776641ac4 ShortName", "Cat"},
{ "59e366c186f7741778269d85 ShortName", "Plex"},
{ "59e36c6f86f774176c10a2a7 ShortName", "Cord"},
{ "59e4cf5286f7741778269d8a ShortName", "T45M"},
{ "59e4d24686f7741776641ac7 ShortName", "US"},
{ "59e4d3d286f774176a36250a ShortName", "HP"},
{ "59e5d83b86f7745aed03d262 ShortName", "AK custom"},
{ "59e5f5a486f7746c530b3ce2 ShortName", "6P2 Sb-11"},
{ "59e6152586f77473dc057aa1 ShortName", "Vepr KM/VPO-136"},
{ "59e61eb386f77440d64f5daf ShortName", "VPO-136"},
{ "59e6227d86f77440d64f5dc2 ShortName", "VPO-136"},
{ "59e6284f86f77440d569536f ShortName", "VPO-136"},
{ "59e62cc886f77440d40b52a1 ShortName", "AKM bak."},
{ "59e6318286f77444dd62c4cc ShortName", "Molot bak."},
{ "59e6449086f7746c9f75e822 ShortName", "АКM type"},
{ "59e649f986f77411d949b246 ShortName", "AKM Type"},
{ "59e6542b86f77411dc52a77a ShortName", "FMJ"},
{ "59e655cb86f77411dc52a77b ShortName", "EKO"},
{ "59e6658b86f77411d949b250 ShortName", "Geksa"},
{ "59e6687d86f77411d949b251 ShortName", "AKM/VPO-209"},
{ "59e68f6f86f7746c9f75e846 ShortName", "M856"},
{ "59e6906286f7746c9f75e847 ShortName", "M856A1"},
{ "59e690b686f7746c9f75e848 ShortName", "M995"},
{ "59e6918f86f7746c9f75e849 ShortName", "Mk255 Mod0"},
{ "59e6920f86f77411d82aa167 ShortName", "55 FMJ"},
{ "59e6927d86f77411da468256 ShortName", "55 HP"},
{ "59e7635f86f7742cbf2c1095 ShortName", "3M"},
{ "59e763f286f7742ee57895da ShortName", "Pilgrim"},
{ "59e7643b86f7742cbf2c109a ShortName", "WTRig"},
{ "59e7708286f7742cbd762753 ShortName", "Ushanka"},
{ "59e770b986f7742cbd762754 ShortName", "AFGlass"},
{ "59e770f986f7742cbe3164ef ShortName", "Cap"},
{ "59e7711e86f7746cae05fbe1 ShortName", "Kolpak"},
{ "59e7715586f7742ee5789605 ShortName", "Resp"},
{ "59e77a2386f7742ee578960a ShortName", "7N1"},
{ "59e8936686f77467ce798647 ShortName", "Balaclava_test"},
{ "59e8977386f77415a553c453 ShortName", "VPO-209"},
{ "59e898ee86f77427614bd225 ShortName", "VPO-209"},
{ "59e89d0986f77427600d226e ShortName", "VPO-209"},
{ "59e8a00d86f7742ad93b569c ShortName", "VPO-209"},
{ "59eb7ebe86f7740b373438ce ShortName", "6P29M"},
{ "59ecc28286f7746d7a68aa8c ShortName", "PT 74S"},
{ "59ecc3dd86f7746dc827481c ShortName", "PT-3"},
{ "59ef13ca86f77445fd0e2483 ShortName", "Pumpkin"},
{ "59f32bb586f774757e1e8442 ShortName", "Dogtag"},
{ "59f32c3b86f77472a31742f0 ShortName", "Dogtag"},
{ "59f8a37386f7747af3328f06 ShortName", "Shift"},
{ "59f98b4986f7746f546d2cef ShortName", "SR-1MP"},
{ "59f99a7d86f7745b134aa97b ShortName", "9x21 SR1-MP"},
{ "59f9cabd86f7743a10721f46 ShortName", "Saiga-9"},
{ "59f9d81586f7744c7506ee62 ShortName", "UH-1"},
{ "59faf7ca86f7740dbe19f6c2 ShortName", "Roler"},
{ "59faf98186f774067b6be103 ShortName", "Alkali"},
{ "59fafb5d86f774067a6f2084 ShortName", "Propane"},
{ "59fafc5086f7740dbe19f6c3 ShortName", "AK30"},
{ "59fafc9386f774067d462453 ShortName", "AK30"},
{ "59fafd4b86f7745ca07e1232 ShortName", "Keytool"},
{ "59faff1d86f7746c51718c9c ShortName", "0.2BTC"},
{ "59fb016586f7746d0d4b423a ShortName", "MCase"},
{ "59fb023c86f7746d0d4b423c ShortName", "WCase"},
{ "59fb042886f7746c5005a7b2 ShortName", "ICase"},
{ "59fb137a86f7740adb646af1 ShortName", "Monster Claw"},
{ "59fb257e86f7742981561852 ShortName", "DTK-4M"},
{ "59fb375986f7741b681b81a6 ShortName", "UFM"},
{ "59fc48e086f77463b1118392 ShortName", "RVG blk."},
{ "59ff346386f77477562ff5e2 ShortName", "AKMS"},
{ "59ff3b6a86f77477562ff5ed ShortName", "6P4 Sb.1-19"},
{ "5a0060fc86f7745793204432 ShortName", "AKMS al."},
{ "5a0071d486f77404e23a12b2 ShortName", "AKM wood"},
{ "5a01ad4786f77450561fda02 ShortName", "VDM CS"},
{ "5a01c29586f77474660c694c ShortName", "6L10"},
{ "5a0448bc86f774736f14efa8 ShortName", "Sanatorium"},
{ "5a0abb6e1526d8000a025282 ShortName", "TT AKM"},
{ "5a0c27731526d80618476ac4 ShortName", "Zarya"},
{ "5a0c59791526d8dba737bba7 ShortName", "6G15U"},
{ "5a0d63621526d8dba31fe3bf ShortName", "PBS-1"},
{ "5a0d716f1526d8000d26b1e2 ShortName", "AKML"},
{ "5a0dc45586f7742f6b0b73e3 ShortName", "San.104"},
{ "5a0dc95c86f77452440fc675 ShortName", "San. 112"},
{ "5a0ea64786f7741707720468 ShortName", "San.107"},
{ "5a0ea69f86f7741cd5406619 ShortName", "San.108"},
{ "5a0ea79b86f7741d4a35298e ShortName", "Storeroom"},
{ "5a0eb38b86f774153b320eb0 ShortName", "SMW"},
{ "5a0eb6ac86f7743124037a28 ShortName", "Cottage"},
{ "5a0eb980fcdbcb001a3b00a6 ShortName", "AKMB"},
{ "5a0ec13bfcdbcb00165aa685 ShortName", "AKMN"},
{ "5a0ec6d286f7742c0b518fb5 ShortName", "San.205"},
{ "5a0ec70e86f7742c0b518fba ShortName", "San.207"},
{ "5a0ed824fcdbcb0176308b0d ShortName", "AKMP"},
{ "5a0ee30786f774023b6ee08f ShortName", "San.216"},
{ "5a0ee34586f774023b6ee092 ShortName", "San.220"},
{ "5a0ee37f86f774023657a86f ShortName", "San.221"},
{ "5a0ee4b586f7743698200d22 ShortName", "San.206 "},
{ "5a0ee62286f774369454a7ac ShortName", "San.209 "},
{ "5a0ee72c86f77436955d3435 ShortName", "San.213"},
{ "5a0ee76686f7743698200d5c ShortName", "San.216"},
{ "5a0eeb1a86f774688b70aa5c ShortName", "San.303"},
{ "5a0eeb8e86f77461257ed71a ShortName", "San.309 "},
{ "5a0eebed86f77461230ddb3d ShortName", "San.325 "},
{ "5a0eec9686f77402ac5c39f2 ShortName", "San.310 "},
{ "5a0eecf686f7740350630097 ShortName", "San. 313 "},
{ "5a0eed4386f77405112912aa ShortName", "San.314"},
{ "5a0eedb386f77403506300be ShortName", "San.322 "},
{ "5a0eee1486f77402aa773226 ShortName", "San.328 "},
{ "5a0eff2986f7741fd654e684 ShortName", "Safe 321 "},
{ "5a0f006986f7741ffd2fe484 ShortName", "Safe "},
{ "5a0f045e86f7745b0f0d0e42 ShortName", "Safe "},
{ "5a0f068686f7745b0d4ea242 ShortName", "Safe "},
{ "5a0f075686f7745bcc42ee12 ShortName", "Safe "},
{ "5a0f08bc86f77478f33b84c2 ShortName", "Safe "},
{ "5a0f096dfcdbcb0176308b15 ShortName", "AKMP"},
{ "5a0f0f5886f7741c4e32a472 ShortName", "Safe "},
{ "5a13ee1986f774794d4c14cd ShortName", "San.323"},
{ "5a13eebd86f7746fd639aa93 ShortName", "San.218 "},
{ "5a13ef0686f7746e5a411744 ShortName", "San.219"},
{ "5a13ef7e86f7741290491063 ShortName", "San.301 "},
{ "5a13f24186f77410e57c5626 ShortName", "San.222 "},
{ "5a13f35286f77413ef1436b0 ShortName", "San.226 "},
{ "5a13f46386f7741dd7384b04 ShortName", "San.306 "},
{ "5a144bdb86f7741d374bbde0 ShortName", "San.205 "},
{ "5a144dfd86f77445cb5a0982 ShortName", "San.203 "},
{ "5a1452ee86f7746f33111763 ShortName", "San.222 "},
{ "5a145d4786f7744cbb6f4a12 ShortName", "San.306 "},
{ "5a145d7b86f7744cbb6f4a13 ShortName", "San.308 "},
{ "5a145ebb86f77458f1796f05 ShortName", "San.316 "},
{ "5a154d5cfcdbcb001a3b00da ShortName", "Fast MT"},
{ "5a16b672fcdbcb001912fa83 ShortName", "FVisor"},
{ "5a16b7e1fcdbcb00165aa6c9 ShortName", "FShield"},
{ "5a16b8a9fcdbcb00165aa6ca ShortName", "TATM"},
{ "5a16b93dfcdbcbcae6687261 ShortName", "DDT"},
{ "5a16b9fffcdbcb0176308b34 ShortName", "RAC"},
{ "5a16ba61fcdbcb098008728a ShortName", "Mandible"},
{ "5a16badafcdbcb001865f72d ShortName", "SArmor"},
{ "5a16bb52fcdbcb001a3b00dc ShortName", "SLock"},
{ "5a17f98cfcdbcb0980087290 ShortName", "APS"},
{ "5a17fb03fcdbcbcae668728f ShortName", "APS std."},
{ "5a17fb9dfcdbcbcae6687291 ShortName", "APB stock"},
{ "5a17fc70fcdbcb0176308b3d ShortName", "APS Bakelite"},
{ "5a1eaa87fcdbcb001865f75e ShortName", "REAP-IR"},
{ "5a1eacb3fcdbcb09800872be ShortName", "REAP-IR eyecup"},
{ "5a1ead28fcdbcb001912fa9f ShortName", "DLOC-IRD"},
{ "5a269f97c4a282000b151807 ShortName", "SP10"},
{ "5a26abfac4a28232980eabff ShortName", "SP11"},
{ "5a26ac06c4a282000c5a90a8 ShortName", "SP12"},
{ "5a26ac0ec4a28200741e1e18 ShortName", "SP13"},
{ "5a27b281c4a28200741e1e52 ShortName", "SR1MP 1x"},
{ "5a27b3d0c4a282000d721ec1 ShortName", "SR1MP s.mount"},
{ "5a27b6bec4a282000e496f78 ShortName", "SR1MP"},
{ "5a27bad7c4a282000b15184b ShortName", "SR1MP 4x"},
{ "5a29276886f77435ed1b117c ShortName", "HDD"},
{ "5a29284f86f77463ef3db363 ShortName", "Toughbook"},
{ "5a29357286f77409c705e025 ShortName", "Flash drive"},
{ "5a294d7c86f7740651337cf9 ShortName", "SAS disk "},
{ "5a294d8486f774068638cd93 ShortName", "SAS disk"},
{ "5a2a57cfc4a2826c6e06d44a ShortName", "RDG-2B"},
{ "5a329052c4a28200741e22d3 ShortName", "RSASS"},
{ "5a32a064c4a28200741e22de ShortName", "Osprey 9"},
{ "5a32aa0cc4a28232996e405f ShortName", "RM50"},
{ "5a32aa8bc4a2826c6e06d737 ShortName", "RMR"},
{ "5a339805c4a2826c6e06d73d ShortName", "MIAD Pistol"},
{ "5a33a8ebc4a282000c5a950d ShortName", "Alpha 9"},
{ "5a33b2c9c4a282000c5a9511 ShortName", "RM33"},
{ "5a33b652c4a28232996e407c ShortName", "AC32062"},
{ "5a33bab6c4a28200741e22f8 ShortName", "RM35"},
{ "5a33ca0fc4a282000d72292f ShortName", "CA2"},
{ "5a33cae9c4a28232980eb086 ShortName", "PRS GEN2"},
{ "5a33e75ac4a2826c6e06d759 ShortName", "HA CQR"},
{ "5a34f7f1c4a2826c6e06d75d ShortName", "18 AR-10"},
{ "5a34fae7c4a2826c6e06d760 ShortName", "22 AR-10"},
{ "5a34fbadc4a28200741e230a ShortName", "JPGS6"},
{ "5a34fd2bc4a282329a73b4c5 ShortName", "Blackout 51T"},
{ "5a34fe59c4a282000b1521a2 ShortName", "SDN-6"},
{ "5a3501acc4a282000d72293a ShortName", "PMAG 20 7.62"},
{ "5a351711c4a282000b1521a4 ShortName", "X-5 MP5"},
{ "5a367e5dc4a282000e49738f ShortName", "RSASS"},
{ "5a37ca54c4a282000d72296a ShortName", "JP 30mm"},
{ "5a37cb10c4a282329a73b4e7 ShortName", "6.5-20x50"},
{ "5a38e6bac4a2826c6e06d79b ShortName", "TOZ-106"},
{ "5a38ebd9c4a282000d722a5b ShortName", "7.5 20c"},
{ "5a38ed75c4a28232996e40c6 ShortName", "Sb.3x4"},
{ "5a38ee51c4a282000c5a955c ShortName", "20-01 Sb.3x2"},
{ "5a38eecdc4a282329a73b512 ShortName", "TOZ-106 PG"},
{ "5a38ef1fc4a282000b1521f6 ShortName", "TOZ-106 Stock"},
{ "5a3c16fe86f77452b62de32a ShortName", "Luger CCI"},
{ "5a43943586f77416ad2f06e2 ShortName", "Hat"},
{ "5a43957686f7742a2c2f11b0 ShortName", "Hat"},
{ "5a5f1ce64f39f90b401987bc ShortName", "2IRS"},
{ "5a6086ea4f39f99cd479502f ShortName", "M61"},
{ "5a608bf24f39f98ffc77720e ShortName", "M62"},
{ "5a6860d886f77411cd3a9e47 ShortName", "Docs 0060"},
{ "5a687e7886f7740c4a5133fb ShortName", "Blood sample"},
{ "5a69a2ed8dc32e000d46d1f1 ShortName", "Rotor 43 buffer"},
{ "5a6b585a8dc32e5a9c28b4f1 ShortName", "AW TP"},
{ "5a6b592c8dc32e00094b97bf ShortName", "DD TP"},
{ "5a6b59a08dc32e000b452fb7 ShortName", "SAI TP"},
{ "5a6b5b8a8dc32e001207faf3 ShortName", "Glock 9x19 AW"},
{ "5a6b5e468dc32e001207faf5 ShortName", "Glock 9x19 DD"},
{ "5a6b5ed88dc32e000c52ec86 ShortName", "Glock 9x19 SAI"},
{ "5a6b5f868dc32e000a311389 ShortName", "G17 9x19"},
{ "5a6b60158dc32e000a31138b ShortName", "G17 9x19 comp"},
{ "5a6f58f68dc32e000a311390 ShortName", "Glock FS"},
{ "5a6f5d528dc32e00094b97d9 ShortName", "Glock RS"},
{ "5a6f5e048dc32e00094b97da ShortName", "Glock slide"},
{ "5a6f5f078dc32e00094b97dd ShortName", "Glock Viper Cut"},
{ "5a702d198dc32e000b452fc3 ShortName", "Glock AW"},
{ "5a7033908dc32e000a311392 ShortName", "Glock AW C"},
{ "5a70366c8dc32e001207fb06 ShortName", "Glock DD"},
{ "5a7037338dc32e000d46d257 ShortName", "G 3 Port"},
{ "5a705e128dc32e000d46d258 ShortName", "G AW"},
{ "5a718b548dc32e000d46d262 ShortName", "9x19 Glock"},
{ "5a718da68dc32e000d46d264 ShortName", "G PMAG 21"},
{ "5a718f958dc32e00094b97e7 ShortName", "G 50rnd"},
{ "5a71e0048dc32e000c52ecc8 ShortName", "G FS ZT"},
{ "5a71e0fb8dc32e00094b97f2 ShortName", "G RS ZT"},
{ "5a71e1868dc32e00094b97f3 ShortName", "ZT AP"},
{ "5a71e22f8dc32e00094b97f4 ShortName", "G ZT Hex"},
{ "5a71e4f48dc32e001207fb26 ShortName", "G ZT Spart"},
{ "5a7828548dc32e5a9c28b516 ShortName", "M870"},
{ "5a787ebcc5856700142fdd98 ShortName", "508mm M870 FS"},
{ "5a787f25c5856700186c4ab9 ShortName", "355mm M870"},
{ "5a787f7ac5856700177af660 ShortName", "508mm M870"},
{ "5a787fadc5856700155a6ca1 ShortName", "660mm M870"},
{ "5a787fdfc5856700142fdd9a ShortName", "325mm M870"},
{ "5a788031c585673f2b5c1c79 ShortName", "PR870"},
{ "5a788068c5856700137e4c8f ShortName", "MOE 870"},
{ "5a788089c5856700142fdd9c ShortName", "Speedfeed"},
{ "5a7880d0c5856700142fdd9d ShortName", "SPS M870"},
{ "5a78813bc5856700186c4abe ShortName", "SGA M870"},
{ "5a788169c5856700142fdd9e ShortName", "Raptor"},
{ "5a7882dcc5856700177af662 ShortName", "M870x4"},
{ "5a78830bc5856700137e4c90 ShortName", "M870x7"},
{ "5a78832ec5856700155a6ca3 ShortName", "M870x10"},
{ "5a789261c5856700186c65d3 ShortName", "MT Clamp"},
{ "5a7893c1c585673f2b5c374d ShortName", "mtu028sg"},
{ "5a78948ec5856700177b1124 ShortName", "XS Short"},
{ "5a7ad0c451dfba0013379712 ShortName", "4Port"},
{ "5a7ad1fb51dfba0013379715 ShortName", "LW 9"},
{ "5a7ad2e851dfba0016153692 ShortName", "Big Stick"},
{ "5a7ad4af51dfba0013379717 ShortName", "G Base"},
{ "5a7ad55551dfba0015068f42 ShortName", "G Ti Sh"},
{ "5a7ad74e51dfba0015068f45 ShortName", "FD917"},
{ "5a7ae0c351dfba0017554310 ShortName", "GLOCK17"},
{ "5a7afa25e899ef00135e31b0 ShortName", "PS9"},
{ "5a7b32a2e899ef00135e345a ShortName", "G4"},
{ "5a7b483fe899ef0016170d15 ShortName", "XC1"},
{ "5a7b4900e899ef197b331a2a ShortName", "UM3"},
{ "5a7b4960e899ef197b331a2d ShortName", "Pach RG"},
{ "5a7c147ce899ef00150bd8b8 ShortName", "VP-09"},
{ "5a7c4850e899ef00150be885 ShortName", "6B47"},
{ "5a7c74b3e899ef0014332c29 ShortName", "NSPU-M"},
{ "5a7d90eb159bd400165484f1 ShortName", "Glock SE"},
{ "5a7d9104159bd400134c8c21 ShortName", "Glock TFX"},
{ "5a7d9122159bd4001438dbf4 ShortName", "Glock SE"},
{ "5a7d912f159bd400165484f3 ShortName", "TFX"},
{ "5a7dbfc1159bd40016548fde ShortName", "CQR"},
{ "5a800961159bd4315e3a1657 ShortName", "GL21"},
{ "5a8036fb86f77407252ddc02 ShortName", "Shoreline"},
{ "5a80a29286f7742b25692012 ShortName", "Resort"},
{ "5a9548c9159bd400133e97b3 ShortName", "TL-99"},
{ "5a957c3fa2750c00137fa5f7 ShortName", "XRSU47SU"},
{ "5a966ec8a2750c00171b3f36 ShortName", "B&T 3x"},
{ "5a966f51a2750c00156aacf6 ShortName", "SAI-02"},
{ "5a9685b1a2750c0032157104 ShortName", "Glock Moto Cut"},
{ "5a9d56c8a2750c0032157146 ShortName", "TRAX 1"},
{ "5a9d6d00a2750c5c985b5305 ShortName", "4 in. SI"},
{ "5a9d6d13a2750c00164f6b03 ShortName", "6In. SI"},
{ "5a9d6d21a2750c00137fa649 ShortName", "Bridge"},
{ "5a9d6d34a2750c00141e07da ShortName", "TRAX 2"},
{ "5a9e81fba2750c00164f6b11 ShortName", "SR3M.130"},
{ "5a9ea27ca2750c00137fa672 ShortName", "Dynacomp"},
{ "5a9eb32da2750c00171b3f9c ShortName", "GL Shock"},
{ "5a9fb739a2750c003215717f ShortName", "Rotor43 9x19"},
{ "5a9fbacda2750c00141e080f ShortName", "Rotor43 7.62x39"},
{ "5a9fbb74a2750c0032157181 ShortName", "Rotor43 .366TKM"},
{ "5a9fbb84a2750c00137fa685 ShortName", "Rotor43 5.56x45"},
{ "5a9fc7e6a2750c0032157184 ShortName", "B-3 combo"},
{ "5aa2a7e8e5b5b00016327c16 ShortName", "USEC"},
{ "5aa2b87de5b5b00016327c25 ShortName", "BEAR"},
{ "5aa2b89be5b5b0001569311f ShortName", "Emercom"},
{ "5aa2b8d7e5b5b00014028f4a ShortName", "Police"},
{ "5aa2b923e5b5b000137b7589 ShortName", "RGlass"},
{ "5aa2b986e5b5b00014028f4c ShortName", "Dundukk"},
{ "5aa2b9aee5b5b00015693121 ShortName", "RayBench"},
{ "5aa2b9ede5b5b000137b758b ShortName", "CHat"},
{ "5aa2ba19e5b5b00014028f4e ShortName", "Fleece"},
{ "5aa2ba46e5b5b000137b758d ShortName", "UXPRO"},
{ "5aa2ba71e5b5b000137b758f ShortName", "Sordin"},
{ "5aa66a9be5b5b0214e506e89 ShortName", "NF 34mm"},
{ "5aa66be6e5b5b0214e506e97 ShortName", "NF 7-35x56"},
{ "5aa66c72e5b5b00016327c93 ShortName", "NF 34mm RIS"},
{ "5aa7cfc0e5b5b00015693143 ShortName", "6B47"},
{ "5aa7d03ae5b5b00016327db5 ShortName", "UNTAR"},
{ "5aa7d193e5b5b000171d063f ShortName", "SFERA"},
{ "5aa7e276e5b5b000171d0647 ShortName", "Altyn"},
{ "5aa7e373e5b5b000137b76f0 ShortName", "FShield"},
{ "5aa7e3abe5b5b000171d064d ShortName", "FShield"},
{ "5aa7e454e5b5b0214e506fa2 ShortName", "ZSh-1-2M"},
{ "5aa7e4a4e5b5b000137b76f2 ShortName", "ZSh-1-2M"},
{ "5aaa4194e5b5b055d06310a5 ShortName", "Pmag30 AK74 GEN M3"},
{ "5aaa5dfee5b5b000140293d3 ShortName", "GEN M3 30"},
{ "5aaa5e60e5b5b000140293d6 ShortName", "GEN M3 10"},
{ "5aaf8a0be5b5b00015693243 ShortName", "M1A 20 7.62"},
{ "5aaf8e43e5b5b00015693246 ShortName", "Socom16"},
{ "5aaf9d53e5b5b00015042a52 ShortName", "16 M1A 7.62x51"},
{ "5aafa1c2e5b5b00015042a56 ShortName", "Socom 16 MB"},
{ "5aafa49ae5b5b00015042a58 ShortName", " .125 blade"},
{ "5aafa857e5b5b00018480968 ShortName", "M1A"},
{ "5aafbcd986f7745e590fff23 ShortName", "MedCase"},
{ "5aafbde786f774389d0cbc0f ShortName", "AmmoCase"},
{ "5ab24ef9e5b5b00fe93c9209 ShortName", "Socom 16 Upper"},
{ "5ab372a310e891001717f0d8 ShortName", "S.A.S.S."},
{ "5ab3afb2d8ce87001660304d ShortName", "Socom 16 Th"},
{ "5ab626e4d8ce87272e4c6e43 ShortName", "6P21 Sb.5"},
{ "5ab8dab586f77441cd04f2a2 ShortName", "MK3"},
{ "5ab8dced86f774646209ec87 ShortName", "M2"},
{ "5ab8e4ed86f7742d8e50c7fa ShortName", "MF-UN"},
{ "5ab8e79e86f7742d8b372e78 ShortName", "GZHEL-K"},
{ "5ab8e9fcd8ce870019439434 ShortName", "AKS-74N"},
{ "5ab8ebf186f7742d8b372e80 ShortName", "Attack 2"},
{ "5ab8ee7786f7742d8f33f0b9 ShortName", "ArmyBag"},
{ "5ab8f04f86f774585f4237d8 ShortName", "Sling"},
{ "5ab8f20c86f7745cdb629fb2 ShortName", "Shmaska"},
{ "5ab8f39486f7745cd93a1cca ShortName", "CF"},
{ "5ab8f4ff86f77431c60d91ba ShortName", "Ghost"},
{ "5ab8f85d86f7745cd93a1cf5 ShortName", "Shemagh"},
{ "5aba62f8d8ce87001943946b ShortName", "APS FS"},
{ "5aba637ad8ce87001773e17f ShortName", "APS RS"},
{ "5aba639ed8ce8700182ece67 ShortName", "APB RS"},
{ "5abcbb20d8ce87001773e258 ShortName", "M14 135"},
{ "5abcbc27d8ce8700182eceeb ShortName", "AKMSN"},
{ "5abcc328d8ce8700194394f3 ShortName", "APB 9x18PM"},
{ "5abccb7dd8ce87001773e277 ShortName", "APB"},
{ "5abcd472d8ce8700166032ae ShortName", "6P4N Sb.1-19"},
{ "5ac4c50d5acfc40019262e87 ShortName", "Visor"},
{ "5ac4cd105acfc40016339859 ShortName", "AK-74M"},
{ "5ac50c185acfc400163398d4 ShortName", "6P34 Sb.15"},
{ "5ac50da15acfc4001718d287 ShortName", "6P34 0-1"},
{ "5ac620eb86f7743a8e6e0da0 ShortName", "Package"},
{ "5ac66bea5acfc43b321d4aec ShortName", "АК-103 Mag"},
{ "5ac66c5d5acfc4001718d314 ShortName", "6L29"},
{ "5ac66cb05acfc40198510a10 ShortName", "AK-101"},
{ "5ac66d015acfc400180ae6e4 ShortName", "AK-102"},
{ "5ac66d2e5acfc43b321d4b53 ShortName", "AK-103"},
{ "5ac66d725acfc43b321d4b60 ShortName", "AK-104"},
{ "5ac66d9b5acfc4001633997a ShortName", "AK-105"},
{ "5ac72e475acfc400180ae6fe ShortName", "6P20 Sb.2"},
{ "5ac72e615acfc43f67248aa0 ShortName", "AK-101 MB"},
{ "5ac72e725acfc400180ae701 ShortName", "6P44 0-20"},
{ "5ac72e7d5acfc40016339a02 ShortName", "AK-103 MB"},
{ "5ac72e895acfc43b321d4bd5 ShortName", "6P46 0-20"},
{ "5ac72e945acfc43f3b691116 ShortName", "6P44 0-20"},
{ "5ac733a45acfc400192630e2 ShortName", "6P44 Sb.1-30"},
{ "5ac7655e5acfc40016339a19 ShortName", "6P20 0-20"},
{ "5ac78a9b86f7741cca0bbd8d ShortName", "Jammer"},
{ "5ac78eaf5acfc4001926317a ShortName", "PT 74M/100"},
{ "5ac8d6885acfc400180ae7b0 ShortName", "Fast MT Tan"},
{ "5ad5ccd186f774446d5706e9 ShortName", "OLI Office"},
{ "5ad5cfbd86f7742c825d6104 ShortName", "Log. Office"},
{ "5ad5d20586f77449be26d877 ShortName", "OLI Ut."},
{ "5ad5d49886f77455f9731921 ShortName", "Pow. Ut."},
{ "5ad5d64486f774079b080af8 ShortName", "Pharmacy"},
{ "5ad5d7d286f77450166e0a89 ShortName", "KIBA"},
{ "5ad5db3786f7743568421cce ShortName", "MES"},
{ "5ad7217186f7746744498875 ShortName", "OLI"},
{ "5ad7242b86f7740a6a3abd43 ShortName", "IDEA "},
{ "5ad7247386f7747487619dc3 ShortName", "Goshan"},
{ "5ad74cf586f774391278f6f0 ShortName", "Cash register TAR2-2"},
{ "5addaffe86f77470b455f900 ShortName", "KIBA 2"},
{ "5addba3e5acfc4001669f0ab ShortName", ".062 blade"},
{ "5addbac75acfc400194dbc56 ShortName", "22 M1A 7.62x51"},
{ "5addbb6e5acfc408fb1393fd ShortName", "National Match MB"},
{ "5addbb825acfc408fb139400 ShortName", "JP MB M14"},
{ "5addbb945acfc4001a5fc44e ShortName", "Good Iron"},
{ "5addbba15acfc400185c2854 ShortName", "Vortex DC"},
{ "5addbbb25acfc40015621bd9 ShortName", "Phantom"},
{ "5addbf175acfc408fb13965b ShortName", "Archangel"},
{ "5addbfbb5acfc400194dbcf7 ShortName", "Ultimak M8"},
{ "5addbfd15acfc40015621bde ShortName", "Mini Scout"},
{ "5addbfe15acfc4001a5fc58b ShortName", "Arms 18"},
{ "5addbfef5acfc400185c2857 ShortName", "UTG 4 "},
{ "5addbffe5acfc4001714dfac ShortName", "M14 DCSB"},
{ "5addc00b5acfc4001669f144 ShortName", "CASV 14"},
{ "5addc7005acfc4001669f275 ShortName", "M14ALCS(MOD. 0)"},
{ "5addc7ac5acfc400194dbd90 ShortName", "M14ALCS Stock"},
{ "5addc7db5acfc4001669f279 ShortName", "M14ALCS"},
{ "5addcce35acfc4001a5fc635 ShortName", "M14 30 7.62"},
{ "5addccf45acfc400185c2989 ShortName", "X-14"},
{ "5adf23995acfc400185c2aeb ShortName", "MC 20-01"},
{ "5ae08f0a5acfc408fb1398a1 ShortName", "Mosin"},
{ "5ae096d95acfc400185c2c81 ShortName", "Mosin Stock"},
{ "5ae0973a5acfc4001562206c ShortName", "Mos.Std."},
{ "5ae099875acfc4001714e593 ShortName", "Mosin fs"},
{ "5ae099925acfc4001a5fc7b3 ShortName", "Mosin rs."},
{ "5ae09bff5acfc4001562219d ShortName", "730mm Mosin barrel"},
{ "5ae30bad5acfc400185c2dc4 ShortName", "CarryHandle"},
{ "5ae30c9a5acfc408fb139a03 ShortName", " Sopmod"},
{ "5ae30db85acfc408fb139a05 ShortName", "M4 Std."},
{ "5ae30e795acfc408fb139a0b ShortName", "M4 FS"},
{ "5ae35b315acfc4001714e8b0 ShortName", "LEO M870"},
{ "5ae9a0dd86f7742e5f454a05 ShortName", "Manifests"},
{ "5ae9a18586f7746e381e16a3 ShortName", "Manifests"},
{ "5ae9a1b886f77404c8537c62 ShortName", "Manifests"},
{ "5ae9a25386f7746dd946e6d9 ShortName", "Cargo route"},
{ "5ae9a3f586f7740aab00e4e6 ShortName", "Book p.1"},
{ "5ae9a4fc86f7746e381e1753 ShortName", "Book p.2"},
{ "5af0454c86f7746bf20992e8 ShortName", "Alu Splint"},
{ "5af0484c86f7740f02001f7f ShortName", "Coffee"},
{ "5af04b6486f774195a3ebb49 ShortName", "Elite"},
{ "5af04c0b86f774138708f78e ShortName", "Controller"},
{ "5af04e0a86f7743a532b79e2 ShortName", "Gyroscope"},
{ "5af0534a86f7743b6f354284 ShortName", "Ophthalmoscope"},
{ "5af0548586f7743a532b7e99 ShortName", "Ibuprofen"},
{ "5af0561e86f7745f5f3ad6ac ShortName", "Powerbank"},
{ "5af99e9186f7747c447120b8 ShortName", "Pockets"},
{ "5afd7ded5acfc40017541f5e ShortName", "Tapco intrafuse stock"},
{ "5afd7e095acfc40017541f61 ShortName", "TAPCO Tube"},
{ "5afd7e445acfc4001637e35a ShortName", "SAW SKS"},
{ "5b04473a5acfc40018632f70 ShortName", "UAS AK"},
{ "5b057b4f5acfc4771e1bd3e9 ShortName", "SE-5"},
{ "5b07db875acfc40dc528a5f6 ShortName", "TD120001"},
{ "5b07dd285acfc4001754240d ShortName", "LAS/TAC 2"},
{ "5b0800175acfc400153aebd4 ShortName", "F93 Pro Stock"},
{ "5b099a765acfc47a8607efe3 ShortName", "11 SA-58 7.62x51"},
{ "5b099a9d5acfc47a8607efe7 ShortName", "Quad Rail"},
{ "5b099ac65acfc400186331e1 ShortName", "FAL 20 7.62"},
{ "5b099b7d5acfc400186331e4 ShortName", "3 prong trident"},
{ "5b099b965acfc400186331e6 ShortName", "SAW SA-58"},
{ "5b099bb25acfc400186331e8 ShortName", "Ext. Duty"},
{ "5b099bf25acfc4001637e683 ShortName", "SA-58 Tube"},
{ "5b0bbe4e5acfc40dc528a72d ShortName", "SA-58"},
{ "5b0bc22d5acfc47a8607f085 ShortName", "Holand Type"},
{ "5b0e794b5acfc47a877359b2 ShortName", "Zhukov-S"},
{ "5b1fa9b25acfc40018633c01 ShortName", "GLOCK18C"},
{ "5b1fa9ea5acfc40018633c0a ShortName", "G18C 9x19 comp"},
{ "5b1faa0f5acfc40dc528aeb5 ShortName", "Glock 18C slide"},
{ "5b1fb3e15acfc4001637f068 ShortName", "6P2 Bak"},
{ "5b1fd4e35acfc40018633c39 ShortName", "AK al. 10"},
{ "5b222d335acfc4771e1be099 ShortName", "AKM Lock"},
{ "5b222d405acfc400153af4fe ShortName", "PT-1"},
{ "5b2240bf5acfc40dc528af69 ShortName", "Raptor Charge"},
{ "5b237e425acfc4771e1be0b6 ShortName", "TROY Combo"},
{ "5b2388675acfc4771e1be0be ShortName", "TAC 30"},
{ "5b2389515acfc4771e1be0c0 ShortName", "AR- P.E.P.R. "},
{ "5b2cfa535acfc432ff4db7a0 ShortName", "MK10 RL"},
{ "5b30ac585acfc433000eb79c ShortName", "MOE AK"},
{ "5b30b0dc5acfc400153b7124 ShortName", "HS401G5"},
{ "5b30bc165acfc40016387293 ShortName", "Mk10 3 In."},
{ "5b30bc285acfc47a8608615d ShortName", "Mk10 10 In."},
{ "5b31163c5acfc400153b71cb ShortName", "Rom. Base"},
{ "5b3116595acfc40019476364 ShortName", "Romeo 4"},
{ "5b363dd25acfc4001a598fd2 ShortName", " Salvo 12"},
{ "5b363dea5acfc4771e1c5e7e ShortName", "12g adapter"},
{ "5b363e1b5acfc4771e1c5e80 ShortName", "Thread adapter"},
{ "5b39f8db5acfc40016387a1b ShortName", "EMOD"},
{ "5b39ffbd5acfc47a8773fb06 ShortName", "Hogue P226"},
{ "5b3a08b25acfc4001754880c ShortName", "Bridge P226"},
{ "5b3a16655acfc40016387a2a ShortName", "Annihilator"},
{ "5b3a337e5acfc4704b4a19a0 ShortName", "2U Kleh"},
{ "5b3b6dc75acfc47a8773fb1e ShortName", "Armasight"},
{ "5b3b6e495acfc4330140bd88 ShortName", "Vulcan MG 3.5x"},
{ "5b3b713c5acfc4330140bd8d ShortName", "TT"},
{ "5b3b99265acfc4704b4a1afb ShortName", "NF 30mm"},
{ "5b3b99475acfc432ff4dcbee ShortName", "1-6x24"},
{ "5b3baf8f5acfc40dc5296692 ShortName", "116mm gld. ТТ"},
{ "5b3cadf35acfc400194776a0 ShortName", "TT grips"},
{ "5b3cbc235acfc4001863ac44 ShortName", "Vulcan MG eyecup"},
{ "5b3f16c486f7747c327f55f7 ShortName", "Armband "},
{ "5b3f3ade86f7746b6b790d8e ShortName", "Armband "},
{ "5b3f3af486f774679e752c1f ShortName", "Armband"},
{ "5b3f3b0186f774021a2afef7 ShortName", "Armband"},
{ "5b3f3b0e86f7746752107cda ShortName", "Armband "},
{ "5b3f7bf05acfc433000ecf6b ShortName", "Kochetov Mount"},
{ "5b3f7c005acfc4704b4a1de8 ShortName", "PU 3.5x ring"},
{ "5b3f7c1c5acfc40dc5296b1d ShortName", "PU 3.5x"},
{ "5b40e1525acfc4771e1c6611 ShortName", "ULACH"},
{ "5b40e2bc5acfc40016388216 ShortName", "ULACH"},
{ "5b40e3f35acfc40016388218 ShortName", "ACHHC"},
{ "5b40e4035acfc47a87740943 ShortName", "ACHHC"},
{ "5b40e5e25acfc4001a599bea ShortName", "BEAR"},
{ "5b40e61f5acfc4001a599bec ShortName", "USEC"},
{ "5b43237186f7742f3a4ab252 ShortName", "Сhemcont"},
{ "5b4325355acfc40019478126 ShortName", "Shemagh"},
{ "5b4326435acfc433000ed01d ShortName", "Mask"},
{ "5b43271c5acfc432ff4dce65 ShortName", "Bandana"},
{ "5b4327aa5acfc400175496e0 ShortName", "Panama"},
{ "5b4329075acfc400153b78ff ShortName", "Pompon"},
{ "5b4329f05acfc47a86086aa1 ShortName", "Ronin"},
{ "5b432b2f5acfc4771e1c6622 ShortName", "Shattered"},
{ "5b432b6c5acfc4001a599bf0 ShortName", "Skull"},
{ "5b432b965acfc47a8774094e ShortName", "GSSh-01"},
{ "5b432be65acfc433000ed01f ShortName", "6B34"},
{ "5b432c305acfc40019478128 ShortName", "GP-5"},
{ "5b432d215acfc4771e1c6624 ShortName", "LZSh"},
{ "5b432f3d5acfc4704b4a1dfb ShortName", "Momex"},
{ "5b4335ba86f7744d2837a264 ShortName", "Bloodset"},
{ "5b43575a86f77424f443fe62 ShortName", "Fcond"},
{ "5b4391a586f7745321235ab2 ShortName", "Camera"},
{ "5b44c6ae86f7742d1627baea ShortName", "Beta2"},
{ "5b44c8ea86f7742d1627baf1 ShortName", "Commando "},
{ "5b44cad286f77402a54ae7e5 ShortName", "Tactec "},
{ "5b44cd8b86f774503d30cba2 ShortName", "Gen4 Full"},
{ "5b44cf1486f77431723e3d05 ShortName", "Gen4 Assault"},
{ "5b44d0de86f774503d30cba8 ShortName", "Gen4 HMK"},
{ "5b44d22286f774172b0c9de8 ShortName", "Kirasa"},
{ "5b46238386f7741a693bcf9c ShortName", "Kiver FS"},
{ "5b4736a986f774040571e998 ShortName", "QARS 3.2in."},
{ "5b4736b986f77405cb415c10 ShortName", "QARS 4.2in."},
{ "5b4c72b386f7745b453af9c0 ShortName", "Controller"},
{ "5b4c72c686f77462ac37e907 ShortName", "Controller"},
{ "5b4c72fb86f7745cef1cffc5 ShortName", "Gyroscope"},
{ "5b4c81a086f77417d26be63f ShortName", "Сhemcont"},
{ "5b4c81bd86f77418a75ae159 ShortName", "Сhemcont"},
{ "5b6d9ce188a4501afc1b2b25 ShortName", "T H I C C"},
{ "5b7be1125acfc4001876c0e5 ShortName", "16 SA-58 7.62x51"},
{ "5b7be1265acfc400161d0798 ShortName", "21 SA-58 7.62x51"},
{ "5b7be1ca5acfc400170e2d2f ShortName", "Quad Rail"},
{ "5b7be2345acfc400196d524a ShortName", "Keymod Handguard"},
{ "5b7be4575acfc400161d0832 ShortName", "2 in. Vltor"},
{ "5b7be4645acfc400170e2dcc ShortName", "4 in. Vltor"},
{ "5b7be46e5acfc400170e2dcf ShortName", "5 in.Vltor"},
{ "5b7be47f5acfc400170e2dd2 ShortName", "2.5 in. M-LOK"},
{ "5b7be4895acfc400170e2dd5 ShortName", "4.1 in. M-LOK"},
{ "5b7bebc85acfc43bca706666 ShortName", "M-LOK Handguard"},
{ "5b7bed205acfc400161d08cc ShortName", "Fal Handguard"},
{ "5b7bedd75acfc43d825283f9 ShortName", "CASV FAL Handguard"},
{ "5b7bee755acfc400196d5383 ShortName", "CASV FAS Handguard"},
{ "5b7bef1e5acfc43d82528402 ShortName", "FAL 10 7.62"},
{ "5b7bef5d5acfc43bca7067a3 ShortName", "FAL 30 7.62"},
{ "5b7bef9c5acfc43d102852ec ShortName", "X-FAL 7.62"},
{ "5b7c2d1d5acfc43d1028532a ShortName", "MMW Fal 7.62"},
{ "5b7c710788a4506dec015957 ShortName", "Lucky Scav junkbox"},
{ "5b7d37845acfc400170e2f87 ShortName", "L1A1 30 7.62"},
{ "5b7d63b75acfc400170e2f8a ShortName", "PRS 2 FAL"},
{ "5b7d63cf5acfc4001876c8df ShortName", "SA-58 Folding"},
{ "5b7d63de5acfc400170e2f8d ShortName", "SA-58 SPR Stock"},
{ "5b7d64555acfc4001876c8e2 ShortName", "SA-58 BRS Stock"},
{ "5b7d645e5acfc400170e2f90 ShortName", "SA-58 Humpback"},
{ "5b7d671b5acfc43d82528ddd ShortName", "Fal Belgian style"},
{ "5b7d678a5acfc4001a5c4022 ShortName", "DS SA-58"},
{ "5b7d679f5acfc4001a5c4024 ShortName", "AG FAL"},
{ "5b7d68af5acfc400170e30c3 ShortName", "Austrian Style"},
{ "5b7d693d5acfc43bca706a3d ShortName", "2A X3"},
{ "5b7d6c105acfc40015109a5f ShortName", "FAL DC"},
{ "5b800e9286f7747a8b04f3ff ShortName", "Hex Blk"},
{ "5b800ebc86f774394e230a90 ShortName", "Hexagon Med"},
{ "5b800ed086f7747baf6e2f9e ShortName", "Hex."},
{ "5b80242286f77429445e0b47 ShortName", "Hex red"},
{ "5b84038986f774774913b0c1 ShortName", "Hex."},
{ "5b8403a086f7747ff856f4e2 ShortName", "Hex."},
{ "5b86a0e586f7745b600ccb23 ShortName", "Bramit"},
{ "5ba26383d4351e00334c93d9 ShortName", "MP7A1"},
{ "5ba264f6d4351e0034777d52 ShortName", "MP7 20"},
{ "5ba2657ed4351e0035628ff2 ShortName", "MP7 30"},
{ "5ba26586d4351e44f824b340 ShortName", "MP7 40"},
{ "5ba2678ad4351e44f824b344 ShortName", "FMJ SX"},
{ "5ba26812d4351e003201fef1 ShortName", "Action SX"},
{ "5ba26835d4351e0035628ff5 ShortName", "AP SX"},
{ "5ba26844d4351e00334c9475 ShortName", "Subsonic SX"},
{ "5ba26acdd4351e003562908e ShortName", "MP7"},
{ "5ba26ae8d4351e00367f9bdb ShortName", "Rotex 2"},
{ "5ba26b01d4351e0085325a51 ShortName", "MP7 Front Flip Up"},
{ "5ba26b17d4351e00367f9bdd ShortName", "MP7Rearsight Flip Up"},
{ "5ba36f85d4351e0085325c81 ShortName", "NSPU-M eyecup"},
{ "5bae13bad4351e00320204af ShortName", "Archangel OPFOR PRS"},
{ "5bae13ded4351e44f824bf38 ShortName", "AA762R 02"},
{ "5bb20d53d4351e4502010a69 ShortName", "416A5 Upper"},
{ "5bb20d92d4351e00853263eb ShortName", "11 416A5 5.56x45"},
{ "5bb20d9cd4351e00334c9d8a ShortName", "14.5 416A5 5.56x45"},
{ "5bb20da5d4351e0035629dbf ShortName", "16.5 416A5 5.56x45"},
{ "5bb20dadd4351e00367faeff ShortName", "20 416A5 5.56x45"},
{ "5bb20dbcd4351e44f824c04e ShortName", "Extended latch"},
{ "5bb20dcad4351e3bac1212da ShortName", "416A5"},
{ "5bb20de5d4351e0035629e59 ShortName", "Quadrail"},
{ "5bb20df1d4351e00347787d5 ShortName", "Quad. sight"},
{ "5bb20dfcd4351e00334c9e24 ShortName", "Ext.Quad"},
{ "5bb20e0ed4351e3bac1212dc ShortName", "Battle Grip"},
{ "5bb20e18d4351e00320205d5 ShortName", "Battle Grip"},
{ "5bb20e49d4351e3bac1212de ShortName", " 416A5 Rearsight Flip Up"},
{ "5bb20e58d4351e00320205d7 ShortName", "Enhanced Tube"},
{ "5bb20e70d4351e0035629f8f ShortName", "Slim Line"},
{ "5bb2475ed4351e00853264e3 ShortName", "HK 416A5"},
{ "5bbdb811d4351e45020113c7 ShortName", "Tri-Rail"},
{ "5bbdb83fd4351e44f824c44b ShortName", "Tanker"},
{ "5bbdb870d4351e00367fb67d ShortName", "Monte Carlo"},
{ "5bbdb8bdd4351e4502011460 ShortName", "Atlas-7"},
{ "5bbde409d4351e003562b036 ShortName", "Recoil pad"},
{ "5bbde41ed4351e003562b038 ShortName", "pgmn"},
{ "5bc09a18d4351e003562b68e ShortName", "MBUS Rearsight"},
{ "5bc09a30d4351e00367fb7c8 ShortName", "MBUS Front"},
{ "5bc5a351d4351e003477a414 ShortName", "TPP"},
{ "5bc5a35cd4351e450201232f ShortName", "Witt"},
{ "5bc5a372d4351e44f824d17f ShortName", "MNG"},
{ "5bc9b156d4351e00367fbce9 ShortName", "Mayo"},
{ "5bc9b355d4351e6d1509862a ShortName", "#FireKlean"},
{ "5bc9b720d4351e450201234b ShortName", "1GPhone"},
{ "5bc9b9ecd4351e3bac122519 ShortName", "Beardoil"},
{ "5bc9bc53d4351e00367fbcee ShortName", "Rooster"},
{ "5bc9bdb8d4351e003562b8a1 ShortName", "Badge"},
{ "5bc9be8fd4351e00334cae6e ShortName", "Tea"},
{ "5bc9c049d4351e44f824d360 ShortName", "Book"},
{ "5bc9c1e2d4351e00367fbcf0 ShortName", "Axe"},
{ "5bc9c29cd4351e003562b8a3 ShortName", "Sprats"},
{ "5bc9c377d4351e3bac12251b ShortName", "Firesteel"},
{ "5bcf0213d4351e0085327c17 ShortName", "A1 stock"},
{ "5bd06f5d86f77427101ad47c ShortName", "Mask"},
{ "5bd0716d86f774171822ef4b ShortName", "Mask"},
{ "5bd071d786f7747e707b93a3 ShortName", "Mask"},
{ "5bd073a586f7747e6f135799 ShortName", "Mustache"},
{ "5bd073c986f7747f627e796c ShortName", "Kotton"},
{ "5bd70322209c4d00d7167b8f ShortName", "MP7A2"},
{ "5bd704e7209c4d00d7167c31 ShortName", "A2 stock"},
{ "5be4038986f774527d3fae60 ShortName", "Interchange"},
{ "5bead2e00db834001c062938 ShortName", "MPL-50"},
{ "5bed61680db834001d2c45ab ShortName", "АК-12 std."},
{ "5bed625c0db834001c062946 ShortName", "RPK-16 std."},
{ "5beec1bd0db834001e6006f3 ShortName", "15 RPK-16 5.45x39"},
{ "5beec2820db834001b095426 ShortName", "22RPK-165.45x39"},
{ "5beec3420db834001b095429 ShortName", "RPK-16 MB"},
{ "5beec3e30db8340019619424 ShortName", "RPK-16 HG"},
{ "5beec8b20db834001961942a ShortName", "RPK-16 Tube"},
{ "5beec8c20db834001d2c465c ShortName", "AK-12 reg."},
{ "5beec8ea0db834001a6f9dbf ShortName", "AK-12 reg."},
{ "5beec91a0db834001961942d ShortName", "RPK-16 Dust Cover"},
{ "5beec9450db83400970084fd ShortName", "RPK-16 rear"},
{ "5beecbb80db834001d2c465e ShortName", "RPK-16 rail"},
{ "5beed0f50db834001c062b12 ShortName", "RPK-16"},
{ "5bf3e03b0db834001d2c4a9c ShortName", "АК-74"},
{ "5bf3e0490db83400196199af ShortName", "АКS-74"},
{ "5bf3f59f0db834001a6fa060 ShortName", "RPK-16 rear"},
{ "5bfd297f0db834001a669119 ShortName", "Mosin Inf."},
{ "5bfd35380db83400232fe5cc ShortName", "Infantry mosin Stock"},
{ "5bfd36290db834001966869a ShortName", "Sawn off sniper Mosin Stock"},
{ "5bfd36ad0db834001c38ef66 ShortName", "Sawn off Mosin stock"},
{ "5bfd37c80db834001d23e842 ShortName", "Mosin sniper carbine stock"},
{ "5bfd384c0db834001a6691d3 ShortName", "Mosin carbine stock"},
{ "5bfd4c980db834001b73449d ShortName", "Mosin rs."},
{ "5bfd4cbe0db834001b73449f ShortName", "514mm Mosin barrel"},
{ "5bfd4cc90db834001d23e846 ShortName", "200mm Mosin barrel"},
{ "5bfd4cd60db834001c38f095 ShortName", "220mm Mosin barrel"},
{ "5bfe7fb30db8340018089fed ShortName", "12003"},
{ "5bfe86a20db834001d23e8f7 ShortName", "AGR-870"},
{ "5bfe86bd0db83400232fe959 ShortName", "AGR-870 cap"},
{ "5bfe86df0db834001b734685 ShortName", "GLR-16-S"},
{ "5bfe89510db834001808a127 ShortName", "AGR-870 tube"},
{ "5bfea6e90db834001b7347f3 ShortName", "M700"},
{ "5bfea7ad0db834001c38f1ee ShortName", "Wyatt 5rnd"},
{ "5bfeaa0f0db834001b734927 ShortName", "Wyatt 10rnd"},
{ "5bfeb32b0db834001a6694d9 ShortName", "Overmolded ghillie"},
{ "5bfebc250db834001a6694e1 ShortName", "26 M700"},
{ "5bfebc320db8340019668d79 ShortName", "20 M700 7.62x51"},
{ "5bfebc530db834001d23eb65 ShortName", "Multi-slot"},
{ "5bfebc5e0db834001a6694e5 ShortName", "Rem. integr."},
{ "5bffcf7a0db83400232fea79 ShortName", "TT-206"},
{ "5bffd7ed0db834001d23ebf9 ShortName", "DTK-TT"},
{ "5bffdc370db834001d23eca8 ShortName", "6h5"},
{ "5bffdd7e0db834001b734a1a ShortName", "M-2"},
{ "5bffe7930db834001b734a39 ShortName", "SCA"},
{ "5bffe7c50db834001d23ece1 ShortName", "axelson"},
{ "5bffec120db834001c38f5fa ShortName", "Axelson P226"},
{ "5bffef760db8340019668fe4 ShortName", "Mascus P226"},
{ "5c0000c00db834001a6697fc ShortName", "3 Lug thr."},
{ "5c0006470db834001a6697fe ShortName", "Scorpion P226"},
{ "5c00076d0db834001d23ee1f ShortName", "Wooden Elite P226"},
{ "5c0009510db834001966907f ShortName", "Stainless elite P226"},
{ "5c0102aa0db834001b734ba1 ShortName", "2 in. RAHG"},
{ "5c0102b20db834001d23eebc ShortName", "4 in. RAHG"},
{ "5c010a700db834001d23ef5d ShortName", "Scorpion P226"},
{ "5c010e350db83400232feec7 ShortName", "SP-8"},
{ "5c0111ab0db834001966914d ShortName", "Cylinder "},
{ "5c0125fc0db834001a669aa3 ShortName", "Legion P226"},
{ "5c0126f40db834002a125382 ShortName", "RR"},
{ "5c012ffc0db834001d23f03f ShortName", "Camper"},
{ "5c0505e00db834001b735073 ShortName", "1P87"},
{ "5c0517910db83400232ffee5 ShortName", "PS320 1/6x"},
{ "5c05293e0db83400232fff80 ShortName", "TA01NSN"},
{ "5c05295e0db834001a66acbb ShortName", "Trij.Bck-up"},
{ "5c052a900db834001a66acbd ShortName", "TA01NSN"},
{ "5c052cea86f7746b2101e8d8 ShortName", "Plastic suitcase"},
{ "5c052e6986f7746b207bc3c9 ShortName", "Defibrillator"},
{ "5c052f6886f7746b1e3db148 ShortName", "SG-C10"},
{ "5c052fb986f7746b2101e909 ShortName", "RFIDR"},
{ "5c05300686f7746dce784e5d ShortName", "VPX"},
{ "5c05308086f7746b2101e90b ShortName", "Virtex"},
{ "5c0530ee86f774697952d952 ShortName", "LEDX"},
{ "5c05413a0db834001c390617 ShortName", "HK Steel"},
{ "5c0548ae0db834001966a3c2 ShortName", "CWP"},
{ "5c0558060db834001b735271 ShortName", "GPNVG-18"},
{ "5c064c400db834001d23f468 ShortName", "QD LT-101"},
{ "5c06595c0db834001a66af6c ShortName", "LA-5"},
{ "5c066e3a0db834001b7353f0 ShortName", "N-15"},
{ "5c066ef40db834001966a595 ShortName", "NVG mask"},
{ "5c0672ed0db834001b7353f3 ShortName", "SG-919 30"},
{ "5c0673fb0db8340023300271 ShortName", "SG-919 20"},
{ "5c06779c86f77426e00dd782 ShortName", "Wires"},
{ "5c06782b86f77426df5407d2 ShortName", "Cap."},
{ "5c0684e50db834002a12585a ShortName", "Hogue like"},
{ "5c0695860db834001b735461 ShortName", "10T adapter"},
{ "5c0696830db834001d23f5da ShortName", "PNV-10T"},
{ "5c06c6a80db834001b735491 ShortName", "SSh-68"},
{ "5c079ec50db834001966a706 ShortName", "Razor A. TT"},
{ "5c079ed60db834001a66b372 ShortName", "Precision"},
{ "5c07a8770db8340023300450 ShortName", "Gen.3"},
{ "5c07b36c0db834002a1259e9 ShortName", "TD NS Fr."},
{ "5c07b3850db834002330045b ShortName", "TD NS Re."},
{ "5c07c5ed0db834001b73571c ShortName", "Noveske Style"},
{ "5c07c60e0db834002330051f ShortName", "ADAR 2-15"},
{ "5c07c9660db834001a66b588 ShortName", "End Cap"},
{ "5c07dd120db834001c39092d ShortName", "HHS-1"},
{ "5c07df7f0db834001b73588a ShortName", "Crowbar"},
{ "5c08f87c0db8340019124324 ShortName", "SHPM"},
{ "5c0919b50db834001b7ce3b9 ShortName", "1Sch FShield"},
{ "5c091a4e0db834001d5addc8 ShortName", "Maska 1Sch"},
{ "5c093ca986f7740a1867ab12 ShortName", "Kappa"},
{ "5c093db286f7740a1b2617e3 ShortName", "Holodilnick"},
{ "5c093e3486f77430cb02e593 ShortName", "Dogtags"},
{ "5c0a2cec0db834001b7ce47d ShortName", "HHS-1"},
{ "5c0a794586f77461c458f892 ShortName", "Boss container"},
{ "5c0a840b86f7742ffa4f2482 ShortName", "T H I C C"},
{ "5c0d2727d174af02a012cf58 ShortName", "Djeta"},
{ "5c0d32fcd174af02a1659c75 ShortName", "Proximity"},
{ "5c0d56a986f774449d5de529 ShortName", "RIP"},
{ "5c0d591486f7744c505b416f ShortName", "12x70 RIP"},
{ "5c0d5ae286f7741e46554302 ShortName", "WG"},
{ "5c0d5e4486f77478390952fe ShortName", "7N39"},
{ "5c0d668f86f7747ccb7f13b2 ShortName", "SPP"},
{ "5c0d688c86f77413ae3407b2 ShortName", "BP"},
{ "5c0e2f26d174af02a9625114 ShortName", "2-15 Upper"},
{ "5c0e2f5cd174af02a012cfc9 ShortName", "2-15 wood"},
{ "5c0e2f94d174af029f650d56 ShortName", "406mm AR-15 5.56x45"},
{ "5c0e2ff6d174af02a1659d4a ShortName", "2-15 wood"},
{ "5c0e3eb886f7742015526062 ShortName", "6B5-16"},
{ "5c0e446786f7742013381639 ShortName", "6B5-15"},
{ "5c0e51be86f774598e797894 ShortName", "6B13"},
{ "5c0e530286f7747fa1419862 ShortName", "Propital"},
{ "5c0e531286f7747fa54205c2 ShortName", "SJ1 TGLabs"},
{ "5c0e531d86f7747fa23f4d42 ShortName", "SJ6 TGLabs"},
{ "5c0e533786f7747fa23f4d47 ShortName", "Zagustin"},
{ "5c0e534186f7747fa1419867 ShortName", "eTG-c"},
{ "5c0e53c886f7747fa54205c7 ShortName", "6B13"},
{ "5c0e541586f7747fa54205c9 ShortName", "6B13M"},
{ "5c0e57ba86f7747fa141986d ShortName", "6B23-2"},
{ "5c0e5bab86f77461f55ed1f3 ShortName", "6B23-1"},
{ "5c0e5edb86f77461f55ed1f7 ShortName", "Zhuk-3"},
{ "5c0e625a86f7742d77340f62 ShortName", "Zhuk-6a"},
{ "5c0e655586f774045612eeb2 ShortName", "Trooper"},
{ "5c0e66e2d174af02a96252f4 ShortName", "SLAAP"},
{ "5c0e6a1586f77404597b4965 ShortName", "Belt"},
{ "5c0e722886f7740458316a57 ShortName", "M1"},
{ "5c0e746986f7741453628fe5 ShortName", "TV-110"},
{ "5c0e774286f77468413cc5b2 ShortName", "Blackjack 50"},
{ "5c0e805e86f774683f3dd637 ShortName", "Paratus"},
{ "5c0e842486f77443a74d2976 ShortName", "1Sch FShield"},
{ "5c0e874186f7745dc7616606 ShortName", "Maska 1Sch"},
{ "5c0e9f2c86f77432297fe0a3 ShortName", "Commando "},
{ "5c0fa877d174af02a012e1cf ShortName", "Aquamari"},
{ "5c0faeddd174af02a962601f ShortName", "ADAR St."},
{ "5c0faf68d174af02a96260b8 ShortName", "ADAR 2-15 Charge"},
{ "5c0fafb6d174af02a96260ba ShortName", "ADAR FH"},
{ "5c10c8fd86f7743d7d706df3 ShortName", "Adrenaline"},
{ "5c11046cd174af02a012e42b ShortName", "W-PVS7"},
{ "5c110624d174af029e69734c ShortName", "T-7"},
{ "5c11279ad174af029d64592b ShortName", "Warmage"},
{ "5c1127bdd174af44217ab8b9 ShortName", "DIPP"},
{ "5c1127d0d174af29be75cf68 ShortName", "12x70 DIPP"},
{ "5c12301c86f77419522ba7e4 ShortName", "False FD"},
{ "5c1260dc86f7746b106e8748 ShortName", "7N12"},
{ "5c12613b86f7743bbe2c3f76 ShortName", "Intelligence"},
{ "5c12619186f7743f871c8a32 ShortName", "7N9"},
{ "5c12620d86f7743f8b198b72 ShortName", "Tetriz"},
{ "5c1262a286f7743f8a69aab2 ShortName", "7N39"},
{ "5c1265fc86f7743f896a21c2 ShortName", "GPX"},
{ "5c1267ee86f77416ec610f72 ShortName", "Prokill"},
{ "5c12688486f77426843c7d32 ShortName", "Paracord"},
{ "5c127c4486f7745625356c13 ShortName", "Magbox"},
{ "5c13cd2486f774072c757944 ShortName", "Soap"},
{ "5c13cef886f774072e618e82 ShortName", "TP"},
{ "5c165d832e2216398b5a7e36 ShortName", "Tactical Sport"},
{ "5c17664f2e2216398b5a7e3c ShortName", "CMRD"},
{ "5c1780312e221602b66cc189 ShortName", "KAC Rear"},
{ "5c17804b2e2216152006c02f ShortName", "KAC Front"},
{ "5c178a942e22164bef5ceca3 ShortName", "Chops"},
{ "5c1793902e221602b21d3de2 ShortName", "CP Ears"},
{ "5c17a7ed2e2216152142459c ShortName", "Airframe Tan"},
{ "5c18b90d2e2216152142466b ShortName", "MBUS Front"},
{ "5c18b9192e2216398b5a8104 ShortName", "MBUS Rearsight"},
{ "5c1a1cc52e221602b3136e3d ShortName", "M Frame"},
{ "5c1a1e3f2e221602b66cc4c2 ShortName", "Beard"},
{ "5c1bc4812e22164bef5cfde7 ShortName", "RK-0"},
{ "5c1bc5612e221602b5429350 ShortName", "RK-1"},
{ "5c1bc5af2e221602b412949b ShortName", "RK-2"},
{ "5c1bc5fb2e221602b1779b32 ShortName", "RK-4"},
{ "5c1bc7432e221602b412949d ShortName", "RK-5"},
{ "5c1bc7752e221602b1779b34 ShortName", "RK-6"},
{ "5c1cd46f2e22164bef5cfedb ShortName", "B-25U RK-1"},
{ "5c1cdd302e221602b3137250 ShortName", "Compact mount"},
{ "5c1cdd512e22161b267d91ae ShortName", "Prism 2.5x"},
{ "5c1d0c5f86f7744bb2683cf0 ShortName", "Blue"},
{ "5c1d0d6d86f7744bb2683e1f ShortName", "Yellow"},
{ "5c1d0dc586f7744baf2e7b79 ShortName", "Green"},
{ "5c1d0efb86f7744baf2e7b7b ShortName", "Red"},
{ "5c1d0f4986f7744bb01837fa ShortName", "Black"},
{ "5c1e2a1e86f77431ea0ea84c ShortName", "Lk.MO"},
{ "5c1e2d1f86f77431e9280bee ShortName", "Lk.TA(w)"},
{ "5c1e495a86f7743109743dfb ShortName", "Violet"},
{ "5c1f79a086f7746ed066fb8f ShortName", "Lk.ASR"},
{ "5c3df7d588a4501f290594e5 ShortName", "GT"},
{ "5c46fbd72e2216398b5a8c9c ShortName", "SVDS"},
{ "5c471b5d2e221602b21d4e14 ShortName", "SVDS Stock"},
{ "5c471b7e2e2216152006e46c ShortName", "SVDS rs."},
{ "5c471ba12e221602b3137d76 ShortName", "SVDS fs"},
{ "5c471bd12e221602b4129c3a ShortName", "SVDS DC"},
{ "5c471be12e221602b66cd9ac ShortName", "SVDS PG"},
{ "5c471bfc2e221602b21d4e17 ShortName", "SVDS MB"},
{ "5c471c2d2e22164bef5d077f ShortName", "SVDS LB"},
{ "5c471c442e221602b542a6f8 ShortName", "SVD 7.62x54"},
{ "5c471c6c2e221602b66cd9ae ShortName", "SVDS FG"},
{ "5c471c842e221615214259b5 ShortName", "SVDS G.Tube"},
{ "5c471cb32e221602b177afaa ShortName", "22 SVDS"},
{ "5c488a752e221602b412af63 ShortName", "DT MDR 5.56x45"},
{ "5c48a14f2e2216152006edd7 ShortName", "MDR Handguard"},
{ "5c48a2852e221602b21d5923 ShortName", "406mm MDR 5.56x45"},
{ "5c48a2a42e221602b66d1e07 ShortName", "MDR reg."},
{ "5c48a2c22e221602b313fb6c ShortName", "MDR reg."},
{ "5c4ee3d62e2216152006f302 ShortName", "Mk.2.0"},
{ "5c4eec9b2e2216398b5aaba2 ShortName", "Thread adapter"},
{ "5c4eecc32e221602b412b440 ShortName", "SV-98 sil."},
{ "5c4eecde2e221602b3140418 ShortName", "SV-98 HS"},
{ "5c501a4d2e221602b412b540 ShortName", "Hunter"},
{ "5c5039be2e221602b177c9ff ShortName", "VPO-101 G.Tube"},
{ "5c503ac82e221602b21d6e9a ShortName", "VPO-101"},
{ "5c503ad32e2216398b5aada2 ShortName", "VPO-101"},
{ "5c503af12e221602b177ca02 ShortName", "VPO-101 stock"},
{ "5c503b1c2e221602b21d6e9d ShortName", "Vepr Rear"},
{ "5c503d0a2e221602b542b7ef ShortName", "VPO-101"},
{ "5c5952732e2216398b5abda2 ShortName", "Perst-3"},
{ "5c59529a2e221602b177d160 ShortName", "OEM 14 inch"},
{ "5c5970672e221602b21d7855 ShortName", "AALVX 35"},
{ "5c5db5852e2216003a0fe71a ShortName", "4.5 MPX 9x19"},
{ "5c5db5962e2216000e5e46eb ShortName", "6.5 MPX 9x19"},
{ "5c5db5b82e2216003a0fe71d ShortName", "10.5 MPX 9x19"},
{ "5c5db5c62e22160012542255 ShortName", "14 MPX 9x19"},
{ "5c5db5f22e2216000e5e47e8 ShortName", "Midwest 4.5 inch"},
{ "5c5db5fc2e2216000f1b2842 ShortName", "Midwest 6.5 inch"},
{ "5c5db6302e2216000e5e47f0 ShortName", "Midwest 10.5 inch"},
{ "5c5db6552e2216001026119d ShortName", "9x19 MPX"},
{ "5c5db6652e221600113fba51 ShortName", "9x19 MPX"},
{ "5c5db6742e2216000f1b2852 ShortName", "MPX Drum"},
{ "5c5db6b32e221600102611a0 ShortName", "SCH Charge"},
{ "5c5db6ee2e221600113fba54 ShortName", "MD CQB"},
{ "5c5db6f82e2216003a0fe914 ShortName", "ULSS"},
{ "5c6161fb2e221600113fbde5 ShortName", "Sb.3x5"},
{ "5c6162682e22160010261a2b ShortName", "TOZ-106 DT"},
{ "5c61627a2e22160012542c55 ShortName", "106 mount"},
{ "5c6165902e22160010261b28 ShortName", "SRD 9"},
{ "5c6175362e221600133e3b94 ShortName", "AK-A-16"},
{ "5c617a5f2e2216000f1e81b3 ShortName", "B-10"},
{ "5c61a40d2e2216001403158d ShortName", "B-13"},
{ "5c6592372e221600133e47d7 ShortName", "MAG5-100"},
{ "5c6beec32e221601da3578f2 ShortName", "TJ"},
{ "5c6bf4aa2e2216001219b0ae ShortName", "US Palm AK"},
{ "5c6c2c9c2e2216000f2002e4 ShortName", "Troy M-LOK"},
{ "5c6d10e82e221601da357b07 ShortName", "HK Keymod"},
{ "5c6d10fa2e221600106f3f23 ShortName", "Midwest M-LOK"},
{ "5c6d11072e2216000e69d2e4 ShortName", "Midwest M-LOK"},
{ "5c6d11152e2216000f2003e7 ShortName", "CRUX Handguard"},
{ "5c6d42cb2e2216000e69d7d1 ShortName", "Polymer mag"},
{ "5c6d450c2e221600114c997d ShortName", "PM Gen.2"},
{ "5c6d46132e221601da357d56 ShortName", "Battlemag"},
{ "5c6d5d8b2e221644fc630b39 ShortName", "Stngr Vypr"},
{ "5c6d710d2e22165df16b81e7 ShortName", "WarComp"},
{ "5c6d7b3d2e221600114c9b7d ShortName", "Grip V.2"},
{ "5c6d85e02e22165df16b81f4 ShortName", "10.6 416A5 5.56x45"},
{ "5c78f2492e221600114c9f04 ShortName", "SAI QD Rail"},
{ "5c78f2612e221600114c9f0d ShortName", "SAI QD Rail"},
{ "5c78f26f2e221601da3581d1 ShortName", "MOE SL"},
{ "5c78f2792e221600106f4683 ShortName", "MOE SL"},
{ "5c78f2882e22165df16b832e ShortName", "Jail Break"},
{ "5c791e872e2216001219c40a ShortName", "Cobra"},
{ "5c793fb92e221644f31bfb64 ShortName", "Advanced Tube"},
{ "5c793fc42e221600114ca25d ShortName", "Advanced Tube"},
{ "5c793fde2e221601da358614 ShortName", "Viper Mod.1"},
{ "5c7951452e221644f31bfd5c ShortName", "Antidote"},
{ "5c7954d52e221600106f4cc7 ShortName", "ONE Mount"},
{ "5c7955c22e221644f31bfd5e ShortName", "Gemtech ONE"},
{ "5c7d55de2e221644f31bff68 ShortName", "COMP M4"},
{ "5c7d55f52e221644f31bff6a ShortName", "LRP"},
{ "5c7d560b2e22160bc12c6139 ShortName", "AMSS"},
{ "5c7e5f112e221600106f4ede ShortName", "Blackout 51T"},
{ "5c7e8fab2e22165df16b889b ShortName", "AAC Illusion 9"},
{ "5c7fb51d2e2216001219ce11 ShortName", "SF3P"},
{ "5c7fc87d2e221644f31c0298 ShortName", "MOD3"},
{ "5c82342f2e221644f31c060e ShortName", "PSO 1"},
{ "5c82343a2e221644f31c0611 ShortName", "PSO 1M2"},
{ "5c86592b2e2216000e69e77c ShortName", "KH/F 34mm"},
{ "5c878e9d2e2216000f201903 ShortName", "DGN762B"},
{ "5c878ebb2e2216001219d48a ShortName", "DGNAK47B"},
{ "5c87a07c2e2216001219d4a2 ShortName", "HK E1"},
{ "5c87ca002e221600114cb150 ShortName", "VPG"},
{ "5c88f24b2e22160bc12c69a6 ShortName", "SVD 7.62x54"},
{ "5c90c3622e221601da359851 ShortName", "B-13V"},
{ "5c920e902e221644f31c3c99 ShortName", "9x19 P226"},
{ "5c925fa22e221601da359b7b ShortName", "AP 6.3"},
{ "5c94bbff86f7747ee735c08f ShortName", "Keycard"},
{ "5c99f3592e221644fc633070 ShortName", "TOZ-106 Mosin"},
{ "5c9a07572e221644f31c4b32 ShortName", "Zhukov-U"},
{ "5c9a1c3a2e2216000e69fb6a ShortName", "Zhukov-U"},
{ "5c9a1c422e221600106f69f0 ShortName", "Zhukov-U"},
{ "5c9a25172e2216000f20314e ShortName", "RIS II 12.25 FDE"},
{ "5c9a26332e2216001219ea70 ShortName", "RIS II FSP 9.5 FDE"},
{ "5ca20abf86f77418567a43f2 ShortName", "Triton"},
{ "5ca20d5986f774331e7c9602 ShortName", "Berkut"},
{ "5ca20ee186f774799474abc2 ShortName", "Vulkan-5"},
{ "5ca2113f86f7740b2547e1d2 ShortName", "FShield"},
{ "5ca2151486f774244a3b8d30 ShortName", "Redut-M"},
{ "5ca21c6986f77479963115a7 ShortName", "Redut-T5"},
{ "5cadc190ae921500103bb3b6 ShortName", "M9A3"},
{ "5cadc1c6ae9215000f2775a4 ShortName", "M9A3 tr. 9x19"},
{ "5cadc2e0ae9215051e1c21e7 ShortName", "9х19 M9A3"},
{ "5cadc390ae921500126a77f1 ShortName", "M9A3 protection cap"},
{ "5cadc431ae921500113bb8d5 ShortName", "PGripM9A3"},
{ "5cadc55cae921500103bb3be ShortName", "M9A3 Slide"},
{ "5cadd919ae921500126a77f3 ShortName", "M9A3 FR"},
{ "5cadd940ae9215051e1c2316 ShortName", "M9A3 RS"},
{ "5cadd954ae921500103bb3c2 ShortName", "SM M9"},
{ "5cadf6ddae9215051e1c23b2 ShortName", "PS12"},
{ "5cadf6e5ae921500113bb973 ShortName", "PS12A"},
{ "5cadf6eeae921500134b2799 ShortName", "PS12B"},
{ "5cadfbf7ae92152ac412eeef ShortName", "ASh-12"},
{ "5caf1041ae92157c28402e3f ShortName", "ASh-12 10rd."},
{ "5caf1109ae9215753c44119f ShortName", "ASh-12"},
{ "5caf1691ae92152ac412efb9 ShortName", "ASh-12 Carry"},
{ "5caf16a2ae92152ac412efbc ShortName", "ASh-12 Front"},
{ "5caf17c9ae92150b30006be1 ShortName", "ASh MB"},
{ "5caf187cae92157c28402e43 ShortName", "ASh supp"},
{ "5cbda392ae92155f3c17c39f ShortName", "AK polym"},
{ "5cbda9f4ae9215000e5b9bfc ShortName", "6P20 Sb.9 Plum"},
{ "5cbdaf89ae9215000e5b9c94 ShortName", "6L23 Plum"},
{ "5cbdb1b0ae9215000d50e105 ShortName", "6P20 Sb.7 Plum"},
{ "5cbdc23eae9215001136a407 ShortName", "Molot Drum"},
{ "5cc6ea78e4a949000e1ea3c1 ShortName", "FN Chrg."},
{ "5cc6ea85e4a949000e1ea3c3 ShortName", "Handler"},
{ "5cc70093e4a949033c734312 ShortName", "FN reg."},
{ "5cc700b9e4a949000f0f0f25 ShortName", "P90 Stock"},
{ "5cc700cae4a949035e43ba72 ShortName", "P90 butt"},
{ "5cc700d4e4a949000f0f0f28 ShortName", "DI Butt"},
{ "5cc700ede4a949033c734315 ShortName", "EFFEN 90"},
{ "5cc70102e4a949035e43ba74 ShortName", "P90 Upper"},
{ "5cc7012ae4a949001252b43e ShortName", "EFFEN 90"},
{ "5cc70146e4a949000d73bf6b ShortName", "FN side."},
{ "5cc7015ae4a949001152b4c6 ShortName", "FN top"},
{ "5cc701aae4a949000e1ea45c ShortName", "10.5 P90 5.7x28"},
{ "5cc701d7e4a94900100ac4e7 ShortName", "16 P90 5.7x28"},
{ "5cc80f38e4a949001152b560 ShortName", "SS190"},
{ "5cc80f53e4a949000e1ea4f8 ShortName", "L191"},
{ "5cc80f67e4a949035e43bbba ShortName", "SB193"},
{ "5cc80f79e4a949033c7343b2 ShortName", "SS198LF"},
{ "5cc80f8fe4a949033b0224a2 ShortName", "SS197SR"},
{ "5cc82796e24e8d000f5859a8 ShortName", "P90 FH"},
{ "5cc82d76e24e8d00134b4b83 ShortName", "P90"},
{ "5cc86832d7f00c000d3a6e6c ShortName", "R37.F"},
{ "5cc86840d7f00c002412c56c ShortName", "R37.X"},
{ "5cc9a96cd7f00c011c04e04a ShortName", "SRVV"},
{ "5cc9ad73d7f00c000e2579d4 ShortName", "SRVV"},
{ "5cc9b815d7f00c000e2579d6 ShortName", "Claymore"},
{ "5cc9bcaed7f00c011c04e179 ShortName", "HG15"},
{ "5cc9c20cd7f00c001336c65d ShortName", "TBL"},
{ "5cda9bcfd7f00c0c0b53e900 ShortName", "ASh-12"},
{ "5cdaa99dd7f00c002412d0b2 ShortName", "ASh-12 polym"},
{ "5cdd7685d7f00c000f260ed2 ShortName", "SHREWD"},
{ "5cdd7693d7f00c0010373aa5 ShortName", "M-11"},
{ "5cde739cd7f00c0010373bd3 ShortName", "MOD X Gen.3"},
{ "5cde77a9d7f00c000f261009 ShortName", "fold.adapter"},
{ "5cde7afdd7f00c000d36b89d ShortName", "MOD X"},
{ "5cde7b43d7f00c000d36b93e ShortName", "MOD X"},
{ "5cde8864d7f00c0010373be1 ShortName", "B-32"},
{ "5cdeac22d7f00c000f26168f ShortName", "PRO 700"},
{ "5cdeac42d7f00c000d36ba73 ShortName", "PRO700 stock "},
{ "5cdeac5cd7f00c000f261694 ShortName", "Pro700"},
{ "5cdeaca5d7f00c00b61c4b70 ShortName", "PRO700"},
{ "5cdeb229d7f00c000e7ce174 ShortName", "NSV"},
{ "5ce69cbad7f00c00b61c5098 ShortName", "PMAG .308 AC"},
{ "5cebec00d7f00c065c53522a ShortName", "Attenuator"},
{ "5cebec10d7f00c065703d185 ShortName", "PS90 Stock"},
{ "5cebec38d7f00c00110a652a ShortName", "Ring"},
{ "5cf12a15d7f00c05464b293f ShortName", "AA-70 20"},
{ "5cf13123d7f00c1085616a50 ShortName", "Archangel M700"},
{ "5cf4e3f3d7f00c06595bc7f0 ShortName", "Aggressor"},
{ "5cf4fb76d7f00c065703d3ac ShortName", "Pillau"},
{ "5cf50850d7f00c056e24104c ShortName", "EPG AK"},
{ "5cf508bfd7f00c056e24104e ShortName", "EPG AK FDE"},
{ "5cf50fc5d7f00c056c53f83c ShortName", "AKTS"},
{ "5cf518cfd7f00c065b422214 ShortName", "AKTS"},
{ "5cf54404d7f00c108840b2ef ShortName", "MG-47"},
{ "5cf638cbd7f00c06595bc936 ShortName", "USP-1"},
{ "5cf639aad7f00c065703d455 ShortName", "USP-1 eyecup"},
{ "5cf656f2d7f00c06585fb6eb ShortName", "VS Combo"},
{ "5cf67a1bd7f00c06585fb6f3 ShortName", "WT1052"},
{ "5cf67cadd7f00c065a5abab7 ShortName", "WT0032-1"},
{ "5cf6935bd7f00c06585fb791 ShortName", "TACCOM"},
{ "5cf6937cd7f00c056c53fb39 ShortName", "ST-6012"},
{ "5cf78496d7f00c065703d6ca ShortName", "A3 Adapter"},
{ "5cf78720d7f00c06595bc93e ShortName", "BMD"},
{ "5cf79389d7f00c10941a0c4d ShortName", "Mosin thr."},
{ "5cf79599d7f00c10875d9212 ShortName", "TR"},
{ "5cf7acfcd7f00c1084477cf2 ShortName", "PS90 Upper"},
{ "5cf8f3b0d7f00c00217872ef ShortName", "Powermag 20"},
{ "5cfe8010d7ad1a59283b14c6 ShortName", "X-47 7.62"},
{ "5cff9e5ed7ad1a09407397d4 ShortName", "Wave MB"},
{ "5cff9e84d7ad1a049e54ed55 ShortName", "Wave QD"},
{ "5cffa483d7ad1a049e54ef1c ShortName", "ammo belt"},
{ "5d00e0cbd7ad1a6c6566a42d ShortName", "Viper"},
{ "5d00ec68d7ad1a04a067e5be ShortName", "JPGS5b"},
{ "5d00ede1d7ad1a0940739a76 ShortName", "N6 10.5 inch"},
{ "5d00ef6dd7ad1a0940739b16 ShortName", "N6 Split"},
{ "5d00f63bd7ad1a59283b1c1e ShortName", "Viper"},
{ "5d010d1cd7ad1a59283b1ce7 ShortName", "HX-5"},
{ "5d0236dad7ad1a0940739d29 ShortName", "FD UAS Stock"},
{ "5d023784d7ad1a049d4aa7f2 ShortName", "AG-58"},
{ "5d024f5cd7ad1a04a067e91a ShortName", "Patriot K+W"},
{ "5d025cc1d7ad1a53845279ef ShortName", "Ergo PSG-1 style"},
{ "5d02676dd7ad1a049e54f6dc ShortName", "Corvette"},
{ "5d02677ad7ad1a04a15c0f95 ShortName", "Corvette"},
{ "5d026791d7ad1a04a067ea63 ShortName", "Red Brake"},
{ "5d02778e86f774203e7dedbe ShortName", "CMS"},
{ "5d02797c86f774203f38e30a ShortName", "Surv12"},
{ "5d0375ff86f774186372f685 ShortName", "M.Cable"},
{ "5d0376a486f7747d8050965c ShortName", "MCB"},
{ "5d03775b86f774203e7e0c4b ShortName", "AESA"},
{ "5d0377ce86f774186372f689 ShortName", "Iridium"},
{ "5d03784a86f774203e7e0c4d ShortName", "MGT"},
{ "5d0378d486f77420421a5ff4 ShortName", "Filter"},
{ "5d03794386f77420415576f5 ShortName", "Tank battery"},
{ "5d0379a886f77420407aa271 ShortName", "OFZ "},
{ "5d07b91b86f7745a077a9432 ShortName", "Сommon fund stash"},
{ "5d08d21286f774736e7c94c3 ShortName", "KSH"},
{ "5d0a29ead7ad1a0026013f27 ShortName", "1P59 mount"},
{ "5d0a29fed7ad1a002769ad08 ShortName", "1P69 mount"},
{ "5d0a3a58d7ad1a669c15ca14 ShortName", "1P59"},
{ "5d0a3e8cd7ad1a6f6a3d35bd ShortName", "1P69"},
{ "5d0b5cd3d7ad1a3fe32ad263 ShortName", "1P59 eyecup"},
{ "5d10b49bd7ad1a1a560708b0 ShortName", "AN/PEQ-2"},
{ "5d120a10d7ad1a4e1026ba85 ShortName", "Gen.4 stock"},
{ "5d120a28d7ad1a1c8962e295 ShortName", "Recoil pad"},
{ "5d122e7bd7ad1a07102d6d7f ShortName", "URX 3.1 10.75"},
{ "5d123102d7ad1a004e475fe5 ShortName", "URX 3 8"},
{ "5d123a3cd7ad1a004e476058 ShortName", "KAC short"},
{ "5d123b70d7ad1a0ee35e0754 ShortName", "KAC Long"},
{ "5d123b7dd7ad1a004f01b262 ShortName", "KAC stoper"},
{ "5d124c01d7ad1a115c7d59fb ShortName", "KAC short"},
{ "5d124c0ed7ad1a10d168dd9b ShortName", "KAC Long"},
{ "5d124c1ad7ad1a12227c53a7 ShortName", "KAC stoper"},
{ "5d133067d7ad1a33013f95b4 ShortName", "3 in. URX"},
{ "5d1340b3d7ad1a0b52682ed7 ShortName", "GEN M3 30"},
{ "5d1340bdd7ad1a0e8d245aab ShortName", "GEN M3 40 FDE"},
{ "5d1340cad7ad1a0b0b249869 ShortName", "GEN M3 30 FDE"},
{ "5d135e83d7ad1a21b83f42d8 ShortName", "CTR Stock"},
{ "5d135ecbd7ad1a21c176542e ShortName", "CTR Stock"},
{ "5d15ce51d7ad1a1eff619092 ShortName", "Goliaf"},
{ "5d15cf3bd7ad1a67e71518b2 ShortName", "MOE"},
{ "5d19cd96d7ad1a4a992c9f52 ShortName", "Tri-Rail"},
{ "5d1b198cd7ad1a604869ad72 ShortName", "AKM-L"},
{ "5d1b2f3f86f774252167a52c ShortName", "FP-100"},
{ "5d1b2fa286f77425227d1674 ShortName", "Motor"},
{ "5d1b2ffd86f77425243e8d17 ShortName", "NIXXOR"},
{ "5d1b304286f774253763a528 ShortName", "LCD"},
{ "5d1b309586f77425227d1676 ShortName", "BrokenLCD"},
{ "5d1b313086f77425227d1678 ShortName", "Relay"},
{ "5d1b317c86f7742523398392 ShortName", "Hand drill"},
{ "5d1b31ce86f7742523398394 ShortName", "R-pliers"},
{ "5d1b327086f7742525194449 ShortName", "Gauge"},
{ "5d1b32c186f774252167a530 ShortName", "Therm."},
{ "5d1b33a686f7742523398398 ShortName", "Superwater"},
{ "5d1b36a186f7742523398433 ShortName", "Fuel"},
{ "5d1b371186f774253763a656 ShortName", "Fuel"},
{ "5d1b376e86f774252519444e ShortName", "Moonshine"},
{ "5d1b385e86f774252167b98a ShortName", "Filter"},
{ "5d1b392c86f77425243e98fe ShortName", "Bulb"},
{ "5d1b39a386f774252339976f ShortName", "Tube"},
{ "5d1b3a5d86f774252167ba22 ShortName", "Meds"},
{ "5d1b3f2d86f774253763b735 ShortName", "Syringe"},
{ "5d1b5e94d7ad1a2b865a96b0 ShortName", "RS-32"},
{ "5d1c702ad7ad1a632267f429 ShortName", "GLR-17"},
{ "5d1c774f86f7746d6620f8db ShortName", "Helix"},
{ "5d1c819a86f774771b0acd6c ShortName", "W.parts"},
{ "5d1f819086f7744b355c219b ShortName", "Wave MB"},
{ "5d235a5986f77443f6329bc6 ShortName", "Skull"},
{ "5d235b4d86f7742e017bc88a ShortName", "GP"},
{ "5d235bb686f77443f4331278 ShortName", "SICC"},
{ "5d2369418abbc306c62e0c80 ShortName", "Dbal PL"},
{ "5d25a4a98abbc30b917421a4 ShortName", "AICS 5rnd"},
{ "5d25a6538abbc306c62e630d ShortName", "AICS 10rnd"},
{ "5d25a6a48abbc306c62e6310 ShortName", "MDT 12rnd"},
{ "5d25a7b88abbc3054f3e60bc ShortName", "PMAG .308 AC"},
{ "5d25af8f8abbc3055079fec5 ShortName", "AA-70 10"},
{ "5d25d0ac8abbc3054f3e61f7 ShortName", "AICS M700"},
{ "5d2702e88abbc31ed91efc44 ShortName", "26 M700"},
{ "5d2703038abbc3105103d94c ShortName", "20 M700 7.62x51"},
{ "5d270b3c8abbc3105335cfb8 ShortName", "M700 protection cap"},
{ "5d270ca28abbc31ee25ee821 ShortName", "M700 protection cap"},
{ "5d2c76ed48f03532f2136169 ShortName", "Bastion"},
{ "5d2c770c48f0354b4a07c100 ShortName", "PDC"},
{ "5d2c772c48f0355d95672c25 ShortName", "Dog leg"},
{ "5d2c829448f0353a5c7d6674 ShortName", "WASR 10-63"},
{ "5d2da1e948f035477b1ce2ba ShortName", "SRS-02"},
{ "5d2dc3e548f035404a1a4798 ShortName", "Monstr. 2x32"},
{ "5d2f0d8048f0356c925bc3b0 ShortName", "MP5K-N"},
{ "5d2f213448f0355009199284 ShortName", "9х19 MP5"},
{ "5d2f259b48f0355a844acd74 ShortName", "MP5k"},
{ "5d2f25bc48f03502573e5d85 ShortName", "MP5k End Cap"},
{ "5d2f261548f03576f500e7b7 ShortName", "MP5k Upper"},
{ "5d2f2ab648f03550091993ca ShortName", "BZT-44M"},
{ "5d2f2d5748f03572ec0c0139 ShortName", "MP5k hnd."},
{ "5d357d6b86f7745b606e3508 ShortName", "photo album"},
{ "5d3eb3b0a4b93615055e84d2 ShortName", "FN 5-7"},
{ "5d3eb44aa4b93650d64e4979 ShortName", "57 Slide"},
{ "5d3eb4aba4b93650d64e497d ShortName", "57 RS"},
{ "5d3eb536a4b9363b1f22f8e2 ShortName", "57 FS"},
{ "5d3eb59ea4b9361c284bb4b2 ShortName", "57 tr. 5.7x28"},
{ "5d3eb5b6a4b9361eab311902 ShortName", "57 5.7x28"},
{ "5d3eb5eca4b9363b1f22f8e4 ShortName", "5.7x28 57 mag."},
{ "5d3ec50586f774183a607442 ShortName", "Encr. pack"},
{ "5d3ef698a4b9361182109872 ShortName", "SFN-57"},
{ "5d403f9186f7743cac3f229b ShortName", "Whiskey"},
{ "5d40407c86f774318526545a ShortName", "Vodka"},
{ "5d40412b86f7743cb332ac3a ShortName", "Shampoo"},
{ "5d40419286f774318526545f ShortName", "M. Scissors"},
{ "5d4041f086f7743cac3f22a7 ShortName", "Ortodontox"},
{ "5d40425986f7743185265461 ShortName", "Nippers"},
{ "5d4042a986f7743185265463 ShortName", "L&F Scr."},
{ "5d43021ca4b9362eab4b5e25 ShortName", "TX-15 DML"},
{ "5d4405aaa4b9361e6a4e6bd3 ShortName", "TX15 LW Upper"},
{ "5d4405f0a4b9361e6a4e6bd9 ShortName", "Ion Lite"},
{ "5d440625a4b9361eec4ae6c5 ShortName", "223CB"},
{ "5d44064fa4b9361e4f6eb8b5 ShortName", "Ultra 5"},
{ "5d44069ca4b9361ebd26fc37 ShortName", "PRS GEN3"},
{ "5d4406a8a4b9361e4f6eb8b7 ShortName", "PRS GEN3 gr."},
{ "5d440b93a4b9364276578d4b ShortName", "18 AR-15 5.56x45"},
{ "5d440b9fa4b93601354d480c ShortName", "20 AR-15 5.56x45"},
{ "5d44334ba4b9362b346d1948 ShortName", "Raptor Charge"},
{ "5d443f8fa4b93678dd4a01aa ShortName", "30CB"},
{ "5d4aaa54a4b9365392071170 ShortName", "AKM-L AR"},
{ "5d4aaa73a4b9365392071175 ShortName", "AKM-L AB"},
{ "5d4aab30a4b9365435358c55 ShortName", "VS Combo wht"},
{ "5d52cc5ba4b9367408500062 ShortName", "AGS"},
{ "5d52d479a4b936793d58c76b ShortName", "AGS-30"},
{ "5d53f4b7a4b936793d58c780 ShortName", "PAG-17"},
{ "5d5d646386f7742797261fd9 ShortName", "6B3TM-01M"},
{ "5d5d85c586f774279a21cbdb ShortName", "D3CRX"},
{ "5d5d87f786f77427997cfaef ShortName", "A18"},
{ "5d5d8ca986f7742798716522 ShortName", "MRig"},
{ "5d5d940f86f7742797262046 ShortName", "Mechanism"},
{ "5d5e7d28a4b936645d161203 ShortName", "TC-2001"},
{ "5d5e9c74a4b9364855191c40 ShortName", "TC-2002"},
{ "5d5fca1ea4b93635fd598c07 ShortName", "Crossbow"},
{ "5d63d33b86f7746ea9275524 ShortName", "F Scr."},
{ "5d67abc1a4b93614ec50137f ShortName", "FN 5-7 FDE"},
{ "5d6d2b5486f774785c2ba8ea ShortName", "Ground cache"},
{ "5d6d2bb386f774785b07a77a ShortName", "Buried barrel cache"},
{ "5d6d2e22a4b9361bd5780d05 ShortName", "Gascan"},
{ "5d6d2ef3a4b93618084f58bd ShortName", "Aviator"},
{ "5d6d3716a4b9361bc8618872 ShortName", "LSHZ-2DTM"},
{ "5d6d3829a4b9361bc8618943 ShortName", "FShield"},
{ "5d6d3943a4b9360dbc46d0cc ShortName", "Cover"},
{ "5d6d3be5a4b9361bc73bc763 ShortName", "Aventail"},
{ "5d6e6772a4b936088465b17c ShortName", "5.25 12c"},
{ "5d6e67fba4b9361bc73bc779 ShortName", "6.5 12c"},
{ "5d6e6806a4b936088465b17e ShortName", "8.5 12с"},
{ "5d6e6869a4b9361c140bcfde ShortName", "Grizzly"},
{ "5d6e6891a4b9361bd473feea ShortName", "P-3 12c"},
{ "5d6e689ca4b9361bc8618956 ShortName", "P-6u 12c"},
{ "5d6e68a8a4b9360b6c0d54e2 ShortName", "AP-20"},
{ "5d6e68b3a4b9361bca7e50b5 ShortName", "CSP"},
{ "5d6e68c4a4b9361b93413f79 ShortName", ".50 12с"},
{ "5d6e68d1a4b93622fe60e845 ShortName", "SF"},
{ "5d6e68dea4b9361bcc29e659 ShortName", "2-Sabot"},
{ "5d6e68e6a4b9361c140bcfe0 ShortName", "FTX"},
{ "5d6e6911a4b9361bd5780d52 ShortName", "Flech."},
{ "5d6e695fa4b936359b35d852 ShortName", "5.6 20c"},
{ "5d6e69b9a4b9361bc8618958 ShortName", "6.2 20k"},
{ "5d6e69c7a4b9360b6c0d54e4 ShortName", "7.3 20c"},
{ "5d6e6a05a4b93618084f58d0 ShortName", "20/70 Slug"},
{ "5d6e6a42a4b9364f07165f52 ShortName", "P-6u 20c"},
{ "5d6e6a53a4b9361bd473feec ShortName", "P-3 20c"},
{ "5d6e6a5fa4b93614ec501745 ShortName", "Dev."},
{ "5d6fc78386f77449d825f9dc ShortName", "Gpowder"},
{ "5d6fc87386f77449db3db94e ShortName", "Gpowder"},
{ "5d6fd13186f77424ad2a8c69 ShortName", "Ration supply crate"},
{ "5d6fd45b86f774317075ed43 ShortName", "Technical supply crate"},
{ "5d6fe50986f77449d97f7463 ShortName", "Medical supply crate"},
{ "5d70e500a4b9364de70d38ce ShortName", "VOG-30"},
{ "5d7b6bafa4b93652786f4c76 ShortName", "57 RMR mount"},
{ "5d80c60f86f77440373c4ece ShortName", "RB-BK"},
{ "5d80c62a86f7744036212b3f ShortName", "RB-VO"},
{ "5d80c66d86f774405611c7d6 ShortName", "RB-AO"},
{ "5d80c6c586f77440351beef1 ShortName", "RB-OB"},
{ "5d80c6fc86f774403a401e3c ShortName", "RB-TB"},
{ "5d80c78786f774403a401e3e ShortName", "RB-AK"},
{ "5d80c88d86f77440556dbf07 ShortName", "RB-AM"},
{ "5d80c8f586f77440373c4ed0 ShortName", "RB-OP"},
{ "5d80c93086f7744036212b41 ShortName", "RB-MP11"},
{ "5d80c95986f77440351beef3 ShortName", "RB-MP12"},
{ "5d80ca9086f774403a401e40 ShortName", "RB-MP21"},
{ "5d80cab086f77440535be201 ShortName", "RB-MP22"},
{ "5d80cb3886f77440556dbf09 ShortName", "RB-PSP1"},
{ "5d80cb5686f77440545d1286 ShortName", "RB-PS81"},
{ "5d80cb8786f774405611c7d9 ShortName", "RB-PP"},
{ "5d80cbd886f77470855c26c2 ShortName", "RB-MP13"},
{ "5d80ccac86f77470841ff452 ShortName", "RB-ORB1"},
{ "5d80ccdd86f77474f7575e02 ShortName", "RB-ORB2"},
{ "5d80cd1a86f77402aa362f42 ShortName", "RB-ORB3"},
{ "5d8e0db586f7744450412a42 ShortName", "RB-KORL"},
{ "5d8e0e0e86f774321140eb56 ShortName", "RB-KPRL"},
{ "5d8e15b686f774445103b190 ShortName", "HEPS"},
{ "5d8e3ecc86f774414c78d05e ShortName", "RB-GN"},
{ "5d947d3886f774447b415893 ShortName", "RB-SMP"},
{ "5d947d4e86f774447b415895 ShortName", "RB-KSM"},
{ "5d95d6be86f77424444eb3a7 ShortName", "RB-PS82"},
{ "5d95d6fa86f77424484aa5e9 ShortName", "RB-PSP2"},
{ "5d96141523f0ea1b7f2aacab ShortName", "Door Kicker"},
{ "5d9f1fa686f774726974a992 ShortName", "RB-ST"},
{ "5da46e3886f774653b7a83fe ShortName", "RB-RS"},
{ "5da5cdcd86f774529238fb9b ShortName", "RB-RH"},
{ "5da743f586f7744014504f72 ShortName", "USEC key"},
{ "5dcbd56fdbd3d91b3e5468d5 ShortName", "DT MDR .308"},
{ "5dcbd6b46ec07c0c4347a564 ShortName", "MDR Handguard"},
{ "5dcbd6dddbd3d91b3e5468de ShortName", "MDR reg."},
{ "5dcbe9431e1f4616d354987e ShortName", "16 MDR 308"},
{ "5dcbe965e4ed22586443a79d ShortName", "MDR reg."},
{ "5de652c31b7e3716273428be ShortName", "VPO-215"},
{ "5de653abf76fdc1ce94a5a2a ShortName", "215 366"},
{ "5de65547883dde217541644b ShortName", "23 215 .366TKM"},
{ "5de6556a205ddc616a6bc4f7 ShortName", "215 Pr."},
{ "5de6558e9f98ac2bc65950fc ShortName", "215 mount"},
{ "5de655be4a9f347bc92edb88 ShortName", "VPO-215 stock"},
{ "5de7bd7bfd6b4e6e2276dc25 ShortName", "MP9-N"},
{ "5de8e67c4a9f347bc92edbd7 ShortName", "MP9-N Upper"},
{ "5de8e8dafd6b4e6e2276dc32 ShortName", "MP9 15"},
{ "5de8ea8ffd6b4e6e2276dc35 ShortName", "MP9 20"},
{ "5de8eaadbbaf010b10528a6d ShortName", "MP9 25"},
{ "5de8eac42a78646d96665d91 ShortName", "MP9 30"},
{ "5de8f237bbaf010b10528a70 ShortName", "B&T Mount"},
{ "5de8f2d5b74cd90030650c72 ShortName", "MP9 Supp."},
{ "5de8fb539f98ac2bc659513a ShortName", "MP9 RS"},
{ "5de8fbad2fbe23140d3ee9c4 ShortName", "MP9 VFG"},
{ "5de8fbf2b74cd90030650c79 ShortName", "B&T bottom"},
{ "5de8fc0b205ddc616a6bc51b ShortName", "B&T side"},
{ "5de910da8b6c4240ba2651b5 ShortName", "MP9 stock"},
{ "5de922d4b11454561e39239f ShortName", "MP9 Chr."},
{ "5df24cf80dee1b22f862e9bc ShortName", "T-5000 .308"},
{ "5df256570dee1b22f862e9c4 ShortName", "T-5000 660mm .308"},
{ "5df25b6c0b92095fd441e4cf ShortName", "T-5000 5rnd"},
{ "5df25d3bfd6b4e6e2276dc9a ShortName", "T-5000 hg."},
{ "5df35ddddfc58d14537c2036 ShortName", "T-5000M Stock"},
{ "5df35e59c41b2312ea3334d5 ShortName", "T-5000 Hg."},
{ "5df35e7f2a78646d96665dd4 ShortName", "T-5000M MBr"},
{ "5df35e970b92095fd441e4d2 ShortName", "T-5000 opt."},
{ "5df35ea9c41b2312ea3334d8 ShortName", "Orsis long"},
{ "5df35eb2b11454561e3923e2 ShortName", "Orsis med."},
{ "5df36948bb49d91fb446d5ad ShortName", "T-5000 pad"},
{ "5df38a5fb74cd90030650cb6 ShortName", "T-5000 Pg."},
{ "5df8a2ca86f7740bfe6df777 ShortName", "6B2"},
{ "5df8a42886f77412640e2e75 ShortName", "MPPV"},
{ "5df8a4d786f77412672a1e3b ShortName", "6SH118"},
{ "5df8a58286f77412631087ed ShortName", "Tank helmet"},
{ "5df8a6a186f77412640e2e80 ShortName", "R.Ball"},
{ "5df8a72c86f77412640e2e83 ShortName", "S.Ball"},
{ "5df8a77486f77412672a1e3f ShortName", "V.Ball"},
{ "5df8ce05b11454561e39243b ShortName", "SR-25"},
{ "5df8e053bb49d91fb446d6a6 ShortName", "SR-25 Chrg."},
{ "5df8e085bb49d91fb446d6a8 ShortName", "Ambi SR-25"},
{ "5df8e4080b92095fd441e594 ShortName", "SR-25 Upper"},
{ "5df8f535bb49d91fb446d6b0 ShortName", "KAC 10 7.62"},
{ "5df8f541c41b2312ea3335e3 ShortName", "KAC 20 7.62"},
{ "5df916dfbb49d91fb446d6b9 ShortName", " URX-4 14.5"},
{ "5df917564a9f347bc92edca3 ShortName", "16 SR-25 7.62x51"},
{ "5dfa397fb11454561e39246c ShortName", "20 SR-25 7.62x51"},
{ "5dfa3cd1b33c0951220c079b ShortName", "KAC QDC"},
{ "5dfa3d2b0dee1b22f862eade ShortName", "PRS QDC"},
{ "5dfa3d45dfc58d14537c20b0 ShortName", "KAC Gas.Bl."},
{ "5dfa3d7ac41b2312ea33362a ShortName", "KAC Rear"},
{ "5dfa3d950dee1b22f862eae0 ShortName", "KAC Front"},
{ "5dfcd0e547101c39625f66f9 ShortName", "SAG MK1"},
{ "5dfce88fe9dc277128008b2e ShortName", "SVDS CS"},
{ "5dfe14f30b92095fd441edaf ShortName", "EMTI-019"},
{ "5dfe6104585a0c3e995c7b82 ShortName", "ADO P4"},
{ "5dff772da3651922b360bf91 ShortName", "Pilad 4х32"},
{ "5dff77c759400025ea5150cf ShortName", "UTG 25mm"},
{ "5dff8db859400025ea5150d4 ShortName", "SVD Low"},
{ "5e00903ae9dc277128008b87 ShortName", "MP9 9x19"},
{ "5e0090f7e9dc277128008b93 ShortName", "MP9 Upper"},
{ "5e00c1ad86f774747333222c ShortName", "EXFIL"},
{ "5e00cdd986f7747473332240 ShortName", "FShield"},
{ "5e00cfa786f77469dc6e5685 ShortName", "TW Ears"},
{ "5e01e9e273d8eb11426f5bc3 ShortName", "SVD-S thr."},
{ "5e01ea19e9dc277128008c0b ShortName", "Rotor43 7.62x54"},
{ "5e01ef6886f77445f643baa4 ShortName", "EXFIL"},
{ "5e01f31d86f77465cf261343 ShortName", "TW Ears"},
{ "5e01f37686f774773c6f6c15 ShortName", "FShield"},
{ "5e023cf8186a883be655e54f ShortName", "T46M"},
{ "5e023d34e8a400319a28ed44 ShortName", "7BT1"},
{ "5e023d48186a883be655e551 ShortName", "7N37"},
{ "5e023e53d4353e3302577c4c ShortName", "BPZ FMJ"},
{ "5e023e6e34d52a55c3304f71 ShortName", "TPZ SP"},
{ "5e023e88277cce2b522ff2b1 ShortName", "Ultra Nosler"},
};


liquidace 22nd January 2020 10:20 AM

drawing all items should not be killing your fps. Your problem will be wcsstr / strcmp or one of those many cpu intensive functions

CynoCoder 22nd January 2020 04:12 PM

how do you get the Fireport Position (to use it for aimbot calculation) ?

I have checked Player.HandsController (0x3e8) -> Fireport (0xD0) and
ProceduralWeaponAnimation -> FirearmController (0x80) -> Fireport (0xD0) but i cant find the position there.
Calling Internal_GetPos on the Fireport will crash


got it working now i had to deref it at 0x10 once more to get the Transform from the BifacialTransform:)

does anyone know how i can determine what WeaponType im holding or what kind of HandsController the instance is (native c++ internal) ?

rockzz 23rd January 2020 12:45 AM

Quote:

Originally Posted by CynoCoder (Post 2674902)
how do you get the Fireport Position (to use it for aimbot calculation) ?

I have checked Player.HandsController (0x3e8) -> Fireport (0xD0) and
ProceduralWeaponAnimation -> FirearmController (0x80) -> Fireport (0xD0) but i cant find the position there.
Calling Internal_GetPos on the Fireport will crash


got it working now i had to deref it at 0x10 once more to get the Transform from the BifacialTransform:)

does anyone know how i can determine what WeaponType im holding or what kind of HandsController the instance is (native c++ internal) ?

Handscontroller + 0x50 is item pointer

DeeGeeHM 23rd January 2020 05:58 PM

How to grab/find bulletspeed?
Would be nice if someone already found it.

TheTechNigger 23rd January 2020 07:18 PM

Can someone help me out, GOM is only returning useless items like puddles
https://pastebin.com/raw/GiQg7zrY - My GOM dump

Hankok11 23rd January 2020 09:38 PM

Quote:

Originally Posted by Frankie11 (Post 2674633)
some c&p skeleton esp code for anyone that doesn't have this yet:

Code:

std::list<int> upper_part = { Bones::HumanNeck, Bones::HumanHead };
std::list<int> right_arm = { Bones::HumanNeck, Bones::HumanRUpperarm, Bones::HumanRForearm1, Bones::HumanRPalm };
std::list<int> left_arm = { Bones::HumanNeck, Bones::HumanLUpperarm, Bones::HumanLForearm1, Bones::HumanLPalm };
std::list<int> spine = { Bones::HumanNeck, Bones::HumanSpine1, Bones::HumanSpine2, Bones::HumanPelvis };

std::list<int> lower_right = { Bones::HumanPelvis, Bones::HumanRThigh1, Bones::HumanRCalf, Bones::HumanRFoot };
std::list<int> lower_left = { Bones::HumanPelvis, Bones::HumanLThigh1, Bones::HumanLCalf, Bones::HumanLFoot };

std::list<std::list<int>> skeleton = { upper_part, right_arm, left_arm, spine, lower_right, lower_left };


void DrawSkeleton(uint64_t instance)
{
        uint64_t bone_matrix = getbone_matrix(instance);
        FVector neckpos = GetPosition(read<uint64_t>(bone_matrix + (0x20 + ((int)Bones::HumanNeck * 8))));
        FVector pelvispos = GetPosition(read<uint64_t>(bone_matrix + (0x20 + ((int)Bones::HumanPelvis * 8))));
        FVector previous(0, 0, 0);
        FVector current, p1, c1;
        for (auto a : skeleton)
        {
                previous = FVector(0, 0, 0);
                for (int bone : a)
                {
                        current = bone == Bones::HumanNeck ? neckpos : (bone == Bones::HumanPelvis ? pelvispos : GetPosition(read<uint64_t>(bone_matrix + (0x20 + ((int)bone * 8)))));
                        if (previous.x == 0.f)
                        {
                                previous = current;
                                continue;
                        }
                        WorldToScreen(previous, p1);
                        WorldToScreen(current, c1);
                        draw_line(p1.x, p1.y, c1.x, c1.y, D3DCOLOR_ARGB(255, 153, 249, 9));
                        previous = current;
                }
        }
}

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

have you myb c/p bones for internal? :sombrero:

TheTechNigger 23rd January 2020 11:55 PM

How do I get player health from the player GameObject address? As in, what is the pointer chain I should be using?

Frankie11 24th January 2020 01:55 AM

Quote:

Originally Posted by Hankok11 (Post 2675993)
have you myb c/p bones for internal? :sombrero:

u can port this to internal code with just a few changes...

Quote:

Originally Posted by TheTech[censored
;2676118]How do I get player health from the player GameObject address? As in, what is the pointer chain I should be using?

look like 2 pages back I think someone posted the full chain

BraydenEGC 24th January 2020 03:12 AM

Quote:

Originally Posted by Hankok11 (Post 2675993)
~snip~

If you are internal, then just find the internal function and call it on the transform.

gamer11446 24th January 2020 08:40 AM

Guys, if someone have an example of how multithreading should be used for internal?

My fps on big maps with like 15 skeletons can drop to 20-30fps, so I want to optimize it a little bit more

Or maybe you can tell me what are the other tricks to optimize internal


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

liquidace 24th January 2020 10:01 AM

how are you doing to spawn threads internally without getting smacked by BE

Soreeros 24th January 2020 10:11 AM

Quote:

Originally Posted by gamer11446 (Post 2676338)
Guys, if someone have an example of how multithreading should be used for internal?

My fps on big maps with like 15 skeletons can drop to 20-30fps, so I want to optimize it a little bit more

Or maybe you can tell me what are the other tricks to optimize internal

Just use your main thread to only draw,and let the other thread handle other stuff such as getting GameWorld,FPS Camera,constructing your player array.

gamer11446 24th January 2020 10:24 AM

Quote:

Originally Posted by liquidace (Post 2676385)
how are you doing to spawn threads internally without getting smacked by BE

Well, in this case - I wont do it and will try optimize other stuff without making threads

notcarl 24th January 2020 10:50 AM

Quote:

Originally Posted by gamer11446 (Post 2676338)
Guys, if someone have an example of how multithreading should be used for internal?

My fps on big maps with like 15 skeletons can drop to 20-30fps, so I want to optimize it a little bit more

Or maybe you can tell me what are the other tricks to optimize internal

Internals have very little performance overhead, what exactly are you doing to accomplish such an atrocious performance hit?
If the entire game can render with that frametime, you should be able to draw a few fucking non-anti-aliased lines as well without noticeable issues

gamer11446 24th January 2020 12:42 PM

Quote:

Originally Posted by notcarl (Post 2676407)
Internals have very little performance overhead, what exactly are you doing to accomplish such an atrocious performance hit?
If the entire game can render with that frametime, you should be able to draw a few fucking non-anti-aliased lines as well without noticeable issues

I used Mocked-Mono as a source
So now its like
Every 10s search for RegisteredPlayers in GameWorld
For those RP in OnGUI every frame
Check if its me or its invisible
If no, get w2s of players position (for distance)
Then w2s of players head to make label (probably I can make it with position and get rid of this w2s)
Then if dist less than 50m
Get 13 bones with w2s
Create lines with Mocked's utility

Algorithm looks like that

Btw there is another problem - sometimes after a period of time my screen starting blinking with black, items pictures dissapears and bones dissapears (not the labels)

HELOHELO121 24th January 2020 12:56 PM

Quote:

Originally Posted by gamer11446 (Post 2676465)
I used Mocked-Mono as a source

what's mocked mono

gamer11446 24th January 2020 01:04 PM

Quote:

Originally Posted by HELOHELO121 (Post 2676479)
what's mocked mono

Its Sherman's esp source

Mono-Internal

Am bad at drawing in Unity, so used his Utilities for it almost as is

Everything else used only for learning :)

notcarl 24th January 2020 01:09 PM

@gamer11446 your issue is chronic pasting and can be solved by taking a trip to learncpp.com

gamer11446 24th January 2020 01:18 PM

Quote:

Originally Posted by notcarl (Post 2676496)
@gamer11446 your issue is chronic pasting and can be solved by taking a trip to learncpp.com

Well yeah, Im more about JS, C langs are new for me, just wanted to know if its easy fixable or I should rewrite the whole thing by myself

BraydenEGC 24th January 2020 01:25 PM

Quote:

Originally Posted by notcarl (Post 2676496)
~snip~


Yeah, that project was never meant to be used in a real environment and was instead my little meme for a few months. I believe that is a highly unoptimized version from almost 2 years ago when I was just starting to learn to code. It is disgusting and shouldn�t even be used to learn in my opinion. It should be used to show general practices, but most of the code in there is redundant. (Calling world to screen 3 times to construct a vector 3.)

notcarl 24th January 2020 03:26 PM

Quote:

Originally Posted by Frankie11 (Post 2674633)
some c&p skeleton esp code for anyone that doesn't have this yet:

Code:

std::list<int> upper_part = { Bones::HumanNeck, Bones::HumanHead };
std::list<int> right_arm = { Bones::HumanNeck, Bones::HumanRUpperarm, Bones::HumanRForearm1, Bones::HumanRPalm };
std::list<int> left_arm = { Bones::HumanNeck, Bones::HumanLUpperarm, Bones::HumanLForearm1, Bones::HumanLPalm };
std::list<int> spine = { Bones::HumanNeck, Bones::HumanSpine1, Bones::HumanSpine2, Bones::HumanPelvis };

std::list<int> lower_right = { Bones::HumanPelvis, Bones::HumanRThigh1, Bones::HumanRCalf, Bones::HumanRFoot };
std::list<int> lower_left = { Bones::HumanPelvis, Bones::HumanLThigh1, Bones::HumanLCalf, Bones::HumanLFoot };

std::list<std::list<int>> skeleton = { upper_part, right_arm, left_arm, spine, lower_right, lower_left };


void DrawSkeleton(uint64_t instance)
{
        uint64_t bone_matrix = getbone_matrix(instance);
        FVector neckpos = GetPosition(read<uint64_t>(bone_matrix + (0x20 + ((int)Bones::HumanNeck * 8))));
        FVector pelvispos = GetPosition(read<uint64_t>(bone_matrix + (0x20 + ((int)Bones::HumanPelvis * 8))));
        FVector previous(0, 0, 0);
        FVector current, p1, c1;
        for (auto a : skeleton)
        {
                previous = FVector(0, 0, 0);
                for (int bone : a)
                {
                        current = bone == Bones::HumanNeck ? neckpos : (bone == Bones::HumanPelvis ? pelvispos : GetPosition(read<uint64_t>(bone_matrix + (0x20 + ((int)bone * 8)))));
                        if (previous.x == 0.f)
                        {
                                previous = current;
                                continue;
                        }
                        WorldToScreen(previous, p1);
                        WorldToScreen(current, c1);
                        draw_line(p1.x, p1.y, c1.x, c1.y, D3DCOLOR_ARGB(255, 153, 249, 9));
                        previous = current;
                }
        }
}


please don't write code like this

gamer11446 24th January 2020 04:17 PM

Quote:

Originally Posted by BraydenEGC (Post 2676506)
BraydenEGC

Ive optimized it but it seems that its bad in general or Im not that good at C# (or both)

Then what is the best ESP source for learning?
NoNameCheatv2 seems to be very similar to your project, so I think I should not use it for learning too

BraydenEGC 24th January 2020 04:30 PM

Quote:

Originally Posted by gamer11446 (Post 2676609)
~snip~


It works, so I suppose it is good in that regard. It is just highly unoptimized. If you know a tad bit of c#/any other c derivative, it should be relatively easy to cleanup that mess.

gamer11446 24th January 2020 04:33 PM

Quote:

Originally Posted by BraydenEGC (Post 2676617)
It works, so I suppose it is good in that regard. It is just highly unoptimized. If you know a tad bit of c#/any other c derivative, it should be relatively easy to cleanup that mess.

I dont know much about c#, but Ill give a shot as I only need ESP, it will be easier to optimize

gamer11446 25th January 2020 11:31 AM

Ok, Ive optimized it, cached some things, removed some useless code

After all I tested EFT w/ original dll and game's FPS loses like 40fps only cause of looking in direction of place with a lot of people.
Seems that the biggest problem is about my PC and EFT and not about ESP performance
Btw, still -10Fps on ESP render on big maps.

What is the best way to get players? Ive tried FindObjectsOfType<Player> and Singleton<GameWorld>.Instance.RegisteredPlayers
But maybe there is a better way?

BraydenEGC 25th January 2020 02:50 PM

Quote:

Originally Posted by gamer11446 (Post 2677258)
~snip~

Registered players is the best way.

gamer11446 25th January 2020 03:27 PM

Quote:

Originally Posted by BraydenEGC (Post 2677368)
Registered players is the best way.

Thanks
As I get it - GameWorld already have useful info so I dont need to waste time on 'FindObjects' and thats why its better

Still getting bugs after a period of time with ESP. Like new items that Im finding dont have images.
Seems like I need to clean some garbage or smth like that, am I right?

spaceb0ss 25th January 2020 06:05 PM

Completely new to the Unity engine. Can anyone confirm whether I *should* or *should NOT* be skipping the first GameWorld object in active objects list, and searching for a 2nd?

Xyox 25th January 2020 07:56 PM

Quote:

Originally Posted by spaceb0ss (Post 2677509)
Completely new to the Unity engine. Can anyone confirm whether I *should* or *should NOT* be skipping the first GameWorld object in active objects list, and searching for a 2nd?

Only if the first one is not valid.

spaceb0ss 26th January 2020 01:01 AM

Quote:

Originally Posted by Xyox (Post 2677593)
Only if the first one is not valid.

Thanks. It seems as though m_pPlayerName in PlayerInfo is not valid when playing SCAV. Is this true?

Edit: does anyone have any dimensions or scaling ratios for the maps?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

notcarl 26th January 2020 10:58 AM

You don't have to skip GameWorld objects

Quote:

Originally Posted by liquidace (Post 2616882)
raycast head to gun and project it further

You do not need raycasts for player direction, that's simple vector math

/gravedig

rayleigh 27th January 2020 06:50 AM

hi
can someone say me why my aimbot not working?
looks like postion is false because the aim going up
Code:


 Vector2 AimTarget = Vector2.zero;
 try
        {   
                    if (player.name == bone)
                    {
               
                shit = Camera.main.WorldToScreenPoint(player.transform.position);
                        if (shit.z > -8)
                        {
                            dist = System.Math.Abs(Vector2.Distance(new Vector2(shit.x, Screen.height - shit.y), new Vector2((Screen.width / 2), (Screen.height / 2))));
                            if (dist < 300)
                            {
                                if (dist < minDist)
                                {
                                    minDist = dist;
                                    AimTarget = new Vector2(shit.x, Screen.height - shit.y);
                                }
                            }
                        }
                    }
               
           
            if (AimTarget != Vector2.zero)
            {
                double DistX = AimTarget.x - Screen.width / 2.0f;
                double DistY = AimTarget.y - Screen.height / 2.0f;

                //aimsmooth
                if (Input.GetKey(aimkey)) mouse_event(0x0001, (int)DistX, (int)DistY, 0, 0);
            }
        }
        catch { }


ovysusu 27th January 2020 11:16 AM

Can i ask what i need for the Esp for the game ?
Ty

BraydenEGC 27th January 2020 01:18 PM

Quote:

Originally Posted by ovysusu (Post 2678743)
~snip~


Access to the game�s memory (kernel driver, usermode exploit, etc.), the view matrix of the camera, whatever positions you will use to make the world to screen calculations, and a way to render the results of your world to screen.

9222 27th January 2020 01:31 PM

where icon?
 
dnspy? how?
C:\Battlestate Games\BsgLauncher
bsglauncher coding ???

C:\Battlestate Games\EFT (live)\EscapeFromTarkov_Data\Managed
unityengine.dll ??

HackerSpace0x25 29th January 2020 03:15 PM

ReadWorlds crashed - System.NullReferenceException: Object reference not set to an instance of an object
at EscapeFromCSharp.EscapeFromCSharp.ReadWorlds() location J:\Escape from Tarkov & ED\EscapeFromCSharp\EscapeFromCSharp\Program.cs:line 192

Anyone have a solution here? I have both tried with borderless and windowed mode INGAME But looks like it's throwing me with NullReferences even tho it's declared with an object related to GameWorld?


Code:

{
                    GW = mem.FindActiveObject("GameWorld");
                    LGW = GW.GetLocalGameWorldObject();

                    players = LGW.GetPlayerArrayObject().GetPlayers();
                    if (paintCalled >= 500 || FPSCamera == null)
                    {
                        FPSCamera = new Camera(mem.FindTaggedObject("FPS Camera").addr, mem);
                        paintCalled = 0;
                    }
                    FPSCamera.GetViewmatrix();
                }
                catch (Exception e)
                {
                    Console.WriteLine("ReadWorlds crashed - " + e.ToString());
                    continue;
                }


BraydenEGC 29th January 2020 06:26 PM

Quote:

Originally Posted by HackerSpace0x25 (Post 2680380)
~snip~



You can�t use that without a battleye bypass.

HackerSpace0x25 29th January 2020 06:35 PM

Quote:

Originally Posted by BraydenEGC (Post 2680533)
You can�t use that without a battleye bypass.

I have bypass but im currently just testing a source in JustEmuTarkov that's not working :THINKING

BraydenEGC 29th January 2020 07:25 PM

Quote:

Originally Posted by HackerSpace0x25 (Post 2680543)
~snip~


If you have a bypass, you should be able to figure out what a NullReferenceException is just off the name TBH. Anyhow, it was trying to access something that was null, probably GOM offset changed since this was released and you haven�t updated it.

HackerSpace0x25 29th January 2020 07:42 PM

Quote:

Originally Posted by BraydenEGC (Post 2680581)
If you have a bypass, you should be able to figure out what a NullReferenceException is just off the name TBH. Anyhow, it was trying to access something that was null, probably GOM offset changed since this was released and you haven�t updated it.

Weird thing, i have updated the latest GOM for Emu Tarkov and there is no need for any bypass in Emu Tarkov.

BraydenEGC 29th January 2020 08:32 PM

Quote:

Originally Posted by HackerSpace0x25 (Post 2680590)
~snip~

Do some debugging then, set a break point and single step through the instructions.

--------------------------------------------------------------------------------------------------------------

Imagine implementing your own shitty check for a debugger by pasting from malware, @ nikitia.

HackerSpace0x25 29th January 2020 10:31 PM

Quote:

Originally Posted by BraydenEGC (Post 2680632)
Do some debugging then, set a break point and single step through the instructions.

--------------------------------------------------------------------------------------------------------------

Imagine implementing your own shitty check for a debugger by pasting from malware, @ nikitia.


Ive debugged it: https://imgur.com/cNeSzRt but no null ref point i can find. Did they change GameWorld as

GW = mem.FindActiveObject("GameWorld");
LGW = GW.GetLocalGameWorldObject();

Also i found GOM to be: 0x15181E8

Frankie11 30th January 2020 06:54 AM

Quote:

Originally Posted by HackerSpace0x25 (Post 2680705)
Ive debugged it: https://imgur.com/cNeSzRt but no null ref point i can find. Did they change GameWorld as

GW = mem.FindActiveObject("GameWorld");
LGW = GW.GetLocalGameWorldObject();

Also i found GOM to be: 0x15181E8

GOM still at 0x15181E8, stop pasting. Especially on this game.

HackerSpace0x25 30th January 2020 07:30 AM

Quote:

Originally Posted by Frankie11 (Post 2680925)
GOM still at 0x15181E8, stop pasting. Especially on this game.

Your comment doesnt make any sense so why did you spend energy on writing this? Half of it isnt even related to my question, you seem more obsessed by me pasting 3 lines of code.

Again back to my question. Why cant i find my null reference when im debugging?

Frankie11 30th January 2020 02:13 PM

Quote:

Originally Posted by HackerSpace0x25 (Post 2680936)
Your comment doesnt make any sense so why did you spend energy on writing this? Half of it isnt even related to my question, you seem more obsessed by me pasting 3 lines of code.

Again back to my question. Why cant i find my null reference when im debugging?

I usually just ignore dumb comments like yours but I'm not letting this one pass, first my answer was 100% related to ur question u asked if gom had changed which it hasn't for a while but u problably would've knew that already if u had at least some sense on wtf you doing but oh well this is uc so. Second ur filling a whole page by asking this basic ass question. Go learn some basics nobody is going to spoon-feed ur crap, pasting code together hoping it works

cplnathan 30th January 2020 08:26 PM

I am trying to get the player transformation for my radar but have been having issues using the vector3 coordinates from the movement context as they only seem to be up-to-date when they are within the camera frustum.

I assume this is some optimization and that the 'player transformation' that I have heard of does not suffer from this issue?
I couldn't seem to find the struct in this thread, is it in the player struct or somewhere else in the movement context?
(Unity) External bone position from Transform
https://www.unknowncheats.me/forum/2...-post1626.html

BraydenEGC 30th January 2020 11:37 PM

Quote:

Originally Posted by cplnathan (Post 2681494)
~snip~


Look at the player�s transform. (0x10 bytes into the player class IIRC).

xFirstPromise 31st January 2020 07:35 PM

~edit

i already find

doretz 31st January 2020 10:00 PM

does anyone have the current internal transform get position? looking for it at the moment and cant seem to find it with the old methods i used

lokinton 2nd February 2020 12:05 AM

okay since im back to eft lemme ask again maybe someone had the issue i was having for the past few months. if i calcangle from the fireport (in handscontroller) to someones head, its actually aiming a bit to the left or to the right, its not sway or breathing since i remove it. any ideas?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

TheMaoci 2nd February 2020 02:57 AM

if someone still not found that

PHP website script to create easy download links (better then their shitty launcher)
https://github.com/themaoci/EFT-Down...inks-Generator
basics of bsg api (i was using that for dumping staff from bsg servers)
https://github.com/themaoci/NikitaSux
quick written ping application to test pings between you and bsg main servers aka mainServer/trading/ragfair and whatever you put inside
https://github.com/themaoci/EscapeFr...ng-Application

also
https://imgur.com/a/nyQ7rbw
and if noone saw that yet
https://www.youtube.com/watch?v=XMYD8N2vAv4

HELOHELO121 4th February 2020 12:57 AM

Quote:

Originally Posted by TheMaoci (Post 2683536)
if someone still not found that

PHP website script to create easy download links (better then their shitty launcher)
https://github.com/themaoci/EFT-Down...inks-Generator
basics of bsg api (i was using that for dumping staff from bsg servers)
https://github.com/themaoci/NikitaSux
quick written ping application to test pings between you and bsg main servers aka mainServer/trading/ragfair and whatever you put inside
https://github.com/themaoci/EscapeFr...ng-Application

also
https://imgur.com/a/nyQ7rbw
and if noone saw that yet
https://www.youtube.com/watch?v=XMYD8N2vAv4

I looked into doing thermals externally and I think it's impossible externally unless you have a thermal equipped on your character because if you don't have one equipped, your ThermalComponent is null :(

m1k3yman 4th February 2020 01:57 AM

Does anyone know how to get the view matrix of the optic_camera im trying optic_camera + 0x30] +0�18] +0x58/D8 but noting seems to be there in reclass

BraydenEGC 4th February 2020 05:10 AM

Quote:

Originally Posted by HELOHELO121 (Post 2685362)
~snip~

It is possible externally. I do it internally even when the component is null.

TheMaoci 4th February 2020 07:04 AM

@HELOHELO121 check Camera.main :)

Soreeros 4th February 2020 09:33 PM

Does anyone know how to get the OpticSight that you are currently using when you have multiple on your gun?
I'm using the array at EFT.Animations.ProceduralWeaponAnimation.

HELOHELO121 4th February 2020 11:19 PM

Quote:

Originally Posted by Soreeros (Post 2686249)
Does anyone know how to get the OpticSight that you are currently using when you have multiple on your gun?
I'm using the array at EFT.Animations.ProceduralWeaponAnimation.

EFT.Animations.ProceduralWeaponAnimation.AimIndex

TheMaoci 5th February 2020 01:30 PM

well BSG updates game now with number
Code:

http://cdn-11.eft-store.com/ClientDistribs/0.12.3.5776_98e362b1-50de-4d1a-937c-8335c0d764d2/Client.0.12.3.5776.zip

JasonSnell 5th February 2020 10:58 PM

Anyone got an ingame function that translates item names to its actual name? rather than drawing weapon_ishmash_ak74u and draw AK74u.

Frankie11 6th February 2020 08:00 AM

for some odd reason sometimes localplayercheck returns null, getting kinda tired of relaying on it so is checking player id still a good alternative?

Code:

read<bool>(instance + 0x18)

spudgy 6th February 2020 03:34 PM

Why I cannot find FPS Camera in Factory map?

edit: nvm seems like it was the last object in the list.

Is there any visible checks for external?

Frankie11 6th February 2020 07:44 PM

does 0x10]0x30]0x30]0x8]0x38]0x90 as vec3 for position still works? Trying to use it for extract points but I get random locations.

Thank u

spudgy 7th February 2020 01:10 AM

Quote:

Originally Posted by Frankie11 (Post 2688093)
does 0x10]0x30]0x30]0x8]0x38]0x90 as vec3 for position still works? Trying to use it for extract points but I get random locations.

Thank u

Same here but no good results.

edit: found it

you need to read 0x10]0x30]0x30]0x8] and then call get_transform

Frankie11 7th February 2020 02:09 AM

Quote:

Originally Posted by spudgy (Post 2688261)
Same here but no good results.

edit: found it

you need to read 0x10]0x30]0x30]0x8] and then call get_transform

yeah, I was aware of that already thank u. The reason why the other was more beneficial since we don't have to call all those reads from our getposition but oh well. Also your missing one more pointer to your chain 0x28.

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

spudgy 7th February 2020 02:26 AM

Weird, +0x08] than +0x38

Code:

        TransformAccessReadOnlyX pTransformAccessReadOnly = Read<TransformAccessReadOnlyX>(pTransform + 0x38);
Only thing I am missing is health. For some reason this is returning 0 to me?

Code:

                        pHp = obj->m_pHealthController()->m_pHealthBody()->m_pBodyController()->m_pHealthThorax()->m_pHealth();
                        esp.hp = pHp->GetHealth();
                        esp.maxHp = pHp->GetHealthMax();


sk814234 7th February 2020 05:19 AM

Quote:

Originally Posted by spudgy (Post 2688303)
Weird, +0x08] than +0x38

Code:

        TransformAccessReadOnlyX pTransformAccessReadOnly = Read<TransformAccessReadOnlyX>(pTransform + 0x38);
Only thing I am missing is health. For some reason this is returning 0 to me?

Code:

                        pHp = obj->m_pHealthController()->m_pHealthBody()->m_pBodyController()->m_pHealthThorax()->m_pHealth();
                        esp.hp = pHp->GetHealth();
                        esp.maxHp = pHp->GetHealthMax();


Try this
Code:

auto body_controller = memory::get().read_chain(this->pointer(),
        {
                0x3D0,
                0x18,
                0x18
        });

for (auto j = 0; j < 7; j++)
{
        auto body_part = memory::get().read<uintptr_t>(body_controller + 0x30 + (j * 0x18));
        auto health_container = memory::get().read<uintptr_t>(body_part + 0x10);
        auto health = memory::get().read<float>(health_container + 0x10);
        auto health_max = memory::get().read<float>(health_container + 0x14);
}


lokinton 7th February 2020 01:28 PM

hello, do you know how to get nice weapon names? im sick looking at the technicals https://i.imgur.com/TwzOxuA.png

BraydenEGC 7th February 2020 02:47 PM

Quote:

Originally Posted by lokinton (Post 2688588)
~snip~


Get the item localization name.

Frankie11 8th February 2020 06:30 AM

Quote:

Originally Posted by lokinton (Post 2688588)
hello, do you know how to get nice weapon names? im sick looking at the technicals https://i.imgur.com/TwzOxuA.png

mind sharing how you are obtaining players active weapon? never really came to mind to add it but its a nice thing to have actually

hcbarbarians 8th February 2020 04:41 PM

Quote:

Originally Posted by Frankie11 (Post 2689425)
mind sharing how you are obtaining players active weapon? never really came to mind to add it but its a nice thing to have actually

Player.Weapon.ShortName.Localized()


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

lokinton 8th February 2020 07:24 PM

Quote:

Originally Posted by hcbarbarians (Post 2689892)
Player.Weapon.ShortName.Localized()

im native but thanks

m1k3yman 8th February 2020 09:31 PM

I can only seem to get aimbot to work for hipfire. Im currently using fireport in HandsContainer. on my optics its always to the left or the right depending on the scope. how would i go about getting it to work for optics?

HELOHELO121 8th February 2020 09:51 PM

Quote:

Originally Posted by m1k3yman (Post 2690139)
I can only seem to get aimbot to work for hipfire. Im currently using fireport in HandsContainer. on my optics its always to the left or the right depending on the scope. how would i go about getting it to work for optics?

Null out all of the effectors in PlayerWeaponAnimation and your firepoint will always be in the center of your screen

m1k3yman 9th February 2020 01:25 AM

@HELOHELO121 just tried what you said nulling out most of them causes visual glitches and my gun unhooks from my hands and levitates

what i really need is a way to get the viewmatrix for the optics but i cant find the matrix in Optic_Camera anymore

BraPhiNd 9th February 2020 03:29 AM

Quote:

Originally Posted by lokinton (Post 2690028)
im native but thanks

Localizations are stored in the EFT/cache directory. They are json files compressed using ZLib and then every byte is xored with 13. I used ZLib.net and bit of code to decompress the directory. Items are localized using the item id.

LsrHG 9th February 2020 12:03 PM

Is there any chester that can draw supplies now?Today I was in the lab. Someone plundered some high-value items under his eyes before my eyes.He didn't move from beginning to end。

lokinton 9th February 2020 01:31 PM

Quote:

Originally Posted by BraPhiNd (Post 2690335)
Localizations are stored in the EFT/cache directory. They are json files compressed using ZLib and then every byte is xored with 13. I used ZLib.net and bit of code to decompress the directory. Items are localized using the item id.

bruuuuuh finally someone helpful! thanks a lot

BraydenEGC 9th February 2020 07:06 PM

Quote:

Originally Posted by lokinton (Post 2690678)
bruuuuuh finally someone helpful! thanks a lot

Quote:

Originally Posted by hcbarbarians (Post 2689892)
Player.Weapon.ShortName.Localized()

Quote:

Originally Posted by lokinton (Post 2690028)
im native but thanks

I think you have the terms helpful and spoonfeeding to fit your exact needs confused. The information was helpful. I even told you the same thing on this exact thread.

dennis0011 10th February 2020 12:36 PM

Does anybody got an better offset to get the VisorEffect object for the localplayer?

Code:

EFT.Player + DamageReceiveAction] 0x20] 0xA8] 0x110] 0x0

frizer68 10th February 2020 01:56 PM

can someone tell me why my items esp not working ?
public void VrijedneStvari()
{
foreach (LootItem lootItem in this._lootstvari)
{
if (!(lootItem == null) && lootItem.name != null && !(lootItem.name == string.Empty) && (lootItem.name.Contains("virtexprocessor") lootItem.name.Contains("transilluminator") lootItem.name.Contains("intelligence") lootItem.name.Contains("tetriz") lootItem.name.Contains("rfidreader") lootItem.name.Contains("defibrillator") lootItem.name.Contains("bitcoin") lootItem.name.Contains("chicken") lootItem.name.Contains("lion") lootItem.name.Contains("prokill") lootItem.name.Contains("rolex") lootItem.name.Contains("video_card") lootItem.name.Contains("item_keycard_lab_yellow") lootItem.name.Contains("item_keycard_lab_violet") lootItem.name.Contains("item_keycard_lab_red") lootItem.name.Contains("item_keycard_lab_green") lootItem.name.Contains("item_keycard_lab_blue") lootItem.name.Contains("item_keycard_lab_black") lootItem.name.Contains("flashstorage") lootItem.name.Contains("paracord") lootItem.name.Contains("woodclock") lootItem.name.Contains("wirelesstranmitter") lootItem.name.Contains("diagset")))
{
float num = Vector3.Distance(Camera.main.transform.position, lootItem.transform.position);
Vector3 vector = new Vector3(Camera.main.WorldToScreenPoint(lootItem.transform.position).x, Camera.main.WorldToScreenPoint(lootItem.transform.position).y, Camera.main.WorldToScreenPoint(lootItem.transform.position).z);
if (num <= this._maxLootDrawingDistance && (double)vector.z > 0.01)
{
GUI.color = Color.cyan;
int num2 = (int)num;
string content = string.Format("{0} - {1}M", lootItem.Item.ShortName.Localized(), num2);
CrtacBoja.Text(new Rect(vector.x - 50f, (float)Screen.height - vector.y, 100f, 50f), content);
}
}
}
}

CatalystFTW 10th February 2020 06:31 PM

Quote:

Originally Posted by lokinton (Post 2690882)
ur mad

he is saying the truth though, many people confuse help with spoonfeed. At first, I thought it is just them not understanding the literal meaning of the word but it seems like it is the fact that they are incompetent is the real reason behind it.

Frankie11 10th February 2020 08:06 PM

can someone confirm that object tag is still at __int16 tag; //0x004C ?

DisOwned 10th February 2020 11:34 PM

how are you guys grabbing cameraobject for me im looping through TaggedObjects but its just not working i logged the object names and the tag FPS Camera gets logged once after loading in maybe thats the problem i tried both strcmp for FPS Camera and tag == 5 for filtering for the right camera object Fps Camera doesnt show up in ActiveObjects list at all it seems so idk could use some input on how people are getting it done

Frankie11 10th February 2020 11:42 PM

Quote:

Originally Posted by lol300987 (Post 2692069)
how are you guys grabbing cameraobject for me im looping through TaggedObjects but its just not working i logged the object names and the tag FPS Camera gets logged once after loading in maybe thats the problem i tried both strcmp for FPS Camera and tag == 5 for filtering for the right camera object Fps Camera doesnt show up in ActiveObjects list at all it seems so idk could use some input on how people are getting it done

What's ur gameobject structure because I'm having the same issue

DisOwned 11th February 2020 12:21 AM

Quote:

Originally Posted by Frankie11 (Post 2692072)
What's ur gameobject structure because I'm having the same issue

Code:

class GameObject
{
public:
        char pad_0000[48]; //0x0000
        class cObjectClass *pObjectClass; //0x0030
        char pad_0038[16]; //0x0038
        int16_t Unk; //0x0048
        char pad_004A[6]; //0x004A
        int32_t Layer; //0x0050
        int16_t Tag; //0x0054
        char pad_0056[10]; //0x0056
        char *objectname; //0x0060
};

its nothing to do with the gameobject class seeing how i can loop through players and print info fine but as such but camera for this game is jank i do everything the same i do for rust

Frankie11 11th February 2020 12:50 AM

Quote:

Originally Posted by lol300987 (Post 2692091)
Code:

class GameObject
{
public:
        char pad_0000[48]; //0x0000
        class cObjectClass *pObjectClass; //0x0030
        char pad_0038[16]; //0x0038
        int16_t Unk; //0x0048
        char pad_004A[6]; //0x004A
        int32_t Layer; //0x0050
        int16_t Tag; //0x0054
        char pad_0056[10]; //0x0056
        char *objectname; //0x0060
};

its nothing to do with the gameobject class seeing how i can loop through players and print info fine but as such but camera for this game is jank i do everything the same i do for rust

https://github.com/frankie-11/eft-ex...ructs.cpp#L281 hopefully this helps

spudgy 11th February 2020 02:08 AM

I am looping the player list but some players just can't seem to be listed on my ESP, how is it possible? I am clueless to what is happening

lokinton 11th February 2020 02:11 AM

Quote:

Originally Posted by spudgy (Post 2692135)
I am looping the player list but some players just can't seem to be listed on my ESP, how is it possible? I am clueless to what is happening

registeredplayers works flawlessly for me

spudgy 11th February 2020 02:24 AM

yeh I'm puzzled why I'm not drawing these players

Code:


        auto pList = lWorld->GetPlayerList();
        DWORD pCount = pList->Count();//..
        for (DWORD i = 0; i < pCount; i++) {
                auto obj = (Player*)pList->Get(i);

                Vector3 vPos = obj->m_pMovementContext()->GetPos();
                //only for local?
                Vector3 vPos = obj->m_pPlayerBody()->m_pSkeletonRootJoin()->m_pBoneEnumerator()->m_pTransformArray()->getPosition(AIM_BONE);
                if (vPos.IsZero())continue;
                //draw here?
                Vector3 vOut;
                GWorldToScreen(*(D3DXVECTOR3*)&vPos, &vOut);
                NKDrawText("P", vOut.x, vOut.y, 0xFFFFFFFF, 1);
        }


Frankie11 11th February 2020 02:37 AM

Quote:

Originally Posted by spudgy (Post 2692146)
yeh I'm puzzled why I'm not drawing these players

Code:


        auto pList = lWorld->GetPlayerList();
        DWORD pCount = pList->Count();//..
        for (DWORD i = 0; i < pCount; i++) {
                auto obj = (Player*)pList->Get(i);

                Vector3 vPos = obj->m_pMovementContext()->GetPos();
                //only for local?
                Vector3 vPos = obj->m_pPlayerBody()->m_pSkeletonRootJoin()->m_pBoneEnumerator()->m_pTransformArray()->getPosition(AIM_BONE);
                if (vPos.IsZero())continue;
                //draw here?
                Vector3 vOut;
                GWorldToScreen(*(D3DXVECTOR3*)&vPos, &vOut);
                NKDrawText("P", vOut.x, vOut.y, 0xFFFFFFFF, 1);
        }


offline raid? if not then are these players bots or not think I had an issue just like that a couple weeks ago forgot how I got it working tho


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

spudgy 11th February 2020 02:52 AM

ok I was not reading the list starting at +0x20...
thanks sk814234!

bozzik 11th February 2020 02:42 PM

Quote:

Originally Posted by spudgy (Post 2692135)
I am looping the player list but some players just can't seem to be listed on my ESP, how is it possible? I am clueless to what is happening

I am doing mono, but i am encountering a similar issue.
will try some solutions i thought of after i see if the update fucked with anything.

shardadmin 11th February 2020 05:54 PM

Quote:

Originally Posted by Frankie11 (Post 2692072)
What's ur gameobject structure because I'm having the same issue

I put together a radar over the weekend using offsets from your code as reference (thank you for sharing btw.)
Camera rotation stopped working yesterday right after a game patch. Haven't had time to look into it but I'm able to see players/bots and extracts positions relative to my position. They just don't rotate as I move my camera. I'm guessing either offsets were changing or camera object tag name was changed.

Frankie11 11th February 2020 06:18 PM

Quote:

Originally Posted by shardadmin (Post 2692681)
I put together a radar over the weekend using offsets from your code as reference (thank you for sharing btw.)
Camera rotation stopped working yesterday right after a game patch. Haven't had time to look into it but I'm able to see players/bots and extracts positions relative to my position. They just don't rotate as I move my camera. I'm guessing either offsets were changing or camera object tag name was changed.

Has to be something with position ig not sure, FPS Camera didn't change if I'm right

Quote:

Originally Posted by lol300987 (Post 2692091)
Code:

class GameObject
{
public:
        char pad_0000[48]; //0x0000
        class cObjectClass *pObjectClass; //0x0030
        char pad_0038[16]; //0x0038
        int16_t Unk; //0x0048
        char pad_004A[6]; //0x004A
        int32_t Layer; //0x0050
        int16_t Tag; //0x0054
        char pad_0056[10]; //0x0056
        char *objectname; //0x0060
};

its nothing to do with the gameobject class seeing how i can loop through players and print info fine but as such but camera for this game is jank i do everything the same i do for rust

I got it working looks like for me my structure was outdated so thank you for sharing. This is my code on how I'm looping to get FPS Camera:

Code:

const auto last_object = *reinterpret_cast< unk1** >( game_object_manager );
                const auto first_object = *reinterpret_cast< unk1** >( std::uintptr_t( game_object_manager ) + 0x8 );

                for ( auto object = first_object; object != last_object; object = object->next )
                {
                        //check if object->object->name equals to FPS Camera
                }

credits: @paracord

also quick note, I was only able to obtain FPS Camera with bots in my game for some odd reason.

Titan0592 12th February 2020 02:02 AM

So i am trying to get the object list and names(My goal is gameworld). I know the way i retrieve the name through a char is odd but it works. At this point im just curious what im doing wrong? I get random strings but %99.98 percent is unreadable garbage. Thanks in advance :)https://gyazo.com/4d1a746190bf2c17e1af12383322eaab

Frankie11 12th February 2020 07:35 AM

Quote:

Originally Posted by Titan0592 (Post 2693053)
So i am trying to get the object list and names(My goal is gameworld). I know the way i retrieve the name through a char is odd but it works. At this point im just curious what im doing wrong? I get random strings but %99.98 percent is unreadable garbage. Thanks in advance :)https://gyazo.com/4d1a746190bf2c17e1af12383322eaab

post some code, we are not magicians.

also does anyone know a check to see if localplayer its in game?

TheMaoci 12th February 2020 07:45 AM

well some staff changed and taa daaa

https://www.youtube.com/watch?v=3fO-OFiN4CU

spudgy 12th February 2020 09:46 AM

@Frankie11 your loop is skipping the last object.

Frankie11 12th February 2020 05:11 PM

Quote:

Originally Posted by spudgy (Post 2693268)
@Frankie11 your loop is skipping the last object.

for me neither camera or gameworld are never last object so I never had a problem with it. Just read last objects name and compare it outside the for loop if that's the case for u

JasonSnell 12th February 2020 10:26 PM

Anyone got any idea on Exfil Drawing internally? Would help alot, thanks.

Titan0592 13th February 2020 02:35 AM

whoops
 
Quote:

Originally Posted by Frankie11 (Post 2693200)
post some code, we are not magicians.

also does anyone know a check to see if localplayer its in game?

Hey super sorry i posted that, i didnt mean to post without code lol. Anyway here is my gameobject loop. I actually still haven't figured out whats wrong. It just prints absolute garbage
Code:

DWORD64 GOM = ReadMem<DWORD64>(ProcID, PlayerModule + GameObject, sizeof(DWORD64));
                uint64_t activeObject = ReadMem<DWORD64>(ProcID, GOM + 0x18, sizeof(DWORD64));

                for (int i = 0; i < 5000; i++)
                {
                        uint64_t nextObj = ReadMem<DWORD64>(ProcID, activeObject + i * 0x8, sizeof(DWORD64));
                        uint64_t nextGameObj = ReadMem<DWORD64>(ProcID, activeObject + 0x10, sizeof(DWORD64));


                        char name[256];
                        for (short int j = 0; j < 20; j++)
                        {
                                objectname[j] = ReadMem<char>(ProcID, nextGameObj + 0x60 + j * 0x4, sizeof(unsigned char));
                        }
                        std::cout << std::string(objectname) << std::endl;
                        activeObject = nextObj;

                }


Frankie11 13th February 2020 05:00 AM

Quote:

Originally Posted by JasonSnell (Post 2693879)
Anyone got any idea on Exfil Drawing internally? Would help alot, thanks.

https://github.com/frankie-11/eft-ex...ructs.cpp#L222 same concept

Quote:

Originally Posted by Titan0592 (Post 2693998)
Hey super sorry i posted that, i didnt mean to post without code lol. Anyway here is my gameobject loop. I actually still haven't figured out whats wrong. It just prints absolute garbage
Code:

DWORD64 GOM = ReadMem<DWORD64>(ProcID, PlayerModule + GameObject, sizeof(DWORD64));
                uint64_t activeObject = ReadMem<DWORD64>(ProcID, GOM + 0x18, sizeof(DWORD64));

                for (int i = 0; i < 5000; i++)
                {
                        uint64_t nextObj = ReadMem<DWORD64>(ProcID, activeObject + i * 0x8, sizeof(DWORD64));
                        uint64_t nextGameObj = ReadMem<DWORD64>(ProcID, activeObject + 0x10, sizeof(DWORD64));


                        char name[256];
                        for (short int j = 0; j < 20; j++)
                        {
                                objectname[j] = ReadMem<char>(ProcID, nextGameObj + 0x60 + j * 0x4, sizeof(unsigned char));
                        }
                        std::cout << std::string(objectname) << std::endl;
                        activeObject = nextObj;

                }


https://github.com/frankie-11/eft-ex...ructs.cpp#L281
please stop declaring your pointers as uint64_t then reading them as DWORD

TheMaoci 13th February 2020 07:25 AM

@JasonSnell

variableArray = Gameworld.ExfiltrationController.ExfiltrationPoints
and loop through this. It will display all exfiltration points on the map :)

Frankie11 13th February 2020 07:27 AM

did getpos change?

Code:

void GetPosition(geo::vec3_t& out) { reinterpret_cast<void(__fastcall*)(BoneTransform*, geo::vec3_t&)>(std::uintptr_t(GetModuleHandleA("UnityPlayer.dll")) + 0xc09a20)(this, out); }

spudgy 13th February 2020 09:55 AM

Quote:

Originally Posted by TheMaoci (Post 2694140)
@JasonSnell

variableArray = Gameworld.ExfiltrationController.ExfiltrationPoints
and loop through this. It will display all exfiltration points on the map :)

Just note that there is a second Controller at 0x20 specifically for Scavs
0x18 is PMC Exfils

Quote:

Originally Posted by TheMaoci (Post 2694140)
@JasonSnell

variableArray = Gameworld.ExfiltrationController.ExfiltrationPoints
and loop through this. It will display all exfiltration points on the map :)

Just note that there is a second Controller at 0x20 specifically for Scavs
0x18 is PMC Exfils

ly937149473 13th February 2020 12:41 PM

any one know how to calculate viewangle aimbot for eft?

TheMaoci 13th February 2020 02:17 PM

Quote:

Originally Posted by spudgy (Post 2694223)
~~

well id ont liek to spoon feed so i skipped that one ;)

spudgy 13th February 2020 05:41 PM

I am having trouble with scope weapons even tho I do read the correct pointer. What could be wrong?
Code:

        static std::vector<uint64_t> tempchain{ 0x70,0x88, 0x20, 0x28, 0x30 };
auto sightCam = obj->m_pProceduralWeaponAnimation()->m_pOpticSightArray()->m_pCamera();
viewMatrix = sightCam->m_pCameraRaw()->m_pCameraEntity().ViewMatrix;


nvm figured it out thanks.

notcarl 13th February 2020 07:04 PM

Quote:

Originally Posted by Frankie11 (Post 2694143)
did getpos change?

Code:

void GetPosition(geo::vec3_t& out) { reinterpret_cast<void(__fastcall*)(BoneTransform*, geo::vec3_t&)>(std::uintptr_t(GetModuleHandleA("UnityPlayer.dll")) + 0xc09a20)(this, out); }

..... look?

Frankie11 13th February 2020 09:30 PM

Quote:

Originally Posted by notcarl (Post 2694700)
..... look?

It hasn't changed sorry, i seem to be crashing thats why I asked about it. Thanks for your helpful reply.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

spudgy 14th February 2020 02:29 AM

How do I get the velocity of a player?

edit: found here

Code:

                DWORD64 ptr = Read<DWORD64>((LPBYTE)this + 0x20); //_characterController
                return Read<Vector3>(ptr + 0xD0);


srm 14th February 2020 09:06 AM

Hey guys, i want to have a look at EFT with Cheatengine and Reclass. But BE is already started when im in offline raid. How would i go around Battleeye? I think its not safe to use reclass in offline raid?
Thanks for any help

TheMaoci 14th February 2020 10:31 AM

@srm edit assembly firstpass and removing BE locking and starting (eventually startign game not with _BE or use JUSTEMUTARKOV

@Tonyx97 x @Frankie11 im using mono and im good for like 3-4 months now LMAO for you

halpine 14th February 2020 11:11 AM

Could someone with an internal cheat in here shed some light on how to achieve thermal and nightvision?

Snowyy 14th February 2020 11:22 AM

 Moderator note  Thread cleaned. Please stick to the topic. Anyone continuing flaming/spamming/going off-topic risks receiving an infraction.

alcantara99 14th February 2020 04:23 PM

Okay, I might be a complete dumbo.
GetPosition is returning absolute garbage for me, like the result positions seem to be attached to the corresponding player, but the positions are completely wrong.

Code:

Vector3 GetPosition(uint64_t address)
{
        __m128 result;

        const __m128 mulVec0 = { -2.000, 2.000, -2.000, 0.000 };
        const __m128 mulVec1 = { 2.000, -2.000, -2.000, 0.000 };
        const __m128 mulVec2 = { -2.000, -2.000, 2.000, 0.000 };

        uint64_t internalTransform = rvm<uint64_t>(address + 0x10);

        uint64_t pTransformAccessReadOnly = rvm<uint64_t>(internalTransform + 0x38);

        int transformAccessReadOnlyIndex = rvm<int>(internalTransform + 0x40);

        uint64_t transformDataArray = rvm<uint64_t>(pTransformAccessReadOnly + 0x18);
        uint64_t transformDataIndices = rvm<uint64_t>(pTransformAccessReadOnly + 0x20);


        SIZE_T sizeMatriciesBuf = sizeof(Matrix34) * transformAccessReadOnlyIndex + sizeof(Matrix34);
        SIZE_T sizeIndicesBuf = sizeof(int) * transformAccessReadOnlyIndex + sizeof(int);

        // Allocate memory for storing large amounts of data (matricies and indicies)
        PVOID pMatriciesBuf = malloc(sizeMatriciesBuf);
        PVOID pIndicesBuf = malloc(sizeIndicesBuf);

        if (pMatriciesBuf && pIndicesBuf)
        {
                ReadVirtualMemoryRaw(transformDataArray, (uint64_t)pMatriciesBuf, sizeMatriciesBuf);
                ReadVirtualMemoryRaw(transformDataIndices, (uint64_t)pIndicesBuf, sizeIndicesBuf);

                result = *(__m128*)((ULONGLONG)pMatriciesBuf + 0x30 * transformAccessReadOnlyIndex);
                int transformIndex = *(int*)((ULONGLONG)pIndicesBuf + 0x4 * transformAccessReadOnlyIndex);

                while (transformIndex >= 0)
                {
                        Matrix34 matrix34 = *(Matrix34*)((ULONGLONG)pMatriciesBuf + 0x30 * transformIndex);

                        __m128 xxxx = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x00));        // xxxx
                        __m128 yyyy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x55));        // yyyy
                        __m128 zwxy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x8E));        // zwxy
                        __m128 wzyw = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0xDB));        // wzyw
                        __m128 zzzz = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0xAA));        // zzzz
                        __m128 yxwy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x71));        // yxwy
                        __m128 tmp7 = _mm_mul_ps(*(__m128*)(&matrix34.vec2), result);

                        result = _mm_add_ps(
                                _mm_add_ps(
                                        _mm_add_ps(
                                                _mm_mul_ps(
                                                        _mm_sub_ps(
                                                                _mm_mul_ps(_mm_mul_ps(xxxx, mulVec1), zwxy),
                                                                _mm_mul_ps(_mm_mul_ps(yyyy, mulVec2), wzyw)),
                                                        _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0xAA))),
                                                _mm_mul_ps(
                                                        _mm_sub_ps(
                                                                _mm_mul_ps(_mm_mul_ps(zzzz, mulVec2), wzyw),
                                                                _mm_mul_ps(_mm_mul_ps(xxxx, mulVec0), yxwy)),
                                                        _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0x55)))),
                                        _mm_add_ps(
                                                _mm_mul_ps(
                                                        _mm_sub_ps(
                                                                _mm_mul_ps(_mm_mul_ps(yyyy, mulVec0), yxwy),
                                                                _mm_mul_ps(_mm_mul_ps(zzzz, mulVec1), zwxy)),
                                                        _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0x00))),
                                                tmp7)), *(__m128*)(&matrix34.vec0));

                        transformIndex = *(int*)((ULONGLONG)pIndicesBuf + 0x4 * transformIndex);
                }

                free(pMatriciesBuf);
                free(pIndicesBuf);
        }

        return Vector3(result.m128_f32[0], result.m128_f32[1], result.m128_f32[2]);
}

Grabbing the "transform" like this:
player + 0x88 (playerBody)] + 0x28] + 0x28] + 0x10] + (0x20 + (Head * 8))]

Has anyone experienced anything smiliar?
https://i.imgur.com/0eZ1TgX.png

DeeGeeHM 14th February 2020 04:31 PM

Hello guys,

anyone has an idea how to fix the scope/ESP issue?
I tried the opticSight viewmatrix fix but it doesnt work on a lot of scopes.
My cheat is internal (native c++) would be nice if anyone can provide a adress of the internal w2s to fix it.

thanks in advance.

dywersant01 14th February 2020 06:17 PM

Quote:

Originally Posted by DeeGeeHM (Post 2695596)
Hello guys,

anyone has an idea how to fix the scope/ESP issue?
I tried the opticSight viewmatrix fix but it doesnt work on a lot of scopes.
My cheat is internal (native c++) would be nice if anyone can provide a adress of the internal w2s to fix it.

thanks in advance.

Which scopes are causing you problems ?

busybox10 14th February 2020 07:17 PM

Quote:

Originally Posted by TheMaoci (Post 2695299)
@srm edit assembly firstpass and removing BE locking and starting (eventually startign game not with _BE or use JUSTEMUTARKOV

@Tonyx97 x @Frankie11 im using mono and im good for like 3-4 months now LMAO for you

just emu tarkov works?

Frankie11 14th February 2020 09:12 PM

Quote:

Originally Posted by busybox10 (Post 2695745)
just emu tarkov works?

yes it works, use it all the time to test stuff

2858357545 15th February 2020 05:32 AM

Someone can tell me the latest offset address

MasterScuzee 15th February 2020 07:45 PM

Nvm...

shardadmin 15th February 2020 09:45 PM

Quote:

Originally Posted by alcantara99 (Post 2695592)
Okay, I might be a complete dumbo.
GetPosition is returning absolute garbage for me, like the result positions seem to be attached to the corresponding player, but the positions are completely wrong.

Code:

Vector3 GetPosition(uint64_t address)
{
        __m128 result;

        const __m128 mulVec0 = { -2.000, 2.000, -2.000, 0.000 };
        const __m128 mulVec1 = { 2.000, -2.000, -2.000, 0.000 };
        const __m128 mulVec2 = { -2.000, -2.000, 2.000, 0.000 };

        uint64_t internalTransform = rvm<uint64_t>(address + 0x10);

        uint64_t pTransformAccessReadOnly = rvm<uint64_t>(internalTransform + 0x38);

        int transformAccessReadOnlyIndex = rvm<int>(internalTransform + 0x40);

        uint64_t transformDataArray = rvm<uint64_t>(pTransformAccessReadOnly + 0x18);
        uint64_t transformDataIndices = rvm<uint64_t>(pTransformAccessReadOnly + 0x20);


        SIZE_T sizeMatriciesBuf = sizeof(Matrix34) * transformAccessReadOnlyIndex + sizeof(Matrix34);
        SIZE_T sizeIndicesBuf = sizeof(int) * transformAccessReadOnlyIndex + sizeof(int);

        // Allocate memory for storing large amounts of data (matricies and indicies)
        PVOID pMatriciesBuf = malloc(sizeMatriciesBuf);
        PVOID pIndicesBuf = malloc(sizeIndicesBuf);

        if (pMatriciesBuf && pIndicesBuf)
        {
                ReadVirtualMemoryRaw(transformDataArray, (uint64_t)pMatriciesBuf, sizeMatriciesBuf);
                ReadVirtualMemoryRaw(transformDataIndices, (uint64_t)pIndicesBuf, sizeIndicesBuf);

                result = *(__m128*)((ULONGLONG)pMatriciesBuf + 0x30 * transformAccessReadOnlyIndex);
                int transformIndex = *(int*)((ULONGLONG)pIndicesBuf + 0x4 * transformAccessReadOnlyIndex);

                while (transformIndex >= 0)
                {
                        Matrix34 matrix34 = *(Matrix34*)((ULONGLONG)pMatriciesBuf + 0x30 * transformIndex);

                        __m128 xxxx = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x00));        // xxxx
                        __m128 yyyy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x55));        // yyyy
                        __m128 zwxy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x8E));        // zwxy
                        __m128 wzyw = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0xDB));        // wzyw
                        __m128 zzzz = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0xAA));        // zzzz
                        __m128 yxwy = _mm_castsi128_ps(_mm_shuffle_epi32(*(__m128i*)(&matrix34.vec1), 0x71));        // yxwy
                        __m128 tmp7 = _mm_mul_ps(*(__m128*)(&matrix34.vec2), result);

                        result = _mm_add_ps(
                                _mm_add_ps(
                                        _mm_add_ps(
                                                _mm_mul_ps(
                                                        _mm_sub_ps(
                                                                _mm_mul_ps(_mm_mul_ps(xxxx, mulVec1), zwxy),
                                                                _mm_mul_ps(_mm_mul_ps(yyyy, mulVec2), wzyw)),
                                                        _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0xAA))),
                                                _mm_mul_ps(
                                                        _mm_sub_ps(
                                                                _mm_mul_ps(_mm_mul_ps(zzzz, mulVec2), wzyw),
                                                                _mm_mul_ps(_mm_mul_ps(xxxx, mulVec0), yxwy)),
                                                        _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0x55)))),
                                        _mm_add_ps(
                                                _mm_mul_ps(
                                                        _mm_sub_ps(
                                                                _mm_mul_ps(_mm_mul_ps(yyyy, mulVec0), yxwy),
                                                                _mm_mul_ps(_mm_mul_ps(zzzz, mulVec1), zwxy)),
                                                        _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(tmp7), 0x00))),
                                                tmp7)), *(__m128*)(&matrix34.vec0));

                        transformIndex = *(int*)((ULONGLONG)pIndicesBuf + 0x4 * transformIndex);
                }

                free(pMatriciesBuf);
                free(pIndicesBuf);
        }

        return Vector3(result.m128_f32[0], result.m128_f32[1], result.m128_f32[2]);
}

Grabbing the "transform" like this:
player + 0x88 (playerBody)] + 0x28] + 0x28] + 0x10] + (0x20 + (Head * 8))]

Has anyone experienced anything smiliar?
https://i.imgur.com/0eZ1TgX.png

Looks pretty similar to mine which works just fine:
Code:

       
        uint64_t bones_matrix_address = followPtrChain(character_address, { 0x88, 0x28, 0x28, 0x10 });
        if (bones_matrix_address) {
                        Character character;

            for (int i = 0; i < kBonesCount; i++) {
                Bone bone = static_cast<Bone>(i);
                int offset = getBoneOffset(bone);
                Vector3 pos = Transform::GetPosition(process_, process_->Read<uint64_t>(bones_matrix_address + (0x20 + (offset * 8))));

and this is my GetPosition, which is a copy/paste from someone else
Code:

int32_t get_dependency_index(WinProcess* process, uint64_t base, int32_t index)
{
        process->Read((uintptr_t)(base + index * 4), &index, sizeof(index));
        return index;
}

void get_matrix_blob(WinProcess* process, uint64_t base, uint64_t offs, float* blob, uint32_t size)
{
        process->Read((uintptr_t)(base + offs), blob, size);
}

Vector3 Transform::GetPosition(WinProcess* process, uint64_t transform)
{
        uint64_t matrix_list_base = 0;
        uint64_t dependency_index_table_base = 0;
        auto transform_internal = process->Read<uint64_t>(transform + 0x10);

        auto matrices = process->Read<uint64_t>(transform_internal + 0x38);
        auto index = process->Read<int>(transform_internal + 0x40);

        process->Read((uintptr_t)(matrices + 0x18), &matrix_list_base, sizeof(matrix_list_base));

        process->Read((uintptr_t)(matrices + 0x20), &dependency_index_table_base, sizeof(dependency_index_table_base));

        int32_t index_relation = get_dependency_index(process, dependency_index_table_base, index);

        Vector3 ret_value;
        {
                float* base_matrix3x4 = (float*)malloc(64),
                        * matrix3x4_buffer0 = (float*)((uint64_t)base_matrix3x4 + 16),
                        * matrix3x4_buffer1 = (float*)((uint64_t)base_matrix3x4 + 32),
                        * matrix3x4_buffer2 = (float*)((uint64_t)base_matrix3x4 + 48);

                get_matrix_blob(process, matrix_list_base, index * 48, base_matrix3x4, 16);

                __m128 xmmword_1410D1340 = { -2.f, 2.f, -2.f, 0.f };
                __m128 xmmword_1410D1350 = { 2.f, -2.f, -2.f, 0.f };
                __m128 xmmword_1410D1360 = { -2.f, -2.f, 2.f, 0.f };

                while (index_relation >= 0)
                {
                        uint32_t matrix_relation_index = 6 * index_relation;

                        // paziuret kur tik 3 nureadina, ten translationas, kur 4 = quatas ir yra rotationas.
                        get_matrix_blob(process, matrix_list_base, 8 * matrix_relation_index, matrix3x4_buffer2, 16);
                        __m128 v_0 = *(__m128*)matrix3x4_buffer2;

                        get_matrix_blob(process, matrix_list_base, 8 * matrix_relation_index + 32, matrix3x4_buffer0, 16);
                        __m128 v_1 = *(__m128*)matrix3x4_buffer0;

                        get_matrix_blob(process, matrix_list_base, 8 * matrix_relation_index + 16, matrix3x4_buffer1, 16);
                        __m128i v9 = *(__m128i*)matrix3x4_buffer1;

                        __m128* v3 = (__m128*)base_matrix3x4; // [email protected]
                        __m128 v10; // [email protected]
                        __m128 v11; // [email protected]
                        __m128 v12; // [email protected]
                        __m128 v13; // [email protected]
                        __m128 v14; // [email protected]
                        __m128 v15; // [email protected]
                        __m128 v16; // [email protected]
                        __m128 v17; // [email protected]

                        v10 = _mm_mul_ps(v_1, *v3);
                        v11 = _mm_castsi128_ps(_mm_shuffle_epi32(v9, 0));
                        v12 = _mm_castsi128_ps(_mm_shuffle_epi32(v9, 85));
                        v13 = _mm_castsi128_ps(_mm_shuffle_epi32(v9, -114));
                        v14 = _mm_castsi128_ps(_mm_shuffle_epi32(v9, -37));
                        v15 = _mm_castsi128_ps(_mm_shuffle_epi32(v9, -86));
                        v16 = _mm_castsi128_ps(_mm_shuffle_epi32(v9, 113));

                        v17 = _mm_add_ps(
                                _mm_add_ps(
                                        _mm_add_ps(
                                                _mm_mul_ps(
                                                        _mm_sub_ps(
                                                                _mm_mul_ps(_mm_mul_ps(v11, (__m128)xmmword_1410D1350), v13),
                                                                _mm_mul_ps(_mm_mul_ps(v12, (__m128)xmmword_1410D1360), v14)),
                                                        _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(v10), -86))),
                                                _mm_mul_ps(
                                                        _mm_sub_ps(
                                                                _mm_mul_ps(_mm_mul_ps(v15, (__m128)xmmword_1410D1360), v14),
                                                                _mm_mul_ps(_mm_mul_ps(v11, (__m128)xmmword_1410D1340), v16)),
                                                        _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(v10), 85)))),
                                        _mm_add_ps(
                                                _mm_mul_ps(
                                                        _mm_sub_ps(
                                                                _mm_mul_ps(_mm_mul_ps(v12, (__m128)xmmword_1410D1340), v16),
                                                                _mm_mul_ps(_mm_mul_ps(v15, (__m128)xmmword_1410D1350), v13)),
                                                        _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(v10), 0))),
                                                v10)),
                                v_0);

                        *v3 = v17;

                        index_relation = get_dependency_index(process, dependency_index_table_base, index_relation);
                }

                ret_value = *(Vector3*)base_matrix3x4;
                delete[] base_matrix3x4;
        }

        return ret_value;
}


igromanru 17th February 2020 12:31 PM

I see you guys are all working with offsets. What is if the state of internal Unity hacks based on the engine itself?
I haven't seen anyone posting something about it lately.
Is it detected? Can it be manual mapped out of driver? Is someone still got an internal that works on Unity?

netsh 17th February 2020 01:08 PM

Quote:

Originally Posted by igromanru (Post 2698183)
I see you guys are all working with offsets. What is if the state of internal Unity hacks based on the engine itself?
I haven't seen anyone posting something about it lately.
Is it detected? Can it be manual mapped out of driver? Is someone still got an internal that works on Unity?

Im currently internal (mono) and I have yet to get banned after 2-3 weeks of testing.
Lots of mono cheats died out after the addition of battleye or have been released for JET instead.

igromanru 17th February 2020 01:32 PM

Quote:

Originally Posted by netsh (Post 2698207)
Im currently internal (mono) and I have yet to get banned after 2-3 weeks of testing.
Lots of mono cheats died out after the addition of battleye or have been released for JET instead.

I doubt that BE got proper mono support to detect registered MonoBehaviour, the question is, how to manual map a managed dll.

TheEnglishGuy 17th February 2020 07:22 PM

Anyone experience with item teleport?

I got it working, but some items can't be picked up after they are teleported to me.
I assume this is due to a check which verifies whether a door to which the item is locked behind is opened or not.

Any way to circumvent this check?

Frankie11 17th February 2020 08:54 PM

Quote:

Originally Posted by TheEnglishGuy (Post 2698505)
Anyone experience with item teleport?

I got it working, but some items can't be picked up after they are teleported to me.
I assume this is due to a check which verifies whether a door to which the item is locked behind is opened or not.

Any way to circumvent this check?

post some code, works fine for me

TheEnglishGuy 17th February 2020 10:07 PM

Quote:

Originally Posted by Frankie11 (Post 2698583)
post some code, works fine for me

Sent you a PM, rather not post snippets for this specific function public.

edit: seems to be server checks, writing item location causes this. @Frankie11 suggested hooking func that stores item position

jiu36812019 17th February 2020 11:09 PM

Can you send a copy of the latest offset or address?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

TheEnglishGuy 18th February 2020 01:09 AM

Instead of teleporting the item, would it be possible to simply create a transform for the entity and then use an isauthorised bool so you can simply pick up any item from any distance (should get rid of the distance/visibility check)
Anyone tried this before? If so, willing to pitch in here?

HELOHELO121 18th February 2020 01:36 AM

Quote:

Originally Posted by m1k3yman (Post 2690285)
@HELOHELO121 just tried what you said nulling out most of them causes visual glitches and my gun unhooks from my hands and levitates

what i really need is a way to get the viewmatrix for the optics but i cant find the matrix in Optic_Camera anymore

Don't null out the effector objects, look into the classes, most of them have an intensity member

okoko98ttt 18th February 2020 01:53 AM

how to find GAME_OBJECT_MANAGER?

Respecter 18th February 2020 02:49 AM

Quote:

Originally Posted by okoko98ttt (Post 2698748)
how to find GAME_OBJECT_MANAGER?

signature posted few pages back

CynoCoder 18th February 2020 04:21 PM

has anyone managed to get visible check working? ive tried both, the RaycastTest function in UnityPlayer.dll and directly through physX PxScene::raycast, but my game bugs out with both (AI doesnt hit anymore , shots dont register properly etc).
calling it from Present

liquidace 18th February 2020 06:24 PM

Quote:

Originally Posted by CynoCoder (Post 2699203)
calling it from Present

this problem

CynoCoder 18th February 2020 06:43 PM

Quote:

Originally Posted by liquidace (Post 2699283)
this problem

thats what i thoght. seems like i have to hook something in the correct thread then...

have you tried https://docs.unity3d.com/ScriptRefer...tCommand.html?
does it work from the render thread?

liquidace 18th February 2020 08:59 PM

poke around here and apply to tarkov TraceRay TLS issues

jiu36812019 18th February 2020 09:51 PM

Can you send me an up-to-date base address and offset?

GDPR_Anonymous 19th February 2020 07:35 AM

Quote:

Originally Posted by jiu36812019 (Post 2699427)
Can you send me an up-to-date base address and offset?

Very broad question

jiu36812019 19th February 2020 07:40 AM

I already have a Gameobject, How to get into the entity list

klmno 19th February 2020 02:04 PM

Quote:

Originally Posted by CynoCoder (Post 2699203)
has anyone managed to get visible check working? ive tried both, the RaycastTest function in UnityPlayer.dll and directly through physX PxScene::raycast, but my game bugs out with both (AI doesnt hit anymore , shots dont register properly etc).
calling it from Present

hook one of the "frameupdate" methods and cache the results

halpine 19th February 2020 04:07 PM

Are the latest offsets for the recent patch being posted somewhere?

a179329195 21st February 2020 12:22 PM

Quote:

Originally Posted by jiu36812019 (Post 2699427)
Can you send me an up-to-date base address and offset?

Stop feeding with a spoon

GDPR_Anonymous 21st February 2020 06:12 PM

nvm sorted

ForestPunk 22nd February 2020 02:01 PM

Im managed to teleport loot however i cant pick it up, could anyone PM me with name/method of checking/bypass?

ShieldSupporter 22nd February 2020 06:39 PM

Quote:

Originally Posted by ForestPunk (Post 2702382)
Im managed to teleport loot however i cant pick it up, could anyone PM me with name/method of checking/bypass?

not as hard as it seems, keep playing with it m8 you'll figure it out, some items cant be picked up btw due to checks, example keycards

bangba 23rd February 2020 05:07 PM

Who can share no recoil with me?

jiu36812019 23rd February 2020 10:37 PM

Where do I start looking for bones

Razchek 24th February 2020 12:51 AM

Has anyone solved mouse movement aim externally with no memory writing?

I've tried calculating with the W2S of the forward vector for the fireport multiplied by the distance.
It works, but it's dependent on the animation of the gun so it can get glitchy.

I'm at a writers block and for the life of me can't think of a better solution (without writing to memory).

Any assistance is much appreciated.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

adspro 24th February 2020 04:03 PM

anyone have information about magic bullets?

TheEnglishGuy 24th February 2020 10:51 PM

Anyone can tell me if item teleport or grab item from anywhere still works?

ShieldSupporter 25th February 2020 10:52 AM

here some random shit i got that yall can prob find use for, not sure how much of it is posted here or what not

Can load cams with this.
Code:

AssetBundle assetBundle2 = AssetBundle.LoadFromFile(Path.Combine("C:\\Battlestate Games\\EFT\\EscapeFromTarkov_Data\\StreamingAssets\\Windows\\assets\\content\\characters\\character\\prefabs", "wild_body_1"));
            AssetBundle assetBundle3 = AssetBundle.LoadFromFile(Path.Combine("C:\\Battlestate Games\\EFT\\EscapeFromTarkov_Data\\StreamingAssets\\Windows\\assets\\content\\characters\\character\\prefabs", "wild_body_2"));
            AssetBundle assetBundle4 = AssetBundle.LoadFromFile(Path.Combine("C:\\Battlestate Games\\EFT\\EscapeFromTarkov_Data\\StreamingAssets\\Windows\\assets\\content\\characters\\character\\prefabs", "wild_body_3"));

opening doors.
Code:

public void OpenDoors()
        {
            this.doors = Object.FindObjectsOfType<Door>();
            foreach (Door door in this.doors)
            {
                float num = Vector3.Distance(Camera.main.transform.position, door.transform.position);
                Vector3 vector;
                vector..ctor(Camera.main.WorldToScreenPoint(door.transform.position).x, Camera.main.WorldToScreenPoint(door.transform.position).y, Camera.main.WorldToScreenPoint(door.transform.position).z);
                bool flag = num <= this.opendoordistance && (double)vector.z > 0.01;
                if (flag)
                {
                    door.enabled = true;
                    door.DoorState = 2;
                }
            }
        }

skills

Code:


if (keyDown4)
            {
                foreach (Player player in this._players)
                {
                    player.Skills.StrengthBuffSprintSpeedInc.Value = 50f;
                    player.Skills.StrengthBuffLiftWeightInc.Value = 25f;
                    player.Skills.StrengthBuffMeleeCrits.Value = true;
                    player.Skills.StrengthBuffMeleePowerInc.Value = 20f;
                    player.Skills.StrengthBuffThrowDistanceInc.Value = 20f;
                    player.Skills.ThrowingStrengthBuff.Value = 20f;
                    player.Skills.EnduranceBuffEnduranceInc.Value = 25f;
                    player.Skills.EnduranceBuffBreathTimeInc.Value = 25f;
                    player.Skills.EnduranceBuffRestorationTimeRed.Value = 25f;
                    player.Skills.EnduranceBreathElite.Value = true;
                }
            }

how to impor ur own custom menu skin

Code:

public void Start()
        {
            AssetBundle assetBundle = AssetBundle.LoadFromFile(Path.Combine("C:\\Users\\jjjjc\\Documents\\New Unity Project\\Assets\\AssetBundles", "epicgamermenu"));
            this.EpicGui = assetBundle.LoadAsset<GUISkin>("epicgamergui");
            Debug.Log("Dazzah is Gay");
            AssetBundle assetBundle2 = AssetBundle.LoadFromFile(Path.Combine("C:\\Battlestate Games\\EFT\\EscapeFromTarkov_Data\\StreamingAssets\\Windows\\assets\\content\\characters\\character\\prefabs", "wild_body_1"));
            AssetBundle assetBundle3 = AssetBundle.LoadFromFile(Path.Combine("C:\\Battlestate Games\\EFT\\EscapeFromTarkov_Data\\StreamingAssets\\Windows\\assets\\content\\characters\\character\\prefabs", "wild_body_2"));
            AssetBundle assetBundle4 = AssetBundle.LoadFromFile(Path.Combine("C:\\Battlestate Games\\EFT\\EscapeFromTarkov_Data\\StreamingAssets\\Windows\\assets\\content\\characters\\character\\prefabs", "wild_body_3"));
            assetBundle2.Unload(false);
            assetBundle3.Unload(false);
            assetBundle4.Unload(false);
        }

a nice lootlist for weapons

Code:

public void WeaponsESP()
                {
                        foreach (LootItem lootItem in this._lootItems)
                        {
                                bool flag = lootItem == null;
                                if (flag)
                                {
                                        break;
                                }
                                bool flag2 = lootItem.name == null;
                                if (flag2)
                                {
                                        break;
                                }
                                bool flag3 = lootItem.name == string.Empty;
                                if (flag3)
                                {
                                        break;
                                }
                                bool flag4 = lootItem.name.Contains("weapon_hk_416a5_556x45_container") || lootItem.name.Contains("weapon_remington_model_700_762x51_container") || lootItem.name.Contains("weapon_hk_mp5_navy3_9x19_container") || lootItem.name.Contains("weapon_colt_m4a1_556x45_container") || lootItem.name.Contains("weapon_tochmash_vss_9x39_container") || lootItem.name.Contains("weapon_dsa_sa58_762x51_container") || lootItem.name.Contains("weapon_tochmass_val_9x39_container") || lootItem.name.Contains("weapon_hk_mp7a1_46x30_container") || lootItem.name.Contains("weapon_hk_mp7a2_46x30_container") || lootItem.name.Contains("weapon_springfield_m1a_762x51_container") || lootItem.name.Contains("weapon_izhmash_rpk16_545x39_container") || lootItem.name.Contains("weapon_izhmash_ak105_545x39_container") || lootItem.name.Contains("weapon_izhmash_ak74_545x39_container") || lootItem.name.Contains("weapon_izhmash_ak74m_545x39_container") || lootItem.name.Contains("weapon_izhmash_ak74n_545x39_container") || lootItem.name.Contains("weapon_izhmash_aks74u_545x39_container") || lootItem.name.Contains("weapon_izhmash_aks74_545x39_container") || lootItem.name.Contains("weapon_izhmash_aks74n_545x39_container") || lootItem.name.Contains("weapon_izhmash_aks74ub_545x39_container") || lootItem.name.Contains("weapon_izhmash_aks74un_545x39_container") || lootItem.name.Contains("weapon_izhmash_ak101_556x45_container") || lootItem.name.Contains("weapon_izhmash_ak102_556x45_container") || lootItem.name.Contains("weapon_izhmash_ak103_762x39_container") || lootItem.name.Contains("weapon_izhmash_ak104_762x39_container") || lootItem.name.Contains("weapon_izhmash_sv-98_762x54r_container") || lootItem.name.Contains("weapon_lobaev_dvl-10_308_container") || lootItem.name.Contains("weapon_adar_2-15_556x45_container") || lootItem.name.Contains("weapon_remington_r11_rsass_762x51_container");
                                if (flag4)
                                {
                                        float num = Vector3.Distance(Camera.main.transform.position, lootItem.transform.position);
                                        Vector3 vector;
                                        vector..ctor(Camera.main.WorldToScreenPoint(lootItem.transform.position).x, Camera.main.WorldToScreenPoint(lootItem.transform.position).y, Camera.main.WorldToScreenPoint(lootItem.transform.position).z);
                                        Vector3 vector2;
                                        vector2..ctor(Camera.main.WorldToScreenPoint(lootItem.transform.position).x, Camera.main.WorldToScreenPoint(lootItem.transform.position).y, Camera.main.WorldToScreenPoint(lootItem.transform.position).z);
                                        bool flag5 = num <= this._maxLootDrawingDistance && (double)vector2.z > 0.01;
                                        if (flag5)
                                        {
                                                GUI.color = Color.cyan;
                                                int num2 = (int)num;
                                                string name = lootItem.name;
                                                string text = string.Format("{0}", name);
                                                GUI.Label(new Rect(vector2.x - 50f, (float)Screen.height - vector2.y, 100f, 50f), text);
                                        }
                                }
                        }
                }

simple bone esp

Code:

private void Bones()
                {
                        foreach (Player player in this._players)
                        {
                                float num = Vector3.Distance(Camera.main.transform.position, player.Transform.position);
                                Vector3 vector;
                                vector..ctor(Camera.main.WorldToScreenPoint(player.Transform.position).x, Camera.main.WorldToScreenPoint(player.Transform.position).y, Camera.main.WorldToScreenPoint(player.Transform.position).z);
                                bool flag = num > this.distance && num <= this._maxDrawingDistance && (double)vector.z > 0.01;
                                if (flag)
                                {
                                        Vector3 vector2;
                                        vector2..ctor(Camera.main.WorldToScreenPoint(player.PlayerBones.Neck.position).x, Camera.main.WorldToScreenPoint(player.PlayerBones.Neck.position).y, Camera.main.WorldToScreenPoint(player.PlayerBones.Neck.position).z);
                                        Vector3 vector3;
                                        vector3..ctor(Camera.main.WorldToScreenPoint(player.PlayerBones.LeftShoulder.position).x, Camera.main.WorldToScreenPoint(player.PlayerBones.LeftShoulder.position).y, Camera.main.WorldToScreenPoint(player.PlayerBones.LeftShoulder.position).z);
                                        Vector3 vector4;
                                        vector4..ctor(Camera.main.WorldToScreenPoint(player.PlayerBones.KickingFoot.position).x, Camera.main.WorldToScreenPoint(player.PlayerBones.KickingFoot.position).y, Camera.main.WorldToScreenPoint(player.PlayerBones.KickingFoot.position).z);
                                        Vector3 vector5;
                                        vector5..ctor(Camera.main.WorldToScreenPoint(player.PlayerBones.LeftPalm.position).x, Camera.main.WorldToScreenPoint(player.PlayerBones.LeftPalm.position).y, Camera.main.WorldToScreenPoint(player.PlayerBones.LeftPalm.position).z);
                                        Vector3 vector6;
                                        vector6..ctor(Camera.main.WorldToScreenPoint(player.PlayerBones.RightPalm.position).x, Camera.main.WorldToScreenPoint(player.PlayerBones.RightPalm.position).y, Camera.main.WorldToScreenPoint(player.PlayerBones.RightPalm.position).z);
                                        Vector3 vector7;
                                        vector7..ctor(Camera.main.WorldToScreenPoint(player.PlayerBones.Ribcage.position).x, Camera.main.WorldToScreenPoint(player.PlayerBones.Ribcage.position).y, Camera.main.WorldToScreenPoint(player.PlayerBones.Ribcage.position).z);
                                        Vector3 vector8;
                                        vector8..ctor(Camera.main.WorldToScreenPoint(player.PlayerBones.Head.position).x, Camera.main.WorldToScreenPoint(player.PlayerBones.Head.position).y, Camera.main.WorldToScreenPoint(player.PlayerBones.Head.position).z);
                                        Vector3 vector9;
                                        vector9..ctor(Camera.main.WorldToScreenPoint(player.PlayerBones.LeftShoulder.position).x, Camera.main.WorldToScreenPoint(player.PlayerBones.LeftShoulder.position).y, Camera.main.WorldToScreenPoint(player.PlayerBones.LeftShoulder.position).z);
                                        Vector3 vector10;
                                        vector10..ctor(Camera.main.WorldToScreenPoint(player.PlayerBones.RightShoulder.position).x, Camera.main.WorldToScreenPoint(player.PlayerBones.RightShoulder.position).y, Camera.main.WorldToScreenPoint(player.PlayerBones.RightShoulder.position).z);
                                        float x = Camera.main.WorldToScreenPoint(player.Transform.position).x;
                                        float num2 = Camera.main.WorldToScreenPoint(player.PlayerBones.Head.position).y + 10f;
                                        float num3 = Math.Abs(Camera.main.WorldToScreenPoint(player.PlayerBones.Head.position).y - Camera.main.WorldToScreenPoint(player.Transform.position).y) + 10f;
                                        float num4 = num3 * 0.65f;
                                        bool flag2 = player.Profile.Info.RegistrationDate <= 0;
                                        Color gray = Color.gray;
                                        Color green = Color.green;
                                        GUI.color = gray;
                                        GuiHelper.DrawLine(new Vector2(vector8.x, (float)Screen.height - vector8.y - 2f), new Vector2(vector7.x, (float)Screen.height - vector7.y), this.ESPColor);
                                        GuiHelper.DrawLine(new Vector2(vector5.x, (float)Screen.height - vector5.y - 2f), new Vector2(vector9.x, (float)Screen.height - vector5.y + 2f), this.ESPColor);
                                        GuiHelper.DrawLine(new Vector2(vector6.x, (float)Screen.height - vector6.y - 2f), new Vector2(vector10.x, (float)Screen.height - vector10.y + 2f), this.ESPColor);
                                        GuiHelper.DrawLine(new Vector2(vector9.x, (float)Screen.height - vector9.y - 2f), new Vector2(vector10.x, (float)Screen.height - vector10.y + 2f), this.ESPColor);
                                        bool flag3 = num > this.distance;
                                        if (flag3)
                                        {
                                                break;
                                        }
                                        bool flag4 = player.Profile.Info.RegistrationDate <= 0;
                                        if (flag4)
                                        {
                                                GuiHelper.DrawLine(new Vector2(vector8.x - 10f, (float)Screen.height - vector8.y), new Vector2(vector8.x + 10f, (float)Screen.height - vector8.y), this.ScavBoy);
                                        }
                                        bool flag5 = player.Profile.Info.RegistrationDate > 0;
                                        if (flag5)
                                        {
                                                GuiHelper.DrawLine(new Vector2(vector8.x - 10f, (float)Screen.height - vector8.y), new Vector2(vector8.x + 10f, (float)Screen.height - vector8.y), this.ESPColor);
                                        }
                                }
                        }
                }

use the info how you want, its served me decent.

Reff 25th February 2020 09:24 PM

Quote:

Originally Posted by TheEnglishGuy (Post 2704210)
Anyone can tell me if item teleport or grab item from anywhere still works?

From what I tried, I was still able to transform the loot items component even though they added a check for it. It's unity...

But seems they are now using "HasTrustedPosition" for all items and not just high values or ones inside locked areas. (they renamed it to "PerformPickupValidation" inside LootItem class), but I was not able to bypass that. So I was able to transform the position of the component but can't loot it unless I'm in range.

OneSingleNoodle 26th February 2020 05:47 PM

Quote:

Originally Posted by ShieldSupporter (Post 2704530)
~~~

Been trying to get Door Unlocking working for a bit, VS is telling me it can't convert type `int` to EFT.Interactive.EDoorState. Am I missing something?

I went ahead and set the DoorState = EDoorState.Open;

ShieldSupporter 26th February 2020 08:01 PM

Quote:

Originally Posted by OneSingleNoodle (Post 2705581)
Been trying to get Door Unlocking working for a bit, VS is telling me it can't convert type `int` to EFT.Interactive.EDoorState. Am I missing something?

I went ahead and set the DoorState = EDoorState.Open;

Code:

// Token: 0x0600B4F8 RID: 46328 RVA: 0x003A6A10 File Offset: 0x003A4C10
                private void dooryukalmao()
                {
                        foreach (Door door in from d in Object.FindObjectsOfType<Door>()
                        where d.DoorState == EDoorState.Locked
                        select d)
                        {
                                door.DoorState = EDoorState.Shut;
                        }
                }

                // Token: 0x0600B4F9 RID: 46329 RVA: 0x003A6A80 File Offset: 0x003A4C80
                private void dooryukalmao1()
                {
                        foreach (Door door in from d in Object.FindObjectsOfType<Door>()
                        where d.DoorState == EDoorState.Shut || d.DoorState == EDoorState.Open
                        select d)
                        {
                                door.DoorState = EDoorState.Locked;
                        }
                }

                // Token: 0x0600B4FA RID: 46330 RVA: 0x003A6AF0 File Offset: 0x003A4CF0
                private void contyukalmao()
                {
                        foreach (LootableContainer lootableContainer in from d in Object.FindObjectsOfType<LootableContainer>()
                        where d.DoorState == EDoorState.Locked
                        select d)
                        {
                                lootableContainer.DoorState = EDoorState.Shut;
                        }
                }


OneSingleNoodle 26th February 2020 08:02 PM

Quote:

Originally Posted by ShieldSupporter (Post 2705662)
Code:

// Token: 0x0600B4F8 RID: 46328 RVA: 0x003A6A10 File Offset: 0x003A4C10
                private void dooryukalmao()
                {
                        foreach (Door door in from d in Object.FindObjectsOfType<Door>()
                        where d.DoorState == EDoorState.Locked
                        select d)
                        {
                                door.DoorState = EDoorState.Shut;
                        }
                }

                // Token: 0x0600B4F9 RID: 46329 RVA: 0x003A6A80 File Offset: 0x003A4C80
                private void dooryukalmao1()
                {
                        foreach (Door door in from d in Object.FindObjectsOfType<Door>()
                        where d.DoorState == EDoorState.Shut || d.DoorState == EDoorState.Open
                        select d)
                        {
                                door.DoorState = EDoorState.Locked;
                        }
                }

                // Token: 0x0600B4FA RID: 46330 RVA: 0x003A6AF0 File Offset: 0x003A4CF0
                private void contyukalmao()
                {
                        foreach (LootableContainer lootableContainer in from d in Object.FindObjectsOfType<LootableContainer>()
                        where d.DoorState == EDoorState.Locked
                        select d)
                        {
                                lootableContainer.DoorState = EDoorState.Shut;
                        }
                }


So you're setting all opened or locked doors to Shut, which then no longer requires a key? So you're not really opening the doors using then, instead making it so that the doors don;t require a key?

pubgnice 27th February 2020 09:37 AM

Who can tell me the latest offset? "GameObjectManager=?"

proton101 27th February 2020 11:04 AM

Quote:

Originally Posted by pubgnice (Post 2706000)
Who can tell me the latest offset? "GameObjectManager=?"

U3D.dll+0x22118888

Quote:

Originally Posted by pubgnice (Post 2706000)
Who can tell me the latest offset? "GameObjectManager=?"

U3D.dll+0x22118888

Quote:

Originally Posted by ShieldSupporter (Post 2704530)
here some random shit i got that yall can prob find use for, not sure how much of it is posted here or what not

Can load cams with this.
Code:

AssetBundle assetBundle2 = AssetBundle.LoadFromFile(Path.Combine("C:\\Battlestate Games\\EFT\\EscapeFromTarkov_Data\\StreamingAssets\\Windows\\assets\\content\\characters\\character\\prefabs", "wild_body_1"));
            AssetBundle assetBundle3 = AssetBundle.LoadFromFile(Path.Combine("C:\\Battlestate Games\\EFT\\EscapeFromTarkov_Data\\StreamingAssets\\Windows\\assets\\content\\characters\\character\\prefabs", "wild_body_2"));
            AssetBundle assetBundle4 = AssetBundle.LoadFromFile(Path.Combine("C:\\Battlestate Games\\EFT\\EscapeFromTarkov_Data\\StreamingAssets\\Windows\\assets\\content\\characters\\character\\prefabs", "wild_body_3"));

opening doors.
Code:

public void OpenDoors()
        {
            this.doors = Object.FindObjectsOfType<Door>();
            foreach (Door door in this.doors)
            {
                float num = Vector3.Distance(Camera.main.transform.position, door.transform.position);
                Vector3 vector;
                vector..ctor(Camera.main.WorldToScreenPoint(door.transform.position).x, Camera.main.WorldToScreenPoint(door.transform.position).y, Camera.main.WorldToScreenPoint(door.transform.position).z);
                bool flag = num <= this.opendoordistance && (double)vector.z > 0.01;
                if (flag)
                {
                    door.enabled = true;
                    door.DoorState = 2;
                }
            }
        }

skills

Code:


if (keyDown4)
            {
                foreach (Player player in this._players)
                {
                    player.Skills.StrengthBuffSprintSpeedInc.Value = 50f;
                    player.Skills.StrengthBuffLiftWeightInc.Value = 25f;
                    player.Skills.StrengthBuffMeleeCrits.Value = true;
                    player.Skills.StrengthBuffMeleePowerInc.Value = 20f;
                    player.Skills.StrengthBuffThrowDistanceInc.Value = 20f;
                    player.Skills.ThrowingStrengthBuff.Value = 20f;
                    player.Skills.EnduranceBuffEnduranceInc.Value = 25f;
                    player.Skills.EnduranceBuffBreathTimeInc.Value = 25f;
                    player.Skills.EnduranceBuffRestorationTimeRed.Value = 25f;
                    player.Skills.EnduranceBreathElite.Value = true;
                }
            }

how to impor ur own custom menu skin

Code:

public void Start()
        {
            AssetBundle assetBundle = AssetBundle.LoadFromFile(Path.Combine("C:\\Users\\jjjjc\\Documents\\New Unity Project\\Assets\\AssetBundles", "epicgamermenu"));
            this.EpicGui = assetBundle.LoadAsset<GUISkin>("epicgamergui");
            Debug.Log("Dazzah is Gay");
            AssetBundle assetBundle2 = AssetBundle.LoadFromFile(Path.Combine("C:\\Battlestate Games\\EFT\\EscapeFromTarkov_Data\\StreamingAssets\\Windows\\assets\\content\\characters\\character\\prefabs", "wild_body_1"));
            AssetBundle assetBundle3 = AssetBundle.LoadFromFile(Path.Combine("C:\\Battlestate Games\\EFT\\EscapeFromTarkov_Data\\StreamingAssets\\Windows\\assets\\content\\characters\\character\\prefabs", "wild_body_2"));
            AssetBundle assetBundle4 = AssetBundle.LoadFromFile(Path.Combine("C:\\Battlestate Games\\EFT\\EscapeFromTarkov_Data\\StreamingAssets\\Windows\\assets\\content\\characters\\character\\prefabs", "wild_body_3"));
            assetBundle2.Unload(false);
            assetBundle3.Unload(false);
            assetBundle4.Unload(false);
        }

a nice lootlist for weapons

Code:

public void WeaponsESP()
                {
                        foreach (LootItem lootItem in this._lootItems)
                        {
                                bool flag = lootItem == null;
                                if (flag)
                                {
                                        break;
                                }
                                bool flag2 = lootItem.name == null;
                                if (flag2)
                                {
                                        break;
                                }
                                bool flag3 = lootItem.name == string.Empty;
                                if (flag3)
                                {
                                        break;
                                }
                                bool flag4 = lootItem.name.Contains("weapon_hk_416a5_556x45_container") || lootItem.name.Contains("weapon_remington_model_700_762x51_container") || lootItem.name.Contains("weapon_hk_mp5_navy3_9x19_container") || lootItem.name.Contains("weapon_colt_m4a1_556x45_container") || lootItem.name.Contains("weapon_tochmash_vss_9x39_container") || lootItem.name.Contains("weapon_dsa_sa58_762x51_container") || lootItem.name.Contains("weapon_tochmass_val_9x39_container") || lootItem.name.Contains("weapon_hk_mp7a1_46x30_container") || lootItem.name.Contains("weapon_hk_mp7a2_46x30_container") || lootItem.name.Contains("weapon_springfield_m1a_762x51_container") || lootItem.name.Contains("weapon_izhmash_rpk16_545x39_container") || lootItem.name.Contains("weapon_izhmash_ak105_545x39_container") || lootItem.name.Contains("weapon_izhmash_ak74_545x39_container") || lootItem.name.Contains("weapon_izhmash_ak74m_545x39_container") || lootItem.name.Contains("weapon_izhmash_ak74n_545x39_container") || lootItem.name.Contains("weapon_izhmash_aks74u_545x39_container") || lootItem.name.Contains("weapon_izhmash_aks74_545x39_container") || lootItem.name.Contains("weapon_izhmash_aks74n_545x39_container") || lootItem.name.Contains("weapon_izhmash_aks74ub_545x39_container") || lootItem.name.Contains("weapon_izhmash_aks74un_545x39_container") || lootItem.name.Contains("weapon_izhmash_ak101_556x45_container") || lootItem.name.Contains("weapon_izhmash_ak102_556x45_container") || lootItem.name.Contains("weapon_izhmash_ak103_762x39_container") || lootItem.name.Contains("weapon_izhmash_ak104_762x39_container") || lootItem.name.Contains("weapon_izhmash_sv-98_762x54r_container") || lootItem.name.Contains("weapon_lobaev_dvl-10_308_container") || lootItem.name.Contains("weapon_adar_2-15_556x45_container") || lootItem.name.Contains("weapon_remington_r11_rsass_762x51_container");
                                if (flag4)
                                {
                                        float num = Vector3.Distance(Camera.main.transform.position, lootItem.transform.position);
                                        Vector3 vector;
                                        vector..ctor(Camera.main.WorldToScreenPoint(lootItem.transform.position).x, Camera.main.WorldToScreenPoint(lootItem.transform.position).y, Camera.main.WorldToScreenPoint(lootItem.transform.position).z);
                                        Vector3 vector2;
                                        vector2..ctor(Camera.main.WorldToScreenPoint(lootItem.transform.position).x, Camera.main.WorldToScreenPoint(lootItem.transform.position).y, Camera.main.WorldToScreenPoint(lootItem.transform.position).z);
                                        bool flag5 = num <= this._maxLootDrawingDistance && (double)vector2.z > 0.01;
                                        if (flag5)
                                        {
                                                GUI.color = Color.cyan;
                                                int num2 = (int)num;
                                                string name = lootItem.name;
                                                string text = string.Format("{0}", name);
                                                GUI.Label(new Rect(vector2.x - 50f, (float)Screen.height - vector2.y, 100f, 50f), text);
                                        }
                                }
                        }
                }

simple bone esp

Code:

private void Bones()
                {
                        foreach (Player player in this._players)
                        {
                                float num = Vector3.Distance(Camera.main.transform.position, player.Transform.position);
                                Vector3 vector;
                                vector..ctor(Camera.main.WorldToScreenPoint(player.Transform.position).x, Camera.main.WorldToScreenPoint(player.Transform.position).y, Camera.main.WorldToScreenPoint(player.Transform.position).z);
                                bool flag = num > this.distance && num <= this._maxDrawingDistance && (double)vector.z > 0.01;
                                if (flag)
                                {
                                        Vector3 vector2;
                                        vector2..ctor(Camera.main.WorldToScreenPoint(player.PlayerBones.Neck.position).x, Camera.main.WorldToScreenPoint(player.PlayerBones.Neck.position).y, Camera.main.WorldToScreenPoint(player.PlayerBones.Neck.position).z);
                                        Vector3 vector3;
                                        vector3..ctor(Camera.main.WorldToScreenPoint(player.PlayerBones.LeftShoulder.position).x, Camera.main.WorldToScreenPoint(player.PlayerBones.LeftShoulder.position).y, Camera.main.WorldToScreenPoint(player.PlayerBones.LeftShoulder.position).z);
                                        Vector3 vector4;
                                        vector4..ctor(Camera.main.WorldToScreenPoint(player.PlayerBones.KickingFoot.position).x, Camera.main.WorldToScreenPoint(player.PlayerBones.KickingFoot.position).y, Camera.main.WorldToScreenPoint(player.PlayerBones.KickingFoot.position).z);
                                        Vector3 vector5;
                                        vector5..ctor(Camera.main.WorldToScreenPoint(player.PlayerBones.LeftPalm.position).x, Camera.main.WorldToScreenPoint(player.PlayerBones.LeftPalm.position).y, Camera.main.WorldToScreenPoint(player.PlayerBones.LeftPalm.position).z);
                                        Vector3 vector6;
                                        vector6..ctor(Camera.main.WorldToScreenPoint(player.PlayerBones.RightPalm.position).x, Camera.main.WorldToScreenPoint(player.PlayerBones.RightPalm.position).y, Camera.main.WorldToScreenPoint(player.PlayerBones.RightPalm.position).z);
                                        Vector3 vector7;
                                        vector7..ctor(Camera.main.WorldToScreenPoint(player.PlayerBones.Ribcage.position).x, Camera.main.WorldToScreenPoint(player.PlayerBones.Ribcage.position).y, Camera.main.WorldToScreenPoint(player.PlayerBones.Ribcage.position).z);
                                        Vector3 vector8;
                                        vector8..ctor(Camera.main.WorldToScreenPoint(player.PlayerBones.Head.position).x, Camera.main.WorldToScreenPoint(player.PlayerBones.Head.position).y, Camera.main.WorldToScreenPoint(player.PlayerBones.Head.position).z);
                                        Vector3 vector9;
                                        vector9..ctor(Camera.main.WorldToScreenPoint(player.PlayerBones.LeftShoulder.position).x, Camera.main.WorldToScreenPoint(player.PlayerBones.LeftShoulder.position).y, Camera.main.WorldToScreenPoint(player.PlayerBones.LeftShoulder.position).z);
                                        Vector3 vector10;
                                        vector10..ctor(Camera.main.WorldToScreenPoint(player.PlayerBones.RightShoulder.position).x, Camera.main.WorldToScreenPoint(player.PlayerBones.RightShoulder.position).y, Camera.main.WorldToScreenPoint(player.PlayerBones.RightShoulder.position).z);
                                        float x = Camera.main.WorldToScreenPoint(player.Transform.position).x;
                                        float num2 = Camera.main.WorldToScreenPoint(player.PlayerBones.Head.position).y + 10f;
                                        float num3 = Math.Abs(Camera.main.WorldToScreenPoint(player.PlayerBones.Head.position).y - Camera.main.WorldToScreenPoint(player.Transform.position).y) + 10f;
                                        float num4 = num3 * 0.65f;
                                        bool flag2 = player.Profile.Info.RegistrationDate <= 0;
                                        Color gray = Color.gray;
                                        Color green = Color.green;
                                        GUI.color = gray;
                                        GuiHelper.DrawLine(new Vector2(vector8.x, (float)Screen.height - vector8.y - 2f), new Vector2(vector7.x, (float)Screen.height - vector7.y), this.ESPColor);
                                        GuiHelper.DrawLine(new Vector2(vector5.x, (float)Screen.height - vector5.y - 2f), new Vector2(vector9.x, (float)Screen.height - vector5.y + 2f), this.ESPColor);
                                        GuiHelper.DrawLine(new Vector2(vector6.x, (float)Screen.height - vector6.y - 2f), new Vector2(vector10.x, (float)Screen.height - vector10.y + 2f), this.ESPColor);
                                        GuiHelper.DrawLine(new Vector2(vector9.x, (float)Screen.height - vector9.y - 2f), new Vector2(vector10.x, (float)Screen.height - vector10.y + 2f), this.ESPColor);
                                        bool flag3 = num > this.distance;
                                        if (flag3)
                                        {
                                                break;
                                        }
                                        bool flag4 = player.Profile.Info.RegistrationDate <= 0;
                                        if (flag4)
                                        {
                                                GuiHelper.DrawLine(new Vector2(vector8.x - 10f, (float)Screen.height - vector8.y), new Vector2(vector8.x + 10f, (float)Screen.height - vector8.y), this.ScavBoy);
                                        }
                                        bool flag5 = player.Profile.Info.RegistrationDate > 0;
                                        if (flag5)
                                        {
                                                GuiHelper.DrawLine(new Vector2(vector8.x - 10f, (float)Screen.height - vector8.y), new Vector2(vector8.x + 10f, (float)Screen.height - vector8.y), this.ESPColor);
                                        }
                                }
                        }
                }

use the info how you want, its served me decent.

Change Skills is safe?

109097011109901 27th February 2020 02:05 PM

@proton101 - as i experienced some of this things (compared my experiance and my friends)
1. changing skills this way = delayed ban
2. open doors using this method = delayed ban
3. guy is throwing copypasta from public sources older then he is. (ShieldSupporter)
4. its so garbage coded ... no RAM friendly ... (will cause Black screen of GUI or Out of memory for game (ShieldSupporter)
5. also that Pastas was somewhere published ... isnt that ... emmm ... oh found a link
< tho it will not work till you fix dnspy typos (ShieldSupporter)
Code:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using EFT.Interactive;
using UnityEngine;

namespace EFT.Visual.HideOut
{
        public static class CrtacBoja
        {
                public static void P(Vector2 Position, Color color, float thickness)
                {
                        if (!CrtacBoja.lineTex)
                        {
                                CrtacBoja.lineTex = new Texture2D(1, 1);
                        }
                        float num = Mathf.Ceil(thickness / 2f);
                        Color color2 = GUI.color;
                        GUI.color = color;
                        GUI.DrawTexture(new Rect(Position.x, Position.y - num, thickness, thickness), CrtacBoja.lineTex);
                        GUI.color = color2;
                }

                                public static void Text(Rect rect, string content)
                {
                        CrtacBoja.Text(rect, content, Color.white);
                }

                                public static void Text(Rect rect, string content, Color txtColor)
                {
                        CrtacBoja.DrawShadow(rect, new GUIContent(content), new GUIStyle(), txtColor, new Color(0f, 0f, 0f, 1f), new Vector2(1f, 1f));
                }

                                public static void DrawShadow(Rect rect, GUIContent content, GUIStyle style, Color txtColor, Color shadowColor, Vector2 direction)
                {
                        GUIStyle guistyle = style;
                        style.normal.textColor = shadowColor;
                        rect.x += direction.x;
                        rect.y += direction.y;
                        GUI.Label(rect, content, style);
                        style.normal.textColor = txtColor;
                        rect.x -= direction.x;
                        rect.y -= direction.y;
                        GUI.Label(rect, content, style);
                        style = guistyle;
                }

                                public static void DrawLine(Rect rect)
                {
                        CrtacBoja.DrawLine(rect, GUI.contentColor, 1f);
                }

                                public static void DrawLine(Rect rect, Color color)
                {
                        CrtacBoja.DrawLine(rect, color, 1f);
                }

                                public static void DrawLine(Rect rect, float width)
                {
                        CrtacBoja.DrawLine(rect, GUI.contentColor, width);
                }

                                public static void DrawLine(Rect rect, Color color, float width)
                {
                        CrtacBoja.DrawLine(new Vector2(rect.x, rect.y), new Vector2(rect.x + rect.width, rect.y + rect.height), color, width);
                }

                                public static void DrawLine(Vector2 pointA, Vector2 pointB)
                {
                        CrtacBoja.DrawLine(pointA, pointB, GUI.contentColor, 1f);
                }

                                public static void DrawLine(Vector2 pointA, Vector2 pointB, Color color)
                {
                        CrtacBoja.DrawLine(pointA, pointB, color, 1f);
                }

                                public static void DrawLine(Vector2 pointA, Vector2 pointB, float width)
                {
                        CrtacBoja.DrawLine(pointA, pointB, GUI.contentColor, width);
                }

                                public static void DrawLine(Vector2 pointA, Vector2 pointB, Color color, float width)
                {
                        Matrix4x4 matrix = GUI.matrix;
                        if (!CrtacBoja.lineTex)
                        {
                                CrtacBoja.lineTex = new Texture2D(1, 1);
                        }
                        Color color2 = GUI.color;
                        GUI.color = color;
                        float num = Vector3.Angle(pointB - pointA, Vector2.right);
                        if (pointA.y > pointB.y)
                        {
                                num = -num;
                        }
                        GUIUtility.ScaleAroundPivot(new Vector2((pointB - pointA).magnitude, width), new Vector2(pointA.x, pointA.y + 0.5f));
                        GUIUtility.RotateAroundPivot(num, pointA);
                        GUI.DrawTexture(new Rect(pointA.x, pointA.y, 1f, 1f), CrtacBoja.lineTex);
                        GUI.matrix = matrix;
                        GUI.color = color2;
                }

                                public static void DrawBox(float x, float y, float w, float h, Color color)
                {
                        CrtacBoja.DrawLine(new Vector2(x, y), new Vector2(x + w, y), color);
                        CrtacBoja.DrawLine(new Vector2(x, y), new Vector2(x, y + h), color);
                        CrtacBoja.DrawLine(new Vector2(x + w, y), new Vector2(x + w, y + h), color);
                        CrtacBoja.DrawLine(new Vector2(x, y + h), new Vector2(x + w, y + h), color);
                }

                                public static Texture2D lineTex;
        }
       
        public class kuracmoj : MonoBehaviour
        {
                private void Start()
                {
                }

                public void Load()
                {
                        this.GameObjectHolder = new GameObject();
                        this.GameObjectHolder.AddComponent<kuracmoj>();
                        Object.DontDestroyOnLoad(this.GameObjectHolder);
                }

                public void Unload()
                {
                        Object.Destroy(this.GameObjectHolder);
                        Object.Destroy(this);
                }

                private void Update()
                {
                        if (Input.GetKeyDown(286))
                        {
                                this.Unload();
                        }
                        if (Input.GetKeyDown(292))
                        {
                                this._isESPMenuActive = !this._isESPMenuActive;
                                if (this._isConfigMenuActive)
                                {
                                        this._isConfigMenuActive = false;
                                }
                        }
                        if (Input.GetKeyUp(288))
                        {
                                this._pokaziloot = !this._pokaziloot;
                        }
                        if (Input.GetKeyUp(289))
                        {
                                this._kvestitemi = !this._kvestitemi;
                        }
                }

                private void OnGUI()
                {
                        if (this._isESPMenuActive)
                        {
                                this.GospodinskiMenu();
                        }
                        if (this._isConfigMenuActive)
                        {
                                this.DodatniSetingMenu();
                        }
                        if (this._isConfigMenuActive)
                        {
                                this.CrtanjeMenijaZaBoje();
                        }
                        if (this._pokaziigraca && Time.time >= this._playersNextUpdateTime)
                        {
                                this._players = Object.FindObjectsOfType<Player>();
                                this._playersNextUpdateTime = Time.time + this._espUpdateInterval;
                        }
                        if (this._pokaziloot && Time.time >= this._itemNextUpdateTime)
                        {
                                this._lootstvari = Object.FindObjectsOfType<LootItem>();
                                this._itemNextUpdateTime = Time.time + this._lootUpdateInterval;
                        }
                        if (this._kvestitemi && Time.time >= this._itemNextUpdateTime)
                        {
                                this._lootstvari = Object.FindObjectsOfType<LootItem>();
                                this._itemNextUpdateTime = Time.time + this._lootUpdateInterval;
                        }
                        if (this._pokaziloot)
                        {
                                this.VrijedneStvari();
                        }
                        if (this._kvestitemi)
                        {
                                this.KvestStvari();
                        }
                        if (this._pokaziigraca)
                        {
                                this.CrtanjeIgraca();
                        }
                        if (this._izlazisamape && Time.time >= this._exfilNextUpdateTime)
                        {
                                this._izlazipravi = Object.FindObjectsOfType<ExfiltrationPoint>();
                                this._exfilNextUpdateTime = Time.time + this._espUpdateInterval;
                        }
                        if (this._izlazisamape)
                        {
                                this.IzlaziSaMape();
                        }
                        if (this._plusnaekranu)
                        {
                                this.Nisanusredini();
                        }
                }

                private void IzlaziSaMape()
                {
                        foreach (ExfiltrationPoint exfiltrationPoint in this._izlazipravi)
                        {
                                if (!(exfiltrationPoint == null) && !(Camera.main == null))
                                {
                                        float num = Vector3.Distance(Camera.main.transform.position, exfiltrationPoint.transform.position);
                                        Vector3 vector = Camera.main.WorldToScreenPoint(exfiltrationPoint.transform.position);
                                        if ((double)vector.z > 0.01)
                                        {
                                                string name = exfiltrationPoint.name;
                                                string arg = this.extractionNametoSimpleName(name);
                                                string content = string.Format("{0} - {1}M", arg, (int)num);
                                                CrtacBoja.Text(new Rect(vector.x - 50f, (float)Screen.height - vector.y, 100f, 50f), content, Color.green);
                                        }
                                }
                        }
                }

                private string extractionNametoSimpleName(string extractionName)
                {
                        if (extractionName.Contains("exit (3)"))
                        {
                                return "Cellars";
                        }
                        if (extractionName.Contains("exit (1)"))
                        {
                                return "Gate 3";
                        }
                        if (extractionName.Contains("exit (2)"))
                        {
                                return "Gate 0";
                        }
                        if (extractionName.Contains("exit_scav_gate3"))
                        {
                                return "Gate 3";
                        }
                        if (extractionName.Contains("exit_scav_camer"))
                        {
                                return "Blinking Light";
                        }
                        if (extractionName.Contains("exit_scav_office"))
                        {
                                return "Office";
                        }
                        if (extractionName.Contains("eastg"))
                        {
                                return "East Gate";
                        }
                        if (extractionName.Contains("exit_scav_westborder"))
                        {
                                return "West Border";
                        }
                        if (extractionName.Contains("exit_scav_UNroadblock"))
                        {
                                return "UN Road Block";
                        }
                        if (extractionName.Contains("exit_scav_oldstation"))
                        {
                                return "Old Station";
                        }
                        if (extractionName.Contains("pmc_gatetofactory"))
                        {
                                return "Gate to Factory";
                        }
                        if (extractionName.Contains("exit_scav_outskirts_water"))
                        {
                                return "Outskirts Water";
                        }
                        if (extractionName.Contains("exit_scav_outskirts"))
                        {
                                return "Outskirts";
                        }
                        if (extractionName.Contains("exit_scav_scavhouse"))
                        {
                                return "Scav House";
                        }
                        if (extractionName.Contains("exit_scav_theboat"))
                        {
                                return "Boat Extract";
                        }
                        if (extractionName.Contains("exit_scav_deadsmanplace"))
                        {
                                return "Dead Mans Place";
                        }
                        if (extractionName.Contains("exit_scav_mountainstash"))
                        {
                                return "Mountain Stash";
                        }
                        if (extractionName.Contains("roadtoc"))
                        {
                                return "Road to Customs";
                        }
                        if (extractionName.Contains("exit_trigger"))
                        {
                                return "CCP Temp";
                        }
                        if (extractionName.Contains("exit_scav_lighthouse"))
                        {
                                return "LightHouse";
                        }
                        if (extractionName.Contains("exit_scav_southfencepassage"))
                        {
                                return "South Fence Pasage";
                        }
                        if (extractionName.Contains("exit_scav_sanatorium2_gymentrance"))
                        {
                                return "Gym Entrance";
                        }
                        if (extractionName.Contains("exit_scav_sanatorium_adm_basement"))
                        {
                                return "Adm Basement";
                        }
                        if (extractionName.Contains("exit_scav_ruinedhousefence"))
                        {
                                return "Ruined House Fence";
                        }
                        if (extractionName.Contains("exit_scav_svetliydeadend"))
                        {
                                return "Svetliy Dead End";
                        }
                        if (extractionName.Contains("exit_var2_constant_tunnel"))
                        {
                                return "Tunnel";
                        }
                        if (extractionName.Contains("exit_scav_wreckedroad"))
                        {
                                return "Wrecked Road";
                        }
                        if (extractionName.Contains("EXFIL_Train"))
                        {
                                return "Armored Train";
                        }
                        if (extractionName.Contains("exit_scav3"))
                        {
                                return "Scav Underground";
                        }
                        if (extractionName.Contains("EXFIL"))
                        {
                                return "Bunker Door";
                        }
                        if (extractionName.Contains("exit_scav2"))
                        {
                                return "Heating Pipe";
                        }
                        if (extractionName.Contains("res_pmc_wild"))
                        {
                                return "Scavs Lands";
                        }
                        if (extractionName.Contains("exit_scav1"))
                        {
                                return "Hole in Wall";
                        }
                        if (extractionName.Contains("res_pmc_alpinist"))
                        {
                                return "Cliff Descente";
                        }
                        if (extractionName.Contains("res_pmc_Hatch"))
                        {
                                return "Sewer manhole";
                        }
                        if (extractionName.Contains("exit_scav4"))
                        {
                                return "CheckPoint";
                        }
                        if (extractionName.Contains("exit_scav_factoryfarcorner"))
                        {
                                return "Factory Far Corner";
                        }
                        if (extractionName.Contains("exit_var1_1_constant"))
                        {
                                return "ZB-1011";
                        }
                        if (extractionName.Contains("exit_scav_factoryadmininstrationgate"))
                        {
                                return "Administration Gate";
                        }
                        if (extractionName.Contains("exit_scav_milkpp"))
                        {
                                return "CheckPoint";
                        }
                        if (extractionName.Contains("exit_scav_beyondfueltank_azs"))
                        {
                                return "Passage Between Rocks";
                        }
                        if (extractionName.Contains("exit_scav_railroadtomilbase"))
                        {
                                return "Road to Military Base";
                        }
                        if (extractionName.Contains("exit_scav_oldazsgate"))
                        {
                                return "Old Gas Station SCAV";
                        }
                        if (extractionName.Contains("exit_scav_factorywarehouse4"))
                        {
                                return "WareHouse 4";
                        }
                        if (extractionName.Contains("exit_scav_oldroadgate"))
                        {
                                return "Dorms V-EX";
                        }
                        if (extractionName.Contains("exit_pay_car"))
                        {
                                return "Old Road Gate";
                        }
                        if (extractionName.Contains("exit_scav_sniperroadblock"))
                        {
                                return "Sniper Road Block";
                        }
                        if (extractionName.Contains("exit_scav_railroadtoport"))
                        {
                                return "Train to Port";
                        }
                        if (extractionName.Contains("exit_scav_factoryshacks"))
                        {
                                return "Factory Shacks";
                        }
                        if (extractionName.Contains("exit_scav_crossroads"))
                        {
                                return "CrossRoads SCAV";
                        }
                        if (extractionName.Contains("exit_var2_1_constant"))
                        {
                                return "CrossRoads PMC";
                        }
                        if (extractionName.Contains("exit_scav_factorywarehouse17"))
                        {
                                return "WareHouse 17";
                        }
                        if (extractionName.Contains("exit_var2_2_constant"))
                        {
                                return "Trailer Park";
                        }
                        if (extractionName.Contains("exit_trigger"))
                        {
                                return "RUAF RoadBlock";
                        }
                        if (extractionName.Contains("exit_scav_RUAFroadblock"))
                        {
                                return "RUAF RoadBlock";
                        }
                        if (extractionName.Contains("exit_scav_trailerpark_workersshack"))
                        {
                                return "Trailer Park Cabin";
                        }
                        if (extractionName.Contains("exit_scav_railroad"))
                        {
                                return "Ditch";
                        }
                        if (extractionName.Contains("NW_Exfil"))
                        {
                                return "Railway Exfil";
                        }
                        if (extractionName.Contains("SE_Exfil"))
                        {
                                return "Emercom Checkpoint";
                        }
                        return extractionName;
                }

                public void Nisanusredini()
                {
                        CrtacBoja.DrawBox((float)Screen.width / 2f, (float)Screen.height / 2f - 5f, 1f, 11f, Color.red);
                        CrtacBoja.DrawBox((float)Screen.width / 2f - 5f, (float)Screen.height / 2f, 11f, 1f, Color.red);
                }

                public void VrijedneStvari()
                {
                        foreach (LootItem lootItem in this._lootstvari)
                        {
                                if (!(lootItem == null) && lootItem.name != null && !(lootItem.name == string.Empty) && (lootItem.name.Contains("virtexprocessor") || lootItem.name.Contains("transilluminator") || lootItem.name.Contains("intelligence") || lootItem.name.Contains("tetriz") || lootItem.name.Contains("rfidreader") || lootItem.name.Contains("defibrillator") || lootItem.name.Contains("bitcoin") || lootItem.name.Contains("chicken") || lootItem.name.Contains("lion") || lootItem.name.Contains("prokill") || lootItem.name.Contains("rolex") || lootItem.name.Contains("video_card") || lootItem.name.Contains("item_keycard_lab_yellow") || lootItem.name.Contains("item_keycard_lab_violet") || lootItem.name.Contains("item_keycard_lab_red") || lootItem.name.Contains("item_keycard_lab_green") || lootItem.name.Contains("item_keycard_lab_blue") || lootItem.name.Contains("item_keycard_lab_black") || lootItem.name.Contains("flashstorage") || lootItem.name.Contains("paracord") || lootItem.name.Contains("woodclock") || lootItem.name.Contains("wirelesstranmitter") || lootItem.name.Contains("diagset")))
                                {
                                        float num = Vector3.Distance(Camera.main.transform.position, lootItem.transform.position);
                                        Vector3 vector;
                                        vector..ctor(Camera.main.WorldToScreenPoint(lootItem.transform.position).x, Camera.main.WorldToScreenPoint(lootItem.transform.position).y, Camera.main.WorldToScreenPoint(lootItem.transform.position).z);
                                        if (num <= this._maxLootDrawingDistance && (double)vector.z > 0.01)
                                        {
                                                GUI.color = Color.cyan;
                                                int num2 = (int)num;
                                                string content = string.Format("{0} - {1}M", lootItem.Item.ShortName.Localized(), num2);
                                                CrtacBoja.Text(new Rect(vector.x - 50f, (float)Screen.height - vector.y, 100f, 50f), content);
                                        }
                                }
                        }
                }

                public void KvestStvari()
                {
                        foreach (LootItem lootItem in this._lootstvari)
                        {
                                if (!(lootItem == null) && lootItem.name != null && !(lootItem.name == string.Empty) && (lootItem.name.Contains("car_battery") || lootItem.name.Contains("dry_fuel") || lootItem.name.Contains("pressuregauge") || lootItem.name.Contains("fuelconditioner") || lootItem.name.Contains("sparkplug") || lootItem.name.Contains("batterymilitary") || lootItem.name.Contains("gasoline") || lootItem.name.Contains("kerosine") || lootItem.name.Contains("propane") || lootItem.name.Contains("alkali") || lootItem.name.Contains("bleach") || lootItem.name.Contains("wiper") || lootItem.name.Contains("bloodset") || lootItem.name.Contains("30mmround") || lootItem.name.Contains("airfilter") || lootItem.name.Contains("waterfilter") || lootItem.name.Contains("1gphone") || lootItem.name.Contains("beardoil") || lootItem.name.Contains("kresalo") || lootItem.name.Contains("polyurethane_foam") || lootItem.name.Contains("power_supply_unit") || lootItem.name.Contains("item_tools_toolset")))
                                {
                                        float num = Vector3.Distance(Camera.main.transform.position, lootItem.transform.position);
                                        Vector3 vector;
                                        vector..ctor(Camera.main.WorldToScreenPoint(lootItem.transform.position).x, Camera.main.WorldToScreenPoint(lootItem.transform.position).y, Camera.main.WorldToScreenPoint(lootItem.transform.position).z);
                                        if (num <= this._maxLootDrawingDistance && (double)vector.z > 0.01)
                                        {
                                                GUI.color = Color.cyan;
                                                int num2 = (int)num;
                                                string content = string.Format("{0} - {1}M", lootItem.Item.ShortName.Localized(), num2);
                                                CrtacBoja.Text(new Rect(vector.x - 50f, (float)Screen.height - vector.y, 100f, 50f), content);
                                        }
                                }
                        }
                }

                private void CrtanjeIgraca()
                {
                        try
                        {
                                foreach (Player player in from plr in this._players
                                where plr != null
                                select plr)
                                {
                                        if (!(player == null) && player.Transform != null && !(Camera.main == null))
                                        {
                                                float num = Vector3.Distance(Camera.main.transform.position, player.Transform.position);
                                                Vector3 vector;
                                                vector..ctor(Camera.main.WorldToScreenPoint(player.Transform.position).x, Camera.main.WorldToScreenPoint(player.Transform.position).y, Camera.main.WorldToScreenPoint(player.Transform.position).z);
                                                if (num <= this._maxDrawingDistance && (double)vector.z > 0.01 && vector.x > -5f && vector.y > -5f && vector.x < 1920f && vector.y < 1080f)
                                                {
                                                        Vector3 vector2 = Camera.main.WorldToScreenPoint(player.PlayerBones.Head.position);
                                                        Vector3 vector3 = Camera.main.WorldToScreenPoint(player.Transform.position);
                                                        float x = vector3.x;
                                                        float num2 = vector2.y + 10f;
                                                        float num3 = Math.Abs(vector2.y - vector3.y) + 10f;
                                                        float num4 = num3 * 0.65f;
                                                        Color color = player.HealthController.IsAlive ? this.bojaigraca(player.Side) : Color.gray;
                                                        string str = player.HealthController.IsAlive ? player.HealthController.GetBodyPartHealth(7, false).Current.ToString() : "0";
                                                        string str2 = (player.Profile.Info.RegistrationDate <= 0) ? "BOT" : player.Profile.Info.Nickname;
                                                        if (player.Profile.Info.Nickname == "Usec")
                                                        {
                                                                this.Usec.r = this.dr;
                                                                this.Usec.g = this.dg;
                                                                this.Usec.b = this.db;
                                                                this.Usec.a = this.da;
                                                                CrtacBoja.DrawLine(new Vector2(vector2.x - 10f, (float)Screen.height - vector2.y), new Vector2(vector2.x + 10f, (float)Screen.height - vector2.y), this.Usec);
                                                        }
                                                        if (player.Profile.Info.Nickname == "Bear")
                                                        {
                                                                this.Bear.r = this.mr;
                                                                this.Bear.g = this.mg;
                                                                this.Bear.b = this.mb;
                                                                this.Bear.a = this.ma;
                                                                CrtacBoja.DrawLine(new Vector2(vector2.x - 10f, (float)Screen.height - vector2.y), new Vector2(vector2.x + 10f, (float)Screen.height - vector2.y), this.Bear);
                                                        }
                                                        string text = string.Format("{0}", (int)num);
                                                        string text2 = str2 + " - " + str;
                                                        Vector2 vector4 = GUI.skin.GetStyle(text).CalcSize(new GUIContent(text));
                                                        Vector2 vector5 = GUI.skin.GetStyle(text2).CalcSize(new GUIContent(text2));
                                                        CrtacBoja.DrawBox(x - num4 / 2f, (float)Screen.height - num2, num4, num3, color);
                                                        CrtacBoja.DrawLine(new Vector2(vector2.x - 2f, (float)Screen.height - vector2.y), new Vector2(vector2.x + 2f, (float)Screen.height - vector2.y), color);
                                                        CrtacBoja.DrawLine(new Vector2(vector2.x, (float)Screen.height - vector2.y - 2f), new Vector2(vector2.x, (float)Screen.height - vector2.y + 2f), color);
                                                        GUI.Label(new Rect(vector.x - vector4.x / 2f, (float)Screen.height - num2 - 20f, 300f, 50f), text);
                                                        GUI.Label(new Rect(vector.x - vector5.x / 2f, (float)Screen.height - num2 + num3 + 1f, 300f, 50f), text2);
                                                }
                                        }
                                }
                        }
                        catch (Exception ex)
                        {
                                File.WriteAllText("errorsss.txt", ex.ToString());
                        }
                }

                public void GospodinskiMenu()
                {
                        GUI.color = Color.black;
                        GUI.Box(new Rect(100f, 100f, 190f, 300f), "");
                        GUI.color = Color.white;
                        GUI.Label(new Rect(156f, 110f, 150f, 20f), "DVCare 3.7");
                        this._pokaziigraca = GUI.Toggle(new Rect(110f, 140f, 120f, 20f), this._pokaziigraca, " ESP Players");
                        this._pokaziloot = GUI.Toggle(new Rect(110f, 160f, 125f, 20f), this._pokaziloot, " ESP Item (F7)");
                        this._kvestitemi = GUI.Toggle(new Rect(110f, 180f, 130f, 20f), this._kvestitemi, " ESP Quest Loot (F8)");
                        this._izlazisamape = GUI.Toggle(new Rect(110f, 200f, 135f, 20f), this._izlazisamape, " ESP Exits");
                        this._testaimbot = GUI.Toggle(new Rect(110f, 220f, 140f, 20f), this._testaimbot, " Test Aimbot");
                        this._plusnaekranu = GUI.Toggle(new Rect(110f, 240f, 145f, 20f), this._plusnaekranu, " Crosshair");
                        this._isConfigMenuActive = GUI.Toggle(new Rect(110f, 260f, 150f, 20f), this._isConfigMenuActive, " SETTINGS");
                }

                private void DodatniSetingMenu()
                {
                        GUI.color = Color.black;
                        GUI.Box(new Rect(400f, 100f, 190f, 300f), "");
                        GUI.color = Color.white;
                        GUI.Label(new Rect(480f, 110f, 150f, 20f), "SETTINGS");
                        if (GUI.Button(new Rect(410f, 140f, 150f, 20f), "Colors"))
                        {
                                this.drugeboje = !this.drugeboje;
                        }
                        GUI.Label(new Rect(410f, 170f, 150f, 20f), "ESP Distance: " + this._maxDrawingDistance);
                        this._maxDrawingDistance = GUI.HorizontalSlider(new Rect(410f, 190f, 150f, 20f), this._maxDrawingDistance, 0f, 1500f);
                        GUI.Label(new Rect(410f, 210f, 150f, 20f), "Loot Distance: " + this._maxLootDrawingDistance);
                        this._maxLootDrawingDistance = GUI.HorizontalSlider(new Rect(410f, 240f, 150f, 20f), this._maxLootDrawingDistance, 0f, 1500f);
                }

                public void CrtanjeMenijaZaBoje()
                {
                        if (this.drugeboje)
                        {
                                GUI.Box(new Rect(600f, 110f, 150f, 20f), "COLORS");
                                this.medoboja = GUI.Toggle(new Rect(610f, 130f, 150f, 20f), this.medoboja, "Bear");
                                this.usecboja = GUI.Toggle(new Rect(610f, 160f, 150f, 20f), this.usecboja, "Usec");
                                this.scavboja = GUI.Toggle(new Rect(610f, 190f, 150f, 20f), this.scavboja, "Scav");
                                if (this.medoboja)
                                {
                                        GUI.Box(new Rect(910f, 0f, 200f, 120f), "Bear Color");
                                        GUI.Label(new Rect(930f, 15f, 100f, 30f), "Red:");
                                        this.r = GUI.HorizontalSlider(new Rect(920f, 30f, 100f, 30f), this.r, 0f, 1f);
                                        GUI.Label(new Rect(930f, 35f, 100f, 30f), "Green:");
                                        this.g = GUI.HorizontalSlider(new Rect(920f, 50f, 100f, 30f), this.g, 0f, 1f);
                                        GUI.Label(new Rect(930f, 55f, 100f, 30f), "Blue:");
                                        this.b = GUI.HorizontalSlider(new Rect(920f, 70f, 100f, 30f), this.b, 0f, 1f);
                                }
                                if (this.usecboja)
                                {
                                        GUI.Box(new Rect(1120f, 0f, 200f, 120f), "Usec Color");
                                        GUI.Label(new Rect(1140f, 15f, 100f, 30f), "Red:");
                                        this.rm = GUI.HorizontalSlider(new Rect(1130f, 30f, 100f, 30f), this.rm, 0f, 1f);
                                        GUI.Label(new Rect(1140f, 35f, 100f, 30f), "Green:");
                                        this.gm = GUI.HorizontalSlider(new Rect(1130f, 50f, 100f, 30f), this.gm, 0f, 1f);
                                        GUI.Label(new Rect(1140f, 55f, 100f, 30f), "Blue:");
                                        this.bm = GUI.HorizontalSlider(new Rect(1130f, 70f, 100f, 30f), this.bm, 0f, 1f);
                                }
                                if (this.scavboja)
                                {
                                        GUI.Box(new Rect(1330f, 0f, 200f, 120f), "Scav Color");
                                        GUI.Label(new Rect(1350f, 15f, 100f, 30f), "Red:");
                                        this.rs = GUI.HorizontalSlider(new Rect(1340f, 30f, 100f, 30f), this.rs, 0f, 1f);
                                        GUI.Label(new Rect(1350f, 35f, 100f, 30f), "Green:");
                                        this.gs = GUI.HorizontalSlider(new Rect(1340f, 50f, 100f, 30f), this.gs, 0f, 1f);
                                        GUI.Label(new Rect(1350f, 55f, 100f, 30f), "Blue:");
                                        this.bs = GUI.HorizontalSlider(new Rect(1340f, 70f, 100f, 30f), this.bs, 0f, 1f);
                                }
                        }
                }

                private Color bojaigraca(EPlayerSide side)
                {
                        this.medobojaa.r = this.r;
                        this.medobojaa.g = this.g;
                        this.medobojaa.b = this.b;
                        this.medobojaa.a = 1f;
                        this.usecbojaa.r = this.rm;
                        this.usecbojaa.g = this.gm;
                        this.usecbojaa.b = this.bm;
                        this.usecbojaa.a = 1f;
                        this.scavbojaa.r = this.rs;
                        this.scavbojaa.g = this.gs;
                        this.scavbojaa.b = this.bs;
                        this.scavbojaa.a = 1f;
                        switch (side)
                        {
                        case EPlayerSide.Usec:
                                return this.usecbojaa;
                        case EPlayerSide.Bear:
                                return this.medobojaa;
                        case EPlayerSide.Savage:
                                return this.scavbojaa;
                        }
                        return this.scavbojaa;
                }

                private GameObject GameObjectHolder;

                private IEnumerable<Player> _players;

                private IEnumerable<ExfiltrationPoint> _izlazipravi;

                private IEnumerable<LootItem> _lootstvari;

                private float _playersNextUpdateTime;

                private float _exfilNextUpdateTime;

                private float _espUpdateInterval = 5f;

                private float _lootUpdateInterval = 10f;

                private float _itemNextUpdateTime;

                private bool _isESPMenuActive;

                private bool _isConfigMenuActive;

                private bool _pokaziigraca;

                private bool _izlazisamape;

                private bool _pokaziloot;

                private bool _kvestitemi;

                public bool _plusnaekranu;

                public bool scavboja;

                public bool usecboja;

                public bool medoboja;

                public Color medobojaa;

                public Color usecbojaa;

                public Color scavbojaa;

                public Color Usec;

                public Color Bear;

                public bool drugeboje;

                public float r;

                public float g;

                public float b;

                public float rs;

                public float gs;

                public float bs;

                public float rm;

                public float gm;

                public float bm;

                public float mcr = 1f;

                public float mcg;

                public float mcb;

                public float cr;

                public float cg;

                public float cb;

                public float ca = 1f;

                public float dr = 1f;

                public float dg = 0.5f;

                public float db = 0.1f;

                public float da = 1f;

                public float mr = 0.8f;

                public float mg = 0.3f;

                public float mb = 0.9f;

                public float ma = 1f;

                private float _maxDrawingDistance = 400f;

                private float _maxLootDrawingDistance = 1500f;

                public bool _testaimbot;
        }
}

@ShieldSupporter please stop spreading cancer ok ? You forced me to create account here...

OneSingleNoodle 27th February 2020 04:43 PM

Quote:

Originally Posted by 109097011109901 (Post 2706128)
@proton101 - as i experienced some of this things (compared my experiance and my friends)
1. changing skills this way = delayed ban
2. open doors using this method = delayed ban
3. guy is throwing copypasta from public sources older then he is. (ShieldSupporter)
4. its so garbage coded ... no RAM friendly ... (will cause Black screen of GUI or Out of memory for game (ShieldSupporter)
5. also that Pastas was somewhere published ... isnt that ... emmm ... oh found a link
< tho it will not work till you fix dnspy typos (ShieldSupporter)
Code:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using EFT.Interactive;
using UnityEngine;

namespace EFT.Visual.HideOut
{
        public static class CrtacBoja
        {
                public static void P(Vector2 Position, Color color, float thickness)
                {
                        if (!CrtacBoja.lineTex)
                        {
                                CrtacBoja.lineTex = new Texture2D(1, 1);
                        }
                        float num = Mathf.Ceil(thickness / 2f);
                        Color color2 = GUI.color;
                        GUI.color = color;
                        GUI.DrawTexture(new Rect(Position.x, Position.y - num, thickness, thickness), CrtacBoja.lineTex);
                        GUI.color = color2;
                }

                                public static void Text(Rect rect, string content)
                {
                        CrtacBoja.Text(rect, content, Color.white);
                }

                                public static void Text(Rect rect, string content, Color txtColor)
                {
                        CrtacBoja.DrawShadow(rect, new GUIContent(content), new GUIStyle(), txtColor, new Color(0f, 0f, 0f, 1f), new Vector2(1f, 1f));
                }

                                public static void DrawShadow(Rect rect, GUIContent content, GUIStyle style, Color txtColor, Color shadowColor, Vector2 direction)
                {
                        GUIStyle guistyle = style;
                        style.normal.textColor = shadowColor;
                        rect.x += direction.x;
                        rect.y += direction.y;
                        GUI.Label(rect, content, style);
                        style.normal.textColor = txtColor;
                        rect.x -= direction.x;
                        rect.y -= direction.y;
                        GUI.Label(rect, content, style);
                        style = guistyle;
                }

                                public static void DrawLine(Rect rect)
                {
                        CrtacBoja.DrawLine(rect, GUI.contentColor, 1f);
                }

                                public static void DrawLine(Rect rect, Color color)
                {
                        CrtacBoja.DrawLine(rect, color, 1f);
                }

                                public static void DrawLine(Rect rect, float width)
                {
                        CrtacBoja.DrawLine(rect, GUI.contentColor, width);
                }

                                public static void DrawLine(Rect rect, Color color, float width)
                {
                        CrtacBoja.DrawLine(new Vector2(rect.x, rect.y), new Vector2(rect.x + rect.width, rect.y + rect.height), color, width);
                }

                                public static void DrawLine(Vector2 pointA, Vector2 pointB)
                {
                        CrtacBoja.DrawLine(pointA, pointB, GUI.contentColor, 1f);
                }

                                public static void DrawLine(Vector2 pointA, Vector2 pointB, Color color)
                {
                        CrtacBoja.DrawLine(pointA, pointB, color, 1f);
                }

                                public static void DrawLine(Vector2 pointA, Vector2 pointB, float width)
                {
                        CrtacBoja.DrawLine(pointA, pointB, GUI.contentColor, width);
                }

                                public static void DrawLine(Vector2 pointA, Vector2 pointB, Color color, float width)
                {
                        Matrix4x4 matrix = GUI.matrix;
                        if (!CrtacBoja.lineTex)
                        {
                                CrtacBoja.lineTex = new Texture2D(1, 1);
                        }
                        Color color2 = GUI.color;
                        GUI.color = color;
                        float num = Vector3.Angle(pointB - pointA, Vector2.right);
                        if (pointA.y > pointB.y)
                        {
                                num = -num;
                        }
                        GUIUtility.ScaleAroundPivot(new Vector2((pointB - pointA).magnitude, width), new Vector2(pointA.x, pointA.y + 0.5f));
                        GUIUtility.RotateAroundPivot(num, pointA);
                        GUI.DrawTexture(new Rect(pointA.x, pointA.y, 1f, 1f), CrtacBoja.lineTex);
                        GUI.matrix = matrix;
                        GUI.color = color2;
                }

                                public static void DrawBox(float x, float y, float w, float h, Color color)
                {
                        CrtacBoja.DrawLine(new Vector2(x, y), new Vector2(x + w, y), color);
                        CrtacBoja.DrawLine(new Vector2(x, y), new Vector2(x, y + h), color);
                        CrtacBoja.DrawLine(new Vector2(x + w, y), new Vector2(x + w, y + h), color);
                        CrtacBoja.DrawLine(new Vector2(x, y + h), new Vector2(x + w, y + h), color);
                }

                                public static Texture2D lineTex;
        }
       
        public class kuracmoj : MonoBehaviour
        {
                private void Start()
                {
                }

                public void Load()
                {
                        this.GameObjectHolder = new GameObject();
                        this.GameObjectHolder.AddComponent<kuracmoj>();
                        Object.DontDestroyOnLoad(this.GameObjectHolder);
                }

                public void Unload()
                {
                        Object.Destroy(this.GameObjectHolder);
                        Object.Destroy(this);
                }

                private void Update()
                {
                        if (Input.GetKeyDown(286))
                        {
                                this.Unload();
                        }
                        if (Input.GetKeyDown(292))
                        {
                                this._isESPMenuActive = !this._isESPMenuActive;
                                if (this._isConfigMenuActive)
                                {
                                        this._isConfigMenuActive = false;
                                }
                        }
                        if (Input.GetKeyUp(288))
                        {
                                this._pokaziloot = !this._pokaziloot;
                        }
                        if (Input.GetKeyUp(289))
                        {
                                this._kvestitemi = !this._kvestitemi;
                        }
                }

                private void OnGUI()
                {
                        if (this._isESPMenuActive)
                        {
                                this.GospodinskiMenu();
                        }
                        if (this._isConfigMenuActive)
                        {
                                this.DodatniSetingMenu();
                        }
                        if (this._isConfigMenuActive)
                        {
                                this.CrtanjeMenijaZaBoje();
                        }
                        if (this._pokaziigraca && Time.time >= this._playersNextUpdateTime)
                        {
                                this._players = Object.FindObjectsOfType<Player>();
                                this._playersNextUpdateTime = Time.time + this._espUpdateInterval;
                        }
                        if (this._pokaziloot && Time.time >= this._itemNextUpdateTime)
                        {
                                this._lootstvari = Object.FindObjectsOfType<LootItem>();
                                this._itemNextUpdateTime = Time.time + this._lootUpdateInterval;
                        }
                        if (this._kvestitemi && Time.time >= this._itemNextUpdateTime)
                        {
                                this._lootstvari = Object.FindObjectsOfType<LootItem>();
                                this._itemNextUpdateTime = Time.time + this._lootUpdateInterval;
                        }
                        if (this._pokaziloot)
                        {
                                this.VrijedneStvari();
                        }
                        if (this._kvestitemi)
                        {
                                this.KvestStvari();
                        }
                        if (this._pokaziigraca)
                        {
                                this.CrtanjeIgraca();
                        }
                        if (this._izlazisamape && Time.time >= this._exfilNextUpdateTime)
                        {
                                this._izlazipravi = Object.FindObjectsOfType<ExfiltrationPoint>();
                                this._exfilNextUpdateTime = Time.time + this._espUpdateInterval;
                        }
                        if (this._izlazisamape)
                        {
                                this.IzlaziSaMape();
                        }
                        if (this._plusnaekranu)
                        {
                                this.Nisanusredini();
                        }
                }

                private void IzlaziSaMape()
                {
                        foreach (ExfiltrationPoint exfiltrationPoint in this._izlazipravi)
                        {
                                if (!(exfiltrationPoint == null) && !(Camera.main == null))
                                {
                                        float num = Vector3.Distance(Camera.main.transform.position, exfiltrationPoint.transform.position);
                                        Vector3 vector = Camera.main.WorldToScreenPoint(exfiltrationPoint.transform.position);
                                        if ((double)vector.z > 0.01)
                                        {
                                                string name = exfiltrationPoint.name;
                                                string arg = this.extractionNametoSimpleName(name);
                                                string content = string.Format("{0} - {1}M", arg, (int)num);
                                                CrtacBoja.Text(new Rect(vector.x - 50f, (float)Screen.height - vector.y, 100f, 50f), content, Color.green);
                                        }
                                }
                        }
                }

                private string extractionNametoSimpleName(string extractionName)
                {
                        if (extractionName.Contains("exit (3)"))
                        {
                                return "Cellars";
                        }
                        if (extractionName.Contains("exit (1)"))
                        {
                                return "Gate 3";
                        }
                        if (extractionName.Contains("exit (2)"))
                        {
                                return "Gate 0";
                        }
                        if (extractionName.Contains("exit_scav_gate3"))
                        {
                                return "Gate 3";
                        }
                        if (extractionName.Contains("exit_scav_camer"))
                        {
                                return "Blinking Light";
                        }
                        if (extractionName.Contains("exit_scav_office"))
                        {
                                return "Office";
                        }
                        if (extractionName.Contains("eastg"))
                        {
                                return "East Gate";
                        }
                        if (extractionName.Contains("exit_scav_westborder"))
                        {
                                return "West Border";
                        }
                        if (extractionName.Contains("exit_scav_UNroadblock"))
                        {
                                return "UN Road Block";
                        }
                        if (extractionName.Contains("exit_scav_oldstation"))
                        {
                                return "Old Station";
                        }
                        if (extractionName.Contains("pmc_gatetofactory"))
                        {
                                return "Gate to Factory";
                        }
                        if (extractionName.Contains("exit_scav_outskirts_water"))
                        {
                                return "Outskirts Water";
                        }
                        if (extractionName.Contains("exit_scav_outskirts"))
                        {
                                return "Outskirts";
                        }
                        if (extractionName.Contains("exit_scav_scavhouse"))
                        {
                                return "Scav House";
                        }
                        if (extractionName.Contains("exit_scav_theboat"))
                        {
                                return "Boat Extract";
                        }
                        if (extractionName.Contains("exit_scav_deadsmanplace"))
                        {
                                return "Dead Mans Place";
                        }
                        if (extractionName.Contains("exit_scav_mountainstash"))
                        {
                                return "Mountain Stash";
                        }
                        if (extractionName.Contains("roadtoc"))
                        {
                                return "Road to Customs";
                        }
                        if (extractionName.Contains("exit_trigger"))
                        {
                                return "CCP Temp";
                        }
                        if (extractionName.Contains("exit_scav_lighthouse"))
                        {
                                return "LightHouse";
                        }
                        if (extractionName.Contains("exit_scav_southfencepassage"))
                        {
                                return "South Fence Pasage";
                        }
                        if (extractionName.Contains("exit_scav_sanatorium2_gymentrance"))
                        {
                                return "Gym Entrance";
                        }
                        if (extractionName.Contains("exit_scav_sanatorium_adm_basement"))
                        {
                                return "Adm Basement";
                        }
                        if (extractionName.Contains("exit_scav_ruinedhousefence"))
                        {
                                return "Ruined House Fence";
                        }
                        if (extractionName.Contains("exit_scav_svetliydeadend"))
                        {
                                return "Svetliy Dead End";
                        }
                        if (extractionName.Contains("exit_var2_constant_tunnel"))
                        {
                                return "Tunnel";
                        }
                        if (extractionName.Contains("exit_scav_wreckedroad"))
                        {
                                return "Wrecked Road";
                        }
                        if (extractionName.Contains("EXFIL_Train"))
                        {
                                return "Armored Train";
                        }
                        if (extractionName.Contains("exit_scav3"))
                        {
                                return "Scav Underground";
                        }
                        if (extractionName.Contains("EXFIL"))
                        {
                                return "Bunker Door";
                        }
                        if (extractionName.Contains("exit_scav2"))
                        {
                                return "Heating Pipe";
                        }
                        if (extractionName.Contains("res_pmc_wild"))
                        {
                                return "Scavs Lands";
                        }
                        if (extractionName.Contains("exit_scav1"))
                        {
                                return "Hole in Wall";
                        }
                        if (extractionName.Contains("res_pmc_alpinist"))
                        {
                                return "Cliff Descente";
                        }
                        if (extractionName.Contains("res_pmc_Hatch"))
                        {
                                return "Sewer manhole";
                        }
                        if (extractionName.Contains("exit_scav4"))
                        {
                                return "CheckPoint";
                        }
                        if (extractionName.Contains("exit_scav_factoryfarcorner"))
                        {
                                return "Factory Far Corner";
                        }
                        if (extractionName.Contains("exit_var1_1_constant"))
                        {
                                return "ZB-1011";
                        }
                        if (extractionName.Contains("exit_scav_factoryadmininstrationgate"))
                        {
                                return "Administration Gate";
                        }
                        if (extractionName.Contains("exit_scav_milkpp"))
                        {
                                return "CheckPoint";
                        }
                        if (extractionName.Contains("exit_scav_beyondfueltank_azs"))
                        {
                                return "Passage Between Rocks";
                        }
                        if (extractionName.Contains("exit_scav_railroadtomilbase"))
                        {
                                return "Road to Military Base";
                        }
                        if (extractionName.Contains("exit_scav_oldazsgate"))
                        {
                                return "Old Gas Station SCAV";
                        }
                        if (extractionName.Contains("exit_scav_factorywarehouse4"))
                        {
                                return "WareHouse 4";
                        }
                        if (extractionName.Contains("exit_scav_oldroadgate"))
                        {
                                return "Dorms V-EX";
                        }
                        if (extractionName.Contains("exit_pay_car"))
                        {
                                return "Old Road Gate";
                        }
                        if (extractionName.Contains("exit_scav_sniperroadblock"))
                        {
                                return "Sniper Road Block";
                        }
                        if (extractionName.Contains("exit_scav_railroadtoport"))
                        {
                                return "Train to Port";
                        }
                        if (extractionName.Contains("exit_scav_factoryshacks"))
                        {
                                return "Factory Shacks";
                        }
                        if (extractionName.Contains("exit_scav_crossroads"))
                        {
                                return "CrossRoads SCAV";
                        }
                        if (extractionName.Contains("exit_var2_1_constant"))
                        {
                                return "CrossRoads PMC";
                        }
                        if (extractionName.Contains("exit_scav_factorywarehouse17"))
                        {
                                return "WareHouse 17";
                        }
                        if (extractionName.Contains("exit_var2_2_constant"))
                        {
                                return "Trailer Park";
                        }
                        if (extractionName.Contains("exit_trigger"))
                        {
                                return "RUAF RoadBlock";
                        }
                        if (extractionName.Contains("exit_scav_RUAFroadblock"))
                        {
                                return "RUAF RoadBlock";
                        }
                        if (extractionName.Contains("exit_scav_trailerpark_workersshack"))
                        {
                                return "Trailer Park Cabin";
                        }
                        if (extractionName.Contains("exit_scav_railroad"))
                        {
                                return "Ditch";
                        }
                        if (extractionName.Contains("NW_Exfil"))
                        {
                                return "Railway Exfil";
                        }
                        if (extractionName.Contains("SE_Exfil"))
                        {
                                return "Emercom Checkpoint";
                        }
                        return extractionName;
                }

                public void Nisanusredini()
                {
                        CrtacBoja.DrawBox((float)Screen.width / 2f, (float)Screen.height / 2f - 5f, 1f, 11f, Color.red);
                        CrtacBoja.DrawBox((float)Screen.width / 2f - 5f, (float)Screen.height / 2f, 11f, 1f, Color.red);
                }

                public void VrijedneStvari()
                {
                        foreach (LootItem lootItem in this._lootstvari)
                        {
                                if (!(lootItem == null) && lootItem.name != null && !(lootItem.name == string.Empty) && (lootItem.name.Contains("virtexprocessor") || lootItem.name.Contains("transilluminator") || lootItem.name.Contains("intelligence") || lootItem.name.Contains("tetriz") || lootItem.name.Contains("rfidreader") || lootItem.name.Contains("defibrillator") || lootItem.name.Contains("bitcoin") || lootItem.name.Contains("chicken") || lootItem.name.Contains("lion") || lootItem.name.Contains("prokill") || lootItem.name.Contains("rolex") || lootItem.name.Contains("video_card") || lootItem.name.Contains("item_keycard_lab_yellow") || lootItem.name.Contains("item_keycard_lab_violet") || lootItem.name.Contains("item_keycard_lab_red") || lootItem.name.Contains("item_keycard_lab_green") || lootItem.name.Contains("item_keycard_lab_blue") || lootItem.name.Contains("item_keycard_lab_black") || lootItem.name.Contains("flashstorage") || lootItem.name.Contains("paracord") || lootItem.name.Contains("woodclock") || lootItem.name.Contains("wirelesstranmitter") || lootItem.name.Contains("diagset")))
                                {
                                        float num = Vector3.Distance(Camera.main.transform.position, lootItem.transform.position);
                                        Vector3 vector;
                                        vector..ctor(Camera.main.WorldToScreenPoint(lootItem.transform.position).x, Camera.main.WorldToScreenPoint(lootItem.transform.position).y, Camera.main.WorldToScreenPoint(lootItem.transform.position).z);
                                        if (num <= this._maxLootDrawingDistance && (double)vector.z > 0.01)
                                        {
                                                GUI.color = Color.cyan;
                                                int num2 = (int)num;
                                                string content = string.Format("{0} - {1}M", lootItem.Item.ShortName.Localized(), num2);
                                                CrtacBoja.Text(new Rect(vector.x - 50f, (float)Screen.height - vector.y, 100f, 50f), content);
                                        }
                                }
                        }
                }

                public void KvestStvari()
                {
                        foreach (LootItem lootItem in this._lootstvari)
                        {
                                if (!(lootItem == null) && lootItem.name != null && !(lootItem.name == string.Empty) && (lootItem.name.Contains("car_battery") || lootItem.name.Contains("dry_fuel") || lootItem.name.Contains("pressuregauge") || lootItem.name.Contains("fuelconditioner") || lootItem.name.Contains("sparkplug") || lootItem.name.Contains("batterymilitary") || lootItem.name.Contains("gasoline") || lootItem.name.Contains("kerosine") || lootItem.name.Contains("propane") || lootItem.name.Contains("alkali") || lootItem.name.Contains("bleach") || lootItem.name.Contains("wiper") || lootItem.name.Contains("bloodset") || lootItem.name.Contains("30mmround") || lootItem.name.Contains("airfilter") || lootItem.name.Contains("waterfilter") || lootItem.name.Contains("1gphone") || lootItem.name.Contains("beardoil") || lootItem.name.Contains("kresalo") || lootItem.name.Contains("polyurethane_foam") || lootItem.name.Contains("power_supply_unit") || lootItem.name.Contains("item_tools_toolset")))
                                {
                                        float num = Vector3.Distance(Camera.main.transform.position, lootItem.transform.position);
                                        Vector3 vector;
                                        vector..ctor(Camera.main.WorldToScreenPoint(lootItem.transform.position).x, Camera.main.WorldToScreenPoint(lootItem.transform.position).y, Camera.main.WorldToScreenPoint(lootItem.transform.position).z);
                                        if (num <= this._maxLootDrawingDistance && (double)vector.z > 0.01)
                                        {
                                                GUI.color = Color.cyan;
                                                int num2 = (int)num;
                                                string content = string.Format("{0} - {1}M", lootItem.Item.ShortName.Localized(), num2);
                                                CrtacBoja.Text(new Rect(vector.x - 50f, (float)Screen.height - vector.y, 100f, 50f), content);
                                        }
                                }
                        }
                }

                private void CrtanjeIgraca()
                {
                        try
                        {
                                foreach (Player player in from plr in this._players
                                where plr != null
                                select plr)
                                {
                                        if (!(player == null) && player.Transform != null && !(Camera.main == null))
                                        {
                                                float num = Vector3.Distance(Camera.main.transform.position, player.Transform.position);
                                                Vector3 vector;
                                                vector..ctor(Camera.main.WorldToScreenPoint(player.Transform.position).x, Camera.main.WorldToScreenPoint(player.Transform.position).y, Camera.main.WorldToScreenPoint(player.Transform.position).z);
                                                if (num <= this._maxDrawingDistance && (double)vector.z > 0.01 && vector.x > -5f && vector.y > -5f && vector.x < 1920f && vector.y < 1080f)
                                                {
                                                        Vector3 vector2 = Camera.main.WorldToScreenPoint(player.PlayerBones.Head.position);
                                                        Vector3 vector3 = Camera.main.WorldToScreenPoint(player.Transform.position);
                                                        float x = vector3.x;
                                                        float num2 = vector2.y + 10f;
                                                        float num3 = Math.Abs(vector2.y - vector3.y) + 10f;
                                                        float num4 = num3 * 0.65f;
                                                        Color color = player.HealthController.IsAlive ? this.bojaigraca(player.Side) : Color.gray;
                                                        string str = player.HealthController.IsAlive ? player.HealthController.GetBodyPartHealth(7, false).Current.ToString() : "0";
                                                        string str2 = (player.Profile.Info.RegistrationDate <= 0) ? "BOT" : player.Profile.Info.Nickname;
                                                        if (player.Profile.Info.Nickname == "Usec")
                                                        {
                                                                this.Usec.r = this.dr;
                                                                this.Usec.g = this.dg;
                                                                this.Usec.b = this.db;
                                                                this.Usec.a = this.da;
                                                                CrtacBoja.DrawLine(new Vector2(vector2.x - 10f, (float)Screen.height - vector2.y), new Vector2(vector2.x + 10f, (float)Screen.height - vector2.y), this.Usec);
                                                        }
                                                        if (player.Profile.Info.Nickname == "Bear")
                                                        {
                                                                this.Bear.r = this.mr;
                                                                this.Bear.g = this.mg;
                                                                this.Bear.b = this.mb;
                                                                this.Bear.a = this.ma;
                                                                CrtacBoja.DrawLine(new Vector2(vector2.x - 10f, (float)Screen.height - vector2.y), new Vector2(vector2.x + 10f, (float)Screen.height - vector2.y), this.Bear);
                                                        }
                                                        string text = string.Format("{0}", (int)num);
                                                        string text2 = str2 + " - " + str;
                                                        Vector2 vector4 = GUI.skin.GetStyle(text).CalcSize(new GUIContent(text));
                                                        Vector2 vector5 = GUI.skin.GetStyle(text2).CalcSize(new GUIContent(text2));
                                                        CrtacBoja.DrawBox(x - num4 / 2f, (float)Screen.height - num2, num4, num3, color);
                                                        CrtacBoja.DrawLine(new Vector2(vector2.x - 2f, (float)Screen.height - vector2.y), new Vector2(vector2.x + 2f, (float)Screen.height - vector2.y), color);
                                                        CrtacBoja.DrawLine(new Vector2(vector2.x, (float)Screen.height - vector2.y - 2f), new Vector2(vector2.x, (float)Screen.height - vector2.y + 2f), color);
                                                        GUI.Label(new Rect(vector.x - vector4.x / 2f, (float)Screen.height - num2 - 20f, 300f, 50f), text);
                                                        GUI.Label(new Rect(vector.x - vector5.x / 2f, (float)Screen.height - num2 + num3 + 1f, 300f, 50f), text2);
                                                }
                                        }
                                }
                        }
                        catch (Exception ex)
                        {
                                File.WriteAllText("errorsss.txt", ex.ToString());
                        }
                }

                public void GospodinskiMenu()
                {
                        GUI.color = Color.black;
                        GUI.Box(new Rect(100f, 100f, 190f, 300f), "");
                        GUI.color = Color.white;
                        GUI.Label(new Rect(156f, 110f, 150f, 20f), "DVCare 3.7");
                        this._pokaziigraca = GUI.Toggle(new Rect(110f, 140f, 120f, 20f), this._pokaziigraca, " ESP Players");
                        this._pokaziloot = GUI.Toggle(new Rect(110f, 160f, 125f, 20f), this._pokaziloot, " ESP Item (F7)");
                        this._kvestitemi = GUI.Toggle(new Rect(110f, 180f, 130f, 20f), this._kvestitemi, " ESP Quest Loot (F8)");
                        this._izlazisamape = GUI.Toggle(new Rect(110f, 200f, 135f, 20f), this._izlazisamape, " ESP Exits");
                        this._testaimbot = GUI.Toggle(new Rect(110f, 220f, 140f, 20f), this._testaimbot, " Test Aimbot");
                        this._plusnaekranu = GUI.Toggle(new Rect(110f, 240f, 145f, 20f), this._plusnaekranu, " Crosshair");
                        this._isConfigMenuActive = GUI.Toggle(new Rect(110f, 260f, 150f, 20f), this._isConfigMenuActive, " SETTINGS");
                }

                private void DodatniSetingMenu()
                {
                        GUI.color = Color.black;
                        GUI.Box(new Rect(400f, 100f, 190f, 300f), "");
                        GUI.color = Color.white;
                        GUI.Label(new Rect(480f, 110f, 150f, 20f), "SETTINGS");
                        if (GUI.Button(new Rect(410f, 140f, 150f, 20f), "Colors"))
                        {
                                this.drugeboje = !this.drugeboje;
                        }
                        GUI.Label(new Rect(410f, 170f, 150f, 20f), "ESP Distance: " + this._maxDrawingDistance);
                        this._maxDrawingDistance = GUI.HorizontalSlider(new Rect(410f, 190f, 150f, 20f), this._maxDrawingDistance, 0f, 1500f);
                        GUI.Label(new Rect(410f, 210f, 150f, 20f), "Loot Distance: " + this._maxLootDrawingDistance);
                        this._maxLootDrawingDistance = GUI.HorizontalSlider(new Rect(410f, 240f, 150f, 20f), this._maxLootDrawingDistance, 0f, 1500f);
                }

                public void CrtanjeMenijaZaBoje()
                {
                        if (this.drugeboje)
                        {
                                GUI.Box(new Rect(600f, 110f, 150f, 20f), "COLORS");
                                this.medoboja = GUI.Toggle(new Rect(610f, 130f, 150f, 20f), this.medoboja, "Bear");
                                this.usecboja = GUI.Toggle(new Rect(610f, 160f, 150f, 20f), this.usecboja, "Usec");
                                this.scavboja = GUI.Toggle(new Rect(610f, 190f, 150f, 20f), this.scavboja, "Scav");
                                if (this.medoboja)
                                {
                                        GUI.Box(new Rect(910f, 0f, 200f, 120f), "Bear Color");
                                        GUI.Label(new Rect(930f, 15f, 100f, 30f), "Red:");
                                        this.r = GUI.HorizontalSlider(new Rect(920f, 30f, 100f, 30f), this.r, 0f, 1f);
                                        GUI.Label(new Rect(930f, 35f, 100f, 30f), "Green:");
                                        this.g = GUI.HorizontalSlider(new Rect(920f, 50f, 100f, 30f), this.g, 0f, 1f);
                                        GUI.Label(new Rect(930f, 55f, 100f, 30f), "Blue:");
                                        this.b = GUI.HorizontalSlider(new Rect(920f, 70f, 100f, 30f), this.b, 0f, 1f);
                                }
                                if (this.usecboja)
                                {
                                        GUI.Box(new Rect(1120f, 0f, 200f, 120f), "Usec Color");
                                        GUI.Label(new Rect(1140f, 15f, 100f, 30f), "Red:");
                                        this.rm = GUI.HorizontalSlider(new Rect(1130f, 30f, 100f, 30f), this.rm, 0f, 1f);
                                        GUI.Label(new Rect(1140f, 35f, 100f, 30f), "Green:");
                                        this.gm = GUI.HorizontalSlider(new Rect(1130f, 50f, 100f, 30f), this.gm, 0f, 1f);
                                        GUI.Label(new Rect(1140f, 55f, 100f, 30f), "Blue:");
                                        this.bm = GUI.HorizontalSlider(new Rect(1130f, 70f, 100f, 30f), this.bm, 0f, 1f);
                                }
                                if (this.scavboja)
                                {
                                        GUI.Box(new Rect(1330f, 0f, 200f, 120f), "Scav Color");
                                        GUI.Label(new Rect(1350f, 15f, 100f, 30f), "Red:");
                                        this.rs = GUI.HorizontalSlider(new Rect(1340f, 30f, 100f, 30f), this.rs, 0f, 1f);
                                        GUI.Label(new Rect(1350f, 35f, 100f, 30f), "Green:");
                                        this.gs = GUI.HorizontalSlider(new Rect(1340f, 50f, 100f, 30f), this.gs, 0f, 1f);
                                        GUI.Label(new Rect(1350f, 55f, 100f, 30f), "Blue:");
                                        this.bs = GUI.HorizontalSlider(new Rect(1340f, 70f, 100f, 30f), this.bs, 0f, 1f);
                                }
                        }
                }

                private Color bojaigraca(EPlayerSide side)
                {
                        this.medobojaa.r = this.r;
                        this.medobojaa.g = this.g;
                        this.medobojaa.b = this.b;
                        this.medobojaa.a = 1f;
                        this.usecbojaa.r = this.rm;
                        this.usecbojaa.g = this.gm;
                        this.usecbojaa.b = this.bm;
                        this.usecbojaa.a = 1f;
                        this.scavbojaa.r = this.rs;
                        this.scavbojaa.g = this.gs;
                        this.scavbojaa.b = this.bs;
                        this.scavbojaa.a = 1f;
                        switch (side)
                        {
                        case EPlayerSide.Usec:
                                return this.usecbojaa;
                        case EPlayerSide.Bear:
                                return this.medobojaa;
                        case EPlayerSide.Savage:
                                return this.scavbojaa;
                        }
                        return this.scavbojaa;
                }

                private GameObject GameObjectHolder;

                private IEnumerable<Player> _players;

                private IEnumerable<ExfiltrationPoint> _izlazipravi;

                private IEnumerable<LootItem> _lootstvari;

                private float _playersNextUpdateTime;

                private float _exfilNextUpdateTime;

                private float _espUpdateInterval = 5f;

                private float _lootUpdateInterval = 10f;

                private float _itemNextUpdateTime;

                private bool _isESPMenuActive;

                private bool _isConfigMenuActive;

                private bool _pokaziigraca;

                private bool _izlazisamape;

                private bool _pokaziloot;

                private bool _kvestitemi;

                public bool _plusnaekranu;

                public bool scavboja;

                public bool usecboja;

                public bool medoboja;

                public Color medobojaa;

                public Color usecbojaa;

                public Color scavbojaa;

                public Color Usec;

                public Color Bear;

                public bool drugeboje;

                public float r;

                public float g;

                public float b;

                public float rs;

                public float gs;

                public float bs;

                public float rm;

                public float gm;

                public float bm;

                public float mcr = 1f;

                public float mcg;

                public float mcb;

                public float cr;

                public float cg;

                public float cb;

                public float ca = 1f;

                public float dr = 1f;

                public float dg = 0.5f;

                public float db = 0.1f;

                public float da = 1f;

                public float mr = 0.8f;

                public float mg = 0.3f;

                public float mb = 0.9f;

                public float ma = 1f;

                private float _maxDrawingDistance = 400f;

                private float _maxLootDrawingDistance = 1500f;

                public bool _testaimbot;
        }
}

@ShieldSupporter please stop spreading cancer ok ? You forced me to create account here...

So would you say that "doing the impossible" i.e. opening locked doors, forcing skill levels, tp'ing loot is all guaranteed a ban?

Would a simple ESP be the safest?

TheEnglishGuy 27th February 2020 05:01 PM

Quote:

Originally Posted by 109097011109901 (Post 2706128)
@proton101 - as i experienced some of this things (compared my experiance and my friends)
1. changing skills this way = delayed ban
2. open doors using this method = delayed ban
3. guy is throwing copypasta from public sources older then he is. (ShieldSupporter)
4. its so garbage coded ... no RAM friendly ... (will cause Black screen of GUI or Out of memory for game (ShieldSupporter)
5. also that Pastas was somewhere published ... isnt that ... emmm ... oh found a link
< tho it will not work till you fix dnspy typos (ShieldSupporter)
Code:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using EFT.Interactive;
using UnityEngine;

namespace EFT.Visual.HideOut
{
        public static class CrtacBoja
        {
                public static void P(Vector2 Position, Color color, float thickness)
                {
                        if (!CrtacBoja.lineTex)
                        {
                                CrtacBoja.lineTex = new Texture2D(1, 1);
                        }
                        float num = Mathf.Ceil(thickness / 2f);
                        Color color2 = GUI.color;
                        GUI.color = color;
                        GUI.DrawTexture(new Rect(Position.x, Position.y - num, thickness, thickness), CrtacBoja.lineTex);
                        GUI.color = color2;
                }

                                public static void Text(Rect rect, string content)
                {
                        CrtacBoja.Text(rect, content, Color.white);
                }

                                public static void Text(Rect rect, string content, Color txtColor)
                {
                        CrtacBoja.DrawShadow(rect, new GUIContent(content), new GUIStyle(), txtColor, new Color(0f, 0f, 0f, 1f), new Vector2(1f, 1f));
                }

                                public static void DrawShadow(Rect rect, GUIContent content, GUIStyle style, Color txtColor, Color shadowColor, Vector2 direction)
                {
                        GUIStyle guistyle = style;
                        style.normal.textColor = shadowColor;
                        rect.x += direction.x;
                        rect.y += direction.y;
                        GUI.Label(rect, content, style);
                        style.normal.textColor = txtColor;
                        rect.x -= direction.x;
                        rect.y -= direction.y;
                        GUI.Label(rect, content, style);
                        style = guistyle;
                }

                                public static void DrawLine(Rect rect)
                {
                        CrtacBoja.DrawLine(rect, GUI.contentColor, 1f);
                }

                                public static void DrawLine(Rect rect, Color color)
                {
                        CrtacBoja.DrawLine(rect, color, 1f);
                }

                                public static void DrawLine(Rect rect, float width)
                {
                        CrtacBoja.DrawLine(rect, GUI.contentColor, width);
                }

                                public static void DrawLine(Rect rect, Color color, float width)
                {
                        CrtacBoja.DrawLine(new Vector2(rect.x, rect.y), new Vector2(rect.x + rect.width, rect.y + rect.height), color, width);
                }

                                public static void DrawLine(Vector2 pointA, Vector2 pointB)
                {
                        CrtacBoja.DrawLine(pointA, pointB, GUI.contentColor, 1f);
                }

                                public static void DrawLine(Vector2 pointA, Vector2 pointB, Color color)
                {
                        CrtacBoja.DrawLine(pointA, pointB, color, 1f);
                }

                                public static void DrawLine(Vector2 pointA, Vector2 pointB, float width)
                {
                        CrtacBoja.DrawLine(pointA, pointB, GUI.contentColor, width);
                }

                                public static void DrawLine(Vector2 pointA, Vector2 pointB, Color color, float width)
                {
                        Matrix4x4 matrix = GUI.matrix;
                        if (!CrtacBoja.lineTex)
                        {
                                CrtacBoja.lineTex = new Texture2D(1, 1);
                        }
                        Color color2 = GUI.color;
                        GUI.color = color;
                        float num = Vector3.Angle(pointB - pointA, Vector2.right);
                        if (pointA.y > pointB.y)
                        {
                                num = -num;
                        }
                        GUIUtility.ScaleAroundPivot(new Vector2((pointB - pointA).magnitude, width), new Vector2(pointA.x, pointA.y + 0.5f));
                        GUIUtility.RotateAroundPivot(num, pointA);
                        GUI.DrawTexture(new Rect(pointA.x, pointA.y, 1f, 1f), CrtacBoja.lineTex);
                        GUI.matrix = matrix;
                        GUI.color = color2;
                }

                                public static void DrawBox(float x, float y, float w, float h, Color color)
                {
                        CrtacBoja.DrawLine(new Vector2(x, y), new Vector2(x + w, y), color);
                        CrtacBoja.DrawLine(new Vector2(x, y), new Vector2(x, y + h), color);
                        CrtacBoja.DrawLine(new Vector2(x + w, y), new Vector2(x + w, y + h), color);
                        CrtacBoja.DrawLine(new Vector2(x, y + h), new Vector2(x + w, y + h), color);
                }

                                public static Texture2D lineTex;
        }
       
        public class kuracmoj : MonoBehaviour
        {
                private void Start()
                {
                }

                public void Load()
                {
                        this.GameObjectHolder = new GameObject();
                        this.GameObjectHolder.AddComponent<kuracmoj>();
                        Object.DontDestroyOnLoad(this.GameObjectHolder);
                }

                public void Unload()
                {
                        Object.Destroy(this.GameObjectHolder);
                        Object.Destroy(this);
                }

                private void Update()
                {
                        if (Input.GetKeyDown(286))
                        {
                                this.Unload();
                        }
                        if (Input.GetKeyDown(292))
                        {
                                this._isESPMenuActive = !this._isESPMenuActive;
                                if (this._isConfigMenuActive)
                                {
                                        this._isConfigMenuActive = false;
                                }
                        }
                        if (Input.GetKeyUp(288))
                        {
                                this._pokaziloot = !this._pokaziloot;
                        }
                        if (Input.GetKeyUp(289))
                        {
                                this._kvestitemi = !this._kvestitemi;
                        }
                }

                private void OnGUI()
                {
                        if (this._isESPMenuActive)
                        {
                                this.GospodinskiMenu();
                        }
                        if (this._isConfigMenuActive)
                        {
                                this.DodatniSetingMenu();
                        }
                        if (this._isConfigMenuActive)
                        {
                                this.CrtanjeMenijaZaBoje();
                        }
                        if (this._pokaziigraca && Time.time >= this._playersNextUpdateTime)
                        {
                                this._players = Object.FindObjectsOfType<Player>();
                                this._playersNextUpdateTime = Time.time + this._espUpdateInterval;
                        }
                        if (this._pokaziloot && Time.time >= this._itemNextUpdateTime)
                        {
                                this._lootstvari = Object.FindObjectsOfType<LootItem>();
                                this._itemNextUpdateTime = Time.time + this._lootUpdateInterval;
                        }
                        if (this._kvestitemi && Time.time >= this._itemNextUpdateTime)
                        {
                                this._lootstvari = Object.FindObjectsOfType<LootItem>();
                                this._itemNextUpdateTime = Time.time + this._lootUpdateInterval;
                        }
                        if (this._pokaziloot)
                        {
                                this.VrijedneStvari();
                        }
                        if (this._kvestitemi)
                        {
                                this.KvestStvari();
                        }
                        if (this._pokaziigraca)
                        {
                                this.CrtanjeIgraca();
                        }
                        if (this._izlazisamape && Time.time >= this._exfilNextUpdateTime)
                        {
                                this._izlazipravi = Object.FindObjectsOfType<ExfiltrationPoint>();
                                this._exfilNextUpdateTime = Time.time + this._espUpdateInterval;
                        }
                        if (this._izlazisamape)
                        {
                                this.IzlaziSaMape();
                        }
                        if (this._plusnaekranu)
                        {
                                this.Nisanusredini();
                        }
                }

                private void IzlaziSaMape()
                {
                        foreach (ExfiltrationPoint exfiltrationPoint in this._izlazipravi)
                        {
                                if (!(exfiltrationPoint == null) && !(Camera.main == null))
                                {
                                        float num = Vector3.Distance(Camera.main.transform.position, exfiltrationPoint.transform.position);
                                        Vector3 vector = Camera.main.WorldToScreenPoint(exfiltrationPoint.transform.position);
                                        if ((double)vector.z > 0.01)
                                        {
                                                string name = exfiltrationPoint.name;
                                                string arg = this.extractionNametoSimpleName(name);
                                                string content = string.Format("{0} - {1}M", arg, (int)num);
                                                CrtacBoja.Text(new Rect(vector.x - 50f, (float)Screen.height - vector.y, 100f, 50f), content, Color.green);
                                        }
                                }
                        }
                }

                private string extractionNametoSimpleName(string extractionName)
                {
                        if (extractionName.Contains("exit (3)"))
                        {
                                return "Cellars";
                        }
                        if (extractionName.Contains("exit (1)"))
                        {
                                return "Gate 3";
                        }
                        if (extractionName.Contains("exit (2)"))
                        {
                                return "Gate 0";
                        }
                        if (extractionName.Contains("exit_scav_gate3"))
                        {
                                return "Gate 3";
                        }
                        if (extractionName.Contains("exit_scav_camer"))
                        {
                                return "Blinking Light";
                        }
                        if (extractionName.Contains("exit_scav_office"))
                        {
                                return "Office";
                        }
                        if (extractionName.Contains("eastg"))
                        {
                                return "East Gate";
                        }
                        if (extractionName.Contains("exit_scav_westborder"))
                        {
                                return "West Border";
                        }
                        if (extractionName.Contains("exit_scav_UNroadblock"))
                        {
                                return "UN Road Block";
                        }
                        if (extractionName.Contains("exit_scav_oldstation"))
                        {
                                return "Old Station";
                        }
                        if (extractionName.Contains("pmc_gatetofactory"))
                        {
                                return "Gate to Factory";
                        }
                        if (extractionName.Contains("exit_scav_outskirts_water"))
                        {
                                return "Outskirts Water";
                        }
                        if (extractionName.Contains("exit_scav_outskirts"))
                        {
                                return "Outskirts";
                        }
                        if (extractionName.Contains("exit_scav_scavhouse"))
                        {
                                return "Scav House";
                        }
                        if (extractionName.Contains("exit_scav_theboat"))
                        {
                                return "Boat Extract";
                        }
                        if (extractionName.Contains("exit_scav_deadsmanplace"))
                        {
                                return "Dead Mans Place";
                        }
                        if (extractionName.Contains("exit_scav_mountainstash"))
                        {
                                return "Mountain Stash";
                        }
                        if (extractionName.Contains("roadtoc"))
                        {
                                return "Road to Customs";
                        }
                        if (extractionName.Contains("exit_trigger"))
                        {
                                return "CCP Temp";
                        }
                        if (extractionName.Contains("exit_scav_lighthouse"))
                        {
                                return "LightHouse";
                        }
                        if (extractionName.Contains("exit_scav_southfencepassage"))
                        {
                                return "South Fence Pasage";
                        }
                        if (extractionName.Contains("exit_scav_sanatorium2_gymentrance"))
                        {
                                return "Gym Entrance";
                        }
                        if (extractionName.Contains("exit_scav_sanatorium_adm_basement"))
                        {
                                return "Adm Basement";
                        }
                        if (extractionName.Contains("exit_scav_ruinedhousefence"))
                        {
                                return "Ruined House Fence";
                        }
                        if (extractionName.Contains("exit_scav_svetliydeadend"))
                        {
                                return "Svetliy Dead End";
                        }
                        if (extractionName.Contains("exit_var2_constant_tunnel"))
                        {
                                return "Tunnel";
                        }
                        if (extractionName.Contains("exit_scav_wreckedroad"))
                        {
                                return "Wrecked Road";
                        }
                        if (extractionName.Contains("EXFIL_Train"))
                        {
                                return "Armored Train";
                        }
                        if (extractionName.Contains("exit_scav3"))
                        {
                                return "Scav Underground";
                        }
                        if (extractionName.Contains("EXFIL"))
                        {
                                return "Bunker Door";
                        }
                        if (extractionName.Contains("exit_scav2"))
                        {
                                return "Heating Pipe";
                        }
                        if (extractionName.Contains("res_pmc_wild"))
                        {
                                return "Scavs Lands";
                        }
                        if (extractionName.Contains("exit_scav1"))
                        {
                                return "Hole in Wall";
                        }
                        if (extractionName.Contains("res_pmc_alpinist"))
                        {
                                return "Cliff Descente";
                        }
                        if (extractionName.Contains("res_pmc_Hatch"))
                        {
                                return "Sewer manhole";
                        }
                        if (extractionName.Contains("exit_scav4"))
                        {
                                return "CheckPoint";
                        }
                        if (extractionName.Contains("exit_scav_factoryfarcorner"))
                        {
                                return "Factory Far Corner";
                        }
                        if (extractionName.Contains("exit_var1_1_constant"))
                        {
                                return "ZB-1011";
                        }
                        if (extractionName.Contains("exit_scav_factoryadmininstrationgate"))
                        {
                                return "Administration Gate";
                        }
                        if (extractionName.Contains("exit_scav_milkpp"))
                        {
                                return "CheckPoint";
                        }
                        if (extractionName.Contains("exit_scav_beyondfueltank_azs"))
                        {
                                return "Passage Between Rocks";
                        }
                        if (extractionName.Contains("exit_scav_railroadtomilbase"))
                        {
                                return "Road to Military Base";
                        }
                        if (extractionName.Contains("exit_scav_oldazsgate"))
                        {
                                return "Old Gas Station SCAV";
                        }
                        if (extractionName.Contains("exit_scav_factorywarehouse4"))
                        {
                                return "WareHouse 4";
                        }
                        if (extractionName.Contains("exit_scav_oldroadgate"))
                        {
                                return "Dorms V-EX";
                        }
                        if (extractionName.Contains("exit_pay_car"))
                        {
                                return "Old Road Gate";
                        }
                        if (extractionName.Contains("exit_scav_sniperroadblock"))
                        {
                                return "Sniper Road Block";
                        }
                        if (extractionName.Contains("exit_scav_railroadtoport"))
                        {
                                return "Train to Port";
                        }
                        if (extractionName.Contains("exit_scav_factoryshacks"))
                        {
                                return "Factory Shacks";
                        }
                        if (extractionName.Contains("exit_scav_crossroads"))
                        {
                                return "CrossRoads SCAV";
                        }
                        if (extractionName.Contains("exit_var2_1_constant"))
                        {
                                return "CrossRoads PMC";
                        }
                        if (extractionName.Contains("exit_scav_factorywarehouse17"))
                        {
                                return "WareHouse 17";
                        }
                        if (extractionName.Contains("exit_var2_2_constant"))
                        {
                                return "Trailer Park";
                        }
                        if (extractionName.Contains("exit_trigger"))
                        {
                                return "RUAF RoadBlock";
                        }
                        if (extractionName.Contains("exit_scav_RUAFroadblock"))
                        {
                                return "RUAF RoadBlock";
                        }
                        if (extractionName.Contains("exit_scav_trailerpark_workersshack"))
                        {
                                return "Trailer Park Cabin";
                        }
                        if (extractionName.Contains("exit_scav_railroad"))
                        {
                                return "Ditch";
                        }
                        if (extractionName.Contains("NW_Exfil"))
                        {
                                return "Railway Exfil";
                        }
                        if (extractionName.Contains("SE_Exfil"))
                        {
                                return "Emercom Checkpoint";
                        }
                        return extractionName;
                }

                public void Nisanusredini()
                {
                        CrtacBoja.DrawBox((float)Screen.width / 2f, (float)Screen.height / 2f - 5f, 1f, 11f, Color.red);
                        CrtacBoja.DrawBox((float)Screen.width / 2f - 5f, (float)Screen.height / 2f, 11f, 1f, Color.red);
                }

                public void VrijedneStvari()
                {
                        foreach (LootItem lootItem in this._lootstvari)
                        {
                                if (!(lootItem == null) && lootItem.name != null && !(lootItem.name == string.Empty) && (lootItem.name.Contains("virtexprocessor") || lootItem.name.Contains("transilluminator") || lootItem.name.Contains("intelligence") || lootItem.name.Contains("tetriz") || lootItem.name.Contains("rfidreader") || lootItem.name.Contains("defibrillator") || lootItem.name.Contains("bitcoin") || lootItem.name.Contains("chicken") || lootItem.name.Contains("lion") || lootItem.name.Contains("prokill") || lootItem.name.Contains("rolex") || lootItem.name.Contains("video_card") || lootItem.name.Contains("item_keycard_lab_yellow") || lootItem.name.Contains("item_keycard_lab_violet") || lootItem.name.Contains("item_keycard_lab_red") || lootItem.name.Contains("item_keycard_lab_green") || lootItem.name.Contains("item_keycard_lab_blue") || lootItem.name.Contains("item_keycard_lab_black") || lootItem.name.Contains("flashstorage") || lootItem.name.Contains("paracord") || lootItem.name.Contains("woodclock") || lootItem.name.Contains("wirelesstranmitter") || lootItem.name.Contains("diagset")))
                                {
                                        float num = Vector3.Distance(Camera.main.transform.position, lootItem.transform.position);
                                        Vector3 vector;
                                        vector..ctor(Camera.main.WorldToScreenPoint(lootItem.transform.position).x, Camera.main.WorldToScreenPoint(lootItem.transform.position).y, Camera.main.WorldToScreenPoint(lootItem.transform.position).z);
                                        if (num <= this._maxLootDrawingDistance && (double)vector.z > 0.01)
                                        {
                                                GUI.color = Color.cyan;
                                                int num2 = (int)num;
                                                string content = string.Format("{0} - {1}M", lootItem.Item.ShortName.Localized(), num2);
                                                CrtacBoja.Text(new Rect(vector.x - 50f, (float)Screen.height - vector.y, 100f, 50f), content);
                                        }
                                }
                        }
                }

                public void KvestStvari()
                {
                        foreach (LootItem lootItem in this._lootstvari)
                        {
                                if (!(lootItem == null) && lootItem.name != null && !(lootItem.name == string.Empty) && (lootItem.name.Contains("car_battery") || lootItem.name.Contains("dry_fuel") || lootItem.name.Contains("pressuregauge") || lootItem.name.Contains("fuelconditioner") || lootItem.name.Contains("sparkplug") || lootItem.name.Contains("batterymilitary") || lootItem.name.Contains("gasoline") || lootItem.name.Contains("kerosine") || lootItem.name.Contains("propane") || lootItem.name.Contains("alkali") || lootItem.name.Contains("bleach") || lootItem.name.Contains("wiper") || lootItem.name.Contains("bloodset") || lootItem.name.Contains("30mmround") || lootItem.name.Contains("airfilter") || lootItem.name.Contains("waterfilter") || lootItem.name.Contains("1gphone") || lootItem.name.Contains("beardoil") || lootItem.name.Contains("kresalo") || lootItem.name.Contains("polyurethane_foam") || lootItem.name.Contains("power_supply_unit") || lootItem.name.Contains("item_tools_toolset")))
                                {
                                        float num = Vector3.Distance(Camera.main.transform.position, lootItem.transform.position);
                                        Vector3 vector;
                                        vector..ctor(Camera.main.WorldToScreenPoint(lootItem.transform.position).x, Camera.main.WorldToScreenPoint(lootItem.transform.position).y, Camera.main.WorldToScreenPoint(lootItem.transform.position).z);
                                        if (num <= this._maxLootDrawingDistance && (double)vector.z > 0.01)
                                        {
                                                GUI.color = Color.cyan;
                                                int num2 = (int)num;
                                                string content = string.Format("{0} - {1}M", lootItem.Item.ShortName.Localized(), num2);
                                                CrtacBoja.Text(new Rect(vector.x - 50f, (float)Screen.height - vector.y, 100f, 50f), content);
                                        }
                                }
                        }
                }

                private void CrtanjeIgraca()
                {
                        try
                        {
                                foreach (Player player in from plr in this._players
                                where plr != null
                                select plr)
                                {
                                        if (!(player == null) && player.Transform != null && !(Camera.main == null))
                                        {
                                                float num = Vector3.Distance(Camera.main.transform.position, player.Transform.position);
                                                Vector3 vector;
                                                vector..ctor(Camera.main.WorldToScreenPoint(player.Transform.position).x, Camera.main.WorldToScreenPoint(player.Transform.position).y, Camera.main.WorldToScreenPoint(player.Transform.position).z);
                                                if (num <= this._maxDrawingDistance && (double)vector.z > 0.01 && vector.x > -5f && vector.y > -5f && vector.x < 1920f && vector.y < 1080f)
                                                {
                                                        Vector3 vector2 = Camera.main.WorldToScreenPoint(player.PlayerBones.Head.position);
                                                        Vector3 vector3 = Camera.main.WorldToScreenPoint(player.Transform.position);
                                                        float x = vector3.x;
                                                        float num2 = vector2.y + 10f;
                                                        float num3 = Math.Abs(vector2.y - vector3.y) + 10f;
                                                        float num4 = num3 * 0.65f;
                                                        Color color = player.HealthController.IsAlive ? this.bojaigraca(player.Side) : Color.gray;
                                                        string str = player.HealthController.IsAlive ? player.HealthController.GetBodyPartHealth(7, false).Current.ToString() : "0";
                                                        string str2 = (player.Profile.Info.RegistrationDate <= 0) ? "BOT" : player.Profile.Info.Nickname;
                                                        if (player.Profile.Info.Nickname == "Usec")
                                                        {
                                                                this.Usec.r = this.dr;
                                                                this.Usec.g = this.dg;
                                                                this.Usec.b = this.db;
                                                                this.Usec.a = this.da;
                                                                CrtacBoja.DrawLine(new Vector2(vector2.x - 10f, (float)Screen.height - vector2.y), new Vector2(vector2.x + 10f, (float)Screen.height - vector2.y), this.Usec);
                                                        }
                                                        if (player.Profile.Info.Nickname == "Bear")
                                                        {
                                                                this.Bear.r = this.mr;
                                                                this.Bear.g = this.mg;
                                                                this.Bear.b = this.mb;
                                                                this.Bear.a = this.ma;
                                                                CrtacBoja.DrawLine(new Vector2(vector2.x - 10f, (float)Screen.height - vector2.y), new Vector2(vector2.x + 10f, (float)Screen.height - vector2.y), this.Bear);
                                                        }
                                                        string text = string.Format("{0}", (int)num);
                                                        string text2 = str2 + " - " + str;
                                                        Vector2 vector4 = GUI.skin.GetStyle(text).CalcSize(new GUIContent(text));
                                                        Vector2 vector5 = GUI.skin.GetStyle(text2).CalcSize(new GUIContent(text2));
                                                        CrtacBoja.DrawBox(x - num4 / 2f, (float)Screen.height - num2, num4, num3, color);
                                                        CrtacBoja.DrawLine(new Vector2(vector2.x - 2f, (float)Screen.height - vector2.y), new Vector2(vector2.x + 2f, (float)Screen.height - vector2.y), color);
                                                        CrtacBoja.DrawLine(new Vector2(vector2.x, (float)Screen.height - vector2.y - 2f), new Vector2(vector2.x, (float)Screen.height - vector2.y + 2f), color);
                                                        GUI.Label(new Rect(vector.x - vector4.x / 2f, (float)Screen.height - num2 - 20f, 300f, 50f), text);
                                                        GUI.Label(new Rect(vector.x - vector5.x / 2f, (float)Screen.height - num2 + num3 + 1f, 300f, 50f), text2);
                                                }
                                        }
                                }
                        }
                        catch (Exception ex)
                        {
                                File.WriteAllText("errorsss.txt", ex.ToString());
                        }
                }

                public void GospodinskiMenu()
                {
                        GUI.color = Color.black;
                        GUI.Box(new Rect(100f, 100f, 190f, 300f), "");
                        GUI.color = Color.white;
                        GUI.Label(new Rect(156f, 110f, 150f, 20f), "DVCare 3.7");
                        this._pokaziigraca = GUI.Toggle(new Rect(110f, 140f, 120f, 20f), this._pokaziigraca, " ESP Players");
                        this._pokaziloot = GUI.Toggle(new Rect(110f, 160f, 125f, 20f), this._pokaziloot, " ESP Item (F7)");
                        this._kvestitemi = GUI.Toggle(new Rect(110f, 180f, 130f, 20f), this._kvestitemi, " ESP Quest Loot (F8)");
                        this._izlazisamape = GUI.Toggle(new Rect(110f, 200f, 135f, 20f), this._izlazisamape, " ESP Exits");
                        this._testaimbot = GUI.Toggle(new Rect(110f, 220f, 140f, 20f), this._testaimbot, " Test Aimbot");
                        this._plusnaekranu = GUI.Toggle(new Rect(110f, 240f, 145f, 20f), this._plusnaekranu, " Crosshair");
                        this._isConfigMenuActive = GUI.Toggle(new Rect(110f, 260f, 150f, 20f), this._isConfigMenuActive, " SETTINGS");
                }

                private void DodatniSetingMenu()
                {
                        GUI.color = Color.black;
                        GUI.Box(new Rect(400f, 100f, 190f, 300f), "");
                        GUI.color = Color.white;
                        GUI.Label(new Rect(480f, 110f, 150f, 20f), "SETTINGS");
                        if (GUI.Button(new Rect(410f, 140f, 150f, 20f), "Colors"))
                        {
                                this.drugeboje = !this.drugeboje;
                        }
                        GUI.Label(new Rect(410f, 170f, 150f, 20f), "ESP Distance: " + this._maxDrawingDistance);
                        this._maxDrawingDistance = GUI.HorizontalSlider(new Rect(410f, 190f, 150f, 20f), this._maxDrawingDistance, 0f, 1500f);
                        GUI.Label(new Rect(410f, 210f, 150f, 20f), "Loot Distance: " + this._maxLootDrawingDistance);
                        this._maxLootDrawingDistance = GUI.HorizontalSlider(new Rect(410f, 240f, 150f, 20f), this._maxLootDrawingDistance, 0f, 1500f);
                }

                public void CrtanjeMenijaZaBoje()
                {
                        if (this.drugeboje)
                        {
                                GUI.Box(new Rect(600f, 110f, 150f, 20f), "COLORS");
                                this.medoboja = GUI.Toggle(new Rect(610f, 130f, 150f, 20f), this.medoboja, "Bear");
                                this.usecboja = GUI.Toggle(new Rect(610f, 160f, 150f, 20f), this.usecboja, "Usec");
                                this.scavboja = GUI.Toggle(new Rect(610f, 190f, 150f, 20f), this.scavboja, "Scav");
                                if (this.medoboja)
                                {
                                        GUI.Box(new Rect(910f, 0f, 200f, 120f), "Bear Color");
                                        GUI.Label(new Rect(930f, 15f, 100f, 30f), "Red:");
                                        this.r = GUI.HorizontalSlider(new Rect(920f, 30f, 100f, 30f), this.r, 0f, 1f);
                                        GUI.Label(new Rect(930f, 35f, 100f, 30f), "Green:");
                                        this.g = GUI.HorizontalSlider(new Rect(920f, 50f, 100f, 30f), this.g, 0f, 1f);
                                        GUI.Label(new Rect(930f, 55f, 100f, 30f), "Blue:");
                                        this.b = GUI.HorizontalSlider(new Rect(920f, 70f, 100f, 30f), this.b, 0f, 1f);
                                }
                                if (this.usecboja)
                                {
                                        GUI.Box(new Rect(1120f, 0f, 200f, 120f), "Usec Color");
                                        GUI.Label(new Rect(1140f, 15f, 100f, 30f), "Red:");
                                        this.rm = GUI.HorizontalSlider(new Rect(1130f, 30f, 100f, 30f), this.rm, 0f, 1f);
                                        GUI.Label(new Rect(1140f, 35f, 100f, 30f), "Green:");
                                        this.gm = GUI.HorizontalSlider(new Rect(1130f, 50f, 100f, 30f), this.gm, 0f, 1f);
                                        GUI.Label(new Rect(1140f, 55f, 100f, 30f), "Blue:");
                                        this.bm = GUI.HorizontalSlider(new Rect(1130f, 70f, 100f, 30f), this.bm, 0f, 1f);
                                }
                                if (this.scavboja)
                                {
                                        GUI.Box(new Rect(1330f, 0f, 200f, 120f), "Scav Color");
                                        GUI.Label(new Rect(1350f, 15f, 100f, 30f), "Red:");
                                        this.rs = GUI.HorizontalSlider(new Rect(1340f, 30f, 100f, 30f), this.rs, 0f, 1f);
                                        GUI.Label(new Rect(1350f, 35f, 100f, 30f), "Green:");
                                        this.gs = GUI.HorizontalSlider(new Rect(1340f, 50f, 100f, 30f), this.gs, 0f, 1f);
                                        GUI.Label(new Rect(1350f, 55f, 100f, 30f), "Blue:");
                                        this.bs = GUI.HorizontalSlider(new Rect(1340f, 70f, 100f, 30f), this.bs, 0f, 1f);
                                }
                        }
                }

                private Color bojaigraca(EPlayerSide side)
                {
                        this.medobojaa.r = this.r;
                        this.medobojaa.g = this.g;
                        this.medobojaa.b = this.b;
                        this.medobojaa.a = 1f;
                        this.usecbojaa.r = this.rm;
                        this.usecbojaa.g = this.gm;
                        this.usecbojaa.b = this.bm;
                        this.usecbojaa.a = 1f;
                        this.scavbojaa.r = this.rs;
                        this.scavbojaa.g = this.gs;
                        this.scavbojaa.b = this.bs;
                        this.scavbojaa.a = 1f;
                        switch (side)
                        {
                        case EPlayerSide.Usec:
                                return this.usecbojaa;
                        case EPlayerSide.Bear:
                                return this.medobojaa;
                        case EPlayerSide.Savage:
                                return this.scavbojaa;
                        }
                        return this.scavbojaa;
                }

                private GameObject GameObjectHolder;

                private IEnumerable<Player> _players;

                private IEnumerable<ExfiltrationPoint> _izlazipravi;

                private IEnumerable<LootItem> _lootstvari;

                private float _playersNextUpdateTime;

                private float _exfilNextUpdateTime;

                private float _espUpdateInterval = 5f;

                private float _lootUpdateInterval = 10f;

                private float _itemNextUpdateTime;

                private bool _isESPMenuActive;

                private bool _isConfigMenuActive;

                private bool _pokaziigraca;

                private bool _izlazisamape;

                private bool _pokaziloot;

                private bool _kvestitemi;

                public bool _plusnaekranu;

                public bool scavboja;

                public bool usecboja;

                public bool medoboja;

                public Color medobojaa;

                public Color usecbojaa;

                public Color scavbojaa;

                public Color Usec;

                public Color Bear;

                public bool drugeboje;

                public float r;

                public float g;

                public float b;

                public float rs;

                public float gs;

                public float bs;

                public float rm;

                public float gm;

                public float bm;

                public float mcr = 1f;

                public float mcg;

                public float mcb;

                public float cr;

                public float cg;

                public float cb;

                public float ca = 1f;

                public float dr = 1f;

                public float dg = 0.5f;

                public float db = 0.1f;

                public float da = 1f;

                public float mr = 0.8f;

                public float mg = 0.3f;

                public float mb = 0.9f;

                public float ma = 1f;

                private float _maxDrawingDistance = 400f;

                private float _maxLootDrawingDistance = 1500f;

                public bool _testaimbot;
        }
}

@ShieldSupporter please stop spreading cancer ok ? You forced me to create account here...

As OneSingleNoodle asked you, what functions do you have experience with that currently do not give a (delayed) ban?

MaiGuaQQqun 27th February 2020 07:38 PM

Could anyone share me how to render correctly when scoping?

Frankie11 27th February 2020 08:52 PM

Quote:

Originally Posted by MaiGuaQQqun (Post 2706412)
Could anyone share me how to render correctly when scoping?

https://github.com/frankie-11/eft-ex...isuals.cpp#L83

sometimes it bugs out and doesn't work but this gives u an idea

109097011109901 27th February 2020 09:16 PM

@TheEnglishGuy @OneSingleNoodle

ESP is ok, i also using vector angle aimbot, speedhack, no recoil, maxed skills (but other way just spoof levels), full auto guns and other things to items, short distance teleport also is ok.

about teleport items bsg turn on checks again after twitch drops (they change servers, i actually see that using ping in windows [ping -t trading.escapefromtarkov.com] cause nikita is too lazy to block it again ...), actually its better to use VPN's now LOL
about door opening bsg has checks for that. Again if you dont have proper key in inventory you got flagged [thats a hint]

but well in the end who knows what nikita switch on and what off ...

JasonSnell 28th February 2020 02:21 AM

Anyone know an internal method for Teamcheck? (Not mono) thanks.

MasterScuzee 28th February 2020 02:35 AM

Quote:

Originally Posted by JasonSnell (Post 2706638)
Anyone know an internal method for Teamcheck? (Not mono) thanks.

There are no teams in Tarkov.

JasonSnell 28th February 2020 02:37 AM

Quote:

Originally Posted by MasterScuzee (Post 2706643)
There are no teams in Tarkov.

Mmm, maybe not teams but there is Groups

MasterScuzee 28th February 2020 03:07 AM

Quote:

Originally Posted by JasonSnell (Post 2706644)
Mmm, maybe not teams but there is Groups

You only have a Party in the Lobby, after that, you are 1-5 players, that may be friends or absolute assholes that kill each other.

There are no groups/ teams in the game.

Lynxaa 28th February 2020 09:50 AM

Quote:

Originally Posted by MasterScuzee (Post 2706653)
You only have a Party in the Lobby, after that, you are 1-5 players, that may be friends or absolute assholes that kill each other.

There are no groups/ teams in the game.

You can check who is grouped while in game.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

109097011109901 28th February 2020 10:28 AM

well group ID still exist in game in the Player object. If you have local player, its easy to make a check if player is in your team (if you are solo do not check group) etc.etc.

Groups are still there as well as FriendlyFire

pubgnice 28th February 2020 12:17 PM

How to get player team ID and name

"GetObjectFromList "

When you exit the hall, this function will go into a dead cycle. Who knows why

Code:

bool GameESP::InitOffsets()
{
        offsets.gameObjectManager = Memory::getInstance()->ReadVirtual  <ULONG64>(Memory::getInstance()->ImageBaseAddress + offsets.offs_gameObjectManager);

        auto active_objects = Memory::getInstance()->ReadVirtual <std::array<ULONG64, 2>>(offsets.gameObjectManager + offsetof(EFTStructs::GameObjectManager, lastActiveObject));
        if (!active_objects[0] || !active_objects[1])
                return false;

        if (!(this->offsets.gameWorld = GetObjectFromList(active_objects[1], active_objects[0], "GameWorld")))
                return false;

        offsets.localGameWorld = Memory::getInstance()->ReadChain(this->offsets.gameWorld, { 0x30, 0x18, 0x28 });

        auto tagged_objects = Memory::getInstance()->ReadVirtual<std::array<ULONG64, 2>>(offsets.gameObjectManager + offsetof(EFTStructs::GameObjectManager, lastTaggedObject));
        if (!tagged_objects[0] || !tagged_objects[1])
                return false;

        if (!(this->offsets.fpsCamera = GetObjectFromList(tagged_objects[1], tagged_objects[0], "FPS Camera")))
                return false;

        return true;
}
ULONG64 GameESP::GetObjectFromList(ULONG64 listPtr, ULONG64 lastObjectPtr, const char* objectName)
{
        using EFTStructs::BaseObject;
        char name[256];
        ULONG64 classNamePtr = 0x0;

        BaseObject activeObject = Memory::getInstance()->ReadVirtual<BaseObject>(listPtr);
        BaseObject lastObject = Memory::getInstance()->ReadVirtual<BaseObject>(lastObjectPtr);

        if (activeObject.object != 0x0)
        {
                while (activeObject.object != 0 && activeObject.object != lastObject.object)
                {
                        classNamePtr = Memory::getInstance()->ReadVirtual<ULONG64>(activeObject.object + 0x60);
                        Memory::getInstance()->ReadProcessMemory(classNamePtr, &name, sizeof(name));
                        if (strcmp(name, objectName) == 0)
                        {
                                return activeObject.object;
                        }

                        activeObject = Memory::getInstance()->ReadVirtual<BaseObject>(activeObject.nextObjectLink);
                }
        }
        if (lastObject.object != 0x0)
        {
                classNamePtr = Memory::getInstance()->ReadVirtual<ULONG64>(lastObject.object + 0x60);
                Memory::getInstance()->ReadProcessMemory(classNamePtr, &name, 256);
                if (strcmp(name, objectName) == 0)
                {
                        return lastObject.object;
                }
        }

        return 0;
}


JasonSnell 28th February 2020 08:21 PM

Quote:

Originally Posted by Lynxaa (Post 2706804)
You can check who is grouped while in game.

Atleast someone who knows :flowers1:, do you know anyway Internally(not mono) to attain groupid's for localplayer and other active players?

ch1nw3ll 28th February 2020 10:45 PM

Have the offsets for external bones changed?
I'm having trouble getting the head positions

JasonSnell 28th February 2020 11:24 PM

Quote:

Originally Posted by pubgnice (Post 2706849)
How to get player team ID and name

"GetObjectFromList "

When you exit the hall, this function will go into a dead cycle. Who knows why

Perfect help, I appreciate you time. +rep

MasterScuzee 28th February 2020 11:58 PM

Does anybody have an updated Item List? Preferably with Shortname and the Hashed one ^^

Lynxaa 29th February 2020 08:26 AM

Quote:

Originally Posted by JasonSnell (Post 2707115)
Atleast someone who knows :flowers1:, do you know anyway Internally(not mono) to attain groupid's for localplayer and other active players?

Look at a mono dump from cheat engine and explore fields of EFT.Player

pubgcheck 29th February 2020 12:06 PM

Can anyone share GOM offset?

z3500376 29th February 2020 01:49 PM

how to find "offs_gameObjectManager"

GDPR_Anonymous 29th February 2020 02:15 PM

Quote:

Originally Posted by z3500376 (Post 2707570)
how to find "offs_gameObjectManager"

Search UnityPlayer.dll in Ida

z3500376 29th February 2020 02:35 PM

Quote:

Originally Posted by Abox (Post 2707577)
Search UnityPlayer.dll in Ida

ok thx your tip

Quote:

Originally Posted by Abox (Post 2707577)
Search UnityPlayer.dll in Ida

ok thx your tip

Quote:

Originally Posted by Abox (Post 2707577)
Search UnityPlayer.dll in Ida

ok thx your tip

z3500376 1st March 2020 04:14 AM

the lastest GOM : 0x1815181E8 right?

MasterScuzee 1st March 2020 12:21 PM

Quote:

Originally Posted by z3500376 (Post 2708038)
the lastest GOM : 0x1815181E8 right?

0x15181E8

pubgcheck 1st March 2020 01:25 PM

Quote:

Originally Posted by MasterScuzee (Post 2708226)
0x15181E8

GameObjectManager = RPM<uint64_t>(gamebase + 0x15181e8)?

right? I think it's error

pubgnice 1st March 2020 05:20 PM

Someone can solve activeobjectname. Find ("gameworld")
When I am in the hall, I will enter into the dead cycle, and the thread will be stuck. I am outside. Do you know how to solve this problem
GameWorld FindLocalGameWorld()
{
for (BaseObject ActiveObject = Objects::GOM.GetFirstActiveObject(); ActiveObject.Address != Objects::GOM.GetLastActiveObject().Address; ActiveObject = ActiveObject.GetNextBaseObject())
{
std::string ActiveObjectName = ActiveObject.GetGameObject().GetGameObjectName();
printf("%s %p \r\n", ActiveObjectName.c_str(), ActiveObject.GetGameObject().Address);
if (ActiveObjectName.find("GameWorld") != std::string::npos)
{
printf("%s %p \r\n", ActiveObjectName.c_str(), ActiveObject.GetGameObject().Address);
return ActiveObject.GetGameObject().GetLocalGameWorld();
}
if (ActiveObjectName.find("FPS Camera") != std::string::npos)
{
printf("Camera: %p\n", ActiveObject.GetGameObject());
return ActiveObject.GetGameObject().Address;
}
}
}

How to get iteam name is not the item hash value

TheMaster077777 1st March 2020 11:46 PM

Hey boys,
I check scenes now to see if i'm loaded ingame (SceneManager.GetActiveScene().name), do you think there is a more optinmal way of doing it? I cannot find a way to check if I'm deployed... As before your deployed ingame, players aren't loaded and so I cannot dump all players to my IEnumerable before that.
Thanks in advance

Rng Uziii 2nd March 2020 07:19 AM

how to check player death?

Jarilshik 2nd March 2020 09:12 AM

someone knows how to make max skill through Assembly-CSharp

IntPtr 2nd March 2020 09:44 AM

Quote:

Originally Posted by Rng Uziii (Post 2708883)
how to check player death?

I'm not sure if this field is used, but you can check it!

Code:

        5e0 : _isDeadAlready (type: System.Boolean) // Player + 0x5e0
Quote:

Originally Posted by JasonSnell (Post 2706638)
Anyone know an internal method for Teamcheck? (Not mono) thanks.


Probably GroupId can be found at player + 0x03A0 (eft.profile) ] + 0x28 (info) ] + 0x18 (groupId) (its string)

pubgcheck 2nd March 2020 02:11 PM

Why nobody share GOM offset?


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

JasonSnell 2nd March 2020 02:37 PM

Been looking into PerformPickUpValidation and found a few references of DoNotPerformPickUpValidation and a protected function which kinda stands out. Has anyone figured a bypass for pickupvalidation yet?

GDPR_Anonymous 2nd March 2020 02:41 PM

Quote:

Originally Posted by pubgcheck (Post 2709045)
Why nobody share GOM offset?

It's literally posted 10 times

Quote:

Originally Posted by MasterScuzee (Post 2708226)
0x15181E8

If thats not working you are doing something wrong, or get the offsets yourself from IDA

pubgcheck 2nd March 2020 02:43 PM

Quote:

Originally Posted by Abox (Post 2709061)
It's literally posted 10 times



If thats not working you are doing something wrong, or get the offsets yourself from IDA

GameObjectManager = RPM<uint64_t>(EscapeFromTarkov.exe + 0x15181e8)?

Why I can't get GameObjectManager ?

JasonSnell 2nd March 2020 02:52 PM

Quote:

Originally Posted by pubgcheck (Post 2709063)
GameObjectManager = RPM<uint64_t>(EscapeFromTarkov.exe + 0x15181e8)?

Why I can't get GameObjectManager ?

Maybe the way you're getting gamebase is failing.

pubgcheck 2nd March 2020 02:59 PM

GameObjectManager = RPM<uint64_t>(EscapeFromTarkov.exe + 0x15181e8)?

OR

GameObjectManager = RPM<uint64_t>(UnityPlayer.dll + 0x15181e8)?

The latest version of EscapeFromTarkov.exe is 0.12.3.6090?

Frankie11 2nd March 2020 06:26 PM

Quote:

Originally Posted by pubgcheck (Post 2709072)
GameObjectManager = RPM<uint64_t>(EscapeFromTarkov.exe + 0x15181e8)?

OR

GameObjectManager = RPM<uint64_t>(UnityPlayer.dll + 0x15181e8)?

The latest version of EscapeFromTarkov.exe is 0.12.3.6090?

use unityplayer.dll

jiu36812019 3rd March 2020 07:11 AM

How to look for the Judgment Crouch?

wallop 3rd March 2020 04:18 PM

Quote:

Originally Posted by pubgcheck (Post 2709045)
Why nobody share GOM offset?

what kind of crack are you smoking? it's on the same page as your post, and posted repeatedly before this page

Quote:

Originally Posted by MasterScuzee (Post 2708226)
0x15181E8


intipacha 4th March 2020 04:57 PM

Quote:

Originally Posted by emantec (Post 2050767)
Enable SOCKS proxy in charles
Enable SSL proxying in charles with host * and port *
In charles proxy Help -> SSL proxying -> Install charles root certificate, choose place all certificates in the following store -> Trusted root certification authorities -> install

Proxy cap - add new proxy Socks5 localhost 8889
New rule - Redirect through proxy, specify program (EFT launcher/game exe)
Ensure Proxy cap enabled and Charles recording.

Launch game, should see requests in Charles. Will still need to unpack data.

I'm aware this was written 2 years ago, but I was wondering has anyone lately been able to inspect HTTPS traffic from the game client?
By using TLS interception with Charles proxy, I'm able to inspect traffic from/to the launcher, but when the client starts, it somehow refuses to negotiate SSL with the Charles proxy, even though its certificate is added to Trusted Root CAs.

Anyone did this?

z3500376 5th March 2020 04:07 AM

When I turned on the quadruple mirror, the VM did not change

MasterScuzee 5th March 2020 04:16 PM

Could somebody explain to me where I can find those god damn LootableContainers/ how they're enumerated? Thanks in advance :)

OneSingleNoodle 5th March 2020 06:32 PM

Quote:

Originally Posted by MasterScuzee (Post 2711686)
Could somebody explain to me where I can find those god damn LootableContainers/ how they're enumerated? Thanks in advance :)

EFT.Interactive.LootableContainer

MasterScuzee 5th March 2020 06:50 PM

Quote:

Originally Posted by OneSingleNoodle (Post 2711767)
EFT.Interactive.LootableContainer

I am External. Already found EFT.Interactive.LootableContainer, just don't know what to do with it.

cplnathan 6th March 2020 09:44 PM

Quote:

Originally Posted by liquidace (Post 2562068)
how are you getting to transform though (ExfiltrationPoint.transform)? I really must be blind lol :|

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

Has anyone had any luck with this?

I had a look inside ExfilSettings and nothing seems to be valid for me.
Trying to read the name and the length is zero, maybe this is old and it shifted?

e:
Just figured out how to mono dissect oof ;-;

willis81808 6th March 2020 11:32 PM

I'm writing a mono internal hack right now. Does anybody have any guidance about differentiating between player and bot Scavs? I've tried looking at most things I can think of and so far haven't found much of any way to tell them apart. Thanks!


Edit:

Figures that after DAYS of searching for it, giving up and asking here, that I'd finally find it on my own. For anybody who is wondering themselves this is what I found:

Player and bot Scavs will always have `EPlayerSide.Savage` as their side, and in online games bots will always have an AccountId of "0". In offline games they will have some kind of UUID as their AccountId.

IsAI does not work online.

shixiaoyi 7th March 2020 01:31 AM

Has anyone researched taking objects out of the air?

IntPtr 7th March 2020 09:18 AM

Anyone has managed to write Angles on MovementContext externally ? Basically I'd like to ask a few questions since w/e i do right now it will write successfully only on certain angle.

brunph 7th March 2020 01:51 PM

Quote:

Originally Posted by shixiaoyi (Post 2712803)
Has anyone researched taking objects out of the air?

yes go back a few pages.

z3500376 7th March 2020 04:07 PM

how to make aimbot by 4x scope

BraydenEGC 7th March 2020 06:17 PM

Quote:

Originally Posted by IntPtr (Post 2713017)
~snip~

You likely aren't clamping properly.


All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

sandstrifer 8th March 2020 01:26 PM

Quote:

Originally Posted by willis81808 (Post 2712756)
I'm writing a mono internal hack right now. Does anybody have any guidance about differentiating between player and bot Scavs? I've tried looking at most things I can think of and so far haven't found much of any way to tell them apart. Thanks!


Edit:

Figures that after DAYS of searching for it, giving up and asking here, that I'd finally find it on my own. For anybody who is wondering themselves this is what I found:

Player and bot Scavs will always have `EPlayerSide.Savage` as their side, and in online games bots will always have an AccountId of "0". In offline games they will have some kind of UUID as their AccountId.

IsAI does not work online.

It also works like this: https://github.com/michaelpittino/Fo...ePlayer.cs#L87

woshng 9th March 2020 12:01 AM

Is the extraction point on Gameworld + 0x18? Yeah, well, maybe you have a better idea

AzX 9th March 2020 12:16 PM

Is it possible to hide the weapon animation? Like if u scope in while moveing the aimbot hits shit :sadwavey:

Aimbot locks at the middle of the screen. Or is it easier to read the crosshair position?

OneSingleNoodle 9th March 2020 06:11 PM

Quote:

Originally Posted by willis81808 (Post 2712756)
I'm writing a mono internal hack right now. Does anybody have any guidance about differentiating between player and bot Scavs? I've tried looking at most things I can think of and so far haven't found much of any way to tell them apart. Thanks!


Edit:

Figures that after DAYS of searching for it, giving up and asking here, that I'd finally find it on my own. For anybody who is wondering themselves this is what I found:

Player and bot Scavs will always have `EPlayerSide.Savage` as their side, and in online games bots will always have an AccountId of "0". In offline games they will have some kind of UUID as their AccountId.

IsAI does not work online.

The player.info property will be empty for bot SCAVs! That's a good way to differentiate.

pubgnice 10th March 2020 05:51 AM

How to divide teammates? player Team

shaliuno 10th March 2020 10:25 AM

Quote:

Originally Posted by pubgnice (Post 2715105)
How to divide teammates? player Team


groupID in profile

pubgcheck 10th March 2020 05:46 PM

Anyone know how to get CameraPos? CameraRot and CameraFov? like pubg

z3500376 11th March 2020 02:19 AM

Quote:

Originally Posted by shaliuno (Post 2715213)
groupID in profile

is 0x10?

https://prnt.sc/rej219 hwid ban?

a179329195 11th March 2020 04:00 PM

Has anyone discovered that can suck out enemy equipment?

pubgcheck 11th March 2020 04:00 PM

Does anyone share aimbot?

I use mouse_event for aim, but have recoil, how to fix?

pubgnice 11th March 2020 04:21 PM

Quote:

Originally Posted by shaliuno (Post 2715213)
groupID in profile


class PlayerProfile
{
public:
char pad_0000[16]; //0x0000
class UnityEngineString *m_pPlayerId; //0x0010
char pad_0018[16]; //0x0018
class PlayerInfo *m_PlayerInfo; //0x0028
char pad_0030[16]; //0x0030
class PlayerHealth *m_pHealth; //0x0040
class Inventory *m_pInventory; //0x0048
}; //Size: 0x0050
Do you have the latest structure? I didn't find the member offset

Diglett 11th March 2020 04:49 PM

Quote:

Originally Posted by a179329195 (Post 2716241)
Has anyone discovered that can suck out enemy equipment?

They say they fixed that in latest patch that came out today.

shaliuno 11th March 2020 08:24 PM

Quote:

Originally Posted by pubgnice (Post 2716258)
class PlayerProfile
{
public:
char pad_0000[16]; //0x0000
class UnityEngineString *m_pPlayerId; //0x0010
char pad_0018[16]; //0x0018
class PlayerInfo *m_PlayerInfo; //0x0028
char pad_0030[16]; //0x0030
class PlayerHealth *m_pHealth; //0x0040
class Inventory *m_pInventory; //0x0048
}; //Size: 0x0050
Do you have the latest structure? I didn't find the member offset

I don't but it is there in PlayerInfo.
Use CheatEngine to get latest one.


Quote:

Originally Posted by Diglett (Post 2716276)
They say they fixed that in latest patch that came out today.

Even if it exists, no one will tell.
This bug was a one year old one. And it was ok to use, until people began to blatantly steal stuff.

Why steal though? You can just copy their gear and extract...

1824608719 11th March 2020 10:41 PM

Guys, how do I get playername?
0x3A0+0x40+0x10+0x14 Not perfect

theghost2905 12th March 2020 06:11 PM

Quote:

Originally Posted by 1824608719 (Post 2716529)
Guys, how do I get playername?
0x3A0+0x40+0x10+0x14 Not perfect

player ] 0x3A0 ] 0x28 ] 0x10 ] 0x10 = name length
player ] 0x3A0 ] 0x28 ] 0x10 ] 0x14 = name

NianQing 12th March 2020 09:14 PM

Does anyone know how much the latest GameObjectManager is and his subordinate offsets?

klmno 12th March 2020 10:16 PM

Quote:

Originally Posted by NianQing (Post 2717318)
Does anyone know how much the latest GameObjectManager is and his subordinate offsets?

0x15181E8

pubgnice 12th March 2020 10:55 PM

Code:

using MONO_ASSEMBLY_LOAD_FROM = intptr_t(__cdecl*)(intptr_t /*image*/, int* /*fname*/, int* /*status*/, bool /*refonly*/);
using MONO_ASSEMBLY_GET_IMAGE = intptr_t(__cdecl*)(intptr_t /*assembly*/);
using MONO_IMAGE_OPEN_FROM_DATA = intptr_t(__cdecl*)(PVOID /*image*/, uint32_t /*data_len*/, int /*need_copy*/, int* /*status*/, int /*refonly*/);
using MONO_CLASS_FROM_NAME = intptr_t(__cdecl*)(intptr_t /*image*/, const char* /*name_space*/, const char* /*class*/);
using MONO_CLASS_GET_METHOD_FROM_NAME = intptr_t(__cdecl*)(intptr_t /*class*/, const char* /*method_name*/, int /*param_count*/);
using MONO_RUNTIME_INVOKE = intptr_t(__cdecl*)(intptr_t /*method*/, void* /*obj*/, void** /*params*/, int** /*exc*/);

MONO_IMAGE_OPEN_FROM_DATA mono_image_open_from_data;
MONO_ASSEMBLY_LOAD_FROM mono_assembly_load_from;
MONO_ASSEMBLY_GET_IMAGE mono_assembly_get_image;
MONO_CLASS_FROM_NAME mono_class_from_name;
MONO_CLASS_GET_METHOD_FROM_NAME mono_class_get_method_from_name;
MONO_RUNTIME_INVOKE mono_runtime_invoke;
std::vector<char> ReadAllBytes(const std::string& fileName) noexcept
{
        std::ifstream input(fileName, std::ios::binary);
        if (input.is_open())
        {
                std::vector<char> buffer((std::istreambuf_iterator<char>(input)), (std::istreambuf_iterator<char>()));
                return buffer;
        }

        return std::vector<char>();
}

DWORD WINAPI HookStart(
        LPVOID lpThreadParameter
)
{
        int status;
        const char * file_name = "C:\\Users\\Administrator\\Desktop\\EscapeFromTarkov-Trainer-master\\bin\\Debug\\NLog.EFT.Trainer.dll";
        auto file_data = ReadAllBytes(file_name);
        PVOID memblock = VirtualAlloc(NULL, file_data.size(), 4096, PAGE_READWRITE);
        memcpy(memblock, file_data.data(), file_data.size());

        HMODULE mono = GetModuleHandleA("mono-2.0-bdwgc.dll");
        mono_image_open_from_data = (MONO_IMAGE_OPEN_FROM_DATA)GetProcAddress(mono, "mono_image_open_from_data_full");
        mono_assembly_load_from = (MONO_ASSEMBLY_LOAD_FROM)GetProcAddress(mono, "mono_assembly_load_from_full");
        mono_assembly_get_image = (MONO_ASSEMBLY_GET_IMAGE)GetProcAddress(mono, "mono_assembly_get_image");
        mono_class_from_name = (MONO_CLASS_FROM_NAME)GetProcAddress(mono, "mono_class_from_name");
        mono_class_get_method_from_name = (MONO_CLASS_GET_METHOD_FROM_NAME)GetProcAddress(mono, "mono_class_get_method_from_name");
        mono_runtime_invoke = (MONO_RUNTIME_INVOKE)GetProcAddress(mono, "mono_runtime_invoke");

        intptr_t raw_image = mono_image_open_from_data(memblock, file_data.size(), 1, &status, 0);
        printf("raw_image %p %d\r\n", raw_image, status);
        MessageBoxA(0, 0, 0, 0);

        intptr_t assembly = mono_assembly_load_from(raw_image, nullptr, &status, 0);
        printf("assembly %p %d\r\n", assembly, status);
        MessageBoxA(0, 0, 0, 0);

        intptr_t image = mono_assembly_get_image(assembly);
        printf("image %p\r\n", image);
        MessageBoxA(0, 0, 0, 0);

        intptr_t class_id = mono_class_from_name(image, "EFT.Trainer", "Loader");
        printf("class_id %p\r\n", class_id);
        MessageBoxA(0, 0, 0, 0);
        intptr_t method = mono_class_get_method_from_name(class_id, "Load", 0);
        printf("method %p\r\n", method);
        MessageBoxA(0, 0, 0, 0);
        mono_runtime_invoke(method, nullptr, nullptr, nullptr);
        return 1;
}


Who knows that my code will crash in "mono_assembly_load_from "?

666Slk 12th March 2020 11:06 PM

External overlay with drive rpm is detected on tarkov? Maybe i will use my rainbow six drive base for this game. Thx.

Adelheid 12th March 2020 11:11 PM

Code:

#define LOCALGAMEWORLD_ITEMARRAY 0x50//
#define LOCALGAMEWORLD_PLAYERARRAY 0x70//

#define PLAYER_PLAYERPROFILE 0x3A8//
#define PLAYER_HEALTHCONTROLLER 0x3D8//
#define PLAYER_HANDSCONTROLLER 0x3f0



All times are GMT. The time now is 12:25 PM.
UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats - [Coding] Escape from Tarkov Reversal, Structs and Offsets

UnKnoWnCheaTs - Multiplayer Game Hacking and Cheats (https://www.unknowncheats.me/forum/index.php)
-   Escape from Tarkov (https://www.unknowncheats.me/forum/escape-from-tarkov/)
-   -   [Coding] Escape from Tarkov Reversal, Structs and Offsets (https://www.unknowncheats.me/forum/escape-from-tarkov/226519-escape-tarkov-reversal-structs-offsets.html)

spaceb0ss 13th March 2020 12:06 AM

Anyone got the viewangles ptr chain from the latest patch?

Edit: 0x1D0 is now 0x1E0

francybabbo88 13th March 2020 12:06 AM

Does anyone know what are the new offsets for player X, Y and Z ?

I'm used to do so:
Code:

        uint64_t getPosition(WinProcess& proc){
                uint64_t result =
                                proc.Read<uint64_t>
                                (Address + 0x0088);
                uint64_t result2 =
                                proc.Read<uint64_t>
                                (result + 0x0028);
                uint64_t result3 =
                                proc.Read<uint64_t>
                                (result2 + 0x0028);
                uint64_t result4 =
                                proc.Read<uint64_t>
                                (result3 + 0x0010);
                uint64_t result5 =
                                proc.Read<uint64_t>
                                (result4 + 0x0020);
                uint64_t result6 =
                                proc.Read<uint64_t>
                                (result5 + 0x0010);
                uint64_t final =
                                proc.Read<uint64_t>
                                (result6 + 0x0038);
                return final;
        }
     
                float getPlayerX(WinProcess& proc){
                float result =
                                proc.Read<float>
                                (getPosition(proc) + offsets.PlayerX);
                return result;
        }
       
       
        float getPlayerZ(WinProcess& proc){
                float result =
                                proc.Read<float>
                                (getPosition(proc) + offsets.PlayerZ);
                return result;
        }
        float getPlayerY(WinProcess& proc){
                float result =
                                proc.Read<float>
                                (getPosition(proc) + offsets.PlayerY);
                return result;
        }

Where the offset used for playerX and playerY were:


uint64_t PlayerY = 0x00B8;
uint64_t PlayerX = 0x00B0;
uint64_t PlayerZ = 0x00B4;

donrevan 13th March 2020 12:27 AM

Code:

#define OFFSET_BREATH_ISAIMING 0x90

#define OFFSET_PROCWEAPONANIM_AIMINDEX 0x10c


MaiGuaQQqun 13th March 2020 08:46 AM

Quote:

Originally Posted by donrevan (Post 2717500)
Code:

#define OFFSET_BREATH_ISAIMING 0x90

#define OFFSET_PROCWEAPONANIM_AIMINDEX 0x10c


how to make use of OFFSET_PROCWEAPONANIM_AIMINDEX

AzX 13th March 2020 01:49 PM

guys which offset is for the Weapon ADS animation ?
like when im in ADS and moving, the crosshair is moving too.

and which one is for no sway ? thanks

miniryu 13th March 2020 06:41 PM

The sprinting offset under the physical class (3b8 : Physical) seems to not be where it previously was.
Code:

20 : Sprinting
Does anyone know if it has been replaced by something else or what I could use as an alternative? I'm trying to check if my character is sprinting to adjust my speedhack dynamically based on pose.

cha3enel3on 13th March 2020 07:45 PM

Quote:

Originally Posted by miniryu (Post 2718348)
The sprinting offset under the physical class (3b8 : Physical) seems to not be where it previously was.
Code:

20 : Sprinting
Does anyone know if it has been replaced by something else or what I could use as an alternative? I'm trying to check if my character is sprinting to adjust my speedhack dynamically based on pose.

It's still there... https://imgur.com/a/vgWNIW2

miniryu 13th March 2020 07:53 PM

Quote:

Originally Posted by cha3enel3on (Post 2718416)
It's still there... https://imgur.com/a/vgWNIW2

I know it's there but that doesn't help me find the offset, there is no mention of it in mono dissect.

cplnathan 14th March 2020 12:36 PM

I'm having issues trying to find weapons on an active player, trying to read active dictionary from bound-cells returns 0x0 for me.
I am using offsets for the latest patch from my mono-dump, does someone have any insight to why I may be having this issue/alternatives?
https://imgur.com/a/owOHcnn

xorrr 14th March 2020 12:54 PM

Quote:

Originally Posted by cplnathan (Post 2718959)
I'm having issues trying to find weapons on an active player, trying to read active dictionary from bound-cells returns 0x0 for me.
I am using offsets for the latest patch from my mono-dump, does someone have any insight to why I may be having this issue/alternatives?
https://imgur.com/a/owOHcnn

You can get active weapon from _handsController + 0x50 check AbstractHandsController class.

cplnathan 14th March 2020 01:22 PM

Quote:

Originally Posted by xorrr (Post 2718977)
You can get active weapon from _handsController + 0x50 check AbstractHandsController class.

Thanks this did the trick.
I wonder why this doesn't show up in my mono-dump though?
Code:

                13b4f0a39e8 : EFT.Player+AbstractHandsController
                        static fields
                        fields
                                18 :  (type: System.Action<System.Boolean>)
                                20 :  (type: UnityEngine.Transform)
                                28 :  (type: System.Boolean)
                        methods


miniryu 14th March 2020 02:26 PM

Anyone got any ideas on how I would go about checking if my character is sprinting?

xorrr 14th March 2020 02:31 PM

Quote:

Originally Posted by cplnathan (Post 2718998)
Thanks this did the trick.
I wonder why this doesn't show up in my mono-dump though?
Code:

                13b4f0a39e8 : EFT.Player+AbstractHandsController
                        static fields
                        fields
                                18 :  (type: System.Action<System.Boolean>)
                                20 :  (type: UnityEngine.Transform)
                                28 :  (type: System.Boolean)
                        methods


Because item at 0x50 is in class that derive from AbstractHandsController. AbstractHandsController is used to provide common operations for classes that derive from it.

pubgcheck 14th March 2020 03:10 PM

what is proceduralWeaponAnimation?

and what getoptic_matrix?

thenigga32 14th March 2020 08:07 PM

Quote:

Originally Posted by pubgcheck (Post 2719083)
what is proceduralWeaponAnimation?

proceduralWeaponAnimation is a class that contains the values for weapon modifiers such as recoil or spread.

willis81808 15th March 2020 01:25 AM

Has anybody tried calling any of the methods for registering/spawning loot? I'm honestly a bit scared to test with it.

If anybody has done it, does it work, or result in a swift ban?

pubgcheck 15th March 2020 03:48 AM

Quote:

Originally Posted by thenigga32 (Post 2719394)
proceduralWeaponAnimation is a class that contains the values for weapon modifiers such as recoil or spread.

Thank you. proceduralWeaponAnimation is 0x70, what offset of getoptic_matrix? the old is +70]+88]+20]+28]+30]+d8

xorrr 15th March 2020 07:55 AM

Does anyone know why functions in ClientFirearmController, ClientPlayer for ex. function named method_81 don't get called?

IntPtr 16th March 2020 01:43 PM

Anybody else got issues getting Current/Max Health after the latest patch (externally) ? Offset is updated (HealthController: 0x3D8)

Edit: Im retarded. Fixed.

Respecter 16th March 2020 06:05 PM

Code:

// Created with ReClass.NET 1.2 by KN4CK3R
// Reversed by @Respecter

class LOCALGAMEWORLD // Aka LocalGameWorld
{
public:
        char pad_0000[24]; //0x0000
        class ExitController *m_pExitController; //0x0018
        char pad_0020[16]; //0x0020
        class UnityEngineString *m_LocalPlayerID; //0x0030
        char pad_0038[24]; //0x0038
        class ArrayItems *m_pItemList; //0x0050
        char pad_0058[24]; //0x0058
        class Array *m_pPlayerList; //0x0070
}; //Size: 0x0078

class Array
{
public:
        char pad_0000[16]; //0x0000
        class List *m_pList; //0x0010
        int32_t Count; //0x0018
        int32_t MaxCount; //0x001C
}; //Size: 0x0020

class List
{
public:
        char pad_0000[32]; //0x0000
        class Player *m_pFirstEntity; //0x0020
        class Player *m_pSecondPlayer; //0x0028
}; //Size: 0x0030

class Player
{
public:
        char pad_0000[24]; //0x0000
        class LocalPlayerChecker *m_pLocalPlayerChecker; //0x0018
        char pad_0020[24]; //0x0020
        class MovementContext *m_pMovementContext; //0x0038
        char pad_0040[48]; //0x0040
        class ProceduralWeaponAnimation *m_pProceduralWeaponAnimation; //0x0070
        char pad_0078[16]; //0x0078
        class PlayerBody *m_pPlayerBody; //0x0088
        char pad_0090[792]; //0x0090
        class PlayerProfile *m_pPlayerProfile; //0x03A8
        char pad_03B0[40]; //0x03B0
        class HealthController *m_pHealthController; //0x03D8
}; //Size: 0x03E0

class MovementContext
{
public:
        char pad_0000[480]; //0x0000
        Vector2 ViewAngles; //0x01E0
        Vector2 ViewAngles2; //0x01E8
        Vector3 LocalPosition; //0x01F0
}; //Size: 0x01FC

class CAMERA // Aka FPS Camera
{
public:
        char pad_0000[48]; //0x0000
        class FPSCamera *m_pFpsCamera; //0x0030
}; //Size: 0x0038

class FPSCamera
{
public:
        char pad_0000[48]; //0x0000
        class CameraObject *m_pCameraObject; //0x0030
        char pad_0038[40]; //0x0038
        char *ObjectName; //0x0060
}; //Size: 0x0068

class CameraObject
{
public:
        char pad_0000[8]; //0x0000
        class CameraContainer *m_pCameraContainer; //0x0008
        char pad_0010[8]; //0x0010
        class CameraEntity *m_pCameraEntity; //0x0018
}; //Size: 0x0020

class CameraEntity
{
public:
        char pad_0000[88]; //0x0000
        Matrix4x4 ViewMatrix0; //0x0058
        char pad_0098[64]; //0x0098
        Matrix4x4 ViewMatrix; //0x00D8
}; //Size: 0x0118

class PlayerBody
{
public:
        char pad_0000[40]; //0x0000
        class m_pSkeletonRootJoin *m_pSkeletonRootJoin; //0x0028
}; //Size: 0x0030

class m_pSkeletonRootJoin
{
public:
        char pad_0000[40]; //0x0000
        class BoneEnumerator *m_pBoneEnumerator; //0x0028
}; //Size: 0x0030

class BoneEnumerator
{
public:
        char pad_0000[16]; //0x0000
        class TransformArray *m_pTransformArray; //0x0010
}; //Size: 0x0018

class TransformArray
{
public:
        char pad_0000[8]; //0x0000
}; //Size: 0x0008

class PlayerProfile
{
public:
        char pad_0000[16]; //0x0000
        class UnityEngineString *m_pPlayerId; //0x0010
        char pad_0018[16]; //0x0018
        class PlayerInfo *m_PlayerInfo; //0x0028
        char pad_0030[16]; //0x0030
        class PlayerHealth *m_pHealth; //0x0040
        class Inventory *m_pInventory; //0x0048
}; //Size: 0x0050

class PlayerInfo
{
public:
        char pad_0000[16]; //0x0000
        class UnityEngineString *m_pPlayerName; //0x0010
        char pad_0018[56]; //0x0018
        int32_t Side; //0x0050
        int32_t CreationDate; //0x0054
}; //Size: 0x0058

class UnityEngineString
{
public:
        char pad_0000[16]; //0x0000
        int32_t size; //0x0010
        wchar_t name[10]; //0x0014
}; //Size: 0x0028

class HealthController // _healthController
{
public:
        char pad_0000[24]; //0x0000
        class HealthBody *m_pHealthBody; //0x0018
}; //Size: 0x0020

class HealthBody
{
public:
        char pad_0000[24]; //0x0000
        class BodyController *m_pBodyController; //0x0018
}; //Size: 0x0020

class BodyController
{
public:
        char pad_0000[48]; //0x0000
        class HealthContainer *m_pHealthHead; //0x0030
        char pad_0038[16]; //0x0038
        class HealthContainer *m_pHealthThorax; //0x0048
        char pad_0050[16]; //0x0050
        class HealthContainer *m_pHealthStomach; //0x0060
        char pad_0068[16]; //0x0068
        class HealthContainer *m_pHealthLeftArm; //0x0078
        char pad_0080[16]; //0x0080
        class HealthContainer *m_pHealthRightArm; //0x0090
        char pad_0098[16]; //0x0098
        class HealthContainer *m_pHealthLeftLeg; //0x00A8
        char pad_00B0[16]; //0x00B0
        class HealthContainer *m_pHealthRightLeg; //0x00C0
}; //Size: 0x00C8

class HealthContainer
{
public:
        char pad_0000[16]; //0x0000
        class Health *m_pHealth; //0x0010
}; //Size: 0x0018

class Health
{
public:
        char pad_0000[16]; //0x0000
        float Health; //0x0010
        float HealthMax; //0x0014
}; //Size: 0x0018

class PlayerHealth
{
public:
        char pad_0000[24]; //0x0000
        class HealthInfo *m_playerHealthInfo; //0x0018
}; //Size: 0x0020

class HealthInfo
{
public:
        char pad_0000[16]; //0x0000
        float CurentHealth; //0x0010
        float MaxHealth; //0x0014
}; //Size: 0x0018

class CameraContainer
{
public:
        char pad_0000[56]; //0x0000
        class CameraPosition *m_pCameraPosition; //0x0038
}; //Size: 0x0040

class CameraPosition
{
public:
        char pad_0000[176]; //0x0000
        Vector3 cameraPosition; //0x00B0
        char pad_00BC[4]; //0x00BC
        Vector4 cameraRotation; //0x00C0
}; //Size: 0x00D0

class ArrayItems
{
public:
        char pad_0000[16]; //0x0000
        class ItemList *m_pItemList; //0x0010
        int32_t Count; //0x0018
        int32_t MaxCout; //0x001C
}; //Size: 0x0020

class ItemList
{
public:
        char pad_0000[32]; //0x0000
        class Item *m_pFirstItem; //0x0020
        class Item *m_pSecondItem; //0x0028
}; //Size: 0x0030

class Item
{
public:
        char pad_0000[16]; //0x0000
        class ItemProfile *m_pItemProfile; //0x0010
}; //Size: 0x0018

class ItemProfile
{
public:
        char pad_0000[40]; //0x0000
        class ItemStats *m_pItemStats; //0x0028
        class ItemBasicInformation *m_pItemInformation; //0x0030
}; //Size: 0x0038

class ItemBasicInformation
{
public:
        char pad_0000[48]; //0x0000
        class ItemLocalization *m_pItemLocalization; //0x0030
        char pad_0038[40]; //0x0038
        char *ItemPatName; //0x0060
}; //Size: 0x0068

class ItemLocalization
{
public:
        char pad_0000[8]; //0x0000
        class ItemCoordinates *m_pItemCoordinates; //0x0008
}; //Size: 0x0010

class ItemCoordinates
{
public:
        char pad_0000[56]; //0x0000
        class ItemLocationContainer *m_pItemLocationContainer; //0x0038
}; //Size: 0x0040

class ItemLocationContainer
{
public:
        char pad_0000[176]; //0x0000
        Vector3 ItemPosition; //0x00B0
}; //Size: 0x00BC

class Inventory
{
public:
        char pad_0000[48]; //0x0000
        class FastAccess *m_pFastAccess; //0x0030
}; //Size: 0x0038

class FastAccess
{
public:
        char pad_0000[16]; //0x0000
        class BoundCells *m_pBoundCells; //0x0010
}; //Size: 0x0018

class BoundCells
{
public:
        char pad_0000[24]; //0x0000
        class CollectionEntry *Entries; //0x0018
        char pad_0020[32]; //0x0020
        int32_t Count; //0x0040
        int32_t Max; //0x0044
}; //Size: 0x0048

class m_pDictionaryItems
{
public:
        char pad_0000[32]; //0x0000
        class Weapon *Knife; //0x0020
        class Weapon *Pistol; //0x0028
        class Weapon *FirstWeapon; //0x0030
        class Weapon *SecondWeapon; //0x0038
        char pad_0040[64]; //0x0040
}; //Size: 0x0080

class Weapon
{
public:
        char pad_0000[32]; //0x0000
        class WeaponDetails *m_pWeaponDetails; //0x0020
}; //Size: 0x0028

class WeaponDetails
{
public:
        char pad_0000[32]; //0x0000
        class WeaponNameInfo *m_pWeaponNameInfo; //0x0020
}; //Size: 0x0028

class WeaponNameInfo
{
public:
        char pad_0000[16]; //0x0000
        class UnityEngineString *Name; //0x0010
        char pad_0018[16]; //0x0018
        class UnityEngineString *NameType; //0x0028
}; //Size: 0x0030

class ProceduralWeaponAnimation
{
public:
        char pad_0000[40]; //0x0000
        class BreathEffector *m_pBreath; //0x0028
        char pad_0030[24]; //0x0030
        class ShotEffector *m_pShootingg; //0x0048
        char pad_0050[56]; //0x0050
        class OpticSight *m_pOpticSightArray; //0x0088
        char pad_0090[80]; //0x0090
        int32_t Mask; //0x00E0 Write zero for no-recoil / no - sway
        char pad_00E4[44]; //0x00E4
        float CameraSmoothTime; //0x0110
        char pad_0114[192]; //0x0114
        float CameraSmoothSteady; //0x01D4
}; //Size: 0x01D8

class ItemStats
{
public:
        char pad_0000[80]; //0x0000
        class GameItem *m_pGameItem; //0x0050
}; //Size: 0x0058

class StatsNames
{
public:
        char pad_0000[32]; //0x0000
        class ItemNames *m_pItemNames; //0x0020
}; //Size: 0x0028

class ItemNames
{
public:
        char pad_0000[80]; //0x0000
        class UnityEngineString *m_pItemHashIdentifier; //0x0050
        char pad_0058[8]; //0x0058
        class UnityEngineString *m_pParentHashIdentifier; //0x0060
}; //Size: 0x0068

class OpticSight
{
public:
        char pad_0000[32]; //0x0000
        class UnityCamera *m_pCamera; //0x0020
}; //Size: 0x0028

class UnityCamera
{
public:
        char pad_0000[40]; //0x0000
        class CameraRaw *m_pCameraRaw; //0x0028
}; //Size: 0x0030

class BreathEffector
{
public:
        char pad_0000[144]; //0x0000
        bool IsAiming; //0x0090
        char pad_0091[3]; //0x0091
        float Intensity; //0x0094
}; //Size: 0x0098

class ShotEffector
{
public:
        char pad_0000[104]; //0x0000
        float Intensity; //0x0068
}; //Size: 0x006C

class CameraRaw
{
public:
        char pad_0000[48]; //0x0000
        class CameraEntity *m_pCameraEntity; //0x0030
}; //Size: 0x0038

class PlayerId
{
public:
        char pad_0000[16]; //0x0000
        int32_t N000007E4; //0x0010
        wchar_t N000007F5[24]; //0x0014
        char pad_0044[112]; //0x0044
}; //Size: 0x00B4

class LocalPlayerChecker
{
public:
        char pad_0000[8]; //0x0000
}; //Size: 0x0008

class ExitController
{
public:
        char pad_0000[32]; //0x0000
        class ExitPoint *m_pExitPoint; //0x0020
}; //Size: 0x0028

class ExitPoint
{
public:
        char pad_0000[24]; //0x0000
        int32_t ExitCount; //0x0018
        char pad_001C[4]; //0x001C
        class Extraction *m_pFirstEntry; //0x0020
        class Extraction *m_pSecondEntry; //0x0028
}; //Size: 0x0030

class Extraction
{
public:
        char pad_0000[16]; //0x0000
        class PositionStuff *m_pPositionStuff; //0x0010
        char pad_0018[64]; //0x0018
        class ExtractionName *m_pExtractName; //0x0058
}; //Size: 0x0060

class ExtractionName
{
public:
        char pad_0000[16]; //0x0000
        class UnityEngineString *Name; //0x0010
}; //Size: 0x0018

class PositionStuff
{
public:
        char pad_0000[48]; //0x0000
        class PositionStuff2 *m_pPositionStuff2; //0x0030
}; //Size: 0x0038

class PositionStuff2
{
public:
        char pad_0000[48]; //0x0000
        class PositionStuff3 *m_pPositionStuff3; //0x0030
}; //Size: 0x0038

class PositionStuff3
{
public:
        char pad_0000[8]; //0x0000
        class ExtractionTransforms *m_pExtractionTransform; //0x0008
}; //Size: 0x0010

class ExtractionTransforms
{
public:
        char pad_0000[40]; //0x0000
        class ExtranctionTransformPointer *m_pExtractionTransform; //0x0028
}; //Size: 0x0030

class ExtranctionTransformPointer
{
public:
        char pad_0000[16]; //0x0000
        class Transform *m_pTransform; //0x0010
}; //Size: 0x0018

class Transform
{
public:
        char pad_0000[40]; //0x0000
        Matrix4x4 ExitMatrix; //0x0028
}; //Size: 0x0068

class CollectionEntry
{
public:
        char pad_0000[48]; //0x0000
        class InventoryLogicSlot *m_pKnife; //0x0030
        char pad_0038[16]; //0x0038
        class InventoryLogicSlot *m_pPistol; //0x0048
        char pad_0050[16]; //0x0050
        class InventoryLogicSlot *m_pFirstWeapon; //0x0060
        char pad_0068[16]; //0x0068
        class InventoryLogicSlot *m_pSecondWeapon; //0x0078
}; //Size: 0x0080

class InventoryLogicSlot
{
public:
        char pad_0000[24]; //0x0000
        class DizBindingBindableState *m_pReactiveContainedItem; //0x0018
}; //Size: 0x0020

class DizBindingBindableState
{
public:
        char pad_0000[16]; //0x0000
        class GameItem *m_pGameItem; //0x0010
}; //Size: 0x0018

class GameItem
{
public:
        char pad_0000[32]; //0x0000
        class ItemTemplate *m_pItemTemplate; //0x0020
}; //Size: 0x0028

class ItemTemplate
{
public:
        char pad_0000[16]; //0x0000
        class UnityEngineString *m_pName; //0x0010
        char pad_0018[16]; //0x0018
        class UnityEngineString *m_ItemSoundName; //0x0028
        char pad_0030[24]; //0x0030
        class UnityEngineString *m_pSlotName; //0x0048
        class UnityEngineString *m_pHashName; //0x0050
        char pad_0058[8]; //0x0058
        class UnityEngineString *m_pHashCategory; //0x0060
}; //Size: 0x0068



All times are GMT. The time now is 12:25 PM.