Arcade Prehacks

Page 1 of 2 12 LastLast
Results 1 to 10 of 13
  1. #1

    Join Date
    Sep 2010
    Posts
    12

    How to hack games made with Stencyl

    Game Name: Lionel Messi Castaway
    Url: http://blessflasher.com/game.php?title= ... 20castaway

    The gmae is designed/created using stencyl. I tried to hack the game where i wanted to unlock all levels but not able to do that

    Can anyone tell me how to do that, it will be a great help.

  2. #2
    Super Moderator ZuckeR's Avatar
    Join Date
    Feb 2010
    Location
    Germany
    Posts
    1,775

    Re: How to hack games made with Stencyl

    Decompress the game, search for "levelcompletednumber" which should give you a line:
    Code:
            <number cid="-1" id="8" name="levelcompletednumber" save="true" value="0.0"/>
    change it to this:
    Code:
            <number cid="-1" id="8" name="levelcompletednumber" save="true" value="20."/>
    You have to clear your flash cookie for this game or rename it and start it new, all levels should be unlocked.

  3. #3

    Join Date
    Sep 2010
    Posts
    12

    Re: How to hack games made with Stencyl

    I searched in swfdecompiler but i didn't found

    Code:
     <number cid="-1" id="8" name="levelcompletednumber" save="true" value="0.0"/>

  4. #4
    Senior Member
    Join Date
    Nov 2010
    Location
    6C 69 6E 6B F6 70 69 6E 67 2C 20 73 77 65 64 65 6E
    Posts
    590

    Re: How to hack games made with Stencyl

    This game is encrypted, pretty sure.

  5. #5

    Join Date
    Jan 2012
    Posts
    2

    Re: How to hack games made with Stencyl

    No game is not encrypted, games created with stencyl uses no code to create games entire thing is drag & drop and edit.

    When it comes to hack the game follow the instruction told by "ZuckeR" but little change.

    "levelcompletednumber" found in 2 classes 'Design_7_7_selectstagebuttonpressed' & 'Design_3_3_hud'.

    the code in the class is where you will find the unlock code

    Code:
    dynamic public class Design_3_3_hud extends SceneScript
        {
            public var _nextscene:Scene;
            public var _thislevelnumber:Number;
    
            public function Design_3_3_hud(param1, param2:GameState)
            {
                super(param2);
                nameMap["next scene"] = "_nextscene";
                nameMap["this level number"] = "_thislevelnumber";
                return;
            }// end function
    
            override public function init() : void
            {
                doesCustomDrawing();
                setGameAttribute("score", 10000);
                setGameAttribute("landingtimer", 200);
                setGameAttribute("winlosestatus", 0);
                setGameAttribute("clicktimer", 0);
                setGameAttribute("jack_hit_floor", false);
                createActor(getActorType(24), 545, -5, FRONT);
                createActor(getActorType(26), 425, 29, FRONT);
                createActor(getActorType(16), 100, 100, FRONT);
                createActor(getActorType(51), 438, 455, FRONT);
                return;
            }// end function
    
            override public function update() : void
            {
                if (sameAs(getGameAttribute("winlosestatus") as Number, 0))
                {
                    setGameAttribute("clicktimer", (getGameAttribute("clicktimer") as Number) - 1);
                    setGameAttribute("score", (getGameAttribute("score") as Number) - 1);
                    if (getGameAttribute("jack_hit_floor") as Boolean)
                    {
                        setGameAttribute("landingtimer", (getGameAttribute("landingtimer") as Number) - 1);
                        if ((getGameAttribute("landingtimer") as Number) <= 0)
                        {
                            sayToScene("CPMStar Ads", "loadAdAt", 150, 20);
                            setGameAttribute("winlosestatus", 2);
                        }
                    }
                }
                if (sameAs(getGameAttribute("winlosestatus") as Number, 1))
                {
                    sayToScene("CPMStar Ads", "loadAdAt", 150, 20);
                    playSound(getSound(46));
                    createActor(getActorType(28), 140, 280, FRONT);
                    setGameAttribute("winlosestatus", 3);
                }
                if (sameAs(getGameAttribute("winlosestatus") as Number, 2))
                {
                    if ((getGameAttribute("levelcompletednumber") as Number) < this._thislevelnumber)
                    {
                             setGameAttribute("levelcompletednumber", this._thislevelnumber); 
                            saveGame("mySave", "mySave", function (score:Boolean) : void
                {
                    return;
                }// end function
                );
                    }
                    playSound(getSound(45));
                    createActor(getActorType(32), 160, 260, FRONT);
                    setGameAttribute("winlosestatus", 3);
                    runLater(1000 * 1, function (score:TimedTask) : void
                {
                    createActor(getActorType(30), 220, 320, FRONT);
                    return;
                }// end function
                , null);
                }
                if (sameAs(getGameAttribute("winlosestatus") as Number, 4))
                {
                    setGameAttribute("winlosestatus", 5);
                    switchScene(this._nextscene.getID(), createFadeOut(1000 * 0.5), createFadeIn(1000 * 0.5));
                }
                if ((getGameAttribute("score") as Number) <= 0)
                {
                    setGameAttribute("score", 0);
                }
                return;
            }// end function
    
            override public function draw(score:Graphics, score:Number, score:Number) : void
            {
                score.setFontColor(Util.RGBToHex(255, 255, 255));
                score.drawString("" + "score", 20, 5);
                score.drawString("" + (getGameAttribute("score") as Number), 80, 5);
                if ((getGameAttribute("clicktimer") as Number) > 0)
                {
                    setGameAttribute("degree", 360 - Util.toRadians((getGameAttribute("clicktimer") as Number) / (getGameAttribute("maxclicktimer") as Number) * 360));
                    score.setStrokeColor(Util.RGBToHex(255, 51, 51));
                    score.setStrokeThickness(2);
                    score.drawCircle(getMouseX(), getMouseY(), 19);
                    score.drawLine(getMouseX(), getMouseY(), getMouseX(), getMouseY() + 20);
                    score.drawLine(getMouseX(), getMouseY(), getMouseX() + 20 * Math.cos(getGameAttribute("degree") as Number), getMouseY() + 20 * Math.sin(getGameAttribute("degree") as Number));
                }
                if (getGameAttribute("jack_hit_floor") as Boolean && sameAs(getGameAttribute("winlosestatus") as Number, 0))
                {
                    score.drawString("" + "SAFE", 200, 28);
                    score.setStrokeColor(Util.RGBToHex(102, 102, 255));
                    score.drawRect(200, 50, 240, 25);
                    score.setStrokeColor(Util.RGBToHex(153, 0, 153));
                    score.setColor(Util.RGBToHex(255, 200, 0));
                    score.fillRect(200, 50, (getGameAttribute("landingtimer") as Number) / 200 * 240, 25);
                }
                return;
            }// end function
    
            override public function forwardMessage(score:String) : void
            {
                return;
            }// end function
    
        }
    you have to changed the following line to unlock the levels after completing the first level
    From:
    Code:
    setGameAttribute("levelcompletednumber", this._thislevelnumber);
    Changed to:
    Code:
    setGameAttribute("levelcompletednumber", 20);

  6. #6
    Super Moderator ZuckeR's Avatar
    Join Date
    Feb 2010
    Location
    Germany
    Posts
    1,775

    Re: How to hack games made with Stencyl

    Decompress != Decompile

    Decompression/compression tool: http://www.mediafire.com/?zl7za4py44hh169

    Decompress the game and open it with Notepad++ or a the editor of your choice and follow my instructions above. Most of the game code is done in XML which can be read fine with Notepad++.

  7. #7

    Join Date
    Sep 2010
    Posts
    12

    Re: How to hack games made with Stencyl

    I had downloaded swfc11.zip from the given link and decompressed the swf file by dragging on swfdecomp.exe later on opened that swf file in notepad++ then the code looks like
    http://www.freeimagehosting.net/7qosr
    Attached Images Attached Images

  8. #8
    Super Moderator ZuckeR's Avatar
    Join Date
    Feb 2010
    Location
    Germany
    Posts
    1,775

    Re: How to hack games made with Stencyl

    Quote Originally Posted by kavya
    opened that swf file in notepad++ then the code looks like
    Quote Originally Posted by ZuckeR
    Decompress the game, search for "levelcompletednumber" which should give you a line:
    Code:
            <number cid="-1" id="8" name="levelcompletednumber" save="true" value="0.0"/>
    change it to this:
    Code:
            <number cid="-1" id="8" name="levelcompletednumber" save="true" value="20."/>
    You have to clear your flash cookie for this game or rename it and start it new, all levels should be unlocked.

  9. #9

    Join Date
    Sep 2010
    Posts
    12

    Re: How to hack games made with Stencyl

    Sorry I was checking another game.

    I checked the right game, now I found what you said above.

    It worked.

    Tons of thanks ZuckeR

  10. #10
    Super Moderator ZuckeR's Avatar
    Join Date
    Feb 2010
    Location
    Germany
    Posts
    1,775

    Re: How to hack games made with Stencyl

    Quote Originally Posted by kavya
    I checked the right game, now I found what you said above but after editing & saving in notepad++ the games not loading.
    You must have changed the size of the game, make sure that the file size is the same when editing in this way. Otherwise the game corrupts thats why i changed value="0.0" to value="20." as it keeps the size but still is a valid number. Worked fine for me.

    EDIT: Make sure Notepad is set correctly. Go to Settings > Preferences > New Document/Default Directory and set Encoding to ANSI

    EDIT 2: OK, seems like you've done it

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •