ZirveSunucum'a Hoşgeldiniz

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

SON OLARAK SQL SERVER GIRIP KN_ONLINE VERITABANI DOSYASINA BU PROSEDURU GIRIN :

-- 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 - GM Yapma Query Kodu

Knight Online - Karakterinizi GM Yapın Öncelikle sunucunuza uzak masaüstü bağlantısı yapınız....

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

Knight Online - Query Kodu İle DB Yedek Alma Ö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 - Sağ NP Sıfırlama Kodu

Merhaba,Bu kodu SQL Server'e uygulayıp, tüm kullanıcıların sağ np alanlarını sıfırlayabilirsiniz....

E-Bülten

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