- #1
Konu Sahibi
: serkankacan
[GÜVENLİK & BUG FİX] vSRO F1 Tuşu (Help / Tutorial) Donma & Crash Bug Fix
_CharQuest ve _RefCharDefault_Quest Üzerinden Başlangıç Rehber Görevini (QuestID = 1) Tamamlandı Olarak Tanımlama
_CharQuest ve _RefCharDefault_Quest Üzerinden Başlangıç Rehber Görevini (QuestID = 1) Tamamlandı Olarak Tanımlama
Merhaba değerli forum sakinleri,
Silkroad Online sunucularında oyuncuların oyuna ilk girdiğinde veya yanlışlıkla klavyeden **F1** tuşuna bastığında istemcinin (Client) kilitlenmesi, yanıt vermemesi veya doğrudan masaüstüne çökmesi (Crash) en sık karşılaşılan can sıkıcı sorunlardan biridir.
Sorunun Nedeni:
Orijinal Silkroad istemcisi F1 tuşuna basıldığında başlangıç rehber görevini (
QuestID = 1 - Help/Tutorial) tetiklemeye çalışır. Eğer karakterin veritabanında bu görevin tamamlandığına dair geçerli bir bitiş bayrağı (Status = 5) yoksa, istemci arayüzü çizemez ve kilitlenir.Aşağıda hem sunucudaki **tüm mevcut karakterlerin** F1 bugunu anında çözen güvenli sorguyu hem de **yeni açılacak karakterlerde** sorunun tekrarlanmasını önleyen başlangıç ayarlarını bulabilirsiniz.
Kritik Bilgilendirme & Hazırlık' Alıntı:DİKKAT:
- Bu sorgu
Status = 5değeri ile rehber görevini tamamlandı olarak kaydeder; böylece F1 tetikleyicisi donma yapmadan sessizce kapanır.- İşlem öncesinde GameServer modüllerinizin kapalı olması (veya bakım modunda olmanız) veri kilitlenmelerini önlemek adına önerilir.
- İşlem öncesinde SRO_VT_SHARD yedeğinizi almayı unutmayınız.
1. ADIM: Mevcut Karakterlerin F1 Bugunu Düzeltme (ÖNERİLEN)
SRO_VT_SHARD veritabanını seçip aşağıdaki optimize bloğu çalıştırın. Bu sorgu silinmiş karakterleri atlar ve mevcut kayıtları güvenle günceller:
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
2. ADIM: Yeni Açılacak Karakterler İçin Kalıcı Çözüm
Sadece mevcut karakterleri düzeltmek yetmez; yarın oyuna kayıt olup yeni karakter açan bir oyuncunun da aynı kilitlenmeyi yaşamaması için **_AddNewChar** prosedürüne şu kontrolü ekleyebilirsiniz.
SRO_VT_SHARD.._AddNewChar prosedürünü açın (
Modify) ve COMMIT TRANSACTION satırının hemen üstüne şu bloğu yapıştırın:
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
Nasıl Test Edilir?
- Sorguyu çalıştırdıktan sonra GameServer pencerelerini yeniden başlatın.
- Oyuna herhangi bir karakterle giriş yapın.
- Klavyeden **F1** tuşuna birkaç kez art arda basın.
- İstemcinin donmadığını, çökmediğini ve oyunun akıcı şekilde devam ettiğini doğrulayın.
- Yeni sıfır bir karakter açıp oyuna girerek aynı tuşu onda da test edin.
Sorularınızı ve takıldığınız yerleri bu konu altından iletebilirsiniz. Herkese keyifli ve sorunsuz geliştirmeler!
Moderatör tarafında düzenlendi:

