Çok eski bir web tarayıcısı kullanıyorsunuz. Bu veya diğer siteleri görüntülemekte sorunlar yaşayabilirsiniz.. Tarayıcınızı güncellemeli veya alternatif bir tarayıcı kullanmalısınız.
:mmt-hakkinda:
Metin2’nin orijinal altyapısında bulunan billing sistemi, temel olarak oyunculara süre bazlı oyun erişimi satmak için tasarlanmış bir mekanizmadır. Mantık olarak Elder Scrolls Online benzeri bir model uygular:
Hesabın ya belirli bir oyun süresi vardır, ya da IP / gün / saat bazlı...
:mmt-hakkinda:
Korece konuşmayan bize bir faydası olmadığı gibi hem kod kalabalığı yapıyor hem de encoding bozulması gibi sebeplerle sık sık geliştiricilere sorun çıkarıyor. Bence kaldırmak en doğrusu. Özetle proto'lardaki Korece isim / Lokal isim ikilemini kaldırıp tek sütun kullanacağız...
:mmt-hakkinda:
Metin2’nin çok eski dönemlerinde client bütünlüğünü kontrol etmek amacıyla eklenmiş bir güvenlik mekanizmasıdır. Mantık olarak client çalışırken belleğinden ve exe dosyasından CRC alır, bunu parça parça (MagicCube denilen yöntemle) server’a gönderir ve server da bu değerleri...
:mmt-hakkinda:
Ymir'in bir web panelden server'a komutlar gönderip çeşitli özellikleri açıp-kapadığı, çeşitli oyuncu sayısı bilgilerini edindiği bir sistem. Bu web paneli elimizde olmadığı için kaldırıyoruz. Ancak uğraşmak isteyen tabi kodları okuyup ters mühendislikle bir web panel de...
:mmotutkunlari-logo:
Bu başlık altında konu dışına çıkmadan, YMIR’in yaklaşık 20 yıl önce yazdığı ve günümüz standartlarına göre oldukça problemli olan kod bloklarını refaktör edip, ortaya çıkan sonuçları birbirimizle paylaşalım.
YMIR bu oyunu geliştirmeye başladığında, Visual Studio’da bugün...
Playersettingmodule.py içinde gözüme bir şey çarptı, iki tane efekti yorum satırına almış YMIR.
Bunları yorum satırından çıkarın.
#chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SUCCESS, "", "season1/effect/success.mse")
#chrmgr.RegisterCacheEffect(chrmgr.EFFECT_FAIL, ""...
:mmt-hakkinda:
Linguistic - Metin2 Wiki
Metin2'nin her ülke için ayrı sunucu yürüttüğü dönemlerde, hard role play hissini pekiştirmek için bayraklar arası düşmanlığı ve anlaşmazlığı simgeleyen, farklı bayraktan iki oyuncunun oyunun erken safhalarında birbirleriyle anlaşamaması için iyi...
Office 365 kurulumunu doğrudan çalıştırırsanız muhtemelen hiç kullanmayacağınız Access, Groove, Lync, OneDrive, OneNote, Outlook, Publisher ve Bing gibi uygulamalar da beraberinde kuruluyor. Ben sadece Word, Excel ve Powerpoint istiyorum. Bunun için setup'ı sadece bir configürasyon dosyasıyla...
:mmt-sistem-gereksinimleri:
• DirectX 9
:mmt-hakkinda:
DirectX 9Ex, yaklaşık %30 daha az RAM kullanımı ve 3D cihazın asla kaybolmaması gibi ciddi avantajlara sahip. Yani artık CTRL+Alt+Del çökmeleri yok. İndirdiğiniz .diff dosyasını buraya yapıştırıp yapılması gereken değişiklikleri...
Windows işletim sistemini gerçekten de sadece ama sadece TFT gibi oyunlar ve Visual Studio gibi belli başlı programlar sadece o platformda destekli diye kullanıyordum. Ancak Windows işletim sisteminin koca bir spyware virüsü olması beni hep rahatsız etmiştir. Steam Deck gibi konsolların...
:mmt-hakkinda:
Artık bu tarih öncesi gölge haritası yükleme mantığından kurtulup hem ağaçlar hem de nesneler için uygun gölgeler elde etmemizin zamanı geldi.
Öncesi:
Sonrası:
:mmt-indir:
GitHub...
:mmt-hakkinda:
Aşırı bir değişiklik yapmadım. Sadece derlenip çalışabilecek kadar düzelttim. Bu yüzden deneyimli programcıların bazı genel düzeltmeler ekleyebilmesi için açık kaynaklı olarak paylaşıyorum. Ayrıca İngilizceye de çevirdim, ancak çeviriler muhtemelen çok doğru olmayabilir ve hatta...
:mmt-hakkinda:
Kurmak ve kullanmak için roket fiziği bilmeyi gerektirmeyen, derli toplu, Windows'ta çalışan, Mainline tabanlı bir geliştirme ortamı hazırladım.
Aklınızda bulunması icap eden bazı bilgiler:
Kasten Cmake kullanmadım (Cmake iğrenç bir şeydir) ve ileride de kullanmayı...
Aklımdaki SpeedGrass çalıştırmak, WorldEditor'den eklenebilir yapmak gibi projeler için WorldEditor kaynak koduna giriştim. Uzun uğraşlar sonucu C++23 ile derleyebildim. Ben de WorldEditor Remix kullanmak isterdim ama onun kaynak kodu yok malesef. Şimdilik öncelikli olarak Korece yazıları...
Sıfırdan mainline files yaptıysanız bu hatayı bilirsiniz. Client açılırken çöker ve bu hatayı loglar:
Python int too large to convert to C Long
Bunu genelde uğraşmak istemeyenler PythonUtils.cpp'ye bu defineleri ekleyerek maskeler.
#define PyLong_AsLong PyLong_AsLongLong
#define...
Hiç ellemezseniz doğru çalışsan, ancak oyuna yeni bir eşya tipi veya envanter sayfası veya yeni bir efsun tipi eklemeye çalışırsanız sizi yarı yolda bırakacak olan bazı kodları dinamik yapalım.
Aratın:
const DWORD c_Name_Max_Length = 64;
const DWORD c_FileName_Max_Length = 128;
const DWORD...
Yeni bir UI dizayn paketi satın aldım, hobi olarak Metin2'ye uyarlamak istedim. Uyarlarken fark ettim ki Metin2'nin arayüz elementlerinin hiç biri dinamik boyutlandırılmıyor. 4k monitör de kullansanız envanterin uzunluğu 560pixel, 480p monitör de kullansanız envanter uzunluğu 560pixel.
Demek...
:mmt-hakkinda:
Metin2'nin antik kodunu yavaş yavaş güncelleyelim. Bugünkü işimiz C++20 ile gelen std::ranges fonksiyonları.
Daha temiz ve okunaklı kod
Daha güçlü tip güvenliği ve daha iyi derleyici hataları
Sıra tabanlı (range-based) yapılarla doğal uyum
Iterator kullanımını ortadan kaldırarak...
:mmt-hakkinda:
!!! Uyarı !!! Benim yazdığım hiçbir şeye güvenmeyin veya gözünüz kapalı kaynak kodunuzu değiştirmeyin. Ben yazılımcı değilim.
AreaTerrain.cpp dosyasında gezerken fark ettim. Visual studio bazı fonksiyonlar için "Çok fazla Stack bellek kullanıyor, bunu Heap belleğe almayı...