Jump to content

Help With Ted Menu Hooking


Go to solution Solved by bR34Kr,

7 posts in this topic

Recommended Posts

Posted (edited)

So basically I need some help, I've been making a menu using ted's template but when I hook the function and test it in game it does nothing. Can one of y'all tell me what I'm missing or messed up. 

 

function used: 

// RVA: 0x18A5568 Offset: 0x18A5568 VA: 0x1018A5568

public float get_WalkSpeed { }

field used:

//private float walkSpeed; //0xB4

 

code: 

 

#import "Macros.h"

#import <CoreFoundation/CoreFoundation.h>

#import <substrate.h>

#import <Foundation/Foundation.h>

 

void (* ThirdPersonController_WalkSpeed)(void *ThirdPersonController);void _ThirdPersonController_WalkSpeed(void *ThirdPersonController) {

 

    if([switches isSwitchOn:@"Super Speed"]) {

    //private float walkSpeed; // 0xB4

*(float *)((uint64_t)ThirdPersonController + 0xB4) = 200.0f;

 

return ThirdPersonController_WalkSpeed(ThirdPersonController);}

}

void setup() {

 

MSHookFunction((void *)getRealOffset(0x1018A5568), (void *)_ThirdPersonController_WalkSpeed, (void**)&ThirdPersonController_WalkSpeed);

 

        [switches addSwitch:@"Super Speed"

                description:@"extra speed"];

                

                

}

Updated by Tay-K 47
forgot to add something
Posted

wait @bR34Kr I got this compile error when I did that. 

Tweak.xm:26:39: error: expected '(' for function-style cast or type construction

ThirdPersonController_WalkSpeed(float , value);

 

I was looking on google about this and found it's a syntax error. Ive tried the fixed but I can't get (float value) to stop tripping.

 

code where error occurs:

{

 

ThirdPersonController_WalkSpeed(float value);

 

    shouldactivateSuperSpeed = false;

    

    }

Posted
1 hour ago, Tay-K 47 said:

wait @bR34Kr I got this compile error when I did that. 

Tweak.xm:26:39: error: expected '(' for function-style cast or type construction

ThirdPersonController_WalkSpeed(float , value);

 

I was looking on google about this and found it's a syntax error. Ive tried the fixed but I can't get (float value) to stop tripping.

 

code where error occurs:

{

 

ThirdPersonController_WalkSpeed(float value);

 

    shouldactivateSuperSpeed = false;

    

    }

Share the full code and put it in a code block as this is unreadbale

Posted
23 hours ago, bR34Kr said:

Share the full code and put it in a code block as this is unreadbale

#import "Macros.h"
#import <CoreFoundation/CoreFoundation.h>
#import <substrate.h>
#import <Foundation/Foundation.h>

//public void set_WalkSpeed(float value); // RVA: 0x18A5724 Offset: 0x18A5724 VA: 1018A5724

void (* ThirdPersonController_WalkSpeed) (void *ThirdPersonController, float value) = (void (*) (void *, float))getRealOffset(0x1018A5724);

    bool shouldactivateSuperSpeed = true;
    
void (*old_ThirdPersonController_Update) (void *ThirdPersonController);

void ThirdPersonController_Update (void *Update){

int item = [[switches getValueFromSwitch:@"SuperSpeed:"]intValue];

if([switches isSwitchOn:@"SuperSpeed:"])

{

if(shouldactivateSuperSpeed)

{

ThirdPersonController_WalkSpeed(float value);

    shouldactivateSuperSpeed = false;
    
    }

}

else

{

    shouldactivateSuperSpeed = true;

    }
}

void setup() {

MSHookFunction((void *)getRealOffset(0x1018A607C), (void *)ThirdPersonController_Update, (void**)&ThirdPersonController_Update);
        
        [switches addTextfieldSwitch:@"SuperSpeed:"
            description:@"Here you can enter your own speed amount"
              inputBorderColor:UIColorFromHex(0xffffff)];
                
                
}

Ok there, the error occurs here.

ThirdPersonController_WalkSpeed(float value); <--- here

Posted
On 3/8/2021 at 11:41 PM, Tay-K 47 said:

#import "Macros.h"
#import <CoreFoundation/CoreFoundation.h>
#import <substrate.h>
#import <Foundation/Foundation.h>

//public void set_WalkSpeed(float value); // RVA: 0x18A5724 Offset: 0x18A5724 VA: 1018A5724

void (* ThirdPersonController_WalkSpeed) (void *ThirdPersonController, float value) = (void (*) (void *, float))getRealOffset(0x1018A5724);

    bool shouldactivateSuperSpeed = true;
    
void (*old_ThirdPersonController_Update) (void *ThirdPersonController);

void ThirdPersonController_Update (void *Update){

int item = [[switches getValueFromSwitch:@"SuperSpeed:"]intValue];

if([switches isSwitchOn:@"SuperSpeed:"])

{

if(shouldactivateSuperSpeed)

{

ThirdPersonController_WalkSpeed(float value);

    shouldactivateSuperSpeed = false;
    
    }

}

else

{

    shouldactivateSuperSpeed = true;

    }
}

void setup() {

MSHookFunction((void *)getRealOffset(0x1018A607C), (void *)ThirdPersonController_Update, (void**)&ThirdPersonController_Update);
        
        [switches addTextfieldSwitch:@"SuperSpeed:"
            description:@"Here you can enter your own speed amount"
              inputBorderColor:UIColorFromHex(0xffffff)];
                
                
}

Ok there, the error occurs here.

ThirdPersonController_WalkSpeed(float value); <--- here

ThirdPersonWalkSpeed just gets the current speed probably. In the update function, you need to actually change the value of the speed by maybe setting the speed variable or smth else.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...

Important Information

We would like to place cookies on your device to help make this website better. The website cannot give you the best user experience without cookies. You can accept or decline our cookies. You may also adjust your cookie settings. Privacy Policy - Guidelines