noisiv 1
noisiv
Manwe Work 1
Manwe Work
Agora Metin2 1
Agora Metin2
Bvural41 1
Bvural41
Mt2Hizmet 1
Mt2Hizmet
SLyFeLLowTR 1
SLyFeLLowTR
DEVLOPER 1
DEVLOPER
Hikaye Ekle

Şans Kutusu Sistemi [C++]

  • Konuyu başlatan Konuyu başlatan kaya4572
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 2
  • Görüntüleme Görüntüleme 467
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

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!

Ö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ı:

[CODE title="cmd.cpp"]ACMD YAPISINA //



ACMD(do_luckybox);



KOMUT TARAFINA //



{ "sanskutusu", do_luckybox, GM_HIGH_WIZARD, POS_DEAD, GM_HIGH_WIZARD },[/CODE]

cmd_general.cpp Fonksiyon:

[CODE title="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());
}[/CODE]
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

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

Geri
Üst