Note: Beta 2 should be enought stable.
2005.10.15 version 5.43 BETA 2
Changed (fixed too) switch commands and added notes about their use in manual.
Increased scan range to avoid failed to return in A5 Town errors afted TP cast.
Changed TownTp function to buy TP in next run in case of TownTp failure.
Changed the sequences jumps ability, added restriction possibility. In manual.
Updated the manual & default sequence example, following changes above.
================================================== ===
2005.10.11 version 5.43 BETA 1
Added a big Purple Marker front of "Diablo Walks the Earth"
Added Purple Markers before "Corpse" (for barb item find, or necro summon)
Modded Act3 DockTown in the same way than Arrogath (Blocks + Ormus like Malah)
Modded Act3 Travincal in the same way than Pindle or Eldritch/Shenk Areas...
Note1: Whatever it's in A3 or A5 the bot should start his runs in A5.
Note2: Note 1 because it's better to make 1/"easy A5 monsters" 2/"Coucil".
Removed all commands CMDE/O/I replaced with 1 unique command: CMDEAD
Removed definitly CMLM command; replaced with CML (Check Merc Life)
Change the Monster Focus & Attack command, RC(MFOC,IN/OUT) => RC(MFOC)
Removed PTPT & A5ATP commands (obsolet)
Added seq. function: FUNC:TOWNTP (cast a TP and return to town)
Added seq. function: FUNC:A5TownPoint (check items..etc...and go near WP)
Added seq. function: FUNC:A5WPtoATP ; From A5 WP goto Anya TP (Pindle area)
Added seq. function: FUNC:A5WPtoTrav ; From A5 WP goto A3 Travincal
Added seq. function: FUNC:A3TownToA5 ; From A3 town TP goto A5
Fixed FOCWP command that was bugged. (should be obsolet, since tp is possible)
Fixed the RBlocks.exe tool that was choosing wrong blocks (left instead of up!)
Fixed Unidentifiable sold item stuck cursor bug
Changed the Intown pathing function (can avoid some entities like TPs)
Changed CheckMove function, increased sensibility.
Added and changed internal pathing for Act3 and Act5.
Added: If a no loop sequence fails bot will jump to next 'TOWN' named sequence.
================================================== ===
Code:
;##############################################################################
;
; INSERT THE SEQUENCES YOU WANT EXECUTE IN THIS FILE...
;
;##############################################################################
; Sequences are starting from the Act 5 downstairs (near Stash and Cain)
; Absolutly read the mm.BOT.MANUAL.htm to understand what you are doing.
; Usefull tool to create & tweak sequences is in \Tools\mm.RBlocks.exe
; Dont forget to try the special SEQ mode to create sequences (mm.BOT.ini)
; Know CTA switch, internal functions calls & scripts executions are possible
; throught this advanced sequencer. Read more about it in the damn manual.
;##############################################################################
; SETTINGS:
;==============================================================================
; Default sequence is the light sorce one, but you can replace it or edit it
; by whatever you want. Refers the MANUAL to know more about light sorce & merc.
; Lightning sorce is the easiest & cheapest character to proceed Pindle +
; and Eldritch runs for MFing and eventually Shenk runs.
; BUT Much others builts are possible, of course!
; Dont forget to check your keys settings in \Config\mm.BOT.ini !!
;==============================================================================
; Replace below the keys your character use in game for these skills:
; Note; All skills are at right click in these sequences:
;==============================================================================
@TP_Scroll_Key = h ; TP Scroll Skill key (must have it and a TP tome...)
@Teleport_Key = s ; Teleport Skill Key (must have it)
@Lightning_Key = f ; Lightning Skill Key (must have it)
@Chain_Lightning_Key = g ; ChainLightning Skill Key (must have it)
@Telekinesis_Key = q ; Telekinesis Skill Key (must have it)
@Frozen_Armor_Key = r ; Frozen Armor Skill Key (put a blank if you dont have)
@Mana_Shield_Key = e ; Mana Shield Skill Key (put a blank if you dont have)
@Battle_Commands_Key = ; Battle Commands Skill Key (leave blank if you dont have)
@Battle_Orders_Key = ; Battle Orders Skill Key (leave blank if you dont have)
;NOTE: to use CTA uncomment the CL_Sorc_Will_Use_Cta sequence in the [MAIN] below
;==============================================================================
; Eventually change the settings below to resolve problems or increase speed.
;==============================================================================
@Random_Delay_Before_Eldritch = 100,200 ; <mini>,<maxi> TOWN random delay (ms.)
@Random_Delay_Before_Pindle = 100,200 ; <mini>,<maxi> TOWN random delay (ms.)
@Wait_End_Of_Teleport_Delay = 1200 ; Delay before retry to teleport (ms.)
@Timeout_Eldritch_Pre_Attack = 4000 ; Maximum primary attack time on Eldritch (ms.)
@Timeout_Shenk_Pre_Attack = 4000 ; Maximum primary attack time on Shenk (ms.)
@Timeout_Pindle_Pre_Attack = 4000 ; Maximum primary attack time on Pindle (ms.)
@Timeout_Eldritch_Attack = 20000 ; Maximum main attack time on Eldritch (ms.)
@Timeout_Shenk_Attack = 20000 ; Maximum main attack time on Shenk (ms.)
@Timeout_Pindle_Attack = 20000 ; Maximum main attack time on Pindle (ms.)
@Timeout_Council_Attacks = 15000 ; Maximum main attacks time on Council (ms.)
;==============================================================================
@Pre-Cast_Random_Delay = 300,400 ; Random Delay when casting CTA or Pre-Cast (ms.)
@Attack_Loop_Delay = 100 ; Tweak it to change attacks loop/cast speed (ms.)
@Key_Push_Delay = 100 ; Delay to let the Skills appears at right click (ms.)
@WP_Menu_Delay = 400 ; Delay x2 to wait the WP menu appears at screen.
;==============================================================================
; CODE; Default sequences below (uncommented) will do Pindle, Eldritch, and Shenk.
;===============
; CL Sorce MAIN
;===============
[MAIN]
CL_Sorc_Town_Pre_Cast, 0
CL_Sorc_Town_GoTo_PindleTP, 0
;CL_Sorc_Will_Use_Cta_OutTown, 0 ; Optional If you want use CTA uncomment this sequence.
CL_Sorc_GoTo_Pindle, 0
CL_Sorc_Pre_Attack_Pindle, @Timeout_Pindle_Pre_Attack
CL_Sorc_Attack_Pindle, @Timeout_Pindle_Attack
CL_Sorc_Pindle_Pickit, 0
CL_Sorc_BackA5Town, 0
CL_Sorc_Town_Goto_Eldritch_Wp, 0
CL_Sorc_GoTo_Eldritch, 0
CL_Sorc_Pre_Attack_Eldritch, @Timeout_Eldritch_Pre_Attack
CL_Sorc_Attack_Eldritch, @Timeout_Eldritch_Attack
CL_Sorc_Eldritch_Pickit, 0
Cl_Sorc_FromEldritchGoToShenk, 0
CL_Sorc_Pre_Attack_Shenk, @Timeout_Shenk_Pre_Attack
CL_Sorc_Attack_Shenk, @Timeout_Shenk_Attack
CL_Sorc_Shenk_Corpse_teleport,0
CL_Sorc_Attack_Shenk, @Timeout_Shenk_Attack
CL_Sorc_Simple_Pickit, 0
;CL_Sorc_BackA5Town, 0
;CL_Sorc_Pre_Cast, 0
;CL_Sorc_Town_GotoCouncil
;CL_Sorc_Will_Use_Cta, 0 ; Optional If you want use CTA uncomment this sequence.
;CL_Sorc_GotoCouncil, 0
;CL_Sorc_AttackCouncil, @Timeout_Council_Attacks
;CL_Sorc_GotoUpper_Council,0
;CL_Sorc_AttackCouncil, @Timeout_Council_Attacks
;CL_Sorc_Trav_Pickit,0
;CL_Sorc_ReturnA5,0
;=====================================
; CL Sorce will precast at downstairs
;=====================================
[CL_Sorc_Town_Pre_Cast]
SR(@Random_Delay_Before_Eldritch)
K(@Frozen_Armor_Key)
S(@Key_Push_Delay)
RC(400,60)
SR(@Pre-Cast_Random_Delay)
K(@Mana_Shield_Key)
S(@Key_Push_Delay)
RC(400,60)
SR(@Pre-Cast_Random_Delay)
EXIT
;==============================================
; CL Sorce Goto Frigid Highlands (Eldritch WP)
;==============================================
[CL_Sorc_Town_Goto_Eldritch_Wp]
FUNC:A5EWP ; This function will go from downstairs to Eldritch WayPoint.
EXIT
;===============
; Optional: CTA
;===============
[CL_Sorc_Will_Use_Cta_OutTown]
S(@WP_Menu_Delay)
SWITCH1 ; Internal SWITCH1 command (Switch to secondary gear).
K(@Battle_Commands_Key)
S(@Key_Push_Delay)
RC(500,60)
SR(@Pre-Cast_Random_Delay)
K(@Battle_Orders_Key)
S(@Key_Push_Delay)
RC(500,60)
SR(@Pre-Cast_Random_Delay)
SWITCH2 ; Internal SWITCH1 command (Switch back to primary gear).
EXIT
;================
; Go to Eldritch
;================
[CL_Sorc_GoTo_Eldritch]
K(@Teleport_Key)
S(@Key_Push_Delay)
BRC(155,-60)
WEOT(@Wait_End_Of_Teleport_Delay)
CLM
CML
BRC(70,-330)
WEOT(@Wait_End_Of_Teleport_Delay)
CLM
CML
K(@Lightning_Key)
S(@Key_Push_Delay)
EXIT
;=====================================
; Eldritch Primary Light Attack(loop)
;=====================================
[CL_Sorc_Pre_Attack_Eldritch]
K(@Lightning_Key)
RCD(450,50)
S(@Attack_Loop_Delay)
CLM
CML
CMDEAD
CTOE
;=============================
; Eldritch Chain-Light Attack
;=============================
[CL_Sorc_Attack_Eldritch]
K(@Chain_Lightning_Key)
RCD(MFOC)
S(@Attack_Loop_Delay)
CLM
CML
CMDEAD
CTOE
;=================
; Eldritch Pickit
;=================
[CL_Sorc_Eldritch_Pickit]
S(300)
K(@Teleport_Key)
S(@Key_Push_Delay)
RC(440, 140)
WEOT(@Wait_End_Of_Teleport_Delay)
CLM
CML
PICKIT(600)
S(200)
EXIT
;=================
; Goto Shenk
;=================
[Cl_Sorc_FromEldritchGoToShenk]
RC(430, 510)
WEOT(@Wait_End_Of_Teleport_Delay)
CLM
CML
RC(430, 510)
WEOT(@Wait_End_Of_Teleport_Delay)
CLM
CML
RC(430, 510)
WEOT(@Wait_End_Of_Teleport_Delay)
CLM
CML
BRC(300,140)
WEOT(@Wait_End_Of_Teleport_Delay)
CLM
CML
BRC(690,330)
WEOT(@Wait_End_Of_Teleport_Delay)
CLM
CML
BRC(650,260)
WEOT(@Wait_End_Of_Teleport_Delay)
CLM
CML
BRC(360,350)
WEOT(@Wait_End_Of_Teleport_Delay)
CLM
CML
BRC(515,180)
WEOT(@Wait_End_Of_Teleport_Delay)
CLM
CML
EXIT
;=====================================
; Shenk Primary Light Attack(loop)
;=====================================
[CL_Sorc_Pre_Attack_Shenk]
K(@Lightning_Key)
BRCD(330,330)
S(@Attack_Loop_Delay)
CLM
CML
CMDEAD
CTOE
;=============================
; Shenk Chain-Light Attack
;=============================
[CL_Sorc_Attack_Shenk]
K(@Chain_Lightning_Key)
RCD(MFOC)
S(@Attack_Loop_Delay)
CLM
CML
CMDEAD
CTOE.
;==========================
; Shenk Corpse teleport to
;==========================
[CL_Sorc_Shenk_Corpse_teleport]
S(300)
K(@Teleport_Key)
S(@Key_Push_Delay)
BRC(330, 330)
WEOT(@Wait_End_Of_Teleport_Delay)
;=================
; Simple Pickit
;=================
[CL_Sorc_Simple_Pickit]
CLM
CML
PICKIT(600)
EXIT
;=============
; BackToTownA5
;=============
[CL_Sorc_BackA5Town]
K(@TP_Scroll_Key)
S(@Key_Push_Delay)
FUNC:TOWNTP ; Return to town using tp
FUNC:A5TownPoint ; Check items at malah, merc status, stash, repair etc... And go to A5 Town WP.
EXIT
;==============
; Go to Pindle TP
;==============
[CL_Sorc_Town_GoTo_PindleTP]
FUNC:A5WPtoATP
;==============
; Go to Pindle
;==============
[CL_Sorc_GoTo_Pindle]
K(@Teleport_Key)
S(@Key_Push_Delay)k.
BRC(400,-310)
WEOT(@Wait_End_Of_Teleport_Delay)
RC(735,35)
WEOT(@Wait_End_Of_Teleport_Delay)
BRC(600,-30)
WEOT(@Wait_End_Of_Teleport_Delay)
K(@Lightning_Key)
S(@Key_Push_Delay)
EXIT
;=================================
; PindleSkin Primary Light Attack
;=================================
[CL_Sorc_Pre_Attack_Pindle]
K(@Lightning_Key)
BRCD(285,-13)
S(@Attack_Loop_Delay)
CLM
CML
CMDEAD
CTOE.
;=====================
; Pindle Light Attack
;=====================
[CL_Sorc_Attack_Pindle]
K(@Lightning_Key)
RCD(MFOC)
S(@Attack_Loop_Delay)
CLM
CML
CMDEAD
CTOE.
;===============
; Pindle Pickit
;===============
[CL_Sorc_Pindle_Pickit]
S(300)
K(@Teleport_Key)
S(@Key_Push_Delay)k.
BRC(60,90)
WEOT(@Wait_End_Of_Teleport_Delay)
CLM
CML
PICKIT(600)
EXIT
[CL_Sorc_Town_GotoCouncil]
FUNC:A5WPtoTrav ; Will click A5 wp and goto Travincal
EXIT
[CL_Sorc_GotoCouncil]
K(@Teleport_Key)
S(@Key_Push_Delay)k.
RC(770,315)
WEOT(@Wait_End_Of_Teleport_Delay)
CLM
CML
RC(770,315)
WEOT(@Wait_End_Of_Teleport_Delay)
CLM
CML
RC(770,315)
WEOT(@Wait_End_Of_Teleport_Delay)
CLM
CML
RC(770,315)
WEOT(@Wait_End_Of_Teleport_Delay)
CLM
CML
BRC(530,10)
WEOT(@Wait_End_Of_Teleport_Delay)
CLM
CML
RC(780,220)
WEOT(@Wait_End_Of_Teleport_Delay)
CLM
CML
[CL_Sorc_AttackCouncil]
K(@Chain_Lightning_Key)
RCD(MFOC)
S(@Attack_Loop_Delay)
CLM
CML
CMDEAD
CTOE..
[CL_Sorc_GotoUpper_Council]
K(@Teleport_Key)
S(@Key_Push_Delay)k.
RC(795,180)
WEOT(@Wait_End_Of_Teleport_Delay)
[CL_Sorc_Trav_Pickit]
PICKIT(600)
K(@Teleport_Key)
S(@Key_Push_Delay)k.
RC(450,450)
WEOT(@Wait_End_Of_Teleport_Delay)
PICKIT(600)
K(@Teleport_Key)
S(@Key_Push_Delay)k.
RC(100,100)
WEOT(@Wait_End_Of_Teleport_Delay)
PICKIT(600)
EXIT
[CL_Sorc_ReturnA5]
K(@TP_Scroll_Key)
S(@Key_Push_Delay)k.
FUNC:TOWNTP
FUNC:A3TownToA5
EXIT