2010年6月5日星期六

Convert EP3 數據庫到 EP4

**記得要先備份你的數據庫!

第一步
在 RanGame1 > ChaInfo 加一行(COLLUMS)
ChaSex [Int] NULLS
ChaHairStyle [Int] NULLS
ChaHairColor [Int] NULLS

第二步
下載腳本然後執行 RanGame1_2k5.sql 
這個腳本沒有 PET TABLE 或 SP_PETS

第三步
打開MSSQL然後打開 RanUser > Programmability > Stored Procedures > dbo.user_verify 右鍵 Modify
然後兌換這個腳本...
USE [RanUser]
GO
/****** Object: StoredProcedure [dbo].[user_verify] Script Date: 06/28/2008 00:18:31 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[user_verify]
@userId char(25),
@userPass char(25),
@userIp char(25),
@SvrGrpNum int,
@SvrNum int,
@dummy1 int,
@dummy2 int,
@nReturn int OUTPUT
AS
DECLARE @nAvailable int,
@nUserNum int,
@nState int,
-- Declare variables used in error checking.
@error_var int,
@rowcount_var int,
@nBlock int,
@BlockDate datetime

SET NOCOUNT ON

SET @nReturn = 0
SET @nUserNum = 0

SELECT @nUserNum=UserInfo.UserNum,
@nState=UserInfo.UserLoginState,
@nBlock=UserInfo.UserBlock,
@BlockDate=UserInfo.UserBlockDate
FROM UserInfo
WHERE UserID = @userId AND UserPass = @userPass AND UserAvailable = 1

-----------------------------------------------------------------
-- ID / PWD 眉农...
IF @nUserNum = 0
BEGIN
-- ID / PWD 阂老摹 肚绰 荤侩阂啊瓷惑怕
SET @nReturn = 0
RETURN @nReturn
END
ELSE
BEGIN
-- ID / PWD 老摹
SET @nReturn = 1
-- 5 吝汗立加, 捞固 立加登绢 乐澜
IF @nState = 1
BEGIN
SET @nReturn = 5
RETURN @nReturn
END
END

-----------------------------------------------------------------
-- IP Address 眉农
IF (SELECT COUNT(*) FROM IPInfo WITH (NOLOCK) WHERE ipAddress = @userIp) > 0
-- IP 沥焊 乐澜
BEGIN
SELECT @nAvailable = useAvailable
FROM IPInfo
WHERE ipAddress = @userIp

IF @nAvailable = 1
BEGIN
SET @nReturn = 2 -- ID/PWD 啊 老摹窍绊, IP 啊 荤侩啊瓷
END
ELSE
BEGIN
SET @nReturn = 4 -- ID/PWD 啊 老摹窍绊, IP 啊 荤侩阂啊瓷 惑怕
END
END
ELSE
-- IP 沥焊 绝澜
BEGIN
SET @nReturn = 3 -- ID/PWD 啊 老摹窍绊, IP 沥焊绰 绝澜
END

-----------------------------------------------------------------
-- Block 咯何 魄窜
IF (@nBlock = 1)
BEGIN
IF (@BlockDate > GetDate())
BEGIN
SET @nReturn = 6
END
ELSE
BEGIN
UPDATE UserInfo
SET UserBlock=0
WHERE UserNum = @nUserNum

SET @nReturn = 2
END
END

-----------------------------------------------------------------
-- 荤侩磊 荤侩矫埃 眉农
IF (@nReturn = 1) OR (@nReturn = 2) OR (@nReturn = 3)
BEGIN
-- 荤侩吝, 付瘤阜 肺弊牢矫埃 技泼
UPDATE UserInfo
SET UserLoginState=1, LastLoginDate=getdate(), SGNum=@SvrGrpNum, SvrNum=@SvrNum
WHERE UserNum = @nUserNum

-- 立加肺弊 巢扁扁
INSERT INTO LogLogin (UserNum, UserID, LogInOut, LogIpAddress)
VALUES (@nUserNum, @userId, 1, @userIp)

-- 烹拌 诀单捞飘
UPDATE StatLogin
SET LCount = LCount+1
WHERE LYear=Year(GetDate()) AND LMonth=Month(GetDate()) AND LDay=Day(GetDate()) AND LHour=DatePart(hour, GetDate())

SELECT @error_var = @@ERROR, @rowcount_var = @@ROWCOUNT
IF @error_var <> 0 OR @rowcount_var = 0
BEGIN
INSERT INTO StatLogin (LYEAR)
VALUES (YEAR(GetDate()))
END
END

SET NOCOUNT OFF

RETURN @nReturn

第四步
打開剛才壓縮包內的 fix.php 把所有的密碼換成 md5 hash 的密碼

0 条留言:

发表评论

注意:只有此博客的成员才能发布评论。