离开房间.sql
来自「网狐最新6508版数据库」· SQL 代码 · 共 64 行
SQL
64 行
----------------------------------------------------------------------------------------------------
USE QPTreasureDB
GO
IF EXISTS (SELECT * FROM DBO.SYSOBJECTS WHERE ID = OBJECT_ID(N'[dbo].[GSP_GR_LeaveGameServer]') and OBJECTPROPERTY(ID, N'IsProcedure') = 1)
DROP PROCEDURE [dbo].[GSP_GR_LeaveGameServer]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
----------------------------------------------------------------------------------------------------
-- 离开房间
CREATE PROC GSP_GR_LeaveGameServer
@dwUserID INT, -- 用户 I D
@lScore BIGINT, -- 用户分数
@lRevenue BIGINT, -- 游戏税收
@lWinCount INT, -- 胜利盘数
@lLostCount INT, -- 失败盘数
@lDrawCount INT, -- 和局盘数
@lFleeCount INT, -- 断线数目
@lExperience INT, -- 用户经验
@dwPlayTimeCount INT, -- 游戏时间
@dwOnLineTimeCount INT, -- 在线时间
@wKindID INT, -- 游戏 I D
@wServerID INT, -- 房间 I D
@strClientIP NVARCHAR(15) -- 连接地址
WITH ENCRYPTION AS
-- 属性设置
SET NOCOUNT ON
-- 执行逻辑
BEGIN
-- 用户积分
UPDATE GameScoreInfo SET Score=Score+@lScore, Revenue=Revenue+@lRevenue, WinCount=WinCount+@lWinCount, LostCount=LostCount+@lLostCount,
DrawCount=DrawCount+@lDrawCount, FleeCount=FleeCount+@lFleeCount, PlayTimeCount=PlayTimeCount+@dwPlayTimeCount,
OnLineTimeCount=OnLineTimeCount+@dwOnLineTimeCount
WHERE UserID=@dwUserID
-- 锁定解除
DELETE GameScoreLocker WHERE UserID=@dwUserID
-- 离开房间
INSERT RecordUserLeave (UserID, Score, Revenue, KindID, ServerID, PlayTimeCount, OnLineTimeCount)
VALUES (@dwUserID, @lScore, @lRevenue, @wKindID, @wServerID, @dwPlayTimeCount, @dwOnLineTimeCount)
-- 用户经验
UPDATE QPGameUserDBLink.QPGameUserDB.dbo.AccountsInfo SET Experience=Experience+@lExperience WHERE UserID=@dwUserID
END
RETURN 0
GO
----------------------------------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?