Selamlar 2 Anlatım Vardır







1. Alttaki Kodu Enterprise Managerden dbnize eklemeniz erek. Bunuda Enterprise Managere girin. DB nizi seçin Stored Prodecured den ACCOUNT_LOGIN i açın ve içerisindeki kodu alttkai ile değiştirip kapatıp çıkın.









Kod:

select @nRet = count(straccountid) from tb_user where straccountid = @AccountID



if @nRet = 0

begin

insert into tb_user (straccountid, strpasswd, strSocNo, idays) values (@AccountID, @password, 1, '6')

end



select @cnt = count(straccountid) from currentuser

select @nDays = count(nDays) from PREMIUM_SERVICE where straccountid = @AccountID



if @cnt > 40 and @nDays = '0'

begin

set @nRet = 0

end



if @cnt > 40 and @nDays = null

begin

set @nRet = 0

end



DECLARE @Nation tinyint

SET @Nation = 0

-- tid login method by samma 2004.02.24

DECLARE @pwd varchar(13)



SET @pwd = null



SELECT @pwd = strPasswd FROM TB_USER WHERE strAccountID = @AccountID

IF @pwd IS null

BEGIN

SET @nRet = 0

RETURN

END



ELSE IF @pwd @Password

BEGIN

SET @nRet = 0

RETURN

END



SELECT @Nation = bNation FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID

IF @@ROWCOUNT = 0

BEGIN

SET @nRet = 1

RETURN

END

BEGIN

SET @nRet = 1

RETURN

END

BEGIN

SET @nRet = @Nation+1

RETURN

END

GO


2 .Ci Anlatım İse







Yardım bölümleri konusunda vs. sıkça görmeye başladım bende anlatayım dedim. Şimdi size full fix kendi editim olan bir LoginServer vericem. Serverinizi açarken bunu kullanırsınız. Ve geçelim işlemlere;







ACCOUNT_LOGIA \



ACCOUNT_LOGIN \



ACCOUNT_LOGIS \ Bu Prosedürler DB'nizde varsa Siliniz.



MGAME_LOGIN /



My_LOGIN /



MYST_LOGIN /







Ve Şu Kodları Tek Tek Q.A 'dan uygulayın (Prosedürler Bana Ait Değildir!)







Kod#1









Kod:

CREATE PROCEDURE ACCOUNT_LOGIA



@AccountID varchar(21),

@Password varchar(13),

@nRet smallint OUTPUT



AS



select @nRet = count(straccountid) from tb_user where straccountid = @AccountID



if @nRet = 0

begin

insert into tb_user (straccountid, strpasswd, strSocNo, idays) values (@AccountID, @password, 1, '6')

end



----------

declare @ban int , @ban1 int, @ban2 int

select @nRet = count(straccountid) from currentuser

select @ban = authority from userdata where struserid = (select strcharid1 from account_char where straccountid = @AccountID and strcharid1 is not null )

select @ban1 = authority from userdata where struserid = (select strcharid2 from account_char where straccountid = @AccountID and strcharid1 is not null )

select @ban2 = authority from userdata where struserid = (select strcharid3 from account_char where straccountid = @AccountID and strcharid1 is not null )



if @ban = 255 or @ban1 = 255 or @ban2 = 255

begin

Set @nRet = 4

RETURN

end



--CurrentUserdan Silelim

delete from currentuser where straccountid = @AccountID



DECLARE @Nation tinyint

SET @Nation = 0

-- tid login method by samma 2004.02.24

DECLARE @pwd varchar(13)



SET @pwd = null



SELECT @pwd = strPasswd FROM TB_USER WHERE strAccountID = @AccountID

IF @pwd IS null

BEGIN

SET @nRet = 0

RETURN

END



ELSE IF @pwd @Password

BEGIN

SET @nRet = 0

RETURN

END

delete from premium_service Where nDays = '0'

SELECT @Nation = bNation FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID

IF @@ROWCOUNT = 0

BEGIN

SET @nRet = 1

RETURN

END

BEGIN

SET @nRet = 1

RETURN

END

BEGIN

SET @nRet = @Nation+1

RETURN

END

GO

Kod#2









Kod:

CREATE PROCEDURE ACCOUNT_LOGIN

@AccountID varchar(21),

@Password varchar(13),

@nRet smallint OUTPUT



as





select @nRet = count(straccountid) from tb_user where straccountid = @AccountID



if @nRet = 0

begin

insert into tb_user (straccountid, strpasswd, strSocNo, idays) values (@AccountID, @password, 1, '6')

end



--CurrentUserdan Silelim

delete from currentuser where straccountid = @AccountID



declare @ban int , @ban1 int, @ban2 int

select @nRet = count(straccountid) from currentuser

select @ban = authority from userdata where struserid = (select strcharid1 from account_char where straccountid = @AccountID and strcharid1 is not null )

select @ban1 = authority from userdata where struserid = (select strcharid2 from account_char where straccountid = @AccountID and strcharid1 is not null )

select @ban2 = authority from userdata where struserid = (select strcharid3 from account_char where straccountid = @AccountID and strcharid1 is not null )



if @ban = 255 or @ban1 = 255 or @ban2 = 255

begin

Set @nRet = 4

RETURN

end





DECLARE @Nation tinyint, @CharNum smallint

SET @Nation = 0

SET @CharNum = 0



DECLARE @pwd varchar(13)



SET @pwd = null



SELECT @pwd = strPasswd FROM [dbo].[TB_USER] WHERE strAccountID = @AccountID and idays=6

IF @pwd IS null

BEGIN

SET @nRet = 0

--SET @nRet = 4

RETURN

END



ELSE IF @pwd @Password

BEGIN

SET @nRet = 0

--SET @nRet = 3

RETURN

END



DECLARE @gokhantasci varchar(21)

select @gokhantasci = count(straccountid) FROM premium_service WHERE strAccountID = @AccountID



if @gokhantasci = 0

begin

insert into PREMIUM_SERVICE (strAccountID, strType, nDays) VALUES (@AccountID, 1, 3)

end



SELECT @Nation = bNation, @CharNum = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID

IF @@ROWCOUNT = 0

BEGIN

SET @nRet = 1

RETURN

END

IF @CharNum = 0

BEGIN

SET @nRet = 1

RETURN

END

ELSE

BEGIN

SET @nRet = @Nation+1

--SET @nRet = 1

RETURN

END

GO

Kod#3









Kod:

CREATE PROCEDURE ACCOUNT_LOGIs



@AccountID varchar(21),

@Password varchar(13),

@nRet smallint OUTPUT



AS



select @nRet = count(straccountid) from tb_user where straccountid = @AccountID



if @nRet = 0

begin

insert into tb_user (straccountid, strpasswd, strSocNo, idays) values (@AccountID, @password, 1, '6')

end



--CurrentUserdan Silelim

delete from currentuser where straccountid = @AccountID



declare @ban int , @ban1 int, @ban2 int

select @nRet = count(straccountid) from currentuser

select @ban = authority from userdata where struserid = (select strcharid1 from account_char where straccountid = @AccountID and strcharid1 is not null )

select @ban1 = authority from userdata where struserid = (select strcharid2 from account_char where straccountid = @AccountID and strcharid1 is not null )

select @ban2 = authority from userdata where struserid = (select strcharid3 from account_char where straccountid = @AccountID and strcharid1 is not null )



if @ban = 255 or @ban1 = 255 or @ban2 = 255

begin

Set @nRet = 4

RETURN

end







DECLARE @Nation tinyint

SET @Nation = 0

-- tid login method by samma 2004.02.24

DECLARE @pwd varchar(13)



SET @pwd = null



SELECT @pwd = strPasswd FROM TB_USER WHERE strAccountID = @AccountID

IF @pwd IS null

BEGIN

SET @nRet = 0

RETURN

END



ELSE IF @pwd @Password

BEGIN

SET @nRet = 0

RETURN

END

delete from premium_service Where nDays = '0'

SELECT @Nation = bNation FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID

IF @@ROWCOUNT = 0

BEGIN

SET @nRet = 1

RETURN

END

BEGIN

SET @nRet = 1

RETURN

END

BEGIN

SET @nRet = @Nation+1

RETURN

END

GO

Kod#4









Kod:

CREATE PROCEDURE MGAME_LOGIN

@AccountID varchar(21),

@Password varchar(13),

@nRet smallint OUTPUT

AS



DECLARE @Nation tinyint, @CharNum smallint

SET @Nation = 0

SET @CharNum = 0

DECLARE @pwd varchar(13)

SET @pwd = null

SELECT @pwd = strPasswd FROM [dbo].[TB_USER] WHERE strAccountID = @AccountID

IF @pwd IS null

BEGIN

SET @nRet = 0

RETURN

END

ELSE IF @pwd @Password

BEGIN

SET @nRet = 0

RETURN

END

SELECT @Nation = bNation, @CharNum = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID

IF @@ROWCOUNT = 0

BEGIN

SET @nRet = 1

RETURN

END

IF @CharNum = 0

BEGIN

SET @nRet = 1

RETURN

END

ELSE

BEGIN

SET @nRet = @Nation+1

RETURN

END

GO

Kod#5









Kod:

CREATE PROCEDURE My_LOGIN

@AccountID varchar(21),

@Password varchar(13),

@nRet smallint OUTPUT

AS



declare @ban int , @ban1 int, @ban2 int

select @nRet = count(straccountid) from currentuser

select @ban = authority from userdata where struserid = (select strcharid1 from account_char where straccountid = @AccountID and strcharid1 is not null )

select @ban1 = authority from userdata where struserid = (select strcharid2 from account_char where straccountid = @AccountID and strcharid1 is not null )

select @ban2 = authority from userdata where struserid = (select strcharid3 from account_char where straccountid = @AccountID and strcharid1 is not null )

if @ban = 255 or @ban1 = 255 or @ban2 = 255

begin

Set @nRet = 4

RETURN

end

delete from currentuser where straccountid = @AccountID

select @nRet = count(straccountid) from tb_user where straccountid = @AccountID

if @nRet = 0

begin

insert into tb_user (straccountid, strpasswd, strSocNo, idays) values (@AccountID, @password, 1, '6')

end

DECLARE @Nation tinyint, @CharNum smallint

SET @Nation = 0

SET @CharNum = 0

DECLARE @pwd varchar(13)

SET @pwd = null

SELECT @pwd = strPasswd FROM [dbo].[TB_USER] WHERE strAccountID = @AccountID

IF @pwd IS null

BEGIN

SET @nRet = 0

RETURN

END

ELSE IF @pwd @Password

BEGIN

SET @nRet = 0

RETURN

END

DECLARE @PremiumServiceDEC varchar(21)

select @PremiumServiceDEC = count(straccountid) FROM premium_service WHERE strAccountID = @AccountID

if @PremiumServiceDEC = 0

begin

insert into PREMIUM_SERVICE (strAccountID, strType, nDays) VALUES (@AccountID, 1, 3)

end

SELECT @Nation = bNation, @CharNum = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID

IF @@ROWCOUNT = 0

BEGIN

SET @nRet = 1

RETURN

END

IF @CharNum >= 0

BEGIN

SET @nRet = 1

RETURN

END

ELSE

BEGIN

SET @nRet = @Nation+1

RETURN

END

GO

Kod#6









Kod:

CREATE PROCEDURE myst_LOGIN

@AccountID varchar(21),

@Password varchar(13),

@nRet smallint OUTPUT



as



select @nRet = count(straccountid) from tb_user where straccountid = @AccountID



if @nRet = 0

begin

insert into tb_user (straccountid, strpasswd, strSocNo, idays) values (@AccountID, @password, 1, '6')

end



declare @ban int , @ban1 int, @ban2 int

select @nRet = count(straccountid) from currentuser

select @ban = authority from userdata where struserid = (select strcharid1 from account_char where straccountid = @AccountID and strcharid1 is not null )

select @ban1 = authority from userdata where struserid = (select strcharid2 from account_char where straccountid = @AccountID and strcharid1 is not null )

select @ban2 = authority from userdata where struserid = (select strcharid3 from account_char where straccountid = @AccountID and strcharid1 is not null )



if @ban = 255 or @ban1 = 255 or @ban2 = 255

begin

Set @nRet = 4

RETURN

end



--CurrentUserdan Silelim

delete from currentuser where straccountid = @AccountID



DECLARE @Nation tinyint, @CharNum smallint

SET @Nation = 0

SET @CharNum = 0





DECLARE @pwd varchar(13)



SET @pwd = null

EXEC CREATE_NEWACCOUNT @AccountID, @Password, 1, 6, @nRet

SELECT @pwd = strPasswd FROM [dbo].[TB_USER] WHERE strAccountID = @AccountID and idays=6

IF @pwd IS null

BEGIN

SET @nRet = 0

--SET @nRet = 4

RETURN

END



ELSE IF @pwd @Password

BEGIN

SET @nRet = 0

--SET @nRet = 3

RETURN

END



DECLARE @gokhantasci varchar(21)

select @gokhantasci = count(straccountid) FROM premium_service WHERE strAccountID = @AccountID



if @gokhantasci = 0

begin

insert into PREMIUM_SERVICE (strAccountID, strType, nDays) VALUES (@AccountID, 1, 3)

end



SELECT @Nation = bNation, @CharNum = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID

IF @@ROWCOUNT = 0

BEGIN

SET @nRet = 1

RETURN

END

IF @CharNum = 0

BEGIN

SET @nRet = 1

RETURN

END

ELSE

BEGIN

SET @nRet = @Nation+1

--SET @nRet = 1

RETURN

END

GO

Bu kodları QA'dan uyguladık. Geriye Login Server Haber Editlemek kaldı. Login Server'i indirdikten sonra hex editor bulun



Exe'yi açınva "BURAYI EDIT"
şeklinde arayın çıkan yeri editleyin ve güzel güzel kullanın.













Alıntı:









ACCOUNT_LOGIA \



MGAME_LOGIN /



My_LOGIN /



MYST_LOGIN /







Procedureleri gereksiz procedurelerdir. ve Bu procedureler version managerlara özel procedurelerdir yani version managerden ACCOUNT_LOGIN değiştirip MGAME_LOGIN felan yaparlar









Kullanımı ...







1 Başlat > Tüm Programlar > Microsoft SQL Server > Query Analyzer ‘ a giriyoruz.



2 SQL Server’ a bağlanıyoruz ve açılan ekranda ” master ” yerine ” DBmizi ” seçiyoruz.



3 Seçtikten sonra aşağıdaki kodu kopyalayıp , yapıştırıyoruz ve F5 yaparak kodumuzu uyguluyoruz.