Jump to content

help with array variable


Recommended Posts

Hi

I am new to AutoIt and this is my problem:

func ScanPick ($color,$timeout,$x)
    Local $aCoord[2]
    $aCoord = PixelSearch(660,180,1260,780, $color, 2)
    Wait(100)
    print(stringformat("%d %d",$aCoord[0], $aCoord[1]))
    if Not @error then
        MouseClick("left", $aCoord[0], $aCoord[1])
        print(StringFormat("Looting Item [%d]",$x+1))
        Wait($timeout)
        return(1)
    else
        return(0);
    endif
endfunc

I could not get it to access $aCoord[0], $aCoord[1]

I keep getting:

Error: Subscript used on non-accessible variable on the Print; what gives?

Same problem with the MouseClick statement, I simply could not access $aCoord[0] with the error indicating "[" as error???

Need help

Link to comment
Share on other sites

  • Moderators

Burgaud,

It sounds as if the PixelSearch function is not returning an array - I suggest you do some error-checking (with IsArray) before trying to access the array elements. ;)

M23

Edit: Welcome to the AutoIt forums by the way. :)

Edited by Melba23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

Welcome to the Forum

I believe this should be correct!

func ScanPick ($color,$timeout,$x)
    Local $aCoord[2]
    $aCoord = PixelSearch(660,180,1260,780, $color, 2)
    Wait(100)
    if IsArray($aCoord) Then
        print(stringformat("%d %d",$aCoord[0], $aCoord[1]))
            MouseClick("left", $aCoord[0], $aCoord[1])
            print(StringFormat("Looting Item [%d]",$x+1))
            Wait($timeout)
            return(1)
    else
        ConsoleWrite(@error & @LF)
        return(0);
    EndIf
endfunc
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...