Jump to content


Popular Content

Showing content with the highest reputation since 04/12/2019 in all areas

  1. 2 points
    Hello everyone! Recently I started a discord server for the whole Tales of Pirates community, including players, developers and server owners. We want it to make easy for players to find servers to play since there aren't many of those nowadays. It's a place where players can meet other players, explore servers, vote for their favorite servers and join events! Today we also launched our ToP Server Ranking system, since many ranking sites on the web are outdated. This way players can see what the populair server choices are at the moment. Furthermore, my team also keeps an eye on the current servers available. We promote servers for free to give them more exposure and give love to the smaller and upcoming servers too! By doing this we hope to grow the ToP community and bring players and servers together. If anyone is interested in joining the community here is the link: https://discord.gg/DQ3Kcwe I hope to see you guys around!
  2. 2 points
    1. Display of effects applied to the character The mod shows the effects been applied to the player’s character and the time of effects until their ending (see screenshot). The duration of an effect may depend on the level of skill that adds the effect on the character or is specified in server scripts, for example, Heaven's Berry, Super Amplifier of Strive, Hi-Amplifier of Luck and so on. Therefore, with the first apply of an effect of a certain level, the mod will detect the time of its total duration (calibrate) and display the time during which it is already in operation. With subsequent applications of the effect, the time that remains until the end of its action will be displayed, and cooldown animation will play on the effect icon. The player can customize the mod using chat commands, or by editing the configuration file: 1) /mod.plug.[enable|disable] - Enable or disable the mod; 2) /mod.plug.setpos([x], [y]) - Set coordinates (X, Y) of the panel with effects on the screen; 3) /mod.plug.setlinesize([number]) - Set the number of icons in the line in the effects panel. For example, with [number]=3, the 4th icon will be located under the 1st, 5th under the 2nd, and so on; 4) /mod.plug.seticon([id], [level], [icon]) - Set an icon for the effect with id [id] and level [level]. The effect icon may depend on its level. If [level] = 0, the icon will be set for all effect levels.; 5) /mod.plug.language.[rus|eng] - Choose the language: Russian or English; 6) /mod.plug.timereset - Reset the recorded effects times (reset calibration); 7) /mod.plug.effects - Print the effects applied to the player’s character in the system chat channel (see screenshot); 8) /mod.plug.settings - Print in the system chat channel the current settings of the mod. 2. Display HP of players, monsters and the number of resources near to them This modification displays the health points of players, monsters and the amount of resources in the form of text nearby to their models on the game scene (see screenshot). The mod can be configured using chat commands, or using a text editor by editing the configuration file: 1) /mod.hp.[enable|disable] - Enable or disable the mod; 2) /mod.hp.show.players.[enable|disable] - Show or hide other players health points; 3) /mod.hp.show.me.[enable|disable] - Show or hide the player's character health points; 4) /mod.hp.show.enemy.[enable|disable] - Highlight friends and enemies with color, as well as resources; 5) /mod.hp.language.[rus|eng] - Choose the language: Russian or English; 6) /mod.hp.settings - Print in the system chat channel the current settings of the mod. 3. Guild icons The mod allows you to set guilds icons that appear next to the guild name under the name of the character. It is possible to implement a selection of icons that are already in the resources of the client, as well as icons that are dynamically loaded from the server. The icon can be set, for example, using the LUA function, or via the website. 4. Automatic use of cakes This mod automatically uses cakes and other recovery items when the character's HP values are below a certain threshold. In the mod settings, you can specify an inventory cell from which to use cakes, or set automatic search for cakes in the character's bag; disable and enable messages in the system chat channel; set the frequency of using cakes. The ID of the cake and other recovery items are also specified in the settings. The mod can be enabled and disabled using the following chat commands: 1) /cake-enable - Enable the mod; 2) /cake-disable - Disable the mod; 3) /cake-settings - Print in the system chat channel the current settings of the mod. 5. Custom button The mod adds a new button to the GUI, when clicked, the player enters the Discord-chat of the server. 6. Function for GameServer.exe, which allows to change the names of Monsters, NPCs, Players for a certain player With this function, you can change the names of monsters, NPCs and players (@other) that are sent during synchronization to a certain player (@role). For example, you can make the player "V3ct0r" (@role) see the Forest Spirit (@other) named "AAAAAAAA", and the player "Test1024" (@role) see the Forest Spirit (@other) named "BBBBBBB". Or it is possible to add character level to the player's characters names and add to monsters names their IDs from CharacterInfo.txt (see the example of the code above). 7. Function for GameServer.exe, which allows to choose the point of birth of player characters When a player’s character dies, the GetChaRespawnPoint () function is called, in which you can select it's birth point depending on various conditions. The function may be useful when creating maps for team battles such as Sacred War and Guild War, since when a player dies, the player is resurrected at the last recorded point outside the map. 8. Bypass antibot (DLL, which automatically recognizes captcha and sends the response to the server) System chat: <Antibot bypass>: The server requests the responce to the captcha! <Antibot bypass>: Recognized captcha: VUZU. <Antibot bypass>: Sending the responce to the server... System chat: <Antibot bypass>: The server requests the responce to the captcha! <Antibot bypass>: Recognized captcha: 394Y. <Antibot bypass>: Sending the responce to the server... When requesting a captcha response, the server sends 4 random BMP images from the GameServer\resource\Pic folder to the client. These images are monochramatic, i.e. have 1 bit color (the palette consists of 2 colors - white and black), their size is 26 by 29 pixels and weight is 178 bytes. From the beginning, I had the idea to copy these images with letters into the client and simply by-byte compare them with the images received from the server, thus defining text symbols. But it turned out that the server before sending the image randomly adds noise to it, i.e. each time the client receives different images and they cannot be compared byte-by-byte. Images that are in the Pic folder of the server: Examples of images that the client receives: Then I decided to use a library for text recognition: we give it a symbol image as input, we get a text symbol at the output. To increase the chance of correct symbol recognition, I wrote a simple function that removes noise: => => "M" It is worth noting that the DLL recognizes captcha with not 100% probability: there can be text recognition errors. If the DLL cannot recognize any symbol from the 4-letter code at all, then a window appears for entering captcha and the process control is delegated to the user (in the screenshot above, the captcha input window is displayed forcibly). Also, the DLL can confuse the characters, for example, the symbol "6" in the image can be recognized as the symbol "C", in this case the wrong code will be sent to the server, and the server can kick the player after 3 wrong attempts to.
  3. 1 point