ctgwglzc 发表于 2008-11-1 01:55:17

Fix Aujard & Fix Login Server & Fix Procedureler

1-)Account_Logout--Hazırlayan Neo_TR
CREATE PROCEDURE ACCOUNT_LOGOUT
@AccountID    varchar(21),
@nRet      smallint    OUTPUT
AS
BEGIN
    DELETE FROM CURRENTUSER WHERE strAccountID = @AccountID
    SET @nRet = 1
END
GO

ctgwglzc 发表于 2008-11-1 01:55:46

2-)ACCOUNT_LOGIN

--Hazırlayan Neo_tr
CREATE PROCEDURE ACCOUNT_LOGIN
@AccountID    varchar(21),
@Password    varchar(13),
@nRet      smallint    OUTPUT

AS

DECLARE @Nation tinyint, @CharNum smallint,@Game int,@Limit int
SET @Nation = 0
SET @CharNum = 0
SET @Limit = 800
Select @Game = Count(*) From CURRENTUSER


DECLARE @pwd varchar(13)

SET @pwd = null
IF @Game <= @Limit
BEGIN
SELECT @pwd = strPasswd FROM . WHERE strAccountID = @AccountID
END
ELSE IF @Game > @Limit
BEGIN
SELECT @pwd = strPasswd FROM . WHERE strAccountID = @AccountID and Premium > 0
END
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

UPDATE TB_USER Set Premium = 0 Where strAccountID = @AccountID and PreDay = 0

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

ctgwglzc 发表于 2008-11-1 01:56:10

3-)LOAD_PREMIUM_SERVICE_USER

--Hazırlayan Neo_TR
CREATE PROCEDURE LOAD_PREMIUM_SERVICE_USER
@AccountID varchar(27),
@nRet1 smallint OUTPUT,
@nRet2 smallint OUTPUT
AS
DECLARE @nRow smallint
SET @nRow = 0
DECLARE @Type smallint
SET @Type = null
DECLARE @Days smallint
SET @Days = null
SELECT @nRow = COUNT(*) FROM TB_USER WHERE strAccountID = @AccountID and Premium > 0
IF @nRow = 0
BEGIN
SET @nRet1 = 0
SET @nRet2 = 0
RETURN
END
BEGIN TRAN
SELECT @Type = Premium, @Days = PreDay FROM TB_USER WHERE strAccountID = @AccountID
IF @Days = 0
BEGIN
UPDATE TB_USER SET Premium = 0 WHERE strAccountID = @AccountID
SET @nRet1 = 0
SET @nRet2 = 0
RETURN
END
COMMIT TRAN
SET @nRet1 = @Type
SET @nRet2 = @Days
GO

ctgwglzc 发表于 2008-11-1 01:56:32

4-)UPDATE_PREMIUM_SERVICE_USER

--Hazırlayan Neo_TR
CREATE PROCEDURE UPDATE_PREMIUM_SERVICE_USER
@AccountID varchar(27),
@Days smallint
AS
UPDATE TB_USER SET PreDay = @Days WHERE strAccountID = @AccountID
UPDATE TB_USER SET Premium = 0 WHERE PreDay = 0 and Premium = 1
GO

ctgwglzc 发表于 2008-11-1 01:56:56

5-)PROC_INSERT_CURRENTUSER

--Hazırlayan Neo_TR
CREATE PROCEDURE PROC_INSERT_CURRENTUSER
@AccountID         varchar(50),
@CharID         varchar(50),
@ServerNo         int,
@ServerIP       varchar(50),
@ClientIP       varchar(50),
@nret smallint output

AS

INSERT INTO CURRENTUSER (nServerNo, strServerIP,strAccountID, strCharID, strClientIP )Values(@ServerNo, @ServerIP, @AccountID, @CharID, @ClientIP )
set @nret=1
GO

ctgwglzc 发表于 2008-11-1 01:57:18

6-)CLEAR_REMAIN_USERS

CREATE PROCEDURE CLEAR_REMAIN_USERS
@AccountID varchar(50)
AS
BEGIN TRAN
DELETE FROM CURRENTUSER WHERE strAccountID = @AccountID
UPDATE TB_USER SET idays = 0
TRUNCATE TABLE CURRENTUSER
COMMIT TRAN
GO

ctgwglzc 发表于 2008-11-1 01:57:46

7-)ACCOUNT_NEOTR

--Hazırlayan Neo_TR
CREATE PROCEDURE ACCOUNT_NEOTR
@AccountID varchar(21),
@Password varchar(13),
@nRet smallint OUTPUT
AS

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 and idays = 1
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
exec otonp
exec otonpsimgesi
exec RANK_KNIGHTS
IF @@ROWCOUNT = 0
BEGIN
SET @nRet = 1
RETURN
END
BEGIN
SET @nRet = 1
RETURN
END
BEGIN
SET @nRet = @Nation+1
RETURN
END
GO

ctgwglzc 发表于 2008-11-1 01:58:55

8-)TABLO EKLERİ

if exists (select * from dbo.sysobjects where id = object_id(N'.') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table .
GO

CREATE TABLE . (
        NULL
        NULL
) ON
GO

ctgwglzc 发表于 2008-11-4 00:13:48

修改排序规则语句是
alter database 数据库名
collate Chinese_PRC_CI_AS
同样,开发涉及的数据库也都要修改排序规则。

ctgwglzc 发表于 2008-11-10 21:17:26

1 veya 2 EVT ----Ardreme 59

EVENT 22010
E RUN_EVENT 22011
E RUN_EVENT 22012
E RUN_EVENT 22013
E RUN_EVENT 22014
END

EVENT 22011
A CHECK_NOCLASS 106
E RUN_EVENT 22015
END

EVENT 22012
A CHECK_NOCLASS 108
E RUN_EVENT 22015
END

EVENT 22013
A CHECK_NOCLASS 1010
E RUN_EVENT 22015
END

EVENT 22014
A CHECK_NOCLASS 112
E RUN_EVENT 22015
END

EVENT 22015
A CHECK_LV 30 59
E ZONE_CHANGE 202 845 140
END
页: [1] 2
查看完整版本: Fix Aujard & Fix Login Server & Fix Procedureler