Jump to content

CaptainLucifer

Inactive Member
  • Posts

    20
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by CaptainLucifer

  1. Hello,

    I am looking for solution for the following problems.

    1. While a player is purchasing an item from the Offline Market, if the owner of the offline market simultaneously removes the item, the player receives an item with the number 255 and the enchantment code 255 for 0 yang.

    2. When you remove an item from the Offline Market in a different channel while the inventory is full, the item will disappear.

    offline_shop.cpp : https://paste.tc/ff-17355-1

    offlineshop_manager.cpp : https://www.paste.tc/a1-67266-6

    input_p2p.cpp : https://www.paste.tc/a5-49754-4

    Thank you for your help! ♥

     

     

    Since we have been scammed too many times by foreign people who are not members of the forum, first half the work is done and then the payment is sent.

     

     

    • Metin2 Dev 1
  2. On 6/25/2022 at 3:52 PM, Syreldar said:

    Okay? How do you plan on blocking the player from actually hitting another player with those?

    Even assuming you wanted to apply a solution as dirty as "If they hit a player while on mount, they dismount", no such trigger exists by default in Metin2's sources.

    Quote

        state start begin
            when login begin
                cleartimer("kontrol")
                loop_timer("kontrol", 1)
            end
            when kontrol.timer begin
                if pc.is_mount() then
                    if pc.get_local_x() == 500 and pc.get_local_y() == 500 then
                        syschat("İn lan aşşa ")
                        pc.unmount()
                    else return end
                else return end
            end
        end

    What do you think about it. 

  3. On 6/7/2022 at 10:38 PM, Syreldar said:

    It's worth noting that this bug only ever occurs if the mental warrior stands absolutely still doing nothing, and so it's not relevant anyhow under normal circumstances, but:

    ActorInstanceSync.cpp:

    bool CActorInstance::IsPushing()
    {
        return m_PhysicsObject.isBlending();
    }

    to:

    bool CActorInstance::IsPushing()
    {
        return !IsResistFallen() && m_PhysicsObject.isBlending();
    }

    This is not a solution. 😞

    Even when the mental warrior is standing still, his coordinate must be transmitted to the opposite side when he is pushed.

     

    We really need help on this issue.

    Is there really no one on this forum who knows how to fix it?

  4. 14 hours ago, Vaynz said:

    "Let's kill source, and find best solution comment sync yeah.."

    This fix worked for my server, the bug apperead since 2020 February when Microsoft updated our windows.

    Char.cpp & Char.h game source and there is fix

    Char.h - search
    float m_fSyncTime;
    
    Change with 
    DWORD m_fSyncTime;
    
    Char.cpp - search
    if (get_float_time() - m_fSyncTime < 0.2f)
    Change with 
    if (get_dword_time() - m_fSyncTime < 50) 
    Search
      m_fSyncTime = get_float_time();
    Change with 
      m_fSyncTime = get_dword_time();
    Search
      if (get_float_time() - m_fSyncTime >= 3.0f)
    Change with
      if (get_dword_time() - m_fSyncTime >= 100)

     

     

    No sir, not work 😞

  5. 1 hour ago, ReFresh said:

    @CaptainLucifer I just found a piece of code which could fix that problem.

      Hide contents

    char.cpp:

    // Find this:
    m_bOpeningSafebox = false;
    
    //And below change this:
    m_fSyncTime = get_float_time()-3;
    
    //To this:
    m_fSyncTime = get_dword_time()-3;
    
    //Then find:
    bool CHARACTER::CanMove() const
    
    //And in this function change this:
    if (get_float_time() - m_fSyncTime < 0.2f)
    
    //To this:
    if (get_dword_time() - m_fSyncTime < 50)
    
    //Then find this:
    bool CHARACTER::SetSyncOwner(LPCHARACTER ch, bool bRemoveFromList)
    
    //And in this function find this:
    m_fSyncTime = get_float_time();
    
    //And change it to:
    m_fSyncTime = get_dword_time();
    
    //Then find this:
    bool CHARACTER::IsSyncOwner(LPCHARACTER ch) const
    
    //And in this function find this:
    if (get_float_time() - m_fSyncTime >= 3.0f)
      
    //And change to this:
    if (get_dword_time() - m_fSyncTime >= 100)
      

    char.h

    //Find this:
    float			m_fSyncTime;
    
    //And change to this:
    DWORD			m_fSyncTime;

     

    Let me know if these changes solved your problem.

    https://metin2.download/picture/88I6Hq2f6e6dq6M4wTBA80lcogz3Z158/.png

     

    Still same 😞

     

     

  6. 51 minutes ago, Mitachi said:

    Yeah, I also had the exact same bug. I was sure I fixed it the way above, it's a bug I fixed in 2018. After a few combos it happens.
    If I find anything else, I'll let you know, unfortunately in 2018 I wasn't using git, otherwise it would have taken me 5 seconds to tell you the solution 🙄

    First,

    Thank you for solution. But i agreed with @Sierra Still same.

    If you can find true fix and share with us, i'll really glad.

     

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