[Banditen]:
Stadt: Aschfurt Abtei
Klasse: E/Mö bzw. Mö/E
Stufe: mind. 4
Benötigte Quests: und
Skills: 1. Feuersturm ; 2. Schützende Hände ; 3. Symbol des Zorns
[Skale]:
Stadt: Fort Ranik
Klasse: E/X bzw. X/E
Stufe: mind. 8
Skills: 1. Feuersturm
[Gargoyles]:
Stadt: Barradins Anwesen
Klasse: im Prinzip egal, Empfehlung: Krieger
Waffe: mind. 12 dmg
[Level]:
Stadt: Ascalon
Stufe: mind. 2
Waffe: Bogen
Verkauft werden immer nur Rucksack + Gürteltasche.
Auswählen: Nächster Gegner ist auf "TAB", da Cmd($CA_TargetNextFoe) nicht funktionierte.
Verbesserungsvorschläge o.ä. ist erwünscht.
Hier zum Schluss noch der Source, jedoch ist der Verkauf gefixt worden und funktioniert jetzt normalerweise:
PHP Code:
#include <GWCAConstants.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Global $Skill_FS = 1
Global $Skill_SH = 2
Global $Skill_SoW = 3
Global $Begin
Global $TLoad = "4000"
Global $Paused
#Region ### START Koda GUI section ### Form=
$cGUI = GUICreate("Tutorial Bot Package", 266, 110, 246, 147)
GUISetBkColor(0x800000)
$Group1 = GUICtrlCreateGroup("CharacterName", 104, 5, 153, 44)
GUICtrlCreateInput("", 112, 21, 137, 19, BitOR($ES_CENTER,$ES_AUTOHSCROLL))
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$BanditenRadio = GUICtrlCreateRadio("Banditen Bot", 8, 8, 89, 17)
$SkalRadio = GUICtrlCreateRadio("Skal Bot", 8, 34, 89, 17)
$GargoyleRadio = GUICtrlCreateRadio("Gargoyle Bot", 8, 60, 89, 17)
$LevelRadio = GUICtrlCreateRadio("LvL Bot", 8, 86, 89, 17)
$StartButton = GUICtrlCreateButton("Start", 104, 59, 73, 41, $WS_GROUP)
$ExitButton = GUICtrlCreateButton("Exit", 184, 59, 73, 41, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $StartButton
If GUICtrlRead ($BanditenRadio) = 1 Then
RecomeBanditen()
While 1
Banditen()
WEnd
ElseIf GUICtrlRead ($SkalRadio) = 1 Then
RecomeSkale()
While 1
Skale()
WEnd
ElseIf GUICtrlRead ($GargoyleRadio) = 1 Then
While 1
Gargoyles()
WEnd
ElseIf GUICtrlRead ($LevelRadio) = 1 Then
RecomeLevel()
While 1
Level()
WEnd
EndIf
Case $ExitButton
ToggleExit()
EndSwitch
WEnd
Func RecomeBanditen()
MoveToEx(-11495.55, -6230.97)
MoveToEx(-11380.07, -6230.28)
LoadOut()
MoveToEx(-11086.20, -6230.11)
LoadOut()
EndFunc
Func Banditen()
$CBType = "int"
CmdCB($CA_FindEmptySlot , 2)
$EmptySlot = $CBVar[1] - 1
If $EmptySlot >= 1 Then
MoveToEx(-11453.56, -6377.42)
$Spence = GetNearestAgentToCoords(24410.03, -10705.75)
Cmd($CA_GoNPC, $Spence)
Sleep( Random( 1000, 1500 ))
Sell()
EndIf
MoveToEx(-11380.07, -6230.28)
LoadOut()
MoveToEx(-8445.58, -6201.02)
MoveToEx(-6256.31, -2917.05)
CmdCB($CA_TargetNearestFoe)
Sleep( Random( 100, 150 ))
UseSkillEx($Skill_FS, -1)
UseSkillEx($Skill_SH, -1)
UseSkillEx($Skill_SoW, -1)
Do
$HP = CmdCB($CA_GetHp, -1)
Sleep( Random( 100, 120 ))
Until $HP[0] = 0
Sleep( Random( 1500, 2000 ))
PickupItems ( 7, 250 )
Resign()
LoadIn()
EndFunc
Func RecomeSkale()
If CheckArea ( 23127.00, 13963.00 ) = 1 Then
MoveToEx(23054.10, 11521.26)
MoveToEx(22873.01, 10456.56)
MoveToEx(22636.23, 9233.00)
MoveToEx(22614.22, 7334.20)
LoadOut()
ElseIf CheckArea ( 25369.75, 14328.27 ) = 1 Then
MoveToEx(23063.86, 13583.41)
MoveToEx(23054.10, 11521.26)
MoveToEx(22873.01, 10456.56)
MoveToEx(22636.23, 9233.00)
MoveToEx(22614.22, 7334.20)
LoadOut()
ElseIf CheckArea ( 22218.00, 11409.00 ) = 1 Then
MoveToEx(22746.68, 11463.84)
MoveToEx(23034.42, 11234.17)
MoveToEx(22701.25, 9923.26)
MoveToEx(22609.04, 9107.73)
MoveToEx(22614.22, 7334.20)
LoadOut()
Else
MoveToEx(22663.94, 9970.94)
MoveToEx(22614.22, 7334.20)
LoadOut()
EndIf
EndFunc
Func Skale()
$CBType = "int"
CmdCB($CA_FindEmptySlot , 2)
$EmptySlot = $CBVar[1] - 1
If $EmptySlot >= 1 Then
MoveToEx(24505.17, 10412.09)
$Gram = GetNearestAgentToCoords(24505.17, 10412.09)
Cmd($CA_GoNPC, $Gram)
Sleep( Random( 1000, 1500 ))
Sell()
EndIf
If CheckArea ( 22798.00, 10205.00 ) = 1 Then
$WayRnd = Random ( 1, 3, 1 )
If $WayRnd = 1 Then
MoveToEx(22479.35, 9664.65)
MoveToEx(22430.22, 8904.71)
MoveToEx(22424.14, 7340.52)
ElseIf $WayRnd = 2 Then
MoveToEx(22717.93, 9580.15)
MoveToEx(22685.85, 8866.28)
MoveToEx(22707.79, 7373.52)
ElseIf $WayRnd = 3 Then
MoveToEx(22560.37, 9640.62)
MoveToEx(22509.63, 8830.72)
MoveToEx(22556.54, 8100.22)
MoveToEx(22544.97, 7386.18)
EndIf
Else
MoveToEx(22798.00, 10205.00)
MoveToEx(22717.93, 9580.15)
MoveToEx(22685.85, 8866.28)
MoveToEx(22707.79, 7373.52)
EndIf
MoveToEx(21898.99, 5564.88)
MoveToEx(19168.24, 3159.84)
MoveToEx(16475.29, 2697.43)
MoveToEx(16062.76, 3370.27)
MoveToEx(14436.76, 2310.74)
MoveToEx(14417.65, 1630.65)
MoveToEx(15084.84, 1171.42)
MoveToEx(16672.16, 1769.53)
MoveToEx(17342.56, 1755.70)
MoveToEx(17637.42, 2194.39)
UseSkillEx($Skill_SH, -2)
Sleep( Random( 150, 200 ))
For $i = 1 To 6 Step 1
ControlSend ( $sGW, "", "", "{TAB}" )
Sleep( Random( 100, 200 ))
Next
MoveToEx(17434.88, 2183.13)
Sleep( Random( 200, 250 ))
UseSkillEx($Skill_FS, -1)
Do
$HP = CmdCB($CA_GetHp, -1)
Sleep( Random( 100, 200 ))
Until $HP[0] = 0
Sleep( Random( 1050, 1150 ))
PickupItems ( 10, 1400 )
Resign()
LoadIn()
EndFunc
Func Gargoyles()
MoveToEx(-7011.34, 1427.51)
MoveToEx(-7947.67, 1430.92)
LoadOut()
MoveToEx(-7920.02, 2443.14)
MoveToEx(-5423.89, 5666.86)
MoveToEx(-5353.22, 8277.59)
MoveToEx(-3961.49, 8704.24)
MoveToEx(-3153.60, 9152.69)
LoadOut()
MoveToEx(-7387.06, 15378.77)
For $i = 1 To 8 Step 1
CmdCB($CA_TargetNearestFoe)
Sleep ( 175 )
CmdCB($CA_Attack, -1)
Do
$HP = CmdCB($CA_GetHp, -1)
Sleep ( 200 )
Until $HP[0] = 0
Next
PickupItems ( 4, 3500 )
$CBType = "int"
CmdCB($CA_FindEmptySlot , 2)
$EmptySlot = $CBVar[1] - 1
If $EmptySlot >= 1 Then
Resign()
LoadIn()
MoveToEx(-6416.73, 1249.11)
$Riley = GetNearestAgentToCoords(-6416.73, 1249.11)
Cmd($CA_GONPC, $Riley)
Sleep( Random( 1000, 1500 ))
Sell()
Else
MoveToEx(-7277.10, 15473.53)
MoveToEx(-8607.18, 15310.31)
MoveToEx(-10849.94, 16032.98)
LoadOut()
EndIf
EndFunc
Func RecomeLevel()
MoveToEx(8032.95, 5929.20)
MoveToEx(7291.85, 5237.10)
LoadOut()
MoveToEx(7313.88, 5250.29)
LoadOut()
EndFunc
Func Level()
$Begin = TimerInit()
MoveToEx(7563.87, 10622.45)
MoveToEx(5719.72, 10663.01)
$iQuest = GetNearestNPCToCoords(5719.72, 10663.01)
Cmd($CA_GoNPC, $iQuest)
Sleep ( 1000 )
Cmd($CA_Dialog, 8400385)
Sleep ( 750 )
If CmdCB($CA_QuestCheck, 8400385) = 1 Then
Sleep ( 50 )
Else
$iQuest = GetNearestNPCToCoords(5719.72, 10663.01)
Cmd($CA_GONPC, $iQuest)
Sleep ( 1000 )
Cmd($CA_Dialog, 8400385)
Sleep ( 750 )
EndIf
MoveToEx(7576.28, 10613.87)
MoveToEx(7596.26, 9021.46)
MoveToEx(7196.70, 5765.78)
MoveToEx(7041.15, 5399.12)
LoadOut()
MoveToEx(5954.24, 4604.10)
Sleep ( 500 )
MoveToEx(4559.05, 5627.33)
Sleep ( 1000 )
MoveToEx(3009.13, 6450.57)
MoveToEx(87.32, 6708.05)
Sleep ( 1500 )
MoveToEx(-3042.37, 9498.23)
MoveToEx(-3081.60, 10946.84)
Sleep ( 1500 )
KillCharr()
KillCharr()
KillCharr()
Resign()
;Sleep ( 2500 )
Cmd($CA_QuestAbandon, -1)
If CmdCB($CA_QuestCheck, 8400385) = 1 Then
Cmd($CA_QuestAbandon, -1)
EndIf
EndFunc
Func KillCharr()
CmdCB($CA_TargetNearestFoe)
Sleep ( 175 )
CmdCB($CA_Attack, -1)
Do
Cmd($CA_TargetNextFoe)
Sleep( 200 )
$LVL = CmdCB($CA_GetLevel,-1)
$Diff = TimerDiff ( $Begin )
Until $LVL[0] = Not 4 Or $LVL[0] = Not 5 Or $Diff >= 320000
EndFunc
Func Sell()
For $i = 1 To 20 Step 1
Cmd($CA_SellItem , 1, $i)
Sleep( Random( 250, 300 ))
Next
For $i = 1 To 5 Step 1
Cmd($CA_SellItem , 2, $i)
Sleep( Random( 250, 300 ))
Next
EndFunc
Func CheckArea($xValue, $yValue)
$Area = False
$CBType = "float"
CmdCB($CA_GetCoords, -2)
$CurrX = $CBVar[0]
$CurrY = $CBVar[1]
If ($CurrX < $xValue + 250) And ($CurrX > $xValue - 250) And ($CurrY < $yValue + 250) And ($CurrY > $yValue - 250) Then
$Area = True
EndIf
Return $Area
EndFunc
Func Resign()
Cmd($CA_RESIGN)
Do
Sleep(500)
CmdCB($CA_GETDEAD)
Until $cbVar[0] = True
Do
Sleep(1000)
Cmd($CA_RETURNTOOUTPOST)
Sleep(1000)
CmdCB($CA_GETMAPLOADING)
Until $cbVar[0] = 0
EndFunc
Func ToggleExit()
Cmd($CA_SETENGINEHOOK, 0)
Exit 0
EndFunc
Func TogglePause()
$Paused = NOT $Paused
While $Paused
sleep(100)
ToolTip('Script is "Paused"',0,0)
WEnd
ToolTip("")
EndFunc
Func Loadout()
$cbType = "int"
Do
Sleep(400)
CmdCB($CA_GETMAPLOADING)
Until $cbVar[0] = 1
Sleep($TLoad)
EndFunc
Func LoadIn()
$cbType = "int"
Do
Sleep(400)
CmdCB($CA_GETMAPLOADING)
Until $cbVar[0] = 0
Sleep($TLoad)
EndFunc