V3ct0r 2,117 Report post Posted January 17, 2022 [Mod] Antibot Adds an anti-bot to the game that worked on the official servers of the game. The mechanism of the antibot is similar to the "captcha". During the game, at certain intervals of time, the player must enter a code that appears on the screen, consisting of 4 characters. The player has only 3 attempts. If the player makes a mistake 3 times in a row and/or does not enter the code, then his is forcibly disconnected from the server. If the answer is correct, the player can receive "rewards" - experience points, restoration of HP and SP, or an item (cake, ticket), and the counter for the number of unsuccessful attempts is reset. Antibot works under the following conditions: 1) The player's character does not have administrator and moderator rights (GM-level is 0); 2) The player's character is not in the safe zone; 3) The player's character is not in the PvP zone; 4) The player's character is on the water. Requirements Installed mod loading system for server and client (PKOdev.NET mod loader). Modification information Name: pkodev.mod.antibot; Version: 1.0; Author: V3ct0r; Type: for server (GameServer.exe); Supported executable .exe files: GAMESERVER_136 and GAMESERVER_138. Installation 1) In the "mods" directory of your GameServer, create a "pkodev.mod.antibot" folder and place into it the mod DLL file "pkodev.mod.antibot.server.13<x>.dll" for your version of GameServer.exe; 2) In the folder "resource" of your GameServer place the folder "Pic" from the attached archive with the mod; 3) In the file "functions.lua" ("GameServer\resource\script\calculate") add the code from the corresponding file from the attached archive with the mod. Interval of antibot activation The mod is configured in such a way that by default the antibot activation interval is calculated in accordance with the original algorithm that was implemented by the game developers (see the DWORD CCharacter::GetCheatInterval(int state) method from the "Character.cpp" file of the server source code). This algorithm can be changed in the function unsigned int __fastcall pkodev::hook::CCharacter__GetCheatInterval(void* This, void* NotUsed, int state) in the source code of the mod ("dllmain.cpp" file). This function should return the time interval in milliseconds. With state = 1, the function should return at least 60 seconds (65 by default), because with the specified value of this parameter, the time allotted for the player to enter a 4-character code is calculated. Download 1) Binary release (.dll); 2) The source code of the mod for Visual Studio 2019 Community (C++). If you encounter any problem, bug or have any questions, then feel free to write in this thread. 2 1 Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites