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
251
Tepki puanı
80
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: 12
  • 17_ornek_sql_ciktisi.png
    17_ornek_sql_ciktisi.png
    495.7 KB · Görüntüleme: 16
Son düzenleme:
KY Kıdemli Üye
KAYIT
21 Ara 2023
Mesajlar
220
Tepki puanı
51
Haftalardır uğraşıyor gardaşım be , ellerine sağlık gözümünen gördüm valla uğraştı. 👏
 
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.
 
KY Kıdemli Üye
Server Sahibi
KAYIT
5 Kas 2025
Mesajlar
251
Tepki puanı
80
Web
Www.RavionKo.com
Güncelleme: Dış kaynaklardan İtem Ekleme Aktif Edildi.[Wing/Emblem] kanat Forumda mevcut.
'' Daha sonra Özellik bölümü eklenecek DB/TBL taraflı bu işlenecek''
Örn HolyWing İtem icon/İtemİD İtemicon İD'de geçen numara 7haneli, itemNum' sayı sınırına göre ayarlayıp aralarındaki _ leri silip item kodu olarak kendi üretiyor.
Bu item TBL'de kayıtlı ise Hata veriyor Kayıtlı değilse üretip Tbl olarak patch dosyasına kaydediyor.



1791838251663.png
 
Son düzenleme:
Üst Alt