İlan
04 Haz 2026 20 çevrimiçi üye Duyurular
Ana Sayfa C++ / C# / Python
Ana Sayfa Forum C++ / C# / Python "Metin Zorunu (Metin Hasarı Limiti) Sorunu SQ...
İlan Yan banner placeholder

"Metin Zorunu (Metin Hasarı Limiti) Sorunu SQL"

Newuserrs 27.04.2026 11:53 1.2K görüntüleme 5 cevap
Son Mesaj
Newuserrs
Üye
Üye
Katılım25 Kas 2025
Konular12
Mesajlar66
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
27.04.2026 11:53 #1
Max vurulacak damageyi sqlden ayarlar ve reload m ile günceller.
​ INSTANCE_TYPE_STONE hatası alırsanız.::
PythonCharacterModule.cpp içinde

PyModule_AddIntConstant(poModule, "INSTANCE_TYPE_NPC",                    CActorInstance::TYPE_NPC);

//altına ekle

    PyModule_AddIntConstant(poModule, "INSTANCE_TYPE_STONE",                    CActorInstance::TYPE_STONE);



İndir
Virüs Total
Sistemin orjinali bu. Bu şekilde kullanmak isterseniz:

Damage Limit Sistemi

Bu sistem, belirlenen metin taşları veya özel moblar için maksimum hasar limiti ekler. Böylece oyuncular bu hedeflere belirlenen değerin üzerinde hasar vuramaz.​
Server Part

Dosya:


Kod:
char_battle.cpp

İçinde arat:

Kod:
bool CHARACTER::Damage

Aşağıdaki koddan önce:

Kod:
        if (pAttacker)
            SendDamagePacket(pAttacker, dam, damageFlag);

Ekle:

Kod:
        std::map<int, int> damageLimits = {
            {8009, 25000},
            {8010, 30000},
            {8011, 35000},
            {8012, 40000},
            {8013, 45000},
            {8014, 50000},
            {8024, 55000},
            {8025, 60000},
            {8026, 70000},
            {8027, 100000},
            {8127, 100000},
            {8158, 100000}
        };

        auto it = damageLimits.find(GetRaceNum());
        if (it != damageLimits.end() && dam > it->second) {
            dam = it->second;
        }

Client Part
Dosya:

Kod:
uitarget.py

Arat:

Kod:
    GRADE_NAME =    {
                        nonplayer.PAWN : localeInfo.TARGET_LEVEL_PAWN,
                        nonplayer.S_PAWN : localeInfo.TARGET_LEVEL_S_PAWN,
                        nonplayer.KNIGHT : localeInfo.TARGET_LEVEL_KNIGHT,
                        nonplayer.S_KNIGHT : localeInfo.TARGET_LEVEL_S_KNIGHT,
                        nonplayer.BOSS : localeInfo.TARGET_LEVEL_BOSS,
                        nonplayer.KING : localeInfo.TARGET_LEVEL_KING,
                    }

Altına ekle:

Kod:
    LIMITE_NIVEL = {
        8009: "25000",
        8010: "30000",
        8011: "35000",
        8012: "40000",
        8013: "45000",
        8014: "50000",
        8024: "55000",
        8025: "60000",
        8026: "70000",
        8027: "100000",
        8127: "100000",
        8158: "100000",
    }

İçinde arat:

Kod:
    def __init__(self):

Arat:

Kod:
        closeButton = ui.Button()

Üstüne ekle:

Kod:
        damageLimitText = ui.TextLine()
        damageLimitText.SetParent(self)
        damageLimitText.SetOutline()
        damageLimitText.SetHorizontalAlignRight()
        damageLimitText.Hide()
        self.damageLimitText = damageLimitText

Aşağıdaki fonksiyondan sonra:

Kod:
    def __ShowMainCharacterMenu(self):

Ekle:

Kod:
    def ShowDamageLimitText(self, vid):
        vnum = nonplayer.GetRaceNumByVID(vid)

        if vnum in self.LIMITE_NIVEL:
            limita_damage = self.LIMITE_NIVEL[vnum]
            self.damageLimitText.SetText("Limita damage este: " + str(limita_damage))
        else:
            self.damageLimitText.SetText("Nu exista limita de damage pentru acest metin.")

        self.damageLimitText.Show()

Arat:

Kod:
    def UpdatePosition(self):

Fonksiyonu bununla değiştir:

Kod:
    def UpdatePosition(self):
        self.SetPosition(wndMgr.GetScreenWidth() / 2 - self.GetWidth() / 2, 10)

        if chr.GetInstanceType(self.vid) == chr.INSTANCE_TYPE_STONE:
            self.SetSize(self.GetWidth(), self.GetHeight() + 20)

            self.ShowDamageLimitText(self.vid)

            self.damageLimitText.SetPosition(self.GetWidth() / 2, 30)
            self.damageLimitText.Show()
        else:
            self.damageLimitText.Hide()

Not

Bu sistemde server tarafı gerçek hasar limitini uygular. Client tarafı ise hedef penceresinde oyuncuya ilgili metin taşı için hasar limitini gösterir.​
Newuserrs
Üye
Üye
Katılım25 Kas 2025
Konular12
Mesajlar66
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
01.05.2026 05:33 #2
Paylaşım için teşekkürler.
Oyuncunun damagesine müdahale etmek nedir ya bırak kaç k vuruyorsa vursun
emrecansahintr
Üye
Üye
Katılım07 Şub 2026
Konular9
Mesajlar61
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
02.05.2026 13:29 #3
Someone previously published a similar system, but it was for Boss. Would adding this line to the system make it work for Stone as well?
Burhanese2007
Üye
Üye
Katılım13 Ara 2025
Konular7
Mesajlar47
Elmas Konular1
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
02.05.2026 14:13 #4
Paylaşım için teşekkürler.
Oyuncunun damagesine müdahale etmek nedir ya bırak kaç k vuruyorsa vursun
isoohub
Üye
Üye
Katılım28 Şub 2026
Konular13
Mesajlar85
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
04.05.2026 18:09 #5
Someone previously published a similar system, but it was for Boss. Would adding this line to the system make it work for Stone as well?
Working for stone bro
mzeydsavluk
Üye
Üye
Katılım12 Nis 2026
Konular5
Mesajlar67
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
05.05.2026 08:36 #6
Teşekkürler
Bu konuyu görüntüleyenler
1 misafir
Cevap yazmak için giriş yapın.
Benzer Konular
6 cevap
2K görüntüleme
9 cevap
1.9K görüntüleme
4 cevap
1.9K görüntüleme
8 cevap
1.9K görüntüleme
İlan Yan banner placeholder