Sadece item giyme çıkartma ve unique_item timer'ı üzerinden çalışır.
Bir hata olursa yazarsınız çözeriz.
item.cpp ve char_item.cpp güncellendi.
Eğer bir kolda gözükür diğer kolda gözükmez ise client/instanceBase >> game/affect sıra bozukluğunuz var demektir (kronik bir problem zaten düzeltmemişseniz %95 vardır).
Bunun için playersettingsmodule.py'deki efekt sayılarını birer birer arttırıp düşürebilirsiniz.
İndir
VirusTotal
Hata düzeltmesi;
Char_item.cpp
Arat
Kod:
#if defined DBONE_EFFECTS
if (item->GetVnum() == DBONE_VNUM_1){
if (!IsAffectFlag(AFFECT_DBONE_2))
AddAffect(AFFECT_DBONE_1, POINT_NONE, 0,AFF_DBONE1, INFINITE_AFFECT_DURATION, 0, false);
}
if (item->GetVnum() == DBONE_VNUM_2){
if (!IsAffectFlag(AFFECT_DBONE_2))
AddAffect(AFFECT_DBONE_2, POINT_NONE, 0,AFF_DBONE2, INFINITE_AFFECT_DURATION, 0, false);
}
#endif
Kaldır
Arat
Kod:
#if defined DBONE_EFFECTS
if (item->GetVnum() == DBONE_VNUM_1){RemoveAffect(AFFECT_DBONE_1);}
if (item->GetVnum() == DBONE_VNUM_2){RemoveAffect(AFFECT_DBONE_2);}
#endif
Kaldır
item.cpp
Arat
Kod:
bool CItem::EquipTo(LPCHARACTER ch, BYTE bWearCell){[
if (!ch){
sys_err("EquipTo: nil character");
return false;}
Kod:
#if defined DBONE_EFFECTS
if (GetVnum() == DBONE_VNUM_1){
if (!ch->IsAffectFlag(AFFECT_DBONE_2))
ch->AddAffect(AFFECT_DBONE_1, POINT_NONE, 0,AFF_DBONE1, INFINITE_AFFECT_DURATION, 0, false);
}
if (GetVnum() == DBONE_VNUM_2){
if (!ch->IsAffectFlag(AFFECT_DBONE_2))
ch->AddAffect(AFFECT_DBONE_2, POINT_NONE, 0,AFF_DBONE2, INFINITE_AFFECT_DURATION, 0, false);
}
#endif
Kod:
if (IsRideItem())
ClearMountAttributeAndAffect();
Kod:
#if defined DBONE_EFFECTS
if (GetVnum() == DBONE_VNUM_1){m_pOwner->RemoveAffect(AFFECT_DBONE_1);}
if (GetVnum() == DBONE_VNUM_2){m_pOwner->RemoveAffect(AFFECT_DBONE_2);}
#endif
Not: Bu hata düzeltmesi sistemi ilk paylaştığımda ekleyenler içindir. Sonradan indirenlerin yapmasına gerek yoktur. Zaten şu anki dosyalarda mevcut.