🛡️ 1-105 NewSchool Altyapı Geliştirici Günlüğü 📜

  • Konuyu açan Konuyu açan zBL
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 23
  • Gösterim Gösterim 2K

zBL

Üye
Üye
Mesaj
25
Beğeni
11
Puan
300
Ticaret Puanı
0
Merhaba değerli forum üyeleri, ben Muhammet Ünlü.

Yaklaşık 10 yıldır tutkuyla oynadığım Metin2 dünyasında, bir buçuk yıl önce tesadüfen kaynak dosyalarıyla (source) tanıştım. Başladığımda hiç kod bilgim yoktu, bir yazılımcı sayılmam ancak bu bir yıllık süreçte sistemlerin çalışma mantığını, hata çözmeyi (fix) ve dosyalar arasındaki o karmaşık bağı kurmayı öğrendim. ✨

Şimdi ise kendime temiz bir altyapı belirledim ve bu süreçte yaptıklarımı sizlerle paylaşmak, hem kendime bir not bırakmak hem de keyifli bir günlük tutmak istedim. 🚀

🔥 Bilmeniz Gerekenler1​

  • ❌Profesyonel Değilim: Kendimi usta bir yazılımcı olarak tanımlamıyorum [ YAZILIMCI OLARAK HİÇ TANIMLAMIYORUM ] . Birçoğunuzun bildiği "copy-paste" yöntemini geliştirerek ilerliyorum.
🏗️ Güvenli Kaynak Kullanımı: Sistemleri herhangi bir yerden değil, genellikle açılmış, oyuncular tarafından test edilmiş ve stabil olduğu kanıtlanmış fileslardan söküyorum. Bu sayede en baştan sorunsuz bir yapı inşa etmeyi hedefliyorum. 🏛️

❌ Elimden Geldiğince çıkan bütün syserları çözmeye çalışıyorum temiz bir dosya istiyorum.

  • 🎮 Hobi Amaçlı: Bu proje tamamen kendi keyfim ve öğrenme sürecim için açılmıştır.

Bu yolculukta hatalarım olursa şimdiden affola, her türlü yapıcı eleştiriye ve tavsiyeye açığım. Takipte kalın! 🐉



🚩 Altyapı Bilgisi:
🚩 Martysama 5.8 P23
🚩 FreeBSD 14 / MariaDB 10.11 Güncellendi
🚩 GCC10 - C++20

✨Tüm Fixler Denenerek Eklendi ✨

✔ x10 Statü Verme
✔Official C Panel

1777558624550.webp


✨ Player Mob Target Güncellemesi

1777558901853.webp


#define LONGLONG_HP - HP long long ; a çekildi Gerekli Kontroller Yapıldı - Targette Oluşan Görüntü Fixi Uygulandı
#define DAMAGE_LIMIT_SYSTEM --- HASAR LİMİTİ KALDIRILDI -- Hesaplama test edildi .
#define DOTTED_DMG --- Harfli Hasar Sistemi

1777562226977.webp


🎁 15.03.26
#define YANG_LIMIT_SYSTEM-------------------------------- // Sınırsız Yang Modülü
#define SPECIAL_INVENTORY-------------------------------- // Sql Taraflı K Envanteri -- İtemlerin hangi depoya gideceği sqlden ayarlanır.
#define ITEM_COUNT_LIMIT_SYSTEM------------------------// Stack Sınırı 64.000 olarak ayarlandı
#define ENABLE_ITEM_SLOT_COUNT_K_T_M_SYSTEM-----// K - T - M UYARLANDI

1777572054525.webp


🎁 16.03.26
Nesne Market Güncellemesi

🎇 MP ile alınan itemler tooltipte otomatik [ Mp Nesnesi Ticareti Kapalı ] Yazar . Epten Tamamen Ayrı Çalışır.
🎇 Ticaret, depo, pazar, offline shop ve posta/gönderim işlemlerine kapalıdır.
🎇 Örnek ; Mp İle Alınan Ortalama Efsun Nesnesi İle Kilitsiz Bir Silaha Atıldığında Silahın Ticareti Engellenmez.
🎇 Nesne Market Sandık Önizleme Eklentisi Eklendi .

#define __ITEMSHOP_GIFTCODE__

Nesne Market içerisine Hediye Kodu paneli eklendi. Oyuncular bu panelden belirlenen kodu girerek EP, MP veya item ödülü alabilir.

1777636226623.webp


🌎 Efsun Botu Güncellemesi
#define ENABLE_SWITCHBOT
#ifdef ENABLE_SWITCHBOT
#define ENABLE_SWITCHBOT_OPTIMIZE
#endif

## Server Taraflı Efsun Botu Eklendi Optimize Eklendi.

1777636754348.webp


⚔️ 29.04.26

🎁 #define __ARENA_LEAGUE__

⚔️ Arena League

🥇 SoloQ (1v1)
• Birebir eşleşme sistemi
• Round öncesi bekleme süresi bulunur
• Bekleme sırasında hareket edemez, sadece skill kullanabilirsiniz
• Sabit item ve skill gruplarıyla başlanabilir
• 3 round kazanan maçı alır
• Süre sonunda eşitlikte en fazla hasar veren kazanır

👥 FlexQ (3v3)
• Sadece grup ile giriş yapılabilir
• 50 skora ulaşan takım kazanır

🛒 Arena Market
• Her maç sonunda Market Puanı kazanılır
• Puanlarla özel Arena itemleri satın alınabilir
• Itemler sadece Arena Market’e özeldir

🏆 Sezon Ödülleri
• Sezon sonunda ilk 10 oyuncu özel ödüller kazanır
• İlk 10’da olan oyunculara “Ödülünü Teslim Al” butonu açılır

Adsız.webp


22222222.webp


💥 03.05.26

🌌 Kader Çarkı Güncellemesi. - Otomatik çevir çoklu çevir seçeneği eklendi.
🌌MMR Market Eklendi. - Sadece arenada kazandığınız market puanlarıyla alışveriş yapılır

1.webp


💥 04.05.26

⚽ Etkinlik Takvimi Güncellemesi ----

🌌 Okey Kartı , Yang Çarkı . Blackjack Sadece etkinlik başladığında takvim üzerinden açılır.

1777920990379.webp


💥 07.05.26

🦺 Otomatik Av Sistemi Eklendi. Otomatik Login - Tek Vuruş Modu - Tren Yapmaz.

🔒 Biyolog Sistemi Eklendi. Görevler sql tablosunda eklenip çıkarılabilir.

1778174945310.webp


💥 11.05.26



🛒 Çevrimdışı Pazar Sistemi Eklendi.
🛒 İkarus v2 Ultimate Uzaktan Arama Camı Güncellendi!

🧨 Normal arama camında artık yalnızca aradığınız itemi içeren pazarlar görüntülenir, diğer pazarlar otomatik olarak gizlenir.

✅ Toplu satın alma sistemi eklendi.
✅ Beceri kitapları artık isimleriyle aranabilir.
✅ Adetli itemlerde birim fiyat görüntülenir.
✅ Filtre kısmına adet ve yang filtresi eklendi.
✅ Dungeon ve arena gibi özel bölgeler hariç tüm kanal ve core’lerden alışveriş yapılabilir.


1778954015940.webp


💎16.05.26

⌚ Gelişmiş Işınlanma Paneli

• SQL tablosu üzerinden sistem aktif / pasif olarak yönetilebilir.
• Harita açılış tarihi ayarlanabilir, kalan süre arayüz üzerinden canlı olarak gösterilir.
• Zindan sistemi tamamen yönetilebilir hale getirildi.
• Soğuma süreleri artık hatasız ve senkronize şekilde çalışır.
• Tablo relaod komutuyla anlık güncellenebilir

1778919204072.webp


 
Son düzenleme:
⚔️ 29.04.26

🎁 #define __ARENA_LEAGUE__

⚔️ Arena League

🥇 SoloQ (1v1)
• Birebir eşleşme sistemi
• Round öncesi bekleme süresi bulunur
• Bekleme sırasında hareket edemez, sadece skill kullanabilirsiniz
• Sabit item ve skill gruplarıyla başlanabilir
• 3 round kazanan maçı alır
• Süre sonunda eşitlikte en fazla hasar veren kazanır

👥 FlexQ (3v3)
• Sadece grup ile giriş yapılabilir
• 50 skora ulaşan takım kazanır

🛒 Arena Market
• Her maç sonunda Market Puanı kazanılır
• Puanlarla özel Arena itemleri satın alınabilir
• Itemler sadece Arena Market’e özeldir

🏆 Sezon Ödülleri
• Sezon sonunda ilk 10 oyuncu özel ödüller kazanır
• İlk 10’da olan oyunculara “Ödülünü Teslim Al” butonu açılır

Adsız.webp


22222222.webp


 
Son düzenleme:
💥 03.05.26

🌌 Kader Çarkı Güncellemesi. - Otomatik çevir çoklu çevir seçeneği eklendi.
🌌MMR Market Eklendi. - Sadece arenada kazandığınız market puanlarıyla alışveriş yapılır

1.webp
 
pls şunu kullan:
Genişlet Daralt Kopyala
class SliderBar(Window):

    def __init__(self):
        Window.__init__(self)

        self.curPos = 1.0
        self.pageSize = 1.0
        self.eventChange = None
        self.__internal = False
        self.__CreateBackGroundImage()
        self.__CreateCursor()

    def __del__(self):
        Window.__del__(self)

    def __CreateBackGroundImage(self):
        img = ImageBox()
        img.SetParent(self)
        img.LoadImage("d:/ymir work/ui/game/windows/slider_bg.png")
        img.Show()
        self.backGroundImage = img

        ##
        self.SetSize(self.backGroundImage.GetWidth(), self.backGroundImage.GetHeight())

    def __CreateCursor(self):
        cursor = DragButton()
        cursor.AddFlag("movable")
        cursor.AddFlag("restrict_y")
        cursor.SetParent(self)
        cursor.SetMoveEvent(__mem_func__(self.__OnMove))
        cursor.SetUpVisual("d:/ymir work/ui/game/windows/slider_button.png")
        cursor.SetOverVisual("d:/ymir work/ui/game/windows/slider_button.png")
        cursor.SetDownVisual("d:/ymir work/ui/game/windows/slider_button.png")
        cursor.Show()
        self.cursor = cursor

        ##
        self.cursor.SetRestrictMovementArea(0, -4, self.backGroundImage.GetWidth(), 0)
        self.pageSize = self.backGroundImage.GetWidth() - self.cursor.GetWidth()

    def __OnMove(self):
        if self.__internal:
            return
  
        (xLocal, yLocal) = self.cursor.GetLocalPosition()
        self.curPos = float(xLocal) / float(self.pageSize)
  
        if self.eventChange:
            self.eventChange()

    def SetSliderPos(self, pos):
        self.__internal = True
        self.curPos = pos
        self.cursor.SetPosition(int(self.pageSize * pos), -4)
        self.__internal = False

    def GetSliderPos(self):
        return self.curPos

    def SetEvent(self, event):
        self.eventChange = event

    def Enable(self):
        self.cursor.Show()

    def Disable(self):
        self.cursor.Hide()

1778180331187.webp
 
Son düzenleme:
Geri
Üst