Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Date.au3>
- #include "GWCAConstants.au3"
- Opt("TrayOnEventMode", 1)
- Opt("TrayMenuMode", 1)
- Global $name = IniRead("Sets.dat", "Name", "Name", "")
- Global $sGW = "Guild Wars - " & $name
- Global $bRunning = False
- Global $MAP_TOPK = 814
- Global $GItems = 0
- Global $Runs = 0
- Global $TotalGolds = 0
- Global $oldGold = 0
- $settingsitem = TrayCreateMenu("Settings")
- $nameitem = TrayCreateItem("Name", $settingsitem)
- TrayCreateItem("")
- $startitem = TrayCreateItem("Start")
- TrayCreateItem("")
- $exititem = TrayCreateItem("Exit")
- TrayItemSetOnEvent($nameitem, "SpecialEvent")
- TrayItemSetOnEvent($startitem, "SpecialEvent")
- TrayItemSetOnEvent($exititem, "SpecialEvent")
- TraySetState()
- Func SpecialEvent()
- Switch @TRAY_ID
- Case $exititem
- Exit
- Case $startitem
- $bRunning = Not $bRunning
- Case $nameitem
- $name = InputBox("Char Name", "How is your char called?", $name)
- $sGW = "GameRevision.com - " & $name & " - Guild Wars"
- IniWrite("Sets.dat", "Name", "Name", $name)
- EndSwitch
- EndFunc
- While 1
- Sleep(100)
- If $bRunning Then BotLoop()
- WEnd
- Func BotLoop()
- sleep(100)
- ;//Out
- #Region Out
- $R1 = Random(1,3,1)
- If $R1 = 1 Then
- MoveTo(1917.22, 2646.55)
- ElseIf $R1 = 2 Then
- MoveTo(1869.77, 2840.69)
- ElseIf $R1 = 3 Then
- MoveTo(1701.58, 2920.88)
- EndIf
- $R2 = Random(1,3,1)
- If $R2 = 1 Then
- MoveTo(1920.76, 3443.92)
- ElseIf $R2 = 2 Then
- MoveTo(2032.59, 3581.50)
- ElseIf $R2 = 3 Then
- MoveTo(2174.57, 3725.66)
- EndIf
- MoveTo(2259.15, 4502.03)
- WaitForLoad()
- #EndRegion Out
- sleep(100)
- ;//Pull
- #Region Pull
- MoveTo(2625.49, -3702.98)
- MoveTo(1348.72, -3478.53)
- Cmd($CA_UseSkill,1,-2)
- Cmd($CA_UseSkill,2,-2)
- sleep(random(1250,1500))
- Cmd($CA_UseSkill,3,-2)
- sleep(random(1250,1500))
- MoveTo(771, -2899)
- Do
- Sleep(50)
- $cbType = "int"
- $agentid = CmdCB($CA_GETNEARESTAGENTBYPLAYERNUMBER, 2191) ;dryder
- Sleep(50)
- $cbType = "float"
- $distance = CmdCB($CA_GetMyDistanceToAgent, $agentid[0])
- Until $distance[0] <= 1050
- Cmd($CA_ChangeTarget, 13)
- Cmd($CA_UseSkill,8, -1)
- sleep(random(1000,1250))
- If Not MoveTo(674.37, -1868.69) Then Return
- If Not MoveTo(1466, -3003) Then Return
- Do
- sleep(100)
- CmdCB($CA_SkillRecharge,2)
- Until $cbVar[0] = 0
- Cmd($CA_UseSkill,1,-2)
- Cmd($CA_UseSkill,2,-2)
- sleep(random(1000,1250))
- If Not MoveTo(1427.41, -2323.66) Then Return
- If Not MoveTo(1061.76, -2198.85) Then Return
- If Not MoveTo(674.37, -1868.69) Then Return
- If Not MoveTo(340.08, -2385.47) Then Return
- If Not MoveTo(-224.92, -2248.58) Then Return
- sleep(random(500,650))
- #EndRegion Pull
- sleep(100)
- ;//Fight
- #Region Fight
- Cmd($CA_UseSkill,6,-2)
- sleep(random(2000,2250))
- Cmd($CA_UseSkill,7,-1)
- sleep(random(4000,4500))
- Cmd($CA_UseSkill,4,-1)
- sleep(random(4000,4250))
- Cmd($CA_UseSkill,5,-1)
- sleep(random(500,1000))
- Do
- sleep(100)
- CmdCB($CA_SkillRecharge,2)
- Until $cbVar[0] = 0
- Cmd($CA_UseSkill,1,-2)
- Cmd($CA_UseSkill,2,-2)
- sleep(random(1500,2000))
- Cmd($CA_UseSkill,3,-2)
- sleep(random(500,1000))
- Do
- sleep(100)
- CmdCB($CA_SkillRecharge,2)
- Until $cbVar[0] = 0
- Cmd($CA_UseSkill,1,-2)
- Cmd($CA_UseSkill,2,-2)
- Sleep(random(1250,1500))
- Do
- sleep(100)
- CmdCB($CA_SkillRecharge,7)
- Until $cbVar[0] = 0
- Cmd($CA_UseSkill,6,-2)
- sleep(random(1500,2000))
- Cmd($CA_UseSkill,7,-1)
- sleep(random(3500,4000))
- Do
- sleep(100)
- CmdCB($CA_SkillRecharge,4)
- Until $cbVar[0] = 0
- Cmd($CA_UseSkill,4,-1)
- sleep(random(3500,4000))
- Do
- sleep(100)
- CmdCB($CA_SkillRecharge,5)
- Until $cbVar[0] = 0
- Cmd($CA_UseSkill,5,-1)
- sleep(random(500,1000))
- Do
- sleep(100)
- CmdCB($CA_SkillRecharge,2)
- Until $cbVar[0] = 0
- Cmd($CA_UseSkill,1,-2)
- Cmd($CA_UseSkill,2,-2)
- sleep(random(1250,1500))
- Do
- sleep(100)
- CmdCB($CA_SkillRecharge,5)
- Until $cbVar[0] = 0
- Cmd($CA_UseSkill,5,-1)
- sleep(random(1000,1250))
- Do
- sleep(100)
- CmdCB($CA_SkillRecharge,3)
- Until $cbVar[0] = 0
- Cmd($CA_UseSkill,3,-2)
- sleep(random(1000,1250))
- Do
- sleep(100)
- CmdCB($CA_SkillRecharge,2)
- Until $cbVar[0] = 0
- Cmd($CA_UseSkill,1,-2)
- Cmd($CA_UseSkill,2,-2)
- sleep(random(1500,2000))
- Do
- sleep(100)
- CmdCB($CA_SkillRecharge,4)
- Until $cbVar[0] = 0
- Cmd($CA_UseSkill,4,-1)
- sleep(random(4000,4250))
- Cmd($CA_UseSkill,5,-1)
- sleep(random(6000,8000))
- PickupItems(-1, 1400)
- Sleep(Random(4000,5000))
- Cmd($CA_ZoneMap, $MAP_TOPK)
- WaitForLoad()
- sleep(random(1500,2000))
- #EndRegion Fight
- sleep(100)
- ;//CheckMerch&Merch
- $cbType = "int"
- CmdCB($CA_GetBagSize,$BAG_Bag1)
- If $cbVar[1] <> 0 Then
- ;//Merch
- #Region Merch
- MoveTo(1730.35, -9.15)
- sleep(random(250,500))
- MoveTo(778.69, -385.15)
- sleep(random(250,500))
- MoveTo(-284.17, 227.70)
- sleep(random(1500,2000))
- GoNearestNPCToCoords(-417.31, 327.78)
- sleep(random(2000,3000))
- Cmd($CA_BuyItem,4,100)
- For $i = 1 To 20 Step 1
- $bIdentItem = True
- GetItemInfo($BAG_BACKPACK, $i)
- If $cbVar[0] = $RARITY_GOLD Then
- $bIdentItem = False
- EndIf
- If $bIdentItem Then Cmd($CA_IDENTIFYITEM, $BAG_BACKPACK, $i)
- Sleep(500)
- Next
- For $i = 1 To 5 Step 1
- $bIdentItem = True
- GetItemInfo($BAG_BELTPOUCH, $i)
- If $cbVar[0] = $RARITY_GOLD Then
- $bIdentItem = False
- EndIf
- If $bIdentItem Then Cmd($CA_IDENTIFYITEM, $BAG_BELTPOUCH, $i)
- Sleep(500)
- Next
- For $i = 1 To 10 Step 1
- $bIdentItem = True
- GetItemInfo($BAG_BAG1, $i)
- If $cbVar[0] = $RARITY_GOLD Then
- $bIdentItem = False
- EndIf
- If $bIdentItem Then Cmd($CA_IDENTIFYITEM, $BAG_BAG1, $i)
- Sleep(500)
- Next
- get_gitems()
- sleep(250)
- golds()
- sleep(500)
- For $i = 1 To 20
- $i_id=getitemid($BAG_Backpack,$i)
- if $i_id[0] <> 0 then
- Cmd($CA_SELLITEMBYID,$i_id[0])
- Sleep(Random(200,220))
- EndIf
- Next
- For $i = 1 To 20
- $i_id=getitemid($BAG_Backpack,$i)
- if $i_id[0] <> 0 then
- Cmd($CA_SELLITEMBYID,$i_id[0])
- Sleep(Random(200,220))
- EndIf
- Next
- For $i = 1 To 5
- $i_id=getitemid($BAG_BeltPouch,$i)
- if $i_id[0] <> 0 then
- Cmd($CA_SELLITEMBYID,$i_id[0])
- Sleep(Random(200,220))
- EndIf
- Next
- For $i = 1 To 5
- $i_id=getitemid($BAG_BeltPouch,$i)
- if $i_id[0] <> 0 then
- Cmd($CA_SELLITEMBYID,$i_id[0])
- Sleep(Random(200,220))
- EndIf
- Next
- For $i = 1 To 10
- $i_id=getitemid($BAG_Bag1,$i)
- if $i_id[0] <> 0 then
- Cmd($CA_SELLITEMBYID,$i_id[0])
- Sleep(Random(200,220))
- EndIf
- Next
- For $i = 1 To 10
- $i_id=getitemid($BAG_Bag1,$i)
- if $i_id[0] <> 0 then
- Cmd($CA_SELLITEMBYID,$i_id[0])
- Sleep(Random(200,220))
- EndIf
- Next
- sleep(random(1000,1250))
- #EndRegion Merch
- EndIf
- sleep(100)
- EndFunc
- func chest_reg($ngitems)
- if $ngitems > 0 and $ngitems < 21 Then
- return 8
- elseif $ngitems > 20 and $ngitems < 41 Then
- return 9
- elseif $ngitems > 40 and $ngitems < 61 Then
- return 10
- elseif $ngitems > 60 and $ngitems < 81 Then
- return 11
- elseif $ngitems > 80 Then
- exit
- endif
- endfunc
- Func golds()
- $ocbty=$cbtype
- $cbType="hex"
- For $slot=1 to 35 step 1
- If $slot < 21 Then
- $i_info=GetItemInfo(1,$slot)
- If $i_info[0] = $RARITY_GOLD Then
- $GItems += 1
- $c_reg=chest_reg($GItems)
- MoveItem(1,$slot, $c_reg, 0)
- $TotalGolds += 1
- Sleep(Random(150,200))
- EndIf
- EndIf
- If $slot > 20 And $slot < 26 Then
- $i_info=GetItemInfo(2,($slot-20))
- If $i_info[0] = $RARITY_GOLD Then
- $GItems += 1
- $c_reg=chest_reg($GItems)
- MoveItem(2,($slot-20), $c_reg, 0)
- $TotalGolds += 1
- Sleep(Random(150,200))
- EndIf
- EndIf
- If $slot > 25 and $slot < 36 then
- $i_info=GetItemInfo(3,($slot-25))
- If $i_info[0] = $RARITY_GOLD Then
- $GItems += 1
- $c_reg=chest_reg($GItems)
- MoveItem(3,($slot-25), $c_reg, 0)
- $TotalGolds += 1
- Sleep(Random(150,200))
- EndIf
- EndIf
- Sleep(Random(20,30))
- Next
- $cbtype=$ocbty
- Endfunc
- Func get_gitems()
- $cbtype="int"
- $GItems=0
- For $reg=8 to 11 step 1
- for $slot=1 to 20 step 1
- $i_id=getitemid($reg,$slot)
- if $i_id[0] <> 0 then $GItems+=1
- Sleep(Random(20,30))
- Next
- Next
- Return $GItems
- EndFunc
- Func GoNearestNPCToCoords($x, $y)
- MoveTo($x, $y)
- $guy = GetNearestNPCToCoords($x, $y)
- $cbType = "float"
- Do
- RndSleep(250)
- Cmd($CA_GoNPC, $guy)
- RndSleep(250)
- $a = CmdCB($CA_GetCoords, $guy)
- CmdCB($CA_GetCoords, -2)
- Until ComputeDistanceEx($cbVar[0], $cbVar[1], $a[0], $a[1]) < 250
- RndSleep(500)
- EndFunc
- Func WaitForLoad()
- Cmd($CA_InitMapLoad)
- $cbType = "int"
- $dTimer = TimerInit()
- RndSleep(250)
- Do
- RndSleep(250)
- CmdCB($CA_MapIsLoaded)
- Until $cbVar[0] = True Or TimerDiff($dTimer) > 10000
- RndSleep(1000)
- EndFunc
- Func MoveTo($x, $y, $random = 50)
- Local $iBlocked = 0
- $cbType = "int"
- CmdCB($CA_GETMAPLOADING)
- $loadstate = $cbVar[0]
- MoveEx($x, $y, $random)
- $cbType = "float"
- CmdCB($CA_GETCOORDS, -2)
- $notstucked = True
- Do
- Sleep(1500)
- $oldCoords = $cbVar
- $cbType = "int"
- CmdCB($CA_GETDEAD)
- If $cbVar[0] = 1 Then
- $notstucked = False
- ExitLoop
- EndIf
- $Oldloadstate = $loadstate
- CmdCB($CA_GETMAPLOADING)
- $loadstate = $cbVar[0]
- $cbType = "float"
- CmdCB($CA_GETCOORDS, -2)
- If $oldCoords[0] = $cbVar[0] AND $oldCoords[1] = $cbVar[1] Then
- $iBlocked += 1
- If $iBlocked > 4 Then
- $notstucked = False
- ExitLoop
- EndIf
- EndIf
- Until ComputeDistance($cbVar[0], $cbVar[1], $x, $y) < 250 Or $loadstate <> $Oldloadstate
- If Not $notstucked Then
- Cmd($CA_ZoneMap, $MAP_TOPK)
- WaitForLoad()
- EndIf
- Return $notstucked
- EndFunc
- Func ComputeDistance($x1, $y1, $x2, $y2)
- Return Sqrt(($y2 - $y1)^2 + ($x2 - $x1)^2)
- EndFunc
- Func RndSleep($x)
- Sleep(Random($x * 0.95, $x * 1.05))
- EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement