taultunleashed logoEQ2: Character Remote control Utility v2 : EverQuest 2 Premium Discussions
newtopic  postreply
 [ 5 posts ] 
blue large dot

EQ2: Character Remote control Utility v2 : EverQuest 2 Premium Discussions

Posted: September 10th, 2005, 3:55 am
 
tault_dice
tault_dice's Reps:
User avatar
Latest publish date Sept 9 20051
This is my new version of the EQ2 Character Remote Control Utility

With this version you can on the fly access ANY ability of the other character as well as send tells, do emotes, dance etc anything that you can do with a /command is now possible with EQ2 CRCU.

Did your Slave Character just ding and get a new ability? No problem it's handled

How to use: down load the file and extract anywhere on your slave's harddrive

right click on eq2crcu.vbs and select edit you will have to update a few variables with in the script.

Once you have opened eq2crcu.vbs find the following lines

installPath = "C:\Program Files\Sony\EverQuest II\logs\"
serverName = "Server Name"
characterName = "Slave_Name"
masterName = "Master_Name"
commandPhrase = "command phrase here"
commandDelimiter = "$"
exitScript = "exit script phrase here"

installPath (variable added for Akanon) this is the path to the log directory in your EQ2 installation. Added here to make it easier for those that installed to d: or other locations use the script easier.
serverName is the server that you play on - ie Blackburrow, Guk, Lucan D'Lere etc
characterName is the name of the character to be controled
masterName is the name of the character that will be issuing the commands
commandPhrase is a security meassure to ensure that only you are able to issue orders to the slave
commandDelimiter probably best to leave this one alone is it part of the parsing process that will pull your order from the log file, changed from ! to $ so you can use ! in chat channels with out messing up the script.
exitScript does basicly that so you can kill the script from the inside remotely.

Once the variables are set then save the file and exit it

Now click the start button, run, cscript <path>\eq2crcu.vbs

now launch eq2 and load up your slave character, turn logging on (/log). NOTE: The script willnot run if you have logging turned on you will get an acess violation.

go to your master's box and load up the master

to issue command you can do it in any chat channel though I would recommend one of the private channels like /tell or /group

The order syntax is as follows

/tell slave commandPhrase $<command>

so if I wanted to tell my slave Forgar the healer to use combat healing and I have set the command phrase to be "do what I say"

/tell Forgar do what I say $useability Combat Healing

Forgar will then cast Combat Healing upon is target

If I want Forgar to target me I would

/tell Forgar do what I say $target Dice

EQ2 CRCU will access the macroing from eq2 and advanced eq2 macros like

/tell Forgar do what I say $: useability Combat Healing; em heals his poor poor Master's booboo

Set up HO macros

/useability <name of HO ability will update this later I can't remember>
/tell Forgar do what I say $useability Smite; useability Admonishing Smite
/useability Slam


As stated earlier did your Slave ding? Just create a new macro line that orders the new ability and away you go.

If you have any problems please post below and I will see what I can do to anwser them I will not be accepting PMed help requests at this time but I will do my best to support any problems here.

As always best when run on my computer.

On a side note: does anyone know the /command to activate a stored macro like a pull message?


You do not have the required permissions to view the files attached to this post.


Reply with quote
Posted: September 11th, 2005, 3:51 pm
 
tault_akanon
tault_akanon's Reps:
User avatar
Dice,
Just a few ideas for additional improvements. It would be nice to be able to have the slave delay before executing a certain command, or have it continue using an ability ad infinitum until you issue the stop command.
For delay, I would suggest using a character to signify a 500ms delay. For the loop/stop, I would suggest using a different character as the command - for instance, behavior is the same if you send $useability foo, but if you send !useability %%foo it would loop delaying 1 second, using foo, delaying 1 second, using foo, etc. To stop, you could either just have it toggle if you send the command again (ie: when you resent the above command, it would only parse the ! and stop the loop), or when it receives a different command from the master it would stop looping and execute the command, regardless.

If this is a bit much, and anybody other than myself would find these features helpful, let me know and I can head up adding it in. Or maybe I'm the only one who would find these helpful =P

Also, from your examples, it appears that you can issue multiple commands on a single line. You may want to add an explanation on how to use this, just to avoid confusion.

With your permission, I would like to toy with converting this to an XUnleashed script as well. I want some practice, and since it's already a supported language (VBScript) it shouldn't be too difficult to add in some additional functionality. Perhaps being able to set up, modify, and use triggers for abilities... Hmmmmm... *grin*


Reply with quote
Posted: September 11th, 2005, 11:36 pm
 
tault_dice
tault_dice's Reps:
User avatar
Hey Akanon,
First this is a temp script what I plan on doing when I have some time to test it is use a network location ((a unc like \\mastercomputer\logs or something requiring an open read share to the folder, I had been thinking about a proper TCP/IP socket for the script using a server/client thing like seq had become but I think that is a bit more than is really nessesary)) to read the log file of the master character (assuming the /note command has survived from eq). The only major concern that I have for the script is that it uses the SOE chat channels which I believe are logged. Mind you with the low use of this script I don't see alot of issue with that atm, but if the script gets big then there could be issues.

The delay counter and loop ability would be useful and I think I know how to implement that, though would have to figure out where to keep the parse open while the loop runs. (assuming this is for something like /tell slaveMage $blast like hell or /tell scoutSlave $do this ability alot)

As for multiple commands like
$useability combat heal$useability valor
it will only pick up the last command you issue per line as I only have the string pulling up to the last command delimiter currently (just storing one string atm not an array of strings though that could be pretty easy to change.) How ever you can use the normal eq2 multiple command lines which uses the ; delimiter on the line to seperate commands.

ie. /useability smite
would cast smite

/useability smite;useability combat healing
would cast smite and then queue up combat healing as the next cast. the eq command console with parse the ; and a {ENTER} and then a / for a second line of command.

As for converting this to a Xuleashed script, more than happy to work with you on that I would like to get some experience doing that as well so I can be a bit more useful around the site. But will probably release concurrant Xunleashed/non-Xunleashed versions of the script unless that gets a bit unwieldy. Also the triggers are a bit outside of the origional scope of the script but that would be cool to learn.


Reply with quote
Posted: September 11th, 2005, 11:38 pm
 
tault_dice
tault_dice's Reps:
User avatar
just being a bit paranoid about the attachment getting lost so putting up an archive of the code



(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', 'CODE'))):
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'EQ2 Character Remote Control Utility Version 2 take 2
'Author: tault_dice from http://www.taultunleashed.com
'email: drop me a pm at taultunleashed
'First thing this script need to do is check to see if the eq2 log file
'exsists and if it does to rename it and archive it
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Command Variables please update your character names etc here
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
   installPath = "C:\Program Files\Sony\EverQuest II\logs\"
   serverName = "Server Name"
   characterName = "Slave_Name"
   masterName = "Master_Name"
   commandPhrase = "command phrase here"
   commandDelimiter = "$"
   exitScript = "exit script phrase here"

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'File Const declarations
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
   Const ForReading = 1, ForWriting = 2, ForAppending = 8
   Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Creation of the date entry
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
   dtmThisDay = Day(Date)
   dtmThisMonth = Month(Date)
   dtmThisYear = Year(Date)
   dtmThisHour = Hour(Time)
   dtmThisMinute = Minute(Time)
   dtmThisSecond = Second(Time)

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Creating the timestamp for the log file
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
strBackupName = dtmThisYear & "-" & dtmThisMonth & "-" & dtmThisDay & "-" _
   & dtmThisHour & dtmThisMinute & dtmThisSecond


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Accessing the FileSystemObject and the WshShell
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Dim objFSO, WshShell, logFile, currentLine
Set objFSO = CreateObject("Scripting.FileSystemObject")
set WshShell = WScript.CreateObject("WScript.Shell")

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'checking to see if the log file exists and if it exists it will rename the
'origional log file to log<timestamp>.txt
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

   logFilePath = installPath & serverName & "\eq2log_" & characterName & ".txt"
   logFileRenamePath = installPath & serverName & "\eq2log_" & characterName & "-" & strBackupName & ".txt"

If objFSO.FileExists(logFilePath) Then
    objFSO.MoveFile logFilePath , logFileRenamePath
End If

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Open the new log file as a text stream
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
WScript.echo logFilePath 'Error Check the path name to the logfile

if NOT objFSO.FileExists (logFilePath) THEN
   set logFile = objFSO.CreateTextFile (logFilePath, forWriting)
   logFile.close
End If
   set logFile = objFSO.OpenTextFile (logFilePath, forReading)




'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Here we start to loop the script to read from the logfile and then act on
'the commands issues via tell
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'scriptInAction is the control vairiable for the do util loop while
'scriptInAction is 1 the do loop continues
'either exit do or set scriptInAction to another number to end
'the script's loop
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

dim scriptInAction
scriptInAction = 1
currentLine = "0"

Do While scriptInAction = 1
  If logFile.AtEndOfStream <> True Then
   currentLine = logFile.ReadLine
      If InStr (currentLine, exitScript)
         scriptInAction = 0
      End If
      If InStr (currentLine, masterName) And InStr (currentLine, commandPhrase)
         workingLine = StrReverse (currentLine)
         workingLine2 = Split (workingLine, commandDelimiter, 1, 1)
         workingLine = StrReverse (workingLine2)
         WshShell.SendKeys ("/" & workingLine & "~")
      End If
  End If

  WScript.echo currentLine
  WScript.Sleep 50
  currentLine = "holding"
Loop

WScript.echo "Complete"
logFile.Close


Reply with quote
Posted: September 12th, 2005, 7:09 am
 
tault_dice
tault_dice's Reps:
User avatar
A great thread for learning to use the in game macros

http://eqiiforums.station.sony.com/eq2/ ... e.id=69655

great for use with eq2crcu


Reply with quote
Want Advertisements After The Last Post Removed? Create A Free Account!

blue large dot Who is online
Users browsing this forum: No registered users and 73 guests

Popular Sections
SWTOR Cheats
Guild Wars 2 Cheats
Guild Wars 2 Hacks
Guild Wars 2 Bots
Diablo 3 Cheats
Guild Wars 2 Mods

Popular Sections
WoW Cataclysm Cheats & Exploits
WoW Cataclysm Hacks & Bots
Star Wars The Old Republic Cheats
SWTOR Mods
Torchlight 2 Cheats
SWTOR Space Mission Bots
Site Nav and RSS
RSS Feed of EverQuest 2 Premium Discussions RSS Feed 
Sitemap of EverQuest 2 Premium Discussions Sitemap 
SitemapIndex SitemapIndex
RSS Feed RSS Feed
Channel list Channel list
left bottom corner Site and Contents Copyright 2001-2012 All Rights Reserved TaultUnleashed.com bottom corner
top left
top right
createaccount
Username:   Password:   Remember Me?