- #1
Konu Sahibi
: serkankacan
[SİSTEM & ETKİNLİK] vSRO Max Level İlk 100/110 Oyuncuya Otomatik Ödül Sistemi
_AddLogChar Üzerinden Seviye Sınırına Ulaşan İlk Oyunculara İstismarsız (Anti De-Level) Otomatik Ödül Dağıtımı
_AddLogChar Üzerinden Seviye Sınırına Ulaşan İlk Oyunculara İstismarsız (Anti De-Level) Otomatik Ödül Dağıtımı
Merhaba değerli forum sakinleri,
Yeni açılan sunucularda rekabeti ve kasılma hırsını artırmak amacıyla en çok tercih edilen sistemlerin başında **Max Level Yarışı (İlk X Kişiye Ödül)** gelir. Oyuncu belirlenen tavan seviyeye (Örn: 80, 90, 100, 110 Cap) ulaştığı an sistem otomatik olarak ödülünü envanterine tanımlar ve duyuru geçer.
İnternette paylaşılan eski sorgularda
sec_content hatalı kullanıldığı için normal oyuncular ödül alamamakta, üstelik oyuncular 109'a düşüp tekrar 110 olarak sistemi sonsuz eşya/silk buguna sokabilmektedir.Aşağıda paylaşılan optimize sistem;
- Oyuncunun ödülü daha önce alıp almadığını kontrol ederek **De-Level (seviye düşüp tekrar alma) bugunu %100 engeller**,
- Belirlediğiniz kişi kotası (Örn: **İlk 100 kişi**) dolduğunda ödül dağıtımını otomatik olarak durdurur,
- Tüm ödül alan karakterleri tarih ve sıralama bilgisiyle ayrı bir log tablosunda saklar.
Teknik Bilgilendirme (Event ID)' Alıntı:
- _AddLogChar EventID = 22: Karakterin seviye atladığını (Level Up) belirten Joymax sistem log kodudur.
- @data2: Karakterin atladığı yeni seviyedir (Örn: 110).
- İşlem öncesinde SRO_VT_LOG ve SRO_VT_SHARD yedeklerinizi alınız.
1. ADIM: Ödül Takip Tablosunu Oluşturma
Ödül alanların kaydını tutmak ve tekrar almalarını önlemek için SRO_VT_SHARD üzerinde şu tabloyu oluşturun:
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
2. ADIM: _AddLogChar Prosedürüne Eklenecek Kod
SRO_VT_LOG veritabanındaki **[_AddLogChar]** prosedürünü açın (
Modify) ve AS satırının hemen altına aşağıdaki bloğu ekleyin:
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
3. ADIM: Ödül Kazananları Görüntüleme (Yönetici Sorgusu)
Sunucunuzda seviye ödülünü kazanan oyuncuları sıralı liste halinde görmek için:
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
Nasıl Test Edilir?
- Tabloyu ve prosedürü derledikten sonra oyuna bir test karakteriyle girin.
- Karakteri
109seviyeye getirin ve canavar keserek110seviyeye atlatın. - Çantanıza ödülün geldiğini ve
_MaxLevelRewardstablosuna kaydınızın 1. sıra olarak düştüğünü doğrulayın. - Karakterle canavara ölüp 109'a düşün ve tekrar 110 olun; sistemin de-level kontrolü sayesinde ikinci kez ödül vermediğini test edin.
Sorularınızı ve ek ödül fikirlerinizi konu altından iletebilirsiniz. Herkese keyifli geliştirmeler!
Moderatör tarafında düzenlendi:

