[autoit]variabel frage

03/30/2009 16:52 DerEinsatz#1
hi^^ habe versucht in meinen reloger ein gui zu machen damit jeder den bot nutzen kann(spiel: metin2)
aber wenn er den pixel erkennt klickt er mit der maus an eine völlig falsche position und macht dann garnichts mehr??:confused:
ich denke es liegt an der benutzung der variabeln (war mein erstes gui)
hier mal der code:
Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>



#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("reloger by der einsatz =) BETA", 413, 298, 302, 218)
$Input1 = GUICtrlCreateInput("beispiel55", 8, 8, 153, 21)
$Input2 = GUICtrlCreateInput("beispiel55", 8, 40, 153, 21)
$Input3 = GUICtrlCreateInput("{left} oder {right}{right} oder{right}", 8, 72, 153, 21)
$server_x = GUICtrlCreateInput("1", 8, 104, 57, 21)
$channel_x = GUICtrlCreateInput("1", 8, 136, 57, 21)
$server_y = GUICtrlCreateInput("1", 88, 104, 57, 21)
$channel_y = GUICtrlCreateInput("1", 88, 136, 57, 21)
$Button1 = GUICtrlCreateButton("Start", 8, 168, 393, 81, 0)
$Button2 = GUICtrlCreatelabel("ID eingeben", 176, 8, 225, 25, 0)
$Button3 = GUICtrlCreatelabel("PW eingeben", 176, 40, 225, 25, 0)
$Button4 = GUICtrlCreatelabel("charakter wählen", 176, 72, 225, 25, 0)
$Button5 = GUICtrlCreatelabel("server coords eingeben", 176, 104, 225, 25, 0)
$Button6 = GUICtrlCreatelabel("channel coords eingeben", 176, 136, 225, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			
			Opt('PixelCoordMode', 2)  
Opt('MouseCoordMode', 2)
			
			hotkeyset ("{numpad1}" , "start")
			hotkeyset ("{numpad2}" , "ende")
			
func start()
			While (1)
	$farbeschwarz = 0x000000
	$Relog = PixelGetColor (1,1)
			if $Relog = $farbeschwarz then
				sleep(1000)
				mouseclick ("left" , $server_x, $server_y)
				sleep(1000)
				mouseclick ("left" , $channel_x, $channel_y)
				send ("{ENTER}")
Sleep (1000)
Send ( $Input1 , 1 )
Sleep (200)
Send ( "{TAB}" , 0 )
Sleep (200)
Send ( $Input2 , 1 )
Sleep (200)
Send ( "{Enter}" , 0 )
Sleep (20000)
send ( $Input3 , 0)
Sleep (200)
Send ( "{ENTER}" , 0 )
endif
Wend
endfunc

func ende()
	Exit
	endfunc


	EndSwitch
WEnd
03/30/2009 17:33 DerEinsatz#2
hab gerade noch nen fehler bemerkt als ich ne ini zum speichern der einstellungen einbauen wollte :

Quote:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>



#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("reloger by der einsatz =) BETA", 413, 298, 302, 218)
$Input1 = GUICtrlCreateInput("beispiel55", 8, 8, 153, 21)
$Input2 = GUICtrlCreateInput("beispiel55", 8, 40, 153, 21)
$Input3 = GUICtrlCreateInput("{left} oder {right}{right} oder{right}", 8, 72, 153, 21)
$server_x = GUICtrlCreateInput("1", 8, 104, 57, 21)
$channel_x = GUICtrlCreateInput("1", 8, 136, 57, 21)
$server_y = GUICtrlCreateInput("1", 88, 104, 57, 21)
$channel_y = GUICtrlCreateInput("1", 88, 136, 57, 21)
$Button1 = GUICtrlCreateButton("Start", 8, 168, 393, 81, 0)
$Button7 = GUICtrlCreateButton("Button7", 8, 256, 393, 33, 0)
$Button2 = GUICtrlCreatelabel("ID eingeben", 176, 8, 225, 25, 0)
$Button3 = GUICtrlCreatelabel("PW eingeben", 176, 40, 225, 25, 0)
$Button4 = GUICtrlCreatelabel("charakter wählen", 176, 72, 225, 25, 0)
$Button5 = GUICtrlCreatelabel("server coords eingeben", 176, 104, 225, 25, 0)
$Button6 = GUICtrlCreatelabel("channel coords eingeben", 176, 136, 225, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1

Opt('PixelCoordMode', 2)
Opt('MouseCoordMode', 2)

hotkeyset ("{numpad1}" , "start")
hotkeyset ("{numpad2}" , "ende")

func start()
While (1)
$farbeschwarz = 0x000000
$Relog = PixelGetColor (1,1)
if $Relog = $farbeschwarz then
sleep(1000)
mouseclick ("left" , $server_x, $server_y)
sleep(1000)
mouseclick ("left" , $channel_x, $channel_y)
send ("{ENTER}")
Sleep (1000)
Send ( $Input1 , 1 )
Sleep (200)
Send ( "{TAB}" , 0 )
Sleep (200)
Send ( $Input2 , 1 )
Sleep (200)
Send ( "{Enter}" , 0 )
Sleep (20000)
send ( $Input3 , 0)
Sleep (200)
Send ( "{ENTER}" , 0 )
endif
Wend
endfunc

func ende()
Exit
endfunc

case $Button7
IniWrite("Einstell.ini", "Einstellungen", "ID: " & $Input3 & " ", " " )
EndSwitch
WEnd
der bot schreibt immer nur eine 3 als variabel $Input3 , egal was ich eingetragen habe^^

EDIT: habe die sachen gerade mal mit variabeln getestet , die nicht im gui eingetragen wurden und siehe da : es klappt^^ also muss es an der verwendung der variabeln aus dem gui liegen weiß vlt jemand die lösung?
03/30/2009 17:40 kknb#3
guictrlread ist das zauberwort
03/30/2009 21:07 DerEinsatz#4
bedeutet? kannste code pls so umformen?sry hab alles mit koda gemacht und keine ahnung von guis :D
03/30/2009 21:27 kknb#5
Send ( guictrlread($Input1) , 1 )
...
...
...
IniWrite("Einstell.ini", "Einstellungen", "ID: " & guictrlread($Input3) & " ", " " )

bitte!
03/30/2009 21:30 DerEinsatz#6
k thx ^^ probiers gleich mal aus!!
edit: ok jetzt klappts so wit, doch scohn ein neues prob :D :
1. wenn ich es so mache:

IniWrite("Einstell.ini", "Einstellungen", "ID: " & guictrlread($Input1) & " ", " " )
dann komt folgendes in der ini:
ID: 2500= <<<<<<< da soll 2500 hin!damit ichs mit dem script verknüpfen kann(die daten dort abspeichern kann ^^

2.wenn ich es dann andersrum mache(IniWrite("Einstell.ini", "Einstellungen", "ID: " "" , " " & guictrlread($Input1) & )
dann kommt eine fehlermeldung . error in expression kknb weißte vlt die lösung? thx schonmal
03/30/2009 22:08 kknb#7
joa machstes so.


IniWrite("Einstell.ini", "Einstellungen", "ID ", guictrlread($Input1))
03/30/2009 22:22 DerEinsatz#8
thx! gleich mal testen!:D