BlackFullMoon 1
BlackFullMoon
Agora Metin2 1
Agora Metin2
PrimeAC 1
PrimeAC
ShadowFon 1
ShadowFon
noisiv 1
noisiv
Manwe Work 1
Manwe Work
romegames 1
romegames
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Bvural41 1
Bvural41
NovaLst 1
NovaLst
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

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

nafizreis

Level 7
TM Üye
Katılım
18 Ocak 2012
Konular
163
Mesajlar
1,804
Çözüm
1
Online süresi
37m 13s
Reaksiyon Skoru
62
Altın Konu
0
TM Yaşı
14 Yıl 4 Ay 27 Gün
Başarım Puanı
143
MmoLira
21
DevLira
0
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

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
 
Son düzenleme:
günümüzdeki tüm serverlerde olması gereken bir sistem olduğunu düşünüyorum.
 
BAŞLIĞI OKUMUYORMUSUN KARDEŞİM
 

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

Geri
Üst