Para Stygier Bot

02/02/2009 16:38 NBA#1
Hier mein Para Stygier Bot...leider komm ich nicht mehr weiter uswusf...deshalb stell ich den bot -ausserhalb meiner Gewohnheiten- den Bot 2 wochen verfrüht rein ;)
Es geht darum, im Stygischen Schleier die Stygischen Hunger mit P/E im HM mit diesem Build:
Code:
OQajowm85Q7Y0bEDGRQlAAAAYcA
zu farmen.

Eigentlich (wie so oft) wollte ich ihn verkaufen, doch ich war krank und konnte mich nicht richtig konzentrieren...Falls wer sich die Mühe macht, ihn zum laufen zu bringen, sollte er so nett sein und den Code hochladen.

Wieso ich Stygier Farmen will:
Code:
-Weil es sonst fast keine Farmmöglichkeiten für para gibt (mein para langweilt sich..ausserdem, wie soll man drauf kommen das ein para nen bot ist?!)
-Lichtbringer
-Stygier Steine (3.5p/stk)
-Meine Freunde haben mich gefragt ob ich ihnen einen mache (was für die recht selten ist denn sie hassen bots...aber ein paar p mehr kann ja nicht schaden, oder?)
Hier ist der Code bis jetzt, jedoch ist er noch nicht fertig :( :
Code:
#include "tt6.au3"

Func Deathcheck()
	$PID = WinGetProcess("Guild Wars")
	$hprocess = _MemoryOpen($PID)
	$ReadMemDeath = _MemoryRead(0xa056d4, $hprocess)
	If $ReadMemDeath = 1 Then
		ControlClick("Guild Wars", "", "", "left", 1, 378, 325)
		Sleep(6000)
		WayOut()
	EndIf
EndFunc   ;==>Deathcheck

Func WayOut()
	If CheckArea(4746, -13929) Then ;Spawenpoint bei Truhe
		PrepMoveTo()
		MoveTo(1, 5714, -14312)
		MoveTo(1, 6579, -14934)
		MoveTo(1, 7013, -15459)
		MoveTo(1, 6571, -16238)
		MoveTo(1, 5574, -16834)
		MoveTo(1, 4570, -17677)
		MoveTo(1, 3398, -18079)
		MoveTo(1, 489, -18505)
		MoveTo(1, -584, -18727)
		MoveTo(1, -1143, -20013)
		KeepMoveTo()

	ElseIf CheckArea(5810, -16857) Then ;Spawnpoint bei Kaplan Phyratyss
		PrepMoveTo()
		MoveTo(1, 4571, -17690)
		MoveTo(1, 2917, -18236)
		MoveTo(1, -313, -18652)
		MoveTo(1, -1087, -19745)
		MoveTo(1, -1148, -19995)
		KeepMoveTo()

	ElseIf CheckArea(7425, -11855) Then ;Spawnpoint irgendwo bei der truhe (weiter weg)
		PrepMoveTo()
		MoveTo(1, 7117, -12718)
		MoveTo(1, 6556, -14636)
		MoveTo(1, 6874, -15307)
		MoveTo(1, 6035, -16241)
		MoveTo(1, 5702, -16150)
		MoveTo(1, 3033, -15246)
		MoveTo(1, 1782, -15444)
		MoveTo(1, 1203, -16251)
		MoveTo(1, 284, -17684)
		MoveTo(1, -809, -19044)
		MoveTo(1, -1116, -19956)
		KeepMoveTo()
	EndIf
EndFunc   ;==>WayOut

Func MoveToAdept()
	PrepMoveTo()
	MoveTo(1, 651, -10244)
	MoveTo(1, 1243, -10066)
	MoveTo(1, 1856, -9921)
	MoveTo(1, 2562, -9863)
	MoveTo(1, 2938, -9852)
	StopMoveTo()
	Sleep(20000)
	PrepMoveTo()
	MoveTo(1, 3487, -9838)
	MoveTo(1, 3935, -9796)
	MoveTo(1, 4402, -9725)
	MoveTo(1, 4800, -9664)
	MoveTo(1, 5178, -9606)
	MoveTo(1, 5566, -9546)
	MoveTo(1, 5926, -9477)
	MoveTo(1, 6347, -9370)
	MoveTo(1, 6675, -9265)
	MoveTo(1, 6972, -9157)
	MoveTo(1, 7076, -9124)
	StopMoveTo()
	ControlSend("Guild Wars", "", "", "{v}")
	ControlSend("Guild Wars", "", "", "{space}")
	Sleep(1000)
	ControlClick("Guild Wars", "", "", "left", 1, 472, 488)

EndFunc   ;==>MoveToAdept

Func GetFactions()
	ControlSend("Guild Wars", "", "", "{w down}")
	Sleep(2000)
	ControlSend("Guild Wars", "", "", "{w up}")
	ControlSend("Guild Wars", "", "", "{v}")
	ControlSend("Guild Wars", "", "", "{space}")
	Sleep(1000)
	ControlClick("Guild Wars", "", "", "left", 1, 472, 488)
	PrepMoveTo()
	MoveTo(1, 8921, -7614)
	StopMoveTo()
	Sleep(30000)
EndFunc   ;==>GetFactions



;wegstellen
Func MoveHinterAdept()
	PrepMoveTo()
	MoveTo(1, 8644, -7853)
	MoveTo(1, 8486, -7996)
	MoveTo(1, 8431, -8045)
	ControlSend("Guild Wars", "", "", "{1}")
	Sleep(50)
	ControlSend("Guild Wars", "", "", "{2}")
	MoveTo(1, 7940, -8551)
	MoveTo(1, 7617, -8796)
	MoveTo(1, 7336, -8963)
	MoveTo(1, 7156, -9048)
	MoveTo(1, 7113, -9079)
	MoveTo(3, 7122, -9081)
	;	MoveTo(3, 7117, -9081)
	StopMoveTo()
	Sleep(200)
	ControlSend("Guild Wars", "", "", "{w down}")
	Sleep(75)
	ControlSend("Guild Wars", "", "", "{w up}")
	;EndIf

	Sleep(200)
EndFunc   ;==>MoveHinterAdept

$currentpos = _MemoryRead(0xd28c54, $hprocess)

Func __WadimEnemyCheck()
	$currentpos = _MemoryRead(0xd28c54, $hprocess)
	ControlSend("Guild Wars", "", "", "c")
	ControlSend("Guild Wars", "", "", "{space}")
	Sleep(100)
	If _MemoryRead(0xd28c54, $hprocess) <> $currentpos Then
		;keine gegner mehr in der nähe
		Send("w") ; sich kurz bewegen, bricht C, SPACE ab.
	EndIf
EndFunc   ;==>__WadimEnemyCheck
Func Kampfscript()
	ControlSend("Guild Wars", "", "", "{a down}")
	Sleep(1000)
	ControlSend("Guild Wars", "", "", "{a up}")

	Sleep(200)

	ControlSend("Guild Wars", "", "", "{3}")
	Sleep(2500)
	ControlSend("Guild Wars", "", "", "{4}")
	Sleep(2500)
	ControlSend("Guild Wars", "", "", "{5}")
	Sleep(750)
	AdlibEnable("__WadimEnemyCheck", 500)
	Do

		ControlSend("Guild Wars", "", "", "{2}")
		Sleep(1000)
	Until _MemoryRead(0xd28c54, $hprocess) <> $currentpos
EndFunc   ;==>Kampfscript

WayOut()
MoveToAdept()
GetFactions()
MoveHinterAdept()
Kampfscript()
AdlibDisable()
CollectLoot(25)
Resign()
Checkliste: (Falls fertig code posten und sagen das punkt ... fertig ist ;) )
Code:
[X] = In bearbeitung
[+] = Fertig
-Kampfscript [+] (bei dem weg hintern adepten gabs probs, sowie beim rabensturzflug aber das ist hoffentlich bald behoben :D)
-GUI [+] (Ich habe bereits ne .kxf die noch umgebaut werden muss :) )
-Ident ([B][U]>>>!!!MUSS!!!<<<[/U][/B] im BG laufen..)
-Sell (Bin noch nicht dazu gekommen)
-Deathcheck [+] (thx to enders)
-wayout [+](thx to hokler)
02/02/2009 17:09 Illuminatus#2
Quote:
Originally Posted by NBA View Post
Code:
	$RandomWay1 = Random(1, 4, 1)
	If $RandomWay1 = 1 Then
                                 [...]
	EndIf
	If $RandomWay1 = 2 Then
                               [...]
	EndIf
	If $RandomWay1 = 3 Then
                                       [...]
	EndIf
	If $RandomWay1 = 4 Then
                             [...]
	EndIf
Wie wärs mit else if oder wenigstens switch?
02/02/2009 17:19 xSharkoonX#3
kommt auf dasselbe hinaus oder`?

aber ich würde es auch mit if und dann elseif machen^^
02/02/2009 17:25 x24y25z26#4
Also ich bevorzuge ja Select.
Aber stygier kann man auch mit anderen Klassen farment^^
02/02/2009 17:49 Illuminatus#5
Quote:
Originally Posted by xSharkoonX View Post
kommt auf dasselbe hinaus oder`?
Nein, Geschwindigkeit! Mehr aber auch net...
02/02/2009 19:49 NBA#6
Wenn ma schon dabei sind, hat wer den solo monk build f[r schleier??

Geschwindigkeit ist bei einen Wayout ja nicht allzu wichtig :)
02/23/2009 12:39 Enders#7
also iczh bin atm dabei gewesen auch einen zu schreiben , da habe ich deinen hier entdenkt.
unterschiede gibt es nur wenige meiner farmt mit ele assa

OgdDgpycO0ty6twXgMwFgiJI

geht meiner meinung nach schneller


mir sind in deinem script beim ersten drüber schauen diese dateien aufgefallen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>


könntest du die vill auch online stellen?
oder brauch man die net bzw werden die selbst ständig gemacht?
02/23/2009 13:06 NBA#8
Quote:
Originally Posted by Enders View Post
also iczh bin atm dabei gewesen auch einen zu schreiben , da habe ich deinen hier entdenkt.
unterschiede gibt es nur wenige meiner farmt mit ele assa

OgdDgpycO0ty6twXgMwFgiJI

geht meiner meinung nach schneller


mir sind in deinem script beim ersten drüber schauen diese dateien aufgefallen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>


könntest du die vill auch online stellen?
oder brauch man die net bzw werden die selbst ständig gemacht?
Die sollten bei au3 dabei sein. Wenn nicht scite4autoit holen. Und ja, moeglich das es schneller geht. Aber es ist dann klassengebunden...
02/23/2009 13:18 Enders#9
ok danke dann hole ich mir das jtz erst mal:DD

nen anderes problem was mir auf gestoßwen is is der way out der klappt bei dir und bie mir noch nicht so gut
also habe ich mich mal ans alte hfff erinnert und gesehn
das es hier wieder 3 spawn punkte gibt und wenn mann die mit v den verbündeten sucht könnte mann wie beim hfff wieder mit pixelget colur arbeiten. oder geth dads im hinter grund nicht?
[Only registered and activated users can see links. Click Here To Register...]
könnte mann also 3 wayouts bauen mit if
also if pixelgetcolour 1
....
elseif pixelgetcolour 2
..
elseif pixelgetcolour 3 or pixelgetcolour 4 or pixelgetcolour 5


ich glaub du weißt wie ichs mein:D
02/23/2009 20:26 Hokler#10
Warum amcht ihr das Wayout nicht einfach mit der MoveTo() und CheckArea(x,y) Funktion der tt6 ???
is doch viel einfacher =)

Hab mal kurz ein Wayout für Stygischer Schleier gebastelt =)

Ich hoffe es hilft dem ein oder anderen =)

PHP Code:
If CheckArea(4746, -13929Then ;Spawenpoint bei Truhe
PrepMoveTo
()
    
MoveTo(15714, -14312)
    
MoveTo(16579, -14934)
    
MoveTo(17013, -15459)
    
MoveTo(16571, -16238)
    
MoveTo(15574, -16834)
    
MoveTo(14570, -17677)
    
MoveTo(13398, -18079)
    
MoveTo(1489, -18505)
    
MoveTo(1, -584, -18727)
    
MoveTo(1, -1143, -20013)
KeepMoveTo()

ElseIf 
CheckArea(5810, -16857Then ;Spawnpoint bei Kaplan Phyratyss
PrepMoveTo
()
    
MoveTo(14571, -17690)
    
MoveTo(12917, -18236)
    
MoveTo(1, -313, -18652)
    
MoveTo(1, -1087, -19745)
    
MoveTo(1, -1148, -19995)
KeepMoveTo()

ElseIf 
CheckArea(7425, -11855Then ;Spawnpoint irgendwo bei der truhe (weiter weg)
PrepMoveTo()
    
MoveTo(17117, -12718)
    
MoveTo(16556, -14636)
    
MoveTo(16874, -15307)
    
MoveTo(16035, -16241)
    
MoveTo(15702, -16150)
    
MoveTo(13033, -15246)
    
MoveTo(11782, -15444)
    
MoveTo(11203, -16251)
    
MoveTo(1284, -17684)
    
MoveTo(1, -809, -19044)
    
MoveTo(1, -1116, -19956)
KeepMoveTo()
EndIf 
mfg
Hokler
02/24/2009 08:09 NBA#11
So Leute, da die Idee hier (anscheinend) ja gamz gut ankommt, arbeite ich selbst auch mal weiter (thx an holker fuers wayout und an enders fuer die movetopunkte im schleier(Funzen beide genial) .

Enders gedenkt das fuer E/A zu machen, ich fuer P/X bzw. X/P. Was noch geklaert werden sollte sind die Raenge, den ich habe ehrlich gesagt keinen Bock, fuer jede Rangkombination (Norn/LB) ein script zu schreiben. Ich mach alles neu (bei dem Bot).

Enders ist dein Bot fuer NM oder fuer HM. Ich apelliere an euch, macht HM denn da kann man feste punkte vergeben(dort rennen sie schneller, sind schneller bei dir und du kannst gemuetlich aussenrum gehen und sie sterben schneller).
Im NM ist das etwas schwieriger).

Und wehe ihr killt die Gemstone Preise :D (ey, damit kann man evtl. in ner woche mehrere 1000p machen...wenn die Preise stabil bleiben...)

Ich gliedere hier mal was ich noch brauche:
Code:
[X] = In bearbeitung
[+] = Fertig
-Kampfscript [X]
-GUI
-Ident
-Sell
-Deathcheck (enorm wichtig!)
-Intelligenz (obwohl,  das ist eher privat ;) )
falls euch noch was einfaellt ruhig posten. Wenn er fertig ist mach ich vllt doch eine Botsammmelung (ja auch ich habe in den letzem Jahr gelernt :) )

MfB,
NBArena

P.S.: Blauwiggle,
koenntest du deinen RA bot ein bisschen verbessern? so das er nach moeglichkeit resignt wenn die gruppe resign sagt? Sonst ist er ein bisschen zu leicht zu erkennen ;)

(gespraech in einer gruppe, hab mich dann dazwischen geschalten und ausgemacht :
1:resign
1: ... wird von mir verfolgt
1: resign pls
1: Is it a bot
2: Yes it is
)
sollte ja nicht zu schwer sein xD
02/24/2009 13:45 Enders#12
also mein bot ist variabel . mann kann vor start immer aus wählen ob nm oder hm da nach ein paare tagen im hm der farmbpool aufgebrauchhht sein dürfte.

zu hoglers way out idee ist 1a leider klappt das(wie bei vielen ideen von nba:P:D) nichts so ganz da man an den points nie einen festen spawn point hat

also ich habe mir eben nen kleines tool gebastelt das selbsz ständig im inaktiven fensten rumreist und nach jedem reisen die x und y werte ausließt
ihr müsst euch dazu nur in einem dis 1 befinden wio es au einen dis 2 gibt.
dort reist er dann imma hin und her
ich habe es eben ma im ammi dis gemacht
klappt super:D
jtz muss ich nur noch jeden einzelnen spaaw herauskopieren , ihn zu einem der drei spawnpoints hinzufügen und die x min xmax und y min und ymax werte heraus suchen:mofo:
02/24/2009 14:01 Enders#13
ach ja ganz vergessen nen deathchek und resign teil sind doch au inna tt6 drin oder?:O
Code:
Func Resign()
	ControlSend($client, "", "", "{ENTER}")
	RndSleep(100)
	ControlSend($client, "", "", "/resign")
	RndSleep(100)
	ControlSend($client, "", "", "{ENTER}")
	RndSleep(4000)
	ControlClick($client, "", "", "left", 1, $DTclickX, $DTclickY)
EndFunc
ok death find ich jtz grad au net abba hab selber einen gebastelt

Code:
AdlibEnable("_deathcheck", 5000)
if pixelgetcolor( 428 , 956 )=( 0x47E18) or pixelgetcolor( 424 , 957 )=( 0x1E0E0B) or pixelgetcolor( 426 , 952 )=( 0x3A1813)  Then
aufgeben()
Wayout()

EndIf
das ist noch ein sehr alter dc und wird wasrsch au net im background geehen oder?


ansonsten gibtet doch au ne mem addreese die man abfragen könnte.
da gabs schon ma nen threat rüber nur den finde ich gerade leider ich suche ma und liefer den dc nach


bevor ichs noch vergesse ^^ der koord check
Code:
#include "tt6.au3";Ty to tonitusch666

$tausch=1
$runden=0
Func Wayout()
IF $tausch =1 Then
ControlClick($client, "", "", "left", 1, 102, 14)
Sleep(100)
ControlClick($client, "", "", "left", 1, 93, 62)
Sleep(100)
ControlClick($client, "", "", "left", 1, 635, 555)
Sleep(12000)
 $posx = _memoryread($memx,$hprocess,'float')

 $posy = _memoryread($memy,$hprocess,'float')
ConsoleWrite("x:" )
ConsoleWrite($posx & @CRLF)
ConsoleWrite("y:")
ConsoleWrite($posy & @CRLF)

$tausch =2
ElseIf $tausch =2 then
ControlClick($client, "", "", "left", 1, 102, 14)
Sleep(100)
ControlClick($client, "", "", "left", 1, 102, 51)
Sleep(100)
ControlClick($client, "", "", "left", 1, 635, 555)
Sleep(12000)
 $posx = _memoryread($memx,$hprocess,'float')

 $posy = _memoryread($memy,$hprocess,'float')
ConsoleWrite("x:")
ConsoleWrite($posx & @CRLF)
ConsoleWrite("y:")
ConsoleWrite($posy & @CRLF)

$tausch=1
EndIf
EndFunc

Do
Wayout()
$runden=$runden+1
Until $runden =40


mfg enderrrr
02/24/2009 14:17 NBA#14
Was ich komisch finde, ist das ich iwie mit der tt6 ja nen pointer bestimmten punkt makiere.
Jetzt ist es aber so, das nach 2-3 runden ich wieder getroffen werde (bei jedem run!)....
Ist die GW karte in etwa ne Kugel mit ebenen, die sich unter meinen fuessen dreht oder was?
02/24/2009 14:30 Hokler#15
Quote:
Originally Posted by Enders View Post

zu hoglers way out idee ist 1a leider klappt das(wie bei vielen ideen von nba:P:D) nichts so ganz da man an den points nie einen festen spawn point hat
öhm ja xD das is nicht ganz korrekt ;)

mit der funktion checkarea prüft er einen bereich um die x,y possition, sprich den gesamten spawn bereich des spawnpoints =)


ps: des thanks war nicht gewolt hab mich verklickt XD
ps²: ich heise Hokler und nicht hogler ;)