|
You last visited: Today at 12:45
Advertisement
Nostale LVL Bot Hilfe
Discussion on Nostale LVL Bot Hilfe within the AutoIt forum part of the Coders Den category.
07/15/2010, 23:46
|
#1
|
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
|
Nostale LVL Bot Hilfe
Ich versuche schon seid einiger zeit einen lvlbot für nostale zu basteln.
Nur wenn man in einer Input box einträgt wielange und ab wann man schlafen möchte, funktioniert das nicht.Lass ich die werte so wie ich sie eingetragen habe beim Skripten, funktioniert alles, nur wenn ich dort die werte ändere setzt er sich sovort steht wieder auf und das immerwieder.
Hier mein bisheriges Skript:
Code:
#RequireAdmin
$windowname = "NosTale"
$zeit1 = TimerInit() ;---------Sitzen
$zeit2 = TimerInit() ;--------Sammeln
$zeit3 = TimerInit() ;--------Angriff
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <GUIConstants.au3>
;Hauptfenster START
#Region ### START Koda GUI section ### Form=C:\Users\Jan\Desktop\AutoIt\Nostale Bot\NosBot vers. 1.2\NosBotfenster.kxf
$NosBotfenster = GUICreate("NosBot Vers. 1.2 By WiiZocker", 362, 389, 192, 124)
GUISetFont(8, 800, 0, "MS Sans Serif")
$Label1 = GUICtrlCreateLabel("NosBot Vers. 1.2 By WiiZocker", 56, 16, 252, 23)
GUICtrlSetFont(-1, 11, 800, 0, "MS Reference Sans Serif")
$Benutzen = GUICtrlCreateGroup("Was soll benutzt werden?", 0, 48, 177, 281)
GUICtrlSetFont(-1, 8, 800, 0, "MS Reference Sans Serif")
$ChkSchlafen = GUICtrlCreateCheckbox("Schlafen", 16, 96, 97, 17)
$ChkSammeln = GUICtrlCreateCheckbox("Aufsammeln", 16, 136, 105, 17)
$ChkSkills = GUICtrlCreateCheckbox("Skills benutzen?", 16, 296, 129, 17)
$Hinweis1 = GUICtrlCreateLabel("X = Wird benutzt", 24, 64, 112, 19)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Einstellungen = GUICtrlCreateGroup("Einstellungen", 176, 48, 185, 281)
GUICtrlSetFont(-1, 8, 800, 0, "MS Reference Sans Serif")
$BtnSchlafen = GUICtrlCreateButton("Schlafen", 184, 88, 171, 33, 0)
$BtnSammeln = GUICtrlCreateButton("Aufsammeln", 184, 128, 171, 33, 0)
$BtnSkills = GUICtrlCreateButton("Skills", 184, 288, 171, 33, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Start = GUICtrlCreateButton("START", 88, 336, 171, 49, 0)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
;Hauptfenster ENDE
;Hinsetzenfenster START
#Region ### START Koda GUI section ### Form=C:\Users\Jan\Desktop\AutoIt\Nostale Bot\NosBot vers. 1.2\Hinsetzenfenster.kxf
$Hinsetzenfenster = GUICreate("Hinsetzenfenster", 587, 59, 191, 372)
$Sitzen1 = GUICtrlCreateLabel("Nach", 8, 16, 40, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
$AbWannSitzen = GUICtrlCreateInput("10000", 48, 16, 57, 21)
$Sitzen2 = GUICtrlCreateLabel("Millisekunden für", 112, 16, 126, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
$WielangeSitzen = GUICtrlCreateInput("20000", 240, 16, 57, 21)
$Sitzen3 = GUICtrlCreateLabel("Millisekunden hinsetzen.", 304, 16, 182, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
$Schliessen3 = GUICtrlCreateButton("Schließen", 488, 8, 91, 41, 0)
GUISetState(@SW_HIDE)
#EndRegion ### END Koda GUI section ###
;Hinsetzenfenster ENDE
;Aufsammelfenster START
#Region ### START Koda GUI section ### Form=C:\Users\Jan\Desktop\AutoIt\Nostale Bot\NosBot vers. 1.2\Aufsammelfenster.kxf
$Aufsammelfenster = GUICreate("Aufsammeln", 507, 50, 507, 275)
$AufsammelLabel1 = GUICtrlCreateLabel("Alle", 8, 16, 31, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
$WannSammeln = GUICtrlCreateInput("2500", 40, 16, 41, 21)
$AufsammelLabel2 = GUICtrlCreateLabel("Millisekunden mit der Taste", 88, 16, 202, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
$AufsammelTaste = GUICtrlCreateInput("x", 296, 16, 17, 21)
$AufsammelLabel3 = GUICtrlCreateLabel("Aufsammeln.", 320, 16, 100, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
$Schliessen2 = GUICtrlCreateButton("Schließen", 424, 8, 75, 33, 0)
GUISetState(@SW_HIDE)
#EndRegion ### END Koda GUI section ###
;Aufsammelfenster ENDE
;Skillfenster START
#Region ### START Koda GUI section ### Form=c:\users\jan\desktop\autoit\nostale bot\nosbot vers. 1.2\skillfenster.kxf
$Skillfenster = GUICreate("Skills", 282, 472, 402, 227)
$Group1 = GUICtrlCreateGroup("Tasten", 0, 8, 137, 401)
GUICtrlSetFont(-1, 8, 800, 0, "MS Reference Sans Serif")
$Taste0 = GUICtrlCreateCheckbox("Taste-0", 56, 392, 73, 17)
$Taste1 = GUICtrlCreateCheckbox("Taste-1", 56, 32, 73, 17)
$Taste2 = GUICtrlCreateCheckbox("Taste-2", 56, 72, 73, 17)
$Taste3 = GUICtrlCreateCheckbox("Taste-3", 56, 112, 73, 17)
$Taste5 = GUICtrlCreateCheckbox("Taste-5", 56, 192, 73, 17)
$Taste6 = GUICtrlCreateCheckbox("Taste-6", 56, 232, 73, 17)
$Taste4 = GUICtrlCreateCheckbox("Taste-4", 56, 152, 73, 17)
$Taste7 = GUICtrlCreateCheckbox("Taste-7", 56, 272, 73, 17)
$Taste8 = GUICtrlCreateCheckbox("Taste-8", 56, 312, 73, 17)
$Taste9 = GUICtrlCreateCheckbox("Taste-9", 56, 352, 73, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("Zeit", 136, 8, 145, 401)
GUICtrlSetFont(-1, 8, 800, 0, "MS Reference Sans Serif")
$Label1 = GUICtrlCreateLabel("Alle", 144, 32, 29, 19)
$Label2 = GUICtrlCreateLabel("Millisek", 224, 32, 53, 19)
$Input1 = GUICtrlCreateInput("10000", 176, 32, 49, 23)
$Label6 = GUICtrlCreateLabel("Alle", 144, 272, 29, 19)
$Label7 = GUICtrlCreateLabel("Alle", 143, 313, 29, 19)
$Label10 = GUICtrlCreateLabel("Alle", 145, 350, 29, 19)
$Label11 = GUICtrlCreateLabel("Alle", 143, 387, 29, 19)
$Label3 = GUICtrlCreateLabel("Alle", 144, 232, 29, 19)
$Label4 = GUICtrlCreateLabel("Alle", 144, 192, 29, 19)
$Label5 = GUICtrlCreateLabel("Alle", 144, 152, 29, 19)
$Label8 = GUICtrlCreateLabel("Alle", 144, 112, 29, 19)
$Label9 = GUICtrlCreateLabel("Alle", 144, 72, 29, 19)
$Input2 = GUICtrlCreateInput("12000", 176, 72, 49, 23)
$Input3 = GUICtrlCreateInput("14000", 176, 112, 49, 23)
$Input4 = GUICtrlCreateInput("16000", 176, 152, 49, 23)
$Input5 = GUICtrlCreateInput("18000", 176, 192, 49, 23)
$Input6 = GUICtrlCreateInput("20000", 176, 232, 49, 23)
$Input7 = GUICtrlCreateInput("22000", 176, 272, 49, 23)
$Input8 = GUICtrlCreateInput("24000", 176, 312, 49, 23)
$Input0 = GUICtrlCreateInput("28000", 176, 384, 49, 23)
$Input9 = GUICtrlCreateInput("26000", 176, 352, 49, 23)
$Label12 = GUICtrlCreateLabel("Millisek", 224, 72, 53, 19)
$Label13 = GUICtrlCreateLabel("Millisek", 224, 112, 53, 19)
$Label14 = GUICtrlCreateLabel("Millisek", 224, 152, 53, 19)
$Label15 = GUICtrlCreateLabel("Millisek", 224, 192, 53, 19)
$Label16 = GUICtrlCreateLabel("Millisek", 224, 232, 53, 19)
$Label17 = GUICtrlCreateLabel("Millisek", 224, 272, 53, 19)
$Label18 = GUICtrlCreateLabel("Millisek", 224, 312, 53, 19)
$Label19 = GUICtrlCreateLabel("Millisek", 224, 352, 53, 19)
$Label20 = GUICtrlCreateLabel("Millisek", 224, 384, 53, 19)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Schliessen1 = GUICtrlCreateButton("Schließen", 56, 440, 171, 25, 0)
$Hinweis2 = GUICtrlCreateLabel("X = Wird benutzt", 78, 417, 126, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
GUISetState(@SW_HIDE)
#EndRegion ### END Koda GUI section ###
;Skillfenster ENDE
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
;Haupt/Schlaffenster START
Case $BtnSchlafen
GUISetState(@SW_SHOW, $Hinsetzenfenster)
Case $ChkSchlafen
;UNDEFINIERT!!!
Case $ChkSammeln
;UNDEFINIERT!!!
Case $ChkSkills
;UNDEFINIERT!!!
Case $Schliessen3
GUISetState(@SW_HIDE, $Hinsetzenfenster)
;Haupt/Schlaffenster ENDE
;Sammelfenster START
Case $BtnSammeln
GUISetState(@SW_SHOW, $Aufsammelfenster)
Case $Schliessen2
GUISetState(@SW_HIDE, $Aufsammelfenster)
;Sammelfenster ENDE
;Skillfenster START
Case $BtnSkills
GUISetState(@SW_SHOW, $Skillfenster)
Case $Schliessen1
GUISetState(@SW_HIDE, $Skillfenster)
;Skillfenster ENDE
;Hauptskript START
Case $Start
$DL = 0 ;durchlauf
While 2
If(ZeitZumSitzen()) Then
Sitzen()
EndIf
If(ZeitZumSammeln()) Then
Sammeln()
EndIf
If(Angriff()) Then
Angreifen()
EndIf
$DL = $DL + 1
WEnd
;Hauptskript ENDE
EndSwitch
WEnd
;---------Sitzen:
Func ZeitZumSitzen()
If TimerDiff($zeit1 >= GUICtrlRead($AbWannSitzen)) Then
return True
Else
return False
EndIf
EndFunc
Func Sitzen()
ControlSend($windowname, '', '', "c")
Sleep($WielangeSitzen)
ControlSend($windowname, '', '', "c")
$zeit1 = TimerInit()
EndFunc
;--------Sammeln:
Func ZeitZumSammeln()
If TimerDiff($zeit2 >= GUICtrlRead($WannSammeln)) Then
return True
Else
return False
EndIf
EndFunc
Func Sammeln()
ControlSend($windowname, '', '', GUICtrlRead($AufsammelTaste))
$zeit2 = TimerInit()
EndFunc
;--------Angriff:
Func Angriff()
If TimerDiff($zeit3 <= GUICtrlRead($AbWannSitzen)) Then
return True
Else
return False
EndIf
EndFunc
Func Angreifen()
ControlSend($windowname, '', '', " ")
Sleep(150)
ControlSend($windowname, '', '', " ")
$zeit3 = TimerInit()
EndFunc
Ich hoffe das mir jemand helfen kann.
|
|
|
07/16/2010, 20:47
|
#2
|
elite*gold: 0
Join Date: May 2010
Posts: 39
Received Thanks: 4
|
das es sich manche leute so schwer tun o.o
dein script ist zu lang !
das geht doch bestimmt einfacher ! xD
Übersicht = 0 ;nur beim ersten blick hat man ja schon kb das zu lesen xD
schaff da mal ordnung dann wirst du eher hilfe bekommen xD
|
|
|
07/16/2010, 21:41
|
#3
|
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
|
Denn hier mal das was ich für wichtig halte^^
Hoffe das es so übersichtlicher ist, sonst kopiere den Code von oben mal in Scite rein, vllt ist es so übersichtlicher.
Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <GUIConstants.au3>
$windowname = "NosTale"
$zeit1 = TimerInit() ;---------Sitzen
;Hinsetzenfenster START
#Region ### START Koda GUI section ### Form=C:\Users\Jan\Desktop\AutoIt\Nostale Bot\NosBot vers. 1.2\Hinsetzenfenster.kxf
$Hinsetzenfenster = GUICreate("Hinsetzenfenster", 587, 59, 191, 372)
$Sitzen1 = GUICtrlCreateLabel("Nach", 8, 16, 40, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
$AbWannSitzen = GUICtrlCreateInput("10000", 48, 16, 57, 21)
$Sitzen2 = GUICtrlCreateLabel("Millisekunden für", 112, 16, 126, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
$WielangeSitzen = GUICtrlCreateInput("20000", 240, 16, 57, 21)
$Sitzen3 = GUICtrlCreateLabel("Millisekunden hinsetzen.", 304, 16, 182, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
$Schliessen3 = GUICtrlCreateButton("Schließen", 488, 8, 91, 41, 0)
GUISetState(@SW_HIDE)
#EndRegion ### END Koda GUI section ###
;Hinsetzenfenster ENDE
While 2
If(ZeitZumSitzen()) Then
Sitzen()
EndIf
$DL = $DL + 1
WEnd
Func ZeitZumSitzen()
If TimerDiff($zeit1 >= GUICtrlRead($AbWannSitzen)) Then
return True
Else
return False
EndIf
EndFunc
Func Sitzen()
ControlSend($windowname, '', '', "c")
Sleep($WielangeSitzen)
ControlSend($windowname, '', '', "c")
$zeit1 = TimerInit()
EndFunc
|
|
|
07/16/2010, 21:56
|
#4
|
elite*gold: 0
Join Date: May 2010
Posts: 39
Received Thanks: 4
|
Quote:
Originally Posted by WiiZocker
...kopiere den Code von oben mal in Scite rein, vllt ist es so übersichtlicher.
|
auch wieder wahr ^^
tauchen fehler meldungen auf ?
wenn ja in welcher Linie ?
ich nehme mal an das da absichtlich bei der Func Angriff was fehlt oder ? ^^
übrigens
While 1 nicht While 2 , weil es die erste schleife ist , ist logischer obs direkten einfluss hat weiß ich nicht habs nie probiert, wozu auch ? ^^
hab einen fehler entdeckt...
ich nehme mal an das er keine befehle an den clienten sendet...
der grund ist
ControlSend($windowname, '', '', "c")
da darf kein $(i-was) sein sonst geht es nicht
hab das auch schon versucht, als ich dann einfach den fensternamen direkt reingeschrieben habe ging es ^^
|
|
|
07/17/2010, 00:18
|
#5
|
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
|
Hmm normalerweise geht das mit der $windowname, hat netmax tut mir beigebracht...
Und mit der while weiß ich auch ned, ich stell es gleich ma um.
Und xD
Nein, es kommen keine fehler, sonst hätt ich ihn wohl gefunden.^^
Er lvlt einfach nicht wenn man die schlafzeit ändert.
EDIT: Habe alles so geändert wie du es geschrieben hast, hat mir nix gebracht, dafür dachte ich,
vllt macht das Sleep($WielangeSitzen) das das programm steht und somit nicht angreift.Daraufhin habe ich einen Timer eingebaut aber trotzdem funktioniert nix.
Hier mal das skript wo ich was geändert habe, es sind nur brauchstücke^^
Code:
$zeit4 = TimerInit() ;---------WielangeSitzen
;Hier wäre iwo die Gui^^
Case $Start
$DL = 0 ;durchlauf
While 1
If(ZeitZumSitzen()) Then
Sitzen()
EndIf
If(ZeitZumSammeln()) Then
Sammeln()
EndIf
If(Angriff()) Then
Angreifen()
EndIf
$DL = $DL + 1
WEnd
Func ZeitZumSitzen()
If TimerDiff($zeit1 >= GUICtrlRead($AbWannSitzen)) Then
return True
Else
return False
EndIf
EndFunc
Func Sitzen()
ControlSend($windowname, '', '', "c")
$zeit1 = TimerInit()
If TimerDiff($zeit4 = GUICtrlRead($WielangeSitzen)) Then ;Das ist der Timer statt das sleep.Muss ich Guictrlread benutzen oder reicht die variable alleine?
ControlSend($windowname, '', '', "c")
$zeit4 = TimerInit()
EndIf
EndFunc
;ab hier wird wohl unwichtig, aber habs trotzdem hier reingeschrieben falls dort fehler sind.
;--------Sammeln:
Func ZeitZumSammeln()
If TimerDiff($zeit2 >= GUICtrlRead($WannSammeln)) Then
return True
Else
return False
EndIf
EndFunc
Func Sammeln()
ControlSend($windowname, '', '', GUICtrlRead($AufsammelTaste))
$zeit2 = TimerInit()
EndFunc
;--------Angriff:
Func Angriff()
If TimerDiff($zeit3 <= GUICtrlRead($AbWannSitzen)) Then
return True
Else
return False
EndIf
EndFunc
Func Angreifen()
ControlSend($windowname, '', '', "{SPACE}")
Sleep(100)
$zeit3 = TimerInit()
EndFunc
|
|
|
07/18/2010, 17:35
|
#6
|
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
|
Hoffe ich darf das Pushen da ich echt nicht weiter komme )=
Sonst kann mir pls wer per PN helfen?
Ich hänge schon eine ewigkeit an diesem doofen fehler, habe 1 Woche lang versucht den fehler selber zu finden was aber leider nicht funktioniert hat-.-
Pls helft mir doch *-*
|
|
|
07/18/2010, 18:09
|
#7
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by WiiZocker
Hoffe ich darf das Pushen da ich echt nicht weiter komme )=
Sonst kann mir pls wer per PN helfen?
Ich hänge schon eine ewigkeit an diesem doofen fehler, habe 1 Woche lang versucht den fehler selber zu finden was aber leider nicht funktioniert hat-.-
Pls helft mir doch *-*
|
What the hell are you doing?
PHP Code:
If TimerDiff($zeit4 = GUICtrlRead($WielangeSitzen)) Then
Diesen Skript-Teil könntest du auch so schreiben:
PHP Code:
$variable=($zeit4 = GUICtrlRead($WielangeSitzen))
If TimerDiff($variable) Then
Zuerst sagst du AutoIt: "Überprüfe mir mal ob $zeit4 und GUICtrlRead($WielangeSitzen) gleich groß sind".
Wenn die beiden Werte gleich groß sind, liefert AutoIt eine 1 zurück, ansonsten eine 0. Als nächstes sagst du: "Schau mal ob die Differenz von der jetzigen Zeit und der variable [also entweder 1 oder 0] gleich 1 ist".
Und dann wunderst du dich, dass es nicht geht?
So sollte es gehen:
PHP Code:
If TimerDiff($zeit4)>=GUICtrlRead($WielangeSitzen) Then
Musst halt nur noch überall ausbessern, danach sollte er laufen.
|
|
|
07/18/2010, 18:25
|
#8
|
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
|
Es funktioniert noch immer nicht, habe alles so geändert wie oben, hier mal die Funktionen:
Code:
;---------Sitzen:
Func ZeitZumSitzen()
If TimerDiff($zeit1) >= GUICtrlRead($AbWannSitzen) Then
return True
Else
return False
EndIf
EndFunc
Func Sitzen()
ControlSend($windowname, '', '', "c")
$zeit1 = TimerInit()
If TimerDiff($zeit4) >= GUICtrlRead($WielangeSitzen) Then
ControlSend($windowname, '', '', "c")
$zeit4 = TimerInit()
EndIf
EndFunc
;--------Sammeln:
Func ZeitZumSammeln()
If TimerDiff($zeit2) >= GUICtrlRead($WannSammeln) Then
return True
Else
return False
EndIf
EndFunc
Func Sammeln()
ControlSend($windowname, '', '', GUICtrlRead($AufsammelTaste))
$zeit2 = TimerInit()
EndFunc
;--------Angriff:
Func Angriff()
If TimerDiff($zeit3) <= GUICtrlRead($AbWannSitzen) Then
return True
Else
return False
EndIf
EndFunc
Func Angreifen()
ControlSend($windowname, '', '', "{SPACE}")
Sleep(100)
$zeit3 = TimerInit()
EndFunc
Habe ich hier vieleicht nochwas falsch? oder liegt es am oberen skript?
|
|
|
07/18/2010, 19:35
|
#9
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by WiiZocker
Es funktioniert noch immer nicht, habe alles so geändert wie oben, hier mal die Funktionen:
Code:
;---------Sitzen:
Func ZeitZumSitzen()
If TimerDiff($zeit1) >= GUICtrlRead($AbWannSitzen) Then
return True
Else
return False
EndIf
EndFunc
Func Sitzen()
ControlSend($windowname, '', '', "c")
$zeit1 = TimerInit()
If TimerDiff($zeit4) >= GUICtrlRead($WielangeSitzen) Then
ControlSend($windowname, '', '', "c")
$zeit4 = TimerInit()
EndIf
EndFunc
;--------Sammeln:
Func ZeitZumSammeln()
If TimerDiff($zeit2) >= GUICtrlRead($WannSammeln) Then
return True
Else
return False
EndIf
EndFunc
Func Sammeln()
ControlSend($windowname, '', '', GUICtrlRead($AufsammelTaste))
$zeit2 = TimerInit()
EndFunc
;--------Angriff:
Func Angriff()
If TimerDiff($zeit3) <= GUICtrlRead($AbWannSitzen) Then
return True
Else
return False
EndIf
EndFunc
Func Angreifen()
ControlSend($windowname, '', '', "{SPACE}")
Sleep(100)
$zeit3 = TimerInit()
EndFunc
Habe ich hier vieleicht nochwas falsch? oder liegt es am oberen skript?
|
Ich habs jetzt nicht ausprobiert, aber es sollte jetzt klappen.
Ich habe einiges geändert, weil es sonst echt zu unübersichtlich ist.
Hier der Code:
PHP Code:
#RequireAdmin
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <GUIConstants.au3>
$windowname = "NosTale"
;Hauptfenster START
#region ### START Koda GUI section ### Form=C:\Users\Jan\Desktop\AutoIt\Nostale Bot\NosBot vers. 1.2\NosBotfenster.kxf
$NosBotfenster = GUICreate("NosBot Vers. 1.2 By WiiZocker", 362, 389, 192, 124)
GUISetFont(8, 800, 0, "MS Sans Serif")
$Label1 = GUICtrlCreateLabel("NosBot Vers. 1.2 By WiiZocker", 56, 16, 252, 23)
GUICtrlSetFont(-1, 11, 800, 0, "MS Reference Sans Serif")
$Benutzen = GUICtrlCreateGroup("Was soll benutzt werden?", 0, 48, 177, 281)
GUICtrlSetFont(-1, 8, 800, 0, "MS Reference Sans Serif")
$ChkSchlafen = GUICtrlCreateCheckbox("Schlafen", 16, 96, 97, 17)
$ChkSammeln = GUICtrlCreateCheckbox("Aufsammeln", 16, 136, 105, 17)
$ChkSkills = GUICtrlCreateCheckbox("Skills benutzen?", 16, 296, 129, 17)
$Hinweis1 = GUICtrlCreateLabel("X = Wird benutzt", 24, 64, 112, 19)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Einstellungen = GUICtrlCreateGroup("Einstellungen", 176, 48, 185, 281)
GUICtrlSetFont(-1, 8, 800, 0, "MS Reference Sans Serif")
$BtnSchlafen = GUICtrlCreateButton("Schlafen", 184, 88, 171, 33, 0)
$BtnSammeln = GUICtrlCreateButton("Aufsammeln", 184, 128, 171, 33, 0)
$BtnSkills = GUICtrlCreateButton("Skills", 184, 288, 171, 33, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Start = GUICtrlCreateButton("START", 88, 336, 171, 49, 0)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
;Hauptfenster ENDE
;Hinsetzenfenster START
#region ### START Koda GUI section ### Form=C:\Users\Jan\Desktop\AutoIt\Nostale Bot\NosBot vers. 1.2\Hinsetzenfenster.kxf
$Hinsetzenfenster = GUICreate("Hinsetzenfenster", 587, 59, 191, 372)
$Sitzen1 = GUICtrlCreateLabel("Nach", 8, 16, 40, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
$AbWannSitzen = GUICtrlCreateInput("10000", 48, 16, 57, 21)
$Sitzen2 = GUICtrlCreateLabel("Millisekunden für", 112, 16, 126, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
$WielangeSitzen = GUICtrlCreateInput("20000", 240, 16, 57, 21)
$Sitzen3 = GUICtrlCreateLabel("Millisekunden hinsetzen.", 304, 16, 182, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
$Schliessen3 = GUICtrlCreateButton("Schließen", 488, 8, 91, 41, 0)
GUISetState(@SW_HIDE)
#endregion ### END Koda GUI section ###
;Hinsetzenfenster ENDE
;Aufsammelfenster START
#region ### START Koda GUI section ### Form=C:\Users\Jan\Desktop\AutoIt\Nostale Bot\NosBot vers. 1.2\Aufsammelfenster.kxf
$Aufsammelfenster = GUICreate("Aufsammeln", 507, 50, 507, 275)
$AufsammelLabel1 = GUICtrlCreateLabel("Alle", 8, 16, 31, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
$WannSammeln = GUICtrlCreateInput("2500", 40, 16, 41, 21)
$AufsammelLabel2 = GUICtrlCreateLabel("Millisekunden mit der Taste", 88, 16, 202, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
$AufsammelTaste = GUICtrlCreateInput("x", 296, 16, 17, 21)
$AufsammelLabel3 = GUICtrlCreateLabel("Aufsammeln.", 320, 16, 100, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
$Schliessen2 = GUICtrlCreateButton("Schließen", 424, 8, 75, 33, 0)
GUISetState(@SW_HIDE)
#endregion ### END Koda GUI section ###
;Aufsammelfenster ENDE
;Skillfenster START
#region ### START Koda GUI section ### Form=c:\users\jan\desktop\autoit\nostale bot\nosbot vers. 1.2\skillfenster.kxf
$Skillfenster = GUICreate("Skills", 282, 472, 402, 227)
$Group1 = GUICtrlCreateGroup("Tasten", 0, 8, 137, 401)
GUICtrlSetFont(-1, 8, 800, 0, "MS Reference Sans Serif")
$Taste0 = GUICtrlCreateCheckbox("Taste-0", 56, 392, 73, 17)
$Taste1 = GUICtrlCreateCheckbox("Taste-1", 56, 32, 73, 17)
$Taste2 = GUICtrlCreateCheckbox("Taste-2", 56, 72, 73, 17)
$Taste3 = GUICtrlCreateCheckbox("Taste-3", 56, 112, 73, 17)
$Taste5 = GUICtrlCreateCheckbox("Taste-5", 56, 192, 73, 17)
$Taste6 = GUICtrlCreateCheckbox("Taste-6", 56, 232, 73, 17)
$Taste4 = GUICtrlCreateCheckbox("Taste-4", 56, 152, 73, 17)
$Taste7 = GUICtrlCreateCheckbox("Taste-7", 56, 272, 73, 17)
$Taste8 = GUICtrlCreateCheckbox("Taste-8", 56, 312, 73, 17)
$Taste9 = GUICtrlCreateCheckbox("Taste-9", 56, 352, 73, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("Zeit", 136, 8, 145, 401)
GUICtrlSetFont(-1, 8, 800, 0, "MS Reference Sans Serif")
$Label1 = GUICtrlCreateLabel("Alle", 144, 32, 29, 19)
$Label2 = GUICtrlCreateLabel("Millisek", 224, 32, 53, 19)
$Input1 = GUICtrlCreateInput("10000", 176, 32, 49, 23)
$Label6 = GUICtrlCreateLabel("Alle", 144, 272, 29, 19)
$Label7 = GUICtrlCreateLabel("Alle", 143, 313, 29, 19)
$Label10 = GUICtrlCreateLabel("Alle", 145, 350, 29, 19)
$Label11 = GUICtrlCreateLabel("Alle", 143, 387, 29, 19)
$Label3 = GUICtrlCreateLabel("Alle", 144, 232, 29, 19)
$Label4 = GUICtrlCreateLabel("Alle", 144, 192, 29, 19)
$Label5 = GUICtrlCreateLabel("Alle", 144, 152, 29, 19)
$Label8 = GUICtrlCreateLabel("Alle", 144, 112, 29, 19)
$Label9 = GUICtrlCreateLabel("Alle", 144, 72, 29, 19)
$Input2 = GUICtrlCreateInput("12000", 176, 72, 49, 23)
$Input3 = GUICtrlCreateInput("14000", 176, 112, 49, 23)
$Input4 = GUICtrlCreateInput("16000", 176, 152, 49, 23)
$Input5 = GUICtrlCreateInput("18000", 176, 192, 49, 23)
$Input6 = GUICtrlCreateInput("20000", 176, 232, 49, 23)
$Input7 = GUICtrlCreateInput("22000", 176, 272, 49, 23)
$Input8 = GUICtrlCreateInput("24000", 176, 312, 49, 23)
$Input0 = GUICtrlCreateInput("28000", 176, 384, 49, 23)
$Input9 = GUICtrlCreateInput("26000", 176, 352, 49, 23)
$Label12 = GUICtrlCreateLabel("Millisek", 224, 72, 53, 19)
$Label13 = GUICtrlCreateLabel("Millisek", 224, 112, 53, 19)
$Label14 = GUICtrlCreateLabel("Millisek", 224, 152, 53, 19)
$Label15 = GUICtrlCreateLabel("Millisek", 224, 192, 53, 19)
$Label16 = GUICtrlCreateLabel("Millisek", 224, 232, 53, 19)
$Label17 = GUICtrlCreateLabel("Millisek", 224, 272, 53, 19)
$Label18 = GUICtrlCreateLabel("Millisek", 224, 312, 53, 19)
$Label19 = GUICtrlCreateLabel("Millisek", 224, 352, 53, 19)
$Label20 = GUICtrlCreateLabel("Millisek", 224, 384, 53, 19)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Schliessen1 = GUICtrlCreateButton("Schließen", 56, 440, 171, 25, 0)
$Hinweis2 = GUICtrlCreateLabel("X = Wird benutzt", 78, 417, 126, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
GUISetState(@SW_HIDE)
#endregion ### END Koda GUI section ###
;Skillfenster ENDE
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $BtnSchlafen
GUISetState(@SW_SHOW, $Hinsetzenfenster)
Case $ChkSchlafen
Case $ChkSammeln
Case $ChkSkills
Case $Schliessen3
GUISetState(@SW_HIDE, $Hinsetzenfenster)
Case $BtnSammeln
GUISetState(@SW_SHOW, $Aufsammelfenster)
Case $Schliessen2
GUISetState(@SW_HIDE, $Aufsammelfenster)
Case $BtnSkills
GUISetState(@SW_SHOW, $Skillfenster)
Case $Schliessen1
GUISetState(@SW_HIDE, $Skillfenster)
Case $Start
$DL = 0 ;durchlauf
$zeit1 = TimerInit() ;---------Sitzen
$zeit2 = TimerInit() ;--------Sammeln
$zeit3 = TimerInit() ;--------Angriff
$zeit4 = TimerInit()
While 1
If (ZeitZumSitzen()) Then
Sitzen()
$zeit1 = TimerInit()
EndIf
If (ZeitZumSammeln()) Then
Sammeln()
$zeit2 = TimerInit()
EndIf
If (Angriff()) Then
Angreifen()
$zeit3 = TimerInit()
EndIf
$DL = $DL + 1
WEnd
;Hauptskript ENDE
EndSwitch
WEnd
;---------Sitzen:
Func ZeitZumSitzen()
If TimerDiff($zeit1) >= GUICtrlRead($AbWannSitzen) Then
Return True
Else
Return False
EndIf
EndFunc ;==>ZeitZumSitzen
Func Sitzen()
ControlSend($windowname, '', '', "c")
;~ If TimerDiff($zeit4) >= GUICtrlRead($WielangeSitzen) Then
Sleep(GUICtrlRead($WielangeSitzen))
ControlSend($windowname, '', '', "c")
$zeit4 = TimerInit()
;~ EndIf
EndFunc ;==>Sitzen
;--------Sammeln:
Func ZeitZumSammeln()
If TimerDiff($zeit2) >= GUICtrlRead($WannSammeln) Then
Return True
Else
Return False
EndIf
EndFunc ;==>ZeitZumSammeln
Func Sammeln()
ControlSend($windowname, '', '', GUICtrlRead($AufsammelTaste))
EndFunc ;==>Sammeln
;--------Angriff:
Func Angriff()
If TimerDiff($zeit3) >= GUICtrlRead($AbWannSitzen) Then
Return True
Else
Return False
EndIf
EndFunc ;==>Angriff
Func Angreifen()
ControlSend($windowname, '', '', "{SPACE}")
Sleep(100)
EndFunc ;==>Angreifen
|
|
|
07/18/2010, 20:36
|
#10
|
elite*gold: 0
Join Date: Mar 2008
Posts: 1,524
Received Thanks: 285
|
ich mach das zwar auch immer so an den rand mit den guis, aber weil da viele oberflächen verwendet werden und diese alle bündig am rand sind sieht es verwirrend aus mach doch als mal eine durchgehende ;------------------------------------ rein 
außerdem brauchste nur das include: #include <GUIConstantsEx.au3>
wieso du #require-admin drinn hast weiß ich auch nicht, du suchst ja nur pixels etc.
|
|
|
07/18/2010, 22:04
|
#11
|
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
|
Ich teste das mal Danke Shadow.
@bladerofdarknes
Wo verwende ich Pixel?
@Shadow:
Hmm, er macht garnichts, ich versuche das problem mal zu finden^^
Mal gucken...
|
|
|
07/18/2010, 22:06
|
#12
|
elite*gold: 0
Join Date: Mar 2008
Posts: 1,524
Received Thanks: 285
|
habs nur überflogen
aber bei lvl bot vermute ich mal das du pixelsearch benutzt, denn mit autoit das ohne pixel zu machen is das schwer
|
|
|
07/18/2010, 23:22
|
#13
|
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
|
Nö^^
Muss nur die Tastendrücke simmulieren per controlsend ;D
@Shadow992
Er funktionert jetzt, ich musste wegen dem angreifen das > zu < ändern und wegen dem setzen,sag ich nur LOL.
Der timer(zeit4) zählt ja von anfang an und da er dann schon höher als $WielangeSitzen ist, ist er auch sovort aufgestanden hier die lösung xD:
Code:
Func Sitzen()
ControlSend($windowname, '', '', "c")
$zeit4 = TimerInit() ;Das war der fehlende baustein o.O
If TimerDiff($zeit4) > GUICtrlRead($WielangeSitzen) Then ;;;;;;;;;;
ControlSend($windowname, '', '', "c")
$zeit4 = TimerInit()
EndIf
EndFunc ;==>Sitzen
|
|
|
07/21/2010, 01:13
|
#14
|
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
|
Push, weil ich ne neue Frage habe
Ich möchte meinem Bot einbauen das er die HP erkennt, aber wie mache ich das?
Ich verstehe es weder Von Netmax Tutorial,Wiki oder anderem.
Welche Adressen muss der Spieler eingeben?
Die adresse ist klar,dann noch bei wieviel Hp er sich setzen soll und austehen soll.Brauche ich noch irgendwelche daten?
|
|
|
07/21/2010, 11:51
|
#15
|
elite*gold: 0
Join Date: May 2010
Posts: 15
Received Thanks: 1
|
Also kann ich mal fragen wozu er die Hp erkennen soll?
Ich zock das Game auch und hab da gestern nen Steinbruch Bot erstellt der mit Pixelsearch arbeitet...
Naja was ich sagen will nach ca. 4 Std. intensiver Arbeit mit Pixelsearch würd ich einfach die Hp über den Befehl PixelGetColor erkennen lassen.
->
Code:
While 1
If PixelGetColor(x,y) = 0xff0000 then
Send("{Pott-taste}")
EndIf
WEnd
Wenn du diesen Code verwendest musst du natürlich die x und y Pixeladdresse austauschen und die Farbe. Bei diesem Code würde ich empfehlen den Pixel anzusetzten wenn die Hp gerade rot wird.
|
|
|
All times are GMT +1. The time now is 12:49.
|
|