Jump to content

Recommended Posts

Hey I have a bug on party, when somebody make  a party and give him the hp bonus, when the players leave the party, the HP bonus remain active.

 

I find on the web a solution but it make another bug..

 

Solution is

Edit party.cpp:

 

void CParty::ComputeRolePoint(LPCHARACTER ch, BYTE bRole, bool bAdd)
{
    if (!bAdd)
    {
        ch->PointChange(POINT_PARTY_ATTACKER_BONUS, -ch->GetPoint(POINT_PARTY_ATTACKER_BONUS));
        ch->PointChange(POINT_PARTY_TANKER_BONUS, -ch->GetPoint(POINT_PARTY_TANKER_BONUS));
        ch->PointChange(POINT_PARTY_BUFFER_BONUS, -ch->GetPoint(POINT_PARTY_BUFFER_BONUS));
        ch->PointChange(POINT_PARTY_SKILL_MASTER_BONUS, -ch->GetPoint(POINT_PARTY_SKILL_MASTER_BONUS));
        ch->PointChange(POINT_PARTY_DEFENDER_BONUS, -ch->GetPoint(POINT_PARTY_DEFENDER_BONUS));
        ch->PointChange(POINT_PARTY_HASTE_BONUS, -ch->GetPoint(POINT_PARTY_HASTE_BONUS));
        ch->ComputeBattlePoints()

  ch->ComputePoints();
        return;
    }

 

I add the         ch->ComputePoints();  (red color up).  the new bug is on a player from party if is offline, all stats of another player up and down..

 

Link to comment
Share on other sites

  • 2 weeks later...
  • Replies 7
  • Created
  • Last Reply

Top Posters In This Topic

On 13.08.2016 at 3:02 AM, tavi said:

Hey I have a bug on party, when somebody make  a party and give him the hp bonus, when the players leave the party, the HP bonus remain active.

 

I find on the web a solution but it make another bug..

 

Solution is

Edit party.cpp:

 

void CParty::ComputeRolePoint(LPCHARACTER ch, BYTE bRole, bool bAdd)
{
    if (!bAdd)
    {
        ch->PointChange(POINT_PARTY_ATTACKER_BONUS, -ch->GetPoint(POINT_PARTY_ATTACKER_BONUS));
        ch->PointChange(POINT_PARTY_TANKER_BONUS, -ch->GetPoint(POINT_PARTY_TANKER_BONUS));
        ch->PointChange(POINT_PARTY_BUFFER_BONUS, -ch->GetPoint(POINT_PARTY_BUFFER_BONUS));
        ch->PointChange(POINT_PARTY_SKILL_MASTER_BONUS, -ch->GetPoint(POINT_PARTY_SKILL_MASTER_BONUS));
        ch->PointChange(POINT_PARTY_DEFENDER_BONUS, -ch->GetPoint(POINT_PARTY_DEFENDER_BONUS));
        ch->PointChange(POINT_PARTY_HASTE_BONUS, -ch->GetPoint(POINT_PARTY_HASTE_BONUS));
        ch->ComputeBattlePoints()

  ch->ComputePoints();
        return;
    }

 

I add the         ch->ComputePoints();  (red color up).  the new bug is on a player from party if is offline, all stats of another player up and down..

 

What I remember when leader isn't same map as party members they don't receive bonuses.. so when leader logout they of course loss profits... it's correct.

Link to comment
Share on other sites

On 8/23/2016 at 8:30 PM, ahmedhaies said:

show me this function 

void CPartyManager::DeleteParty(LPPARTY pParty) 

in party.cpp

 

void CPartyManager::DeleteParty(LPPARTY pParty)
{
    //TPacketGGParty p;
    //p.header = HEADER_GG_PARTY;
    //p.subheader = PARTY_SUBHEADER_GG_DESTROY;
    //p.pid = pParty->GetLeaderPID();
    //P2P_MANAGER::instance().Send(&p, sizeof(p));
    TPacketPartyDelete p;
    p.dwLeaderPID = pParty->GetLeaderPID();

    db_clientdesc->DBPacket(HEADER_GD_PARTY_DELETE, 0, &p, sizeof(TPacketPartyDelete));

    m_set_pkPCParty.erase(pParty);
    M2_DELETE(pParty);
}

void CPartyManager::SetPartyMember(DWORD dwPID, LPPARTY pParty)
{
    TPartyMap::iterator it = m_map_pkParty.find(dwPID);

    if (pParty == NULL)
    {
        if (it != m_map_pkParty.end())
            m_map_pkParty.erase(it);
    }
    else
    {
        if (it != m_map_pkParty.end())
        {
            if (it->second != pParty)
            {
                it->second->Quit(dwPID);
                it->second = pParty;
            }
        }
        else
            m_map_pkParty.insert(TPartyMap::value_type(dwPID, pParty));
    }
}

 

 

 

On 8/24/2016 at 11:12 PM, kodepiko said:

What I remember when leader isn't same map as party members they don't receive bonuses.. so when leader logout they of course loss profits... it's correct.

 

You don;t understand. When is offline, all status, hp, mp , dex etc get down, and up, in a second .. I have 12000 hp , in a second is 8000, in a second 12000 ..(etc)

Link to comment
Share on other sites

  • 7 months later...
  • 5 weeks later...

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



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