Jump to content
BJJ

Problem with stack overflow in my bot

Recommended Posts

Hello everyone,

I have huge problem with "Recurison level has been exceeded - AutoIt will quit to prevent stack overflow" in my own Bot.

I have no idea how rebuild my loops for eliminate this type of error.

 

Here is my code 

 

#Region
#AutoIt3Wrapper_Icon=C:\Users\barbosa\Desktop\autoIt\produkcja\angelica.ico
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Res_Fileversion=1.0
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
#AutoIt3Wrapper_Run_Obfuscator=y
#EndRegion
#Region ; GUI generated by GUIBuilderNxt Prototype 1.0
#include <Constants.au3>
#include <GUIConstantsEx.au3>
#include <Misc.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
;#include <nomad.au3>

HotKeySet("{end}","stop") ;end for app kill

Local Const $sFont = "Open Sans" ;font variable
Local $sFile = "angelica.ico" ;icon variable
Global $MainStyle = BitOR($WS_OVERLAPPED, $WS_CAPTION, $WS_SYSMENU, $WS_VISIBLE, $WS_CLIPSIBLINGS, $WS_MINIMIZEBOX,   $FW_SEMIBOLD = 600)
Global $info_task = "[ Waiting for calibration ]",$info_battlelist = "None",$info_empty = "None",$info_hotkeys = "INACTIVE",$info_100 = "None",$info_mana = "None",$info_food = "None",$info_blank = "None",$info_drop = "None",$info_hand = "None"
Global $hMain = GuiCreate("Auto_Angela_Beta_1.0", 330, 559, -1, -1, $MainStyle)

GUISetIcon($sFile)

$label_100 = GuiCtrlCreateLabel("[F4] Mana Point "&"   "&$info_100, 20, 40, 170, 20,-1)
$label_mana = GuiCtrlCreateLabel("[F5] Mana Bar "&"     "&$info_mana, 20, 60, 170, 20,-1)
$label_empty = GuiCtrlCreateLabel("[F6] Nothing "&"        "&$info_empty, 20, 80, 170, 20,-1)
$label_battlelist = GuiCtrlCreateLabel("[F7] Battle List "&"     "&$info_battlelist, 20, 100, 170, 20,-1)
$label_food = GuiCtrlCreateLabel("[F8] Food "&"            "&$info_food, 20, 120, 170, 20,-1)
$label_blank = GuiCtrlCreateLabel("[F9] Blank "&"           "&$info_blank, 20, 140, 170, 20,-1)
$label_drop = GuiCtrlCreateLabel("[F10] Drop "&"          "&$info_drop, 20, 160, 170, 20,-1)
$label_hand = GuiCtrlCreateLabel("[F11] Hand "&"         "&$info_hand, 20, 180, 170, 20,-1)
$Group_11 = GuiCtrlCreateGroup("Configuration", 10, 10, 190, 220,-1)
$Group_12 = GuiCtrlCreateGroup("Setup", 210, 10, 110, 220,-1)
$btn_setting = GuiCtrlCreateButton("Setup", 220, 40, 70, 30,-1)
$btn_load = GuiCtrlCreateButton("Load", 220, 100, 70, 30,-1)
$btn_save = GuiCtrlCreateButton("Save", 220, 140, 70, 30,-1)
$label_hotkeys = GuiCtrlCreateLabel("Status: "&$info_hotkeys, 220, 190, 90, 20,-1)
$input_spell = GuiCtrlCreateInput("Adura Vita", 20, 270, 120, 20,-1)
$box_house_mode = GuiCtrlCreateCheckbox("House mode", 20, 300, 90, 20,-1)
$box_pk_mode = GuiCtrlCreateCheckbox("Anty PK", 20, 330, 90, 20,-1)
$Checkbox_20 = GuiCtrlCreateCheckbox("Alarms", 20, 360, 90, 20,-1)
$Checkbox_21 = GuiCtrlCreateCheckbox("Anty Idle", 20, 390, 90, 20,-1)
$btn_auto = GuiCtrlCreateButton("Start", 200, 360, 70, 30,-1)
$btn_refiler = GuiCtrlCreateButton("Rune thrower", 200, 400, 70, 20,-1);$btn_manual = GuiCtrlCreateButton("Start", 200, 360, 70, 30,-1)
$Input_22 = GuiCtrlCreateInput("down", 140, 300, 60, 20,-1)
$Input_23 = GuiCtrlCreateInput("up", 210, 300, 60, 20,-1)
$Group_24 = GuiCtrlCreateGroup("Mode", 10, 250, 310, 180,-1)
GUISetFont(9, $FW_SEMIBOLD) ;white color and bigger font
;$label_task = GuiCtrlCreateLabel($info_task, 10, 450, 370, 24,-1)
GUICtrlSetColor($label_task, 0xffffff)
GUISetFont(9, $FW_MEDIUM)
$Label_28 = GuiCtrlCreateLabel("Auto_Angela_Beta 1.1 @ Medivia 2016", 60, 530, 370, 20,-1)



Global $way_one
Global $way_one

Global $food_pos_x,$food_pos_y
Global $hand_pos_x,$hand_pos_y

Global $drop_pos_x,$drop_pos_y
Global $blank_pos_x, $blank_pos_y

Global $RunOrNot
Global $pid
Global $hotkeys = 0 ;By default hotkeys are disabled

Global $mana_color, $battle_color
Global $mana_100_x,$mana_100_y
Global $mana_pixel_x, $mana_pixel_y
Global $empty_pixel_x = 000, $empty_pixel_y = 000
Global $battle_pixel_x, $battle_pixel_y
Global $is_break
;Global $MapClickEscape_x, $MapClickEscape_y
;GUICtrlSetDefColor(0xFF0000)
GUISetBkColor(0x788190) ; will change background color
;GUICtrlSetBkColor($label_hand, 0xF0F4F9)

GuiSetState(@SW_SHOWNORMAL)

Do
    Switch GuiGetMsg()
        Case $GUI_EVENT_CLOSE
            ExitLoop

        Case $btn_setting
            _EnableDisable() ;function which make hotkeys enable/disable


        Case $btn_auto
            IF $info_food <> "None" OR $info_blank <> "None" OR $info_drop <> "None" OR $info_hand <> "None" OR $info_100 <> "None" OR $info_mana <> "None" Then ;simple validation data in possitions variables
               check_mana() ;Function is first in chain for making runes
            Else
               MsgBox(0, "Error", "You must setup coordinations")
            EndIf
         Case $btn_load
            load_from_file() ;load data from text file
         Case $btn_save
            save_to_file() ;dave data in text file
         Case $btn_refiler
            refiler() ;for fast refile
    EndSwitch
Until False
#EndRegion

;Func uher()
   ;x,y postaci = F10 DROP
   ;x,y uha w plecaku = F9 Blank
   ;kolor uha pobrany przy ustawieniu
   ;kolor plecaka = F6 BP Color
   ;odpowienio przygotowane staki plecakow

   ;co 400ms sprawdza czy jest dosc hp na uha
   ;jesli trzeba sie uchnac to sprawdza czy w miejscu na uha jest niebieska runa
   ;jesli nie ma to sprawdza czy jest yellow bp jesli nie ma to sygnal dzwiekowy bledu i kill uhera
   ;jesli jest to otwiera plecak i sprawdza czy jest niebieska runa jak nie ma to error i kill uhera
   ;jesli jest to ja przeciaga na postac bardzo szybko
;EndFunc

Func refiler()
   local $i = 20
   While $i > 0
      MouseClickDrag($MOUSE_CLICK_LEFT, $blank_pos_x, $blank_pos_y, $drop_pos_x, $drop_pos_y, 1)
      $i = $i - 1
   WEnd
EndFunc



Func save_to_file()
   $file = FileOpen("angela_memory.txt", 1)

   If $file = -1 Then
   MsgBox(0, "Error", "Unable to save data.")
   Else
   FileWrite($file, $mana_100_x & @CRLF)
   FileWrite($file, $mana_100_y & @CRLF)

   FileWrite($file, $mana_pixel_x & @CRLF)
   FileWrite($file, $mana_pixel_y & @CRLF)

   FileWrite($file, $empty_pixel_x & @CRLF)
   FileWrite($file, $empty_pixel_y & @CRLF)

   FileWrite($file, $battle_pixel_x & @CRLF)
   FileWrite($file, $battle_pixel_y & @CRLF)

   FileWrite($file, $food_pos_x & @CRLF)
   FileWrite($file, $food_pos_y & @CRLF)

   FileWrite($file, $blank_pos_x & @CRLF)
   FileWrite($file, $blank_pos_y & @CRLF)

   FileWrite($file, $drop_pos_x & @CRLF)
   FileWrite($file, $drop_pos_y & @CRLF)

   FileWrite($file, $hand_pos_x & @CRLF)
   FileWrite($file, $hand_pos_y & @CRLF)

   MsgBox(0, "Done", "Settings saved.")
   EndIf
EndFunc




Func load_from_file()
   $file = FileOpen("angela_memory.txt", $FO_READ)

   If $file = -1 Then
   MsgBox(0, "Error", "Unable to load data.")
Else
   ;wczytywanie segmentow
   $mana_100_x = FileReadLine($file, 1)
   $mana_100_y = FileReadLine($file, 2)
   $info_100 = "X: "&$mana_100_x&"   "&"Y: "&$mana_100_y
   GUICtrlSetData($label_100, "[F4] Mana point "&"   "&$info_100)
   ;;;;
   $mana_pixel_x = FileReadLine($file, 3)
   $mana_pixel_y = FileReadLine($file, 4)
   $info_mana = "X: "&$mana_pixel_x&"   "&"Y: "&$mana_pixel_y
   GUICtrlSetData($label_mana, "[F5] Mana Bar "&"     "&$info_mana)
   ;;;;
   $empty_pixel_x = FileReadLine($file, 5)
   $empty_pixel_y = FileReadLine($file, 6)
   $info_empty = "X: "&$empty_pixel_x&"   "&"Y: "&$empty_pixel_y
   GUICtrlSetData($label_empty, "[F6] Nothing "&"        "&$info_empty)
   ;;;;
   $battle_pixel_x = FileReadLine($file, 7)
   $battle_pixel_y = FileReadLine($file, 8)
   $info_battlelist = "X: "&$battle_pixel_x&"   "&"Y: "&$battle_pixel_y
   GUICtrlSetData($label_battlelist, "[F7] Battle List "&"     "&$info_battlelist)
   ;;;;
   $food_pos_x = FileReadLine($file, 9)
   $food_pos_y = FileReadLine($file, 10)
   $info_food = "X: "&$food_pos_x&"   "&"Y: "&$food_pos_y
   GUICtrlSetData($label_food, "[F8] Food "&"            "&$info_food)
   ;;;;
   $blank_pos_x = FileReadLine($file, 11)
   $blank_pos_y = FileReadLine($file, 12)
   $info_blank = "X: "&$blank_pos_x&"   "&"Y: "&$blank_pos_y
   GUICtrlSetData($label_blank, "[F9] Blank "&"           "&$info_blank)
   ;;;;
   $drop_pos_x = FileReadLine($file, 13)
   $drop_pos_y = FileReadLine($file, 14)
   $info_drop = "X: "&$drop_pos_x&"   "&"Y: "&$drop_pos_y
   GUICtrlSetData($label_drop, "[F10] Drop "&"          "&$info_drop)
   ;;;;
   $hand_pos_x = FileReadLine($file, 15)
   $hand_pos_y = FileReadLine($file, 16)
   $info_hand = "X: "&$hand_pos_x&"   "&"Y: "&$hand_pos_y
   GUICtrlSetData($label_hand, "[F11] Hand "&"         "&$info_hand)

   ;;;;
   FileClose($file)
   MsgBox(0, "Done", "Settings loaded")
   EndIf
EndFunc


Func stop()
   Exit
EndFunc

Func kill()
   Exit 0
EndFunc

;functions checking if checkbox checked
Func _IsChecked_pk_mode($box_pk_mode)
    Return BitAND(GUICtrlRead($box_pk_mode), $GUI_CHECKED) = $GUI_CHECKED
EndFunc   ;==>_IsChecked
Func _IsChecked_house_mode($box_house_mode)
    Return BitAND(GUICtrlRead($box_house_mode), $GUI_CHECKED) = $GUI_CHECKED
EndFunc   ;==>_IsChecked

Func floor_maker()

      ;GUICtrlSetData($label_task, "[ Burning rune.. ]")
      $spell_name = GUICtrlRead($input_spell)
      $way_one = GUICtrlRead($Input_22)
      $way_two = GUICtrlRead($Input_23)

      If _IsChecked_house_mode($box_house_mode) Then
         ControlSend("Medivia","","", "{" & $way_one & "}" )

      EndIf
      Sleep(1000)
      MouseClickDrag($MOUSE_CLICK_LEFT, $blank_pos_x, $blank_pos_y, $hand_pos_x, $hand_pos_y, 2)
      ControlSend("Medivia","","",$spell_name)
      ControlSend("Medivia","","","{enter}")
      MouseClickDrag($MOUSE_CLICK_LEFT, $hand_pos_x, $hand_pos_y, $drop_pos_x, $drop_pos_y, 2)
      Sleep(300)
      MouseClick($MOUSE_CLICK_RIGHT, $food_pos_x, $food_pos_y, 4, 10)
      Sleep(400)
      MouseClick($MOUSE_CLICK_RIGHT, $food_pos_x, $food_pos_y, 4, 10)
      Sleep(300)
      If _IsChecked_house_mode($box_house_mode) Then
         ControlSend("Medivia","","", "{" & $way_two & "}" )
      EndIf
      Beep(1000, 150)
      check_mana()

 EndFunc


Func _EnableDisable()
   If $hotkeys = 0 Then
      HotKeySet("{F4}", "mana_100")
      HotKeySet("{F5}", "mana_get_color")
      ;HotKeySet("{F6}", "MapClickEscape")
      HotKeySet("{F7}", "battle_get_color");Pobiera kolor do zmiennej $battle_color
      HotKeySet("{F8}", "mouse_pos_food")
      HotKeySet("{F9}", "mouse_pos_blank")
      HotKeySet("{F10}", "mouse_pos_drop")
      HotKeySet("{F11}", "mouse_pos_hand")
      $hotkeys = 1
      $info_hotkeys = "ACTIVE"
      GUICtrlSetData($label_hotkeys, "Status: "&" "&$info_hotkeys)
      GUICtrlSetData($label_task, "[ Calibration in progress ]")
   Else
      HotKeySet("{F4}")
      HotKeySet("{F5}")
      HotKeySet("{F6}")
      HotKeySet("{F7}")
      HotKeySet("{F8}")
      HotKeySet("{F9}")
      HotKeySet("{F10}")
      HotKeySet("{F11}")
      $hotkeys = 0
      $info_hotkeys = "INACTIVE"
      GUICtrlSetData($label_hotkeys, "Status: "&" "&$info_hotkeys)
      GUICtrlSetData($label_task, "[ End of calibration ]")
      EndIf
EndFunc


Func check_mana()
   ;sleep(700)
   ;IsSafty()
   $current_color = PixelGetColor($mana_100_x,$mana_100_y) ;Taking current color from defined mana break point on maan bar
   $BattleListColor = PixelGetColor($battle_pixel_x, $battle_pixel_y) ;Taking current color from defined posiotion on battle list

   If _IsChecked_pk_mode($box_pk_mode) Then ;only if pk_mode checkbox is checked
      If $BattleListColor = $battle_color Then ;If collor on battle list point didnt change, means nothing (player/monster) enter on out screen
         $RunOrNot = True
      Else
         $RunOrNot = False
      EndIf
   EndIf

   If Not ($RunOrNot = False) Then ;If variable RunOrNot are not false it mean is true = is safe
      If $mana_color = $current_color Then ;If mana color flood mana bar break point
         floor_maker() ;rune making function
      Else
         ;GUICtrlSetData($label_task, "[ Waiting for mana.. ]")
         Sleep(1000)
         check_mana() ;Mana arnt ready so back to mana checking
      EndIf
   Else ;If not safty then run escape function
      runforestrun()
    EndIf
   EndFunc

Func runforestrun()
      $way_one = GUICtrlRead($Input_22)
      $way_two = GUICtrlRead($Input_23)
      ControlSend("Medivia","","", "{" & $way_one & "}" )
      Sleep(5000)
      Do
         ;GUICtrlSetData($label_task, "[ Not safty outside!! ]")
         Beep(700,300)
         Beep(200,500)
         Sleep(5000)
         ;IsSafty()
         $BattleListColor = PixelGetColor($battle_pixel_x, $battle_pixel_y)
         If $BattleListColor = $battle_color Then
            $RunOrNot = True
         Else
            $RunOrNot = False
         EndIf
      Until $RunOrNot = True
      MouseClick($MOUSE_CLICK_RIGHT, $food_pos_x, $food_pos_y, 4)
      Sleep(1000)
      ControlSend("Medivia","","", "{" & $way_two & "}" )
      Sleep(2000)
      check_mana()
EndFunc



Func mana_100()
   $pos = MouseGetPos()
   $mana_100_x = $pos[0]
   $mana_100_y = $pos[1]
   $info_100 = "X: "&$mana_100_x&"   "&"Y: "&$mana_100_y
   GUICtrlSetData($label_100, "[F4] Mana point "&"   "&$info_100)
EndFunc

Func mana_get_color()
   $pos = MouseGetPos()
   $mana_pixel_x = $pos[0]
   $mana_pixel_y = $pos[1]
   $mana_color = PixelGetColor($mana_pixel_x, $mana_pixel_y)
   $info_mana = "X: "&$mana_pixel_x&"   "&"Y: "&$mana_pixel_y
   GUICtrlSetData($label_mana, "[F5] Mana Bar "&"     "&$info_mana)
EndFunc

Func battle_get_color()
   $pos = MouseGetPos()
   $battle_pixel_x = $pos[0]
   $battle_pixel_y = $pos[1]
   $battle_color = PixelGetColor($battle_pixel_x, $battle_pixel_y)
   $info_battlelist = "X: "&$battle_pixel_x&"   "&"Y: "&$battle_pixel_y
   GUICtrlSetData($label_battlelist, "[F7] Battle List "&"     "&$info_battlelist)
EndFunc


Func mouse_pos_food()
   $pos = MouseGetPos()
   $food_pos_x = $pos[0]
   $food_pos_y = $pos[1]
   $info_food = "X: "&$food_pos_x&"   "&"Y: "&$food_pos_y
   GUICtrlSetData($label_food, "[F8] Food "&"            "&$info_food)
EndFunc


Func mouse_pos_hand()
   $pos = MouseGetPos()
   $hand_pos_x = $pos[0]
   $hand_pos_y = $pos[1]
   $info_hand = "X: "&$hand_pos_x&"   "&"Y: "&$hand_pos_y
   GUICtrlSetData($label_hand, "[F11] Hand "&"          "&$info_hand)
EndFunc


Func mouse_pos_drop()
   $pos = MouseGetPos()
   $drop_pos_x = $pos[0]
   $drop_pos_y = $pos[1]
   $info_drop = "X: "&$drop_pos_x&"   "&"Y: "&$drop_pos_y
   GUICtrlSetData($label_drop, "[F10] Drop "&"          "&$info_drop)
EndFunc

Func mouse_pos_blank()
   $pos = MouseGetPos()
   $blank_pos_x = $pos[0]
   $blank_pos_y = $pos[1]
   $info_blank = "X: "&$blank_pos_x&"   "&"Y: "&$blank_pos_y
   GUICtrlSetData($label_blank, "[F9] Blank "&"          "&$info_blank)
EndFunc

Func afk()
   ControlSend("Medivia","","","{ctrldown}{down}{ctrlup}")
   Sleep(350)
   ControlSend("Medivia","","","{ctrldown}{up}{ctrlup}")
EndFunc

 

Share this post


Link to post
Share on other sites

Hi! First of all i feel like i should mention game automation discussion is not allowed, and by looking at your code i gather that's what this bot is?

However! I realize your problem is not necessarily helping with game automation, but to avoid the problem in the feature.

So i think i know where this error happens. Within your function "check_mana" you've made it so it can call itself, within itself. This could be theoretically infinite, so you get a stack overflow. IF you need repetition of functionality, use a loop within the function. A function calling itself is mostly not a good idea.

Also: "check_mana" calls "runforestrun" whitch can call "check_mana", again making a possible infinite loop.

Hope this solves your problem :)

Share this post


Link to post
Share on other sites

Yes, but I cant see different way to do this. 

 

floor_maker after making magic rune call function check_mana() 

check_mana - this function first checking some condition after that checking mana status, if mana is not ready need call itself for checking this first condition and again mana. If mana is ready call floor_maker for make new rune and then we need to call check_mana again. 

Share this post


Link to post
Share on other sites

Honestly, then maybe you should look into smaller projects, to get a better idea, as to how.

AdlibRegister might be a solution. For right now it seems that the GUI loop is being blocked by "check_mana".

And "floor_maker" does not need to call "check_mana".

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Similar Content

    • By BetaLeaf
      What is Rollbar?
      Rollbar provides real-time error alerting & debugging tools for developers. Learn more about it at https://rollbar.com/product/
      Demo: https://rollbar.com/demo/demo/
      Screenshot:
      Instructions: (RollbarTest.au3)
      ; Include RollbarSDK #include "RollbarSDK.au3" ;Turns on ConsoleWrite debugging override. ;Global $Rollbar_Debug=False ; Initialize RollbarSDK with the project's API key. ; Parameters ....: $__Rollbar_sToken - [Required] Go to https://rollbar.com/<User>/<ProjectName>/settings/access_tokens/ for your project. Use the token for post_server_item. _Rollbar_Init("eaa8464a4082eeabd9454465b8f0c0af") ; Write code that causes an error you want to catch, then call ; _Rollbar_Send ; Parameters ....: $__Rollbar_sErrorLevel - [Required] Must be one of the following values: Debug, Info, Warning, Error, Critical. ; $__Rollbar_sMessage - [Required] The message to be sent. This should contain any useful debugging info that will help you debug. ; $__Rollbar_sMessageSummary - [Optional] A string that will be used as the title of the Item occurrences will be grouped into. Max length 255 characters. If omitted, Rollbar will determine this on the backend. _Rollbar_Send("Debug", "This is an debug message. If you received this, you were successful!", "Debug Message") _Rollbar_Send("Info", "This is a test message. If you received this, you were successful!", "Info Message") _Rollbar_Send("Warning", "This is an warning message. If you received this, you were successful!", "Warning Message") _Rollbar_Send("Error", "This is an error message. If you received this, you were successful!", "Error Message") _Rollbar_Send("Critical", "This is an critical message. If you received this, you were successful!", "Critical Message") _Rollbar_Send("Info", "This is a test message. If you received this, you were successful!") ;No Message ; Rollbar_Send's helper functions ; Parameters ....: $__Rollbar_sMessage - [Required] The message to be sent. This should contain any useful debugging info that will help you debug. ; $__Rollbar_sMessageSummary - [Optional] A string that will be used as the title of the Item occurrences will be grouped into. Max length 255 characters. If omitted, Rollbar will determine this on the backend. _Rollbar_SendDebug("This is an debug message. If you received this, you were successful!", "Debug Message") _Rollbar_SendInfo("This is a test message. If you received this, you were successful!", "Info Message") _Rollbar_SendWarning("This is an warning message. If you received this, you were successful!", "Warning Message") _Rollbar_SendError("This is an error message. If you received this, you were successful!", "Error Message") _Rollbar_SendCritical("This is an critical message. If you received this, you were successful!", "Critical Message") ; Usable Example Local $sImportantFile = "C:\NOTAREALFILE_1234554321.txt" Switch FileExists($sImportantFile) Case True MsgBox(0, "Example Script", "An important file was found. Continuing...") Case Else _Rollbar_SendCritical('An important file was missing. Halting... File: "' & $sImportantFile & '"', 'Important file "' & $sImportantFile & '" is missing.') EndSwitch Notes: Please comment your feedback, advice, & suggestions below. While this is only a proof of concept, I will expand its feature set for everyone to use. 
      Right now, it is fully functional but not tested in production.
       
       
      Changelog:
      RollbarSDK.au3
      RollbarTest.au3
      v0.2
       
      v0.1.1
       
    • By Dwalfware
      Hi Folks
      Can not get my head around this one.
      This function gets the DNS object s
      If you have two DNS entries fine. but if you have only one! Trouble
      $objItem.DNSServerSearchOrder[0] = Primary DNS
      $objItem.DNSServerSearchOrder[1] = Secondry DNS not always there. I need a way to return 0 if not there or the IP if its there.
      Or is there a way to tell how many objects there are in the "[?]"
      I'm terrible at WMI errors, thanks for help in advance.
      Func _GETcurrentNICinfo2() $oErrors = ObjEvent("AutoIt.Error", "Error_Handle") Local $DnsSecondry Local $objWMIService = ObjGet( "winmgmts:\\" & @ComputerName & "\root\CIMV2" ) Local $query = $objWMIService.ExecQuery("SELECT DNSServerSearchOrder FROM Win32_NetworkAdapterConfiguration WHERE Index = " & _GetSelectedNIC(), "WQL", 0x30 ) If @error Then Return 0 If NOT IsObj($query) Then Return 0 Else For $objItem In $query Return $objItem.DNSServerSearchOrder[1] next Endif EndFunc  
    • By SolemnStrike
      Hello,

      Maybe some of you know the program / site "discord.gg", it's a Chat for gamers.

      There is a function called "WebHook" which is more or less a little pseudo bot.
      You get a link and over this you can let the bot send whatever you want.
      For example here is a little bot/webhook that posts the newest NASA articles, including Pictures.
      I "created" this with the site "ifttt.com" which manages webhooks for you.

      Now my question:
      When there is an event detected by my bot,
      can i send a message from my Bot directly to my Discord Webhook with the link?
      A message like "loot xyz is found"?

      If this is not possible, i would try to use a longer way:
      When my Bot detects an event,
      I would try to trigger "ifttt.com" with something like an email or something else (i still have to figure out what is the best, fastest and securest way) and trigger my Discord Webhook this way, but this would take way longer since it has to go over "ifttt.com"...
       


    • By vati1011
      Hey, guys.
      Currently, I'm using Opencv UDF and i'm  encountering issues with DLLOPEN(). it is failing and returning -1
      But, I cannot figure out why it is failing.
      I need help from people.
      I'm running windows 10 32bit.
      This's my code.
      #RequireAdmin $fileopen = DllOpen("opencv_core2413.dll") MsgBox(0,"Result",$fileopen) Example.au3opencv_core2413.dll
    • By xiantez
      This script used to work on an older version of AutoIT. Currently I am running AutoIT v3.3.14.5 and it's failing.
      Func PublicIP() ;Post public facing IP address Local $url = 'https://www.google.com/search?client=opera&q=what+is+my+ip&sourceid=opera&ie=UTF-8&oe=UTF-8' Local $getIPaddress = BinaryToString(InetRead($url)) Local $sStart = 'clamp:2">' Local $sEnd = '</div>' Local $ipaddress = _StringBetween($getIPaddress, $sStart, $sEnd For $i In $ipaddress MsgBox(0, 'External IP', "Your public IP address is " & $i) Next EndFunc ;==>PublicIP The console output shows:
      "C:\Users\user\Documents\AutoIT\Scripts\WSI Tools.au3" (197) : ==> Variable must be of type "Object".: For $i In $ipaddress For $i In $ipaddress^ ERROR ->14:12:16 AutoIt3.exe ended.rc:1 +>14:12:16 AutoIt3Wrapper Finished. >Exit code: 1 Time: 9.811
×
×
  • Create New...