Yani toplam 3 karakter girebiliyor. Stall karakter için bir limit eklemem gerekli. Aslında mantığını anladım, fakat yaparken tereddüt ettim. Çok fazla log tutturacak bir işlem de yapmak istemiyorum. 3. karakter girdiğinde, 1 dakika içinde stall açmazsa oyundan atsın mantığıyla bir şey yapmayı düşünüyorum. Bu konu hakkında yardımcı olabilecek ya da "Mantığı şöyle yaparsan iyi olur" diyebilecek bir kişi var mı?
Çok eski bir web tarayıcısı kullanıyorsunuz. Bu veya diğer siteleri görüntülemekte sorunlar yaşayabilirsiniz..
Tarayıcınızı güncellemeli veya alternatif bir tarayıcı kullanmalısınız.
Tarayıcınızı güncellemeli veya alternatif bir tarayıcı kullanmalısınız.
vSRO Çözüldü Pc Limit:2 Stall Char Limit:1 Olarak Ayarlama (Maxiguard) Bu Konu Hakkında Bilgisi Olan ?
- Konuyu Başlatan Bartu
- Başlangıç tarihi
Çözüm
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
O zaman siz tam olarak belirttiğim şekilde yani Aries Silkroad da ki gibi bir sistem yapmışsınız umarım yakında düzenli bir paylaşım gelirEvet onun için trigger vs yaptım denedim bir sorun yok fakat fazla yük bindirmek istemedim atarım sunucu aldigimda 3. Char girdiğinde stal almazsa 15 saniye içinde disconnet yiyor
Oyla
0
MaxiGuard_User---hwidlist_V2 tablosunu kullanarak aynı hwid id ve ip limit kullanılan 3 char giriş yaptıysa 1 charın lastesregionu 25000, vs vs town bölgelerini yazdım eğer 3 chardan 1 i o bölgede değilse disconnet yedirmek için aşağıdaki prosedürü execlettim
15 saniye delay hakkı verdim notice geçirdim
Triggerlattım okuması içinde
Örnek teleport mantıklı prosedür
Problem Çözülmüştür, Fikir Veren Arkadaşlara Teşekkür Ediyorum Tekrardan...
Peki hwid 4 diyelim oyunda 5. char için bunu yapmak istersek hangi alanları güncellemem gerekli?
Oyla
0
Remonun attığı prosedürü kullanarak kaç cap de serverin ona göre ayarlayabilirsin benim attığım procedur örnek tam kodlari eski sunucuda kaldıPeki hwid 4 diyelim oyunda 5. char için bunu yapmak istersek hangi alanları güncellemem gerekli?
Oyla
0
remonun attığı prosedürün konu başlığı nedir acaba bakıp oradan yapmaya çalışıyımRemonun attığı prosedürü kullanarak kaç cap de serverin ona göre ayarlayabilirsin benim attığım procedur örnek tam kodlari eski sunucuda kaldı
Oyla
0
-- Seviye sınırını belirleyen değişken (dinamik olarak ayarlanabilir)
DECLARE @LevelLimit INT = 101;
-- Donanım kimliğini (HWID) alma
DECLARE @Hwid VARCHAR(128) = (SELECT enigma FROM hwidlist_V2 WITH (NOLOCK) WHERE charname = @Charname);
-- Aynı HWID'e sahip karakterlerin toplam seviyesini hesaplama
DECLARE @TotalLevel INT = (
SELECT SUM(level)
FROM hwidlist_V2 WITH (NOLOCK)
WHERE enigma = @Hwid
);
-- Aynı HWID'e sahip karakterlerin toplam sayısını hesaplama
DECLARE @CharCount INT = (
SELECT COUNT(*)
FROM hwidlist_V2 WITH (NOLOCK)
WHERE enigma = @Hwid
);
-- En son giriş yapan karakteri bulma
DECLARE @LastLoggedChar VARCHAR(25) = (
SELECT TOP 1 charname
FROM hwidlist_V2 WITH (NOLOCK)
WHERE enigma = @Hwid
ORDER BY logindate DESC -- En son giriş yapmış karakter
);
-- Eğer toplam karakter sayısı 3 veya daha fazla ise ve toplam seviye sınırı aşılmışsa
IF @CharCount >= 3 AND @TotalLevel > @LevelLimit
BEGIN
-- Son giren karakteri DC attırma
INSERT INTO MaxiGuard_User.._BridgeCommands (CommandID, Executor, Data1, Data2, Data3, Date)
VALUES ('500', '0', '2', 'Level limit exceeded. Last character disconnected.', @LastLoggedChar, GETDATE());
-- Oyuncuların uyarıyı görmesi için 3 saniye bekletme
WAITFOR DELAY '00:00:03';
-- Disconnect komutunu gönderme
INSERT INTO _BridgeCommands (CommandID, Executor, Data1, Date)
VALUES (1, 'StallAsim', @LastLoggedChar, GETDATE());
END
-- Eğer toplam karakter sayısı 3'e ulaştıysa ve toplam seviye sınırı aşılmadıysa
IF @CharCount >= 3 AND @TotalLevel <= @LevelLimit
BEGIN
-- 3. karakterin sadece 1 seviye olması gerektiğini kontrol eden işlem
IF (SELECT level FROM hwidlist_V2 WHERE charname = @Charname) > 1
BEGIN
INSERT INTO MaxiGuard_User.._BridgeCommands (CommandID, Executor, Data1, Data2, Data3, Date)
VALUES ('500', '0', '2', 'Pc Limit 2 + 1 Char Stall Character Level 1 !', @Charname, GETDATE());
-- Oyuncuların uyarıyı görmesi için 3 saniye bekletme
WAITFOR DELAY '00:00:03';
-- Disconnect komutunu gönderme
INSERT INTO _BridgeCommands (CommandID, Executor, Data1, Date)
VALUES (1, 'StallAsim', @Charname, GETDATE());
END
END
100 lv sınırı olan bir oyun için bunu kullanabilirsiniz konu hakkında fazla kaynak bulamadım bunu keşfettikten sonra geliştirdim. Öncelikle pc limit olayını örnek veriyorum 2+1 yapmak için lv sınırınızın (2x100)+1 şeklinde hesaplanmasını kontrol ediyor. Bunu suistimal etmemeleri için veya yüksek karakterlerin dc olmasından sonra stall charının oyuna etki etmemesi için yine kontrol yapıyor. Bence gayet sağlıklı oldu bir hata olursa çözümlemek için ulaşabilirsiniz
Oyla
0
Bu konuyu görüntüleyen kullanıcılar
Toplam: 2 (Kullanıcı: 0, ziyaretçi: 2)
Benzer konular
vSRO Paylaşım
PC Limit 2+1 Stall Sistemi. (Maxiguard)
- Cevaplar
- 42
- Görüntüleme
- 1K
vSRO Paylaşım
Stall Limit 500 B
- Cevaplar
- 16
- Görüntüleme
- 3K
vSRO Paylaşım
Vsro NPC ( + Limit Bypass Offset )
- Cevaplar
- 11
- Görüntüleme
- 174
- Cevaplar
- 6
- Görüntüleme
- 114
