- Katılım
- 18 Eyl 2010
- Konular
- 339
- Mesajlar
- 1,022
- Online süresi
- 2ay 27g
- Reaksiyon Skoru
- 1,444
- Altın Konu
- 4
- Başarım Puanı
- 277
- Yaş
- 39
- TM Yaşı
- 15 Yıl 7 Ay 7 Gün
- MmoLira
- 7,105
- DevLira
- 588
Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!
Arat:
Değiştir:
Arat:
Bu Fonksiyonuda Arat:
Kat Ekle:
Arat:
Bu işlevi de değiştirin:
İşte Burda:
Dosyanın Sonuna Ekleyin:
Oyuna gidin / Party.h
Arat:
Sonra Ekle:
C++:
EVENTINFO(party_update_event_info)
{
DWORD pid;
party_update_event_info()
: pid(0)
{
}
};
Değiştir:
C++:
EVENTINFO(party_update_event_info)
{
DWORD pid;
CParty *pParty;
party_update_event_info()
: pid(0)
{
}
};
Arat:
C++:
void CParty::Link(LPCHARACTER pkChr)
{
TMemberMap::iterator it;
if (pkChr->IsPC())
it = m_memberMap.find(pkChr->GetPlayerID());
else
it = m_memberMap.find(pkChr->GetVID());
if (it == m_memberMap.end())
{
sys_err("%s is not member of this party", pkChr->GetName());
return;
}
if (m_bPCParty && !m_eventUpdate)
{
party_update_event_info* info = AllocEventInfo<party_update_event_info>();
info->pid = m_dwLeaderPID;
m_eventUpdate = event_create(party_update_event, info, PASSES_PER_SEC(3));
}
if (it->second.bRole == PARTY_ROLE_LEADER)
m_pkChrLeader = pkChr;
sys_log(2, "PARTY[%d] %s linked to party", GetLeaderPID(), pkChr->GetName());
it->second.pCharacter = pkChr;
pkChr->SetParty(this);
if (pkChr->IsPC())
{
if (it->second.strName.empty())
{
it->second.strName = pkChr->GetName();
}
SendPartyJoinOneToAll(pkChr->GetPlayerID());
SendPartyJoinAllToOne(pkChr);
SendPartyLinkOneToAll(pkChr);
SendPartyLinkAllToOne(pkChr);
SendPartyInfoAllToOne(pkChr);
SendPartyInfoOneToAll(pkChr);
SendParameter(pkChr);
//sys_log(0, "PARTY-DUNGEON connect %p %p", this, GetDungeon());
if (GetDungeon() && GetDungeon()->GetMapIndex() == pkChr->GetMapIndex())
{
pkChr->SetDungeon(GetDungeon());
}
RequestSetMemberLevel(pkChr->GetPlayerID(), pkChr->GetLevel());
}
}
Bu Fonksiyonuda Arat:
C++:
info->pid = m_dwLeaderPID;
Kat Ekle:
C++:
info->pParty = this;
Arat:
C++:
void CParty::Update()
Bu işlevi de değiştirin:
C++:
if (!l)
return;
İşte Burda:
C++:
if (!l)
{
RemoveBonuses();
return;
}
Dosyanın Sonuna Ekleyin:
C++:
void CParty::RemoveBonuses()
{
bool bResendAll = false;
int iNewExpBonus = ComputePartyBonusExpPercent();
if (m_iExpBonus != iNewExpBonus)
{
bResendAll = true;
m_iExpBonus = iNewExpBonus;
}
if (bResendAll)
{
for (TMemberMap::iterator it = m_memberMap.begin(); it != m_memberMap.end(); ++it)
{
if (it->second.pCharacter)
{
ComputeRolePoint(it->second.pCharacter, 0, false);
SendPartyInfoOneToAll(it->second.pCharacter);
}
}
}
}
Oyuna gidin / Party.h
Arat:
C++:
bool IsPartyInDungeon(int mapIndex);
Sonra Ekle:
C++:
void RemoveBonuses();
Son düzenleme:






