Jeder fängt mal Klein an

01/30/2009 17:42 cab_killer#1
Hi ich habe mal eine Frage und zwar ich versuche doch ein bisschen das Scripten zu verstehen und Bastle gerade mal ein bisschen an einem rum.

Ich will nix Aufwändiges machen sonder erstmal überhaupt verstehen warum das und das sein muss und warum so und nicht so ^^.

Naja vieleicht könnt ihr mir das mal Erklären warum ich das nicht hinkriege

Code:
#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.0.0
 Author:         myName

 Script Function:
	Template AutoIt script.

#ce ----------------------------------------------------------------------------

#include <tt6.au3>  

; Script Start - Add your code below here

WinActivate("Guild Wars")
WinWaitActive("Guild Wars")
Sleep("2000")

Func
PrepMoveTo()
MoveTo(1, 3326636449,3318604232)
Sleep("1000")
MoveTo(1, 3324765184,3317876736)
StopMoveTo() 
EndFunc
Ich habe in dem Ordner wo das Script drine ist auch
NomadMemory.au3
tt6.au3
tt6.ini
update.ini


Das ist ja eigentlich was ganz Simples aber wenn ich nun auf go gehe sagt er mir nur noch

C:\Users\cab\Desktop\bot script\lol.au3(19,5) : ERROR: syntax error
Func
~~~~^
C:\Users\cab\Desktop\bot script\lol.au3 - 1 error(s), 0 warning(s)


Ich wäre euch sehr Verbunden wenn ihr mir da mal den richtigen Kick in die richtige Richtung geben könnten

MFG
01/30/2009 17:46 _revo#2
du musst der func einen namen geben
Code:
Func name()
 ...
EndFunc
bei den sleeps reicht auch zB Sleep (1000) also ohne die "
01/30/2009 17:47 Jacob_G#3
#include "tt6.au3"

Der Krahm mit <> ist nur wenn die Datei in deinem Au3 Includeverzeichnis ist!
01/30/2009 18:03 Noisuf-X#4
die funktion muss auch noch gecallt werden
also dann einemal irgentwo
Quote:
name()
01/30/2009 18:20 cab_killer#5
Ich habe mich nochmal ein bisschen Umgeguckt und es jetzt ein wenig Erweitert

Aber was ich daran nun nicht verstehe ist

das der Komische gui oben links angezeigt wird und wenn ich den Gui wieder raus nehme dann spuckt er mir wieder als Error und warnungen vor

Code:
#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.0.0
 Author:         myName

 Script Function:
	Template AutoIt script.

#ce ----------------------------------------------------------------------------

#include "tt6.au3"  

; Script Start - Add your code below here

WinActivate("Guild Wars")
WinWaitActive("Guild Wars")
Sleep("2000")

;info window
$win = GUICreate("Status Window", 200, 150, 5, 5)
GUISetState(@SW_SHOW)
$label_pos = GUICtrlCreateLabel("x: -00000.00 y:-00000.00  ", 10, 10)
$label_cou = GUICtrlCreateLabel("c: -00000.0000            ", 10, 30)

Sleep(1000)

AdlibEnable("status", 200)

Func status()
	$course = _memoryread($memcourse,$hprocess,'float')
	$posx = _memoryread($memx,$hprocess,'float')
	$posy = _memoryread($memy,$hprocess,'float')
	$string = StringFormat("x: %.2f y: %.2f", $posx, $posy)
	GUICtrlSetData($label_pos, $string)
	$string = StringFormat("c: %.4f", $course)
	GUICtrlSetData($label_cou, $string)
EndFunc


PrepMoveTo()

MoveTo(1, -12849.3, -6716.5)
Sleep("500")
MoveTo(1, -11001, -6233)

StopMoveTo() 

Sleep("4000")


Keysend("1")
sleep("1000")
Keysend("2")
sleep("1500")
Keysend("3")
sleep("3000")
Und was ich auch nicht verstehe warum er am ende nicht die tasten drückt

ich hatte es auch nur mit send versucht aber das will er auch nicht.

Ich hatte ebend auch versucht meinem Func einen namen zu geben
sprich
Code:
Func weg1()
PrepMoveTo()
MoveTo(1, 3326636449,3318604232)
Sleep("1000")
MoveTo(1, 3324765184,3317876736)
StopMoveTo() 
EndFunc
schön und gut so hat er keine Fehlermeldungen mehr ausgespuckt (bezüglich der ersten variante die ich gepostet hatte)
aber laufen wollte er nun auch nicht ;)

Mhh so ganz verstehe ich die ganze sache noch nicht
01/30/2009 18:47 aLasca#6
WinSetState("Status Window", @SW_HIDE)

Edit: Das sind keine Float Werte sondern Int, das kann nicht gehen

PHP Code:
#include <NomadMemory.au3>
#include-once

Const $posx IniRead("update.ini""SECTION D""POSX""Not found") ; position x
Const $posy IniRead("update.ini""SECTION D""POSY""Not found") ; position y

Global $hWnd WinGetHandle("Guild Wars")
Global 
$PID WinGetProcess($hWnd)
Global 
$hprocess _MemoryOpen($PID)

Global 
$x _memoryread($posx$hprocess'float')
Global 
$y _memoryread($posy$hprocess'float')

MsgBox(0x40"Test""$x =" $x & @CRLF "$y = " $y)
InputBox("PosX & PosY""Your Actual Position is:""X:" $x "   " "Y:" $y
Einfach aus der Inputbox rauskopieren.. ohne die Nachkommazahlen
01/30/2009 19:28 cab_killer#7
Ich verstehe dein Post nicht ganz aLasca

was ist das ? WinSetState("Status Window", @SW_HIDE) ?

was ist das für ein Code den du da beigefügt hast ?

Ich verstehe leider nur Bahnhof ^^

Float werte sind die ewig lagen oder was ?

und die, wie du sie Bezeichnest, Int sind die mit dem "-" davor oder was ?

Ohh man ich raff echt garnix :rolleyes:
01/30/2009 19:48 aLasca#8
Was Float und Int ist kann dir egal sein, du musst nur wissen was da reinkommt.
Mach mal einfach nach dem Guicall "WinSetState("Status Window", @SW_HIDE)"
in dein Script, das versteck den Gui. Mit

WinSetState("Status Window", @SW_SHOW)

kannst du ihn wieder Hervorcallen
01/30/2009 20:02 cab_killer#9
Ich habe das jetzt etwas anders Gelöst

habe einfach im code SHOW mit HIDE ersetzt

GUISetState(@SW_HIDE)

ok jetzt aber nochmal meine Frage
Warum gehen am ende meine Tasten nicht ?

Un nochmals eine andere Frage
Kann man irgendwie aus einer schon Compilierten (nennt man das so ? ^^)
datei (sprich exe) den Code wieder rauslesen ?
So könnte ich einen von den Pub bots etwas genauer angucken und vieleicht auch etwas besser verstehen.

MFG
01/30/2009 20:12 aLasca#10
Jeder Bot der Public ist und ohne Code reingestellt wurde, wurde zu 99.99% dagegen geschützt (Ja, auch ich habe es inzwischen geschafft)
01/30/2009 20:27 cab_killer#11
Schade eigentlich den ich wollte jetzt mal anhand des Ascalon Farben Farm Bot gucken wie das so abläuft.
Da mir der Bot relativ "einfach" vorkommt dachte ich kann dadurch vieleicht etwas lernen ^^

Aber ok nun nochmal

Wie kriege ich es hin das er durch das Portal läuft und dann seine Skills castet ?
Wie er rausläuft habe ich ja jetzt schon hingekriegt aber er will am Ende kein Skill casten sondern beendet den Bot einfach.

Danke für eure Hilfe bis jetzt und Weiterhin

MFG
01/31/2009 13:18 cab_killer#12
Kann mir keiner sagen warum er nach dem er ausm Portal geht nicht mehr weiter macht ?

PHP Code:
#cs ----------------------------------------------------------------------------

 
AutoIt Version3.3.0.0
 Author
:         myName

 Script 
Function:
    
Template AutoIt script.

#ce ----------------------------------------------------------------------------

#include "tt6.au3"  

Script Start Add your code below here

WinActivate
("Guild Wars")
WinWaitActive("Guild Wars")
Sleep("2000")

;
info window
$win 
GUICreate("Status Window"20015055)
GUISetState(@SW_HIDE)
$label_pos GUICtrlCreateLabel("x: -00000.00 y:-00000.00  "1010)
$label_cou GUICtrlCreateLabel("c: -00000.0000            "1030)

Sleep(1000)

AdlibEnable("status"200)

Func status()
    
$course _memoryread($memcourse,$hprocess,'float')
    
$posx _memoryread($memx,$hprocess,'float')
    
$posy _memoryread($memy,$hprocess,'float')
    
$string StringFormat("x: %.2f y: %.2f"$posx$posy)
    
GUICtrlSetData($label_pos$string)
    
$string StringFormat("c: %.4f"$course)
    
GUICtrlSetData($label_cou$string)
EndFunc


PrepMoveTo
()

MoveTo(1, -12849.3, -6716.5)
MoveTo(1, -11001, -6233)

StopMoveTo()

Sleep(6000)

PrepMoveTo()

MoveTo (1, -10095.5, -6232.1)
MoveTo (1, -9918.5, -5183.6)
Sleep("1000")
StopMoveTo()

ControlSend("Guild Wars"""0"{c}")
Sleep("1000")
ControlSend("Guild Wars"""0"{1}")
Sleep("1500")
ControlSend("Guild Wars"""0"{2}")
Sleep("3000")
ControlSend("Guild Wars"""0"{3}")
Sleep("1000")


send("c")
Sleep("1000")
Send("1")
Sleep("1000")
Send("2")
Sleep("1500")
Send("3000"
Das ist de momentane Code
Am ende das Controlsend und das send da wollt ich nur gucken ob überhaupt irgendwas geht ^^

Mit dem ersten Move läuft er aus der Stadt raus und ab dann ist es vorbei der Script beendet sich einfach obwohl der Script doch noch garnicht zu ende ist,

Könnt ihr mir erklären was ich Falsch mache ?

Irgendeine Meldung die kommt wenn der bot aus der Stadt raus gegangen ist.

>Running:(3.3.0.0):C:\Program Files\AutoIt3\autoit3.exe "C:\Users\cab\Desktop\bot script\lol.au3"
GetCourse: bad call: 1.#INF+>13:10:48 AutoIT3.exe ended.rc:0
+>13:10:49 AutoIt3Wrapper Finished
01/31/2009 13:25 NBA#13
KeepMoveTo() und sleep(ladezeit) schreiben bevor du aus der stadt raus gehst?
01/31/2009 19:09 cab_killer#14
Danke hast mir sehr Geholfen.

Aber ich habe wieder eine neue Frage ^^

Ich versuche das mit den mehreren Startpoints hin zu kriegen aber irgendwie macht er bei mir nix

PHP Code:
#cs ----------------------------------------------------------------------------

 
AutoIt Version3.3.0.0
 Author
:         myName

 Script 
Function:
    
Template AutoIt script.

#ce ----------------------------------------------------------------------------

#include "tt6.au3"  

Script Start Add your code below here

WinActivate
("Guild Wars")
WinWaitActive("Guild Wars")
Sleep("2000")

;
info window
$win 
GUICreate("Status Window"20015055)
GUISetState(@SW_HIDE)
$label_pos GUICtrlCreateLabel("x: -00000.00 y:-00000.00  "1010)
$label_cou GUICtrlCreateLabel("c: -00000.0000            "1030)

Sleep(1000)

AdlibEnable("status"200)

Func status()
    
$course _memoryread($memcourse,$hprocess,'float')
    
$posx _memoryread($memx,$hprocess,'float')
    
$posy _memoryread($memy,$hprocess,'float')
    
$string StringFormat("x: %.2f y: %.2f"$posx$posy)
    
GUICtrlSetData($label_pos$string)
    
$string StringFormat("c: %.4f"$course)
    
GUICtrlSetData($label_cou$string)
EndFunc

Sleep
(1000)

Func weg()
    If 
CheckArea(-1060310998Then
        PrepMoveTo
()
        
MoveTo(1,-11343.611717.3)
        
MoveTo(1,-12034.411685.9)
        
StopMoveTo()
    Elseif 
CheckArea(-10703.111068.7Then    
        PrepMoveTo
()
        
MoveTo (1,-11150.511655.7)
        
MoveTo (1,-12086.311707.3)
        
StopMoveTo()
    ElseIf 
CheckArea(-10801.812734.8Then
        PrepMoveTo
()
        
MoveTo(1,-10824.112016.6)
        
MoveTo(1,-11497.711653.3)
        
MoveTo(1,-12078.311659.2)
        
StopMoveTo()
    ElseIf 
CheckArea(-977312168Then
        PrepMoveTo
()
        
MoveTo(1,-10475.611347.1)
        
MoveTo(1,-11404.311646.9)
        
MoveTo(1,-12063.111693.1)
        
StopMoveTo()
        
Sleep(7000)
    ElseIf 
CheckArea(-1267911609Then
        PrepMoveTo
()
        
MoveTo(1,-13471.912817.4)
        
MoveTo(1,-13679.414212.2)
        
StopMoveTo()
        
Send("8")
        
Sleep(2500)
        
Send("7")
        
Sleep(2500)
        
Send("6")
        
Sleep(2500)
    EndIf
EndFunc 
So habe ich das Jetzt mal alles eingegeben
Es kommt auch kein Fehler wenn ich es so Starte aber bewegen tut er sich auch nicht ^^

Kann mir einer sagen warum ?

Danke

MFG
01/31/2009 19:13 aLasca#15
Du musst die Functionen aufrufen??

also entweder

PHP Code:
Call("weg")

oder 

weg
()