Jump to content

ZentraX

Member
  • Posts

    10
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by ZentraX

  1. On 3/22/2024 at 12:25 PM, Reya said:

    Im already waiting for over 3 years. This company is scaming customer.

    Stop using this you will be the next for sure!
     

    If someone needs a proof, just message me.

     

    Holding more then 6.800€ !

     

    I pushed this topic to inform people in 2024 even not using e-payouts!

    The problem is here if they see your server is not running well, they wont payout, since they just want their profits from u and metin2 server are not allowed, so you cannot talk with the police... 

  2. Hello,

     

    if a key / attribute is missing in the localeinfo in normally crashes and dont let you ingame - I added a "small" workaround for it (it's easy to implement):

    Add these class into system.py

     

    class LocaleInfoWrapper(object):
        def __init__(self, wrapped):
            self.wrapped = wrapped
        def __getattr__(self, name):
            # Perform custom logic here
            try:
                return getattr(self.wrapped, name)
            except AttributeError:
                dbg.TraceError("Locale attribute not found: {0}".format(name))
                return "Locale not found: {0}".format(name)

    Search for that:

    # in this if case: 'pack.Exist(filename)'
           return newmodule 

    Add this above:

            if filename.lower() == "localeinfo.py":
                sys.modules[name] = LocaleInfoWrapper(newmodule)
                return sys.modules[name]

    done, now you can start the game with missing locales and it will print in out to the TraceError

     

    NOTE: This is just something I did because one of my clients work with locales and sometimes crashes my client, you need to adjust for e.g. supporting calling etc / formating strings.. blabla

     

    For python3 you can define the __getattr__ function inside localeinfo.py which is way easier to implement: 
    Check here

    best regards

    • Metin2 Dev 1
    • Think 1
    • Good 1
    • Love 3
  3. 4 hours ago, DemOnJR said:

    Tested and is working.
    If you get the error with thread on compilation just add std::thread like in this example:

    #if defined(ENABLE_PERFORMANCE_STATISTICS)
    	static DWORD s_dwCheckPingTime = ELTimer_GetMSec();
    
    	if (ELTimer_GetMSec() - s_dwCheckPingTime > CServerStateChecker::MAX_RTT_REQUEST_MS)
    	{
    		std::thread t(NonBlockingServerStateChecker, &m_kServerStateChecker, &m_dwRTT, &m_fPktLossPct, &s_dwCheckPingTime);
    		t.detach();
    	}
    #endif

    Also if the ms is 999ms you need to allow IMCP traffic on your FIREWALL.

    And done.
    .png

    How about adding an task with std::async? I would prefer it with a promise like this:

    private:
      std::future<int32_t> m_pingTask{};
      int32_t m_ping{}; 
    public:
      // easy running in background :_D 
      void Ping()
      {
        // Task is already running
        if (m_pingTask.valid()) return;
    
        m_pingTask = std::async(std::launch::async, []() { /*... Perform ping request here */ return ping;}); 
      }
    
      void UpdatePing()
      {
        if (m_pingTask.valid())
        {
          const auto status = m_pingTask.wait_until(std::chrono::system_clock::now() + std::chrono::seconds(0)); // 0 not timeout if the task is done here
          if (status == std::future_status::ready) // ready means the task is done
          {
              m_ping = m_pingTask.get(); // here you can get the like use python create a func for it like app.GetPing() and return this value here
              m_pingTask = {};
          }
        }
      }
    
       int32_t GetPing() const
       {
    		return m_ping;
       }



     

  4. Hello Guys, 

    Im searching for a developer which knows how to improve the whole client source (check the points below):
     

    • New file processing with packer for faster file reading
    • New frame timer and process loop
    • Granny3D reimplementation
    • Race loading reimplementation
    • New resource manager
    • Delayed actor loading
    • Instant race unload/load
    • New animation control to prevent lagging if there is more than 15 of the same thing

    We will a pay high amount. 

    Best regards

    ZentraX

×
×
  • 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.