.:: Bots United ::.

.:: Bots United ::. (http://forums.bots-united.com/index.php)
-   General Bot Coding (http://forums.bots-united.com/forumdisplay.php?f=24)
-   -   Bot structure (http://forums.bots-united.com/showthread.php?t=6955)

Radic 07-10-2008 22:29

Bot structure
 
Hallo everyone, I wanted to ask what kind of information you need and how to aproach making a bot for an rpg game 3d. Yes I have searched ( read all pages) in this section and found nothing what would help me answer my question and please be technical, casual phrases dont help at all.

So some information about what acess or info about the game I have (don't) for which I want to make a bot...

Game is not open source, does not allow 3rd party programs or bots in this case and i'm sure there are no SDKs to help you get to know how it was written.

Now the question: what do I need in order to make a player do things like select this or select that, if i get this to work i will work out everything else myself.

It's an online rpg so ,I believe, a good share of actions have something to do with packets, for now all i want is some base to work from, for example monitor health, find and select monster, then get close, atack, know when it dies, find next one and continue.

So what is the aproach to make it do this? About monitoring health i believe you can ReadProcessMemory then check the value and act according to that, how to select monster? no idea hot to get close? probably via simulating built-in controls no (also if its via mouse how to make it NOT to use actual mouse cursor)? atack, the same as before, know when it dies? find it's health in memory and rpm ,check and act according to that? then find next erm... no idea, i want it to like scan the certain distance around where char is so probably you need player coords but i really dont know how you would scan for monster location because i guess you need coords of it to later subtract and see if you got to it.

A bit about me... I know good deal of ASM, Debugging, some c++ (enough to get things done in this case i would think) everything else is irrelevant so i won't bloat this too much, I want to try and develop a bot , which would interact with other players and see how well it does I'm also very interested in A.I coding. ( I understand interactive bot is not something that is done in one day or week)

Whistler 08-10-2008 07:25

Re: Bot structure
 
well... the "bot" we are talking about here means AI opponents for video games, not cheating programs for online games.

Radic 08-10-2008 15:32

Re: Bot structure
 
you could ofcourse interpret my motivation to learn how it's done as some lame online game cheating, thing is i don't play online games myself, infact i dont play at all, with a few exceptions when I'm tired and have nothing else to do which happens rarely. I choose online games because real people are neccessary for what i want to do, but ofcourse everyone has their own opinion about everything and I'm not going to convince or prove anything, if you dont want to help then don't.

Count Floyd 09-10-2008 12:47

Re: Bot structure
 
Your main problem is giving the Server the illusion that there's a human on the other side. If the game you want to support doesn't allow client-side modifications then you probably need to do lots of hacking.
Usually client-bots work by interpreting and modifying the network pakets send forth and back between client & server. I guess this would be what you would have to do too. Messing with this, I'm afraid leads directly into issues considered with cheating/anti-cheating. If you're doing this out of interest for client-side things then I'd choose a game where this is already possible through 3rd-party addons. For example there's a "Gamebot" interface for UT 2004 and I believe there has been something like that for Neverwinter Nights too. I doubt that many people here can help you because these forums are very Valve Engine-centric :glare:


All times are GMT +2. The time now is 11:47.

Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.