Best Studio 1
Best Studio
Agora Metin2 1
Agora Metin2
raderde 1
raderde
Cannn6161 1
Cannn6161
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Mt2Hizmet 1
Mt2Hizmet
melankolıa18 1
melankolıa18
romegames 1
romegames
Krutzo 1
Krutzo
shrpnl 1
shrpnl
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

[C++ / Python] %50 İndirim İle Satın Aldın

  • Konuyu başlatan Konuyu başlatan Okan Çakın
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 4
  • Görüntüleme Görüntüleme 1K

Okan Çakın

Level 4
TM Üye
Katılım
30 May 2023
Konular
38
Mesajlar
456
Çözüm
6
Online süresi
1mo 15d
Reaksiyon Skoru
354
Altın Konu
0
Başarım Puanı
103
MmoLira
11,817
DevLira
90
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!

Herkese Merhaba

Sistemin Çalışma Prensibi Şu Şekilde;


Not:

Matematiksel Hesaplama Anlatımı Metin2'ye Göredir.

Bölüm 1:

1: Eğer "shop_price_cutting" EventFlagı Eşit İse 1'e
2: Mersenne İle Random Sayı Üret (1 , 100)

3: Eğer Random Sayıdan Çıkan Sonuç Küçük ve Eşit İse 50'ye
4: İnt(Tam) Tipi Float(Ondalık) Tipine Dönüştür
5: Nesnenin Ürünü Büyük İse 1'den(1 Bölünemeyeceği İçin)
6: Nesne Satın Alındığında Satış Fiyatı'nın Yarısını Negatifle
7: Python Tarafına Bir Mesaj İlet "%50 İndirim ile satın aldın."

7: Eğer 1'den Büyük Değil İse Normal Satış Fiyatı İle Al.

Bölüm 2:


1: Eğer "shop_price_cutting" EventFlagı Eşit Değil İse 1'e
2: Tüm Satış Fiyatlarını Normal Fiyatı Karşılığında Satın Al.


Bölüm 3:

1: Eğer Random Sayıdan Çıkan Sonuç 50'den Büyük İse
2: Tüm Satış Fiyatlarını Normal Fiyatı Karşılığında Satın Al.



Not:

Won Oyunda Değerli Para Birimi Olduğu İçin Buna Dahil Etmedim. Sistemi Dilediğiniz Gibi Değiştirebilirsiniz.


İşte Kodlarımız:


Shop.cpp Aç ve Arat:

Kod:
ch->PointChange(POINT_GOLD, -dwPrice, true);

Değiştir:

Kod:
    if (quest::CQuestManager::instance().GetEventFlag("shop_price_cutting") == 1)
    {
        std::random_device rd;
        std::mt19937 gen(rd());
        std::uniform_int_distribution<int> distribution(1, 100);
        int shop_buy_random = distribution(gen);

        if (r_item.price > 1 && shop_buy_random <= 50)
        {
            float v0 = static_cast<float>(dwPrice);

            ch->PointChange(POINT_GOLD, -v0 / 2, true);
            ch->ChatPacket(CHAT_TYPE_COMMAND, "PriceCuttingInfo");
        }
        else
        {
            ch->PointChange(POINT_GOLD, -dwPrice, true);
        }

#ifdef __ENABLE_CHEQUE_SYSTEM__
        if (r_item.cheque > 0)
            ch->PointChange(POINT_CHEQUE, -dwCheque, true);
#endif
    }
    else
    {
        if (r_item.price > 0)
            ch->PointChange(POINT_GOLD, -dwPrice, true);

#ifdef __ENABLE_CHEQUE_SYSTEM__
        if (r_item.cheque > 0)
            ch->PointChange(POINT_CHEQUE, -dwCheque, true);
#endif
    }

Root/Game.py Aç ve Arat:

Kod:
        self.serverCommander=stringCommander.Analyzer()
        for serverCommandItem in serverCommandList.items():
            self.serverCommander.SAFE_RegisterCallBack(
                serverCommandItem[0], serverCommandItem[1])

Üstüne Ekle:

Kod:
serverCommandList["PriceCuttingInfo"]                 = self.PriceCuttingInfo

Bunu Game.py En Alta Ekle:

Kod:
    def PriceCuttingInfo(self):
        self.PopupMessage(localeInfo.PRICE_CUTTING_INFORMATION)


Locale_Game.txt Ekle:

Kod:
PRICE_CUTTING_INFORMATION    %50 İndirim ile satın aldın.


KANIT:

1: Resim

Hatırlatma:

Soldaki Yarı Fiyatına Alıyor.

Sağdakine İse Tam Fiyat Yatıyor.

Örneğin:

Ahmet, Kılıç +9'u
1K'ya Satıyor.
Mehmet, Kılıç +9'u
500 Yang Hesabından Kesilerek Alıyor(%50 İndirim İle Satın Aldı).
Ahmetin Hesabına 1K Yatırılıyor.

1: Resim


cutting_test.png



2: GIF

giphy.gif


3: PopupMessage

indirim_popup.png
 
Son düzenleme:

En Çok Reaksiyon Alan Mesajlar

Teşekkürler
 
  • Beğeni
Reactions: Wcn
paylaşım için teşekkürler geliştirilebilir nesne markete buy fonksiyonuna üründen 3 üzeri alışta örneğin .
 
Paylaşım için teşekkürler
 

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

Geri
Üst