Best Studio 1
Best Studio
D 1
delimuratt
Aliyldrim 1
Aliyldrim
Mt2Hizmet 1
Mt2Hizmet
noisiv 1
noisiv
Manwe Work 1
Manwe Work
melankolıa18 1
melankolıa18
Agora Metin2 1
Agora Metin2
Cannn6161 1
Cannn6161
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

MaviAyGames | Gelişmiş Job Sayım Sistemi (Lycan + İmparatorluk + Yüzdelik Oran)

  • Konuyu başlatan Konuyu başlatan MaviAy44
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 4
  • Görüntüleme Görüntüleme 347

MaviAy44

Emre Kırıcı
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
Yönetici
Katılım
16 Tem 2019
Konular
715
Mesajlar
3,551
Çözüm
47
Online süresi
6mo 20d
Reaksiyon Skoru
2,109
Altın Konu
34
Başarım Puanı
309
MmoLira
19,556
DevLira
122
Ticaret - 100%
7   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!

• Online job dağılımı (Warrior / Assassin / Sura / Shaman / Lycan)
• Yüzdelik oran hesaplama
• Empire (Shinsoo / Chunjo / Jinno) bazlı oyuncu sayısı
• Lag-friendly, DESC üzerinden sayım


Kod:
ACMD(do_jobcount)
{
    int w = 0, a = 0, s = 0, sh = 0, ly = 0;
    int emp1 = 0, emp2 = 0, emp3 = 0;
    int total = 0;

    const DESC_MANAGER::DESC_SET& set = DESC_MANAGER::instance().GetClientSet();
    for (auto it = set.begin(); it != set.end(); ++it)
    {
        LPDESC d = *it;
        if (!d) continue;

        LPCHARACTER tch = d->GetCharacter();
        if (!tch || !tch->IsPC()) continue;

        ++total;

        switch (tch->GetJob())
        {
            case JOB_WARRIOR:   ++w; break;
            case JOB_ASSASSIN:  ++a; break;
            case JOB_SURA:      ++s; break;
            case JOB_SHAMAN:    ++sh; break;
#ifdef ENABLE_WOLFMAN_CHARACTER
            case JOB_WOLFMAN:   ++ly; break;
#endif
            default: break;
        }

        switch (tch->GetEmpire())
        {
            case 1: ++emp1; break; // Shinsoo
            case 2: ++emp2; break; // Chunjo
            case 3: ++emp3; break; // Jinno
            default: break;
        }
    }

    int pw  = total ? w  * 100 / total : 0;
    int pa  = total ? a  * 100 / total : 0;
    int ps  = total ? s  * 100 / total : 0;
    int psh = total ? sh * 100 / total : 0;
    int ply = total ? ly * 100 / total : 0;

    ch->ChatPacket(CHAT_TYPE_INFO,
        "JOBCOUNT | W:%d(%d%%) A:%d(%d%%) S:%d(%d%%) SH:%d(%d%%) LY:%d(%d%%)",
        w, pw, a, pa, s, ps, sh, psh, ly, ply);

    ch->ChatPacket(CHAT_TYPE_INFO,
        "EMPIRE | SHINSOO:%d CHUNJO:%d JINNO:%d | TOTAL:%d",
        emp1, emp2, emp3, total);
}


Cmd tanıması için
ACMD(do_jobcount);

7E220F29-F05D-41AA-A4FB-5A7AE8BBD688.png
 

En Çok Reaksiyon Alan Mesajlar

Paylaşım için teşekkürler
 

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

Geri
Üst