Jump to content

Patcher error


Go to solution Solved by Rook,

25 posts in this topic

Recommended Posts

Posted (edited)

Hi guys

 

I am on iPad Air 9.3.3 with a THEOS from Dhowett.

 

I made a patcher for a game using Flex Converter and a tutorial on the site (in order to show options). Patcher compiles successfully and installs with Error Code 0. However there is no effect on the app itself.

 

I can see the list in preferences but it doesnt effect the game. If i turn it on in flex however, it works

 

Any tips? I already checked for bundle identifiers. They are correct (checked from info.plist)

 

Linked prefbundle and tweak.xm http://www.mediafire.com/file/f979l7tcjlbu80e/TankNations.zip

Updated by Archangel04
Posted (edited)

You didn't link it properly in your pref bundle, post your tweak.xm and your pref plist here

Updated by Crypto
Posted

You didn't link it properly in your pref bundle, post your tweak.xm and your pref plist here

okay

You didn't link it properly in your pref bundle, post your tweak.xm and your pref plist here

done

Posted (edited)

Tweak.xm

 

#define PLIST_PATH @"/var/mobile/Library/PreferenceBundles/tnprefbundle.bundle/tnprefbundle.plist"

 

inline bool GetPrefBool(NSString *key)

{

return [[[NSDictionary dictionaryWithContentsOfFile:PLIST_PATH] valueForKey:key] boolValue];

}

 

%hook CurrencyStoreLayer

-(void) boltButtonTouch:(int)arg1 withGemCost:(int)arg2 {

arg1 = 9999999;

arg2 = 1;

if(GetPrefBool(@"kInfiniteBolts")) {

}

return %orig;

}

%end

 

%hook GameRules

-(int) getGemCostForFuel:(int)arg1 {

if(GetPrefBool(@"kFuelrefill")) {

return 1;

}

return %orig;

}

%end

 

%hook GameRules

-(int) getGemCostForTickets:(int)arg1 {

if(GetPrefBool(@"kArenaTickets")) {

return 1;

}

return %orig;

}

%end

 

%hook MakePartsLayer

-(BOOL) canAffordToUsePartMaker:(int)arg1 {

if(GetPrefBool(@"kParts")) {

return TRUE;

}

return %orig;

}

%end

 

%hook TankPartPlayerItem

-(int) quality {

if(GetPrefBool(@"kQuality")) {

return 5;

}

return %orig;

}

%end

 

%hook TankPartData

-(unsigned int) level {

if(GetPrefBool(@"kLevel")) {

return 5;

}

return %orig;

}

%end

 

%hook TankPartData

-(void) setLevel:(int)arg1 {

arg1 = 10;

if(GetPrefBool(@"kLevel")) {

}

return %orig;

}

%end

 

%hook PlayerLevelInfo

-(int) gemReward {

if(GetPrefBool(@"kGem")) {

return 9999;

}

return %orig;

}

%end

 

%hook MissionTemplate

-(int) fuelCost {

if(GetPrefBool(@"kFuelcost")) {

return 1;

}

return %orig;

}

%end

 

%hook TankPartData

-(int) energyCost {

if(GetPrefBool(@"kInfiniteenergy")) {

return 0;

}

return %orig;

}

%end

 

%hook PlayerData

-(BOOL) hasBoltDoubler {

if(GetPrefBool(@"kBoltDoubler")) {

return TRUE;

}

return %orig;

}

%end

 

%hook LootDropItem

-(BOOL) shouldRewardOnDefeat {

if(GetPrefBool(@"kRewardsdefeat")) {

return TRUE;

}

return %orig;

}

%end

 

%hook PlayerLevelInfo

-(BOOL) doesRefillFuel {

if(GetPrefBool(@"krefillsfuel")) {

return TRUE;

}

return %orig;

}

%end

 

%hook PlayerLevelInfo

-(BOOL) doesAddTankSlot {

if(GetPrefBool(@"kaddstankslot")) {

return TRUE;

}

return %orig;

}

%end

 

 

 

Plist

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>items</key>

<array>

<dict>

<key>cell</key>

<string>PSGroupCell</string>

<key>label</key>

<string>Tank Nations cheats by iOSGods</string>

</dict>

<dict>

<key>action</key>

<string>apply</string>

<key>cell</key>

<string>PSButtonCell</string>

<key>label</key>

<string>Credits</string>

</dict>

<dict>

<key>cell</key>

<string>PSSwitchCell</string>

<key>default</key>

<false/>

<key>defaults</key>

<string>com.archangel.tnprefbundle</string>

<key>key</key>

<string>kInfiniteBolts</string>

<key>label</key>

<string>Infinite Bolts (buy for 1 gem in shop)</string>

</dict>

<dict>

<key>cell</key>

<string>PSSwitchCell</string>

<key>default</key>

<false/>

<key>defaults</key>

<string>com.archangel.tnprefbundle</string>

<key>key</key>

<string>kFuelrefill</string>

<key>label</key>

<string>Fuel refill costs 1 gem</string>

</dict>

<dict>

<key>cell</key>

<string>PSSwitchCell</string>

<key>default</key>

<false/>

<key>defaults</key>

<string>com.archangel.tnprefbundle</string>

<key>key</key>

<string>kArenaTickets</string>

<key>label</key>

<string>Arena Tickets cost 1 gem</string>

</dict>

<dict>

<key>cell</key>o

<string>PSSwitchCell</string>

<key>default</key>

<false/>

<key>defaults</key>

<string>com.archangel.tnprefbundle</string>

<key>key</key>

<string>kParts</string>

<key>label</key>

<string>Can purchase parts anytime (ignore error message)</string>

</dict>

<dict>

<key>cell</key>

<string>PSSwitchCell</string>

<key>default</key>

<false/>

<key>defaults</key>

<string>com.archangel.tnprefbundle</string>

<key>key</key>

<string>kQuality</string>

<key>label</key>

<string>All tank parts are 5* quality</string>

</dict>

<dict>

<key>cell</key>

<string>PSSwitchCell</string>

<key>default</key>

<false/>

<key>defaults</key>

<string>com.archangel.tnprefbundle</string>

<key>key</key>

<string>kLevel</string>

<key>label</key>

<string>All tank parts are level 10</string>

</dict>

<dict>

<key>cell</key>

<string>PSSwitchCell</string>

<key>default</key>

<false/>

<key>defaults</key>

<string>com.archangel.tnprefbundle</string>

<key>key</key>

<string>kGem</string>

<key>label</key>

<string>Level up reward is 9999 gems</string>

</dict>

<dict>

<key>cell</key>

<string>PSSwitchCell</string>

<key>default</key>

<false/>

<key>defaults</key>

<string>com.archangel.tnprefbundle</string>

<key>key</key>

<string>kFuelcost</string>

<key>label</key>

<string>Fuel cost 1 for all levels</string>

</dict>

<dict>

<key>cell</key>

<string>PSSwitchCell</string>

<key>default</key>

<false/>

<key>defaults</key>

<string>com.archangel.tnprefbundle</string>

<key>key</key>

<string>kInfiniteenergy</string>

<key>label</key>

<string>Infinite energy (can use weapons/move unlimited times)</string>

</dict>

<dict>

<key>cell</key>

<string>PSSwitchCell</string>

<key>default</key>

<false/>

<key>defaults</key>

<string>com.archangel.tnprefbundle</string>

<key>key</key>

<string>kBoltDoubler</string>

<key>label</key>

<string>DOUBLE bolt rewards (untested)</string>

</dict>

<dict>

<key>cell</key>

<string>PSSwitchCell</string>

<key>default</key>

<false/>

<key>defaults</key>

<string>com.archangel.tnprefbundle</string>

<key>key</key>

<string>kRewardsdefeat</string>

<key>label</key>

<string>Loot even on loss</string>

</dict>

<dict>

<key>cell</key>

<string>PSSwitchCell</string>

<key>default</key>

<false/>

<key>defaults</key>

<string>com.archangel.tnprefbundle</string>

<key>key</key>

<string>krefillsfuel</string>

<key>label</key>

<string>Levelup refills fuel</string>

</dict>

<dict>

<key>cell</key>

<string>PSSwitchCell</string>

<key>default</key>

<false/>

<key>defaults</key>

<string>com.archangel.tnprefbundle</string>

<key>key</key>

<string>kaddstankslot</string>

<key>label</key>

<string>Levelup adds tank slot (till max)</string>

</dict>

</array>

<key>title</key>

<string>Tank Nations Cheats</string>

</dict>

</plist>

 

 

I already tried PreferenceLoader in first line of Tweak.xm and just Preferences as well

Updated by Archangel04
Posted (edited)

First problem I see :

 

%hook CurrencyStoreLayer

-(void) boltButtonTouch:(int)arg1 withGemCost:(int)arg2 {

arg1 = 9999999;

arg2 = 1;

if(GetPrefBool(@"kInfiniteBolts")) {

}

return %orig;

}

%end

 

 

This : if(GetPrefBool(@"kInfiniteBolts")) { <------- needs to be below your method/class which is : -(void) boltButtonTouch:(int)arg1 withGemCost:(int)arg2 {

 

 

Error 2 : (BOOL) needs to be changed to (bool)

 

 

Your pref plist looks fine

Updated by Crypto
Posted

First problem I see :

%hook CurrencyStoreLayer

-(void) boltButtonTouch:(int)arg1 withGemCost:(int)arg2 {

arg1 = 9999999;

arg2 = 1;

if(GetPrefBool(@"kInfiniteBolts")) {

}

return %orig;

}

%end

This : if(GetPrefBool(@"kInfiniteBolts")) { <------- needs to be below your method/class which is : -(void) boltButtonTouch:(int)arg1 withGemCost:(int)arg2 {

Error 2 : (BOOL) needs to be changed to (bool)

Your pref plist looks fine

Its still not working for the other ones. Even the fuelcost (which works in flex) isnt working here
Posted

Its still not working for the other ones. Even the fuelcost (which works in flex) isnt working here

All of them aren't working? Or a few?

Posted

All of them aren't working? Or a few?

Ive tried everything except the level up and the arena tickers. Fuel isnt working, buy parts isnt working. Then the level hack isnt working

Posted

You didn't give any value to arg1 :

 

 

%hook MakePartsLayer

-(BOOL) canAffordToUsePartMaker:(int)arg1 {

if(GetPrefBool(@"kParts")) {

return TRUE;

}

return %orig;

}

%end

 

 

You didn't give any value to arg1 :

 

%hook GameRules

-(int) getGemCostForTickets:(int)arg1 {

if(GetPrefBool(@"kArenaTickets")) {

return 1;

}

return %orig;

}

%end

 

 

Actually, you didn't return any value to arguments lol I just noticed :p

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
  • Our picks

    • One Punch Man World v1.2.0 +2 Cheats
      Mod APK Game Name: One Punch Man World By Crunchyroll Games, LLC
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.crunchyroll.opm

       

      🤩 Hack Features

      - Damage Multiplier
      - Defense Multiplier

       

      ⬇️ Android Mod APK Download Link


      Hidden Content

      Download Modded APK







       

      📖 Android Installation Instructions

      STEP 1: Download the modded APK file from the link above using your preferred Android browser or download manager.
      STEP 2: Once the download is complete, open your file manager and locate the downloaded .apk file (usually in the Downloads folder).
      STEP 3: Tap the APK file, then select Install. If prompted, enable Install from Unknown Sources in your device settings.
      STEP 3A: If the mod includes an OBB file, extract it if it’s inside an archive. Then move the folder to: /Android/obb/
      STEP 3B: If the mod includes a DATA file, extract it if it’s archived. Then move the folder to: /Android/data/
      STEP 4: Once installed, open the game and toggle your desired cheats & features through the APK mod menu. Enjoy!

       

      NOTE: If you have any questions or issues, read our Frequently Asked Questions topic. If you still need help, post your issue below and we’ll assist you as soon as possible. If the mod works for you, please share your feedback to help other members!

       

      🙌 Credits

      - AlyssaX64

       

      📷 Cheat Video/Screenshots

      N/A

       

       iOS & iPadOS App Hacks
      If you’re looking for Non-Jailbroken & No Jailbreak required iOS IPA hacks, visit the iOS Game Cheats & Hacks or the iOSGods App for a variety of modded games and apps for non-jailbroken iOS devices.
      • 0 replies
    • Only Grind: Loot & Fight v1.3.2 [ +8 APK MOD ] Currency Max
      Mod APK Game Name: Only Grind: Loot & Fight
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=io.onlychads.onlygrind&hl=en

      🤩 Hack Features

      - Success Rate Gems [ Upgrade Then Get ]
      - Gold [ Sell Then Get ]
      - Gold [ Merge Gems Then Get ]
      - Gold [ Upgrade Then Get ]
      - HP
      - DEF
      - ATK
      - Criti DMG
      • 0 replies
    • DEAD TARGET: FPS Zombie Games v6.166.0 [ +10 Cheats ] Currency Max
      Modded/Hacked App: DEAD TARGET: FPS Zombie Games By VNG SINGAPORE PTE LTD
      Bundle ID: com.vng.g6.a.zombie
      iTunes Store Link: https://apps.apple.com/us/app/dead-target-fps-zombie-games/id901793885?uo=4
       

      Hack Features

      - Unlimited Gold
      - Unlimited Cash

      - Unlimited Diamonds
      - Unlimited Grenades
      - Unlimited MedKits
      - Unlimited Ammo
      - One Hit Kill
      - God Mode
      - High Accuracy

      - ADS NO
      • 37 replies
    • DEAD TARGET: FPS Zombie Games v6.166.0 [ +10 Jailed ] Currency Max
      Modded/Hacked App: DEAD TARGET: FPS Zombie Games By VNG SINGAPORE PTE LTD
      Bundle ID: com.vng.g6.a.zombie
      iTunes Store Link: https://apps.apple.com/us/app/dead-target-fps-zombie-games/id901793885?uo=4
       

      Hack Features

      - Unlimited Gold
      - Unlimited Cash

      - Unlimited Diamonds
      - Unlimited Grenades
      - Unlimited MedKits
      - Unlimited Ammo
      - One Hit Kill
      - God Mode
      - High Accuracy

      - ADS NO
      • 59 replies
    • Only Grind: Loot & Fight v1.3.2 [ +11 Cheats ] Currency Max
      Modded/Hacked App: Only Grind: Loot & Fight By Chi Ngo
      Bundle ID: io.onlychads.onlygrind
      App Store Link: https://apps.apple.com/us/app/only-grind-loot-fight/id6499444042?uo=4

       
      🤩 Hack Features

      - IAP FREE [ Buy Anything ] ADS

      - Gems [ Earn Then Get ]

      - Success Rate Gems [ UP Then Get ]

      - Chest +5

      - Gold [ Sell Then Get ]

      - Gold [ Merge Gems Then Get ]

      - Gold [ Up Then Get ]

      - HP

      - DEF

      - ATK

      - Criti DMG
      • 5 replies
    • Only Grind: Loot & Fight v1.3.2 [ +11 Jailed ] Currency Max
      Modded/Hacked App: Only Grind: Loot & Fight By Chi Ngo
      Bundle ID: io.onlychads.onlygrind
      App Store Link: https://apps.apple.com/us/app/only-grind-loot-fight/id6499444042?uo=4
       

      🤩 Hack Features

      - IAP FREE [ Buy Anything ] ADS

      - Gems [ Earn Then Get ]

      - Success Rate Gems [ UP Then Get ]

      - Chest +5

      - Gold [ Sell Then Get ]

      - Gold [ Merge Gems Then Get ]

      - Gold [ Up Then Get ]

      - HP

      - DEF

      - ATK

      - Criti DMG
      • 4 replies
    • North War: Island Defense 3D v1.2.2 [ +6 Cheats ] Currency Max
      Modded/Hacked App: North War: Island Defense 3D By ONDI TECHNOLOGY JSC
      Bundle ID: com.bgg.island.battle
      App Store Link: https://apps.apple.com/ph/app/north-war-island-defense-3d/id6744058107?uo=4 

      🤩 Hack Features

      - Unlimited Gems / Use & Earn
      - Unlimited Coins / Use & Earn
      - Unlimited Energy / Use & Earn
      • 27 replies
    • North War: Island Defense 3D v1.2.2 [ +6 Jailed ] Currency Max
      Modded/Hacked App: North War: Island Defense 3D By ONDI TECHNOLOGY JSC
      Bundle ID: com.bgg.island.battle
      App Store Link: https://apps.apple.com/ph/app/north-war-island-defense-3d/id6744058107?uo=4 

      🤩 Hack Features

      - Unlimited Gems / Use & Earn
      - Unlimited Coins / Use & Earn
      - Unlimited Energy / Use & Earn
      • 25 replies
    • Happy Citizens - Mayor Sim v1.5.10 [ +4 Cheats ] Currency Max
      Modded/Hacked App: Happy Citizens - Mayor Sim By MIYA TECH LIMITED
      Bundle ID: com.miyagames.happycitizen.ios
      App Store Link: https://apps.apple.com/ca/app/happy-citizens-mayor-sim/id6745251520?uo=4


      🤩 Hack Features

      - Gems
      - Cash
      - Energy
      - Water
      • 21 replies
    • Happy Citizens - Mayor Sim v1.5.10 [ +4 Jailed ] Currency Max
      Modded/Hacked App: Happy Citizens - Mayor Sim By MIYA TECH LIMITED
      Bundle ID: com.miyagames.happycitizen.ios
      App Store Link: https://apps.apple.com/ca/app/happy-citizens-mayor-sim/id6745251520?uo=4

       
      🤩 Hack Features

      - Gems
      - Cash
      - Energy
      - Water
      • 29 replies
    • Travel Merge Family v2.901 [ +1++ Cheats ] Currency Max
      Travel Merge Family

      🤩 Hack Features

      - Currency Max 
      • 15 replies
    • Travel Merge Family v2.901 [ +1++ Jailed ] Currency Max
      Modded/Hacked App: Travel Merge Family By Arruga Corp.
      Bundle ID: com.ArrugaCorp.TravelMergeFamily
      App Store Link: https://apps.apple.com/us/app/travel-merge-family/id6553995556?uo=4


      🤩 Hack Features

      - Currency Max
      • 16 replies
×
  • 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