Jump to content

ada1016

Member
  • Posts

    83
  • Joined

  • Last visited

Profile Information

  • iDevice
    iPhone Xs Max
  • iOS Version
    15.6.1
  • Jailbroken
    No
  • Rooted
    No

Recent Profile Visitors

930 profile views

ada1016's Achievements

Apprentice

Apprentice (3/14)

  • Super Dedicated
  • Dedicated
  • Reacting Well
  • 5 Years In
  • 4 Years In

Recent Badges

5

Reputation

  1. This is a cosco2djx game, not sure if Unity Hacking method guru can help
  2. Cool! looking forward to see more H5GG hack. Can learn and use at same time
  3. Can I customize the H5GG advance menu? For example, a way to hide search area, float tolerance area since I don't always need it once the code is stable.. Thank you
  4. Exactly. it is different way of thinking logic, but this is getting closer to the way Game Developer thinking, much more O-O orient and... I hope I am not taking too much of your time, I try to micmic your code and change the total number of turn that I can use, so I had below diff adding below to var cheats StopCount:["PuzzleUI","notUsed","ONE","SELF","ON","stopCount"] and have below under togglecheat PuzzlePlayer.stopCount = function(){ appendLog("this.m_nTurnNumber= "+this.m_nTurnNumber) this.m_nTurnNumber = 15; } let PuzzleUI = new UnityObject(PuzzlePlayer.PuzzleUI) PuzzleUI.loadFields(["m_nTurnNumber","LootTurnRuneCount"]) // this.m_nTurnNumber = this.LootTurnRuneCount appendLog("m_nTurnNumber= "+this.m_nTurnNumber+" : LootTurnRuneCount ="+this.LootTurnRuneCount) I thought I can print out the turn number, but always I get undefined. I am sure in PuzzleUI, there is such field, and in PuzzlePlayer, there is an instance of PuzzleUI My code here https://www.icloud.com/iclouddrive/0ebWuS2833pIaaBca7M-q3viQ#H5JSPlugin_-_Gem_of_War thank you so much..
  5. and just like you mentioned, this way of cheating make it almost effortless to maintain. The game just upgraded to 7.1 and your script directly take effect with no problem I really must learn this more, thank you!
  6. This is Gem of War. https://apps.apple.com/tw/app/gems-of-war-match-3-strategy/id897954560 thank you for great advice, I will keep learning and play with it. The thing about reseting mana are good advice, but it looks like this game is call same method to control both side (my and enemy's) mana. So when I alter the change, it affect both side.
  7. sorry, ,really interested in this but really got a lot to learn. The more I play with this, the more unknown I realises. Q:Is this script worked like one time thing? That, the script only get executed when the code path get there, and you have to run the script before it trigger. For some method that happened at battle, such as adjust mana when take damage, you cannot use this script as it does not work like a hook. Is this understand correct? Q: if a method has game object in parameter, how do I loadMethods it?e.g. public void AdjustPlayerMana(int playerIndex, int[] manaCollected, ref bool activateManaMatchTraits, bool collectedFromBoard = False, bool wasMatch = False, PuzzleTroop pAdjustmentCause) { } thank you for your time.
  8. No, I cannot change via US Analyser as well. But I should be able to find the address and patch it. So.. if the value cannot be change by UA, it cannot be altered by plugin?
  9. Thank you.. I had very weak sense of Unity Game development, sorry for my further more question.... Objective: change the remaining attempts of a dungen from Dump.cs, I captured this public class GWGameState : MonoBehaviour // TypeDefIndex: 9219 { : public int DelveAttempts { get; } public int get_DelveAttempts() { } : } my Plug.js code try { script = initializeUnitySupport(); //[STEP 2][MODIFY]Change the root object of interest, which should able to link to your other cheat object aryObj = script.call("findUnityObjectOfType", ["$GWGameState", true]); if (!aryObj || aryObj.length == 0) { } for (let i = 0; i < aryObj.length; i++) { let GWGameState = new UnityObject(aryObj[i]); GWGameState.loadFields(['int32 DelveAttempts']); GWGameState.loadMethods(["int32 get_DelveAttempts()"]); GWGameState.DelveAttempts=5 alert("GWGameState (" + aryObj[i].toString(16) + ") with UnityObject:" + GWGameState.DelveAttempts+"get_DelveAttempts="+GWGameState.get_DelveAttempts()) GWGameState.loadFields(['int32 DelveAttempts']); alert(GWGameState.DelveAttempts) } } catch (e) { //reset Unity Support gIl2cppInit = false; var script = initializeUnitySupport(); } Result GWGameState (0x13125ba80) with UnityObject: 5. get_DelveAttempts=3 Unity support crashed and reset completeTypeError: Attempting to change the setter of an unconfigurable property. I believe I didn't change the object value at all, I just changed the object that I initiated, can you please educate ?
  10. thanks @Happy Secret Still much to learn.. I made a recording on what I am experiencing below and found two new things 1. I was able to locate GWEconomyModel as class in UA, but when I click, it always goes to something else (e.g GWGameState). Please see the clip at 17 second. What does this tells me? Please educate 2. I love your tutorial, but if possible, can you share what the code looks like at dump.cs that leads you made aware that instead of tracking GamePlay directly, it is Gameplay.m_ItemStat that you are interested? Wanted to learn you thinking path as well. Thank you so much
  11. This is my game looks like public class GWEconomyModel // TypeDefIndex: 9184 { public int LoyaltyBonusPerDay_Gold; // 0x288 } and my plug-in code try { script = initializeUnitySupport(); aryObj = script.call("findUnityObjectOfType", ["$GWEconomyModel", true]); if (!aryObj) { alert("Cannot find object to cheat. Engine stopped."); } else if (aryObj.length == 0) { var GWEconomyModel = new UnityObject(aryObj[0]) GWEconomyModel.loadFields(['DelveAttemptsPerDay']) var DelveAttemptsPerDay = new UnityObject(GWEconomyModel.DelveAttemptsPerDay) DelveAttemptsPerDay = 50 //CharacterMotor.loadFields(['DelveAttemptsPerDay']) //var DelveAttemptsPerDay = aryObj[0].DelveAttemptsPerDay alert(aryObj.length) } } catch (e) { //reset Unity Support gIl2cppInit = false; var script = initializeUnitySupport(); alert("Unity support crashed and reset complete"); } The result is app always crash at var GWEconomyModel = new UnityObject(aryObj[0]) the aryObj.length is always 0, but not able to load the field. Can you correct my understand and educate how to fix this error?
  12. I am on v1.8.8 (thanks for the great work!) iOS 16.6 iPhone 14 (non-JB) when I try Unity and look for specific address, it froze, at least 5 mins I wait. Nothing happen, not able to tell if it is processing or just hanged. Is this because the game is "complex", or I have not wait no enough? Anyway to tell it is progressing? thank you
  13. does it work on non-JB iOS? I am about to start everything you write here, just in case the JB is show stopper... please advise. thx
×
  • 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