ZirveSunucum'a Hoşgeldiniz! | Telekomünikasyon, Yazılım, Sunucu, Hosting, Domain ve birçok alanda gerçek hizmet için tercihiniz.

Bilgi Bankası

Knight Online - 1299 - Türkçe Karakter Dupe Fixleme - Engelleme

Merhaba, değerli müşterimiz veya okuyucumuz. Bu makalede kullanıcıların oyuna giriş esnasında kullandıkları kullanıcı adlarında Türkçe karakterin nasıl engellenebileceği hakkında bilgi verilmiştir.

Kullanmış olduğunuz anti cheat sisteminiz ne ise ona göre veritabanınızda login prosedürü bulunacaktır. Örneğin bu bir çok oyunda SOACS_LOGIN olabilir. Aşağıda vereceğimiz kodu prosedüre uygulayıp bu sorunu giderebilirsiniz.

Türkçe karakter dupe fixleme için kod :

SOACS_LOGIN VEYA LOGIN PROSEDURUNE AS YAZISINDAN SONRA BU KODU UYGULAYIN :

-- ZirveSunucum || Türkçe Karakter ID kabul etme.
-- ZirveSunucum Information - Only English Character Start
IF dbo.IsValidCharacters(@AccountID) = 1
BEGIN
SET @nRet = 11 -- Please do not use s-g-c-i letters in your Account ID. 
RETURN
END

IF dbo.IsValidCharacters(@Password) = 1
BEGIN
SET @nRet = 11 -- Please do not use s-g-c-i letters in your Account ID. 
RETURN
END
-- ZirveSunucum Information - Only English Character End

CREATE_NEW_CHAR PROSEDURUNE AS YAZISINDAN SONRA BU KODU UYGULAYIN :

-- ZirveSunucum Information - Only English Character
IF dbo.IsValidCharacters(@AccountID) = 1 or dbo.IsValidCharacters(@CharID) = 1
BEGIN
SET @nRet = 4 -- Please do not use s-g-c-i letters in your Account ID. 
RETURN
END
-- ZirveSunucum Information - Only English Character End

YUKARIDAKİ İŞLEMLERDEN ÖNCE SQL SERVER GIRIP KN_ONLINE VERITABANI DOSYASINA BU KODU :

-- ZirveSunucum Information | Security Insert
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[PROC_INSERT_CURRENTUSER]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[PROC_INSERT_CURRENTUSER] GO CREATE PROCEDURE [dbo].[PROC_INSERT_CURRENTUSER] @AccountID varchar(50), @CharID varchar(50), @ServerNo int, @ServerIP varchar(50), @ClientIP varchar(50), @nret smallint output AS BEGIN INSERT INTO CURRENTUSER (nServerNo, strServerIP, strAccountID, strCharID, strClientIP ) Values (@ServerNo, @ServerIP, @AccountID, @CharID, @ClientIP ) DECLARE @RAccountID char(21) SELECT @RAccountID = strAccountID FROM ACCOUNT_CHAR WHERE strCharID1 = @CharID and strCharID1 IS NOT NULL SELECT @RAccountID = strAccountID FROM 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 RETURN END GO IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[IsValidCharacters]') AND type IN ( N'FN', N'IF', N'TF', N'FS', N'FT' )) DROP FUNCTION [dbo].[IsValidCharacters] GO CREATE FUNCTION [dbo].[IsValidCharacters](@SData varchar(8000)) RETURNS INT AS BEGIN /* Author : AKUMA Edit : ZirveSunucum Information */ DECLARE @SDataLen int DECLARE @Loop int DECLARE @Letter varchar(1) DECLARE @RXLetters varchar(8000) DECLARE @Match tinyint SET @RXLetters = 'qwertyuopasdfghjklizxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890_' SET @SDataLen = LEN(@SData) SET @Loop = 1 SET @Match = 0 WHILE @Loop <= (@SDataLen) BEGIN SET @Letter = RTRIM(LTRIM(SUBSTRING(@SData,@Loop,1))) IF CHARINDEX(@Letter,@RXLetters) = 0 BEGIN SET @Match = 1 BREAK END SET @Loop = @Loop + 1 END RETURN @Match END GO
İşlemler bu kadar, iyi çalışmalar diliyoruz.

  • 21 Bu dökümanı faydalı bulan kullanıcılar:
Bu cevap yeterince yardımcı oldu mu?

Knight Online - 1299,1453,15xx,19xx,21xx,22xx,24xx - Online KC Ödül Event Programı

Merhaba sayın okuyucu, bu programı ihtiyaçlarınızı karşılayabilmeniz amacıyla, ücretsiz ve...

Knight Online - 1299 - DB'den Butun Monster Droplarini Silme

Knight Online - 1299 - DB'den | Databaseden Bütün Dropları Silme Öncelikle sunucunuza uzak...

Knight Online - 1299 - Okcu 32K Damage Bugu Fixleme

Knight Online - Okçu 32K Damage Bugu Fixleme Öncelikle sunucunuza uzak masaüstü bağlantısı...

Knight Online - ZirvePanel v10 veya Seven Panel v10 - Adminlik Ekleme/Silme

Knight Online - ZirvePanel v10 ve SevenPanel v10 - Admin kullanıcı adı ekleme veya silme....

Knight Online - 1299 - Atross'a Nova Ekleme Kodu

Knight Online - 1299 - Atross'a Nova Ekleme Kodu Öncelikle sunucunuza uzak masaüstü bağlantısı...

E-Bülten

Yeniliklerden ve kampanyalardan haberdar olmak için e-bülten'e mail adresinizi paylaşın!