• 0

    posted a message on GameCheatsEnabled() question and Develop Cheat Mode

    I am not 100% sure if the additional ~12ish development mode cheats are suppose to be able to be utilized by a regular person, and not some special person with special cmdline flags via battlenet via the agent and possibly via blizzardbrowser (unlikely on the browser, but not so much the agent) or special dev builds (??? Base00000 anyone ???)?

     

    Anyways... You can make GameCheatsEnabled(c_gameCheatCategoryDevelopment) return a true value (or in other words a non-zero value - namely not 1 nor true), but you can exploit a bug in the map editor to get all ~24-25 available cheats (which can be viewed via issuing trigdebug in game, and then on the first tab type in (upper right corner) the word "cheat" and it will filter the variable list. At the end of this list is a an array of boolean values that indicate whether or not that particular cheat is possible to utilize. Normally - the first ~12-14ish of them you can get set to true/one value and the remaining ~12 are always zero. The trick is to add a trigger to the map that contains already defined particular constant debug variables such as DEBUG (set equal to 1) or if I recall maybe DEBUG_GAME... There are a few of these constant all caps variables that will stand out if you type in debug in the filter box in the upper right. The trick is to re-register/make-a-new-variable globally in your trigger script. If you do it correctly the map editor will not complain, and will parse your trigger into your map. Once this is done, go into a test mode game and type trigdebug and you will notice that anything and everything having to do with cheats and debug states and value of GameCheatsEnabled(c_gameCheatCategoryDevelopment) is no longer 0 nor 1. It is equal to -1! All ~24 cheats in that array will all indicate a value of -1, yet in your game you can still issue cheat codes such as debug cheats/actor-cheats/normal-cheats etc... and they all work fine. Now - how do you invoke these other "anonymous" development cheats? Well - the person who started this post has the answer in his very question. You go and look at how the swarm campaign was utilizing them, and excellent! You can now issue those same cheats in test mode game. I am not going to get into issuing cheats in other kinds of games because you are not suppose to be able to do that.

     

    If you can't figure it out, reply to this post and I will dig up my old notes and simply copy and paste the trigger I utilized to make all this work.

     

    Also, did you know that right next to the cheat "charges" is another very good looking cheat code that is never talked about online or anywhere outside of the SC2_x64 binary :)  Take a look easily by running Linux application strings or the Windows equivalent and search for cheat codes such as uncommandable or unselectable or as I said search for "charges" (all of these cheats will be clustered close to each other in a string dump). You will then see what cheat code I am talking about right after "charges" gets registered. You cannot invoke it easily, but it is there waiting for something to find it. Just like the string "UNPROTECTED_BINARY"  can be found in every build of SC2_x64 for years. No one (as far as I know outside of Blizzard/now-Microsoft knows what it means/does/indicates/usefulness/etc.., but it is there. Although in the hidden cheat code next to "charges" there is actual code that registers it unlike an obscure strange string in the middle of nowhere in memory with zero xrefs such as "UNPROTECTED_BINARY". 

     

    Anyways, if you can't figure out how to "enable" GameCheatsEnabled(c_gameCheatCategoryDevelopment) let me know, and I will dig up my old notes.

     

    -skinnyM

    Posted in: Triggers
  • To post a comment, please or register a new account.