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 - Soacs-ZirveSoacs | Timecore.cpp Hatası Çözümü - Fix Query Kodu

Knight Online - Soacs | ZirveSoacs | TimeCore.cpp Hatası Giderme Query Kodu 1299 Öncelikle...

Knight Online - Database,veritabanı tablolarının açıklamaları.

Knight Online - Database,veritabanı tablolarının açıklamaları : ACCOUNT_CHAR Bir hesaba ait...

Knight Online - Bütün Clanların Kolluklarını Yakma | G0 Yapma

Knight Online - Bütün Clanların Kolluklarını Yakma | G0 Yapma Öncelikle sunucunuza uzak...

Knight Online - 1299 | Database - DB - Sıfırlama - Bütün veritabanını temizleme

Knight Online Database Sıfırlama - Veritabanı Sıfırlama Temizleme İşlemleri Öncelikle...

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!