Jump to content

ds_aim

Banned
  • Posts

    442
  • Joined

  • Last visited

  • Days Won

    9
  • Feedback

    0%

ds_aim last won the day on June 26 2016

ds_aim had the most liked content!

About ds_aim

  • Birthday 09/04/1994

Core X

  • BAN_NOTICE
    Yes

Informations

  • Gender
    Male

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

ds_aim's Achievements

Rising Star

Rising Star (9/16)

  • Very Popular Rare
  • One Month Later
  • One Year In
  • Week One Done
  • Conversation Starter

Recent Badges

237

Reputation

  1. // Ira.h class Ira { public: void Func(); // Declaration }; // Ira.cpp //definition void Ira::Func() { // Do something } In your case, the definition cannot be found. The issue could be that you are including a header file, which brings in some function declarations, but you either: 1. definition for those functions cannot be found 2. The library is compiled with an older or newer compiler. And as i can see problem is in __imp__ wich is in the dllexport and dllimport Solve : - Take granny2.lib from another source Who is compiled with same compier. - Problem can be in you project toolset too. As far as i know don't matter if dynamic libs is compiled with different compiler but give it a try. Just static libs need to be compiled with same compilet that is linked. Check you project toolset Check check granny2.lib
  2. boost::python implement started I need to adapt to make_unique now And example for Who want to rewrite entire python API , you can use SWIG too. The big job is in ScriptLib and EterPythonLib need to be rewrited frm scratch. And remebere " If you become my customers all those features will be yours when i finish "
  3. I modernized code long time ago. I lost some time to modernize EterPythonLib because pointers... Evey time when i forced unique__ptr i got bugs. It is very hard to modernize codes. most of the new stuff in the new official stuff is actually with vectors and std maps. In 2-3 weeks i think i will finish client source modernize. Then is planned to rewrite Python API with boost::python or maybe SWIG. Maybe if someone want to rewrite via boost::python here is an advice , boost::python actually does Support std::shared_ptr but not std::unique_ptr , Boost.Python does not support move-semantics. to only Problem is that you use unique_ptr and here is a solution for that http://stackoverflow.com/questions/20581679/boost-python-how-to-expose-stdunique-ptr We tried just putting unique ptr (forcing unique_ptr) , and I think there occur dangling pointer ,I can just putting shared ptr in all place it is bad too, but I might work.. or not. The code is dirtty and pointers are too puzzled and If you use sharedptr everywhere you actually have cyclic references. If you reaally want to modernize codes is better to rewrite entire client source using modern c++ standards. Modernize take much more time than rewriting. Metin is not really a complex game , it's very simple One more example c++14 lambda Before modernize: After modenrize : I changed into lambda holy lambda it is one of most greatest feature of c++11 My advice is don't try to modernize codes you just lose time. Code is to dirty
  4. You use one of my old, very old source. :)) Ahh .. You can delete it. is very unstable.
  5. It's useless to do this. FreeBSD is already good. If you want, improve, do it. Port source to libevent http://libevent.org/ or libuv.
  6. 1. Lzma or lz4 , don't really matter the compression algorithm that you use. You need a SSD and all is fine. 2. The aim of improved_packet_encryption is to cipher packets to prevent packet sniffer to decrypt and to solve buffer issues. Just don't touch it if you have no ideea how to work with memory management. And lol, why you need to cipher packets? Really is metin2, is an old game... Belive me , No big hacker will come to destroy kids server. AES is the best. I alredy use it for mysql hash password.. SELECT HEX(AES_ENCRYPT('password', 'key')); 3. SendClientConfigPacket. should be ok The packet will send true or false intro client and with one config server you can enable or disable client codes too. Here is an example config. https://metin2.download/picture/r3F9504x09DVmF8K988YXgTtGTP6KMUj/.gif from my server. Also write locale.cfg metin2.cfg mouse.cfg to be saved intro registry. if (true == ReceiveClientConfigPacket(g_enable_wolfman)) { /// Valid codes } Here is one challange for you, well.. What to include in you release, i already did all those but do it if you want. - no need to pool memory big than 1024*256, that is 18 slots, to forbidden call buffer_pool_free() -memory size 8Byte align, use memalign inseated - create a thread safe for buffers. - std::copy inseated of memcpy - convert all new operators to unique_ptr (Client / server src ) - see assert functions intro release mode (server /client ) undefined behavior (buffer.c) - Rewrite adminpage systems for a better stability. - Fix all memory leaks that come from SpeedTreeWrapper class. - Fix rotation intro intro StatePacket. - and mooooooooore things , just too lazy to tell you... Good luck.
  7. Just add enum from PythonPlayer.cpp to PythonPlayer.h as public Then include PythonPlayer.h intro StdAfx.h if not work include directly just in that file where is needed. And use CPythonPlayer:: class.. above you have an example. This is because in new binary they moved enum from PythonPlayer.cpp to RaceData.h adn they renamed inseated of example : Old : MAIN_RACE_SHAMAN_M, new RACE_SHAMAN_M, same for wolfman.. you can move entire enum intro RaceData class as public if you want to be accesed for all members and use CRaceData:: I did all those some time ago.. Intro the public source those enum is used just and just intro DWORD CPythonPlayer::GetRaceStat() FROM PythonPlayer.cpp they moved enums and renmed to give another scope .. Make it like this : RaceData.h PythonPlayer.cpp ActorInstance.cpp
  8. Server try to sync with client 32 times, if fail it return false for the current player.
  9. Download cmake and generate .sln then compile.
  10. You can make also a loop like checkPythonLibrayFilenames
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.