Selamlar,
Türkçe Karakterlerle Aynı Anda Girip Dupe Yapılabiliyor Bildiğiniz Üzere ve ACCOUNT_LOGIN vb. LOGIN Procedürlerine Yazılan Bir Çok Türkçe ID Engelleyen Kod, Üyelikte veye Oyuna Girerken Problem Yaratıyor ve %100 Çözüm Olmuyordu.
Şimdi İşte Çözüm
PROC_INSERT_CURRENTUSER'nüzü Açın ve SET @nRet = 1 Yazan Yerin Hemen Üstüne Dikkat Edin Üstüne Altına Değil Alttaki Kodu Yapıştırın ve Kaydedin Bu Kadar.
Alıntı:DECLARE @RAccountID char(21)
/*
Author : AKUMA
Update : 26.07.2009 - 22:45
*/
SELECT @RAccountID = strAccountID FROM ACCOUNT_CHAR WHERE strCharID1 = @CharID and strCharID1 IS NOT NULL
SELECT @RAccountID = strAccountID FROM dbo.ACCOUNT_CHAR WHERE strCharID2 = @CharID and strCharID2 IS NOT NULL
SELECT @RAccountID = strAccountID FROM ACCOUNT_CHAR WHERE strCharID3 = @CharID and strCharID3 IS NOT NULL
IF @RAccountID IS NULL
BEGIN
SET @nRet = 0
RETURN
END
ELSE IF @RAccountID = ''
BEGIN
SET @nRet = 0
RETURN
END
ELSE IF @RAccountID <> @AccountID
BEGIN
SET @nRet = 0
RETURN
END
Yapamıyanlar İçin Komple PROC_INSERT_CURRENTUSER (Ekisini Silin Bunu Koyun Yerine - Query Any.)
Procedürü Silemiyenler Bu Şekilde Silebilir.
Kod:
DELETE PROC PROC_INSERT_CURRENTUSER
Kod:
CREATE PROCEDURE PROC_INSERT_CURRENTUSER
@AccountID char(21),
@CharID char(21),
@ServerNo int,
@ServerIP char(15),
@ClientIP char(15),
@nRet smallint output
AS
/*
Author : AKUMA
Update : 26.07.2009 - 22:12
*/
INSERT INTO CURRENTUSER (nServerNo, strAccountID, strCharID, strServerIP, strClientIP) VALUES (@ServerNo, @AccountID, @CharID,@ServerIP,@ClientIP)
DECLARE @RAccountID char(21)
SELECT @RAccountID = strAccountID FROM ACCOUNT_CHAR WHERE strCharID1 = @CharID and strCharID1 IS NOT NULL
SELECT @RAccountID = strAccountID FROM dbo.ACCOUNT_CHAR WHERE strCharID2 = @CharID and strCharID2 IS NOT NULL
SELECT @RAccountID = strAccountID FROM ACCOUNT_CHAR WHERE strCharID3 = @CharID and strCharID3 IS NOT NULL
IF @RAccountID IS NULL
BEGIN
SET @nRet = 0
RETURN
END
ELSE IF @RAccountID = ''
BEGIN
SET @nRet = 0
RETURN
END
ELSE IF @RAccountID <> @AccountID
BEGIN
SET @nRet = 0
RETURN
END
ELSE
BEGIN
SET @nRet = 1
RETURN
END
alıntı
Türkçe Karakterlerle Aynı Anda Girip Dupe Yapılabiliyor Bildiğiniz Üzere ve ACCOUNT_LOGIN vb. LOGIN Procedürlerine Yazılan Bir Çok Türkçe ID Engelleyen Kod, Üyelikte veye Oyuna Girerken Problem Yaratıyor ve %100 Çözüm Olmuyordu.
Şimdi İşte Çözüm
PROC_INSERT_CURRENTUSER'nüzü Açın ve SET @nRet = 1 Yazan Yerin Hemen Üstüne Dikkat Edin Üstüne Altına Değil Alttaki Kodu Yapıştırın ve Kaydedin Bu Kadar.
Alıntı:DECLARE @RAccountID char(21)
/*
Author : AKUMA
Update : 26.07.2009 - 22:45
*/
SELECT @RAccountID = strAccountID FROM ACCOUNT_CHAR WHERE strCharID1 = @CharID and strCharID1 IS NOT NULL
SELECT @RAccountID = strAccountID FROM dbo.ACCOUNT_CHAR WHERE strCharID2 = @CharID and strCharID2 IS NOT NULL
SELECT @RAccountID = strAccountID FROM ACCOUNT_CHAR WHERE strCharID3 = @CharID and strCharID3 IS NOT NULL
IF @RAccountID IS NULL
BEGIN
SET @nRet = 0
RETURN
END
ELSE IF @RAccountID = ''
BEGIN
SET @nRet = 0
RETURN
END
ELSE IF @RAccountID <> @AccountID
BEGIN
SET @nRet = 0
RETURN
END
Yapamıyanlar İçin Komple PROC_INSERT_CURRENTUSER (Ekisini Silin Bunu Koyun Yerine - Query Any.)
Procedürü Silemiyenler Bu Şekilde Silebilir.
Kod:
DELETE PROC PROC_INSERT_CURRENTUSER
Kod:
CREATE PROCEDURE PROC_INSERT_CURRENTUSER
@AccountID char(21),
@CharID char(21),
@ServerNo int,
@ServerIP char(15),
@ClientIP char(15),
@nRet smallint output
AS
/*
Author : AKUMA
Update : 26.07.2009 - 22:12
*/
INSERT INTO CURRENTUSER (nServerNo, strAccountID, strCharID, strServerIP, strClientIP) VALUES (@ServerNo, @AccountID, @CharID,@ServerIP,@ClientIP)
DECLARE @RAccountID char(21)
SELECT @RAccountID = strAccountID FROM ACCOUNT_CHAR WHERE strCharID1 = @CharID and strCharID1 IS NOT NULL
SELECT @RAccountID = strAccountID FROM dbo.ACCOUNT_CHAR WHERE strCharID2 = @CharID and strCharID2 IS NOT NULL
SELECT @RAccountID = strAccountID FROM ACCOUNT_CHAR WHERE strCharID3 = @CharID and strCharID3 IS NOT NULL
IF @RAccountID IS NULL
BEGIN
SET @nRet = 0
RETURN
END
ELSE IF @RAccountID = ''
BEGIN
SET @nRet = 0
RETURN
END
ELSE IF @RAccountID <> @AccountID
BEGIN
SET @nRet = 0
RETURN
END
ELSE
BEGIN
SET @nRet = 1
RETURN
END
alıntı