- Katılım
- 23 Eki 2022
- Mesajlar
- 8,016
- Çözümler
- 12
- Tepkime puanı
- 4,736
- Puanları
- 113
- Yaş
- 28
Advanced Blue Sistemi – TAM ANLATIM
1. Sistem Mantığı (Netleştirme)
Bu sistem aslında klasik Silkroad Online Blue System mantığının genişletilmiş halidir.
Normalde:
- Itemlara blue (STR, INT vs.) basılır
- Limitler vardır
Bu sistemde:
- Flag / Avatar / Devil itemlara da blue basılabiliyor
- Ama normal itemdan farklı olarak:
- Gender üzerinden ayrıştırma yapılıyor
- MaxiGuard kontrol ediyor
2. Gerekli Altyapı
MaxiGuard Gender Sistemi
Bu sistem MaxiGuard olmadan çalışmaz.
Mantık:
- Yeni bir gender type oluşturuyorsun
- Örn:
- 0 = Male
- 1 = Female
- 2 = Flag Blue System (senin oluşturduğun)
3. DB (Database) Tarafı – EKSİK OLAN KISIM
Yeni Param Tipleri
Senin verdiğin liste aslında şu tabloya giriyor:
_RefObjCommon / _RefMagicOpt / _RefMagicOptGroup
Ama eksik olan:
1. _RefMagicOpt Tablosu
Her blue burada tanımlı olmalı:
Örnek:
INSERT INTO _RefMagicOpt
VALUES (
4294967368, -- ID
'MATTR_STR_1',
1, -- Param1 (STR)
1, -- Value
...
)
2. _RefMagicOptGroup
Blue gruplama sistemi (EN KRİTİK)
Group 1 → STR
Group 2 → INT
Group 3 → Ignore Def
Group 4 → HP
Group 5 → MP
Group 6 → Damage Inc
Group 7 → Damage Abs
Group 8 → Attack Rate
Group 9 → Parry Rate
Senin listede sondaki rakam bu zaten.
3. Limit Sistemi (4 Blue)
Bunu sağlayan şey:
_MaxMagicOptCount = 4
Ama bu:
- DB'de değil
- Stored Procedure veya Source içinde
4. Stored Procedure (EN ÖNEMLİ)
Eksik olan ana parça bu.
Mantık:
IF (SELECT COUNT(*) FROM _ItemMagicOpt WHERE ItemID = @ItemID) >= 4
BEGIN
RETURN -- yeni blue engellenir
END
Aynı Blue Kontrolü:
IF EXISTS (SELECT * FROM _ItemMagicOpt
WHERE ItemID = @ItemID AND OptGroup = @Group)
BEGIN
-- level artır
UPDATE ...
END
5. Level Sistemi (STR +1 → +5)
Senin sistemin doğru ama eksik anlatılmış:
Mantık:
- Aynı group tekrar basılırsa:
- Level +1 artar
- Max level:
- 5 (STR/INT)
- 3 (% stats)
- 1000 (HP/MP)
6. MaxiGuard Entegrasyonu
Yapılması gereken:
- Yeni gender ekle
- Sadece şu itemlara izin ver:
- Flag
- Avatar
- Devil
Kontrol:
if(item.gender == CUSTOM_GENDER)
{
allow_blue = true;
}
7. PK2 Tarafı (Eksik ama önemli)
Yapman gerekenler:
- Yeni item type oluştur:
- Flag copy
- Icon değiştir
- Name değiştir
Örnek:
ITEM_CH_FLAG_BLUE
8. Kritik Eksikler (Senin konuda olmayanlar)
Bunlar olmazsa sistem çalışmaz:
Stored procedure paylaşılmamış
_RefMagicOpt tam yapısı yok
Group limit kontrol kodu yok
MaxiGuard config yok
Hangi SP kullanılıyor belirtilmemiş
Hangi table'a yazdığı yok (_Inventory mi _Items mı?)
9. Sistem Akış Şeması
- Item kontrol edilir
- Gender kontrol edilir
- Blue sayısı kontrol edilir (max 4)
- Aynı group var mı bakılır
- varsa level artır
- yoksa yeni ekle
- Max level kontrol edilir
- DB'ye yazılır
10. Geliştirme Önerileri
İstersen sistemi upgrade edebilirsin:
4 yerine 6 blue
Rare blue ekleme (% chance)
Fail sistemi (basamayabilir)
Gold / Silk cost ekleme
UI gösterimi (client side)
SONUÇ
Senin paylaşım:
✔ Mantık doğru
Ama teknik olarak %50 eksikBenim anlattığım hali:
✔ Kurulabilir
✔ Geliştirilebilir
✔ Profesyonel
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
