Nestlinge Bot A/E - By Syc0n

04/15/2009 00:08 Syc0n#16
Sry hab den Fehler gefuden. Update ist da...
04/15/2009 01:00 ArmedStrobbery#17
Ok, danke Problem gelöst.
Hab jetz noch was und zwar geht er dann nach jedem run identen, verkaufen und in GH. Nicht wie normal 3 runs...
04/15/2009 10:11 Grenth#18
also ich nutze immer an pos 7 mit meinem assa schattenzuflucht für heal bei schlangenkiefer und dann statt preschen dunkle flucht damit die brut net wegrennt wenn man alle zusammenzieht :D

Quote:
Originally Posted by SALMIAK KUGEL View Post
event bot :D
Nimm für events besser Syc0n's Vaettire Non Ident+Drop Bot :D
04/15/2009 19:46 Asuris#19
Wie kann ich diesen Bot benutzen (auch wenn es jetzt so vor mecker nur so regnet -.-) bin so ziemlich neu in dem geschehen aber wollte es mal ausprobieren.
Aber bis lange kenne ich das nur so das in dem Bot Ordner eine Datei ist die man starten muss wenn man gw gestartet hat und ja dann macht er das (diese datei fehlt meiner meinung nach hier oder ist das diese .au3 datei)aber bei den weis ich nicht ganz so weiter.hoffe ihr könnte mir helfen (was ich mal denke) und bitte nicht zusehr schimpfen XD

also schonmal danke für die Antworten und die Hilfe
04/15/2009 20:14 Syc0n#20
Installier AutoIT und klick auf bot.au3. dann startet ein GUI
04/15/2009 22:22 Asuris#21
Danke klappt alles :D
Aber nun habe ich neues problem also er nimmt die gegenstände nicht auf obwohl das mit dem nächsten gegenstand auf ohhh liegt !aber trotzdem lässt er alles liegen und zieht weiter seiner wege danach stirbt er halt wie du gesagt hast meistens an der brutmutter.
04/15/2009 23:19 Syc0n#22
Dann guck mal ob in deiner tt6.ini bei
Quote:
; target: item next
IXtgtkey = o
auch ein o steht.
04/16/2009 01:08 Asuris#23
ja steht bei mri auch so.
aber trotzdem sammelt er es nicht auf :(
Sonst noch eine idee woran das liegen könnte?
Wäre über jeden vorschlag dankbar
04/16/2009 16:04 Syc0n#24
hmm ehrlich gesagt: Kein Plan
04/16/2009 16:10 Asuris#25
mist :( das heißt ich kann wohl den bot knicken auser ich drücke immer selber o und space
aber irgendwie shockt mich das garnet so XD
Naja gucke nachher nochmal vllt finde ich ja die lösung
04/18/2009 17:13 Leechman#26
So, hab diesen Bot auch mal bissl genauer unter die Lupe genommen ^^

1) zu Resign():
hab ich mal folgendermaßen geändert:
Quote:
;$wdelay = Random(50,150,1)
Do
keysend("-")
Sleep(Random(50,150,1))
keysend("r")
Sleep(Random(50,150,1))
keysend("e")
Sleep(Random(50,150,1))
keysend("s")
Sleep(Random(50,150,1))
keysend("i")
Sleep(Random(50,150,1))
keysend("g")
Sleep(Random(50,150,1))
keysend("n")
Sleep(Random(50,150,1))
keysend("RETURN")
RndSleep(5500)
$cnt +=1
Until (_memoryread($memdeath,$hprocess) = 1) Or $cnt >0
...weil einmalig eine Zufallszahl zu ermitteln, in die Variable $wdelay zu schreiben und dann "-resign" in gleichkurzen Abständen zu senden ist Quatsch und randomized mal gar nix... wenn schon, dann nach JEDEM Buchstaben eine NEUE Zufallszahl ermitteln und verwenden.
Außerdem habe ich cnt>0 mal gesetzt, weil zwar resigned wird, aber wenn der Char dann im Außenposten wieder ist, wird auf einmal komischerweise noch 2x versucht zu resignen, und dabei wird auch noch komischerweise erst "/r-resign" und dann "/-resign" gesendet, was zu unbekannten Befehlen führt und dann auch recht auffällig ist, wenn das immer wieder gesendet wird...

2) Items zählen:
du machst:
Quote:
CollectLoot(8, true,200, 2)
$Items +=5
...also max. 8 Items sollen gesammelt werden, aber zu zählst dann pauschal fest die Itemmenge + 5... das Zählen muß in CollectLoot() rein in den Bereich, wo wirklich ein Item aufgenommen wird... ich denke mal z.B. an diese Stelle:
Quote:
WEnd
$Items += 1
;select next item
...vorausgesetzt, $Items ist global gesetzt.

3) Items identifizieren:
folgendes erscheint mir nicht schlüssig:
Quote:
If $Items <=100 Then identitems(0,4,0,8)
If $Items > 200 Then identitems(0,4,1,8)
if $Items > 300 Then identitems(0,4,2,8)
If $Items > 400 Then identitems(0,4,3,8)
...da du die Items zwischen 101 bis 200 nicht identifizierst und damit dann direkt verkaufst.
so müsste das eher passen:
Quote:
If $Items <=100 Then identitems(0,4,0,8)
If $Items > 100 Then identitems(0,4,1,8)
if $Items > 200 Then identitems(0,4,2,8)
If $Items > 300 Then identitems(0,4,3,8)
Da die Taschenpositionen der IdentKits fest ist, wäre es allerdings das Optimalste, den ItemStackCount des jeweiligen IdentKits zu ermitteln und wenn der 0 ist, wird zum nächsten IdentKit gewechselt. Damit könnte man sich dann gleich das Zählen der aufgehobenen Items komplett sparen und ist 100% sauber beim IdentKit verbrauchen ^^

4) Energieprobleme:
Im Build verwendest du Preschen... aber nicht nur zum Hinrennen, sondern auch während der Schattenform-Schleifen. Da du zusätzlich aber auch "Herz der Schatten" zum un-stucken nimmst, wird das schnell zu energielastig und du hast bei der Brutmutter dann nicht mehr genug Energie, um SF aufrecht zu halten, und stirbst im Grunde immer... ich habe jedenfalls nicht einmal gesehen, daß der Char diese Gruppe überlebt hätte.
Ich schlage vor, Preschen ganz weg zu lassen, da du innerhalb von SF ja mittlerweile maximal eh nur zusätzlich 5 Energie verwenden darfst, ohne auf Dauer in Energieprobleme zu geraten... die Schadens-Skills werden ja netterweise durch die GdgE abgedeckt...
Ich würde sogar statt "Preschen" eher "Hochnäsigkeit" einpacken... das bringt ja:
Quote:
When killing a foe that gives experience, your character shouts one of the following quotes:

(20%) "Knowledge is Power!", gives you 50 health.
=> juhu, Lebenspunkte... bei der Brutmutter sehr nützlich...
(20%) "You are no match for my brains!", gives you 5 energy.
=> Energie ist immer willkommen... umso besser zum SF-Aufrechthalten...
(20%) "Kneel before your master!", gives you double XP.
(10%) "Is there anything I can't do?", recharges all skills except for Ursan Blessing, Volfen Blessing, Raven Blessing, and those that require a Morale boost (e.g. Resurrection Signet).
(30%) "Buwahaha!", removes all conditions.
=>würde Bluten und Tiefe Wunde abstellen... sehr geil bei der Brutmutter
Ich hoffe, daß ich noch paar Anregungen geben konnte =)

MfG
04/18/2009 17:18 illuminati™#27
net schlecht aber ich verbessers noch bissl
04/18/2009 17:31 _revo#28
findest du deine sig net selber ein bisschen penetrant? :)
04/18/2009 17:49 Frutex#29
Da kann ich nur zustimmen O.o`?
04/18/2009 18:44 Wiggum#30
Ich hab noch ne "Rezone-Funktion" reingeschrieben und dafür hab ich folgendes abgeändert/ergänzt:

PHP Code:
Func goout() ; In das Gebiet "Zerrissene Erde" gehen
        rndslp
(2000)
        
hm()
        
Prepmoveto()
    If 
CheckArea(14468,14841Then
        moveto
(1,15200,15396)
        
moveto(1,15823,15565)
        
moveto(1,17029,15704)
        
moveto(1,17417,15927)
        
moveto(1,17712,16197)
        
moveto(1,18086,16617)
        
moveto(1,18602,16828)
        
moveto(1,19278,16858)
        
moveto(1,19930,16875)
    ElseIf 
CheckArea(16359,19525Then
        moveto
(1,16873,19022)
        
moveto(1,17958,18393)
        
moveto(1,19001,18032)
        
moveto(1,19384,17783)
        
moveto(1,19501,17581)
        
moveto(1,19625,17343)
        
moveto(1,19778,17191)
        
moveto(1,19931,17097)
    ElseIf 
CheckArea(17774,14413Then
        moveto
(1,18213,15024)
        
moveto(1,18685,15359)
        
moveto(1,19294,15776)
        
moveto(1,19523,16170)
        
moveto(1,19722,16412)
        
moveto(1,19913,16570)
    ElseIf 
CheckArea(1941016773Then
        Keysend
("x")
        
slp(300)
        
moveto(1,19989,16858)
    Else
        
TransferGH()
        
TransferGH()
        
goout()
    EndIf
        
KeepMoveTo()
        
loadout()
Endfunc 
Drittes ElseIf, bei spawn gleich nach dem Portal (dort spawnt man, wenn man von aussen reinkommt). Läuft vom Spawnpunkt gleich nach dem Tor wieder nach draussen.

PHP Code:
Func gosell() ; verkaufen in Rata Sum
        rndslp
(2000)
        
Prepmoveto()
    If 
CheckArea(14468,14841Then
        moveto
(1,15035,15299)
        
moveto(1,15515,15586)
        
moveto(1,16314,15528)
        
moveto(1,17275,15187)
        
moveto(1,18325,14632)
        
moveto(1,19012,14499)
        
moveto(1,19475,14721)
    ElseIf 
CheckArea(16359,19525Then
        moveto
(1,17004,18782)
        
moveto(1,17609,17690)
        
moveto(1,18054,16376)
        
moveto(1,18513,15635)
        
moveto(1,18929,15434)
        
moveto(1,19216,15244)
        
moveto(1,19472,14824)
    ElseIf 
CheckArea(17774,14413Then
        moveto
(1,18124,14459)
        
moveto(1,18751,14436)
        
moveto(1,19480,14734)
    ElseIf 
CheckArea(1941016773Then
        moveto
(11946116139)
        
moveto(11954215235)
        
moveto(11957614829)
    Else
        
TransferGH()
        
TransferGH()
        
gosell()
    EndIf
        
stopmoveto()
        
rndsleep(200)
        
keysend("v")
        
rndsleep(500)
        
keysend("space")
        
sell(25)
Endfunc 
Das gleiche mit der der GoSell-Funktion, läuft vom Tor-Spawn zum Kaufmann.

PHP Code:
Func rezone()
    
PrepMoveTo()
    
Keysend("x")
    
slp(300)
     
moveto(1,-26195,-4105)
    
KeepMoveTo()
    
loadin()
    
PrepMoveTo()
    
Keysend("x")
    
slp(300)
    
moveto(1,19989,16858)
    
KeepMoveTo()
    
loadout()
EndFunc 
Läuft einmal zurück nach Rata Sum und wieder ins Gebiet.

PHP Code:
Func Bot ()
    
Select
    
case $Runden 1
        goout
()
        
rezone()
        goto()
        
Fight()
        
Fight2()
    case 
$Runden <= 3
        goout
()
        goto()
        
Fight()
        
Fight2()
    case 
$Runden 3
        
If $Items <=100 Then identitems(0,4,0,8)
        If 
$Items 200 Then identitems(0,4,1,8)
        if 
$Items 300 Then identitems(0,4,2,8)
        If 
$Items 400 Then identitems(0,4,3,8)
        
gosell()
        
$Runden 1
        goout
()
        
rezone()
        goto()
        
Fight()
        
Fight2()    
    
EndSelect
EndFunc 
case $Runden = 1 hinzugefügt, damit er immer, nachdem er wieder in der GH war nochma rezoned.

Damit hat man keine keine lange Laufzeit von den verschiedenen Spawnorten mehr.

Hoffe es hilft euch

MfG Wiggum