• HyperFilter | DoS Protection | DDoS Protection | DoS Mitigation | DDoS Mitigation | AntiDoS | AntiDDoS | Proxy Shielding

DC olunca karakteri ışınlama

  • Konbuyu başlatan Konbuyu başlatan KORDON
  • Başlangıç tarihi Başlangıç tarihi

KORDON

Kayıtlı Üye
Katılım
19 Eylül 2013
Mesajlar
74
Seamlar Konu Arşivden Alıntıdır



Bir çoğunuz karakter oyuna girince veya oyundan çıkınca bknz. account_login veya account_logout prosedürlerinde savaşta DC olanları



View hidden content is available for registered users!

gibi bir komutu ekleyip bu oyuncuları moradona ışınlıyorsunuz ama bu aslında yanlış bir komut kullanımıdır ve SQL'i aşırı derecede yorar karakter sayısıylada alakalıdır.Bende bunun için bir prosedür hazırladım CZde DC olanları CZ towna atıyor, savaşta DC olanları lunara gidiş kapısına atıyor.Bifrostta DC olanlarıda moradona yolluyor ve sadece bu hesaba bağlı karakterleri yapıyor.




Kod:
CREATE PROCEDURE [dbo].[FIX_WARP] (@strAccountID varchar(30))

AS DECLARE @strNation int, @strCharID1 varchar(30),@strCharID2 varchar(30),@strCharID3 varchar(30)

BEGIN TRAN

SELECT @strNation = bNation , @strCharID1 = strCharID1 , @strCharID2 =  strCharID2, @strCharID3 = strCharID3 from account_char where  strAccountID=@strAccountID

IF @strNation = 1

    BEGIN

    update userdata set Zone = '21' where  Zone = '31' and  (struserid=@strCharID1 or struserid=@strCharID2 or  struserid=@strCharID3)

    update userdata set Zone = '1',px='187730',py='1660',pz='17130'  where (Zone = '101' or Zone = '111' or Zone = '103'  or Zone = '102')  and nation='1' and (struserid=@strCharID1 or struserid=@strCharID2 or  struserid=@strCharID3)

    update userdata set Zone = '201',pz='109300',py='300',px='138000'  where Zone = '201' and Nation='1' and (struserid=@strCharID1 or  struserid=@strCharID2 or struserid=@strCharID3)

    END

ELSE

IF @strNation = 2

    BEGIN

    update userdata set Zone = '21' where  Zone = '31' and  (struserid=@strCharID1 or struserid=@strCharID2 or  struserid=@strCharID3)

    update userdata set Zone = '2',pz='186940',py='2330',px='19910'  where (Zone = '101' or Zone = '111' or Zone = '103'  or Zone = '102')  and nation='2' and (struserid=@strCharID1 or struserid=@strCharID2 or  struserid=@strCharID3)

    update userdata set Zone = '201',pz='92029',py='1150',px='64929'  where (Zone = '201' and Nation='2') and (struserid=@strCharID1 or  struserid=@strCharID2 or struserid=@strCharID3)

    END

COMMIT TRAN



Kullanımı account_logout'a eklenmesi kafi olup EXEC FIX_WARP @AccountID şeklinde ekleyebilirsiniz. Eğer kullandığınız mapler değişikse ve farklı yerlerde doğuyorlar ise onuda kendiniz pz,py,px olarak belirttiğim alanlardan düzeltebilirsiniz.



Kullanımı ...



1 Başlat > Tüm Programlar > Microsoft SQL Server > Query Analyzer ‘ a giriyoruz.

2 SQL Server’ a bağlanıyoruz ve açılan ekranda ” master ” yerine ” DBmizi ” seçiyoruz.

3 Seçtikten sonra aşağıdaki kodu kopyalayıp , yapıştırıyoruz ve F5 yaparak kodumuzu uyguluyoruz.
 
Geri
Üst