[TuT] Einfachen Nostale Bot machen

12/26/2008 23:46 Alisamix#1
Hallo, ich zeige euch jetzt, wie man z.B. meinen Pii Bot macht.

1. Ihr ladet euch AutoIt3 herunter:
[Only registered and activated users can see links. Click Here To Register...]

2. Ihr installiert AutoIt3

3. Ihr macht eine neue Textdatei. Diese nennt ihr z.B "Bot.au3". Wenn bei euch die Endungen nicht gezeigt werden macht folgendes:

Quote:
Windows blendet die Endungen von Dateien wie EXE, MP3, AVI oder DOC aus. Um jedoch einer Datei eine andere Endung zu geben ist dies so nicht möglich. Deshalb sind einige kleine Änderungen in Windows zu bewältigen um immer die Datei-Endungen sehen zu können. Öffnen Sie den Windows-Explorer, indem Sie einen Rechtsklick auf die Schaltfläche "Start" machen und dann auf "Explorer" klicken. Gehen Sie im Menü "Extra" und wählen Sie "Ordneroptionen" aus. Wählen Sie die Karteikarte "Ansicht" aus. Im Feld "Erweiterte Einstellungen" finden Sie in der Rubrik "Dateien und Ordner" den Punkt "Erweiterung bei bekannten Dateitypen ausblenden". Entfernen ...
Sie das Häkchen davor und klicken Sie auf den Button "Übernehmen". Nun Sind alle Datei-Endungen zu sehen.
4. Mit Rechtsklick -> Bearbeiten öffnet ihr den Editor. Nun schreibt ihr folgenden Text rein:

Code:
While 1
Sleep ( 500 )
ControlSend("NosTale", "", 0, "{Space}")
WEnd
ERKLÄRUNG

While 1 ist die Einleitung einer Schleife, die sich dauernd wiederholt.
Sleep ( 500 ): Das Sleep ist eine Wartezeit, 500 die Zeit wielange die "Pause" dauert. 1000 = 1 Sekunde
ControlSend("NosTale", "", 0, "{Space}"): Das ControlSend sendet eine Tastatureingabe. Das "NosTale" steht für den Titel des Nostalefensters und das {Space} für die Leertaste. Wenn man die geschweiften Klammern ({}) weglassen würde, würde nur "Space", also der Text gesendet werden.
WEnd ist das Ende einer Schleife.

Das speichert ihr nun. Dann macht ihr Rechtsklick auf die Datei und drückt "Compile Script". Fertig! Beenden könnt ihr den Bot in der Trayicon-Leiste. Natürlich gibt es noch VIEL mehr, jedoch ist das ein Anfang!


MfG,

Alisamix
12/27/2008 18:51 davidoprisan#2
Hmmm... Den könnte man glatt Piibot nennen ^^

Aber eine Frage, ich habe jetzt Pyjama gemacht und möchte natürlich mein Joblevel erhöhen habe aber kein Bock ne halbe -stunde nur zu klicken.

Ich würd dich mal bitten aus dem Bot ein ControlSend teil zu machen.

Also das er die {SPACE} efehle an das Fenster "NosTale" sendet , bzw. an den Prozess "NostaleX.dat" sendet.

Fettes Thx wenn es funzt :D
12/28/2008 14:06 Alisamix#3
Ja, aber mir fehlt die ganze Syntax :(
12/28/2008 16:04 davidoprisan#4
hmm kennt sich einer damit aus , also nur die Space befehle an Nostale schicken mit Controlsend
12/28/2008 18:04 Alisamix#5
Wie gesagt, ich werde es versuchen!
12/28/2008 20:03 davidoprisan#6
Ich hab mal ein bissl in Google gesucht und folgendes zum Thema ControlSend gefunden:

ControlSend

Sends a string of characters to a control.

PHP Code:
ControlSend "title""text"controlID"string" [, flag] ) 


Parameters
PHP Code:
title     The title of the window to access.
text     The text of the window to access.
controlID     The control to interact withSee Controls.
string     String of characters to send to the control.
flag     [optionalChanges how "keys" is processed:
  
flag (default), Text contains special characters like to indicate SHIFT and {LEFTto indicate left arrow.
  
flag 1keys are sent raw

Aber anfangen kann ich leider nix damit ^^ Kenn mich noch nicht so gut aus :D mit Autoit
12/30/2008 17:13 Haygu#7
While 1
Sleep ( 500 )
ControlSend("NosTale", "", 0, "{Space}")
WEnd

Schon läuft es im hintergrund.

Enjoy

Ps: GANZ WICHTIG das es NosTale ist und nicht Nostale !
12/30/2008 20:50 Alisamix#8
Ahhhh DAS war mein Fehler ;)

Danke ;) Ich baue es mit ein!
01/25/2009 06:20 k3v95#9
ist das egal welche textdatei nimmt? muss man das programm starten? bei mir geht es nicht... könnt ihr mir die fragen beantworten? wäre nett^^
01/25/2009 10:47 Haygu#10
Quote:
Originally Posted by k3v95 View Post
ist das egal welche textdatei nimmt? muss man das programm starten? bei mir geht es nicht... könnt ihr mir die fragen beantworten? wäre nett^^
Du benötigst das programm "Autoit" um diesen code benutzen zu können.
Das programm findest du hier: [Only registered and activated users can see links. Click Here To Register...]

Und eine "kurze" einführung in autoit findest du hier: [Only registered and activated users can see links. Click Here To Register...]

Solltest du dir zumindestens teilweise durchlesen um das programm zu verstehen.


MfG Haygu
01/25/2009 15:08 k3v95#11
ich habs versatnden und mir auch einen bot gemachr... ich würde noch gerne wissen, wo ihr die codes her habt. ich möchte einen bot speziell für meinen swordi machen mit mp und erdwelle. dazu bräuchte ich einen code, der z.b. nach 1 min taste 1 drückt. könnte mir jemand soeinen sagen und/oder die seite mit den codes. wäre echt nett
02/02/2009 22:31 Peace87#12
Das war eine SUPER Starthilfe !!

Jetzt frage ich mich nur wie ich eine 2. Schleife (While) mit einem anderen Zeitintervall hinzufüge die neben dem einen mit dem Space läuft...?!

Kann mir dabei einer behilflich sein?
Wäre total lieb =D

Lg
02/04/2009 14:20 Alisamix#13
Noch eine Schleife geht so viel ich will so:

Code:
While 1
SCHLEIFE1
WEnd

While 2
SCHLEIFE2
WEnd
Teste es mal.
02/04/2009 16:49 ~Freaky~#14
Quote:
Originally Posted by Alisamix View Post
Noch eine Schleife geht so viel ich will so:

Code:
While 1
SCHLEIFE1
WEnd

While 2
SCHLEIFE2
WEnd
Teste es mal.
wieso
While 2 ?

er will eine schleife in einer anderen die nach XX sec eine taste drückt

Code:
While 1 ;Schleife 1
	$startzeit = TimerInit()
	Do ;schleife 2
		;dein normale / r befhel / e
	Until TimerDiff($startzeit) >= 1000 ;deine Zeit wie lange er den normalen ablauf machen soll
	;Dein befhel der nach 1 Sec oder mehr ausgeführt werden soll
WEnd
02/04/2009 19:43 Peace87#15
Quote:
Originally Posted by ~Freaky~ View Post
wieso
While 2 ?

er will eine schleife in einer anderen die nach XX sec eine taste drückt

Code:
While 1 ;Schleife 1
	$startzeit = TimerInit()
	Do ;schleife 2
		;dein normale / r befhel / e
	Until TimerDiff($startzeit) >= 1000 ;deine Zeit wie lange er den normalen ablauf machen soll
	;Dein befhel der nach 1 Sec oder mehr ausgeführt werden soll
WEnd
Also ich muss einfach so
Code:
While 1
$starzteiz = TimerInit (400)
ControlSend("NosTale", "", 0, "{SPACE}")
DO
ControlSend("NosTale", "", 0, "{x}")
Until TimerDiff($startzeit) = 1500
WEnd
wenn ich im intervall 400 space und im intervall 1500 x will ?! oder hab ich dies nun falsch verstanden o_0

was mache ich nun aber wenn ich einen dritten will?

ich bin zurzeit soweit dass ich einfach eine while mit 2 Send habe:

Code:
While 1
	Sleep ( 400 )
	ControlSend("NosTale", "", 0, "{SPACE}")
	ControlSend("NosTale", "", 0, "{x}")
	WEnd
ich werde nun mal versuchen aus dem $startzeit schlau zu werden und vielleicht dann wenn noch keine meldung hier kam meinen post hier zu editieren.

Danke schonmal für die nette hilfe =)

p.s. mit dem While1 und While2 klappt das leider nicht, da er mir nach while1 die while2 nicht macht oder so kA genau... er hat dann i-wie nur while2 im kopf weil diese einen längeren intervall hat und dann nur diese macht bis sie zuende ist aber i-wie keine ahnung xD