Sign in to follow this  
Followers 0
JoshDB

Everquest II Bot

6 posts in this topic

; ----------------------------------------------------------------------------
; Everquest II Tellbot
; By JoshDB
; http://atlanta.dnsdc3.com/~gologo/db/
; ----------------------------------------------------------------------------
; To run:
; 
; Fill in Server with the server you'll be playing on, Player with the character to be controlled, and $Anchor with the character that
;   will be controlling the other.
$Anchor = "Your Controlling Character"
$Server = "Your Server"
$Player = "Your Player to be Controlled"
;
; Start the bot.  To control the second character, just send it tells containing the commmand you want it to use!
;   List of commands:
;
;TB_US_T1_1 - Use slot 1 in the first hotkeys tab
;TB_US_T1_2 - Use slot 2 in the first hotkeys tab
;TB_US_T1_3 - Use slot 3 in the first hotkeys tab
;TB_US_T1_4 - Use slot 4 in the first hotkeys tab
;TB_US_T1_5 - Use slot 5 in the first hotkeys tab
;TB_US_T1_6 - Use slot 6 in the first hotkeys tab
;TB_US_T1_7 - Use slot 7 in the first hotkeys tab
;TB_US_T1_8 - Use slot 8 in the first hotkeys tab
;TB_US_T1_9 - Use slot 9 in the first hotkeys tab
;TB_US_T1_0 - Use slot 0 in the first hotkeys tab
;TB_US_T1_- - Use slot - in the first hotkeys tab
;TB_US_T1_= - Use slot = in the first hotkeys tab
;
;TB_US_T2_1 - Use slot 1 in the second hotkeys tab
;TB_US_T2_2 - Use slot 2 in the second hotkeys tab
;TB_US_T2_3 - Use slot 3 in the second hotkeys tab
;TB_US_T2_4 - Use slot 4 in the second hotkeys tab
;TB_US_T2_5 - Use slot 5 in the second hotkeys tab
;TB_US_T2_6 - Use slot 6 in the second hotkeys tab
;TB_US_T2_7 - Use slot 7 in the second hotkeys tab
;TB_US_T2_8 - Use slot 8 in the second hotkeys tab
;TB_US_T2_9 - Use slot 9 in the second hotkeys tab
;TB_US_T2_0 - Use slot 0 in the second hotkeys tab
;TB_US_T2_- - Use slot - in the second hotkeys tab
;TB_US_T2_= - Use slot = in the second hotkeys tab
;
;TB_US_T3_1 - Use slot 1 in the third hotkeys tab
;TB_US_T3_2 - Use slot 2 in the third hotkeys tab
;TB_US_T3_3 - Use slot 3 in the third hotkeys tab
;TB_US_T3_4 - Use slot 4 in the third hotkeys tab
;TB_US_T3_5 - Use slot 5 in the third hotkeys tab
;TB_US_T3_6 - Use slot 6 in the third hotkeys tab
;TB_US_T3_7 - Use slot 7 in the third hotkeys tab
;TB_US_T3_8 - Use slot 8 in the third hotkeys tab
;TB_US_T3_9 - Use slot 9 in the third hotkeys tab
;TB_US_T3_0 - Use slot 0 in the third hotkeys tab
;TB_US_T3_- - Use slot - in the third hotkeys tab
;TB_US_T3_= - Use slot = in the third hotkeys tab
;
;TB_DC_Jump - Makes the character jump
;TB_DC_Follow Me - Makes the character follow the anchor
;TB_DC_Follow Current Target - Makes the character follw the current target
;TB_DC_Target Group Member #1 - Makes the character target group member #1
;TB_DC_Target Group Member #2 - Makes the character target group member #2
;TB_DC_Target Group Member #3 - Makes the character target group member #3
;TB_DC_Target Group Member #4 - Makes the character target group member #4
;TB_DC_Target Group Member #5 - Makes the character target group member #5
;TB_DC_Target Group Member #6 - Makes the character target group member #6
;TB_DC_Assist Me - Makes the character assist the anchor
;TB_DC_Assist Current Target - Makes the character follow the current target
;
;TB_DC_Exit - Exits bot
;
; ----------------------------------------------------------------------------


$Loop = 1

sleep(1000)

While $Loop = 1
    If FileExists("C:\Program Files\Sony\EverQuest II\logs\" & $Server & "\eq2log_" & $Player & "1.txt") Then FileDelete("C:\Program Files\Sony\EverQuest II\logs\" & $Server & "\eq2log_" & $Player & "1.txt")
    FileCopy("C:\Program Files\Sony\EverQuest II\logs\" & $Server & "\eq2log_" & $Player & ".txt","C:\Program Files\Sony\EverQuest II\logs\Blackburrow\eq2log_Ranjit1.txt")
    $logtext = FileRead ("C:\Program Files\Sony\EverQuest II\logs\" & $Server & "\eq2log_" & $Player & "1.txt", 10000)
    $string = String($logtext)
    _CheckForCommands()
    _CheckForSkills()
wEnd

Func _Clear()
    $log = FileOpen("C:\Program Files\Sony\EverQuest II\logs\" & $Server & "\eq2log_" & $Player & ".txt", 2)
    FileClose($log)
EndFunc

Func _CheckForSkills()
    $result = StringInStr($string, "TB_US_T1_1")
    if $result > 0 Then
        send("1")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T1_2")
    if $result > 0 Then
        send("2")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T1_3")
    if $result > 0 Then
        send("3")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T1_4")
    if $result > 0 Then
        send("4")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T1_5")
    if $result > 0 Then
        send("5")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T1_6")
    if $result > 0 Then
        send("6")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T1_7")
    if $result > 0 Then
        send("7")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T1_8")
    if $result > 0 Then
        send("8")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T1_9")
    if $result > 0 Then
        send("9")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T1_0")
    if $result > 0 Then
        send("0")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T1_-")
    if $result > 0 Then
        send("-")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T1_=")
    if $result > 0 Then
        send("=")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T2_1")
    if $result > 0 Then
        send("^1")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T2_2")
    if $result > 0 Then
        send("^2")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T2_3")
    if $result > 0 Then
        send("^3")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T2_4")
    if $result > 0 Then
        send("^4")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T2_5")
    if $result > 0 Then
        send("^5")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T2_6")
    if $result > 0 Then
        send("^6")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T2_7")
    if $result > 0 Then
        send("^7")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T2_8")
    if $result > 0 Then
        send("^8")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T2_9")
    if $result > 0 Then
        send("^9")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T2_0")
    if $result > 0 Then
        send("^0")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T2_-")
    if $result > 0 Then
        send("^-")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T2_=")
    if $result > 0 Then
        send("^=")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T3_1")
    if $result > 0 Then
        send("!1")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T3_2")
    if $result > 0 Then
        send("!2")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T3_3")
    if $result > 0 Then
        send("!3")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T3_4")
    if $result > 0 Then
        send("!4")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T3_5")
    if $result > 0 Then
        send("!5")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T3_6")
    if $result > 0 Then
        send("!6")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T3_7")
    if $result > 0 Then
        send("!7")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T3_8")
    if $result > 0 Then
        send("!8")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T3_9")
    if $result > 0 Then
        send("!9")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T3_0")
    if $result > 0 Then
        send("!0")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T3_-")
    if $result > 0 Then
        send("!-")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_US_T3_=")
    if $result > 0 Then
        send("!=")
        _Clear()
    EndIf
EndFunc

Func _CheckForCommands()
    $result = StringInStr($string, "TB_DC_Jump")
    if $result > 0 Then
        send("{SPACE}")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_DC_Follow Me")
    if $result > 0 Then
        send("{ENTER}/follow " & $Anchor & "{ENTER}")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_DC_Follow Current Target")
    if $result > 0 Then
        send("{ENTER}/follow{ENTER}")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_DC_Target Group Member #1")
    if $result > 0 Then
        send("{F1}")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_DC_Target Group Member #2")
    if $result > 0 Then
        send("{F2}")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_DC_Target Group Member #3")
    if $result > 0 Then
        send("{F3}")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_DC_Target Group Member #4")
    if $result > 0 Then
        send("{F4}")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_DC_Target Group Member #5")
    if $result > 0 Then
        send("{F5}")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_DC_Target Group Member #6")
    if $result > 0 Then
        send("{F6}")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_DC_Assist Me")
    if $result > 0 Then
        send("{ENTER}/assist " & $Anchor & "{ENTER}")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_DC_Assist Current Target")
    if $result > 0 Then
        send("{ENTER}/assist{ENTER}")
        _Clear()
    EndIf
    $result = StringInStr($string, "TB_DC_Exit")
    if $result > 0 Then
        $Loop = 0
    EndIf
EndFunc

Enjoy. If you like, spread it around. Please leave the top credits part in there ( ;


Ha, I haven't been on these forums since... 2006, almost. Behold, my legacy signature:My AutoIt idol is Valuater. You know you love him, too.My Stuff: D&D AGoT Tools Suite

Share this post


Link to post
Share on other sites



Im not sure if im understanding this. My Thinking:

This script is set up and run on a second computer with a second account.

It reads the Chatlog and looks for the newest line that would contain a "TB_US_T1_1" wisper from the first computer, when it finds that string it sends the keypress?

Like:

Comp1 Wispers TB_US_T1_1 to Comp2 The Script reads the logfile, finds the TB_US_T1_1 and sends the keypress?

Pimped. Might work with other games like World of Warcraft.

DB

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

Why do you use

$result = StringInStr($string, "TB_DC_Assist Current Target")
    if $result > 0 Then
        send("{ENTER}/assist{ENTER}")
        _Clear()
    EndIf

Instead of:

If StringInStr($string, "Blabla")
>>
EndIf

Or the way i prefer:

Select 
Case StringInStr($string, "blabla")
>>>
Case StringInStr($string, "etcetc")
>>>
EndSelect
Edited by viking

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

Yes, you should probably use Select Case here :) Would be alot less confusing hehe :mellow:

I like the way you are using chat history (i guess?) to command the character, but may i suggest using script files? Like script.ini and you run them with a GUI. If you would like an example i could show you mine, i use a script parser of sorts for my bot that i am working on.

Edited by jackyyll

Share this post


Link to post
Share on other sites

Yes, you should probably use Select Case here :whistle: Would be alot less confusing hehe :)

I like the way you are using chat history (i guess?) to command the character, but may i suggest using script files? Like script.ini and you run them with a GUI. If you would like an example i could show you mine, i use a script parser of sorts for my bot that i am working on.

I'd love to see how you coded your solution. I've been looking at many different options and have yet to find one I really like.

Share this post


Link to post
Share on other sites

I like this code and was wondering if it has been updated or not?

I was thinking of fiddling with it and adding a small GUI to it.

Where you just put in the controlled name and then do a combo box for the server list then put in the controller name and hit start. =)) Just an idea I had looking at this script. Any help would be appreciated and welcomed.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0