Şans Kutusu Sistemi [C++]

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

kaya4572

ITJA
Katılım
23 Haz 2010
Konular
57
Mesajlar
313
Online süresi
1ay 81344s
Reaksiyon Skoru
191
Altın Konu
0
Başarım Puanı
149
Yaş
28
TM Yaşı
15 Yıl 10 Ay 4 Gün
MmoLira
4,533
DevLira
36

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

Özellikler:​


GM /sanskutusu komutu yazar → sistem online oyuncular arasından rastgele birini seçer.
Seçilen oyuncuya ödül verilir (yang, item, buff vs.).
Tüm oyunculara kazanan duyurulur.

cmd.cpp Komut tanımı:

cmd.cpp:
ACMD YAPISINA //



ACMD(do_luckybox);



KOMUT TARAFINA //



{ "sanskutusu", do_luckybox, GM_HIGH_WIZARD, POS_DEAD, GM_HIGH_WIZARD },

cmd_general.cpp Fonksiyon:

cmd_general.cpp:
ACMD(do_luckybox)
{
    if (CHARACTER_MANAGER::instance().GetCount() < 2)
    {
        ch->ChatPacket(CHAT_TYPE_INFO, "Yeterli oyuncu yok.");
        return;
    }

    std::vector<LPCHARACTER> players;

    CHARACTER_MANAGER::instance().for_each_pc([&players](LPCHARACTER tch){
        if (tch->GetGMLevel() < GM_LOW_WIZARD) // GM'leri hariç tut
            players.push_back(tch);
    });

    if (players.empty())
    {
        ch->ChatPacket(CHAT_TYPE_INFO, "Oyuncu bulunamadı.");
        return;
    }

    int idx = number(0, players.size() - 1);
    LPCHARACTER winner = players[idx];

    // Ödül: 1.000.000 yang
    winner->PointChange(POINT_GOLD, 1000000);
    
    BroadcastNotice("  Şans Kutusu Kazananı: %s! 1.000.000 yang kazandı!", winner->GetName());
}
 
Paylaşım için teşekkürler.

24 saat içerisinde görsel ekleyiniz
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

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