Jump to content

Global variables through functions


Recommended Posts

Hi everybody! I'm experiencing the following problem in the bot i'm programming and I don't seem to be able to find the reason why it doesn't work:

I have a Global array TroopsInTown[101][10] which gets assigned a value in a function (TroopsInfo() ). If I call this function from the "main program" (i.e. not another function) the Global value of 

an element in TroopsInTown[101][10] gets saved correctly and i can access it again later. (as in the code below; the two msgboxes give the same output)

However, if I call TroopsInfo() from inside another function (for istance I make the For loop in the code below a function, since i'm going to use the same sequence of functions a couple of times) then the value gets correctly assigned to TroopsInTown and it shows correctly in the message box inside "TroopsInfo", but the msgbox just after TroopsInfo is empty!! the only operation that it has done is exit the function and the value disappears as if  it was a "Local variable" O.o

here is the code:

;non relevant

Global $TroopsInTown[101][10], $ReturningTroops[101][151][11], $OutGoingTroops[101][151][11], $Hero

;non relevant

For $ControlloNumeroVilli = 1 To $NumeroVilli
 SelectVillageNumber($ControlloNumeroVilli)

 FieldView()

 GetResourceFieldInfo() ;Call only in field view

 VillageView()

 GetBuildingsInfo() ;Call only in town view
 BuildingUnderConstructionInfo() ;Both field and town view are fine
 BarracksTraningCheck() ;Call only inside town view
 TroopsInfo() ;Call everywhere
 
 MsgBox(0,"", $TroopsInTown[$ControlloNumeroVilli][3])
Next

;non relevant

Func TroopsInfo()
 ;the value of $TroopsInTown[$ControlloNumeroVilli][3] changes
 MsgBox(0,"", $TroopsInTown[$ControlloNumeroVilli][3])
Endfunc

thanks for the help :)

Link to comment
Share on other sites

  • Moderators

Kammamuri,

Welcome to the AutoIt forum. :)

What game are you trying to bot? :huh:

M23

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 AutoIt and the forum!

Did you read the forum rules? A link can be found in the lower right corner of each page.

Game automation isn't permitted.

Edited by water

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

  • Moderators

Kammamuri,

 

no offence was intended

And none taken. :)

But please read the Forum rules (the link is also at bottom right of each page) - particularly the bit about not discussing game automation - before you post again. Thread locked. :naughty:

See you soon with a legitimate question I hope. :)

M23

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

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

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