Hallo,
ich habe ein kleines Problem mit einem Code ( ich weis er ist für Könner schwachsinnig weils viel zu umständlich geschrieben ist aber nur so versteh ich ihn ^^ )
Ich habe eine Funktion geschrieben für einen kleinen Bot leider kommt immer die Meldung Func has no matching endfunc statement und weis nicht warum das so ist.
Hier ist der Code.
Code:
Func Gegnersuchen()
$result1 = _ImageSearch ("Bogenschütze.bmp",1,$x1,$y1,0)
If $result1 = 1 Then
Return True
ElseIf
$result2 = _ImageSearch ("Schwert.bmp",1,$x2,$y2,0)
If $result2 = 1 Then
Return True
ElseIf
$result3 = _Imagesearch ("Skelett.bmp",1,$x3,$y3,0)
If $result3 = 1 Then
Return True
ElseIf
$result4 = _Imagesearch ("Skelett2.bmp",1,$x4,$y4,0)
If $result4 = 1 Then
Return True
ElseIf
$result5 = _Imagesearch ("Skelett3.bmp",1,$x5,$y5,0)
If $result5 = 1 Then
Return True
ElseIf
$result6 = _Imagesearch ("Speerkämpfer.bmp",1,$x6,$y6,0)
If $result6 = 1 Then
Return True
ElseIf
$result7 = _Imagesearch ("Wurm.bmp",1,$x7,$y7,0)
If $result7 = 1 Then
Return True
ElseIf $collectTreasure Then
$result8 = _Imagesearch ("Schatztruhe.bmp",1,$x8,$y8)
If $result8 = 1 Then
Return True
EndIf
Else
Return False
EndIf
EndFunc
habe es nun so abgeändert wie Sie mir geschrieben haben allerdings gibt er mir immernoch den gleichen Fehlercode
Code:
Func Gegnersuchen()
$result1 = _ImageSearch ("Bogenschütze.bmp",1,$x1,$y1,0)
If $result1 = 1 Then Return True
ElseIf
$result2 = _ImageSearch ("Schwert.bmp",1,$x2,$y2,0)
If $result2 = 1 Then Return True
ElseIf
$result3 = _Imagesearch ("Skelett.bmp",1,$x3,$y3,0)
If $result3 = 1 Then Return True
ElseIf
$result4 = _Imagesearch ("Skelett2.bmp",1,$x4,$y4,0)
If $result4 = 1 Then Return True
ElseIf
$result5 = _Imagesearch ("Skelett3.bmp",1,$x5,$y5,0)
If $result5 = 1 Then Return True
ElseIf
$result6 = _Imagesearch ("Speerkämpfer.bmp",1,$x6,$y6,0)
If $result6 = 1 Then Return True
ElseIf
$result7 = _Imagesearch ("Wurm.bmp",1,$x7,$y7,0)
If $result7 = 1 Then Return True
ElseIf $collectTreasure Then
$result8 = _Imagesearch ("Schatztruhe.bmp",1,$x8,$y8)
If $result8 = 1 Then Return True
EndIf
Else
Return False
EndFunc
normalerweise sollte das doch richtig sein diese Funktion macht keine weiter Funktion auf. Es gibt auch einen Anfang und ein Ende.
Okay ich habe bereits herausgefunden, dass ich erst die ganzen Funktionen einfügen muss damit es funktioniert ^^
Wollte ursprünglich erst schauen, dass die Funktionen alle i.O. sind und mich dann an den schweren Teil machen nämlich das ganze zusammen laufen lassen ^^
habe es nun so abgeändert wie Sie mir geschrieben haben allerdings gibt er mir immernoch den gleichen Fehlercode
Code:
Func Gegnersuchen()
$result1 = _ImageSearch ("Bogenschütze.bmp",1,$x1,$y1,0)
If $result1 = 1 Then Return True
ElseIf
$result2 = _ImageSearch ("Schwert.bmp",1,$x2,$y2,0)
If $result2 = 1 Then Return True
ElseIf
$result3 = _Imagesearch ("Skelett.bmp",1,$x3,$y3,0)
If $result3 = 1 Then Return True
ElseIf
$result4 = _Imagesearch ("Skelett2.bmp",1,$x4,$y4,0)
If $result4 = 1 Then Return True
ElseIf
$result5 = _Imagesearch ("Skelett3.bmp",1,$x5,$y5,0)
If $result5 = 1 Then Return True
ElseIf
$result6 = _Imagesearch ("Speerkämpfer.bmp",1,$x6,$y6,0)
If $result6 = 1 Then Return True
ElseIf
$result7 = _Imagesearch ("Wurm.bmp",1,$x7,$y7,0)
If $result7 = 1 Then Return True
ElseIf $collectTreasure Then
$result8 = _Imagesearch ("Schatztruhe.bmp",1,$x8,$y8)
If $result8 = 1 Then Return True
EndIf
Else
Return False
EndFunc
normalerweise sollte das doch richtig sein diese Funktion macht keine weiter Funktion auf. Es gibt auch einen Anfang und ein Ende.
Okay ich habe bereits herausgefunden, dass ich erst die ganzen Funktionen einfügen muss damit es funktioniert ^^
Wollte ursprünglich erst schauen, dass die Funktionen alle i.O. sind und mich dann an den schweren Teil machen nämlich das ganze zusammen laufen lassen ^^
1. ElseIf ist eine normale abfrage und erwartet somit eine expression und vorallem ein Then
bsp:
Code:
Dim $x=5
If $x=1 Then
ConsoleWrite("$x = 1"&@CRLF)
ElseIf $x=5 Then
ConsoleWrite("$x = 5"&@CRLF)
EndIf
2. was soll dieses ganze sinnlose gerüst dort überhaupt?
alles was du tust ist überprüfen ob werte 1 sind.... ist das der fall wird wahr zurück gegeben... ist es nicht der fall wird false zurück gegeben...
das erledigt man in funktionen so:
Code:
Func Gegnersuchen()
If _ImageSearch ("Bogenschütze.bmp",1,$x1,$y1,0) = 1 Then Return True
If _ImageSearch ("Schwert.bmp",1,$x2,$y2,0) = 1 Then Return True
If _Imagesearch ("Skelett.bmp",1,$x3,$y3,0) = 1 Then Return True
If _Imagesearch ("Skelett2.bmp",1,$x4,$y4,0) = 1 Then Return True
If _Imagesearch ("Skelett3.bmp",1,$x5,$y5,0) = 1 Then Return True
If _Imagesearch ("Speerkämpfer.bmp",1,$x6,$y6,0) = 1 Then Return True
If _Imagesearch ("Wurm.bmp",1,$x7,$y7,0) = 1 Then Return True
If $collectTreasure And _Imagesearch ("Schatztruhe.bmp",1,$x8,$y8) = 1 Then Return True
Return False
EndFunc
3. du arbeitest mit 8 verschiedenen bildern mit jeweils unterschiedlichen x und y werten.
das ganze arbeitet man ordnungsgemäß mit einem array ab und erhält am ende
Code:
Dim $array[8][3] = [["Bogenschütze.bmp",100,100],...,["Schatztruhe.bmp",800,800]]
Func Gegnersuchen($array) ;$array[index][bild,x,y]
For $i=0 To UBound($array)-1
_ImageSearch($array[$i][0],1, $array[$i][1], $array[$i][2],0) = 1 Then Return True
Next
Return False
EndFunc
Kleines Gehäuse ! brauche Hilfe! 04/13/2013 - Hardware Discussions / Questions - 4 Replies Hallo Leute ,
habe heute den Lenovo Thinkcentre 58m bekommen (buisness Pc mit kleinem Gehäuse)
Da noch platz für eine low profil Grafikkarte ist wollte ich sie einbauen hab auch ein neues NT dazu bestellt .. aber i.wie ist mir das gehäuse zu klein!
Kann ich diesen Pc ist ein größeres Gehäuse bauen ohne Probleme?
Hilfe, hab mal wieder nen kleines problem! 03/17/2013 - Minecraft - 4 Replies Ich mit meinen Problemen ^^:
folgende plugins:
AuthMe.jar
Bedhealth.jar
ButtercakeV1.jar
ButtonPromote.jar
ClearChat.jar
EpicBossRecoded.jar
Essentials.jar
[HILFE] Kleines Quest Problem 07/29/2012 - Metin2 Private Server - 3 Replies Hi comm,
ich will das die andern Spieler Erfahren wenn ein Boss gekillt wurde. Hier ein Besipiel:
quest 591_kill begin
state start begin
when 591.kill begin
notice_all(pc.get_name().. " hat den Brutalen Hauptmann getötet!")
end
end
Kleines Problem! Brauche Hilfe! 09/13/2011 - Metin2 Private Server - 4 Replies Hei liebe Com!
Ich hab ein kleines problem! Seht einfach mal auf dem Bild:
http://www.bilder-hochladen.net/files/big/in0a-1- c4ca.jpg
Diese komischen Codes die da immer kommen, wenn ich ein tier angreife, die kann man doch InGame mit einem Befehl wegkriegen! Aber der befehl find ich niergends mehr! Könnt ihr mir den bitte sagen ???? DANKEEEE :D