-
Posts
43 -
Joined
-
Days Won
2 -
Feedback
0%
MT2Dev last won the day on October 11 2024
MT2Dev had the most liked content!
About MT2Dev

- Birthday 01/01/1997
Informations
-
Gender
Male
-
Country
Turkey
-
Nationality
Turkish
Development
- Github
Recent Profile Visitors
3977 profile views
MT2Dev's Achievements
-
Yes, you need to and also if you want to block future wrong usages, remove HEADER_GD_FLUSH_CACHE/QUERY_FLUSH_CACHE completely in your src.
-
Python 2.7.18 Hi everyone, today i wanna share Python 2.7.18 version that i made for MT2, it's edited top to bottom and ready for the use. You can either take the pre-compiled files and use them or build it yourself with modification, download the RaR and take a look at the README file, there is everything you are lookin for, have fun. F.A.Q // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ F.A.Q +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ " How To Build ? " ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [/* INFO: If you don't want to bother with the compilation process, you can get the precompiled versions from the folder named "precompiled".*/] - Open "Change.cpp" file and do the neccesary changes. - After that, open the "MT2_Include_Path.rar" file and copy that Python folder to your "Client/Srcs/Extern/Include" path. - Go to "PCBuild / BUILD_PYTHON.sln" right click -> Build all (/*Do it both Release and Debug versions*/). - After build, all the outputs (/* .lib, .dll etc */) will take place at "PCBuild/". - Move .dll files to your binary path, move lib files to your "Client/Srcs/Extern/Library" path. + After the compilation process in "Release" mode is complete, the generated python.exe file automatically converts all py files in the lib to pyc. + You should add these new pyc and pyd files to the MT2 binary lib folder after the build process is complete. + (/* NOTE: When adding these pyc files to the Metin2 lib, you DO NOT NEED TO ADD THE FILES ; */ + "compileall.pyc - py_compile.pyc - runpy.pyc - pkgutil.pyc - inspect.pyc - token.pyc - tokenize.pyc - dis.pyc - opcode.pyc" + /* These are ONLY required during the compilation phase! */) ---------------------------------------------------------------------------------------------------------------------------------------------------------- /* NOTE II: During the process of converting py files to pyc, the log of all stages is written to the "PCBuild/PYC_Compile.log" file, you can look here in case of errors while compile. */ ---------------------------------------------------------------------------------------------------------------------------------------------------------- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ " What Is The Diffrence ? " ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - All unnecessary Python features for MT2 have been deactivated, but a few new features have been added that might be useful. + For example, decimal, which can be used to increase damage limits, is also available, along with various other improvements like JSON and XML support. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ " Why We Need To Use This Version ? " ++++++++++++++++++++++++++++++++++++++++++++++++++++ - The short answer is that you dont have to use it, but it is a fact that it will provide you with certain advantages if you do use it, let's take a look at them. + Unnecessary files and codes (/* for MT2 */) were cleaned and the build warnings were also fixed. + This version is the most suitable version for MT2 in terms of both performance and security, + It is the last 2.7 version released and does not contain features that MT2 does not use (/* like ssl, socket, html etc */). + It is also important that it includes the security fixes made by Python up to this 2.7.18 version. + It is always best to use the most up-to-date version possible of any external libraries you use. Download [Hidden Content] Best regards, MT2Dev.
- 4 replies
-
- 48
-
-
-
-
-
-
-
Hello, first of all, thank you for revealing this problem. I wrote a serverside check for the solution to this problem and more, it is quite detailed, i am sharing it in case it may be useful to someone; char.cpp [Hidden Content] Best regards, MT2Dev.
- 9 replies
-
- 94
-
-
-
-
-
Hi devs, i wrote a Python script that automatically corrects the order of certain .txt files on the server side. First of all, let me explain with a ss what it does exactly; I think it will be useful for you to save time from re-arranging the order in cases such as adding/removing items/mobs/groups. SUPPORTED TXT FILES: group.txt / group_group.txt / mob_drop_item.txt / special_item_group.txt HOW TO USE: You only need Python 2.7, either Windows or FreeBSD. SYNTAX: python txt_checker.py mob_drop_item.txt (Or other .txt names) REPO&DOWNLOAD [Hidden Content] Best Regards, MT2Dev.
-
- 28
-
-
-
-
-
-
#Big Update AStyle version update to 3.6.4 and i also add a whole source code for anyone that interest about build it yourself, config files also updated and the repo also updated too, have fun!
-
Thanks for your great feedback! I missed a point that it could trigger quests, also if it's a pc, redirecting it to the Dead function is a great idea, I'll rework it with your suggestions, thanks again. Also, since I've received multiple messages about this, i need to say something about the source of this fix, after a conversation with dear @ Koray on a different TR forum, he gave me the idea for this fix, I prepared this topic for him, so i don't have an idea about Marty's latest fix, his method is probably better but I haven't seen it yet, best regards.
-
Hey, sure! Basicly this fix actually for the very old h*ck that allows to you move players with sync packet out of the map and kick them out the game, with the original code if that scenario is happen, player will kicked via PHASE_CLOSE and if it's not player (else block) function will the trigger Dead event for the destroy but there is some problem in this logic, if you use this to move mobs out of the map they will dead instantly (even if their HP is full) and they will give a full drop(reward), thats something we don't need for our servers i guess, also this fix useful for problem very fast mounts will kick players out the game, btw thats a long comment sorry for my poor grammar. It's up to you, can do it by that way but i'm use this new function also for other fixes, for that reason i created new func for this job. #UPDATE Sync function updated for better performence.
-
INTRODUCTION & PROBLEM Hello, we will solve the famous "Cannot Find Tree" problem in the "CHARACTER::Sync" function in the server src and also the problems that may be caused by the "Dead();" section used for everything that is not a PC in this function. WHAT DID WE CHANGE? All of the currently shared fixes are actually incomplete, we will make a new arrangement to solve this problem at its root, thus we will fix the problem completely. UPDATE - 18/10/2024 With @ Mitachi's great feedback, i rewrote the "RewardlessDead()" function. LAST UPDATE - 23/10/2024 I fixed a code that caused the (!new_tree) part of the function to return false under all circumstances (thanks to @ WeedHex ), also added all the nullptr checks and extra sys_err messages where necessary, expanded the content of the existing sys_err messages, these changes will not cause any performance disadvantages and there is no possibility of it being misused in any way anymore, please use the final version. HOW TO DO? Without going into details such as editing the reward mechanism of the existing dead function, we will simply create a new dead function and use it in Sync. The main purpose of this function, which can only be used for mobs and metins, is that it does not give a reward (drop) after the dead function, let's get started. First, open "char_battle.cpp" [Hidden Content] Best regards, MT2Dev.
-
[C++] Making Clients (.exe) Open Separately
MT2Dev replied to MT2Dev's topic in Features & Metin2 Systems
I didn't see this , basically it's the same thing, i just used less code. Both will do the same job anyway, regards. -
INTRODUCTION & PROBLEM Hello, with the request of a member, i made an arrangement to prevent the clients (.exe) from overlapping on the taskbar and to open all clients separately, i am sharing it in case anyone needs it. WHAT DID WE CHANGE? By creating a different ID for each .exe opened, we will ensure that the operating system does not see them as the same application, thanks to these unique IDs, each .exe will be different and will not overlap. HOW TO DO? We will modify only one file, open the "UserInterface.cpp" file in Client src/UserInterface. [Hidden Content] Best regards, MT2Dev.
-
INTRODUCTION & PROBLEM Hello, the issue we will be working on this time is actually important, it will prevent players from using mounts/horses in various PvP maps (Guild War, Arena, PvP Event Maps, etc. - in addition to these, OX and Wedding maps are among the banned maps-) or if they go to unwanted map while riding on a mount/horse, we will have them dismount/unsummon when they enter these maps. Although there are many topics about this in various places, none of them offer a complete solution, so I am sharing with you all the checks I have made for my own src. WHY & WHAT DID WE CHANGE? Especially in PvP-oriented maps such as Guild War map, it is generally undesirable for players to gain an advantage by using mounts/horses. To prevent this, we will add the necessary controls in the right places and create a function that includes maps where we do not want characters to use mounts/horses. (You can create a new case in this function and add the extra map index code if you want to include in the list, so it will be very easy to activate this obstacle on the map you want.) ATTENTION! 1- I do not use the COSTUME_MOUNT system in my own src, so I wrote the codes accordingly while creating this topic, so if you are using this system, you should add the necessary controls to this system and adjust some of the controls I gave you (because some sections were written based on the old mount system) , otherwise it may not work correctly or effectively! 2- As I said during the explanation, add it below or above the code you are looking for (whichever I said in the explanation), their positions are important! Many codes have different placements, so while following this guide, make sure that you do not make any mistakes in the parts i mentioned above or below. HOW TO DO? First, open the "char.h" file. [Hidden Content] Best regards, MT2Dev.
