Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 15:52

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[autoIT] Need Help (Anfaenger)

Discussion on [autoIT] Need Help (Anfaenger) within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jun 2008
Posts: 99
Received Thanks: 19
[autoIT] Need Help (Anfaenger)

Hi, ich bin seit kurzem am coden mit autoIT und habe da auch schon ein Projekt, dass ich teils auch schon fertig habe.

Das Projekt ist ein Tool für Warcraft3 bzw. DotA Spieler, die über Garena spielen.

Es beinhaltet bis jetzt:
-automatisches Starten und Login von Garena
-Ansage des Modes, wenn ein Spieler das Game joint (als Host)
-Eingabe des Modes nach Spielstart (als Host)

Und hier ist der neue Code:
Quote:
;Script von Philipp Keil
;;HostHelper v0.8
;;;Garena autostart funktioniert nicht

#include <String.au3>
#include <file.au3>
#include <misc.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>


HotKeySet ("{F5}", "StartCountdown")
HotKeySet ("{F6}", "StopCountdown")
HotKeySet ("{F7}", "Mode")
HotKeySet ("{F8}", "End")
$file = "daten.txt"
If FileReadLine ($file,1) = "" then
$name = Inputbox ("HostHelper","Dein Login Nick?")
$Pass = InputBoX ("HostHelper","dein Passwort?","","*")
$Pfad = InputBoX ("HostHelper","Pfad zur Garena.exe","C:\Programme\Garena")
$crypt_name =_StringEncrypt(1,$name,"946699")
$crypt_pass =_StringEncrypt(1,$Pass,"946699")
FileWrite ($file, "")
_FileWriteToLine ($file, 1, $crypt_name, 1)
_FileWriteToLine ($file, 2, $crypt_pass, 1)
_FileWriteToLine ($file, 3, $Pfad, 1)
EndIf
$crypt_name2 = FileReadLine ($file, 1)
$crypt_pass2 = FileReadLine ($file, 2)
$name2 =_StringEncrypt(0,$crypt_name2,"946699")
$pass2 =_StringEncrypt(0,$crypt_pass2,"946699")
$Pfad = FileReadLine ($file, 3)

#Region ### START Koda GUI section ### Form=c:\dokumente und einstellungen\philipp keil\desktop\hosthelper\hosthelpergui.kxf
$Form1_1 = GUICreate("HostHelper", 493, 413, 488, 177)
$HostHelperv0_9 = GUICtrlCreateLabel("HostHelperv0.9", 71, 16, 342, 60)
GUICtrlSetFont(-1, 30, 400, 0, "Arial Black")
GUICtrlSetColor(-1, 0x008080)
$Group1 = GUICtrlCreateGroup("Garena", 136, 144, 177, 233)
$Nick = GUICtrlCreateInput($name2, 152, 192, 121, 21)
$Nick_Name = GUICtrlCreateLabel("Nick Name", 152, 168, 69, 19)
GUICtrlSetFont(-1, 8, 800, 0, "Arial Black")
$Passwort = GUICtrlCreateLabel("Passwort", 152, 224, 60, 19)
GUICtrlSetFont(-1, 8, 800, 0, "Arial Black")
$Passwort1 = GUICtrlCreateInput("*******************", 152, 248, 121, 21)
$Pfad_zur_garena_exe = GUICtrlCreateLabel("Pfad zur garena.exe", 160, 296, 121, 19)
GUICtrlSetFont(-1, 8, 800, 0, "Arial Black")
$Pfad = GUICtrlCreateInput($pfad, 152, 320, 121, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button1 = GUICtrlCreateButton("Start Tools", 56, 152, 75, 225, $WS_GROUP)
$Hotkeys = GUICtrlCreateLabel("Hotkeys:", 312, 152, 57, 19)
GUICtrlSetFont(-1, 8, 800, 0, "Arial Black")
$F5 = GUICtrlCreateLabel("Start Game = F5", 314, 176, 101, 19)
GUICtrlSetFont(-1, 8, 800, 0, "Arial Black")
$F7 = GUICtrlCreateLabel("Modeingabe = F7", 314, 200, 103, 19)
GUICtrlSetFont(-1, 8, 800, 0, "Arial Black")
$F8 = GUICtrlCreateLabel(" Beenden = F8", 311, 224, 88, 19)
GUICtrlSetFont(-1, 8, 800, 0, "Arial Black")
$Modusangabe = GUICtrlCreateGroup("Modusangabe", 336, 280, 137, 97)
$mod1 = GUICtrlCreateInput("", 344, 336, 121, 21)
GUICtrlCreateLabel("Modus des Spiels?", 344, 312, 115, 19)
GUICtrlSetFont(-1, 8, 800, 0, "Arial Black")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)

#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $Button1

if $mod1 = "1" then $mod1 = "APSO"
if $mod1 = "2" then $mod1 = "SDSO"

while 1
sleep (100)
WEnd

Func StartCountdown()
send ("MODE IS ")
send ("{enter}")
send ("-" & $mod1)
send ("{enter}")
sleep (5000)
send ("10")
send ("{enter}")
sleep (1000)
send ("9")
send ("{enter}")
sleep (1000)
send ("8")
send ("{enter}")
sleep (1000)
send ("7")
send ("{enter}")
sleep (1000)
send ("6")
send ("{enter}")
MouseMove (1110, 839)
MouseClick ( "left")
sleep (3800)
send ("{enter}")
EndFunc

Func StopCountdown()
while 1
sleep (100)
WEnd
EndFunc

while 1
sleep (100)
WEnd

Func Mode()
send ("{enter}")
send ("-" & $mod1)
send ("{enter}")
EndFunc

Func End()
Exit
EndFunc

Exit
EndSwitch
WEnd
Jetzt habe ich aber ein paar Probleme:

1. GelöstWenn ich ihm sage er soll Garena starten, dann macht er einfach garnichts.
Quote:
run ("garena.exe",$pfad2)
send ($name2)
send ("{TAB}")
send ($pass2)
send ("{enter}")
Die Variable ist in diesem Fall : C:\Programme\Garena

2.Gelöst Ich frage mich, ob autoIT erkennen kann, dass das Laden der Map abgeschlossen ist.
Ich hab mir gedacht solbald die Farbe eines bestimmten Pixels sich ändert, soll er den Mod eingeben, aber ich weiß nicht wie ich es schreiben soll. Viell. mit einer IF-Abfrage?

3. Kann autoIT erkennen, dass Spieler ins Spiel eingetreten sind und dann automatisch den Mode in den Chat schreiben?

4. GelöstWie ich es schreiben soll, dass wenn der User in der MessageBoX "Ja" gedrückt hat, er erst mit etwas anderem weiter machen soll?
So dachte ich es mir :
Quote:
msgBoX (4, "HostHelper", "Garena starten?")

If msgBoX = 8 then

run ("garena.exe",$pfad2)
send ($name2)
send ("{TAB}")
send ($pass2)
send ("{enter}")
EndFunc
Ich hoffe mir kann schnell jemand helfen, denn ich hab grad langeweile und brauch was zum denken.
MfG WaYnE
WieMeinen is offline  
Old 11/23/2009, 15:44   #2
 
Crrrespo's Avatar
 
elite*gold: 87
Join Date: Jul 2009
Posts: 2,998
Received Thanks: 1,640
1)
Er findet die Exe nicht. Pack die garana.exe mal in den Ordner mit dem Script.

2)


3) Versteh ich nicht. :/
Crrrespo is offline  
Old 11/23/2009, 15:45   #3
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,426
Received Thanks: 1,888
Das ist nicht die autoit section. Und setz deinen 'code' gefälligst in code-tags.
MoepMeep is offline  
Old 11/23/2009, 17:31   #4
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,876
Quote:
Originally Posted by Crrrespo View Post
1)
Er findet die Exe nicht. Pack die garana.exe mal in den Ordner mit dem Script.

2)


3) Versteh ich nicht. :/
1) Benutz statt Run(...) lieber ShellExecute(...)

2)

3) Klar gibt es möglichkeiten das zu verwirklichen ...
Z.B. mit Pixelsearch (auf deinem Nivaeu wird das aber nix und erst recht nix mit Memories , also schmink dir das erstmal ab )

Btw Ich hab auch Garena
Shadow992 is offline  
Old 11/23/2009, 20:59   #5

 
Kazaaa's Avatar
 
elite*gold: 26
Join Date: Nov 2007
Posts: 32,810
Received Thanks: 12,143
Quote:
Originally Posted by oOWaYnEOo View Post
3. Kann autoIT erkennen, dass Spieler ins Spiel eingetreten sind und dann automatisch den Mode in den Chat schreiben?
Code:
While 1 ; damit es nach dem ersten mal nicht aufhört
Do ;Tu folgendes:
$Suche = pixelgetcolor (***, yyy) ;Sucht die Pixelfarbe am Punkt ***, yyy raus
sleep (150) ; "Schläft" 150 millisekunden, da sonst zu CPU-lastig
until $suche = 0x0000 (dein Farbwert) ;(tu folgendes:) bis deine suche den Farbwert 0x0000 hat
WEnd ; wegen While 1 nötig
€dit: den Code hab ich mir grad mal aus nem anderen Thread geklaut weil der Tab noch offen war
Damit solltest dir den "Checker" ob die Map geladen ist basteln können
Kazaaa is offline  
Old 11/23/2009, 22:18   #6
 
elite*gold: 0
Join Date: Jun 2008
Posts: 99
Received Thanks: 19
Ok, schon mal ein großes Dankeschön an alle, die mir geantwortet haben.
@Shadow992: Es funktioniert jez mit "shellexecute"
Quote:
If $answer = 6 then
shellexecute ("garena.exe", "", "C:\Programme\Garena")
winwaitActive ("Login")
sleep (300)
send ($name2)
send ("{TAB}")
send ($pass2)
send ("{enter}")
EndIf
@Kazaaa: Muss er jedesmal neu den Punkt suchen?
Man könnte es doch auch so schreiben:
Quote:
$Suche = pixelgetcolor (***, yyy)
Do
sleep (100)
until $suche = 0x0000
WEnd
oder?
Egal, trotzdem dankeschön an alle die mir geholfen haben.
WieMeinen is offline  
Old 11/24/2009, 12:24   #7
 
elite*gold: 9
The Black Market: 156/0/0
Join Date: Apr 2009
Posts: 10,163
Received Thanks: 3,805
Quote:
Originally Posted by oOWaYnEOo View Post
@Kazaaa: Muss er jedesmal neu den Punkt suchen?
Man könnte es doch auch so schreiben:

oder?
Egal, trotzdem dankeschön an alle die mir geholfen haben.
Nein, da es sonst nur einmal nach dem Pixel sucht und dann gleich in der Schleife hängt, wenn er den Pixel beim ersten mal nicht gefunden hat. Danach geht dann garnichts mehr, das heißt, dann kommt er nicht mehr aus der Do Until Schleife raus.

(Funktion Do Until ist eine Art Schleife, die ausgeführt wird, bis eine Bedingung erfüllt ist -> Wenn sie nie erfüllt wird, dann kein Ende)
AllesVergeben is offline  
Old 11/24/2009, 13:12   #8
 
elite*gold: 0
Join Date: Jun 2008
Posts: 99
Received Thanks: 19
So schlecht bin ich auch net, dass ich net weiß was eine Do until-Schleife ist.
Hab hier noch ne neue Frage, kann man Passwörter auch anders verschlüsseln als mit
"_StringEncrypt"?
Weil ich hab es jez so gemacht:
Quote:
If FileReadLine ($file,1) = "" then
$name = Inputbox ("HostHelper","Dein Login Nick?")
$Pass = InputBoX ("HostHelper","dein Passwort?","","*")
$crypt_name =_StringEncrypt(1,$name,"946699")
$crypt_pass =_StringEncrypt(1,$Pass,"946699")
FileWrite ($file, "")
_FileWriteToLine ($file, 1, $crypt_name, 1)
_FileWriteToLine ($file, 2, $crypt_pass, 1)
EndIf
Und wie kann ich die Farbe mit dem Windowinfo sehen, wenn ich das Spiel offen habe?
Es gibt leider keinen Fenstermodus.....
WieMeinen is offline  
Old 11/24/2009, 13:17   #9

 
Kazaaa's Avatar
 
elite*gold: 26
Join Date: Nov 2007
Posts: 32,810
Received Thanks: 12,143
Quote:
Originally Posted by oOWaYnEOo View Post
Und wie kann ich die Farbe mit dem Windowinfo sehen, wenn ich das Spiel offen habe?
Es gibt leider keinen Fenstermodus.....
Strg+Alt+F sollte den Punkt den du mit der Maus angewählt hast freezen damit du ihn dann ausm WindowInfo auslesen kannst
Kazaaa is offline  
Old 11/26/2009, 20:56   #10
 
elite*gold: 0
Join Date: Jun 2008
Posts: 99
Received Thanks: 19
Hi, so ich hab ne neue Frage, wenn man eine GUI macht und schreibt:
Quote:
$mod1 = GUICtrlCreateInput("Apso", 344, 336, 121, 21)
dann ist $mod1 nicht das in den Input eingetragene.
Wollte fragen, wie man es hinbekommt, dass $mod1 immer das ist, was eingetragen wird.
WieMeinen is offline  
Old 11/26/2009, 23:55   #11
 
Crrrespo's Avatar
 
elite*gold: 87
Join Date: Jul 2009
Posts: 2,998
Received Thanks: 1,640
PHP Code:
$HELMK GUICtrlCreateInput("Beliebiger Text"1842803321)
send(GUICtrlRead($HELMK)) 
Bei mir wird "Beliebiger Text" gesendet. (ich hoffe das war es was du meinst )
Crrrespo is offline  
Old 11/27/2009, 16:01   #12
 
elite*gold: 0
Join Date: Jun 2008
Posts: 99
Received Thanks: 19
Nicht ganz, also wenn man eine GUI hat und in der GUI was einträgt in die inputbox, dann auf den Startbutton geht und, dass dann später das was in input
stand gesendet wird.
Bei mir sendet er dann nur das was am Anfang drin stand. Also das Voreingestellte (in meinem Fall "Apso")
WieMeinen is offline  
Old 11/28/2009, 22:51   #13
 
elite*gold: 0
Join Date: Jun 2008
Posts: 99
Received Thanks: 19
K, das Problem ist gelöst.

Jez muss ich nur rausfinden, wie das Tool erkennt, dass Spieler ins Spiel gejoint sind.

Also Pixelgetcolor funktioniert nicht, da sich nichts ändert außer dass der Name da steht.

Gibt es noch andere Möglichkeiten?
WieMeinen is offline  
Reply


Similar Threads Similar Threads
AutoIt anfaenger
08/02/2010 - AutoIt - 7 Replies
huhu zusammen, ich versuche mich gerade ein wenig in AutoIt einzuarbeiten und probiere erstmal die fuer mich noetigen grundlagen aus, hab aber eigentlich schon das problem mir ueberhaupt was anzeigen zu lassen ;) #include <memory.au3> #RequireAdmin $Adresse = 0x106507E8; $OffSet = 0x108F40; $Open = _memoryopen(WinGetProcess("LastChaos"))
fuer anfaenger ohne prem
06/23/2010 - WarRock - 10 Replies
wenn ihr als anfaenger nich grad gekillt oder gekikt werden wollt, solltet ihr das tun: klassen und waffen kauft euch die de_eagle fuer 30 tage. zoggt mit medic, denn diese klasse ist fuer anfaenger am besten geignet, denn als n00b verliert man schnell hp. nah und fernkampf wenn ihr einen feind seht, er aber euch noch nicht gesehen hat, versucht ihm eine geziehlte kugel in den kopf zu jagen. hat er euch jedoch auch gesehen rollt euch entweder hinter ihn oder eine wand, kiste etc....
Hilfe fuer einen anfaenger
07/03/2008 - World of Warcraft - 3 Replies
Hi....ich bin ein Neuling in WOW habe vorher 3 jahre lineage gespielt und wollte mal was neues......also habe ich mir das game besorgt und warte jetzt nurnoch auf meinen glider key....dann soll es losgehen...und da kommt dann meine problem ich kenne mich in dem game null aus und weiss ich nicht wie der hase mit dem glider leuft deswegen hoffe ich hier jemanden zu finden der mir ein wenig mit rat zur seite steht.....ich hoffe einen spieler zu finden der ein herz von neulinge hat.....meine email...
autoIt-Anfaenger
01/09/2007 - General Coding - 4 Replies
Ich spiel seit ein paar Tagen mit autoIt herum, mache kleine Fortschritte und es macht mir Spass. Nur benutze ich das Programm noch sehr primitiv. :D Zb.: MSN starten, bisschen warten, Accountdaten eingeben und mit 'offline anzeigen' einloggen. Nur ich benutze um auf das Programma auf die richtigen Sachen klicken zu lassen, immer so oft {Tab}, bis es am richtigen Ort ist und dann {Enter} da ich sonst absolut keine Ahnung habe wie ich sonst das Programm dazu bringe, das zu tun was ich will....



All times are GMT +1. The time now is 15:52.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.