bf2forlife Posted May 23, 2008 Posted May 23, 2008 (edited) So im doing counter for game, so i took screenshot from all the numbers n stuff there and made .bmps of them(using _imagesearch function for locating them ingame) I got already some crappy script that needs some fixing, so help would be good. #include <GUIConstants.au3> #include <ImageSearch.au3> HotKeySet("{F7}","Close") Opt("GUIOnEventMode", 1) Global $SSB = StringSplit("1|2|3|4|5|6|7|8|9|-|0|+|/|*|=|.", "|"), $bX = 8, $bY = 40 Global $SSB2 = StringSplit("1.bmp|2.bmp|3.bmp|4.bmp|5.bmp|6.bmp|7.bmp|8.bmp|9.bmp|-.bmp|0.bmp|+.bmp|slash.bmp|star.bmp|=.bmp", "|") $x1=0 $y1=0 $Form1 = GUICreate("Lc", 108, 233, 193, 125) GUISetOnEvent($GUI_EVENT_CLOSE, "Close", $Form1) $som = _ImageSearch($SSB2,1,$x1,$y1,0) For $i = 1 To $SSB[0] If Not Mod($i, 3) Then $bX = 8 $bY += 32 Else $bX += 32 EndIf Next $SSB = 0 GUISetState(@SW_SHOW) Func Event() Switch GUICtrlRead(@GUI_CtrlId) Case "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "+", "-", "*", "/", "." GUICtrlSetData($som, GUICtrlRead($som) & GUICtrlRead(@GUI_CtrlId)) Case "=" If Execute(GUICtrlRead($som)) Then GUICtrlSetData($som, Execute(GUICtrlRead($som))) EndSwitch EndFunc Func Close() while 1 Sleep(100) WEND EndFunc Edited May 23, 2008 by bf2forlife
bf2forlife Posted May 23, 2008 Author Posted May 23, 2008 And here is the original counter code expandcollapse popup#include <GUIConstants.au3> Opt("GUIOnEventMode", 1) Global $SSB = StringSplit("1|2|3|4|5|6|7|8|9|-|0|+|/|*|.|C|%|=", "|"), $bX = 8, $bY = 40 $Form1 = GUICreate("Lc", 108, 233, 193, 125) GUISetOnEvent($GUI_EVENT_CLOSE, "Close", $Form1) GUISetBkColor(0xFFFF00) $som = GUICtrlCreateInput("", 8, 8, 89, 21) For $i = 1 To $SSB[0] GUICtrlCreateButton($SSB[$i], $bX, $bY, 27, 25, $BS_CENTER) GUICtrlSetOnEvent(-1, "Event") GUICtrlSetFont(-1, 10, 700, 0, "MS Sans Serif") If Not Mod($i, 3) Then $bX = 8 $bY += 32 Else $bX += 32 EndIf Next $SSB = 0 GUISetState(@SW_SHOW) While 1 Sleep(100) WEnd Func Event() Switch GUICtrlRead(@GUI_CtrlId) Case "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "+", "-", "*", "/", "." GUICtrlSetData($som, GUICtrlRead($som) & GUICtrlRead(@GUI_CtrlId)) Case "=" If Execute(GUICtrlRead($som)) Then GUICtrlSetData($som, Execute(GUICtrlRead($som))) Case "C" GUICtrlSetData($som, "") Case "%" ;??? Percent, leave this one for you EndSwitch EndFunc Func Close() Exit EndFunc
martin Posted May 23, 2008 Posted May 23, 2008 (edited) And here is the original counter code expandcollapse popup#include <GUIConstants.au3> Opt("GUIOnEventMode", 1) Global $SSB = StringSplit("1|2|3|4|5|6|7|8|9|-|0|+|/|*|.|C|%|=", "|"), $bX = 8, $bY = 40 $Form1 = GUICreate("Lc", 108, 233, 193, 125) GUISetOnEvent($GUI_EVENT_CLOSE, "Close", $Form1) GUISetBkColor(0xFFFF00) $som = GUICtrlCreateInput("", 8, 8, 89, 21) For $i = 1 To $SSB[0] GUICtrlCreateButton($SSB[$i], $bX, $bY, 27, 25, $BS_CENTER) GUICtrlSetOnEvent(-1, "Event") GUICtrlSetFont(-1, 10, 700, 0, "MS Sans Serif") If Not Mod($i, 3) Then $bX = 8 $bY += 32 Else $bX += 32 EndIf Next $SSB = 0 GUISetState(@SW_SHOW) While 1 Sleep(100) WEnd Func Event() Switch GUICtrlRead(@GUI_CtrlId) Case "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "+", "-", "*", "/", "." GUICtrlSetData($som, GUICtrlRead($som) & GUICtrlRead(@GUI_CtrlId)) Case "=" If Execute(GUICtrlRead($som)) Then GUICtrlSetData($som, Execute(GUICtrlRead($som))) Case "C" GUICtrlSetData($som, "") Case "%" ;??? Percent, leave this one for you EndSwitch EndFunc Func Close() Exit EndFuncI've modified the original script and then made Pics instead of buttons. Since I haven't got your bitmaps I can't fully test it. You need to spend a bit of time trying to understanding the original script. Possibly mine is less obvious but it lets you identify the control without using GuiCtrlRead which won't work for Pics. expandcollapse popup#include <GUIConstants.au3> Opt("GUIOnEventMode", 1) Global $SSB = StringSplit("1|2|3|4|5|6|7|8|9|-|0|+|/|*|.|C|%|=", "|"), $bX = 8, $bY = 40 $Form1 = GUICreate("Lc", 108, 233, 193, 125) GUISetOnEvent($GUI_EVENT_CLOSE, "Close", $Form1) GUISetBkColor(0xFFFF00) $som = GUICtrlCreateInput("", 8, 8, 89, 21) $FirstButID = $som + 1 For $i = 1 To $SSB[0] GUICtrlCreatePic($SSB2[$i] & ".bmp", $bX, $bY, 27, 25) GUICtrlSetOnEvent(-1, "Event") GUICtrlSetFont(-1, 10, 700, 0, "MS Sans Serif") If Not Mod($i, 3) Then $bX = 8 $bY += 32 Else $bX += 32 EndIf Next ;$SSB = 0 GUISetState(@SW_SHOW) While 1 Sleep(100) WEnd Func Event() Switch @GUI_CtrlId Case $FirstButID To $FirstButID + 14 GUICtrlSetData($som, GUICtrlRead($som) & $SSB[@GUI_CtrlId - $FirstButID + 1]) Case $FirstButID + 15;C GUICtrlSetData($som, "") Case $FirstButID + 16;% GUICtrlSetData($som, Execute(GUICtrlRead($som)) / 100) Case $FirstButID + 17;= If Execute(GUICtrlRead($som)) Then GUICtrlSetData($som, Execute(GUICtrlRead($som))) EndSwitch EndFunc ;==>Event Func Close() Exit EndFunc ;==>Close Edited May 23, 2008 by martin Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now