Code:
USE [PS_UserData] GO /****** Object: Table [dbo].[UserLoginStatus] Script Date: 07/14/2012 11:09:27 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[UserLoginStatus]( [UserUid] [int] NOT NULL, [Userid] [char](18) NOT NULL, [LoginStatus] [tinyint] NOT NULL, [LoginTime] [datetime] NULL, [LogoutTime] [datetime] NULL, [LoginSession] [bigint] NULL, [LogoutSession] [bigint] NULL, [LastPlayTime] [int] NULL, [LastIP] [varchar](15) NULL, CONSTRAINT [PK_UserLoginStatus] PRIMARY KEY CLUSTERED ( [UserUid] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO
Code:
USE [PS_UserData] GO /****** Object: Table [dbo].[UserOnlineTimeLog] Script Date: 07/14/2012 11:12:11 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[UserOnlineTimeLog]( [UserUID] [int] NOT NULL, [OldPoint] [int] NOT NULL, [Addpoint] [int] NOT NULL, [LoginTime] [datetime] NOT NULL, [LogoutTime] [datetime] NOT NULL, [SessionID] [bigint] NOT NULL, [UserIP] [varchar](15) NOT NULL ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO
Code:
USE [PS_UserData] GO /****** Object: StoredProcedure [dbo].[usp_Try_GameLogout_R] Script Date: 05/11/2013 11:25:36 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /****** Object: Stored Procedure dbo.usp_Try_GameLogout_R Script Date: 2008-6-7 18:34:05 ******/ ALTER Proc [dbo].[usp_Try_GameLogout_R] /* Created by humanws, 2005-10-18 ???? ?? ?? */ [MENTION=2805776]UserU[/MENTION]ID int, @SessionID bigint, @LogoutType smallint = 0, @ErrType int = 0 AS SET NOCOUNT ON DECLARE @LogTime datetime DECLARE @Sql nvarchar(4000) DECLARE [MENTION=319663]yyyy[/MENTION] varchar(4) DECLARE @mm varchar(2) DECLARE @dd varchar(2) DECLARE @LogType bit -- Login:0, Logout:1 SET @LogType = 1 SET @LogTime = GETDATE() SET [MENTION=319663]yyyy[/MENTION] = DATEPART(yyyy, @LogTime) SET @mm = DATEPART(mm, @LogTime) SET @dd = DATEPART(dd, @LogTime) IF( LEN(@mm) = 1 ) BEGIN SET @mm = '0' + @mm END IF( LEN(@dd) = 1 ) BEGIN SET @dd = '0' + @dd END UPDATE Users_Master SET Leave = 0, LeaveDate = GETDATE() WHERE UserUID = [MENTION=2805776]UserU[/MENTION]ID SET @Sql = N' INSERT INTO PS_GameLog.dbo.UserLog (SessionID, UserUID, LogType, LogTime, LogoutType, ErrType) VALUES(@SessionID, [MENTION=2805776]UserU[/MENTION]ID, @LogType, @LogTime, @LogoutType, @ErrType)' EXEC sp_executesql @Sql, N'@SessionID bigint, [MENTION=2805776]UserU[/MENTION]ID int, @LogType bit, @LogTime datetime, @LogoutType smallint, @ErrType int', @SessionID, [MENTION=2805776]UserU[/MENTION]ID, @LogType, @LogTime, @LogoutType, @ErrType update PS_userdata.dbo.UserLoginStatus set loginstatus=0,LogoutTime=@LogTime,LogoutSession=@SessionID,LastPlayTime=datediff(minute,LoginTime,@LogTime) where useruid [MENTION=2805776]UserU[/MENTION]id DECLARE @LoginTime datetime DECLARE @LastPlayTime int DECLARE @OldPoint int DECLARE @LoginSession bigint SET @LoginSession=(select LoginSession from PS_userdata.dbo.UserLoginStatus where useruid [MENTION=2805776]UserU[/MENTION]id) SET @LastPlayTime=(select LastPlayTime from PS_userdata.dbo.UserLoginStatus where useruid [MENTION=2805776]UserU[/MENTION]id) SET @LoginTime=(select LoginTime from PS_userdata.dbo.UserLoginStatus where useruid [MENTION=2805776]UserU[/MENTION]id) SET @OldPoint=(select Point from PS_userdata.dbo.Users_Master where useruid [MENTION=2805776]UserU[/MENTION]id) IF (@SessionID=@LoginSession) BEGIN Update PS_userdata.dbo.Users_Master SET point=point +1 WHERE useruid [MENTION=2805776]UserU[/MENTION]id INSERT INTO PS_userdata.dbo.UserOnlineTimeLog(UserUid,OldPoint ,Addpoint,LoginTime,LogoutTime,SessionID) values [MENTION=2805776]UserU[/MENTION]id,@OldPoint,@LastPlayTime,@LoginTime ,@LogTime,@SessionID) end SET NOCOUNT OFF
Code:
USE [PS_UserData] GO /****** Object: StoredProcedure [dbo].[usp_Try_GameLogin_Taiwan] Script Date: 05/11/2013 11:26:09 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO /****** Object: Stored Procedure dbo.usp_Try_GameLogin_Taiwan Script Date: 2008-6-7 18:34:05 ******/ /*================================================== @date 2007-12-04 @brief Login Proc( Taiwan ) ==================================================*/ ALTER Proc [dbo].[usp_Try_GameLogin_Taiwan] [MENTION=831308]userid[/MENTION] varchar(18), @InPassword varchar(32), @SessionID bigint, [MENTION=5805117]userip[/MENTION] varchar(15), -- 罹晦梱雖 蹂 檣濠, 釭該雖朝 頂睡 滲熱 [MENTION=2805776]UserU[/MENTION]ID int = 0, @LoginType smallint = 1, @LoginTime datetime = NULL AS SET NOCOUNT ON DECLARE @Leave tinyint, @Status smallint, @CompanyIP varchar(15), [MENTION=986605]tempi[/MENTION]P varchar(15), @Check int SET @Status = -1 SET @LoginTime = GETDATE() -------------------------------------------------- SET @CompanyIP = '61.107.81' SET [MENTION=5805117]userip[/MENTION] = LTRIM( RTRIM [MENTION=5805117]userip[/MENTION]) ) -------------------------------------------------- SET @Check = 0 -------------------------------------------------- SELECT [MENTION=2805776]UserU[/MENTION]ID=UserUID, @Status=Status, @Leave=Leave FROM Users_Master WHERE UserID = [MENTION=831308]userid[/MENTION] -- NotExist User OR Leave User IF( [MENTION=2805776]UserU[/MENTION]ID = 0 OR @Leave = 1 ) BEGIN SET @Status = -3 END ELSE BEGIN -- Check Password EXEC dbo.sp_LoginSuccessCheck [MENTION=831308]userid[/MENTION], @InPassword, @Check output IF ( @@ERROR = 0 ) BEGIN IF( @Check <> 1 ) BEGIN SET @Status = -1 END END ELSE BEGIN SET @Status = -1 END /* Old SET @InEnPassword = master.dbo.fn_md5(@InPassword) IF ( @InEnPassword <> @EnPassword ) BEGIN SET @Status = -1 END */ END -- BlockUser Check IF( (@Status >= 2) AND (@Status <= 6) ) BEGIN -- Get Block Limit Date AND Replace date text DECLARE @BlockEndDate datetime SELECT @BlockEndDate = BlockEndDate FROM Users_Block WHERE UserUID = [MENTION=2805776]UserU[/MENTION]ID IF ( @@ROWCOUNT <> 0 ) BEGIN -- Block Release IF ( @BlockEndDate <= @LoginTime ) BEGIN SET @Status = 0 UPDATE Users_Master SET Status = @Status WHERE UserUID = [MENTION=2805776]UserU[/MENTION]ID END END END -- Admin IP Check(2006-02-21) /* IF( @Status = 16 OR @Status = 32 OR @Status = 48 OR @Status = 64 OR @Status = 80 ) BEGIN SET [MENTION=986605]tempi[/MENTION]P = LEFT [MENTION=5805117]userip[/MENTION], 9) IF( [MENTION=986605]tempi[/MENTION]P <> @CompanyIP ) BEGIN SET @Status = -999 END END */ -- Select SELECT @Status AS Status, [MENTION=2805776]UserU[/MENTION]ID AS UserUID -- Log Insert IF( @Status = 0 OR @Status = 16 OR @Status = 32 OR @Status = 48 OR @Status = 64 OR @Status = 80 ) BEGIN EXEC usp_Insert_LoginLog_E @SessionID=@SessionID, [MENTION=2805776]UserU[/MENTION]ID [MENTION=2805776]UserU[/MENTION]ID, [MENTION=5805117]userip[/MENTION] [MENTION=5805117]userip[/MENTION], @LogType=0, @LogTime=@LoginTime, @LoginType=@LoginType IF [MENTION=2805776]UserU[/MENTION]id=(select useruid from PS_UserData.dbo.UserLoginStatus where useruid [MENTION=2805776]UserU[/MENTION]id) update PS_userdata.dbo.UserLoginStatus set loginstatus=1,LoginTime=@LoginTime,LogoutTime=@LoginTime,loginSession=@SessionID,lastplaytime=0 where useruid [MENTION=2805776]UserU[/MENTION]id else insert into PS_userdata.dbo.UserLoginStatus(useruid,userid,loginstatus,logintime,logouttime,loginsession,lastplaytime,LastIP) values [MENTION=2805776]UserU[/MENTION]id [MENTION=831308]userid[/MENTION],1,@LoginTime,@LoginTime,@SessionID,0 [MENTION=5805117]userip[/MENTION]) END SET NOCOUNT OFF
Code:
USE [PS_UserData] GO /****** Object: StoredProcedure [dbo].[usp_Try_GameLogout_R] Script Date: 08/12/2011 23:16:34 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /****** Object: Stored Procedure dbo.usp_Try_GameLogout_R Script Date: 2008-6-7 18:34:05 ******/ ALTER Proc [dbo].[usp_Try_GameLogout_R] /* Created by humanws, 2005-10-18 ???? ?? ?? */ [MENTION=2805776]UserU[/MENTION]ID int, @SessionID bigint, @LogoutType smallint = 0, @ErrType int = 0 AS SET NOCOUNT ON DECLARE @LogTime datetime DECLARE @Sql nvarchar(4000) DECLARE [MENTION=319663]yyyy[/MENTION] varchar(4) DECLARE @mm varchar(2) DECLARE @dd varchar(2) DECLARE @LogType bit -- Login:0, Logout:1 SET @LogType = 1 SET @LogTime = GETDATE() SET [MENTION=319663]yyyy[/MENTION] = DATEPART(yyyy, @LogTime) SET @mm = DATEPART(mm, @LogTime) SET @dd = DATEPART(dd, @LogTime) IF( LEN(@mm) = 1 ) BEGIN SET @mm = '0' + @mm END IF( LEN(@dd) = 1 ) BEGIN SET @dd = '0' + @dd END SET @Sql = N' INSERT INTO PS_GameLog.dbo.UserLog (SessionID, UserUID, LogType, LogTime, LogoutType, ErrType) VALUES(@SessionID, [MENTION=2805776]UserU[/MENTION]ID, @LogType, @LogTime, @LogoutType, @ErrType)' EXEC sp_executesql @Sql, N'@SessionID bigint, [MENTION=2805776]UserU[/MENTION]ID int, @LogType bit, @LogTime datetime, @LogoutType smallint, @ErrType int', @SessionID, [MENTION=2805776]UserU[/MENTION]ID, @LogType, @LogTime, @LogoutType, @ErrType update PS_userdata.dbo.UserLoginStatus set loginstatus=0,LogoutTime=@LogTime,LogoutSession=@SessionID,LastPlayTime=datediff(minute,LoginTime,@LogTime) where useruid [MENTION=2805776]UserU[/MENTION]id DECLARE @LoginTime datetime DECLARE @LastPlayTime int DECLARE @OldPoint int DECLARE @LoginSession bigint SET @LoginSession=(select LoginSession from PS_userdata.dbo.UserLoginStatus where useruid [MENTION=2805776]UserU[/MENTION]id) SET @LastPlayTime=(select LastPlayTime from PS_userdata.dbo.UserLoginStatus where useruid [MENTION=2805776]UserU[/MENTION]id) SET @LoginTime=(select LoginTime from PS_userdata.dbo.UserLoginStatus where useruid [MENTION=2805776]UserU[/MENTION]id) SET @OldPoint=(select Point from PS_userdata.dbo.Users_Master where useruid [MENTION=2805776]UserU[/MENTION]id) IF (@SessionID=@LoginSession) BEGIN Update PS_userdata.dbo.Users_Master SET point=point WHERE useruid [MENTION=2805776]UserU[/MENTION]id INSERT INTO PS_userdata.dbo.UserOnlineTimeLog(UserUid,OldPoint ,Addpoint,LoginTime,LogoutTime,SessionID) values [MENTION=2805776]UserU[/MENTION]id,@OldPoint,@LastPlayTime,@LoginTime ,@LogTime,@SessionID) end SET NOCOUNT OFF