Scenario Help

Forum Forums Grids and Presets Scenario Help

This topic contains 16 replies, has 6 voices, and was last updated by Lyfox Lyfox 3 years ago.

Viewing 2 posts - 16 through 17 (of 17 total)
  • Author
    Posts
  • #33389
    Krazzee01
    Krazzee01
    Participant
    0

    I was running into this issue but with a different script, one I had written, and I figured out what the issue was: It’s the cursor, specifically the ‘Pointing Finger’ cursor. It was breaking my scripts and causing the first input (such as num0) to not be read for some reason.

    The reason it was doing this is because it takes a single confirm first to actually get the pointer finger to hover over the specific option, THEN it requires a second Confirm (num0 or whatever you may have Confirm set to) in order to select/’click’ it and have it be highlighted by the finger, and then it can be clicked with the 2nd confirm input.

    Essentially, when a script is first run it does not have the pointer finger selected since you are using a mouse, it takes a first Confirm (num0) input in order to get the pointer finger to appear and highlight the option, and then and ONLY THEN can it accept inputs such as a Confirm of an option to actually select/’click’ the highlighted option, or any of the num options to move the finger up, down, left or right, etc.

    But if your script loops without any input from you, the cursor will already be there from the last time the script ran, and since there had been no click of the mouse manually it will not need to do that first initial Confirm (num0) input, and this is where the script breaks.

    It breaks because that first num0 Confirm would normally initiate the Pointing Finger and then allow it to highlight an option, but because it looped and had no manual input, the Pointing Finger had already been initiated and the option is highlighted without another first confirm to do this, but the script will still hit it twice anyway, and throw it all off.

    So now this first num0 actually DOES select the option instead of just highlight it, and throws off the entire scenario because now the second num0 confirm further breaks it, because it was scripted to technically be the one that selected Fieldcraft leves (or skipped the text), and now it is not, and so all further num inputs are now broken.

    There’s 2 ways around this I found, a simple, but manual way, and a complicated but non-manual way.

    The simple, but manual way is to manually go to the NPC or interaction in question, and talk to it and then push your Confirm button (num0) until then Pointing Finger appears, then DO NOT click the mouse, and instead hit the escape button.

    Now the pointing finger is initiated, and it doesn’t need to do that initial Double Confirm, and it will read the first one as it should and actually select the option like it’s supposed to.

    The more difficult way via code that I found around this was to kind of force Miqo into a loop. I had the first chapter of my scenario have the double confirm, in order to initiate the Pointing Finger. Then it runs through the full chapter as normal.

    I then have it go to the 2nd page, do the turn-ins or whatnot, then copy+paste the text of my first chapter, minus that first Confirm, and set the entire chapter to repeatChapter().

    This makes it do the script and gathering and whatnot on the first time, and initiate the Pointing Finger, but it then goes to the 2nd page and turns-in and then does the whole script on the first page, just without the first confirm, and repeats that specific chapter, NEVER going back to the first chapter with that initial double Confirm.

    • This reply was modified 3 years ago by Krazzee01 Krazzee01.
    #33391
    Lyfox
    Lyfox
    Participant
    0

    What i do is add a simple dummy line at the start to wake the cursor up. This line does some fake cursor action which is guaranteed to keep it in place. For example if you start with a vertical list you can do key(num6) to move cursor right. Since there are no elements to the right it will do nothing on the 2nd run. But it will wake it up on the 1st run.

    key(num6) //wake up cursor

Viewing 2 posts - 16 through 17 (of 17 total)

You must be logged in to reply to this topic.