How to write Profiles
|
05-16-2014, 04:10 AM
(This post was last modified: 05-16-2014 04:58 AM by Titanium.)
Post: #2
|
|||
|
|||
RE: How to write Profiles
You can open the Profile Editor by clicking "Profile Editor" at the bottom right of the bot.
Instructions: ------------------------------ MoveTo: Move the character to a specific point. To record that point you need to move your character manually, then click "MoveTo", it'll generate the instruction to move to that point. Code: <MoveTo x="59.16222" y="103.4011" z="-0.2490396"/> UseWaypoint: Use the waypoint platform to go to a specific map. You'll need a waypoint number for the place that you want your character to go to. Code: <UseWaypoint waypointNumber="5"/> Please refer to this post for the detail waypoint number of every map. UseObject: This is usually used to use the portal to go to another place, e.g. from Keep depths level 1 to level 2. Code: <UseObject isPortal="true"/> WaitTimer: Wait for some time. The waiting period can be controlled and is in milliseconds, e.g. use 1000 to represent 1 seconds and use 5000 to represent 5 seconds. Code: <WaitTimer waitTime="1000"/> UseTownPortal: Return to town. Code: <UseTownPortal/> LeaveGame: Leave game. Usually you need this at the end of every profile. Code: <LeaveGame/> Comment: This is only for human to write some notes, the bot will just ignore these notes. Code: <!-- You can write whatever here, it'll not break the profile --> ExploreArea: Some maps are dynamic, e.g. Keep depths 2, every time your character goes inside in a new game, it'll be different from before. So there is no way to use MoveTo to record the coordinates to move to (as it'll change every time). You must use this ExploreArea tag, it'll explore the full map until a certain condition matched. Code: <ExploreArea boxSize="60" boxTolerance="0.01"/> boxSize: The bot will divide the whole map into boxes, each of size 60 in this example, then the bot will make sure that it goes to every box. boxTolerance: The bot will ignore the boxes of which the walkable percent is less than 1% in this example (1% = 0.01). until: (This is optional, if you don't specify "until" then it'll explore the full map) This is the condition to stop exploring. See below for its uses. How to make exploration stopped when a certain condition is matched? 1. Exit found Code: <ExploreArea boxSize="60" boxTolerance="0.08" until="ExitFound" exitNameHash="2102427919"/> How do we obtain exitNameHash? You can click the "Markers" button when your character is near the exit. For example, it'll show up hash= -1234568, pos= {1, 2, 4}, distance = 987.6 hash= 7878788, pos= {7,9,3}, distance = 3 hash= 8423743, pos= {8,5,2}, distance = 343.3 distance is the distance from the exit to the player. You would probably choose the one with least distance. In this example, you'll choose hash= 7878788, pos= {7,9,3}, distance = 3 and 7878788 is the exitNameHash you would like to use. How to make it stop exploration when an actor or object is found? Code: <ExploreArea boxSize="60" boxTolerance="0.08" until="ObjectFound" actorId="176001"/> ResumeUseTownPortal: Please see the picture. It's using the portal in town which was created by using town portal. In some maps, e.g. Crypt of the Ancients, you can take your character there, then go back to town and leave game. In this way every time you resume game, there is a portal in town which will take your character to Crypt of the Ancients. Your character can then farm and leave game, and resume game and repeat. Code: <ResumeUseTownPortal/> TalkTo: Talk with an NPC. Please use ID Extractor > Extract Actor IDs to extract the ID of the NPC you want your character to talk to. Code: <TalkTo actorId="12345"/> |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 9 Guest(s)