bool AddItem = false;
int PickupType = 101;
void (*PickupItem)(void *characterInfo, int pickupType, bool inAir);
void* (*old_get_MainCharacter)(void *instance);
void* hk_get_MainCharacter(void *instance) {
void* characterInfo = old_get_MainCharacter(instance);
if (characterInfo && AddItem) {
AddItem = false;
PickupItem(characterInfo, PickupType, true);
}
return characterInfo;
}
PickupItem = (void(*)(void *,int,bool))Il2CppGetMethodOffset(
"Assembly-CSharp.dll", "SYBO.Subway", "CharacterInfo", "PickupItem", 2);
DobbyHook(Il2CppGetMethodOffset("Assembly-CSharp.dll", "SYBO.Subway.Systems", "MainCharacterSystem", "get_MainCharacter", 0),(void*)hk_get_MainCharacter,(void**)&old_get_MainCharacter);
OBFUSCATE("5_Spinner_Item Type_Magnet,DoubleScore,Sneakers,Jetpack,PogoStick,MysteryPowerup,HeadStart,ScoreBooster,HoverBoard,Shield"),
OBFUSCATE("6_Button_Add Item"),
case 5:
switch (value) {
case 0: PickupType = 101; break;
case 1: PickupType = 102; break;
case 2: PickupType = 103; break;
case 3: PickupType = 104; break;
case 4: PickupType = 105; break;
case 5: PickupType = 106; break;
case 6: PickupType = 107; break;
case 7: PickupType = 108; break;
case 8: PickupType = 109; break;
case 9: PickupType = 201; break;
default: PickupType = 101; break;
}
break;
case 6:
AddItem = true;
break;
Done
15 · 1.1K · 14:04