Results 1 to 10 of 10

Thread: GoOut collection

  1. #1
    Retired savsuds's Avatar
    Join Date
    Apr 2013
    Location
    'Murica
    Posts
    1,246

    GoOut collection

    Code:
    #cs
    I learned something very important. It is quite simple and I do not know why I did not realize it before.
    Ok, I know why, it is because I am stupid. MOVETO and MOVE differences. MOVETO a location within that area
    whether it is an explorable area or town. MOVE sends you to another area/town. It explained why a bot will
    crash GW when the final Move command is a MoveTO instead of the correct Move. especially important when
    going from one explorable area to another.
    
    Now to this section. This is my running list of working GoOut of towns section. I sort them by where
    they depart from and going to where. I have included MAPIDs, even if they are not needed and available
    on the Game Revision Wiki (http://wiki.gamerevision.com/index.php/Main_Page) which we know nobody but
    myself really uses it. Some people like to perform little checks to make sure tht they are on the right map
    and in the right explorable area.
    #CE
    ;==================================================================================================
    ; Mount Qinkai VQ GoOut: AreaID = 200
    ;==================================================================================================
    Func GoOut() ; Breakers Hollow MapID = 278
    	RNDSLEEP(250)
    	If GETGOLDCHARACTER() < 250 And GETGOLDSTORAGE() > 250 Then
    		Out("Grabbing gold for shrine")
    		RNDSLEEP(250)
    		WITHDRAWGOLD(250)
    		RNDSLEEP(250)
    	EndIf
    	Out("Going out")
    	MOVETO(18172, -3432)
    	MOVETO(17282, -2634)
     	MOVE(16000, -2000)
    	WAITFORLOAD()
    EndFunc ;
    Func GoOut2() ; Aspenwood Gate Luxon MapID = 324
    	RNDSLEEP(250)
    	If GETGOLDCHARACTER() < 250 And GETGOLDSTORAGE() > 250 Then
    		Out("Grabbing gold for shrine")
    		RNDSLEEP(250)
    		WITHDRAWGOLD(250)
    		RNDSLEEP(250)
    	EndIf
    	Out("Going out")
    	MOVETO(-4268, 11628)
    	MOVETO(-4980, 12425)
    	MOVE(-5493, 13712)
    	WAITFORLOAD()
    EndFunc ;
    ;==================================================================================================
    ; Archipelagos VQ GoOut: AreaID = 198
    ;==================================================================================================
    Func GoOut3() ; Breakers Hollow MapID = 278
    	RNDSLEEP(250)
    	If GETGOLDCHARACTER() < 250 And GETGOLDSTORAGE() > 250 Then
    		Out("Grabbing gold for shrine")
    		RNDSLEEP(250)
    		WITHDRAWGOLD(250)
    		RNDSLEEP(250)
    	EndIf
    	Out("Going out")
    	MOVETO(19006, -4026)
    	MOVETO(19493, -4615)
    	MOVETO(20025, -4973)
     	MOVE(20500, -5100)
    	WAITFORLOAD()
    EndFunc ;
    Func GoOut4() ; Jade Quarry Luxon MapID = 295
    	RNDSLEEP(250)
    	If GETGOLDCHARACTER() < 250 And GETGOLDSTORAGE() > 250 Then
    		Out("Grabbing gold for shrine")
    		RNDSLEEP(250)
    		WITHDRAWGOLD(250)
    		RNDSLEEP(250)
    	EndIf
    	Out("Going out")
    	MOVETO(6886, 16601)
    	MOVETO(6488, 17048)
    	MOVE(6000, 18000)
    	WAITFORLOAD()
    EndFunc ;
    ;==================================================================================================
    ; Maishang Hills VQ GoOut: AreaID = 199
    ;==================================================================================================
    Func GoOut5() ; Bai Paasu Reach MapID = 288
    	RNDSLEEP(250)
    	If GETGOLDCHARACTER() < 250 And GETGOLDSTORAGE() > 250 Then
    		Out("Grabbing gold for shrine")
    		RNDSLEEP(250)
    		WITHDRAWGOLD(250)
    		RNDSLEEP(250)
    	EndIf
    	Out("Going out")
    	MOVETO(-17501, 14548)
    	MOVETO(-16638, 13895)
    	MOVE(-15500, 13100)
    	WAITFORLOAD()
    EndFunc ;
    Func GoOut6() ; Eredon Terrace MapID = 350
    	RNDSLEEP(250)
    	If GETGOLDCHARACTER() < 250 And GETGOLDSTORAGE() > 250 Then
    		Out("Grabbing gold for shrine")
    		RNDSLEEP(250)
    		WITHDRAWGOLD(250)
    		RNDSLEEP(250)
    	EndIf
    	Out("Going out")
    	MOVETO(17882, 12489)
    	MOVETO(18246, 11791)
    	MOVE(19000, 10500)
    	WAITFORLOAD()
    EndFunc ;
    Func GoOut7() ; Gyala Hatchery MapID = 224
    	RNDSLEEP(250)
    	If GETGOLDCHARACTER() < 250 And GETGOLDSTORAGE() > 250 Then
    		Out("Grabbing gold for shrine")
    		RNDSLEEP(250)
    		WITHDRAWGOLD(250)
    		RNDSLEEP(250)
    	EndIf
    	Out("Going out")
    	MOVETO(114, 22319)
    	MOVETO(1889, 24112)
    	MOVE(4200, 25750)
    	WAITFORLOAD()
    EndFunc ;
    ;==================================================================================================
    ; Silent Surf VQ GoOut
    ;==================================================================================================
    Func GoOut8() ; Unwaking Waters Luxon MapID = 297
    	RNDSLEEP(250)
    	If GETGOLDCHARACTER() < 250 And GETGOLDSTORAGE() > 250 Then
    		Out("Grabbing gold for shrine")
    		RNDSLEEP(250)
    		WITHDRAWGOLD(250)
    		RNDSLEEP(250)
    	EndIf
    	Out("Going out")
    	MOVETO(14246, 8404)
    	MOVETO(16527, 10374)
     	MOVE(18527, 12374)
    	WAITFORLOAD()
    EndFunc ;
    Func GoOut9() ; Seafarer's Rest MapID = 289
    	RNDSLEEP(250)
    	If GETGOLDCHARACTER() < 250 And GETGOLDSTORAGE() > 250 Then
    		Out("Grabbing gold for shrine")
    		RNDSLEEP(250)
    		WITHDRAWGOLD(250)
    		RNDSLEEP(250)
    	EndIf
    	Out("Going out")
    	MOVETO(-11967, -19715)
    	MOVETO(-13414, -19503)
     	MOVE(-13818, -20000)
    	WAITFORLOAD()
    EndFunc ;
    Func GoOut10() ; Leviathan Pits MapID = 279
    	RNDSLEEP(250)
    	If GETGOLDCHARACTER() < 250 And GETGOLDSTORAGE() > 250 Then
    		Out("Grabbing gold for shrine")
    		RNDSLEEP(250)
    		WITHDRAWGOLD(250)
    		RNDSLEEP(250)
    	EndIf
    	Out("Going out")
    	MOVETO(9886, -23374)
    	MOVETO(8407, -25643)
     	MOVE(8890, -26355)
    	WAITFORLOAD()
    EndFunc ;
    ;==================================================================================================
    ; Morostav Trail VQ GoOut: AreaID = 205
    ;==================================================================================================
    Func GoOut11() ; Unwaking Waters Kurzick MapID = 298
    	RndSleep(250)
    	If GETGOLDCHARACTER() < 250 And GETGOLDSTORAGE() > 250 Then
    		Out("Grabbing gold for shrine")
    		RNDSLEEP(250)
    		WITHDRAWGOLD(250)
    		RNDSLEEP(250)
    	EndIf
    	Out("Going out")
    	MOVETO(-9715, -3376)
    	MOVETO(-11645, 5155)
    	MOVETO(-12065, -7488)
     	MOVE(-14815, -8676)
    	WAITFORLOAD()
    EndFunc ;
    ;==================================================================================================
    ; Grenths Footprint GoOut: AreaID = 191
    ;==================================================================================================
    Func GoOut12() ; Deldrimor War Camp MapID = 206
    	RNDSLEEP(250)
    	Out("Going out")
    	MOVETO(-3018, -5071)
     	MOVE(-2500, -4000)
    	WAITFORLOAD()
    EndFunc ;
    ;==================================================================================================
    ; Anvil Rock GoOut: AreaID = 89
    ;==================================================================================================
    FuncGoOut13() ; Ice Tooth Cave MapID = 132
    	RNDSLEEP(250)
    	Out("Going Out")
    	MOVETO(-11000, 11735)
    	MOVETO(-11950, 11680)
     	MOVE(-13000, 11620)
    	WAITFORLOAD()
    EndFunc ;
    ;==================================================================================================
    ; Rhea's Crater VQ GoOut: AreaID = 202
    ;==================================================================================================
    Func GoOut13() ; Seafarer's Rest MapID = 289
    	RNDSLEEP(250)
    	If GETGOLDCHARACTER() < 250 And GETGOLDSTORAGE() > 250 Then
    		Out("Grabbing gold for shrine")
    		RNDSLEEP(250)
    		WITHDRAWGOLD(250)
    		RNDSLEEP(250)
    	EndIf
    	Out("Going out")
    	MOVETO(-11967, -19715)
     	MOVETO(-11335, -18598)
     	MOVE(-11016, -17750)
    	WAITFORLOAD()
    EndFunc ;
    Func GoOut14() ; Aurios Mines MapID = 234
    	RNDSLEEP(250)
    	If GETGOLDCHARACTER() < 250 And GETGOLDSTORAGE() > 250 Then
    		Out("Grabbing gold for shrine")
    		RNDSLEEP(250)
    		WITHDRAWGOLD(250)
    		RNDSLEEP(250)
    	EndIf
    	Out("Going out")
     	MOVETO(-6141, 6443)
     	MOVE(-6570, 7000)
    	WAITFORLOAD()
    EndFunc ;
    ;==================================================================================================
    I am sharing my VQ GoOut little tidbits. I have a bunch more in my notebook waiting for me to be not so lazy. As you can see the increasing GoOutxx() makes for one future massive bot that VQs maybe a whole campaign.

  2. #2
    Senior Member ddarek's Avatar
    Join Date
    May 2009
    Location
    Poland
    Posts
    1,223
    Geeez I am pretty sure differences between MoveTo and Move was already explained
    Additionally if u building such a things try to use advantage of MapID detection and travel to specific outpost
    And no need to build huge list of outs in a singl file
    Engine exists and it is a matter of adding coordinates from area or outpost

  3. #3
    Senior Member
    Join Date
    Apr 2010
    Posts
    160
    Always use WaitForLoad($MapId) where possible instead of generic WaitForLoad()

    Also try to avoid code duplication, you have the exact same 6 lines of code in every single function.

  4. #4
    Retired savsuds's Avatar
    Join Date
    Apr 2013
    Location
    'Murica
    Posts
    1,246
    It was explained, but not in the detail to make my brain fully understand. Sometimes to MoveTo and Move GW crash did not always happen. With some bots it does.

    Edit: When I tried to do a zoning from Anvil Rock to Iron Horse Mine:
    Code:
    	MOVETO(20229, 20163)
    	MOVE(21000, 21600)
    it resulted in a constant GW crash. I changed my MoveTo, Moveto to the above code. I am slightly amiss to an example where it did not crash, but I have seen it recently. /Edit

    I like the map and area checks, now that Ralle1976 has shown me them. It is just not always needed, but quite handy when lagged caused you to miss a zoning.

    The actual GoOuts in a large file is for when I hopefully have enough routes mapped for Luxon or Kurzick Faction VQ depending upon which holds what town, for variety sake, besides it is easy for me to copy what I want and paste it into a project.

    I don't much care for the PvEvolved script. And it is not available to all to play around with. My goal is to maybe have a few things for people to reference or copy for their own bots, without actually posting exactly what they want. Too many people asking for Sell, ID, features, because they are too lazy. I am a copy paste machine myself. It took me tons of reading on the forums to find out that making a GoOut took a little math to get cords out enough to always zone. My .au3 files are little collections of info, my own personal Wiki.

    Edit2: By the way I love your addons.
    Last edited by savsuds; 06-18-2013 at 05:55 PM.

  5. #5
    Senior Member Rask's Avatar
    Join Date
    Apr 2010
    Location
    Oregon, USA
    Posts
    1,620
    Quote Originally Posted by savsuds View Post
    It was explained, but not in the detail to make my brain fully understand. Sometimes to MoveTo and Move GW crash did not always happen. With some bots it does.

    Edit: When I tried to do a zoning from Anvil Rock to Iron Horse Mine:
    Code:
        MOVETO(20229, 20163)
        MOVE(21000, 21600)
    it resulted in a constant GW crash. I changed my MoveTo, Moveto to the above code. I am slightly amiss to an example where it did not crash, but I have seen it recently. /Edit

    I like the map and area checks, now that Ralle1976 has shown me them. It is just not always needed, but quite handy when lagged caused you to miss a zoning.

    The actual GoOuts in a large file is for when I hopefully have enough routes mapped for Luxon or Kurzick Faction VQ depending upon which holds what town, for variety sake, besides it is easy for me to copy what I want and paste it into a project.

    I don't much care for the PvEvolved script. And it is not available to all to play around with. My goal is to maybe have a few things for people to reference or copy for their own bots, without actually posting exactly what they want. Too many people asking for Sell, ID, features, because they are too lazy. I am a copy paste machine myself. It took me tons of reading on the forums to find out that making a GoOut took a little math to get cords out enough to always zone. My .au3 files are little collections of info, my own personal Wiki.

    Edit2: By the way I love your addons.
    What he means is just create a primary GoOut() function that checks the map id and follows the corresponding route appropriately. This way you don't have to make 100+ of the same function.

  6. #6
    quality shitposter skaldish's Avatar
    Join Date
    Nov 2011
    Posts
    248
    Quote Originally Posted by savsuds View Post
    it resulted in a constant GW crash. I changed my MoveTo, Moveto to the above code. I am slightly amiss to an example where it did not crash, but I have seen it recently.
    Why don't you just checkout the GWA˛.au3 to see the difference between Move() and MoveTo()?
    Both functions utilize the same Function (MoveTo even just calls Move() if the own Agent is not in movement). So what MoveTo does, is basically keep Move()ing until the destination is arrived. It has a check for MapLoading, but this is implemented rather shitty, so the function crashes on MapLoads (sending some packets on Mapload result in a crash, others don't).

  7. #7
    Retired savsuds's Avatar
    Join Date
    Apr 2013
    Location
    'Murica
    Posts
    1,246
    The GWA2 simple little description did not really advise to the severity of choosing poorly (yay to Indiana Jones reference). The story was more an example of my retardedness and to share my GoOut cords for some towns. It can be boring to do, so if I can save some people the time and effort, yay. If not, c'est la vie.

  8. #8
    The way I usualy go out is do a
    Code:
    Do
      Move(X,Y)
    Until WaitMapLoading($ExplorableID)
    You would also modify MoveTo,
    before the Move command or any command is sent, put:
    Code:
    Do
    Sleep(100)
    Until GetMapLoading <> 2
    Or something like that.

  9. #9
    Still rollin' GoldCoin's Avatar
    Join Date
    Jul 2009
    Location
    Neverland
    Posts
    490
    Code:
    Func MoveToEx($x, $y, $random = 50)
    Local $iBlocked = 0
    
    $oldCbType = $cbType
    
    $cbType = "int"
    $mState = CmdCB($CA_GetMapLoading)
    
    $cbType = "float"
    MoveEx($x, $y, $random)
    PingSleep()
    Do
    Sleep(150)
    $cbType = "int"
    CmdCB($CA_GETDEAD)
    If $cbVar[0] = 1 Then ExitLoop
    
    $mStateOld = $mState
    $mState = CmdCB($CA_GetMapLoading)
    If $mState[0] <> $mStateOld[0] Then ExitLoop
    
    CmdCB($CA_GetIsMoving, -2)
    If $cbVar[0] = 0 Then
    $iBlocked += 1
    Cmd($CA_UpdateAgentPosition, -2)
    MoveEx($x, $y, $random)
    EndIf
    
    $cbType = "float"
    CmdCB($CA_GETCOORDS, -2)
    Until ComputeDistanceEx($cbVar[0], $cbVar[1], $x, $y) < 220 OR $iBlocked > 14
    
    $cbType = $oldCbType
    EndFunc
    This was the old function from GWCA which you can still find on the Google Code page. Just take this one and adapt it to GWA2. If you're walking through a portal just call this and put a WaitForLoad($MapId) in after it.
    They say it can't be done? We ain't never not done it yet, have we?

  10. #10
    Code:
    Func ZonePortal($iCoordX, $iCoordY)
    	Const $iMapLoading = GetMapLoading()
    	Local $iTime
    
    	Move($iCoordX, $iCoordY, 25)
    
    	Do
    		Sleep(50)
    	Until ($iMapLoading <> GetMapLoading())
    
    	$iTime = GetInstanceUpTime()
    	Do
    		Sleep(50)
    	Until (GetInstanceUpTime() <> $iTime)
    
    	For $i = 1 To 4
    		$iTime = GetInstanceUpTime()
    		Do
    			Sleep(50)
    		Until (GetInstanceUpTime() > $iTime)
    	Next
    EndFunc   ;==>ZonePortal

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •