Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #1  
Old 12-31-2007, 03:41 AM
fathernitwit
Developer
 
Join Date: Jul 2004
Posts: 773
Default

Your proposed solution of using tells actually sounds like a great idea. I have pondered bot writing many times in the past, but have never really come up with a good solution to address the command interface. I was always limiting my scope to the current quest functionality though. Tells is brilliant.

To implement a bot with tells, A few simple things would be needed. First, each NPC healer would obviously need a unique name, so youd prolly need a quest to spawn them or something. Second would be to enhance the tell system to search for NPCs in the zone with the specified name if the tell comes back from world as "person not found" (always give priority to characters). Third would be to add a new event to perl, EVENT_TELL, to pass the receipt of a tell on to the quest.

From there, you can implement anything you want from perl, as you have access to almost the entire object model.

Quote:
Originally Posted by mcox05 View Post
the main thing is that I want this program to be a third party piece of software ... preferably in C#. Is this process monitoring possible ... can anyone lend me a hand?
As stated above, really the only way to pull it off is server side (sanctioned by the server operation), and using perl. You could easily distribute your perl script if that is your motivation for "3td party". What you cannot really do is create this purely as a player, on the client machine... that is cheating to most operators, and it is exactly what MacroQuest does as previously mentioned.
Reply With Quote
  #2  
Old 12-31-2007, 04:43 AM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

I started a Perl-Bot some time ago. Played with it and it worked pretty well considering the resources. If you made an EVENT_TELL , this would make a great difference - no EVENT_TELL was a big reason why that idea is idle for me ATM.
The Bot I made does work, and will buff and heal a melee type. Great for playing solo on your home server.
Reply With Quote
  #3  
Old 12-31-2007, 05:23 AM
narcberry
Sarnak
 
Join Date: Mar 2005
Location: Idaho, USA
Posts: 94
Default

What about EQOffline? Isn't it up and running right now?
Reply With Quote
  #4  
Old 12-31-2007, 02:57 PM
mcox05
Fire Beetle
 
Join Date: Dec 2006
Posts: 21
Default

haha Thanks fathernitwit. Appreciate the praise but my goal is to achieve controllable remote Box (PC) players. Which would be really fun because then I can play on ANYONE's server with my bots.

just log on two different characters and use tells to pass commands across.
This can be all done client-side through third-party software ONLY by using packet sniffing ... there is no other way to get the tells out of the EQ client besides altering the original source code for the server.

Unfortunately I am no pro net-worker and know relatively nothing about packet decoding to grab the Tells out of the EQ client. Once I can finally understand the EQ packets then I can write a piece of software to intercept them and translate them.

Thus, you now have a client-side command interface the rest is just simply a matter of writing a bot program to execute the commands and the remote PC where the character is logged-in.

Until I figure this out or until I can find someone interesting in teaming up that has the knowledge about packet decryption that I lack ... it is just a idea.
Reply With Quote
  #5  
Old 12-31-2007, 03:01 PM
mcox05
Fire Beetle
 
Join Date: Dec 2006
Posts: 21
Default Side Bar

Also the reason I want to make it the bots actually characters that are logged into everquest (remote pc players) is because then issues of how the bot's level, stats, armor, spells, etc... are not an issue ... they are IN FACT player characters so you have to upgarde their gear, spells, etc..

Once I do have this idea up and running then I can expand on a more complex command interface to support all sorts of actions from looting, equiping items, to ... whatever is allowable.
Reply With Quote
  #6  
Old 01-01-2008, 05:53 AM
Theeper
Discordant
 
Join Date: May 2004
Posts: 290
Default

Like Dralanna said, it sounds like you're trying to recreate MacroQuest. I don't think sorting through packets would be an efficient way to handle tells between clients if it was totally client-side though. Accessing the game client memory directly would prolly be the way to go.
Reply With Quote
  #7  
Old 01-01-2008, 09:22 AM
mcox05
Fire Beetle
 
Join Date: Dec 2006
Posts: 21
Default

Ive never done anything with low-level memory when it comes to accessing it from another process. how would i find it .. and how could I figure out which memory contains the chat that Im looking for?
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 12:34 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3