Menu

SWF components cannot gain focus when Genie is connected.

2014-01-27
2015-05-04
  • softwarekitty

    softwarekitty - 2014-01-27

    Here is my goal: to automatically click some buttons in the game 'dungeon overlord' on Kongregate.

    I have the debug version of flash installed and I have the server running, and the eclipse plugin configured. I'm executing using the second option in the user guide, from eclipse using the Executor, and it seems to be working fine. The following code is where I'm starting from. Assuming I have my firefox open and the first screen of Dungeon Overlord has loaded:

    first screen image

    It will successfully cause the 'overworld' button to be pressed from the very first screen available:

    :::java
    public class Unnamed extends GenieScript {
    
        public Unnamed() throws Exception {
            super();
    
        }
    
        @Override
        public void start() throws Exception {
            SWFApp app1 = connectToApp("MyLairMainWeb");
            (new GenieDisplayObject(
                    "SP^Group:::FP^Group:::SE^CustomGenericButton::PX^0::PTR^0::IX^4::ITR^0",
                    app1)).click(11, 19, 542, 347, 1050, 681, 3, false);
            Thread.sleep(23000);
            (new GenieDisplayObject(
                    "FP^VGroup:::SE^CustomSidePanelButton:::CH^Image::PX^0::PTR^0::IX^6::ITR^0",
                    app1)).click(1025, 400, 542, 347, 1050, 681, 2, false);
    
        }
    }
    

    DO can take a while to load, so I wait for 23 seconds and then want to press a button whose ID I have found using the highlight function:

    second screen image

    But sadly the red-circled button above does not get pressed, and when the genie record functionality is running (after I press the green play button), that red-circled button cannot be pressed, so I can't even generate a script telling me how to press it. Most of the buttons react that way. Just connecting to "MyLairMainWeb" via eclipse makes the buttons impossible to press. During these times when the button can't be pressed, mousing over the button does not change the mouse pointer to a little hand - it is still the normal arrow icon. Strangely enough, the little book in the upper left corner and some of the times in the lower left area can still be pressed, but then they bring up popups that cannot be pressed.

    When Genie server is running and the icon is a green power symbol (not a play-triangle), and I haven't run the script, the mouse pointer is a hand, and I can press all the buttons. However, after the script has finished running and the symbol is a green power icon again, the problem buttons cannot be pressed. Reloading the swf by refreshing the page resets everything so that the button can be pressed, but then we start at the first screen again.

    So my question is, how can I make Genie press the button I want? It seems that running Genie makes the buttons impossible to use.

     

    Last edit: softwarekitty 2014-01-27
  • padmasri

    padmasri - 2015-05-04

    please try using 'true' ooolean instead of false in ur code like below
    new GenieDisplayObject(
    "FP^VGroup:::SE^CustomSidePanelButton:::CH^Image::PX^0::PTR^0::IX^6::ITR^0",
    app1)).click(1025, 400, 542, 347, 1050, 681, 2, true);

    That way it moves the mouse to that component first and then clicks

     

Log in to post a comment.

MongoDB Logo MongoDB