What's new
  • Visit Rebornbuddy
  • Visit Resources
  • Visit API Documentation
  • Visit Downloads
  • Visit Portal
  • Visit Panda Profiles
  • Visit LLamamMagic

Killing Ghom - problems with movement and fight

Nazair

New Member
Joined
Jan 5, 2013
Messages
754
Reaction score
0
Hi there.
Because Ghom is located nicely next to waypoint I decided to try and make a profile for myself - and if it works, for rest of the botter's community ;)

My plan was to make bot run Skycrowns -> Stonefort -> Ghom. It gives us 5 stacks and some chance for key. I borrowed some navigation points for first two locations since there are many profiles that work nice out there.
Problem started with Ghom lair.

With some tutorials and a little bit of reading through other profiles I managed to spawn such code:
<Profile>
<Name>Act 3 Ghom Farm START</Name>
<KillMonsters>True</KillMonsters>
<PickupLoot>True</PickupLoot>
<GameParams quest="93697" step="1" act="A3" difficulty="Inferno" resumeFromSave="False" isPrivate="True" numGames="-1" />
<Order>

<!-- In Town, use Waypoint to Keep Depths 3 -->
<If condition="Me.IsInTown">
<LogMessage questId="93697" stepId="1" output="Using Waypoint to Keep Depths 3" />
<UseWaypoint questId="93697" stepId="1" actorId="6442" x="402" y="414" z="1" waypointNumber="3" />
</If>

<!-- WP to Ghom -->
<While condition="CurrentWorldId == 136415">
<UseObject questId="93697" stepId="1" actorId="161277" isPortal="True" destinationWorldId="103209" />
</While>

<If condition="CurrentWorldId == 103209">
<WaitTimer questId="93697" stepId="1" waitTime="1000" />
<MoveTo questId="93697" stepId="1" x="442.2997" y="358.7975" z="0.1000001" pathPrecision="10" name="GhomLair-01" navigation="true" />
<WaitTimer questId="93697" stepId="1" waitTime="5000" />
<SkipCutscene questId="93697" stepId="1" />
<WaitTimer questId="93697" stepId="1" waitTime="5000" />
<TrinityMoveTo questId="93697" stepId="1" x="380.9713" y="360.1432" z="0.1700234" pathPrecision="10" name="GhomLair-02" navigation="true" />
</If>

<If condition="CurrentWorldId == 103209"> <!-- The Larder -->
<UseTownPortal questId="93697" stepId="16" />
<WaitTimer questId="93697" stepId="16" waitTime="6000" />
</If>

<If condition="Me.IsInTown">
<LogMessage quest="101758" step="1" output="Profile ended." />
<WaitTimer quest="101758" step="1" waitTime="10000" />
<LeaveGame quest="101758" step="1" reason="Profile ended." />
</If>

</Order>
</Profile>

However, weird things happen inside ;P
Bot ports to Keep Depths lvl 3 and uses portal to Ghom. Than sometimes he just stands next to entrance doing nothing. Sometimes he moves to Ghom, skips cinematic and even fights - with some troubles at the beginning due to inactivity >.<
But after killing Ghom bot doesn't loot anything, just ports to city. And afterwards there is no pause before leaving the game.

So, is there a kind soul who can point me in correct direction and show where I made mistakes? :)
Appreciate any help ^_^

Cheers!

//Edit
Attaching logs from my entire try with this. Maybe there will be someting useful.

//Edit 2
With help from rrrix (thank you very much ^_^) I managed to make this all walking and fighting work as it should.
The only problem is that bot doesn't wait after entering town (like to listen to Azmodan or something) but leaves game immediately.
Current code for Ghom killing looks like this:
<Profile>
<Name>Act 3 Ghom Farm START</Name>
<KillMonsters>True</KillMonsters>
<PickupLoot>True</PickupLoot>
<GameParams quest="93697" step="1" act="A3" difficulty="Inferno" resumeFromSave="False" isPrivate="True" numGames="-1" />
<Order>

<!-- In Town, use Waypoint to Keep Depths 3 -->
<If condition="Me.IsInTown">
<LogMessage questId="93697" stepId="1" output="Using Waypoint to Keep Depths 3" />
<UseWaypoint questId="93697" stepId="1" actorId="6442" x="402" y="414" z="1" waypointNumber="3" />
</If>

<!-- WP to Ghom -->
<If condition="CurrentLevelAreaId == 136448">
<UseObject questId="93697" stepId="1" actorId="161277" destinationWorldId="103209" interactRange="10" statusText="Using portal to Ghom" x="429.505" y="600.9726" z="1.067381" />
<WaitTimer questId="93697" stepId="1" waitTime="1000" />
</If>

<If condition="CurrentWorldId == 103209 and ActorExistsAt(Me.ActorSNO, 580, 350, 0, 300)">
<LogMessage questId="93697" stepId="1" output="Ghom Lair part 1" />
<SafeMoveTo questId="93697" stepId="1" x="442.2997" y="358.7975" z="0.1000001" statusText="Clearing Ghom Lair pt 1" pathPrecision="50" unsafeRandomDistance="15" pathPointLimit="50" />
</If>
<If condition="CurrentWorldId == 103209 and ActorExistsAt(Me.ActorSNO, 440, 355, 0, 300)">
<LogMessage questId="93697" stepId="1" output="Ghom Lair part 2" />
<SafeMoveTo questId="93697" stepId="1" x="380.9713" y="360.1432" z="0.1700234" statusText="Clearing Ghom Lair pt 2" pathPrecision="50" unsafeRandomDistance="15" pathPointLimit="50" />
</If>

<If condition="IsActiveQuestStep(16) and CurrentWorldId == 103209 and ActorExistsAt(Me.ActorSNO, 380, 360, 0, 300)">
<WaitTimer questId="93697" stepId="16" waitTime="2000" />
<UseTownPortal questId="93697" stepId="16" />
</If>

<If condition="Me.IsInTown">
<LogMessage quest="203595" step="-1" output="Profile completed." />
<WaitTimer quest="203595" step="-1" waitTime="100000" />
<LeaveGame quest="203595" step="-1" reason="Profile completed." />
</If>

</Order>
</Profile>
For some reason this wait time before leaving does not work. Is there any way to like skip Azmodan talking (spacebar or esc) and after leave the game?
 

Attachments

Last edited:
You can look at my Ghom profile. It just starts a new game clears Skycrown than goes to Keep 3. If you have 5 stacks it will go kill Ghom if not it will clear Keep 3 till you have stacks than kill Ghom. Once Ghom is dead it does a town run, leaves the game, and starts a new one

View attachment Ghom.xml
 
Thank you very much for your xml file. Another source to get knowledge I guess ;)

I found the cause of my problem. This code:
<If condition="Me.IsInTown">
<LogMessage quest="203595" step="-1" output="Profile completed." />
<WaitTimer quest="203595" step="-1" waitTime="100000" />
<LeaveGame quest="203595" step="-1" reason="Profile completed." />
</If>
Was missing 'Id' next to quest and step words. Such little thing and so many troubles :P

Thank you very much for your help!
 
Last edited:
Sorry for double posts but I've noticed that since .302 version of DB bot no longer skips cut scenes.
I've been running this little profile for Ghom of mine and before update bot automatically canceled Ghom little smack talk. Now it just stands there waiting for it to finish.
Is there any tag I can use to force skipping?
 
Sorry for double posts but I've noticed that since .302 version of DB bot no longer skips cut scenes.
I've been running this little profile for Ghom of mine and before update bot automatically canceled Ghom little smack talk. Now it just stands there waiting for it to finish.
Is there any tag I can use to force skipping?

You can use

<AdvanceConversation questId="1" numberOfTimes="20" />
 
Hmm...
Is there a specific place I should put this line?

Now my file for pure Ghom handling looks like this:
<Profile>
<Name>[Act 3 - Inferno] Ghom Farm - Ghom</Name>
<KillMonsters>True</KillMonsters>
<PickupLoot>True</PickupLoot>
<GameParams quest="93697" step="1" act="A3" difficulty="Inferno" resumeFromSave="False" isPrivate="True" numGames="-1" />
<Order>

<!-- In Town, use Waypoint to Keep Depths 3 -->
<If condition="Me.IsInTown">
<LogMessage questId="93697" stepId="1" output="Using Waypoint to Keep Depths 3" />
<UseWaypoint questId="93697" stepId="1" actorId="6442" x="402" y="414" z="1" waypointNumber="3" />
</If>

<!-- In Keep Depths -->
<If condition="CurrentLevelAreaId == 136448">
<LogMessage questId="93697" stepId="1" output="Using portal to Ghom" />
<UseObject questId="93697" stepId="1" actorId="161277" destinationWorldId="103209"

interactRange="10" statusText="Using portal to Ghom" x="429.505" y="600.9726" z="1.067381" />
<WaitTimer questId="93697" stepId="1" waitTime="1000" />
</If>
<!-- Move to Ghom -->
<If condition="CurrentWorldId == 103209 and ActorExistsAt(Me.ActorSNO, 580, 350, 0, 300)">
<LogMessage questId="93697" stepId="1" output="Ghom Lair part 1" />
<SafeMoveTo questId="93697" stepId="1" x="442.2997" y="358.7975" z="0.1000001" statusText="Clearing

Ghom Lair pt 1" pathPrecision="50" unsafeRandomDistance="15" pathPointLimit="50" />
</If>
<If condition="CurrentWorldId == 103209 and ActorExistsAt(Me.ActorSNO, 440, 355, 0, 300)">
<LogMessage questId="93697" stepId="1" output="Ghom Lair part 2" />
<SafeMoveTo questId="93697" stepId="1" x="342.1874" y="356.5345" z="0.1000001" statusText="Clearing

Ghom Lair pt 2" pathPrecision="50" unsafeRandomDistance="15" pathPointLimit="50" />
</If>

<WaitTimer questId="93697" stepId="1" waitTime="3000" />
<AdvanceConversation questId="93697" numberOfTimes="20" />

<!-- Exit area if Ghom is dead -->
<If condition="IsActiveQuestStep(16) and CurrentWorldId == 103209 and ActorExistsAt(Me.ActorSNO, 340, 360,

0, 300)">
<WaitTimer questId="93697" stepId="16" waitTime="2000" />
<UseTownPortal questId="93697" stepId="16" />
</If>

<If condition="Me.IsInTown">
<LogMessage questId="203595" stepId="-1" output="Forcing Townrun." />
<ForceTownRun questId="1" />
<WaitTimer questId="203595" stepId="-1" waitTime="3000" />
<LoadProfile file="Ghom Farm START.xml" leaveGame="true" />
</If>

</Order>
</Profile>
But bot still stands there waiting for cut scene to finish... =/

//Edit
Tried to replace your line rrrix with something found in different profiles:
<WaitTimer questId="93697" stepId="1" waitTime="3000" />
<SkipCutscene questId="93697" stepId="1" />
No results as well...
 
Last edited:
You can optionally install the QuestTools plugin and leave it enabled, it "should" automagically handle it for you :)
 
Heh, that's nice ;)
Now it skips cutscene smoothly :P

I guess it's the best way to solve this problem, since there is no obvious place to put this skipping tag.
Thank you once again :)
 
Back
Top