noisiv 1
noisiv
Manwe Work 1
Manwe Work
Agora Metin2 1
Agora Metin2
Bvural41 1
Bvural41
onur akbaş 1
onur akbaş
IronTalonX 1
IronTalonX
D 1
delimuratt
berzahx 1
berzahx
PrimeAC 1
PrimeAC
DEVLOPER 1
DEVLOPER
ShadowFon 1
ShadowFon
mavzermete 1
mavzermete
Hikaye Ekle

C++ EDİT İTEM KONTROL SİSTEMİ

  • Konuyu başlatan Konuyu başlatan nafizreis
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 30
  • Görüntüleme Görüntüleme 5K

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

tesekkurler
 
SİSTEM MYSQL İTEM_ATTR DE OLAN MAX EFSUNU GEÇEN İTEMLERİN EFSUNUN OTOMATİK DEĞİŞTİRİR.
#input_login.cpp
Kod:
//1. ARA:
    d->SetPhase(PHASE_GAME);
//1. ÜSTÜNE EKLE:
    ch->CheckWrongItems();


#char.cpp
Kod:
//1. ARA:
int    CHARACTER::GetSkillPowerByLevel(int level, bool bMob) const
{
    return CTableBySkill::instance().GetSkillPowerByLevelFromType(GetJob(), GetSkillGroup(), MINMAX(0, level, SKILL_MAX_LEVEL), bMob);
}

//1. ÜSTÜNE EKLE:
void CHARACTER::CheckWrongItems()
{
 
    for (int i = 0; i < INVENTORY_MAX_NUM; ++i)
    {
        LPITEM item;
     
        if (!(item = GetInventoryItem(i)))
            continue;
     
        for (int ia = 0; ia < ITEM_ATTRIBUTE_MAX_NUM; ia++)
        {
            const TPlayerItemAttribute& attr = item->GetAttribute(ia);
            const TItemAttrTable & r = g_map_itemAttr[attr.bType];
         
            if(item->GetAttributeSetIndex() != -1 && attr.sValue > r.lValues[r.bMaxLevelBySet[item->GetAttributeSetIndex()] - 1])
            {
                ChatPacket(CHAT_TYPE_INFO, "Wrong item found : %s, pos = %d, value = %d, max_value = %d",
                                            item->GetName(), i, attr.sValue, r.lValues[r.bMaxLevelBySet[item->GetAttributeSetIndex()] - 1]);
             
  
                 
                item->ChangeAttribute();
                //item->RemoveFromCharacter();
                                                 
                break;
            }
        }
     
        continue;
    }
}

#char.h
Kod:
//1. ARA:
        int        GetSkillPowerByLevel(int level, bool bMob = false) const;
//1. ÜSTÜNE EKLE:
        void     CheckWrongItems();



NOT : SİSTEM SADECE ORTALAMA HASAR VE BECERİ HASARINI GÖRMÜYOR İTEM_ATTR OLMADIĞI İÇİN
BİLENLER YAZARSA EKLERİZ KONUYADA

Dostum bende bi sıkıntı var edit vermediğimhalde silahı tak çıkar yapınca efsunları bozuyor neden?
 
Dostum bende bi sıkıntı var edit vermediğimhalde silahı tak çıkar yapınca efsunları bozuyor neden?
evrim sistemi yoksa sorunsuz çalışıyor fakat evrim sistemi varsa silahda edit efsun olmasa bile silahın evrimi varsa veya leş puanı varsa editlenmiş olarak görüp efsununu değiştiriyor demin denedim sistemi büyük ihtimal senin probleminde bundan dolayıdır.
 
evrim sistemi yoksa sorunsuz çalışıyor fakat evrim sistemi varsa silahda edit efsun olmasa bile silahın evrimi varsa veya leş puanı varsa editlenmiş olarak görüp efsununu değiştiriyor demin denedim sistemi büyük ihtimal senin probleminde bundan dolayıdır.
katılıyorum sana dostum kaldırmayı denedinmi evrimi
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst