神泣单机教程 - 12.0每日登录送物品新增VIP赠送

该语句是在原版的基础上 增加VIP领奖的功能,直接复制到 usp_Try_GameLogin3_R 里面 执行即可

USE [PS_UserData]
GO
/****** Object: StoredProcedure [dbo].[usp_Try_GameLogin3_R] Script Date: 12/23/2024 11:36:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

/*==================================================
@date 2007-09-27
@brief Login Proc( Korea Test Server & Japan Server )
==================================================*/

ALTER Proc [dbo].[usp_Try_GameLogin3_R]

@UserID varchar(18),
@InPassword varchar(18),

@SessionID bigint,
@UserIP varchar(15),

-- 여기까지 필요한 인자, 나머지는 내부 변수

@UserUID int = 0,
@LoginType smallint = 1,
@LoginTime datetime = null

AS

SET NOCOUNT ON

DECLARE
@EnPassword varchar(32),
@InEnPassword varchar(32),
@Pw varchar(20),

@Leave tinyint,
@Status smallint,

@CompanyIP varchar(15),
@TempIP varchar(15)

SET @Status = -1
SET @LoginTime = GETDATE()

SET @CompanyIP = '61.107.81'
SET @UserIP = LTRIM( RTRIM(@UserIP) )

SELECT @UserUID=UserUID, @Pw=Pw, @EnPassword=Enpassword, @Status=Status, @Leave=Leave FROM Users_Master WHERE UserID = @UserID

-- NotExist User OR Leave User
IF( @UserUID = 0 OR @Leave = 1 )
BEGIN
SET @Status = -3
END
ELSE
BEGIN
IF @Pw IS NULL
BEGIN
SET @Status = -1
END
ELSE
BEGIN
IF @EnPassword IS NULL
BEGIN
SET @EnPassword = lower(convert(nvarchar(32), HASHBYTES('MD5', @Pw),2))
END

-- Check Password
SET @InEnPassword = lower(convert(nvarchar(32), HASHBYTES('MD5', @InPassword),2))
IF ( @InEnPassword <> @EnPassword )
BEGIN
SET @Status = -1
END
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 = @UserUID
IF ( @@ROWCOUNT <> 0 )
BEGIN
-- Block Release
IF ( @BlockEndDate <= @LoginTime )
BEGIN
SET @Status = 0
UPDATE Users_Master SET Status = @Status WHERE UserUID = @UserUID
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 @TempIP = LEFT(@UserIP, 9)
IF( @TempIP <> @CompanyIP )
BEGIN
SET @Status = -999
END
END
*/

IF( (@Status = 0) OR (@Status > 6) )
BEGIN
UPDATE Users_Master SET Online=1 WHERE UserUID = @UserUID
--送东西
if @useruid in (select useruid from ps_gamedata.dbo.offlinesend)
begin
exec ps_gamedata.dbo.rusend @useruid=@useruid
END
END

------------------------------------------------------------------以下邮箱功能--------------------------------------------------------------------------------
--每日登陆奖励

/**--原版设置开始
DECLARE @ReqLevel int
SET @ReqLevel = 70 --要求等级

--查询帐号内是否有角色符合要求的等级
IF EXISTS (SELECT CharID FROM PS_GameData.dbo.Chars WHERE UserUID = @UserUID AND [Level] >= @ReqLevel AND Del = 0)

原版设置结束--**/

--【新增是否为VIP的功能】

该内容需要登录后购买

觉得内容不错?我要

评论 暂无评论
请登录后参与评论