GELİŞTİRİYORUM ⚔️ RAVION CLIENT STUDIO-⚔️ Client-Map-Fx-Dxt-Modelleme Oluşturma Editleme ⚔️

KY Kıdemli Üye
Server Sahibi
KAYIT
5 Kas 2025
Mesajlar
249
Tepki puanı
79
Web
Www.RavionKo.com
🏆RAVION CLIENT STUDIO · Resim-Yazı-Map-Model- Editleme Geliştirme


⚔️RAVION CLIENT STUDIO⚔️


🇹🇷 Knight Online client dosyaları için Türkçe geliştirme stüdyosu





00_ust_banner.png
"Client'ı aç, düzenle, Patch'e yaz." ✍️

🔹 Sürüm: [1.34]
🔹 Yayın tarihi: [-]
🔹 Geliştirici: [RavACS]

Merhaba arkadaşlar 👋

Ravion Client Studio Proje aşamasında olup geliştirici arkadaşlar için örnek olması dileğiyle...
Kendi sunucusunun client'ını hazırlayan herkes bilir: arayüz için bir program, doku için başka bir program, efekt için başka bir araç, harita için bambaşka bir şey… 😵‍💫 Ravion Client Studio bunların hepsini tek bir Türkçe programda topluyor.

Konunun devamında her özelliği önce resmiyle, sonra yazısıyla anlattım. Resimlerin tamamı programın gerçek ekran görüntüleridir 📸
ve anlatılan her özellik test client'ta denenip onaylandı ✅.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

01_kapak.gif


· ⚔️ RAVION CLIENT STUDIO

🧭 Knight Online client dosyaları için Türkçe geliştirme stüdyosu.

Arayüz, doku, model, efekt ve harita dosyalarını aç, incele, düzenle; değişikliklerini ayrı bir Patch klasöründe topla. 📦

💬 "Client'ı aç, düzenle, Patch'e yaz."

🧩 Beş çalışma modu: 📂 Dosyalar · ⭐ Amblem · 🖥️ Arayüz · 🗺️ Harita · 🧍 Modeller

🖥️ Resimdeki ana pencere
  • ⬅️ Solda: client dosya gezgini ve arama.
  • 🎯 Ortada: açık dosyanın önizlemesi (UI\co_logout.uif).
  • ➡️ Sağda: hiyerarşi ve özellikler.

🛡️ En önemli kural: Studio orijinal client'ınıza dokunmaz. Değiştirdiğiniz her dosya, client'taki göreli yoluyla Patch klasörüne yazılır.




02_genel_bakis.png


​
🧩 Tek Programda Beş Çalışma Modu

Farklı dosya türleri için ayrı programlar açmak yerine her şey tek bir ana pencerede. Üst çubuktan mod seçilir; sol panel, açıklamalar ve araçlar moda göre değişir. 🔄

📂 MOD 1 · Dosyalar
Client gezgini ve arama; dosya türüne göre doğru önizleme açılır.

⭐ MOD 2 · Amblem
Item numarasından amblemin modeline, efektine ve logosuna ulaş.

🖥️ MOD 3 · Arayüz
Oyun pencereleri: .uif ve şifreli .xem dosyaları.

🗺️ MOD 4 · Harita
Bölge nesneleri, 2B mini harita ve 3B görünüm.

🧍 MOD 5 · Modeller
Model kataloğu, 3B önizleme ve dışarıdan model alma.

🏷️ Durum işaretleri
✅ OYUNDA DENENDİ: Studio'nun ürettiği dosya test client'ta denendi ve onaylandı. Konudaki tüm özellikler bu işareti taşır.




03_ozellik_01_haritaya_nesne_ekle.png
🗺️ Haritaya Nesne Ekle, Çarpışma Kutusuyla Sabitle

🎯 Ne işe yarar?
Bölge listesinden haritayı seçersiniz; haritadaki tüm nesneler konum, dönüş ve ölçekleriyle tabloda, yerleri mini haritada görünür. Yeni bir nesneyi istediğiniz X/Z koordinatına ekler, etrafına client tarafında çalışan bir çarpışma kutusu koyarsınız. 🧱

🪜 Adım adım
  1. 🗺️ Üst çubuktan Harita moduna geçin, Bölge listesinden haritayı seçin (ör. Moradon).
  2. 📋 Soldaki tabloda nesneleri, sağdaki mini haritada yerlerini görün.
  3. ➕ Nesne ekle panelinde Seç… ile .n3shape nesnesini seçin. Başka klasörden seçilirse ağ ve dokuları da doğrulanıp Patch'e kopyalanır.
  4. 📍 X ve Z yazın ya da haritaya tıklayın; Y zeminden alınır. Dönüş° ve Ölçek ayarlanabilir.
  5. 🧱 Çarpışma kutusu ekle (yalnız client; sunucu ayrı) kutusunu işaretleyin.
  6. ✅ Haritaya Ekle → gerekirse Son İşlemi Geri Al → Patch'e Kaydet.

✨ Öne çıkanlar
  • 🔍 Önizle, Listede Seçileni Önizle, Seçileni Sil, Seçiliye Çarpışma Kutusu Ekle (collesium)
  • 💾 Değişen bölge dosyaları (.opd ve .opdsub) Patch klasörüne yazılır.
  • 🌐 SQL girdisi de oluştur işaretliyse sunucu için .sql dosyası da çıkar.

✅ OYUNDA DENENDİ: Yeni bir nesne Moradon'a yerleştirildi ve oyunda Studio önizlemesiyle aynı göründü. Eklenen çarpışma kutusu karakteri durdurdu, içinden geçilemedi. 🛑

📌 Not: Çarpışma kutusu (collesium) client tarafında çalışır; sunucunun yol bulması ayrıdır.





04_ozellik_02_disaridan_model_al.gif

📦 Dışarıdan Model Al

🎯 Kendi modelini oyunun nesne biçimine dönüştür.
Hazırladığınız ya da bulduğunuz bir 3B modeli oyunun kendi dosya biçimlerine çevirir ve ana pencerede önizler. 🔄

📥 Pencerede listelenen biçimler: OBJ, FBX, glTF, GLB, DAE, 3DS…

🪜 Adım adım
  1. 🧍 Modeller modunda Dışarıdan model al (OBJ/FBX/glTF)… düğmesine basın.
  2. 📁 Model dosyasını seçin; parça, köşe, üçgen sayıları ve boyut hemen görünür.
  3. 📐 Ölçek, Y dönüşü, X dönüşü ve Hizalama (ör. "Tabanı zemine, ortala").
  4. 🔀 Seçin: 🆕 Yeni nesne (object klasörüne yeni dosyalar) ya da ♻️ Oyundaki bir ağın yerine koy (aynı yolla Patch'e).
  5. 👁️ Önizle, beğenince 💾 Patch'e Kaydet.
    Dışardan Alınan Modellerde NPC-MOB-NESNE olarak ayrım yapılabilir
    (Nesne işaretlendiğinde (collessium eklensinmi ? seçeneği ayrıca sorulur!)

✨ Öne çıkanlar
  • 🧾 Ölçek, dönüş ve hizalama; yazılacak dosyalar önceden listelenir.
  • 🎮 Oyunun biçimlerinde çıktı: .n3pmesh, .dxt, .n3shape.
  • 🛡️ Dosyalar client'taki göreli yollarıyla Patch'e yazılır; orijinal client'a dokunulmaz.

✅ OYUNDA DENENDİ: İçe aktarılan nesne oyunda Studio önizlemesiyle aynı göründü.





05_ozellik_03_haritayi_3b_gezin.png

🏰 Haritayı 3B Gezin

🎯 Ne işe yarar?
Seçili bölgeyi zemin dokuları, nesneler, su, efektler ve duvar çizgileriyle serbest kamerayla gezersiniz; haritayı oyuna girmeden Studio içinden incele/ekle/büyült/renk/doku Değiştir🎥

🪜 Adım adım
  1. 🗺️ Harita modunda bölgeyi seçin, 3B Görünüm düğmesine basın.
  2. 🎮 Serbest kamerayla gezin: kuşbakışı, yere inme ve tepeden bakış hazır.
  3. 🌅 Gün saati: gündüz / akşam / gece.
  4. 🛠️ Düzenleme aracını seçip haritada çalışın.

🧰 Düzenleme araçları
  • 🖱️ Nesne seç ve taşı · 🔄 Ctrl + tekerlekle döndür · ⬆️ yükselt · 🗑️ sil
  • 🖌️ Zemin fırçası
  • 🧱 Sağ tık menüsünden çarpışma kutusu (collesium) ekleme

✅ OYUNDA DENENDİ: 3B görünümde yapılan düzenlemeler test client'ta denendi ve onaylandı.

📌 Not: 3B harita Direct3D 11 kullanır.




06_ozellik_04_alan_sec_logo_ve_yazi.gif

· 🎨 Alan Seç: Logo ve Yazı

🎯 Modelin üstüne bir alan çiz; logo ya da yazı dokuya işlensin.
Kale kapısına sunucu adınızı, panolara logonuzu koymak artık çok kolay. 🏯

🪜 Adım adım
  1. 🧍 Modeller modunda modeli açın (ör. kale kapısı obj_war_castlgate.n3shape).
  2. ✏️ Alan Seç Logo/Yazı düğmesine basın, ekranda dikdörtgen çizin; alan modelin dokusuna yansıtılır.
  3. 🔤 Logoyu seçin ya da yazınızı yazın.
  4. ↔️ Alanı taşı, uzat ve döndür; önizleme anında güncellenir.
  5. 💾 Beğenince doku Patch'e kaydedilir.

✨ Öne çıkanlar
  • ✍️ Ekranda dikdörtgen çiz; alan modelin dokusuna yansıtılır.
    ✍️ Oyundaki hazır modellerin yerleri değiştirilebilir.
  • 🔁 Alanı taşı, uzat ve döndür.
  • 🪞 Aynalı okunan kopyalar listelenir, düz çevrilebilir.
  • 👁️ Önizleme geçicidir; beğenince doku Patch'e kaydedilir.

✅ LOGO VE YAZI: OYUNDA DENENDİ — Moradon kapısı panolarına yerleştirilen logolar oyunda istendiği gibi göründü. 🎉



07_ozellik_05_amblem_ve_item.gif

· ⭐ Amblem ve Item

🎯 Item numarasından modele, efekte ve logoya tek adımda ulaş. 🔗

🪜 Adım adım
  1. ⭐ Amblem moduna geçin.
  2. 📜 1 · Amblem ve Kanatlar listesinden seçin ya da arayın: Tümü, Amblem / peri, Kanat, Diğer.
  3. 🔢 2 · Item bölümüne numarayı yazıp Bul (ör. 900709716).
  4. 🎬 Bağlı efekt ortada kendiliğinden oynar; Model (hareketli) ya da Efekt gösterilebilir.
  5. 🖼️ Parçanın dokusunu aç (logo değiştir) ile logo penceresine geçin.

🪄 Logo penceresinde
  • 🖼️ Yeni logo seç… ve Yeni efekt seç.
  • 📏 Oranı koru ya da Efekti logoya uydur; Logo boyutu kaydırıcısı.
  • 👀 Önce / Sonra dokuları ve yeni logoyla efekt önizlemesi.
  • 💾 Patch'e Kaydet — yazılan dosyalar geri okunup doğrulanır.

✨ Öne çıkanlar
  • 🔢 Item numarası → model → efekt → logo dokusu.
  • 🎆 Bağlı efekt ortada kendiliğinden oynar.
  • 🔍 Amblem / peri, kanat ve diğer takılar; ad, numara ya da modele göre arama.
  • 🖼️ Logo penceresinde yeni efekt seçip Patch'e yaz.

✅ OYUNDA DENENDİ: Logo penceresinden seçilen yeni efekt Patch'e yazıldı ve oyunda görüldü.

📌 Not: Logo dokusu tahminle en üste gelir; listeden başka doku seçilebilir.




08_ozellik_06_efekt_oynatici.gif
🎆 Efekt (.fxb) Oynatıcı

🎯 Efekt paketlerini aç, parça parça gör ve oynat. ✨

🪜 Adım adım
  1. 📂 Dosyalar modunda fx klasöründen bir efekt açın ya da arayın (ör. 10th_knight).
  2. ▶️ Efekti oynat; Hız kaydırıcısıyla yavaşlatın ya da hızlandırın.
  3. 🧩 Parça listesinden tek parçayı seçin; Seçili parçaya yakınlaş.
  4. 🎞️ Kareleri oynat ile doku karelerini izleyin.

✨ Öne çıkanlar
  • 📏 Karakter boyu çizgisi ölçek için referans verir.
  • 🔁 Okunan ve yeniden yazılan efekt dosyası bayt bayt aynı çıkar ("round-trip: BİREBİR").
  • 🧷 Parçaları düzenle…, Yeni efekt…, Parçanın dokusunu aç (logo değiştir), Amblem moduna geç.
  • 📊 Sağ panelde paket sürümü, parça sayısı ve ömür bilgileri.

✅ OYUNDA DENENDİ: Efekt oynatıcı test client'ta denendi ve onaylandı.





09_ozellik_07_efekt_parca_duzenleyici.gif

· 🧪 Efekt Parça Düzenleyici

🎯 Efektin parçalarını alan alan düzenle; yeni efekt oluştur. 🔧

🪜 Adım adım
  1. 🎆 Efekt oynatıcıda Parçaları düzenle… düğmesine basın.
  2. 🧩 Üstteki Parça listesinden parçayı seçin.
  3. ✏️ Alanları değiştirin; sağdaki önizleme düzenlenmiş hâli oynatır.
  4. 💾 Patch'e Kaydet.

🧰 Düzenlenebilen alanlar
  • ⏱️ Başlama, ömür, belirme, sönme, doku yolu, kare sayısı, kare hızı
  • 🎨 Karışım (kaynak / hedef)
  • 📍 Konum, hız, ivme, dönüş hızı
  • 🪧 Pano: adet, genişlik, yükseklik, doku döngüsü, ölçek hızı ve ivmesi
  • 📦 Paket ömrü ve paket hızı

➕ Parça işlemleri: Çoğalt · Sil · Başka efektten ekle… · Yeni parça ekle · Bu parçayı geri al · Tümünü geri al · 🆕 Yeni efekt…

🛡️ Kayıt Patch klasörüne, client'taki göreli yolla yapılır; yazılan dosya geri okunup doğrulanır.

✅ OYUNDA DENENDİ: Efekt düzenleme ve yeni efekt oluşturma test client'ta denendi ve onaylandı.




10_ozellik_08_model_katalogu.gif

· 🧍 Model Kataloğu

🎯 Client'taki modelleri kategorilere ayrılmış hâlde bul ve 3B incele. 🔎

🗂️ Kategoriler (test client'taki sayılarla)
⚔️ Silah 405 · 🧥 Pelerin 38 · 🛡️ Üst Zırh 436 · 👖 Alt Zırh 396 · ⛑️ Kask 365 · 🧤 Eldiven 439 · 🥾 Bot 441 · 🧑 Karakter 18 · 👹 Canavar 254 · 🧙 NPC 170 · 🏛️ Nesne 889 · 📦 Diğer Model 226 · 🧩 Diğer Parça 2.358 · Tümü 6.435

🪜 Adım adım
  1. 🧍 Modeller moduna geçin; kategori seçin ya da ad, kod veya türle arayın.
  2. 🖱️ Modele tıklayın, ortada açılır.
  3. 🔄 Döndürün, yakınlaştırın; Ön / Arka / Sol / Sağ / Üst / Alt hazır açılar.
  4. 🖼️ Sağdaki DOKULAR listesinden Aç ile dokuya geçin.

✨ Öne çıkanlar
  • 🗂️ Silah, pelerin, zırh, karakter, canavar, NPC ve nesne kategorileri.
  • 🏷️ Adlar client'ın şifreli tablolarından okunur.
  • 🦴 İskelet, deri ve animasyon klipleri oynatılır.
  • 🧥 Karakterde eşya deneme ve 📤 OBJ olarak dışa aktarma.

✅ OYUNDA DENENDİ: Model kataloğu test client'ta denendi ve onaylandı.





11_ozellik_09_doku_calisma_alani.gif
· 🖼️ Doku Çalışma Alanı

🎯 .dxt, .gtt ve .tct dokularını aç; boyut, biçim, sürüm, mip seviyeleri ve alfa bilgisi tek panelde. 🔬

🪜 Adım adım
  1. 📂 Dosyalar modunda bir doku açın (ör. UI\logout_ka01_1.dxt).
  2. 🔢 Seviye listesinden mip seviyesini seçin.
  3. 🎨 Görünüm: dama zemin (alfa), alfa, R, G, B.
  4. 🛠️ Araçlardan birini kullanın.

🧰 Araçlar
  • 💾 PNG olarak kaydet… (alfa korunur)
  • 🔁 Bu dokuyu dönüştür… / Resimden Doku: A8R8G8B8, X8R8G8B8, A4R4G4B4, R5G6B5, A1R5G5B5, DXT1, DXT3, DXT5; isteğe bağlı mip zinciri; PSNR kalite ölçümü
  • 📌 Bölgeye görsel yapıştır…
  • 🏷️ Logoyu değiştir…

🛡️ Yazılan doku geri okunup doğrulanır.

✅ OYUNDA DENENDİ: Doku çalışma alanı test client'ta denendi ve onaylandı.




12_ozellik_10_yukleme_ekrani_editoru.gif
· 🌄 Yükleme Ekranı Editörü

🎯 Tek bir resimden oyunun yükleme ekranını oluştur. 🖌️

🧩 1024×768 ekran = üç adet 512×512 doku
  • 1️⃣ 1. doku: sol üst
  • 2️⃣ 2. doku: sağ üst
  • 3️⃣ 3. doku: alt şerit (üst yarısı sol alt, alt yarısı sağ alt)

🪜 Adım adım
  1. 🎯 Hedef set'i seçin (ör. Karus 01). Setler oyunun co_logout.uif penceresinden okunur.
  2. 📁 Resim seç… ile yeni resminizi seçin; Studio onu böler ve üç .dxt üretir.
  3. 📐 Yerleşim: Doldur (taşanı kırp) / Sığdır (siyah kenar) / Uzat (oranı boz) ve Kırpma konumu.
  4. 🧪 Doku biçimi (ör. oyunda çalışan setlerle aynı X8R8G8B8 + mip).
  5. 💾 Patch'e Kaydet.

✨ Öne çıkanlar
  • 👀 Mevcut ekran, doku sınırları ve oluşacak üç doku yan yana.
  • 📏 Parça sınırlarını göster.
  • 🧰 Teşhis seti çıkar…, Ekranı PNG kaydet…, 3 DXT'yi klasöre çıkar…

✅ OYUNDA DENENDİ: Studio'nun ürettiği yükleme ekranı dosyaları test client'ta denendi ve onaylandı.

📌 Not: Karus ekranının kaynak dosyaları oyun içi ekran görüntüsüyle eşleştirildi.




13_ozellik_11_arayuz_uif_duzenleyici.gif

· 🖥️ Arayüz (UIF) Düzenleyici

🎯 Oyun pencerelerini oyun ekranı çözünürlüğünde düzenle. 🖱️

🪜 Adım adım
  1. 🖥️ Arayüz modunda bir .uif / .xem açın (ör. UI\re_genie.uif).
  2. 📐 Ekran çözünürlüğünü seçin (ör. 1024×768).
  3. 🌳 Hiyerarşiden ya da önizlemeden öğeyi seçin (ör. btn_option).
  4. ✋ Sürükleyerek taşıyın, kenarlarından boyutlandırın.
  5. 💾 Kaydet… / Farklı Kaydet…

✨ Öne çıkanlar
  • 🌳 Önizleme, hiyerarşi ve salt okunur özellik paneli.
  • ✋ Taşı, boyutlandır, 📑 çoğalt, 🗑️ sil; ✏️ yazı ve 🖼️ doku değiştir.
  • ↩️ Geri al / yinele, 💬 ipucu (tooltip) düzenleme, taşıma alanı.
  • 🔐 .uif ya da şifreli .xem kaydı; 🔑 iki anahtar desteği. (2 farklı Uif Key Kullananlar için)
  • 🎯 Hedef Kaydet penceresinde seçilir: Patch klasörü ya da dosyanın client'taki yeri; kayıttan önce yedek alınır.

✅ OYUNDA DENENDİ: Arayüz düzenlemeleri test client'ta denendi ve onaylandı.

📌 Not: UIF anahtarı programla gelmez; kendi anahtarınızı girersiniz.



14_ozellik_12_menu_aramasi.gif

· ⚡ Menü Araması

🎯 "Ne yapmak istiyorsun?" yaz; Studio seni o düğmeye götürsün. 🔦

🪜 Adım adım
  1. ⌨️ Ctrl + K ile üst çubuktaki arama kutusuna geçin.
  2. 💬 Yapmak istediğinizi yazın (ör. "haritaya ekle").
  3. 📋 Sonucu seçin; en iyi eşleşmenin altında aynı menünün diğer işleri de sıralanır.
  4. ✨ Studio ilgili moda geçer ve düğmeyi altın çerçeveyle gösterir.

✨ Öne çıkanlar
  • 🇹🇷 Türkçe karakterlere duyarsız arama.
  • 🔍 Başlık, grup ve açıklamada eşleşir.
  • ▶️ Dosya ya da pencere açan güvenli komutlar doğrudan çalışır.
  • 🛡️ Ekleme, silme ve kaydetme komutları yalnızca gösterilir.

✅ OYUNDA DENENDİ: Menü araması test edildi ve onaylandı.



15_ozellik_13_yerel_kayit_patch_veritabani.gif

💾 Yerel Kayıt: Patch + Veritabanı

🎯 Client dosyaları Patch klasörüne, sunucu değişiklikleri yerel veritabanına. 🔄

📁 Client tarafı: Patch klasörü
  • 🧭 Dosyalar client'taki göreli yoluyla yazılır; orijinal client'a dokunulmaz.
  • 🗄️ Önceki dosya _backups klasörüne yedeklenir, her kayıt _logs\SAVE_LOG.txt dosyasına yazılır.
  • 📦 Harita kaydında .opd ve .opdsub, model aktarımında .n3pmesh / .n3chr / .dxt gibi tüm dosyalar birlikte yazılır.

🪟 Kaydet penceresi (resimde altta)
  • ☑️ Patch klasörüne kaydet işaretli: dosya Patch'e yazılır.
  • 📂 Hedef Patch klasörü: Seç… / Varsayılan.
  • 🔐 Şifresiz (.uif) ya da Şifreli (.xem).
  • 🎯 Dosyanın yazılacağı yer "Hedef:" satırında önceden gösterilir.

🗺️ Harita kaydı (resimde üstte)
Patch'e Kaydet
düğmesi, altında SQL girdisi de oluştur ve SQL konumu…

🗃️ Sunucu tarafı: yerel veritabanı
  • 🚪 Harita: taşınan ya da silinen kapı gibi olaylı nesneler yerel sunucu veritabanına da işlenir. Yalnız eski konumla eşleşen satırlar değişir; silinen satırlar önce yedek tabloya kopyalanır.
  • 🐉 Canavar / NPC aktarımı: K_MONSTER / K_NPC kaydı (ad, görünüm, boy, seviye; güç değerleri seçilen şablondan) ve doğma noktası (bölge, X/Z, adet, alan, doğma süresi) yerel veritabanına yazılır.

✅ YEREL KAYIT: OYUNDA DENENDİ — Patch kaydı ve yerel veritabanına yazma test edildi ve onaylandı.

📌 Not: Arayüz dosyalarında hedef Kaydet penceresinde seçilir. Veritabanına yazan kayıtlardan sonra GameServer'ı yeniden başlatın. 🔁




16_ozellik_14_uzak_sunucu_icin_sql_girdisi.gif

🌐 Uzak Sunucu için SQL Girdisi (HER YAPILAN İŞLEMDE SORULUR)

🎯 Aynı değişikliği canlı sunucunda çalıştıracağın tek bir .sql dosyası olarak al. 🚀

🖼️ Resimde
  • ⬅️ Solda: canavar olarak içe aktarılan karakter modeli (önizleme).
  • ➡️ Sağda: sunucu kaydı, doğma noktası ve kırmızı çerçeveli "SQL girdisi de oluştur" kutusu.

⚙️ Nasıl çalışır?
  • ☑️ "SQL girdisi de oluştur" işaretli: yerel veritabanına yazılır ve ayrıca .sql dosyası üretilir.
  • ☐ İşaretsiz: yalnızca yerel veritabanına yazılır.
  • 📁 "SQL konumu…" ile klasör seçilir (varsayılan: Masaüstü). Değişiklik yoksa dosya yazılmaz.

🏷️ Dosya adları
  • 🗺️ Harita: RavionKo_SQL_<bölge>_<tarih_saat>.sql
  • 👹 Canavar: ravion_mob_<sSid>_<tarih_saat>.sql
  • 🧙 NPC: ravion_npc_<sSid>_<tarih_saat>.sql

🛡️ Güvenlik
  • 🔒 Tek işlem (transaction): ya hepsi uygulanır ya hiçbiri.
  • 🔁 Tekrar çalıştırmak güvenli; silinen satırlar önce yedek tabloya kopyalanır.
  • 🔍 Dosyanın sonunda kontrol sorguları ve ↩️ geri alma satırları.

✅ SQL GİRDİSİ: OYUNDA DENENDİ — SQL girdisi oluşturma test edildi ve onaylandı.

📌 Not: Veritabanının adı farklıysa dosyadaki USE satırını değiştirin; çalıştırdıktan sonra GameServer'ı yeniden başlatın.





17_ornek_sql_ciktisi.png
🧾 Örnek SQL Çıktısı

Resimde Studio'nun ürettiği iki SQL dosyası var: 🗺️ Harita kaydı ve 🐉 Canavar / NPC kaydı. Tam dosyalar paketteki Ornek_SQL klasöründe. 📂

📋 Dosyanın bölümleri
  1. 🏷️ Başlık: bölge, oluşturma zamanı ve birlikte dağıtılacak client dosyaları
  2. 🔒 İşlem başlangıcı: SET XACT_ABORT ON, BEGIN TRANSACTION
  3. ✏️ Değişiklikler: her satırın üstünde ne yapıldığını anlatan açıklama
  4. ✅ İşlem sonu: COMMIT TRANSACTION
  5. 🔍 Kontrol sorguları ve ↩️ geri alma satırları

🧪 Kısa bir örnek (harita kaydından)

Kod:
USE [VERITABANI_ADI];
SET XACT_ABORT ON;
SET NOCOUNT ON;
BEGIN TRANSACTION;

-- TAŞINDI · olay 4014 (obj_potal_2005_karu), ulus 1, tür 5: X 797.7 Z 526.9 → X 805.2 Y 4.85 Z 531.4
UPDATE [K_OBJECTPOS] SET PosX = 805.2, PosY = 4.85, PosZ = 531.4
WHERE ZoneID IN (21) AND Belong = 1 AND sIndex = 4014 AND Type = 5
  AND ((ABS(PosX - 797.7) <= 0.5 AND ABS(PosZ - 526.9) <= 0.5));
PRINT CONCAT(N'olay 4014: ', @@ROWCOUNT, N' satır güncellendi');

COMMIT TRANSACTION;

📌 Not: Tablo adları sunucunuzdaki gerçek tablodan alınır; örnekte genel adlar kullanıldı.




18_kullanim_adimlari.gif
🚀 İlk Kullanım: 5 Adım

1️⃣ Client klasörünü seçin 📂
Sağ üstteki ⚙ menüsünden client klasörünü gösterin. Studio klasörü tarar ve dosya dizinini çıkarır.

2️⃣ Çalışma klasörünü belirleyin ⚙️
⚙ › Test Alanı ve Yollar. Değişen dosyalar buradaki Patch klasörüne gider; eskileri _backups'a yedeklenir, işlemler _logs\SAVE_LOG.txt'ye yazılır.

3️⃣ Mod seçin 🖥️
Üst çubuktan Dosyalar, Amblem, Arayüz, Harita ya da Modeller.

4️⃣ Düzenleyin ve kaydedin 💾
Kayıt Patch klasörüne yapılır; arayüz dosyalarında hedef Kaydet penceresinde seçilir. Harita ve canavar/NPC kayıtları yerel veritabanına da işlenir; istenirse uzak sunucu için .sql çıkar.

5️⃣ Test edin 🎯
Patch'in numaralı kopyasını (Tests\Test #NNN) oluşturun. Dosyaları test client'a kendiniz kopyalarsınız; Studio kopyalama talimatı hazırlar ama client'a yazmaz. 🛡️

⚙️ Programdaki ayarlar
  • 📂 Client klasörü, Patch hedef klasörü (seç / göster / varsayılana dön)
  • 🧪 Test client, çalışma ve yedek klasörleri
  • 🔑 UIF anahtarı / ikinci UIF anahtarı ("Beni hatırla")
  • 🌐 "SQL girdisi de oluştur" seçeneği ve SQL dosyası konumu
  • ⬅️➡️ Geri / İleri: Alt+Sol / Alt+Sağ ve farenin geri / ileri tuşları



​

🧰 Tek program, beş mod
Arayüz, doku, model, efekt ve harita için ayrı programlar arasında geçiş yok.

🔒 Client'ınız korunur
Değişiklikler Patch klasöründe toplanır, önceki dosya yedeklenir; doku, efekt ve yükleme ekranı kayıtları geri okunup doğrulanır.

☁️ Sunucuya hazır SQL
Yerel veritabanına işlenen değişiklik, uzak sunucu için tek işlemli, tekrar çalıştırılabilir ve geri alınabilir bir .sql dosyası olarak da çıkar.

📏 Biçim sadakati ölçüldü
Gerçek bir client'ta 9.770 .n3pmesh, 3.271 .n3cskins ve 4.465 .n3cpart dosyası okunup yazıldığında bayt bayt aynı çıktı.

🌍 Tamamen Türkçe
Türkçe arayüz ve her işlemin ne yaptığını anlatan açıklama satırları.

✅ Oyunda denendi
Tüm özellikler test client'ta denenip onaylandı: harita, model, doku, efekt, arayüz, menü, yükleme ekranı, yerel kayıt ve SQL girdisi.





💻 Gereksinimler
  • 🪟 Windows (WPF uygulaması; Windows 10 üzerinde geliştirildi ve denendi)
  • ⚙️ .NET 9 (Windows masaüstü)
  • 🎮 3B harita görünümü için Direct3D 11 destekli ekran kartı
  • 📂 Knight Online client klasörü
  • 🔑 Şifreli .xem arayüz dosyaları için kendi UIF anahtarı
  • 🗃️ Yerel veritabanı kaydı için SQL Server (Windows kimlik doğrulaması); uzak sunucuda yalnız .sql dosyası çalıştırılır

ℹ️ Bilmeniz gerekenler
  • 📦 Üretilen dosyaların oyuncularda görünmesi için client'a dağıtılması gerekir; Studio dağıtım yapmaz.
  • 🔁 Veritabanına yazan kayıtlardan sonra GameServer yeniden başlatılır; uzak sunucudaki .sql'i siz çalıştırırsınız.
  • 🧪 Testler tek bir client üzerinde yapıldı; farklı sürümlerde dosya düzeni değişebilir.
  • 🤖 Otomatik testler: 447 testin 447s'i geçti.





Ravion Client Studio; arayüz, doku, model, efekt ve harita araçlarını tek bir Türkçe programda birleştirir 🧩, değişiklikleri Patch klasöründe toplar 💾, sunucu değişikliklerini yerel veritabanına işler 🗃️ ve uzak sunucu için hazır SQL verir 🌐.


✅ OYUNDA DENENDİ VE ONAYLANDI
  • 🗺️ Haritaya nesne ekleme
  • 🧱 Client çarpışma kutusu
  • 🏰 3B harita düzenleme
  • 📦 Dışarıdan model alma
  • 🎨 Logo ve yazı yerleştirme
  • ⭐ Amblem efekti değiştirme
  • 🎆 Efekt oynatıcı
  • 🧪 Efekt düzenleme
  • 🌄 Yükleme ekranı
  • 🖥️ Arayüz düzenleme
  • 💾 Yerel kayıt + veritabanı
  • 🌐 Uzak sunucu SQL girdisi
  • 🧍 Model kataloğu
  • 🖼️ Doku çalışma alanı
  • ⚡ Menü araması

💬 "Client'ı aç, düzenle, Patch'e yaz."
 

Ekli dosyalar

  • 09_ozellik_07_efekt_parca_duzenleyici.gif
    09_ozellik_07_efekt_parca_duzenleyici.gif
    1.5 MB · Görüntüleme: 4
  • 17_ornek_sql_ciktisi.png
    17_ornek_sql_ciktisi.png
    495.7 KB · Görüntüleme: 5
Son düzenleme:
KY Kıdemli Üye
KAYIT
21 Ara 2023
Mesajlar
220
Tepki puanı
49
Haftalardır uğraşıyor gardaşım be , ellerine sağlık gözümünen gördüm valla uğraştı. 👏
 
KY Kıdemli Üye
KAYIT
3 Nis 2024
Mesajlar
175
Çözümler
1
Tepki puanı
82
Web
xoresoft.com
okurken gözüm karardı bu kadar uzun yazdırmaya gerek varmıydı bilmiyorum fakat işçilik düşünce sağlam kolay gelsin hacım bol şans.
 
KY Saygın Üye
Yardımsever
KAYIT
31 May 2023
Mesajlar
223
Çözümler
3
Tepki puanı
583
AI ile Sistem yazmak oldukça basit ve zevkli yani güzel başarılı proje.
 
Üst Alt