Sign in to follow this  
Followers 0
Kammamuri

Global variables through functions

6 posts in this topic

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 :)

Share this post


Link to post
Share on other sites



Kammamuri,

Welcome to the AutoIt forum. :)

What game are you trying to bot? :huh:

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______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

 

Share this post


Link to post
Share on other sites

It's Travian 4.2 ... I'm doing it for fun, I hope that breaking games' rules is not against the forum rules :

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

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 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites

ops sorry .. well the question is theoretical, i can change the variables/function names but the problem persists .. otherwise close the topic asd I'm sorry, no offence was intended

Share this post


Link to post
Share on other sites

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


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______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

 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0