I'm working on a new bot called FTQ bot ( fuck TQ.. yes.. lol ). Anyways, I'm looking for people who wanna volunteer to do a little research with tools I provide and who are willing to give input to the project.
I need people who can use the actual bot itself in development to generate packet reports for pretty much every action in the game.
I mean every action, such as:
-Walking
-Running
-Jumping
-All 'action' events
-Attacking
-Mining
etc.. EVERYTHING
When the system is ready, I will send you a simple version of the bot that will simply hijack control of Conquer's packet transmissions and you'll have to select the packet manually that deals with the action you specified. You will alt-tab to the application after performing the action ( preferrably somewhere isolated so nothing interferes ) and a list of the most recent packets sent will be displayed in chronological order. You will select the packet you wish to set as the packet associated with an action and fill out a description form. You will then perform the action multiple times in different settings, basically stress testing it, and you'll set the bot in 'learn' mode. It will then take every packet of this action and analyze for changes. It will also allow you to select certain bytes in groups to display their decimal versions. You'll then fill in what each data field in the packet describes, fill out a description form, and verify that it is in fact correct. Once the packet is 100% analyzed and all data is accounted for, you can save the report as say.. 'jumping.prp' Later, these reports, after being verified by ME will be compressed into small neural actions to be used by the bot itself, and stored in the brain of the bot.
When that is finished, I will begin coding aspects of playing the game and how the bot will interact with the surroundings and analyze then understand what is happening. When the bot's AI is complete and it is aware that it's playing a game and is able to understand what's happening in it's surroundings and act intelligently like a human being ( with appropriate response times and delays as a human would ) and is fully capable of performing any action required using the neural command network, I will design the scripting interface which will let you in-depth script the exact frame parameters and goals that the bot will attempt to obtain.
The bot will be option-driven, meaning many of the options specified in the GUI are variables in the bot's AI itself, which directly influence it's decisions. The scripting system is nothing more than to describe exactly what the bot is going to 'do.' All scripts will be compiled using the supplied compiler into a fsc file which can then be loaded into the bot and selected as the active script.
Every 'action' that the bot needs to perform will be designed as scripts and specified in the scripting base options you will see when using the GUI. For example, if the bot encounters a problem in that it does not have the scroll needed to travel somewhere, it will activate a script designed to travel to this city without the script, avoiding monsters along the way. The script will probably be incorporated into the base information package that cannot be directly edited. The scripting will be done in a psuedo C style.
A problem with the infamous BJX bot was that the scripts could be rather .. unreliable. If you were to put the bot into a hunting mode, you specified a radius and a center point, which doesn't at all conform to spawn areas etc. In short, it's very inefficient. This bot will allow you to see the map in the GUI window, and after loading a script, if any 'plot' arrangements are required, you will be prompted to specify the region of the appropriate map in which the bot will operate. For example, if you were to specify the following code in a script:
Stage sLevelingStage;
int ScriptMain( Gameplay g, OptionInterface o<other arguments not yet considered> )
{
//Set target map and town for associated activities
g.setTargetMap( MAP_CANYON_NEW );
g.setTargetTown( TOWN_APE_CITY );
//Request the stage layout in which the player will act
//Check to see that the stage is not in the bots active memory
//If the bot has never run the script or does not have a memory
//of what stage was used in the last run, the player will be prompted
//to define a stage. At any time you may edit the memory containing
//the memorized stage by simply opening the current script options
sLevelingStage = (Stage)o.queryMemory( STAGE, "canyonstage" );
if( sLevelingStage == null )
sLevelingStage = o.queryMapLayout( g.getTargetMap( ), LAYOUT_ANY );
o.commitMemory( STAGE, "canyonstage", sLevelingStage );
//Perform necessary actions defined by the options set by the user
//to get ready for leveling
g.prepareLeveling( );
//Begin leveling in the specified stage
//this command will be terminated and the value
//returned when the user halts the activity in some manner,
//thus causing the script to finish.
int result = g.beginLeveling( sLevelingStage );
return SCRIPT_SUCCESS;
}
The bot will request a 'stage' by displaying the targetted map and, depending on the specified type, you will be allowed to select a region and bounds in which the bot will operate. LAYOUT_ANY specifies that you can specify an abstract boundary with any number of points. Basically you will draw a polygon by connecting points around the area you wish to level in.
Just leave me some feedback and ideas that you'd like to see added. Don't expect this bot to be done in a few weeks.. it's a serious project and this bot will be able to play ANY aspect of this game, including PvP in GW etc. It will also be able to go into market and look around, read the message boards, and figure up decent prices on items, then post in the messageboard and scope out the market looking for desired items. It's also going to be artificially intelligent, and act with human instincts, therefore will look like someone actually playing the game. Eventually it may even be able to communicate very simply with players. It will be undetectable by TQ for these reasons. Imagine running 15 of these on whatever server. 5 mining. 5 hunting, and 5 looking for deals in the market and capitalizing. Imagine the money you'd make .
The alpha and beta versions of this bot will be free for everyone to use, but the final versions with all bugs fixed and complete action lists and scripting engine will cost money to operate. Not sure if I'm going to go towards a monthly based payment or a downpayment on an activation key. We'll see .