Hikayeler

Reklam vermek için turkmmo@gmail.com

Şans Kutusu Sistemi [C++]

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

kaya4572

ITJA
TC Kimlik Numarası Doğrulanmış Üye
Developer
TM Üye
Katılım
23 Haz 2010
Konular
57
Mesajlar
310
Online süresi
1ay 77198s
Reaksiyon Skoru
190
Altın Konu
0
Başarım Puanı
149
Yaş
28
TM Yaşı
15 Yıl 10 Ay 4 Gün
MmoLira
4,530
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)

Geri
Üst