Jump to content

Search the Community

Showing results for tags 'mod'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Russian Section
    • Новости и объявления
    • Пиратия: Документация
    • Пиратия: Релизы
    • Пиратия: Разработка
    • Пиратия: Web
    • Пиратия: Помощь
    • Совместные проекты / набор команды
    • Доска объявлений
    • Программирование
    • Оффтопик
    • Корзина
  • English Section
    • News & Announcements
    • Guides
    • Releases
    • Development
    • Web
    • Questions & Help
    • Shared Projects / Team search
    • Paid services & Requests
    • Programming
    • Offtopic
    • Recycle bin
  • Portuguese Section
    • Dúvidas & Ajuda
  • Spanish Section
    • Preguntas y Ayuda
  • Servers
    • Russian servers
    • English servers

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Found 41 results

  1. [Mod] Panel of defeated characters The mod adds a panel of defeated characters to the game, similar to FPS games like Counter-Strike, Call of Duty, Battlefield and others. Some features of the mod: 1) The panel is a list of records of the form: [Name of the winning character] [Icon of the skill or weapon] [Name of the defeated character] (see screenshot above); 2) The names of the winning and defeated characters are highlighted in color depending on the degree of friendliness towards the player's character: green - ally, red - enemy; 3) The panel can be customized. The customization process will be shown below. Requirements Installed mod loading system for server and client (PKOdev.NET mod loader). Modification information Name: pkodev.mod.defeated; Version: 1.0; Author: V3ct0r; Type: for client (Game.exe) and server (GameServer.exe); Supported executable .exe files: GAME_13X_0, GAME_13X_1, GAME_13X_2, GAME_13X_3, GAME_13X_4, GAME_13X_5, GAMESERVER_136 and GAMESERVER_138. Installation 1. Server 1.1 Place the DLL file of the mod "pkodev.mod.defeated.server.<VERSION>.dll" for your version of GameServer.exe and the settings file "pkodev.mod.defeated.json" (v1.0.0-server) into the folder "GameServer\mods\pkodev.mod.defeated"; 1.2 Open the mod settings file "GameServer\mods\pkodev.mod.defeated\pkodev.mod.defeated.json" in any text editor and write the list of maps (dungeons) on which the mod will work in the following format: { "maps" : [ "garner", "magicsea", "darkblue" ] } 2. Client 2.1 Place the DLL file of the mod "pkodev.mod.defeated.client.13x_<ID>.dll" for your version of Game.exe and the configuration file "pkodev.mod.defeated.json" (v1.0.0-client) into the folder "Client\mods\pkodev.mod.defeated"; 2.2 Open the mod settings file "Client\mods\pkodev.mod.defeated\pkodev.mod.defeated.json" in any text editor and write the required parameters into it: { "debug":false, "hideTime":5000, "maxItems":5, "itemStep":24, "pos":{ "x":460, "y":8 }, "align": { "x":"right", "y":"top" } } debug - debug mode. true - enabled, false - disabled; hideTime - time in milliseconds after which the next record on the panel will be hidden; maxItem - maximum number of records on the panel; itemStep - vertical step between records in pixels; pos - coordinates (X, Y) of the panel; align - the parameter sets the relativity of the coordinates (X, Y) of the panel. For X: left - the coordinate will be measured relative to the left edge of the client window, right - relative to the right edge. For Y: top - the coordinate will be measured relative to the top edge of the client window, bottom - relative to the bottom edge. To adjust the position of the panel, it is convenient to turn on the debug mode ("debug":true). In this case, at the specified coordinates (X, Y), the panel will appear in a frame that displays the maximum dimensions of the panel: Download 1) Actual mod binaries (.dll) and the settings file (.json) for server side; 2) Actual mod binaries (.dll) and the settings file (.json) for client side; 3) The source code of the mod for Visual Studio 2022 Community (C++). If you encounter any problem, bug or have any questions, then feel free to write in this thread.
  2. [Mod] Displaying a list of items dropped from monsters (resources) The mod adds a form to the game with a list of items that drop from the selected monster with a certain chance (see screenshot above). The monster is selected as follows: Right mouse button click on the monster -> "List of items" context menu item. Additionally, the mod allows you to display a list of items when you move the mouse cursor over a monster, or when you hold down the SHIFT key on the keyboard (this behavior can be disabled in the game settings) : Some features of the mod: 1) Each item is displayed in the form of an icon, a name of the item and a drop chance in percent ; 2) The list is sorted in descending order of the drop chance percentage; 3) Items are highlighted in color depending on the drop chance: green - high drop chance, red - low drop chance. Requirements Installed mod loading system for server and client (PKOdev.NET mod loader). Modification information Name: pkodev.mod.mobdrop; Version: 1.1; Author: @V3ct0r. Special thanks to @Graf for providing GUI scripts and textures for the "List of items" form; Type: for client (Game.exe); Supported executable .exe files: GAME_13X_0, GAME_13X_1, GAME_13X_2, GAME_13X_3, GAME_13X_4, GAME_13X_5. Installation 1) Place the mod DLL file "pkodev.mod.mobdrop.13x_<ID>.dll" for your version of Game.exe and settings file "pkodev.mod.mobdrop.cfg" into "mods\pkodev.mod.mobdrop" directory of the game client; 2) In the settings file "pkodev.mod.mobdrop.cfg" write the server drop rates: 1.0 3) Add GUI scripts from the "Add to system.clu.txt" file to the "Client\scripts\lua\forms\system.clu" file; 4) Add GUI scripts from the "Add to player.clu.txt" file to the "Client\scripts\lua\forms\player.clu" file; 5) By default, displaying a list of items next to monsters when hovering over them with the mouse cursor is disabled. If necessary, enable this behavior in the game settings: Change log Download 1) Actual mod binaries (.dll) and the settings file (.cfg); 2) The source code of the mod for Visual Studio 2022 Community (C++). If you encounter any problem, bug or have any questions, then feel free to write in this thread.
  3. [Mod] GMNotice() function The mod adds the GMNotice() function to the GameServer.exe LUA scripts, which allows you to send messages to players in the GM chat channel (ALT + P): GMNotice("Hello PKOdev.NET! This is a GM message.") Requirements Installed mod loading system for server and client (PKOdev.NET mod loader) version 1.1 or above. Modification information Name: pkodev.mod.gmnotice; Version: 1.0; Author: V3ct0r; Type: for server (GameServer.exe and GroupServer.exe); Supported executable .exe files: GAMESERVER_136, GAMESERVER_138 and GROUPSERVER_138. Installation 1) Place the mod DLL file "pkodev.mod.gmnotice.server.<VERSION>.dll" for your version of GameServer.exe into the folder "GameServer\mods"; 2) Place the mod DLL file "pkodev.mod.gmnotice.group.<VERSION>.dll" for your version of GroupServer.exe into the folder "GroupServer\mods". Download 1) Actual mod binaries (.dll); 2) The source code of the mod for Visual Studio 2022 Community (C++). If you encounter any problem, bug or have any questions, then feel free to write in this thread.
  4. [Mod] Increasing the characteristics of a character by holding the left mouse button This modification for the game client adds the feature to automatically upgrade the characteristics of a player's character by holding the left mouse button on the "+" button next to corresponding characteristic on the "Character" form. The modification based on @Graf's topic: Information about the modification Name: pkodev.mod.statsclicker; Version: 1.0; Author: V3ct0r; Type: for the game client (Game.exe); Supported executable .exe files: GAME_13X_0, GAME_13X_1, GAME_13X_2, GAME_13X_3, GAME_13X_4 and GAME_13X_5. Installing the modification 1. Install mod loading system pkodev.mod.loader if it hasn't already been installed; 2. Place the mod DLL file pkodev.mod.statsclicker.client.13x_{ID}.dll for your version of Game.exe in the mods folder of the game client; 3. Modification installed! Download 1) Modification binary files for the client (.dll); 2) Repository on GitHub with the source code of the modification for Visual Studio 2022 Community (C++). If you encounter any problem, bug or have any questions, then feel free to write in this thread.
  5. [Mod] GateServer extension for "offline" stall server (StallServer) This modification of GateServer is designed to determine the IP addresses of clients that are behind the "offline" stall server (StallServer). Since StallServer is essentially a proxy server through which the client (Game) connects to the game server (GateServer), the GateServer will not "see" the real IP address of the client, and in logs and database all players will have the same StallServer IP address (for example, 127.0.0.1 if both GateServer and StallServer are running on the same machine). To solve this problem, StallServer writes the client's IP address to the login packet, which requires GateServer to be modified to read the IP address from the packet and bind it to the client. Requirements Installed mod loading system for server and client (PKOdev.NET mod loader). Modification information Name: pkodev.mod.stallip; Version: 1.0; Author: V3ct0r; Type: for client (Game.exe); Supported executable .exe files: GATESERVER_138. Installation Place the mod DLL "pkodev.mod.stallip.gate.138.dll" into the "mods" folder in root GateServer directory. 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.
  6. Offline stalls system One of the gaming aspects of the game is trading between characters through special stalls, which players can open by learning a special skill. The player sell his items for a certain price, and other players can buy them. However, for such trading, the player have to be in the game, that is, be connected to the server, which makes him to leave his computer constantly turned on and keep the game client minimized. This is very inconvenient, so the system of "offline" stalls was invented, which allows players to disconnect from the server and still remain trading in the stalls. There are several ways to implement such a system, but the most common system is "offline" stalls through a proxy server: 1) The game client (Game.exe) connects to the proxy server; 2) The proxy server, in turn, opens a connection to the GateServer.exe; 3) Further, the proxy server transfers all packets between Game.exe and GateServer.exe, while analyzing them; 4) When a player opens a trade stall, the proxy server captures this (GateServer.exe sent Game.exe a successful stall opening packet); 5) If a player disconnects from the server while in a trading stall, then the proxy server closes the connection to Game.exe, but at the same time keeps the connection to GateServer.exe and starts imitating Game.exe. Thus, GateServer.exe is unaware of the fact that Game.exe is disconnected and the player's character remains to trade in the stall on the server. Game.exe | Game.exe | <---------> pkodev.stallserver.exe <---------> GateServer.exe Game.exe | This topic discusses the development of such a proxy server - PKOdev.NET Stall Server. Warning! The application is currently under development. The application has not been fully tested and is not stable. This means that errors, bugs and critical vulnerabilities may be present. Use it for testing purposes only! Features 1) Offline stalls system; 2) Limiting the number of offline stalls from one IP address; 3) Limiting the trading time in an offline stall; 4) Automatic disconnection of the account from the server when a player tries to enter his account while trading in an offline stall; 5) Notification of players in the chat that a player trades in an offline stall (in PM); 6) Prevention of SQL-injections in login and PIN create (change) packets from game client; 7) Setting for the maximum number of connections from the same IP address and the interval between connections. to-do 1) Translate comments in files Server.h and Server.cpp to English language; 2) Fix application crash when processing packets; 3) Fix application crash on startup when local port is closed; 4) Fix bridge hanging when blocking packets on enabled encryption in GateServer.cfg (thanks to @small666 for finding the bug); 5) Make thread synchronization when processing packets; 6) Close the offline stall if it is empty; 7) Modification of GateServer.exe to determine the IP addresses of clients that are behind the server of offline stalls. At this point in the logs and database, the IP addresses of all clients will be written as 127.0.0.1 (if both GateServer.exe and pkodev.stallserver.exe are running on the same machine). 8 ) Compatibility with Corsairs Online (CO) source code. Building and running 1) Clone the repository with the project to your disk (the link will be below); 2) Open the solution file pkodev.stallserver.sln in Visual Studio 2022 Community (or higher version); 3) Build the solution. The server executables will appear in the bin folder; 4) Place the configuration file pkodev.stallserver.cfg from the cfg folder in the same directory as the server executable file pkodev.stallserver.exe; 5) Customize the configuration file pkodev.stallserver.cfg (the file is well commented); 6) To connect the game client (Game.exe) to the offline stall server, you need to install the pkodev.mod.stallserver mod; 7) To connect the offline stall server to GateServer.exe, the GateServer should be without any modifications, for example, from the PKO 1.38 server files. 8 ) Run offline stall server executable pkodev.stallserver.exe. Git repository https://github.com/V3ct0r1024/pkodev.stallserver
  7. [News] Mod source codes have been moved to GitHub The source codes of all mods I authored from the section "Mods for client and server (PKOdev.NET mod loader)" can now be found in their corresponding repositories on GitHub. There you can also download the latest binary releases of mods in the form of .dll libraries, as well as all the necessary resources for their work: .cfg settings files, scripts, textures and other ones. Previously, mods were stored in Google Drive cloud storage, which is not very convenient for this kind of projects.
  8. Ideas for mods This topic discusses ideas for creating new mods, as well as for improving existing ones.
  9. Bugs This topic publishes and discusses bugs that were found in certain mods based on the results of their testing and usage. 1. Change the size of the monsters - After an indefinite time, the enlarged character model returns to normal size (@Fomin). 2. Displaying the cooldown of skills - When teleporting or re-entering the game, the display of the cooldown time of skills disappears (@Fomin). 3. Displaying coordinates under the NPC - Sometimes instead of the name of the player's character, the name of a random NPC is displayed (@dragontechi). 4. 60 frames per second (60 FPS) - After installing the mod, the frame rate does not change (@dragontechi, @squaller). 5. Disabling password verification when entering into the in-game shop (IGS) - The store does not display the number of crystals on the account (@Tera). 6. Editing the limits of .txt tables - GameServer.exe has undefined behavior when changing the skillinfo.txt limit. For example, only Sleepy snails spawn at the entrance to Argent (@Greaux). 7. Displaying the level of items on their icons ("smart icons") - Client closes with mod version for Game.exe GAME_13X_1 (@small666). Updated 03/03/2022 I thank everyone for the feedback and ask you to tell about all the bugs found in this thread, or directly in topics with mods. When publishing a bug report, please write the following information: 1) The name of the mod; 2) Description of the bug; 3) Version ID of your .exe file (GAME_13X_0 ... GAME_13X_5, GAMESERVER_136, GAMESERVER_138); 4) Are there any other modifications and patches in the .exe file? 5) What other mods for PKOdev.NET mod loader are installed?
  10. [Mod] Highlight friends and enemies with color This modification highlights friendly and hostile players on the screen: the names of the characters change color, and colored circles are displayed under the characters (see screenshot above). If there are enemies near the player's character, a warning icon is displayed next to the character's avatar: Characters are considered friendly if they: 1) Are in the same party; 2) Are in the same guild; 3) Are in the same fraction. The mod only works on PvP maps that are specified in the settings. Requirements Installed mod loading system for server and client (PKOdev.NET mod loader). Modification information Name: pkodev.mod.enemy; Version: 1.0; Author: V3ct0r; Type: for client (Game.exe); Supported executable .exe files: GAME_13X_0, GAME_13X_1, GAME_13X_2, GAME_13X_3, GAME_13X_4, GAME_13X_5. Installation 1) In the "mods" directory of your client, create a "pkodev.mod.enemy" folder; 2) Place into it the mod DLL file "pkodev.mod.enemy.client.13x_<ID>.dll" for your version of Game.exe; 3) Place into it the mod settings file "pkodev.mod.enemy.cfg" and customize it as you wish: // pkodev.mod.enemy settings file // (c) V3ct0r from PKOdev.NET // 02/16/2022 [show] main_cha = true // Should the player character be displayed as a teammate? colored_name = true // Colorize character names? colored_circle = true // Show circles under characters? [color] enemy_color = FFFF0000 // Enemy character name color (in the hexadecimal form: FFRRGGBB) friend_color = FF00FF00 // Teammate character name color (in the hexadecimal form: FFRRGGBB) [icon] warning_show = true // Should the 'warning' icon be shown when enemies are near? warning_x = 208 // 'x' position of the icon on the screen warning_y = 16 // 'y' position of the icon on the screen [map] maps = garner,magicsea,darkblue // Maps on which the mod is enabled 4) In the "texture" directory of the game client, create a folder "mods", and in it a subfolder "pkodev.mod.enemy". Place the "warning.png" icon from the archive with the mod into this subfolder. You can replace this icon with any other with the same name, 32 x 32 pixels and in .png format. 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.
  11. [Mod] Full area map for the region As you know, only the three main regions (Ascaron, Magic Ocean and Deep Blue) have a full area map. When the player presses the "Map" button under the minimap to open the full map of the area, the client sends a packet to the server with the appropriate request. The server reads this packet, decides if the region the player is currently in has a full map, and sends a response to the client. If the answer is "yes", then the client show a large map to the player. If "no", then the player receives the message "This area does not have a full map" in the system: "This area does not have a full map" This mod allows you to add full maps for any region: Requirements Installed mod loading system for server and client (PKOdev.NET mod loader). Modification information Name: pkodev.mod.fullmap; Version: 1.0; Author: V3ct0r; Type: for server (GameServer.exe); Supported executable .exe files: GAMESERVER_136, GAMESERVER_138. Installation 1) In the "mods" directory of your GameServer, create a "pkodev.mod.fullmap" folder; 2) Place into it the mod DLL file "pkodev.mod.fullmap.server.<ID>.dll" for your version of GameServer.exe; 3) Place into it the mod settings file "pkodev.mod.fullmap.cfg" and write in it a list of map names for which you want to add a full map. The name of each map is written on a new line: darkswamp garner2 puzzleworld puzzleworld2 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.
  12. [Mod] Flying effect for wings This modification for the game client allows you to add a flight effect to any Wings (items with type 44), similar to the effect of the Wings of Rebirth. Information about the modification Name: pkodev.mod.wings; Version: 1.1; Author: V3ct0r; Type: for client (Game.exe); Supported executable .exe files: GAME_13X_0, GAME_13X_1, GAME_13X_2, GAME_13X_3, GAME_13X_4 and GAME_13X_5. Installing the modification 1. Install mod loading system pkodev.mod.loader if it hasn't already been installed; 2. Place the mod DLL file pkodev.mod.wings.client.13x_{ID}.dll for your version of Game.exe and the mod settings file pkodev.mod.wings.cfg in the mods\pkodev.mod.wings folder of the game client. 3. Open the mod settings file pkodev.mod.wings.cfg and write in it the list of IDs of the wings to which you want to apply the flight effect. Each ID is written on a new line, for example: 935 936 937 This will apply the flying effect to Elven Wings, Butterfly Wings and Angelic Wings respectively. 4. Modification installation completed! Launch the game client and make sure the modification works. Download 1) Modification binary files for the client (.dll); 2) Repository on GitHub with the source code of the modification for Visual Studio 2022 Community (C++). If you encounter any problem, bug or have any questions, then feel free to write in this thread.
  13. [Mod] 60 frames per second (60 FPS) This mod increases the graphics rendering speed of the game client from 30 to 60 frames per second. The mod has several problems: 1) When movement speed is too quick, the player's character can be thrown back; 2) When rmovement speed is too quick, the map, NPCs, monsters and players may not have time to load; 3) Animations of characters and objects are played too fast. Requirements Installed mod loading system for server and client (PKOdev.NET mod loader). Modification information Name: pkodev.mod.60fps; Version: 1.0; Author: V3ct0r, BotPRO; Type: for client (Game.exe); Supported executable .exe files: GAME_13X_0, GAME_13X_1, GAME_13X_2, GAME_13X_3, GAME_13X_4, GAME_13X_5. Installation 1) In the "mods" directory of the game client, create a folder named "pkodev.mod.60fps"; 2) Place the DLL file of the mod "pkodev.mod.60fps.client.13x_<ID>.dll" for your version of Game.exe into the folder "mods\pkodev.mod.60fps" of the game client; 3) Place the mod DLL file "pkodev.mod.60fps.impl_<ID>.dll" for your of version Game.exe into the folder "mods\pkodev.mod.60fps\impl" of the game client. 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.
  14. [Mod] Cleaning up chats The mod allows GM and HD to delete all messages in players chats (local, world, trade, party, guild, PM, camp). To do this, on the server side for GameServer, the ClearChat(role) lua function is implemented, into which the descriptor of the character controlled by the administrator is passed. Thus, it is possible, for example, to implement a GM command that will clear chats (if there are HandleChat() and GetGmLv() functions present in GameServer.exe). function HandleChat(role, msg) if (msg == "&clearchat") then if (GetGmLv(role) == 99) then ClearChat(role) else SystemNotice(role, "Not enough access!") end return 0 end return 1 end The disadvantage of the mod is that it deletes all chats at once without the ability to specify specific channels. That is, along with the general channels (world, trade, local), the channels with messages to the guild, party, camp and PM will also be cleared. It should also be remembered that the player can remove the .dll mod library from the client and chats will no longer be cleared on command from the server. Requirements Installed mod loading system for server and client (PKOdev.NET mod loader). Modification information Name: pkodev.mod.clearchat; Version: 1.0; Author: V3ct0r; Type: for client (Game.exe); Supported executable .exe files: GAME_13X_0, GAME_13X_1, GAME_13X_2, GAME_13X_3, GAME_13X_4, GAME_13X_5. Installation Client: Place the mod DLL file "pkodev.mod.clearchat.client.13x_<ID>.dll" for your version of Game.exe into the "mods" folder of the game client. Server: 1) Create a file named "pkodev.mod.clearchat.lua" in the following server directory: \GameServer\resource\script\calculate\mods 2) Write the following code into it: -- Print a log print("Loading pkodev.mod.clearchat.lua") -- Clear all chats function ClearChat(role) -- Get moderator's name local name = GetChaDefaultName(TurnToCha(role)) -- Send system command Notice("{system:clearchat}") -- Send message to all players Notice(string.format("Chats have been cleared by moderator [%s]!", name)) end 3) Include the "pkodev.mod.clearchat.lua" file at the beginning of the SkillEffect.lua file (\GameServer\resource\script\calculate) : dofile(GetResPath("script\\calculate\\mods\\pkodev.mod.clearchat.lua")) 4) Use the ClearChat() function to clear chats as you wish. 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.
  15. [Mod] Fixing the resetting character professions when reconnecting to the server Some admins are experiencing an issue where a character that has gained a profession becomes a "Newbie " again after relogging into the game. The mod fixes this bug. Requirements Installed mod loading system for server and client (PKOdev.NET mod loader). Modification information Name: pkodev.mod.jobfix; Version: 1.0; Author: V3ct0r; Type: for server (GameServer.exe); Supported executable .exe files: GAMESERVER_136 and GAMESERVER_138. Installation In the "mods" directory of your GameServer, create a "pkodev.mod.jobfix" folder and place into it the mod DLL file "pkodev.mod.jobfix.server.<x>_<l>.dll" for your version of GameServer.exe, where <x> is the version of GameServer.exe (136 or 138) and <l> is the professions language (eng or rus ). 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.
  16. [Mod] Colored GM messages (GM notice) This mod allows you to send colored GM messages to players (see screenshot above) using the input field in the game client (ALT + P), or using the GMNotice() function. To make the text of the message colored, you should write the following code at the beginning of the message: {color:color}Message The message color is specified in RGB format as a hexadecimal number (FFRRGGBB). The following example will send the GM message "Hello PKOdev.NET" to the players in orange: {color:FFFF8000}Hello PKOdev.NET! You can also use the GMNotice() function: GMNotice("{color:FFFF8000}Hello PKOdev.NET!") Requirements Installed mod loading system for server and client (PKOdev.NET mod loader). Modification information Name: pkodev.mod.colorgmnotice; Version: 1.0; Author: V3ct0r; Type: for client (Game.exe); Supported executable .exe files: GAME_13X_0, GAME_13X_1, GAME_13X_2, GAME_13X_3, GAME_13X_4, GAME_13X_5. Installation Place the mod DLL file "pkodev.mod.colorgmnotice.client.13x_<ID>.dll" for your version of Game.exe into the "mods" folder of the game client. Download 1) Binary release; 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.
  17. [Mod] Disabling password verification when entering into the in-game shop (IGS) When entering the in-game shop, the player is required to enter a secret code from their account. Entrance to the store is possible only with the correct secret code. Some administrators find this not very convenient, so I decided to develop a modification for the client and server that will allow you to disable the verification of the secret code. Requirements Installed mod loading system for server and client (PKOdev.NET mod loader). Modification information Name: pkodev.mod.noigspwd; Version: 1.0; Author: V3ct0r; Type: for server (GameServer.exe) and client (Game.exe); Supported executable .exe files: GAMESERVER_136, GAMESERVER_138, GAME_13X_0, GAME_13X_1, GAME_13X_2, GAME_13X_3, GAME_13X_4, GAME_13X_5. Installation 1) Place the mod DLL file "pkodev.mod.noigspwd.client.13x_<ID> .dll" for your version of Game.exe into the "mods" folder of the game client; 2) Place the mod DLL file "pkodev.mod.noigspwd.server.<ID>.dll" for your version of GameServer.exe into the "mods" folder of the GameServer; 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.
  18. [Mod] Disabling error messages when compiling .txt tables (table_bin) This mod disables numerous error output in the dialog box (MessageBox) if some .txt tables are missing during their compilation using the table_bin game client startup parameter. Requirements Installed mod loading system for server and client (PKOdev.NET mod loader). Modification information Name: pkodev.mod.nomsgbin; Version: 1.0; Author: V3ct0r; Type: for client (Game.exe); Supported executable .exe files: GAME_13X_0, GAME_13X_1, GAME_13X_2, GAME_13X_3, GAME_13X_4, GAME_13X_5. Installation Place the mod DLL file "pkodev.mod.nomsgbin.client.13x_<ID> .dll" for your version of Game.exe into the "mods" folder of the game client. 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.
  19. Author @V3ct0r so i just do a tutorial on installing the mod https://mega.nz/file/8V0gwJyY#Sr_HjH9RCGKm8Nh59uPwjMrxnbSpfwHhgQse68qeZEU
  20. this mod is not mine it was shared by @1g0rS1lv4 It was adapted to the last pirates custom loader, which is the same version of @V3ct0r, so you can change the last to pkodev, it may contain some type of error that you may not know, I only made an adaptation, thanks to @1g0rS1lv4 and @V3ct0r for the help provided https://mega.nz/file/hZlmlAqb#zDx6Ej6fUihSy6DHNEdzi3-Grt_dKbm0Fmj3nco4ki8
  21. PKOdev.NET mod loader project template for Visual Studio 2019 Community I am posting a template project for Visual Studio 2019 Community, which is designed to develop mods for PKOdev.NET mod loader using the C++ programming language. The project includes 1) File structure (address.h, pointer.h, hook.h, structure.h, dllmain.cpp); The address.h file contains the addresses of imported functions and objects from the .exe file. This file also defines the namespaces for the corresponding versions of the .exe file, within which it is necessary to specify the addresses for each version of the executable file. All addresses should be in the address namespace. namespace address { // Game.exe 2 (1252912474) namespace GAME_13X_2 { // void CHeadSay::Render(D3DXVECTOR3& pos) const unsigned int CHeadSay__Render = 0x00470770; } // Game.exe 4 (1585009030) namespace GAME_13X_4 { // void CHeadSay::Render(D3DXVECTOR3& pos) const unsigned int CHeadSay__Render = 0x004707D0; } } The pointer.h file contains pointers to imported functions from the .exe file. All pointers should be in the pointer namespace. namespace pointer { // void CHeadSay::Render(D3DXVECTOR3& pos) typedef void(__thiscall* CHeadSay__Render__Ptr)(void*, D3DXVECTOR3&); CHeadSay__Render__Ptr CHeadSay__Render = (CHeadSay__Render__Ptr)(void*)(address::MOD_EXE_VERSION::CHeadSay__Render); } The hook.h file contains the definitions of the hook functions of the original functions from the .exe file. All hooks should be in the hook namespace. namespace hook { // void CHeadSay::Render(D3DXVECTOR3& pos) void __fastcall CHeadSay__Render(void* This, void* NotUsed, D3DXVECTOR3& Pos); } The structure.h file contains various data structures necessary for the mod to work. // 3D vector structure struct D3DXVECTOR3 { float x; float y; float z; }; The dllmain.cpp file contains the entry point, the implementation of the loader interface functions, the implementation of the hook functions, and the mod code itself. 2) Mod loader interface (loader.h) and its implementation. 3) Build configurations for all supported .exe files with appropriate preprocessor definitions. 4) MS Detours library for hooking functions calls in .exe files. DetourAttach(&(PVOID&)pkodev::pointer::CHeadSay__Render, pkodev::hook::CHeadSay__Render); How to set up your own project 1) Rename the project files (pkodev.mod.dummy) to the name of your new mod; 2) Remove unnecessary build configurations; 3) For each build configuration, specify the name of the mod's output DLL file (Target Name); 4) For each build configuration, specify preprocessor definitions MOD_NAME, MOD_AUTHOR, and MOD_VERSION. Download PKOdev .NET mod loader project template for Visual Studio 2019 Community (C++).
  22. [Mod] Contracts system This system is a "Monster Hunt" type quest, the purpose of which is to defeat a certain amount of specific monsters. A player is given a special item - “Contract”, which indicates which monster and how many the player have to defeat. As monsters are defeated, the player's current progress is updated in the "Contract". After defeating the required number of monsters, the "Contract" is considered completed, and the player can receive a reward by using the "Contract" item. The system consists of a pkodev.mod.loader modification for the game client (Game.exe) and a Lua script for the game server (GameServer.exe). Modification of the client is necessary to visualize the specified characteristics of the item in the hint field for the "Contract" when the player hover the mouse cursor over it's item. The target monster ID, the number of monsters already defeated, and the number of monsters needed to complete the "Contract" are stored in the following item stats: ITEMATTR_VAL_STR, ITEMATTR_VAL_DEX, and ITEMATTR_VAL_AGI, respectively. The purpose of the mod is to display these item characteristics in a form understandable to the player. For example, if ITEMATTR_VAL_STR = 103, ITEMATTR_VAL_DEX = 5, and ITEMATTR_VAL_AGI = 10, then the player will see the following information when hovering the mouse over "Contract": Hunt: 'Forest Spirit' x 10 Progress: 5 / 10 The Lua script for the game server is the core of the Contracts system, which contains the System settings and the logic of its operation. For example, when defeating next monster, the script will search the character's inventory for a suitable active "Contract", and if such the item is found, the System will update its state. An important setting of the script is the function that is necessary for issuing a reward after the player successfully completes the "Contract". Some features of the System: 1. "Contract" can be picked up, thrown away, transferred to another player, put in a bank or sold; 2. If a player has multiple "Contracts" in his inventory to hunt the same monster, then when defeating this monster, the "Contract" is selected randomly; 3. To receive a reward after completing a "Contract", the player should use an item of the "Contract", for example by double-clicking on it. The player will see a corresponding message in the system chat if the "Contract" has not yet been completed; 4. The content and amount of the reward are determined by the administrator in a special function of the System script; 5. ID and item type for "Contract" must be unique and set by the administrator in the System settings. The default item type is 99, the default item ID is undefined. Information about the modification Name: pkodev.mod.contract; Version: 1.1; Author: V3ct0r; Type: for the game client (Game.exe); Supported executable files (.exe): GAME_13X_0, GAME_13X_1, GAME_13X_2, GAME_13X_3, GAME_13X_4 and GAME_13X_5. Installing the Contracts system Game server 1. Add a "Contract" item to the GameServer\resource\ItemInfo.txt file. To do this, select any suitable ID (XXXX) and item type (99 by default): XXXX Contract n0184 10130005 0 0 0 0 0 00 99 0 0 0 0 0 1 1 1 1 1 1 0 -1 0 -1 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0 10,10 0,0 0 0 0 0 0 0 0 0 0 ItemUse_PKOdevContract 0 0 0 0 0 0 After completion you will receive a reward! 2. Place Lua script pkodev.contract.lua in GameServer\resource\script\calculate\mods directory (create mods folder if necessary). 3. Open the pkodev.contract.lua file and configure it as follows: 3.1 Write the "Contract" item ID from ItemInfo.txt (XXXX) to the item_id variable: item_id = XXXX, 3.2 In the CompletionCallback() function, write a code that will give players a reward after completing "Contracts". By default, the function gives a player 1,000 gold coins, a random item (Refining Gem x 1, or Gem of Rage x 2, or Cake x 60, or Fairy of Luck x 1) and launches fireworks: CompletionCallback = function(role, item) -- Give 1,000 gold AddMoney (role, 0, 1000) -- Set of items local arr = { {id = 885, count = 1 }, -- Refining Gem x 1 {id = 863, count = 2 }, -- Gem of Rage x 2 {id = 1849, count = 60}, -- Cake x 60 {id = 231, count = 1 } -- Fairy of Luck x 1 } -- Give a random item local idx = math.random(1, table.getn(arr)) GiveItem(role, 0, arr[idx].id , arr[idx].count, 4) -- Launch fireworks PlayEffect(role, 361) end 3.3 Open the file GameServer\resource\script\calculate\SkillEffect.lua and at the very beginning write the line: dofile(GetResPath("script\\calculate\\mods\\pkodev.contract.lua")) 4. The Contracts system has been successfully installed on your server. Congratulations! Also take a look at @Angelix's Contract System script implementation. It is more flexible and advanced than the one suggested above. Description of the script and installation instructions can be found in the corresponding topic: Game client 1. Add a "Contract" item to the Client\scripts\table\ItemInfo.txt file (see above "Installing the Contracts system" > "Game server" > point 1). Compile ItemInfo.txt. 2. Add to the file Client\scripts\table\StringSet.txt the following strings that a player will see when hovering the mouse over the "Contract": [1000] "(Completed)" [1001] "(Active)" [1002] "Hunt: '{0}' x {1}" [1003] "Progress: {0} / {1}" Note 1: If IDs of strings 1000 - 1003 are already taken, then write any free IDs instead. Note 2: After adding these strings to the StringSet.txt file, delete the StringSet.bin file if it exists, otherwise the changes will not be applied. Note 3: In string 1002, marker {0} is the name of the monster, and {1} is the number of monsters to defeat. In string 1003 marker {0} indicates the number of monsters already defeated, marker {1} is similar to string 1002. 3. Install mod loading system pkodev.mod.loader if it hasn't already been installed. 4. Place the mod DLL file pkodev.mod.contract.client.13x_{ID}.dll for your version of Game.exe and the mod settings file pkodev.mod.contract.json in the mods\pkodev.mod.contract folder of the game client. 5. Open the mod's settings file pkodev.mod.contract.json and write the following parameters into it according to your choice: 1. itemType - type of the item "Contract" specified in the ItemInfo.txt file. The default value is 99. 2. colorCompleted - the color of the "(Completed)" label in the hint for the "Contract" item in the format 0xAARRGGBB. The default value is 0xFF00FF00 (Green). 3. colorActive - the color of the "(Completed)" label in the hint for the "Contract" item in the format 0xAARRGGBB. The default value is 0xFFFFA500 (Orange). 4. STRING_001 - string ID for the "(Completed)" label from the StringSet.txt file. The default value is 1000. 5. STRING_002 - string ID for the "(Active)" label from the StringSet.txt file. The default value is 1001. 6. STRING_003 - string ID for the "Hunt: '{0}' x {1}" label from the StringSet.txt file. The default value is 1002. 7. STRING_004 - string ID for the "Progress: {0} / {1}" label from the StringSet.txt file. The default value is 1003. Note: This file can be left unchanged if you used the default values in the ItemInfo.txt and StringSet.txt files. 6. The contracts system setup for the game client is now complete! Creating "Contracts" and issuing them to the players "Contracts" are created using the contract.create() function, which takes as its arguments the handle of a character to which the contract is to be issued, the ID of a monster a player will need to defeat, and a number of monsters that the player have to defeat. As a result, the function returns a tuple of three elements: success flag, new item descriptor, and item slot number in the character's inventory. Syntax: local <Result LUA_TRUE|LUA_FALSE>, <Item descriptor>, <Item slot> = contract.create(<Character descriptor>, <Monster ID>, <Number of monsters>) Example: local ret, item, pos = contract.create(role, 103, 7) As the result, a "Contract" will be created to defeat the seven Forest Spirits, which will appear in the inventory of the role character. In case of an error, the function will return the value LUA_FALSE to the ret variable and write a log message to the pkodev.contract.txt file. Note: Creation of "Contracts" can be organized, for example, through a special NPC or other item. Useful links 1) Modification binary files for the client (.dll); 2) The file with the modification settings for the client (pkodev.mod.contract.json); 3) Repository on GitHub with the source code of the modification for Visual Studio 2022 Community (C++); 4) Lua script of the Contracts system for the game server; 5) ItemInfo.txt with an example of the "Contract" item; 6) Strings for the file StringSet.txt; 7) Mod loading system pkodev.mod.loader. If you encounter any problem, bug or have any questions, then feel free to write in this thread.
  23. [Mod] Displaying servers response time ("ping") on the server selection form Next to each server on the server selection form, their response time ("ping") is displayed. Requirements Installed mod loading system for server and client (PKOdev.NET mod loader). Modification information Name: pkodev.mod.ping Version: 1.0; Author: V3ct0r; Type: for client (Game.exe); Supported executable .exe files: GAME_13X_0, GAME_13X_1, GAME_13X_2, GAME_13X_3, GAME_13X_4 and GAME_13X_5. Installation Place the mod DLL file "pkodev.mod.ping.client.13x_<ID>.dll" for your version of Game.exe into the "mods" folder of the game client. If necessary, configure the GUI scripts of the server selection form "frmServer" (file "\scripts\lua\forms\login.clu"). 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.
  24. [Mod] Change the size of the monsters This mod allows you to edit the scale of the characters (see screenshot above). Requirements Installed mod loading system for server and client (PKOdev.NET mod loader). Modification information Name: pkodev.mod.mobsize; Version: 1.0; Authors: @VItal13, V3ct0r; Type: for client (Game.exe); Supported executable .exe files: GAME_13X_0, GAME_13X_1, GAME_13X_2, GAME_13X_3, GAME_13X_4 and GAME_13X_5. Installation 1) In the "mods" directory of your client, create a "pkodev.mod.mobsize" folder; 2) Place into it the mod DLL file "pkodev.mod.mobsize.client.13x_<ID>.dll" for your version of Game.exe; 3) Place into it the mod settings file "pkodev.mod.mobsize.cfg" and write in the file a list of characters scales* in the following format: <Monster ID>{<Scale X>;<Scale Y>;<Scale Z>} Example, for "Forest Spirit" ID 103: 103{2.5;2.5;2.5} * Each new monster is written on a new line. 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.
  25. [Mod] Displaying the name of the item in the apparel In the description of the apparel item, the name of the equipment that is fused in it appears. Requirements Installed mod loading system for server and client (PKOdev.NET mod loader). Modification information Name: pkodev.mod.apparel Version: 1.0; Author: V3ct0r; Type: for client (Game.exe); Supported executable .exe files: GAME_13X_0, GAME_13X_1, GAME_13X_2, GAME_13X_3, GAME_13X_4 and GAME_13X_5. Installation Place the mod DLL file "pkodev.mod.apparel.client.13x_<ID>.dll" for your version of Game.exe into the "mods" folder of the game client. 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.
×
×
  • Create New...