Finding memory values? menu

User Tag List

Page 6 of 7 FirstFirst ... 234567 LastLast
Results 76 to 90 of 92
  1. #76
    viperbot's Avatar Contributor
    Reputation
    104
    Join Date
    Jan 2012
    Posts
    599
    Thanks G/R
    2/54
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    You might check this:
    Code:
    public static void log(int msg)
            {
                log(msg);
            }
    Seems like if you call log and pass in a int, it will get stuck in a recursive loop and crash. I havnt looked over at your code to see if you are calling this specific function or not.


    Seems like it should be:
    Code:
    public static void log(int msg)
            {
                log(msg.ToString());
            }
    Last edited by viperbot; 01-28-2014 at 03:51 PM. Reason: added code blocks.
    ]

    Finding memory values?
  2. #77
    overture2112's Avatar Active Member
    Reputation
    27
    Join Date
    Aug 2007
    Posts
    51
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Yea, although the logging stuff should be replaced altogether with something a bit more robust and feature-full.

  3. #78
    overture2112's Avatar Active Member
    Reputation
    27
    Join Date
    Aug 2007
    Posts
    51
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    fixed crashes

    I changed the framework to run everything on the main thread (via MonoBehaviour, whose Update() is called by Unity3d every frame). This eliminates all known crashes and now the bot completes games 100% of the time. The code can be found in the monobehaviour branch here: https://github.com/sigmundnetski/Sig.../monobehaviour

    Future work:

    • Minion battlecries
    • Spells
    • Hero powers
    • Smarter AI


    Known Issues:


    • Ending the game and starting a new one seems to fail once in a while (most likely fixed with most recent changes, but no thorough testing yet)
    Last edited by overture2112; 01-29-2014 at 02:46 AM.

  4. #79
    Maddin1803's Avatar Member
    Reputation
    25
    Join Date
    Mar 2012
    Posts
    40
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Nice work as always

  5. #80
    youknowjack's Avatar Member
    Reputation
    1
    Join Date
    Apr 2009
    Posts
    2
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Has anyone figured out how to inspect a spell to determine what it does? (other than just parsing the description text) The spell types don't seem to be particularly illuminating

  6. #81
    Helza's Avatar Member
    Reputation
    1
    Join Date
    Jul 2012
    Posts
    43
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by youknowjack View Post
    Has anyone figured out how to inspect a spell to determine what it does? (other than just parsing the description text) The spell types don't seem to be particularly illuminating
    i do know, but i do know someone scraped hearthead and made an json export.. no idea how old is is though:
    Download cards.json from Sendspace.com - send big files the easy way

    I would have guess the effects would also be in the Entity XML of the Cards but dont see it right now..
    http://www.ownedcore.com/forums/mmo/...e-card-id.html (Heartstone Card ID)

  7. #82
    viperbot's Avatar Contributor
    Reputation
    104
    Join Date
    Jan 2012
    Posts
    599
    Thanks G/R
    2/54
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Each entity has "tags" that can be exported.
    ]

  8. #83
    speedtouch1's Avatar Private
    Reputation
    1
    Join Date
    Jan 2011
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by overture2112 View Post
    I changed the framework to run everything on the main thread (via MonoBehaviour, whose Update() is called by Unity3d every frame). This eliminates all known crashes and now the bot completes games 100% of the time. The code can be found in the monobehaviour branch here: https://github.com/sigmundnetski/Sig.../monobehaviour

    Future work:

    • Minion battlecries
    • Spells
    • Hero powers
    • Smarter AI


    Known Issues:


    • Ending the game and starting a new one seems to fail once in a while (most likely fixed with most recent changes, but no thorough testing yet)
    Awesome work on this overture2112!

    On the master branch it displayed "Sigmund online" perfectly but I wasn't able to echo commands or run through the test plugin. In Sigmund with the default w.RunPlugin("TestPlugin"); enabled, it wouldn't let me move away from the main menu hub.

    I also gave the MonoBehaviour a shot and echoing commands worked. With that w.RunPlugin("TestPlugin"); enabled, it would sit on a black screen on launch and not even make it to the main menu. With it commented out I was able to echo commands, but trying to run TestPlugin nothing happened.

    I'm very new to this kind of programming so I'm not sure what problem is going on. How would I go about debugging the program? I tried attaching it to the Hearthstone.exe process and adding breakpoints but it couldn't find pdb symbols, even though I compiled it in debug mode. And where do the log lines go? I can see the echo and log.say coming up in the game, but how can I view the Console.WriteLine output?

    EDIT: oops this is embarrassing, I should have gone back and read over the thread.

    Turns out I had to copy the Mono.Cecil.dll to the game directory Hearthstone\Hearthstone_Data\Managed. and the log data can be found in the game directory 'Hearthstone\Hearthstone_Data\output_log.txt'

    Can we add those 2 things to the readme on the git?

    EDIT2: played around with the battlecry targetting and got something working, so far no bugs from the following scenarios, a lot of code copied from the attack section that I don't quite understand, some may be redundant.
    1. Worked with Shattered Sun Cleric by itself.
    2. Worked with Shattered Sun Cleric and 1 other minion (it buffed the minion)
    3. Worked with Stormpike Commando and 4 minions (it hit the first minion for 2 damage)



    Not sure how github works, I think I would need permission to commit anything, and I'm not sure if it's been abandoned. Maybe I'll need to do some forking or branching?

    Anyway, the change inside Plugin.cs:

    Code:
                    // do notifies
                    if (doTargetting)
                    {
                        Log.log("    DoDropMinion doing targetting");
                        if (EnemyActionHandler.Get() != null)
                        {
                            EnemyActionHandler.Get().NotifyOpponentOfTargetModeBegin(c);
    
                            // get a list of my cards on the battlefield, could do enemy cards as well
                            var myPlayedCards = myPlayer.GetBattlefieldZone().GetCards().ToList();
    
                            // look through the cards, would normally select one based on this
                            foreach (Card card in myPlayedCards)
                            {
                                var e = card.GetEntity();
                                Log.log("considering for battlecry: " + e.GetName());
                            }
    
                            // for now just do the first card in the list
                            gs.GetGameEntity().NotifyOfBattlefieldCardClicked(myPlayedCards[0].GetEntity(), true);
    
                            myPlayer.GetBattlefieldZone().UnHighlightBattlefield();
                            Log.log("    Response mode pre: " + gs.GetResponseMode().ToString());
                            if (InputManager.Get().DoNetworkResponse(myPlayedCards[0].GetEntity()))
                            {
                                Log.log("    Response mode post: " + gs.GetResponseMode().ToString());
                                EnemyActionHandler.Get().NotifyOpponentOfTargetEnd();
    
                                myPlayer.GetHandZone().UpdateLayout(-1, true);
                                myPlayer.GetBattlefieldZone().UpdateLayout();
                                Log.log("    target succeeded");
                            }
                        }
                    }
    Last edited by speedtouch1; 02-17-2014 at 03:36 AM. Reason: oops

  9. #84
    overture2112's Avatar Active Member
    Reputation
    27
    Join Date
    Aug 2007
    Posts
    51
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I haven't touched it much lately, but it should be easy to make a fork.

  10. #85
    speedtouch1's Avatar Private
    Reputation
    1
    Join Date
    Jan 2011
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by overture2112 View Post
    I haven't touched it much lately, but it should be easy to make a fork.
    Alright! I have a fork over at: https://github.com/spood/Sigmund/tree/monobehaviour

    I've implemented battlecry targeting, and spell casting.
    Also fixed a bug with the max minions (it tried playing 1 even when our board was full, and got stuck).

    In terms of making this a complete API, these are the things left to do:
    • Hero Power
    • Fix random crashing between games, not sure why this happens. I've had it run flawlessly for several games in a row. Might have something to do with mouse moving?
    • DoMulligan. Right now it always replaces all the cards, should allow some logic there.


    I've mostly guessed at the things I've implemented based on the other code, and the function names. Does anyone how would I go about figuring out what functions actually get called in the client? For example how did you guys know it had to do "InputManager.Get().DoNetworkResponse(c.GetEntity()))" to play a minion? If I had to guess at something like that, I would have never found it.


    EDIT:

    Log of crash, straight from startup. When it happens it seems to be random, but it only happens just before starting a practice match:

    Code:
    Loader.runAssembly ran Plugin.Plugin.init for TestPlugin
    
    11:01:14 PM: Plugin started
    
    11:01:17 PM: Playing game against practice AI
    
    Unloading 2 Unused Serialized files (Serialized files now loaded: 16 / Dirty serialized files: 0)
    
    Unloading 23 unused Assets to reduce memory usage. Loaded Objects now: 7455.
    Total: 16.760376 ms (FindLiveObjects: 0.342189 ms CreateObjectMapping: 1.001209 ms MarkObjects: 13.515338 ms  DeleteObjects: 1.222199 ms)
    
    Unhandled Bnet Error: [event=Games_OnCancelGame error=ERROR_INVALID_ARGS]
     
    (Filename: C:/BuildAgent/work/cac08d8a5e25d4cb/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)
    
    Error.AddFatal() - message=Oops! Playful sprites have disrupted Hearthstone as it was linking up to the Battle.net service. Please wait a few minutes for them to disperse and try re-launching the game.
     
    (Filename: C:/BuildAgent/work/cac08d8a5e25d4cb/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)
    
    Unhandled Bnet Error: [event=Bnet_OnDisconnected error=ERROR_INVALID_ARGS]
     
    (Filename: C:/BuildAgent/work/cac08d8a5e25d4cb/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)
    
    Error.AddFatal() - message=Oops! Playful sprites have disrupted Hearthstone as it was linking up to the Battle.net service. Please wait a few minutes for them to disperse and try re-launching the game.
     
    (Filename: C:/BuildAgent/work/cac08d8a5e25d4cb/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)
    
    Error.AddFatal() - message=You were disconnected from the Battle.net service. Please relaunch Hearthstone to reconnect.
     
    (Filename: C:/BuildAgent/work/cac08d8a5e25d4cb/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)
    
    Unloading 2 Unused Serialized files (Serialized files now loaded: 16 / Dirty serialized files: 0)
    
    Unloading 240 unused Assets to reduce memory usage. Loaded Objects now: 8141.
    Total: 17.500414 ms (FindLiveObjects: 0.517401 ms CreateObjectMapping: 1.254146 ms MarkObjects: 12.124514 ms  DeleteObjects: 3.030634 ms)
    
    11:01:26 PM: Mainloop failed over to default. Mode: FATAL_ERROR
    
    11:01:29 PM: Mainloop failed over to default. Mode: FATAL_ERROR
    
    11:01:32 PM: Mainloop failed over to default. Mode: FATAL_ERROR
    Last edited by speedtouch1; 02-17-2014 at 11:04 PM.

  11. #86
    overture2112's Avatar Active Member
    Reputation
    27
    Join Date
    Aug 2007
    Posts
    51
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by speedtouch1 View Post
    I've mostly guessed at the things I've implemented based on the other code, and the function names. Does anyone how would I go about figuring out what functions actually get called in the client? For example how did you guys know it had to do "InputManager.Get().DoNetworkResponse(c.GetEntity()))" to play a minion? If I had to guess at something like that, I would have never found it.
    You can disassemble the hearthstone code. Also, if you look at HearthstoneExtract there should be a readme or something that has a link to an archive of source files generated from a disassembly which you can add to the solution to get easier searching.

  12. #87
    Maddin1803's Avatar Member
    Reputation
    25
    Join Date
    Mar 2012
    Posts
    40
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Yep, decompiling the heartstone Source is the easiest way
    Aside of that, you should add a stacktrace dump to your catch, this way you would get by far better informations about your crashs.

  13. #88
    speedtouch1's Avatar Private
    Reputation
    1
    Join Date
    Jan 2011
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks, I've been able to get a better understanding from the src files for "HearthstoneExtract."

    Still having trouble tracking down this error though, the entire code has a try catch around it, and it appears to be completely random when it does happen. I run the plugin, it starts a practice AI match, and echos it to the screen (so I know the plugin is loaded and executing commands as intended), then it goes to deck selection, and just when it's about to start the game, it throws an error:


    Code:
    Sigmund online
    
    Platform assembly: D:\Games\Hearthstone\Hearthstone_Data\Managed\System.Xml.dll (this message is harmless)
    [HealthyGaming] CAIS Active: False,  Accout Country: CAN,  Time: 6.79141,  Played Time: 0,  Rested Time: 0
     
    (Filename: C:/BuildAgent/work/cac08d8a5e25d4cb/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)
    
    Unloading 5 Unused Serialized files (Serialized files now loaded: 16 / Dirty serialized files: 0)
    
    Unloading 40 unused Assets to reduce memory usage. Loaded Objects now: 7449.
    Total: 9.168311 ms (FindLiveObjects: 0.239433 ms CreateObjectMapping: 0.507520 ms MarkObjects: 7.539699 ms  DeleteObjects: 0.460753 ms)
    
    Platform assembly: D:\Games\Hearthstone\Hearthstone_Data\Managed\Mono.Cecil.dll (this message is harmless)
    Loader.exec called for C:\Users\Spood\Documents\GitHub\Sigmund\plugins\testplugin.dll
    
    Non platform assembly: C:\Users\Spood\AppData\Local\Temp\tmp1bcea906.tmp (this message is harmless)
    7:17:07 PM: Destroyed old plugin
    
    Loader.runAssembly ran Plugin.Plugin.init for TestPlugin
    
    7:17:07 PM: Plugin started
    
    7:17:10 PM: Playing game against practice AI
    
    Unloading 2 Unused Serialized files (Serialized files now loaded: 16 / Dirty serialized files: 0)
    
    Unloading 23 unused Assets to reduce memory usage. Loaded Objects now: 7455.
    Total: 17.411821 ms (FindLiveObjects: 0.375782 ms CreateObjectMapping: 1.039413 ms MarkObjects: 14.018248 ms  DeleteObjects: 1.256122 ms)
    
    Unhandled Bnet Error: [event=Games_OnCancelGame error=ERROR_INVALID_ARGS]
     
    (Filename: C:/BuildAgent/work/cac08d8a5e25d4cb/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)
    
    Error.AddFatal() - message=Oops! Playful sprites have disrupted Hearthstone as it was linking up to the Battle.net service. Please wait a few minutes for them to disperse and try re-launching the game.
     
    (Filename: C:/BuildAgent/work/cac08d8a5e25d4cb/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)
    
    Unhandled Bnet Error: [event=Bnet_OnDisconnected error=ERROR_INVALID_ARGS]
     
    (Filename: C:/BuildAgent/work/cac08d8a5e25d4cb/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)
    
    Error.AddFatal() - message=Oops! Playful sprites have disrupted Hearthstone as it was linking up to the Battle.net service. Please wait a few minutes for them to disperse and try re-launching the game.
     
    (Filename: C:/BuildAgent/work/cac08d8a5e25d4cb/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)
    
    Error.AddFatal() - message=You were disconnected from the Battle.net service. Please relaunch Hearthstone to reconnect.
     
    (Filename: C:/BuildAgent/work/cac08d8a5e25d4cb/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)
    
    Unloading 2 Unused Serialized files (Serialized files now loaded: 16 / Dirty serialized files: 0)
    
    Unloading 240 unused Assets to reduce memory usage. Loaded Objects now: 8141.
    Total: 10.914170 ms (FindLiveObjects: 0.402789 ms CreateObjectMapping: 0.940939 ms MarkObjects: 7.238348 ms  DeleteObjects: 1.928974 ms)
    
    7:17:22 PM: Mainloop failed over to default. Mode: FATAL_ERROR

  14. #89
    Millow's Avatar Member
    Reputation
    5
    Join Date
    Mar 2007
    Posts
    49
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Dunno if anyone will read this, but I think Assembly-CSharp has been modified since the last time the github was updated.
    I had to modify two things in order to have it to compile, both of the modifications are in the Plugin.cs code:
    Line 107: Replace GameMode.Play by GameMode.UNRANKED_PLAY
    Line 180: Replaced the EndMulliganEarly() by EndMulligan()

    After that it compiled. I'm gonna test it in the next few minutes to see if it works. I will keep you posted (if anyone still cares).
    Thx a bunch to those who've worked on this code, it's very very nice of you guys to have shared it. I hope I will be able to contribute soon, just gotta brush up on my C# skills.

    Cheers guys

    Edit : Can't get it to work...Here's what I did:
    I have followed the instructions on github: I've replaced the Assembly-CSharp and Unity with the newest version. I then patch assembly using the injector. I start the launcher. Run Sigmund to replaced the original Assembly with the patched one. I then try to start the game, but I get stuck on a black screen. Anyone has the same problem and any idea how to fix this ? Thx a bunch
    Last edited by Millow; 04-25-2014 at 10:37 PM.
    "What can be asserted without proof can be dismissed without proof." --- Christopher Hitchens

  15. #90
    overture2112's Avatar Active Member
    Reputation
    27
    Join Date
    Aug 2007
    Posts
    51
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Millow View Post
    I will keep you posted (if anyone still cares).
    If you manage to, send a patch.

    I'm not sure which tree is the most up to date, but speedtouch forked it at some point.

Page 6 of 7 FirstFirst ... 234567 LastLast

Similar Threads

  1. [Tool] Is the use of Ovale memory values with button spamming against the eula?
    By cassrgs in forum World of Warcraft Bots and Programs
    Replies: 4
    Last Post: 01-31-2014, 01:12 AM
  2. [Question] How to find K Value
    By adapa in forum WoW Memory Editing
    Replies: 8
    Last Post: 08-04-2011, 05:02 PM
  3. need some help on finding memory stuff and check my current offsets
    By freitag in forum Age of Conan Exploits|Hacks
    Replies: 70
    Last Post: 11-21-2009, 02:56 PM
  4. CE Teleport Value Finding
    By Ednasil in forum World of Warcraft Bots and Programs
    Replies: 23
    Last Post: 01-08-2007, 12:05 PM
  5. How do you find memory offsets in the game?
    By koalaz2004 in forum World of Warcraft General
    Replies: 0
    Last Post: 08-18-2006, 09:40 PM
All times are GMT -5. The time now is 02:12 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search