01/23/07 09:21:31 AM
***** XUnleashed Trace Log Started: Tuesday, January 23, 2007 09:21:31
01/23/07 09:21:31 AM Registered XUnleashed Controls...
01/23/07 09:21:31 AM Registered XUScriptHelper...
01/23/07 09:21:31 AM XUnleashed Client: Click Play to begin...
01/23/07 09:22:52 AM XUnleashed Client: Updating 3rd Party Plugins and Services...
01/23/07 09:22:52 AM XUnleashed Client: Patching Wyvern's EQ2 Servicer
01/23/07 09:22:52 AM XUnleashed Client: Retrieving the file: update
01/23/07 09:22:52 AM XUnleashed Client: Redirecting to alternate patch server. . .
01/23/07 09:22:53 AM XUnleashed Client: Retrieving the file: EQ2ServiceNews.txt
01/23/07 09:22:53 AM XUnleashed Client: Redirecting to alternate patch server. . .
01/23/07 09:22:53 AM XUnleashed Client: Retrieving the file: Global.map
01/23/07 09:22:53 AM XUnleashed Client: Redirecting to alternate patch server. . .
01/23/07 09:22:53 AM XUnleashed Client: Patching complete. . .
01/23/07 09:22:53 AM XUnleashed Client: Connecting to XUnleashed...
01/23/07 09:22:53 AM XUnleashed Client: Authenticating User...
01/23/07 09:22:54 AM XUnleashed Client: Connected...
01/23/07 09:22:54 AM Using Alternate Hooking. . .
01/23/07 09:22:54 AM XUnleashed Client: Launching. . .
01/23/07 09:23:21 AM Found Target Process: EverQuest2.exe
01/23/07 09:23:22 AM Config Option: Display Logo
01/23/07 09:23:22 AM Config Option: Hook DirectX8
01/23/07 09:23:22 AM Config Option: Hook DirectX9
01/23/07 09:23:22 AM Config Option: Hook DirectInput
01/23/07 09:23:22 AM Initializing COM Objects. . .
01/23/07 09:23:25 AM Direct3D9 Detected
01/23/07 09:23:25 AM Starting Services. . .
01/23/07 09:23:25 AM ------->FOUND A StandardSERVICE: XUnleashed Windows Input Service
01/23/07 09:23:25 AM CXUWinInput::Initialize()
01/23/07 09:23:25 AM Starting the 3rd Party Services...
01/23/07 09:23:25 AM ------->FOUND A 3rd Party Service: Wyvern's EQ2 Servicer
01/23/07 09:23:26 AM Starting Plugins. . .
01/23/07 09:23:26 AM ------->FOUND A STANDARD Plugin: XUnleashed V4 EXhume Scripts
01/23/07 09:23:26 AM Loading Window Schema. . .
01/23/07 09:23:26 AM ------->FOUND A STANDARD Plugin: XUnleashed V2 Triggers
01/23/07 09:23:26 AM Loading Window Schema. . .
01/23/07 09:23:26 AM ------->FOUND A STANDARD Plugin: XUnleashed V2 Macros
01/23/07 09:23:26 AM Loading Window Schema. . .
01/23/07 09:23:26 AM ------->FOUND A STANDARD Plugin: XUnleashed V2 Scripts
01/23/07 09:23:26 AM Loading Window Schema. . .
01/23/07 09:23:26 AM FOUND: Direct3DCreate9
01/23/07 09:23:26 AM Attempting to lock onto Client. . .
01/23/07 09:23:26 AM WARNING: Requested DirectX9 Screen Format (15) may not be compatable with XUnleashed.
01/23/07 09:23:26 AM Contact XU to have them add this format!!!
01/23/07 09:23:26 AM FOUND: Direct3D9::CreateDevice()
01/23/07 09:23:26 AM DETECTED: Direct3DDevice9 Reset
01/23/07 09:23:26 AM WARNING: Requested DirectX9 Screen Format may be incompatable with XUnleashed.
01/23/07 09:23:26 AM FOUND: Direct3DDevice9::Present
01/23/07 09:23:26 AM Initializing DX9 BackBuffers...
01/23/07 09:23:33 AM DETECTED: Direct3DDevice9 Reset
01/23/07 09:23:33 AM WARNING: Requested DirectX9 Screen Format may be incompatable with XUnleashed.
01/23/07 09:23:33 AM FOUND: Direct3DDevice9::Present
01/23/07 09:23:33 AM Initializing DX9 BackBuffers...
01/23/07 09:24:16 AM XUScriptHelper->Creating Script Engine (JScript). . .
01/23/07 09:24:16 AM XUScriptHelper->AddScriptItem: XUScriptHost
01/23/07 09:24:16 AM XUScriptHelper->AddScriptItem: Win32API
01/23/07 09:24:16 AM XUScriptHelper->AddScriptItem: VirtualKey
01/23/07 09:24:16 AM XUScriptHelper->AddScriptItem: Memory
01/23/07 09:24:16 AM XUScriptHelper->AddScriptItem: SystemInfo
01/23/07 09:24:16 AM XUScriptHelper->AddScriptItem: MemoryBasicInformation
01/23/07 09:24:16 AM XUScriptHelper->AddScriptItem: XUScriptPlugin
01/23/07 09:24:16 AM XUScriptHelper->Executing Script: /*
Application Version: EQ2Harvesterv01.00
Application Date: 10/24/2005 12:52
Author: Watcher
Creation Date: 6/10/2005
Short Description:
Long Description:
*/
try {
// You will need to change this to your directory to do OUT OF GAME testing.
if (typeof(XUScriptHost) == 'undefined') {
var XUScriptsDir = 'C:\\Games\\XUnleashed\\scripts\\';
// Needed to start loading.
} else {
var XUScriptsDir = XUScriptHost.GetXUnleashedDirectory()+'\\scripts\\';
}
ApplicationName = 'EQ2Harvester'; // Change to your app name
var SubDir = ApplicationName+'\\';
// This is my working/testing dir, comment this and it
// looks in scripts instead, change it for a different
// working dir, ie. EQ2Harvester
var WorkingDir = XUScriptsDir+SubDir;
eval(getFileData(WorkingDir + 'XULib.js'));
// eval(getFileData(WorkingDir + 'NoXULib.js'));
eval(getFileData(WorkingDir + 'Globals.js'));
eval(getFileData(WorkingDir + 'MyLib.js'));
eval(getFileData(WorkingDir + 'utils.js'));
eval(getFileData(WorkingDir + 'IniClass.js'));
eval(getFileData(WorkingDir + 'DisplayClass.js'));
eval(getFileData(WorkingDir + 'LoggerClass.js'));
eval(getFileData(WorkingDir + 'DebugClass.js'));
eval(getFileData(WorkingDir + 'TimerClass.js'));
eval(getFileData(WorkingDir + 'KeyHookClass.js'));
eval(getFileData(WorkingDir + 'ParseLogClass.js'));
eval(getFileData(WorkingDir + 'NavigateClass.js'));
eval(getFileData(WorkingDir + 'MobClass.js'));
eval(getFileData(WorkingDir + 'BuffClass.js'));
eval(getFileData(WorkingDir + 'WaypointClass.js'));
eval(getFileData(WorkingDir + 'HarvestClass.js'));
// At this point you should be able to use any function or class in any
// of the above files
// First let's do the basic setup.
print('All code files evaled');
// ************************************************
// ************* Setup Begins Here **************
// ************************************************
try {
oSvcObj = XUScriptPlugin.GetService("EQ2Service.Service");
} catch (e) {
throw("Unable to instantiate EQ2 service object"+e.description);
}
oSvcObj.updateData();
ZoneName = oSvcObj.ZoneName;
// let's trim instance numbers off first if needed.
if (ZoneName.charAt(ZoneName.length - 1).match(/[0-9]+/)) {
ZoneName = ZoneName.substring(0, ZoneName.trim().lastIndexOf(' '));
} else {
ZoneName = ZoneName.trim();
}
PlayerName = oSvcObj.PlayerName;
// Ini first so others can read from it
// log second so others can log
// Display third, needed for debug
// Debug fourth so others can use it.
oIni = new IniClass(WorkingDir+ApplicationName + '.ini');
oLog = new LoggerClass(WorkingDir+ApplicationName + '.log', oIni);
oDisplay = new DisplayClass(oIni);
oDebug = new DebugClass(oLog, oDisplay, oIni);
oDebug.print('Full Debugging available.',

;
// Many classes below here will report if oDebug exists under that name
// although you can use any name you would like and it will still work.
if (oIni.setSection('Sillyness') && oIni.getKey('Imsilly').toBool()) {
throw("You MUST read the Ini file and configure this bot,\n"+
"do NOT post to the boards about how it doesn't work\n"+
"you will just look Silly, TRUST ME. Read the ini file\n"+
"and configure the bot to your liking!");
}
oDebug.log('Base classes initialized and ready.',

;
if (!oIni.setSection('Language') && (LogLang = oIni.getKey('LogLanguage'))) {
throw('Language section in INI required.');
} else if (!oIni.setSection(LogLang)) {
throw('LogLanguage key does not describe a valid section.');
} // We are set to our Log string section.
oKH = new KeyHookClass();
oTimers = new TimerClass();
oBuffs = new BuffClass(oSvcObj, oIni, PlayerName);
oMe = new NavigateClass(oSvcObj, oDebug, oKH, oIni);
oMe.setEveryLoop(navEveryLoop);
oWP = new WaypointClass(oMe, oIni);
oMob = new MobClass(oSvcObj, oDebug, oMe, oIni);
oMob.addFunction(customFunction);
oDebug.separator(2);
oKH.addRealSleep(RealSleep);
oKH.addRunOnce(RunOncePerSleep);
oIni.setSection('KeyConfig');
oDebug.separator(2);
if (oIni.getKey('Pause', '')) {
oKH.addKey(oIni.getKey('Pause'), startChat);
}
if (oIni.getKey('CommandChat', '')) {
oKH.addKey(oIni.getKey('CommandChat'), startChat);
}
if (oIni.getKey('Reply', '')) {
oKH.addKey(oIni.getKey('Reply'), startChat);
}
if (oIni.getKey('ToggleChat')) {
oKH.addKey(oIni.getKey('ToggleChat'), toggleChat);
}
if (oIni.getKey('Unpause', '')) {
oKH.addKey(oIni.getKey('Unpause'), endChat);
}
ChatHeader = oIni.getKey('PausedLine',

;
ChattingMsg = "Paused while chatting, press '"+
oIni.getKey('ToggleChat').trim(new Array('{','}'))+"' or '"+
oIni.getKey('Unpause').trim(new Array('{','}'))+"' to UNPause.";
oKH.addKey(oIni.getKey('ShutDown', '{del}'), shutdownPressed);
oDisplay.header("EQ2Harvester ("+LogLang+"): '"+
oIni.getKey('ShutDown', '{del}').trim(new Array('{','}'))+"' to quit.", 1);
oDisplay.header("Pause with: '"+
(tmp = oIni.getKey('Pause', '').trim(new Array('{','}')))+
(tmp == ''?"'":"' or '")+
(tmp = oIni.getKey('CommandChat', '').trim(new Array('{','}')))+
(tmp == ''?"'":"' or '")+
(tmp = oIni.getKey('Reply', '').trim(new Array('{','}')))+
"' UnPause bot with: '"+
(tmp = oIni.getKey('Unpause', '').trim(new Array('{','}')))+
"' Toggle Chat with: '"+
(tmp = oIni.getKey('ToggleChat', '').trim(new Array('{','}')))+"'",
2);
// oKH.addKey('{end}', endPressed);
// oKH.addKey('{home}', homePressed);
// oKH.addKey('{pgup}', pgupPressed);
// oKH.addKey('{pgdn}', pgdnPressed);
// oKH.addKey('{numlock}', numlockPressed);
oDebug.separator('All Keys installed.', 3);
oIni.setSection('Main');
var PreciseMovement = oIni.getKey('PreciseMovement', false).toBool();
var GameLogFile = EQ2FindLog(oIni.getKey('eqiidir'), oIni.getKey('server'));
if (GameLogFile == '') {
oDebug.status('Game log file not found!');
// there is no exit script so
throw('Game log file required, aborting.');
}
oGameLog = new ParseLogClass(GameLogFile);
oDebug.separator(2);
oHarvest = new HarvestClass(oIni, oDebug, oWP, oMob, oGameLog, oKH);
SoundDB = new Array();
if (oIni.setSection('Sounds')) {
SoundDB['Tell'] = CheckFile(oIni.getKey('Tell'));
SoundDB['Stuck'] = CheckFile(oIni.getKey('Stuck'));
SoundDB['InvFull'] = CheckFile(oIni.getKey('InvFull'));
SoundDB['Uncommon'] = CheckFile(oIni.getKey('Uncommon'));
SoundDB['Rare'] = CheckFile(oIni.getKey('Rare'));
} else {
SoundDB['Tell'] = '';
SoundDB['Stuck'] = '';
SoundDB['InvFull'] = '';
SoundDB['Uncommon'] = '';
SoundDB['Rare'] = '';
}
oDebug.startSection('Main Config', 3);
oDebug.log('Tell Sound\t= '+SoundDB['Tell'], 3);
oDebug.log('Stuck Sound\t= '+SoundDB['Stuck'], 3);
oDebug.log('InvFull Sound\t= '+SoundDB['InvFull'], 3);
oDebug.log('Uncommon Sound\t= '+SoundDB['Uncommon'], 3);
oDebug.log('Rare Sound\t= '+SoundDB['Rare'], 3);
oGameLog.addRE('(\\w+):\\1\\\\/a '+oIni.getKey('TellsYou', 'tells you', LogLang)+