🛡️ 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 27
  • Gösterim Gösterim 3K

zBL

Üye
Üye
Mesaj
29
Beğeni
14
Puan
300
Ticaret Puanı
0

🌟 1-105 NewSchool Altyapı Geliştirici Günlüğü 🌟


Merhaba değerli forum üyeleri, ben Muhammet Ünlü.

Yaklaşık 10 yıldır tutkuyla oynadığım Metin2 dünyasında, yaklaşık bir buçuk yıl önce source dosyalarıyla tanıştım. Başladığımda hiçbir kod bilgim yoktu. Kendimi hâlâ profesyonel bir yazılımcı olarak tanımlamıyorum; ancak bu süreçte sistemlerin çalışma mantığını, hata çözmeyi ve dosyalar arasındaki bağlantıları öğrenmeye başladım.

Bu konuyu; hem kendime bir not bırakmak, hem gelişim sürecimi kayıt altına almak, hem de altyapı üzerinde yaptığım yenilikleri sizlerle düzenli şekilde paylaşmak için açtım.

Amacım mümkün olduğunca temiz, stabil, güncel ve geliştirilebilir bir yapı ortaya çıkarmak. Bu süreçte yaptığım eklemeleri, fixleri, testleri ve gelişmeleri bu konu altında parça parça paylaşacağım.



📌 Bilmeniz Gerekenler​


  • 🛠 Profesyonel değilim, öğrenerek ve deneyerek ilerliyorum.
  • 🔎 Sistemleri rastgele yerlerden değil; mümkün olduğunca test edilmiş, stabil olduğu kanıtlanmış kaynaklardan uyarlıyorum.
  • 🧹 Amacım elimden geldiğince syserr ve benzeri sorunları temizleyip düzenli bir altyapı oluşturmak.
  • 🎮 Bu proje tamamen hobi ve öğrenme amaçlıdır.
  • 💬 Hatalarım olabilir; her türlü yapıcı eleştiri ve tavsiyeye açığım.



🧱 Altyapı Bilgisi​


  • ⚙ Martysama 5.8 P23
  • 💾 FreeBSD 14 / MariaDB 10.11
  • 🧠 GCC10 / C++20
  • 💾 Visual Studio 2022 - v143



✨ Eklenen Fixler ve Sistemler​


✅ x10 Statü Verme
✅ Official C Panel

1777558624550.webp

🎯 Player Mob Target Güncellemesi

1777558901853.webp


#define LONGLONG_HP
HP değeri long long yapıya çekildi. Gerekli kontroller yapıldı ve target üzerinde oluşan görüntü problemi giderildi.

#define DAMAGE_LIMIT_SYSTEM
Hasar limiti kaldırıldı, hesaplama testleri yapıldı.

#define DOTTED_DMG
Harfli hasar sistemi eklendi.

1777562226977.webp

#define YANG_LIMIT_SYSTEM
Sınırsız yang modülü eklendi.

#define SPECIAL_INVENTORY
SQL taraflı K envanteri sistemi eklendi. İtemlerin hangi depoya gideceği SQL üzerinden ayarlanabiliyor.

#define ITEM_COUNT_LIMIT_SYSTEM
Stack sınırı 64.000 olarak ayarlandı.

1777572054525.webp

🎥 Sistem Videosu:

Nesne Market güncellendi.

  • 🔒 MP ile alınan itemler tooltip üzerinde otomatik olarak ticarete kapalı iconu gösterir.
  • 🔄 Sistem EP'den tamamen bağımsız çalışır.
  • 📦 Ticaret, depo, pazar, offline shop ve posta/gönderim işlemlerine kapalıdır.
  • 🧩 MP ile alınan bir nesne başka bir item üzerinde kullanıldığında ana itemin ticareti doğrudan engellenmez.
  • 👁 Nesne Market sandık önizleme eklentisi eklendi.

#define __ITEMSHOP_GIFTCODE__

🎟 Nesne Market içerisine hediye kodu paneli eklendi. Oyuncular bu panel üzerinden belirlenen kodu girerek EP, MP veya item ödülü alabilir.

1777636226623.webp

#define ENABLE_SWITCHBOT

#ifdef ENABLE_SWITCHBOT
#define ENABLE_SWITCHBOT_OPTIMIZE
#endif

🧠 Server taraflı efsun botu eklendi.
⚙ Optimizasyon desteği de sisteme dahil edildi.

1777636754348.webp

🎥 Sistem Videosu:

#define __ARENA_LEAGUE__

🏆 Arena League sistemi eklendi.

SoloQ (1v1)

  • ⚡ Birebir eşleşme sistemi
  • ⏳ Round öncesi bekleme süresi bulunur
  • 🎯 Bekleme sırasında hareket edilemez, yalnızca skill kullanılabilir
  • 🧩 Sabit item ve skill gruplarıyla başlanabilir
  • 🥇 3 round kazanan maçı alır
  • 📊 Süre sonunda eşitlik varsa 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 yalnızca Arena Market'e özeldir

Sezon Ödülleri

  • 🎖 Sezon sonunda ilk 10 oyuncu özel ödüller kazanır
  • 📦 İlk 10 içinde olan oyunculara "Ödülünü Teslim Al" butonu açılır

Adsız.webp

22222222.webp

🎥 Sistem Videosu:

🌌 Kader Çarkı güncellemesi yapıldı.

  • 🔁 Otomatik çevir seçeneği eklendi
  • 🎯 Çoklu çevir seçeneği eklendi

🛍 MMR Market eklendi.
Sadece arenadan kazanılan market puanlarıyla alışveriş yapılabilir.

1.webp

🎥 Sistem Videosu:

⚽ Etkinlik Takvimi güncellemesi yapıldı.

  • 🎴 Okey Kartı
  • 🎰 Yang Çarkı
  • 🃏 Blackjack

Bu sistemler artık yalnızca etkinlik başladığında takvim üzerinden aktif olur.

1777920990379.webp

🎥 Sistem Videosu:

🦾 Otomatik Av Sistemi eklendi.

  • 🔐 Otomatik login
  • ⚔ Tek vuruş modu
  • 🚫 Tren yapmama özelliği


🎥 Sistem Videosu:

🧪 Biyolog Sistemi eklendi.

Görevler SQL tablosu üzerinden eklenip kaldırılabilir.

1778174945310.webp

🎥 Sistem Videosu:

🛍 Ç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österilir
  • 🙈 Diğer pazarlar otomatik olarak gizlenir
  • 🛒 Toplu satın alma sistemi eklendi
  • 📚 Beceri kitapları artık isimleriyle aranabilir
  • 💰 Adetli itemlerde birim fiyat gösterilir
  • ⚙ Filtre bölümüne 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

🎥 Sistem Videosu:

⌛ Gelişmiş Işınlanma Paneli eklendi.

  • ⚙ SQL tablosu üzerinden aktif / pasif 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 senkronize ve hatasız çalışacak şekilde düzenlendi
  • 📡 Tablo reload komutuyla anlık güncelleme yapılabilir

1778919204072.webp

🎥 Sistem Videosu:

PVM Evrim Sistemi eklendi.

  • 💎 Sadece evrim taşı ile seviye yükselir
  • 🚫 Mob veya metin keserek evrim seviyesi yükselmez
  • 📈 Toplam 7 seviye bulunur
  • 🔥 Son seviyede 700'er oran PVM efsun bonusu verir
  • ⚡ 7. seviyede evrim gücü açılır
  • 📊 Örnek ; Bar yüzde 50 doluysa ek olarak +350 oran sağlar
  • 🛡 Sadece belirlenen silah ve zırhlarda çalışır

1783184763437.webp

🎥 Sistem Videosu:

Hızlı Beceri Okuma - Yeni Pasif Skiller
  • 🔥 Gerekli fixler uygulandı.
  • ⚡ Pasif beceriler 30. seviyeye kadar gelistirilebilir. Her seviyede gereken kitap sayisi becerinin mevcut seviyesine göre degisir.

1782836561359.webp

🎥 Sistem Videosu:

Sandık Önizleme - Hızlı Sandık Açma
  • ⚡ Tek seferde 10.000 sandık açılabilir sunucuya gereksiz yük bindirmeden işlem yapar lag kasma yapmaz.

1782935252645.webp

Yeni Giriş Ekranı
  • 🔒 Kaydedilen hesaplar windows kayıt defterinde tutulur
  • 🔒 DPAPI Şifrelemesi ile kaydedilir.
1782901571136.webp

📝 Karakter Detay - İstatik Sistemi

1782935950378.webp

🎥 Sistem Videosu:

Aenor2’de görüp beğendiğimiz Battle Pass sistemini uyarladık.

Premium Battlepass Sistemi
  • ⚡ Görevler ve ödüller kolaylıkla sql tablosundan eklenip ayarlanabilir.
  • 😎 Her Görevden 3 Adete ödül efsun verilebilir.
  • 💫 Premium BP aktif edildiğinde görevlerden altın külçe elde edilir bp marketten değerli eşyalar alınır. ve item sil kategorisi kilidi açılır.
  • 🐱‍🏍 İsteğe göre oyun süresi , item üret gibi yeni görevler eklenebilir.

1783178373528.webp

🔰 FoxFs - Düzenli Klasör

1783178458498.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