Сообщений всего: 153
Дата рег-ции: Дек. 2017
|The new version of the program Kibor received additional functions of the analysis of the screen, allowing to write reliable bots for 3D games.
Using these functions, a bot was written for RF Online. To see the video of this bot: Watch. You can also download the bot script: Download. It has a small size and detailed comments.
Description of the new functions:
finddynamic - Analyzes the screen or window with the game and returns the array of coordinates of animated models of mobs, etc. Accepted parameters make it very easy to describe the approximate size and shape of the expected objects. Great for finding 3d models in the game and filtering them from uninteresting garbage such as landscape, grass, loot, etc. Returns the screen coordinates of the unknown objects in the array.
This screenshot shows how this function sees animated mobs in the game:
finddynamic takes 12 parameters.
finddynamic (21, #x , #y , widget_field_window_world_world_window_world, object_store_quire_query_x, object_store_quantity_Y, Start_search_X, Start_search_Y, Finish_search_X, Finish_search_Y, pointer_to_screen);
1.) If -1 - search for all objects as there are, if more than 0 - search for the specified number and complete the search. Pro 0 read on ..
2.) 3.) Pointers to one-dimensional int arrays, in which the coordinates of the centers of the desired places are written.
4.) 5.) Half the size of the desired places in the objects. All pixels must be defined as dynamically changing. See Fig. 2
6.) 7.) Half sizes of volumes in X Y, in which an additional search will not be performed when finding the desired place. See Fig. 2
8.) 9.) The top left corner of the search start in the client coordinates of the window.
10.) 11.) The bottom right corner of the finish line in the client coordinates of the window.
12.) A pointer to the window.
To identify an object, all the pixels entering the intersection of the width and height of the desired object must be dynamic without omissions. On the screen they have a red highlight.
The center of the crosshair is the coordinates of the object. It is also the center of the volume, in which no object will be searched any more. That is, even if there is not one such a crosshair, this object will have only one coordinate.
For visual selection of the sizes it is necessary to establish in the game the desired position of the character and the camera, to put the mouse on the window with the game, to press CTRL + SHIFT + S and use the built-in graphic editor.
The function returns the number of objects found. In the case of a -1 error, the X-array is less than the number of objects found, -2 is the Y-array less than the number of objects found.
An example of the code that applies this function: application finddynamic
Use for 2 passes. First call with the first parameter 0:
finddynamic (0, #x , #y , 0, 0, 0, 0, Start_Search_X, Start_Search_Y, Finish_Search_X, Finish_Search_Y, Index_On_Only); // Save the screen image
sleep (pause); // pause to update the animated image in the game.
finddynamic (21, #x , #y , the width of the required location, the height of the required place, the volume of the object-object_X, the volume of the object-object_Y, the start_of_x, the start_of_the_y, the finish_of_x, the finish_of_the_y, the pointer_to the window); // compare with the saved image and look for the changed objects by writing their coordinates.
The Visual Code Editor is Kibor. Creating bots without knowledge of programming.
Learning function for recognizing text.