Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Optymalizacja kodu


Rekomendowane odpowiedzi

Opublikowano

Proszę o pomoc w optymalizacji kodu czasem nie wyrabia i klika nie w cel:

 

 

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Outfile=Cargo Bot.Exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs ----------------------------------------------------------------------------
 
AutoIt Version: 3.3.12.0
Author: Lobod
 
 
#ce ----------------------------------------------------------------------------
 
#include "FastFind.au3"
#include <Misc.au3>
#include <windowsconstants.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
HotKeySet("{F2}", "config")
HotKeySet("{F3}", "exi")
Local $Mini_y1, $Mini_x1, $Mini_x2, $Mini_y2
Local $Rett1_x1, $Rett1_x2, $Rett1_y1, $Rett1_y2
If FileExists(@ScriptDir & "\Data.ini") Then
Global $Rett1_x1 = Int(IniRead(@ScriptDir & "\Data.ini", "game_sin", "x", 0))
Global $Rett1_y1 = Int(IniRead(@ScriptDir & "\Data.ini", "game_sin", "y", 0))
Global $Rett1_x2 = Int(IniRead(@ScriptDir & "\Data.ini", "game_dest", "x", 0))
Global $Rett1_y2 = Int(IniRead(@ScriptDir & "\Data.ini", "game_dest", "y", 0))
Global $Mini_x1 = Int(IniRead(@ScriptDir & "\Data.ini", "Mini_sin", "x", 0))
Global $Mini_y1 = Int(IniRead(@ScriptDir & "\Data.ini", "Mini_sin", "y", 0))
Global $Mini_x2 = Int(IniRead(@ScriptDir & "\Data.ini", "Mini_dest", "x", 0))
Global $Mini_y2 = Int(IniRead(@ScriptDir & "\Data.ini", "Mini_dest", "y", 0))
Global $click = Int(IniRead(@ScriptDir & "\Data.ini", "click", "d", 7))
Else
config()
EndIf
pause()
Func znacz()
Local $cord2 = Select_rectangle()
Global $Mini_x1 = $cord2[0]
Global $Mini_y1 = $cord2[1]
Global $Mini_x2 = $cord2[2]
Global $Mini_y2 = $cord2[3]
EndFunc ;==>znacz
Func Select_rectangle()
Local $Selected = 0
Local $Coordinate[4]
$area = GUICreate("", 1, 1, 1, 1, $WS_POPUP, $WS_EX_TOPMOST)
GUISetBkColor(0x33FF00, $area)
WinSetTrans($area, "", 80)
GUISetState()
While $Selected = 0
If _IsPressed("1") Then
$mp = MouseGetPos()
WinMove($area, "", $mp[0], $mp[1], 1, 1)
 
While _IsPressed('01')
$pos = MouseGetPos()
Global $lefts = Order($mp[0], $pos[0])
Global $tops = Order($mp[1], $pos[1])
WinMove($area, "", $lefts[0], $tops[0], $lefts[1], $tops[1])
ConsoleWrite($lefts[0] & ', ' & $tops[0] & ', ' & $lefts[1] & ', ' & $tops[1] & @CRLF)
WEnd
 
$Coordinate[0] = $lefts[0]
$Coordinate[1] = $tops[0]
$Coordinate[2] = $lefts[0] + $lefts[1]
$Coordinate[3] = $tops[0] + $tops[1]
$Selected = 1
EndIf
WEnd
GUIDelete($area)
Return $Coordinate
EndFunc ;==>Select_rectangle
Func Order($a, $
Dim $res[2]
If $a < $b Then
$res[0] = $a
$res[1] = $b - $a
Else
$res[0] = $b
$res[1] = $a - $b
EndIf
Return $res
EndFunc ;==>Order
Func Szukaj()
For $i = 1 To $click * 10
$aCoord = FFNearestSpot(5, 2, $Rett1_x2 / 2, $Rett1_y2 / 2 - 60, 0xF8EDAF, 5, 1, $Rett1_x1, $Rett1_y1, $Rett1_x2, $Rett1_y2)
If Not @ Then
MouseClick("", $aCoord[0], $aCoord[1], 1, 0)
Sleep(2000)
EndIf
Sleep(100)
Next
EndFunc ;==>Szukaj
Func Lataj()
MouseClick("", $Mini_x1 + Random(0, $Mini_x2 - $Mini_x1), $Mini_y1 + Random(0, $Mini_y2 - $Mini_y1))
EndFunc ;==>Lataj
Func idle()
HotKeySet("{F1}", "pause")
While 1
Lataj()
Szukaj()
WEnd
EndFunc ;==>idle
Func pause()
HotKeySet("{F1}", "idle")
While 1
Sleep(100)
WEnd
EndFunc ;==>pause
Func config()
HotKeySet("{F2}")
Global $Rett1_x1 = Int(IniRead(@ScriptDir & "\Data.ini", "game_sin", "x", 0))
Global $Rett1_y1 = Int(IniRead(@ScriptDir & "\Data.ini", "game_sin", "y", 0))
Global $Rett1_x2 = Int(IniRead(@ScriptDir & "\Data.ini", "game_dest", "x", 0))
Global $Rett1_y2 = Int(IniRead(@ScriptDir & "\Data.ini", "game_dest", "y", 0))
Global $Mini_x1 = Int(IniRead(@ScriptDir & "\Data.ini", "Mini_sin", "x", 0))
Global $Mini_y1 = Int(IniRead(@ScriptDir & "\Data.ini", "Mini_sin", "y", 0))
Global $Mini_x2 = Int(IniRead(@ScriptDir & "\Data.ini", "Mini_dest", "x", 0))
Global $Mini_y2 = Int(IniRead(@ScriptDir & "\Data.ini", "Mini_dest", "y", 0))
Global $click = Int(IniRead(@ScriptDir & "\Data.ini", "click", "d", 7))
$Form1_1 = GUICreate("Cargo pixel bot v1.0 ", 473, 234, 307, 150)
$Label1 = GUICtrlCreateLabel("To okno wyświetla się tylko raz ponieważ ustawienia zapisują się w Data.ini", 32, 16, 410, 33, $SS_CENTER)
$Button1 = GUICtrlCreateButton("Zaznacz Okno Gry", 16, 60, 121, 41, $WS_GROUP)
$Input1 = GUICtrlCreateInput($click, 107, 105, 30, 20)
$Button2 = GUICtrlCreateButton("Zaznacz Minimape", 16, 128, 121, 41, $WS_GROUP)
$Label2 = GUICtrlCreateLabel("Zaznacz okno klienta gry", 144, 64, 306, 17)
$Label3 = GUICtrlCreateLabel("bez okienek aby nie rzeszkadzały w zbieraniu", 144, 80, 226, 17)
$Label4 = GUICtrlCreateLabel("Zaznaczacz na minimaie.", 144, 136, 242, 17)
$Button3 = GUICtrlCreateButton("Ok", 168, 184, 137, 41, $WS_GROUP)
GUISetState(@SW_SHOW)
 
 
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
GUISetState(@SW_HIDE, $Form1_1)
Local $cord = Select_rectangle()
Global $Rett1_x1 = $cord[0]
Global $Rett1_y1 = $cord[1]
Global $Rett1_x2 = $cord[2]
Global $Rett1_y2 = $cord[3]
GUISetState(@SW_SHOW, $Form1_1)
Case $Button2
GUISetState(@SW_HIDE, $Form1_1)
Local $cord2 = Select_rectangle()
Global $Mini_x1 = $cord2[0]
Global $Mini_y1 = $cord2[1]
Global $Mini_x2 = $cord2[2]
Global $Mini_y2 = $cord2[3]
GUISetState(@SW_SHOW, $Form1_1)
Case $Button3
Global $click = GUICtrlRead($Input1)
IniWrite(@ScriptDir & "\Data.ini", "click", "d", GUICtrlRead($Input1))
IniWrite(@ScriptDir & "\Data.ini", "game_sin", "x", $Rett1_x1)
IniWrite(@ScriptDir & "\Data.ini", "game_sin", "y", $Rett1_y1)
IniWrite(@ScriptDir & "\Data.ini", "game_dest", "x", $Rett1_x2)
IniWrite(@ScriptDir & "\Data.ini", "game_dest", "y", $Rett1_y2)
IniWrite(@ScriptDir & "\Data.ini", "Mini_sin", "x", $Mini_x1)
IniWrite(@ScriptDir & "\Data.ini", "Mini_sin", "y", $Mini_y1)
IniWrite(@ScriptDir & "\Data.ini", "Mini_dest", "x", $Mini_x2)
IniWrite(@ScriptDir & "\Data.ini", "Mini_dest", "y", $Mini_y2)
GUIDelete($Form1_1)
HotKeySet("{F2}", "config")
EndSwitch
WEnd
EndFunc ;==>config
Func exi()
Exit
EndFunc ;==>exi

 

 

Nie mam pojęcia co z nim nie tak....

Opublikowano

Może sleep spróbuj poddawać? U mnie też nie wyrabiał właśnie przez to, ale to był mouseclick i nie wiem czy to tu zadziała. Myślę jednak że warto spróbować 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...