Jump to content

How to unlink features on Unity Games [REAL EXAMPLES]


154 posts in this topic

Recommended Posts

Posted

@Ted2I have a question.

I have the following class:

public class SlotMachine : MonoBehaviour // TypeDefIndex: 9068
{
	public const int REEL_COUNT = 3; // 0x0
	public const int VISIBLE_ROWS = 5; // 0x0
	public const int REEL_EXTRA_END_SYMBOLS = 3; // 0x0
	public const int REEL_OFFSET = 2; // 0x0
    etc...

	// Properties
	public bool StartPulling { get; set; }
	public SpinOddsData resultData { get; }

	// Methods
	/* snip */
	public void set_StartPulling(bool value); // RVA: 0x101FD081C Offset: 0x1FD081C
	private void Awake(); // RVA: 0x101FD0824 Offset: 0x1FD0824
	private void OnDestroy(); // RVA: 0x101FD0D1C Offset: 0x1FD0D1C
	private void TrySpin(); // RVA: 0x101FD0E60 Offset: 0x1FD0E60
	private void OnSpinButtonPressed(); // RVA: 0x101FD1110 Offset: 0x1FD1110
	private void RandomizeSymbols(); // RVA: 0x101FD1114 Offset: 0x1FD1114
	private void UpdateSlotSymbol(SlotMachine.SlotReel reel, int reelPos, int symbolIndex); // RVA: 0x101FD164C Offset: 0x1FD164C
	private Sprite GetSprite(SpinOddsData.Result resultSymbol); // RVA: 0x101FD190C Offset: 0x1FD190C
	private void UpdateDisplay(); // RVA: 0x101FD1454 Offset: 0x1FD1454
	public void Spin(string result); // RVA: 0x101FD1B90 Offset: 0x1FD1B90
	private void AdjustSymbolsForResults(); // RVA: 0x101FD1B98 Offset: 0x1FD1B98
	public SpinOddsData get_resultData(); // RVA: 0x101FD2210 Offset: 0x1FD2210
	private static void .cctor(); // RVA: 0x101FD22CC Offset: 0x1FD22CC
}

I want to be able to call the UpdateSlotSymbols method but can't figure out how because of the SlotMachine.Slotreel part.

 

2nd, I also tried to call the set_StartPulling from the UpdateDisplay but that seems to crash the game

void (*SlotMachine_set_StartPulling)(void *instance, bool enabled) = (void (*)(void *, bool))getRealOffset(0x101FD081C);

void (*SlotMachine_UpdateDisplay)(void *instance);
void _SlotMachine_UpdateDisplay(void *instance){
    
    SlotMachine_UpdateDisplay(instance);

    SlotMachine_set_StartPulling(instance, true);
}

MSHookFunction((void*)(_dyld_get_image_vmaddr_slide(0) + 0x101FD1454),(void*)_SlotMachine_UpdateDisplay,(void**)&SlotMachine_UpdateDisplay);

 

Do you have any idea what I am doing wrong ?

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