Solved Can Ia Hook this type data FP

Status
Not open for further replies.

NdraFvnky

Platinian
Original poster
Jun 11, 2021
8
1
3
18
Indonesia
Hi Everyone.

Can this type data be hooked?
What is FP ?

public FP Damage; // 0x10
public FP CriticalDmg; // 0x18
public FP CriticalChance; // 0x20
public FP ArmorPen; // 0x28
public FP PercentAtkSpeedStart; // 0x30
public FP MoveSpeed; // 0x38

// RVA: 0x58d1d8 VA: 0xa73981d8
public FP GetDamage
Screenshot_2023-07-16-23-00-31-615_bin.mt.plus.png
 

Attachments

Last edited:

entry_point

Platinian
Jul 28, 2023
6
2
3
30
Brazil
This is a type created by the game itself, in this case you can create a structure of it and use it, first you have to look for its definition, if it is a struct or class you can recreate it as in the following example

C#:
public class BulletSplitConfig // TypeDefIndex: 1118
{
    // Fields
    public int count; // 0x0
    public float angle; // 0x4
    public float scaleFactor; // 0x8
    public float deviation; // 0xC
    public float damageFactor; // 0x10
}

// Token: 0x06001E63 RID: 7779 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x6001E63")]
[Address(RVA = "0x20324D0", Offset = "0x20324D0", VA = "0xC941A4D0")]
private void SetScale(BulletSplitConfig splitConfig)
{
}
in this case the type created by the game is BulletSplitConfig, so I can recreate it using it

C++:
struct BulletSplitConfig // TypeDefIndex: 1118
{
private:
    void* type_info; // You need to add these fields, they are hidden fields that every class has related to the type
    void* reserved; // You need to add these fields, they are hidden fields that every class has related to the type
public:
    int count; // 0x0
    float angle; // 0x4
    float scaleFactor; // 0x8
    float deviation; // 0xC
    float damageFactor; // 0x10
};

void SetScale(void* instance, BulletSplitConfig* splitConfig){...} //example of the type being used in the parameter of a function
 
  • Like
Reactions: NdraFvnky

NdraFvnky

Platinian
Original poster
Jun 11, 2021
8
1
3
18
Indonesia
This is a type created by the game itself, in this case you can create a structure of it and use it, first you have to look for its definition, if it is a struct or class you can recreate it as in the following example

C#:
public class BulletSplitConfig // TypeDefIndex: 1118
{
    // Fields
    public int count; // 0x0
    public float angle; // 0x4
    public float scaleFactor; // 0x8
    public float deviation; // 0xC
    public float damageFactor; // 0x10
}

// Token: 0x06001E63 RID: 7779 RVA: 0x00002053 File Offset: 0x00000253
[Token(Token = "0x6001E63")]
[Address(RVA = "0x20324D0", Offset = "0x20324D0", VA = "0xC941A4D0")]
private void SetScale(BulletSplitConfig splitConfig)
{
}
in this case the type created by the game is BulletSplitConfig, so I can recreate it using it

C++:
struct BulletSplitConfig // TypeDefIndex: 1118
{
private:
    void* type_info; // You need to add these fields, they are hidden fields that every class has related to the type
    void* reserved; // You need to add these fields, they are hidden fields that every class has related to the type
public:
    int count; // 0x0
    float angle; // 0x4
    float scaleFactor; // 0x8
    float deviation; // 0xC
    float damageFactor; // 0x10
};

void SetScale(void* instance, BulletSplitConfig* splitConfig){...} //example of the type being used in the parameter of a function
Thank you very much, it helped me
 

DaRealPanDa

Co-Administrator
Staff member
Supporting-Team
Global Moderator
Social Media
Mar 12, 2018
6,771
15,650
2,120
27
Skyrim
Thread will be set to "solved" and closed.
When you're not happy with that just send me a message and i will re-open the thread for you.

Thanks.
 
Status
Not open for further replies.