Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 01:47

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

Advertisement



AutoID Hidden & 2 Schleifen ?

Discussion on AutoID Hidden & 2 Schleifen ? within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Oct 2009
Posts: 184
Received Thanks: 23
AutoID Hidden & 2 Schleifen ?

Hey ich habe eine Frage, undzwar habe ich heute mit AutoIT angefangen und suche nun schon seit 3 stunden nach einer Lösung aber ich finde einfach nichts.

Ich habe mir ein Farmbot für Metin2 Pserver gemacht der aus 2 Teilen besteht.

Bot 1 dient dazu drops aufzuheben und zu schlagen / sich zu drehen.

Und Bot 2 pullt die Mobs ran. auf 1 2 3 4 F1 F2 F3 F4 liegen die umhänge.

Nun meine Frage:

1. Kann ich das auch irgendwie umschreiben das die beiden Bots Hidden sind ? und ich nebenbei zum beispiel Filme gucken kann. Wenn ja,wie oder wäre vielleicht sogar jemand so nett mir das fertig zu machen ?

2. Wie kann ich es schaffen beide Funktionen in nur ein Script zu stecken ? Ich will nicht immer 2 Scripts starten müssen. Ein dritter script der beide startet funktioniert bei mir irgendwie auch nicht es kommt immer ne fehlermeldung das die "Func" funktion doppelt vorkommt.

Bevor ihr mich runter macht das der Bot schlecht ist denkt dran das ich vor paar stunden erst angefangen habe mit AutoIT
dondarley1 is offline  
Old 03/02/2013, 14:43   #2


 
Requi's Avatar
 
elite*gold: 3800
The Black Market: 244/0/0
Join Date: Dec 2012
Posts: 13,039
Received Thanks: 8,243
Quote:
1. Kann ich das auch irgendwie umschreiben das die beiden Bots Hidden sind ? und ich nebenbei zum beispiel Filme gucken kann. Wenn ja,wie oder wäre vielleicht sogar jemand so nett mir das fertig zu machen ?
Ja. Mit Memory Hacking
Google danach für Tutorials oder benutze die SuFu(SuchFunktion)

Quote:
2. Wie kann ich es schaffen beide Funktionen in nur ein Script zu stecken ? Ich will nicht immer 2 Scripts starten müssen. Ein dritter script der beide startet funktioniert bei mir irgendwie auch nicht es kommt immer ne fehlermeldung das die "Func" funktion doppelt vorkommt.
Da müsstest du entweder eine andere Sprache nutzen, oder MultiThreading simulieren, da AutoIt nur SingleThreaded ist.

Quote:
Bevor ihr mich runter macht das der Bot schlecht ist denkt dran das ich vor paar stunden erst angefangen habe mit AutoIT
Ist besser als nichts, muss ich sagen.
Gute Arbeit
Requi is offline  
Thanks
1 User
Old 03/02/2013, 14:50   #3
 
elite*gold: 0
Join Date: Oct 2009
Posts: 184
Received Thanks: 23
Danke uiuiui das hab ich befürchtet xD diese fachbegriffe für einen neuling für mich... naja immerhin weiß ich jetzt wonach ich suchen muss vielen vielen dank ich werd mal schauen was ich so finde
dondarley1 is offline  
Old 03/02/2013, 14:57   #4


 
Requi's Avatar
 
elite*gold: 3800
The Black Market: 244/0/0
Join Date: Dec 2012
Posts: 13,039
Received Thanks: 8,243
Da ist Thanks Button

Memory Hacking greift einfach auf den Speicher zu. Könntest auch nen SpeedHack machen damit
Requi is offline  
Old 03/02/2013, 16:20   #5
 
butter123's Avatar
 
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
du kannst die beiden skripts sehr wohl zusammenführen. nur darfst du dann nicht mehr mit sleep arbeiten (ist sowieso schlecht). starte für jede aktion einen timer. frage in einer whileschleife ab ob der timer erreicht wurde und führe dann die aktion aus und setz danach den timer zurück. so wird dein skript nicht durch das sleep geblockt und kann aktionen unabhängig von einander ausführen.

hier ein grobes beispiel:
PHP Code:
$klick TimerInit()
$spring TimerInit()
$pause False


While Sleep(10) ;sleep damit die cpu nicht voll ausgelastet wird
    
If $pause False Then ;$pause kannst du bspw mit nem hotkey ändern und so leicht das skript pausieren
        
If TimerDiff($klick) > 5000 Then ;alle 5 sec klickt er
            MouseClick
("left")
            
$klick TimerInit() ;timer zurücksetzen
        
EndIf
        If 
TimerDiff($spring) > 6000 Then ;alle 6 sec sendet er space
            Send
("{space}")
            
$spring TimerInit()
        EndIf
    EndIf
WEnd 
butter123 is offline  
Thanks
1 User
Old 03/03/2013, 02:31   #6
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
Quote:
Originally Posted by »AppleJack™ View Post
Da müsstest du entweder eine andere Sprache nutzen, oder MultiThreading simulieren, da AutoIt nur SingleThreaded ist.
so langsam nehmen wannabe-pros, welche meinen hier clevere ratschläge erteilen zu müssen wirklich überhand im autoit bereich...

niemand erwartet, das jemand ALLES perfekt beherrscht... bin ich aber selbst anfänger (was hier anscheinend nicht nur im bezug auf die sprache selbst gilt), so halte ich mich doch mit meinem gefährlichen halbwissen wenigstens etwas zurück, bevor ich andere anfänger damit nur verschrecke o0
lolkop is offline  
Old 03/03/2013, 06:21   #7
 
elite*gold: 0
Join Date: Oct 2009
Posts: 184
Received Thanks: 23
vielen dank butter123 ich werd es gleich einmal testen

Aber wie weise ich der variable pause ein Hotkey zu ?

und folgendes problem habe ich noch:

Wie kriege ich in die If abfragen der variablen noch die zeit zwischen den klicks rein ?

also er soll ja alle 3 sec eine andere taste drücken

permanent Y drücken

alle 3 sec 1 dann 2 dann 3 usw insgesammt 1,2,3,4,F1,F2,F3,F4

Sobald ich in die abfrage ein sleep(3000) einbaue stopt er direkt mit dem ersten If welches permanent Y drückt und macht erst weiter nachdem 1-4 und F1-F4 gedrückt wurden.
dondarley1 is offline  
Old 03/03/2013, 12:03   #8
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
Quote:
Originally Posted by dondarley1 View Post
vielen dank butter123 ich werd es gleich einmal testen

Aber wie weise ich der variable pause ein Hotkey zu ?

und folgendes problem habe ich noch:

Wie kriege ich in die If abfragen der variablen noch die zeit zwischen den klicks rein ?

also er soll ja alle 3 sec eine andere taste drücken

permanent Y drücken

alle 3 sec 1 dann 2 dann 3 usw insgesammt 1,2,3,4,F1,F2,F3,F4

Sobald ich in die abfrage ein sleep(3000) einbaue stopt er direkt mit dem ersten If welches permanent Y drückt und macht erst weiter nachdem 1-4 und F1-F4 gedrückt wurden.
ein großer fehler von anfängern ist, das sie ständig mit sleep arbeiten.

wie butter bereits korrekterweise sagte, blockiert sleep dein gesamtes script für die dauer der sleepzeit.

um das zu umgehen, arbeiten wir IMMER mit timern. zusätzlich sollte man sich der einfachheit halber noch angewöhnen mit zuständen zu arbeiten.du willst ingesamt 8 tasten senden, also nutze eine zustandsvariable, welche 8 zustände annehmen kann. wie du den zustand bezeichnest bleibt dir überlassen...

hier mal ein beispiel wo ich den zustand als k bezeichne:
Code:
Dim $t, $k=0, $key[8]=[1,2,3,4,'{F1}','{F2}','{F3}','{F4}']
While Sleep(1)
	Send('Y')
	If TimerDiff($t)>=3000 Then MySend()
WEnd
Func MySend()
	Send($key[$k])
	$t = TimerInit()
	$k+=1
	If $k>=UBound($key) Then $k=0
EndFunc
lolkop is offline  
Thanks
1 User
Old 03/03/2013, 13:22   #9
 
elite*gold: 0
Join Date: Oct 2009
Posts: 184
Received Thanks: 23
aber es sollen doch nicht alle 8 tasten gleichzeitig gesendet werden sondern alle 3 sekunden eine andere. das ist ja mein problem falls das was du gepostet hast ein weg ist für alle 3 sek andere taste, dann versteh ich es nicht
dondarley1 is offline  
Old 03/03/2013, 13:31   #10
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
Quote:
Originally Posted by dondarley1 View Post
aber es sollen doch nicht alle 8 tasten gleichzeitig gesendet werden sondern alle 3 sekunden eine andere. das ist ja mein problem falls das was du gepostet hast ein weg ist für alle 3 sek andere taste, dann versteh ich es nicht
schau dir mein beispiel mal genauer an.
alle tasten werden in einem einfachen array gespeichert. die array indexierung bei autoit beginnt bei 0. hierfür verwenden wir den zustand $k, welcher jeweils einem arrayindex entspricht.

bei jedem senden wird der timer resettet und der aktuelle zustand inkrementiert (was quasi auf den nächsten arrayeintrag verweist). sobald der index die arraygrenze erreicht hat, setzen wir ihn einfach zurück auf 0, und beginnen somit das ganze von vorne...

somit können wir mit nur einem timer und einem zustand beliebig große arrays mit statischer wartezeit (hier 3sekunden) abarbeiten.

sobald du natürlich etwas komplexer, mit unterschiedlichen, nicht als reihe generierbaren wartezeiten arbeiten willst, müsste man die anzahl der timer auf die anzahl der zu sendenden keys erhöhen.
lolkop is offline  
Thanks
1 User
Old 03/03/2013, 13:39   #11
 
elite*gold: 0
Join Date: Oct 2009
Posts: 184
Received Thanks: 23
oha xD dir ist klar das ich heute Tag 2 mit autoIT arbeite ? ich danke dir sehr für deine hilfe und auch wenn man das nich machen sollte ( weil man so nix lernt ) ich hab das einfach von dir kopiert erstmal :/ und es funktioniert soweit nun versuche ich aber auch das ganze zu verstehen um es in zukunft selbst machen zu können kennst du ein gutes tutorial über dieses array vielleicht ? oder magst du mir dabei helfen ? könnte dich ja in skype adden.

btw. wenn noch jemand hier in meinen thread reinstößt der weiß wie ich das ganze noch hidden bekomme bitte dazu schreiben viel wichtiger ist für mich zur zeit den bot hidden zu bekommen, weil funktionstüchtig hab ich ihn schon auch wenn viel mit sleep gearbeitet wurde


So also hab nun das von dir kopiert und bisschen was eingefügt zum starten und pausieren aber es klappt nicht was hab ich falsch gemacht ?

Code:
HotKeySet("{F7}","start")
HotKeySet("{F6}","pause")

Dim $t, $k=0, $key[8]=[1,2,3,4,'{F1}','{F2}','{F3}','{F4}']


func start()
   send("{Space down}")
While Sleep(1)
	Send('Y')
	If TimerDiff($t)>=3000 Then MySend()
WEnd

EndFunc

Func MySend()
	Send($key[$k])
	$t = TimerInit()
	$k+=1
	If $k>=UBound($key) Then $k=0
	EndFunc
	
	Func pause()
	   While 1
		  sleep(5000)
		  WEnd
		  EndFunc
dondarley1 is offline  
Old 03/03/2013, 14:09   #12
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
Quote:
Originally Posted by dondarley1 View Post
So also hab nun das von dir kopiert und bisschen was eingefügt zum starten und pausieren aber es klappt nicht was hab ich falsch gemacht ?
du musst dir angewöhnen, das du mehr mit zuständen arbeitest...
alles auf dieser welt lässt sich als einfacher zustandsautomat darstellen.

um mal gleich auf dein beispiel zu kommen, wäre dein problem zb durch einen zustand zu lösen, welcher beschreibt ob das script gerade pausiert oder nicht.

diesen zustand kannst du dann einfach in deinem script vor den anstehenden aktionen prüfen, und je nach aktuellem wert agieren.
lolkop is offline  
Old 03/03/2013, 15:53   #13
 
butter123's Avatar
 
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
es gibt nur eine einfache möglichkeit den bot hidden zu bekommen: controlsend. das funktioniert nur warscheinlich leider nicht, musst du ausprobieren.
die zwei anderen wege die ich kenne wären: packetbots: der client sendet an den server bspw "ey er hat grad w gedrückt, lass den charakter nach vorne laufen". das kann man mit autoit auch an den server senden. da können aber auch noch verschlüsselungen und son zeug reinspielen, die alles stark erschweren.
die 2. mgl ist das verändern von werten im ram. da es online ist, wird der großteil der relevanten daten aber vom server verwaltet. wird also auch schwer

also kurz: wenn wenn controlsend klappt wirds gehen, andernfalls würd ichs bleiben lassen.
butter123 is offline  
Reply


Similar Threads Similar Threads
Metin2 DE 04.03.2010: [HIDDEN]Relogger &'nd [HIDDEN]Potter in einem!
06/14/2011 - Metin2 Hacks, Bots, Cheats, Exploits & Macros - 77 Replies
----------------------------------------Deutsch--- ------------------------------------- Tag Leute, ich habe gesucht und gesucht und nichts gefunden, als ich nach einem HIDDEN Relogger oder nach einem HIDDEN Potter gesucht habe. Da habe ich mir gedacht, mache ich doch mal einen HIDDEN Potter und HIDDEN Relogger in einem! Und hier ist es: http://img408.imageshack.us/img408/2521/screenxj. jpg (c) by 7Ultimate & EMINEM Dieser Bot sollte für dich HIDDEN potten (je nach Einstellung) und...
autoid v3 schließt sich
03/07/2011 - Metin2 Private Server - 2 Replies
hey epvp ich wollte fragen woran das lieg das sich autoit von alleine immer wieder schließt also wenn ich das öffne Compile Script to .exe und ich dann eine datei auswählen will schließt sich das einfach
[HIDDEN]Bonusswitcher by Padmak für mehrer Pserver[HIDDEN]
12/26/2010 - Metin2 Hacks, Bots, Cheats, Exploits & Macros - 436 Replies
Einführung: Anleitung zum Injector: Serverübersicht: Virustest:



All times are GMT +2. The time now is 01:47.


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.