Selamlar vSRO geliştiricileri,
Silkroad Online serverlarında sık kullanılan ve oyunculara rekabet hissi kazandıran sistemlerden biri de Uniq Slayer sistemi. Bu prosedür sayesinde bir unique'i ilk kesen oyuncuya otomatik rütbe (Hwan) ve mesaj verilir.
Bu sistemin çalışma mantığı oldukça basit:
Öncelikle veriyi tutacak tabloyu oluşturmanız gerekiyor:
USE [SRO_VT_LOG]
GO
CREATE TABLE [dbo].[_My_UniqSlayer](
[UniqueID] [int] NOT NULL,
[isKilled] [int] NOT NULL,
[CharName] [varchar](150) NULL
)
Verdiğin prosedürün özeti:
Örnek mapping:
Sistemin en önemli kısmı:
if((select isKilled from SRO_VT_LOG.._My_UniqSlayer where UniqueID = @UniqueID) = 0)
begin
update SRO_VT_LOG.._My_UniqSlayer
set isKilled =1,CharName=@CharName
where UniqueID = @UniqueID
Bu blok sayesinde:
Açık konuşmak gerekirse bu prosedür tam bitmiş değil, aşağıdakileri eklemen gerekir:
Oyuncuya rank vermek için:
EXEC SRO_VT_SHARD.dbo._AddHwan @CharName, @HwanNum
set @Mesaj = 'Tebrikler ' + @CharName + ' bu uniqueyi ilk kesen sen oldun ve Slayer rütbesi kazandın!'
EXEC SRO_VT_SHARD.dbo._GlobalNotice @Mesaj
Yoksa select null döner:
insert into _My_UniqSlayer values (1954,0,null) -- TG
Bu sistem:
✔ Servera rekabet katar
✔ Oyuncu motivasyonunu artırır
✔ PvE içeriğini daha değerli hale getirir
Ama düzgün çalışması için:
Eksik parçaları tamamlaman şart
Silkroad Online serverlarında sık kullanılan ve oyunculara rekabet hissi kazandıran sistemlerden biri de Uniq Slayer sistemi. Bu prosedür sayesinde bir unique'i ilk kesen oyuncuya otomatik rütbe (Hwan) ve mesaj verilir.
Sistem Mantığı
Bu sistemin çalışma mantığı oldukça basit:
- Her unique için bir kayıt tutulur
- İlk kesildiğinde isKilled = 1 olarak işaretlenir
- İlk kesen oyuncunun adı kaydedilir
- Oyuncuya özel Slayer rütbesi (Hwan) verilir
- Global mesaj ile duyuru yapılabilir
Tablo Oluşturma (Zorunlu)
Öncelikle veriyi tutacak tabloyu oluşturmanız gerekiyor:
USE [SRO_VT_LOG]
GO
CREATE TABLE [dbo].[_My_UniqSlayer](
[UniqueID] [int] NOT NULL,
[isKilled] [int] NOT NULL,
[CharName] [varchar](150) NULL
)
Prosedür Mantığı
Verdiğin prosedürün özeti:
- @UniqueID → Kesilen unique ID
- @CharName → Kesen oyuncu
- @HwanNum → Unique'e göre verilecek rank
Örnek mapping:
- Tiger Girl → 36
- Uruchi → 37
- Isyutaru → 38
- Lord Yarkan → 39
- Demon Shaitan → 40
- Roc → 41
- Medusa → 42
- Selkis → 43
- Neith → 44
- Anubis → 45
- Isis → 46
Kritik Çalışma Bloğu
Sistemin en önemli kısmı:
if((select isKilled from SRO_VT_LOG.._My_UniqSlayer where UniqueID = @UniqueID) = 0)
begin
update SRO_VT_LOG.._My_UniqSlayer
set isKilled =1,CharName=@CharName
where UniqueID = @UniqueID
Bu blok sayesinde:- Unique daha önce kesilmemişse işlem yapılır
- Aynı unique için ikinci kez rank verilmez
Eksik / Geliştirilebilir Noktalar
Açık konuşmak gerekirse bu prosedür tam bitmiş değil, aşağıdakileri eklemen gerekir:
1. Hwan Verme Kısmı Eksik
Oyuncuya rank vermek için:
EXEC SRO_VT_SHARD.dbo._AddHwan @CharName, @HwanNum
2. Global Mesaj (Opsiyonel ama Önerilir)
set @Mesaj = 'Tebrikler ' + @CharName + ' bu uniqueyi ilk kesen sen oldun ve Slayer rütbesi kazandın!'
EXEC SRO_VT_SHARD.dbo._GlobalNotice @Mesaj
3. Tabloya UniqueID'leri Önceden Eklemelisin
Yoksa select null döner:
insert into _My_UniqSlayer values (1954,0,null) -- TG
Önemli Uyarılar
- Eğer tablo boşsa sistem çalışmaz
- UniqueID'ler yanlışsa rank vermez
- Prosedür trigger edilmezse hiçbir işe yaramaz (genelde kill event'e bağlanır)
- K-Guard dışında farklı protection sistemlerinde test edilmesi gerekir
Sonuç
Bu sistem:
✔ Servera rekabet katar
✔ Oyuncu motivasyonunu artırır
✔ PvE içeriğini daha değerli hale getirir
Ama düzgün çalışması için:
Eksik parçaları tamamlaman şart
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
