Ich habe mich mal daran gesetzt, einen Levelbot für Metin2 zu programmieren.
Das ganze soll mit Tapferkeitsumhängen funktionieren. Hier mal mein bisheriges Skript:
Code:
HotkeySet ("{F5}", "Bot")
HotKeySet ("{ESC}", "Ende")
HotkeySet ("{F6}", "Pause")
Func Ende ()
Exit
EndFunc
Func Pause ()
send ("1")
EndFunc
Func Bot ()
While 1
$timer = TimerInit ()
While 1
If TimerDiff ($timer) > 15000 Then
Send ("{2}")
EndIf
Send ("{^}{SPACE}{1}")
WEnd
WEnd
EndFunc
While 1
sleep (10)
WEnd
Ich habe es jetzt soweit geschafft, das er die ganze Zeit die Angriffs, Trank und Aufhebe Taste drückt. Nach 15 Sekunden drückt er dann die Taste für die Tapferkeitsumhänge (locken Monster an), aber drückt sie dann ununterborchen.
Mein Ziel ist es aber, die Ganze Zeit Angriffs, Trank und Aufhebe Taste drücken zu lassen, und alle 15 Sekunden einen einzigen Tapferkeitsumhang zu benutzen. Möchte das ganze dann hinterher auch verstehen und anwenden können.
Du möchtest, dass er die Taste für die Umhänge nicht ununterbrochen drückt, sondern nur einmal? Zudem besteht im Script allgemein verbesserungsbedarf. Was soll die Pause-Taste bewirken? Ich würde das so machen:
So gut kenne ich mich noch nicht aus ^^. Nebenbei will ich auch verstehen, was der Bot da macht, und nicht nur einfach kopieren und benutzen.
Edit: Habs grad mal probiert, der zeigt mir in Zeile 24 Error an, weil da ein Wend ohne eine While schleife ist. Kann ich das einfach rausnehmen?
Quote:
Du möchtest, dass er die Taste für die Umhänge nicht ununterbrochen drückt, sondern nur einmal? Zudem besteht im Script allgemein verbesserungsbedarf. Was soll die Pause-Taste bewirken? Ich würde das so machen:
Einmal alle 15/30 was weiß ihc Sekunden einmal die Taste für Umhang benutzen. Wäre zudem sehr nett wenn du das überflüssige abspecken könntest, damit ich das ganze besser verstehe.
Omer hats erklärt.
Tomok will glaub ich nicht. dass es nur einmal geschiet, sondern nach einer bestimmten zeit immer wieder. Er meint nähmlich,dass sobald die timer Zeit um ist , es ununterbrochen ausgeführt.Damit dies nicht geschieht. Hat Omer Den Timer einfach danach reseten lassen Ich Zeige euch einmal den Ausschnitt:
PHP Code:
If TimerDiff($timer) >= 15000 Then Send ("{2}") $timer = TimerInit() EndIf
Im Vergleich zu deinem:
PHP Code:
If TimerDiff ($timer) > 15000 Then Send ("{2}") EndIf
Er hat einfach den Befehl TimerInit() Benutzt.
Welcher wie schon gesagt hat, den timer "neu starten" lässt.
Es ist nur ein Befehl, welcher sehr viel bewirken kann ...
das ganze geht auch hidden mit postmessage und außerdem (da deins ja eh im vordergrund ist) kannst du noch einen autopotter einbauen, das kostet ja keine zeit
Hilfe Hilfe Pls Gucken Brauche Hilfe 04/04/2010 - Technical Support - 3 Replies Ja wegen der Signatur sieht es euch ma an in pics
/http://img641.imageshack.us/img641/6070/unbenann t790kjkh.png
http://img444.imageshack.us/img444/6981/unbenannt kjhghzuijhbh.png
kann mir pls einer HELFEN...
HILFE HILFE HILFE MIT SjSro Startproblem 12/14/2009 - SRO Private Server - 4 Replies Hi Leute hab ein Problem mit SjSro wenn ich auf starten klicke kommt diese Meldung Sorry.Failed to execute Silkroad. bitte helfen hab anti virus aus geht immer noch nicht wo liegt das problem
thx schon mal im voraus
BITTE HELFEN BITTE
WILL UMBEDINGT ZOCKEN!!