Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
205 lines
3.9 KiB
Transact-SQL
205 lines
3.9 KiB
Transact-SQL
--Create the table which is checking a user playing in other server
|
|
|
|
USE RYLBillingDB_LOG
|
|
|
|
GO
|
|
|
|
CREATE TABLE dbo.[TblCurrentUser_Log] (
|
|
[strClientid] [varchar] (20) NULL ,
|
|
[UID] [int] NULL ,
|
|
[strIp] [varchar] (15) NULL ,
|
|
[tinyServerID] [tinyint] NULL ,
|
|
[FirstLoginTime] [smalldatetime] NULL ,
|
|
[LogoutTime] [smalldatetime] NULL
|
|
)
|
|
|
|
GO
|
|
|
|
USE youxiuser
|
|
|
|
GO
|
|
|
|
CREATE TABLE dbo.[TblCurrentUser_Temp] (
|
|
[strClientID] [varchar] (20) NOT NULL ,
|
|
[UID] [int] NOT NULL ,
|
|
[strIP] [varchar] (15) NOT NULL ,
|
|
[tinyServerID] [tinyint] NOT NULL ,
|
|
[FirstLoginTime] [smalldatetime] NOT NULL CONSTRAINT [DF_TblCurrentUserTemp_Firs] DEFAULT (getdate()),
|
|
)
|
|
|
|
GO
|
|
|
|
CREATE TABLE dbo.[TblCurrentUser] (
|
|
[strClientID] [varchar] (20) NOT NULL ,
|
|
[UID] [int] NOT NULL ,
|
|
[strIP] [varchar] (15) NOT NULL ,
|
|
[tinyServerID] [tinyint] NOT NULL ,
|
|
[FirstLoginTime] [smalldatetime] NOT NULL CONSTRAINT [DF_TblCurrentUser_Firs] DEFAULT (getdate()),
|
|
CONSTRAINT [PK_TblCurrentUser] PRIMARY KEY NONCLUSTERED
|
|
(
|
|
[strClientID]
|
|
) WITH FILLFACTOR = 90
|
|
)
|
|
|
|
GO
|
|
|
|
CREATE VIEW dbo.UView_CurrentUser
|
|
AS
|
|
SELECT * FROM TblCurrentUser_Temp
|
|
UNION ALL
|
|
SELECT * FROM TblCurrentUser
|
|
|
|
GO
|
|
|
|
CREATE PROC dbo.USPCheckBilling_Login @strClientID varchar(20),@UID int,@Check int,@ClientIP varchar(15),@ServerID Tinyint
|
|
AS
|
|
SET NOCOUNT ON
|
|
|
|
DECLARE @FLAG INT
|
|
DECLARE @BillingType Char(2)
|
|
DECLARE @PlayTime INT
|
|
DECLARE @Crmindex INT
|
|
|
|
SET @FLAG = 1 --ERROR
|
|
SET @BillingType ='N'
|
|
SET @PlayTime = 0
|
|
SET @Crmindex = 0
|
|
|
|
--CHECKING
|
|
IF EXISTS (SELECT strClientID FROM UView_CurrentUser WHERE strClientID = @strClientID)
|
|
BEGIN
|
|
|
|
SELECT @FLAG,@BillingType,@PlayTime,@Crmindex
|
|
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
|
|
INSERT TblCurrentUser_Temp (strClientID,UID,strIP,tinyServerID)
|
|
VALUES (@strClientID,@UID,@ClientIP,@ServerID)
|
|
|
|
IF @@ROWCOUNT <> 1
|
|
BEGIN
|
|
SELECT @FLAG,@BillingType,@PlayTime,@Crmindex
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
|
|
SET @FLAG = 0 --SUCCESS
|
|
|
|
SELECT @FLAG,@BillingType,@PlayTime,@Crmindex
|
|
END
|
|
|
|
END
|
|
|
|
GO
|
|
|
|
|
|
CREATE PROC dbo.USPCheckBilling_CharIDLogin @strClientID varchar(20),@UID int,@Check int,@ClientIP varchar(15),@ServerID Tinyint
|
|
AS
|
|
SET NOCOUNT ON
|
|
|
|
DECLARE @FLAG INT
|
|
DECLARE @BillingType Char(2)
|
|
DECLARE @PlayTime INT
|
|
DECLARE @Crmindex INT
|
|
|
|
SET @FLAG = 1 --ERROR
|
|
SET @BillingType ='N'
|
|
SET @PlayTime = 0
|
|
SET @Crmindex = 0
|
|
|
|
--CHECKING
|
|
IF EXISTS (SELECT strClientID FROM UView_CurrentUser WHERE strClientID = @strClientID)
|
|
BEGIN
|
|
|
|
SELECT @FLAG,@BillingType,@PlayTime,@Crmindex
|
|
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
|
|
INSERT TblCurrentUser (strClientID,UID,strIP,tinyServerID)
|
|
VALUES (@strClientID,@UID,@ClientIP,@ServerID)
|
|
|
|
IF @@ROWCOUNT <> 1
|
|
BEGIN
|
|
SELECT @FLAG,@BillingType,@PlayTime,@Crmindex
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
|
|
SET @FLAG = 0 --SUCCESS
|
|
|
|
SELECT @FLAG,@BillingType,@PlayTime,@Crmindex
|
|
END
|
|
|
|
END
|
|
|
|
GO
|
|
|
|
CREATE PROC dbo.USPCheckBilling_LogOut @ClientID VARCHAR(20)
|
|
AS
|
|
SET NOCOUNT ON
|
|
|
|
DECLARE @FLAG INT
|
|
|
|
IF EXISTS (SELECT strClientID FROM TblCurrentUser_Temp WHERE strClientID = @ClientID)
|
|
BEGIN
|
|
|
|
DELETE TblCurrentUser_Temp WHERE strClientID = @ClientID
|
|
|
|
IF @@ROWCOUNT <> 1
|
|
BEGIN
|
|
SET @FLAG = 1 --ERROR
|
|
END
|
|
|
|
SET @FLAG = 0 --SUCCESS
|
|
|
|
SELECT @FLAG
|
|
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
|
|
IF EXISTS (SELECT strClientID FROM TblCurrentUser WHERE strClientID = @ClientID)
|
|
BEGIN
|
|
-- LOG WRITE
|
|
INSERT RYLBillingDB_LOG.dbo.TblCurrentUser_LOG (strClientid,UID,strIp,tinyServerID,FirstLoginTime,LogoutTime)
|
|
SELECT strClientid,UID,strIp,tinyServerID,FirstLoginTime,GETDATE()
|
|
FROM TblCurrentUser WHERE strClientID = @ClientID
|
|
|
|
IF @@ROWCOUNT <> 1
|
|
BEGIN
|
|
SET @FLAG = 2 --ERROR
|
|
SELECT @FLAG
|
|
RETURN
|
|
END
|
|
|
|
DELETE TblCurrentUser WHERE strClientID = @ClientID
|
|
|
|
IF @@ROWCOUNT <> 1
|
|
BEGIN
|
|
SET @FLAG = 3 --ERROR
|
|
SELECT @FLAG
|
|
RETURN
|
|
END
|
|
|
|
SET @FLAG = 0 --SUCCESS
|
|
SELECT @FLAG
|
|
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SET @FLAG = 4
|
|
SELECT @FLAG
|
|
END
|
|
END
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|