Jump to content

Tray Menu


 Share

Recommended Posts

Right then this is part of my Tribal Wars bot, but its to do with the menu,

I've got this code:

While 1=1
    $msg = TrayGetMsg()
    If $msg = $defensiveitem Then
        IniWrite(@ProgramFilesDir & "\ARSoft\TribalwarsAI\setup.ini", "AI Settings", "stance", "Defensive")
        $stance = "Defensive"
        MsgBox(0, "Success", "Stance changed to "& $stance)
    ElseIf $msg = $balanceditem Then
        IniWrite(@ProgramFilesDir & "\ARSoft\TribalwarsAI\setup.ini", "AI Settings", "stance", "All Rounder")
        $stance = "All Rounder"
        MsgBox(0, "Success", "Stance changed to "& $stance)
    ElseIf $msg = $resourceitem Then
        IniWrite(@ProgramFilesDir & "\ARSoft\TribalwarsAI\setup.ini", "AI Settings", "stance", "Resources")
        $stance = "Resources"
        MsgBox(0, "Success", "Stance changed to "& $stance)
    ElseIf $msg = $showstanceitem Then
        ToolTip("Current Stance is "& $stance)
    ElseIf $msg = $runsetupitem Then
        $msg2 = MsgBox(4, "WARNING", "This will delete the set-up file on your computer, this will allow you to completely re-write all the settings, do you want to continue?")
        If $msg2 = 6 Then
            FileDelete(@ProgramFilesDir & "\ARSoft\TribalwarsAI\setup.ini")
        EndIf
    Else
        runbuildings()
        rununits()
        
    EndIf
WEnd

Which basically keeps my script running, and I thought I'd would stop when I click the icon, and then carry on... But it doesn't always respond to my menu clicks on the icon, and when I manage to get it to respond the program terminates, not what I wanted at all!

Can anyone help me?

Self confessed noob...

Link to comment
Share on other sites

How do you mean?

Would I take it out of my while loop altogether?

More like...

Opt("TrayMenuMode", 1)
Opt("TrayOnEventMode", 1)

$defensiveitem = TrayCreateItem("Defensive")
TrayItemSetOnEvent(-1, "_Defensive")

$balanceditem = TrayCreateItem("All Rounders")
TrayItemSetOnEvent(-1, "_Rounders")
TrayCreateItem("")

While 1
    Sleep(100)

    runbuildings() ; place these two functions inside this loop if possible, that way your icon tray will act immediately
    rununits()
WEnd

; ---- Functions -----

Func _Defensive()
    IniWrite(@ProgramFilesDir & "\ARSoft\TribalwarsAI\setup.ini", "AI Settings", "stance", "Defensive")
    $stance = "Defensive"
    MsgBox(0, "Success", "Stance changed to " & $stance)
EndFunc   ;==>_Defensive

Func _Rounders()
    IniWrite(@ProgramFilesDir & "\ARSoft\TribalwarsAI\setup.ini", "AI Settings", "stance", "All Rounder")
    $stance = "All Rounder"
    MsgBox(0, "Success", "Stance changed to " & $stance)
EndFunc   ;==>_Rounders

EDIT "place these two functions inside this loop if possible, that way your icon tray will act immediately"

means.... place the code inside the loop and remove them from "functions" if possible

8)

Edited by Valuater

NEWHeader1.png

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...