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 - Database Yedekleme - Query Kodu

Knight Online - Query Kodu İle DB Yedek Alma Öncelikle sunucunuza uzak masaüstü bağlantısı...

Knight Online - 1299 - Soacs & ZirveSoacs - GM Kodlari

/// Gm Kodları : Bilinen ve Bilinmeyen Komutlar \\\ Açıklamaları ile birlikte yazılmıştır,...

Knight Online - 1299 - Sembol res atma islemi - Symbol Res

Knight Online - Server'e sembol reset atma işlemi.. Öncelikle sunucunuza uzak masaüstü...

Knight Online - Drop Duzenleme, Item Grubu Olusturma/Silme Detaylı Bilgi

Drop Duzenleme, Item Grubu Olusturma/Silme Detaylı Bilgi Öncelikle sunucunuza uzak masaüstü...

Knight Online - 1299 - Aiserver Açılmama Sorunu Çözümü

Knight Online - 1299 - Aiserver Açılmama Sorunu Çözümü Sorunun tek bir çözümü vardır, bir önceki...

E-Bülten

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