528 lines
12 KiB
Transact-SQL
528 lines
12 KiB
Transact-SQL
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
|
|
-- =================202504231642增加英雄字段FLD_HumParams=================
|
|
|
|
|
|
IF NOT EXISTS (select name from syscolumns where id=object_id(N'TBL_HERO') AND NAME='FLD_FEATURE')
|
|
BEGIN
|
|
ALTER TABLE TBL_HERO ADD FLD_FEATURE varchar(200) default '' NOT NULL;
|
|
END
|
|
GO
|
|
|
|
|
|
-- =================202505231026修改邮件类型字段=================
|
|
IF EXISTS (select name from syscolumns where id=object_id(N'TBL_MAIL') AND NAME='Type')
|
|
BEGIN
|
|
ALTER TABLE dbo.TBL_MAIL ALTER COLUMN [Type] INT
|
|
end
|
|
GO
|
|
|
|
-- =================202504231642增加英雄字段FLD_HumParams=================
|
|
|
|
IF NOT EXISTS (select name from syscolumns where id=object_id(N'TBL_HERO') AND NAME='FLD_HumParams')
|
|
BEGIN
|
|
ALTER TABLE TBL_HERO ADD FLD_HumParams varchar(max) default '' NOT NULL;
|
|
END
|
|
GO
|
|
|
|
-- =================202504231642删除英雄存储过程=================
|
|
|
|
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[HERO_INFO_UPDATE]') AND type IN ('P', 'PC', 'RF', 'X'))
|
|
DROP PROCEDURE[dbo].[HERO_INFO_UPDATE]
|
|
GO
|
|
|
|
-- =================202504231642删除人物存储过程=================
|
|
|
|
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[HUM_INFO_UPDATE]') AND type IN ('P', 'PC', 'RF', 'X'))
|
|
DROP PROCEDURE[dbo].[HUM_INFO_UPDATE]
|
|
GO
|
|
|
|
-- =================202504231642更新英雄存储过程=================
|
|
/****** Object: StoredProcedure [dbo].[HERO_INFO_UPDATE] Script Date: 2024/7/24 14:49:54 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE PROCEDURE [dbo].[HERO_INFO_UPDATE]
|
|
@sUserID VARCHAR(50),
|
|
@sChrName VARCHAR(50),
|
|
@Hair SMALLINT,
|
|
@Sex SMALLINT,
|
|
@Job SMALLINT,
|
|
@nLevel INT,
|
|
@Hp BIGINT,
|
|
@Mp BIGINT,
|
|
@Exp BIGINT,
|
|
@PkPoint INT,
|
|
@BodyLuck FLOAT,
|
|
@InChealth INT,
|
|
@IncSpell INT,
|
|
@IncHealing INT,
|
|
@StatusTimeAr binary(24),
|
|
@Relevel tinyint,
|
|
@MasterName VARCHAR(50),
|
|
@Sysvar binary(400),
|
|
@Abil VARBINARY(MAX),
|
|
@WAbil VARBINARY(MAX),
|
|
@Feathure VARCHAR(200),
|
|
@sHumParams VARCHAR(Max)
|
|
AS
|
|
IF EXISTS(SELECT FLD_ID FROM TBL_HERO WHERE FLD_USERID=@sUserID)
|
|
BEGIN
|
|
UPDATE TBL_HERO SET
|
|
FLD_UPDATEDATETIME = getdate(),
|
|
FLD_CHARACTER = @sChrName,
|
|
FLD_HAIR = @Hair,
|
|
FLD_SEX = @Sex,
|
|
FLD_JOB = @Job,
|
|
FLD_LEVEL = @nLevel,
|
|
FLD_HP = @Hp,
|
|
FLD_MP = @Mp,
|
|
FLD_EXP = @Exp,
|
|
FLD_PKPOINT = @PkPoint,
|
|
FLD_BODYLUCK = @BodyLuck,
|
|
FLD_INCHEALTH = @InChealth,
|
|
FLD_INCSPELL = @IncSpell,
|
|
FLD_INCHEALING = @IncHealing,
|
|
FLD_StatusTimeArr = @StatusTimeAr,
|
|
FLD_RELEVEL = @Relevel,
|
|
FLD_MASTERNAME = @MasterName,
|
|
FLD_SYSVAR = @Sysvar,
|
|
FLD_Abil=@Abil,
|
|
FLD_AbilMax=@WAbil,
|
|
FLD_FEATURE = @Feathure,
|
|
FLD_HumParams=@sHumParams
|
|
WHERE FLD_USERID=@sUserID
|
|
Return(0)
|
|
END
|
|
ELSE
|
|
RETURN(1)
|
|
GO
|
|
|
|
-- =================202504231642更新英雄存储过程=================
|
|
|
|
/****** Object: StoredProcedure [dbo].[HUM_INFO_UPDATE] Script Date: 2024/7/24 14:49:54 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE PROCEDURE [dbo].[HUM_INFO_UPDATE]
|
|
@sUserID VARCHAR(50),
|
|
@sChrName VARCHAR(50),
|
|
@MapName VARCHAR(50),
|
|
@Cx SMALLINT,
|
|
@Cy SMALLINT,
|
|
@Dir int,
|
|
@Hair SMALLINT,
|
|
@Sex SMALLINT,
|
|
@Job SMALLINT,
|
|
@nLevel INT,
|
|
@Hp BIGINT,
|
|
@Mp BIGINT,
|
|
@Exp BIGINT,
|
|
@sHomeMap VARCHAR(50),
|
|
@Hx SMALLINT,
|
|
@Hy SMALLINT,
|
|
@PkPoint INT,
|
|
@btF9 INT,
|
|
@AttackMode BIGINT,
|
|
@FightZoneDie tinyint,
|
|
@BodyLuck FLOAT,
|
|
@InChealth INT,
|
|
@IncSpell INT,
|
|
@IncHealing INT,
|
|
@BonusPoint INT,
|
|
@StatusTimeAr binary(24),
|
|
@GameGold BIGINT,
|
|
@MasterName VARCHAR(50),
|
|
@Master tinyint,
|
|
@DearName VARCHAR(50),
|
|
@StoragePwd VARCHAR(10),
|
|
@LockLogon tinyint,
|
|
@QuestFlag binary(128),
|
|
@Money binary(800),
|
|
@MarryCount INT,
|
|
@Ee tinyint,
|
|
@Sysvar binary(400),
|
|
@uvar varbinary(max),
|
|
@Feathure VARCHAR(200),
|
|
@SuckDamageCount INT,
|
|
@SuckDamageBiLi INT,
|
|
@SuckDamageRate tinyint,
|
|
@sHeroName VARCHAR(50),
|
|
@sHeroUid VARCHAR(50),
|
|
@tClearVarTime datetime,
|
|
@jVar binary(2000),
|
|
@sSecPassWord VARCHAR(55),
|
|
@Abil VARBINARY(MAX),
|
|
@WAbil VARBINARY(MAX),
|
|
@BonusAbil binary(80),
|
|
@BonusAdjust binary(2040),
|
|
@NetState BIGINT,
|
|
@NetCall BIGINT,
|
|
@DC BIGINT,
|
|
@sHumParams VARCHAR(MAX)
|
|
AS
|
|
IF EXISTS(SELECT FLD_ID FROM TBL_CHARACTER WHERE FLD_USERID=@sUserID)
|
|
BEGIN
|
|
UPDATE TBL_CHARACTER SET
|
|
FLD_UPDATEDATETIME = getdate(),
|
|
FLD_CHARACTER = @sChrName,
|
|
FLD_MAPNAME = @MapName,
|
|
FLD_CX = @Cx,
|
|
FLD_CY = @Cy,
|
|
FLD_DIR = @Dir,
|
|
FLD_HAIR = @Hair,
|
|
FLD_SEX = @Sex,
|
|
FLD_JOB = @Job,
|
|
FLD_LEVEL = @nLevel,
|
|
FLD_HOMEMAP = @sHomeMap,
|
|
FLD_HOMEX = @Hx,
|
|
FLD_HOMEY = @Hy,
|
|
FLD_BTF9 = @btF9,
|
|
FLD_ATTACKMODE = @AttackMode,
|
|
FLD_FIGHTZONEDIE = @FightZoneDie,
|
|
FLD_INCHEALTH = @InChealth,
|
|
FLD_INCSPELL = @IncSpell,
|
|
FLD_INCHEALING = @IncHealing,
|
|
FLD_BONUSPOINT = @BonusPoint,
|
|
FLD_GAMEGOLD = @GameGold,
|
|
FLD_MASTERNAME = @MasterName,
|
|
FLD_MASTER = @Master,
|
|
FLD_DEARNAME = @DearName,
|
|
FLD_LOCKLOGON = @LockLogon,
|
|
FLD_QUESTFLAG = @QuestFlag,
|
|
FLD_MONEY = @Money,
|
|
FLD_MARRYCOUNT = @MarryCount,
|
|
FLD_EE = @Ee,
|
|
FLD_SYSVAR = @Sysvar,
|
|
FLD_UVAR = @uvar,
|
|
FLD_FEATURE = @Feathure,
|
|
FLD_SUCKDAMAGECOUNT = @SuckDamageCount,
|
|
FLD_SUCKDAMAGERATE = @SuckDamageRate,
|
|
FLD_SUCKDAMAGEBILI = @SuckDamageBiLi,
|
|
FLD_DC = @Dc,
|
|
FLD_HERONAME = @sHeroName,
|
|
FLD_HEROUSERID = @sHeroUid,
|
|
FLD_JVAR = @jVar,
|
|
FLD_VARCLEARTIME = @tClearVarTime,
|
|
FLD_SECPASSWORD = @sSecPassWord,
|
|
FLD_Abil=@Abil,
|
|
FLD_AbilMax=@WAbil,
|
|
FLD_BonusAbil=@BonusAbil,
|
|
FLD_BonusAdjust=@BonusAdjust,
|
|
FLD_NETSTATE=@NetState,
|
|
FLD_NETCALL=@NetCall,
|
|
FLD_HumParams = @sHumParams
|
|
WHERE FLD_USERID=@sUserID
|
|
Return(0)
|
|
END
|
|
ELSE
|
|
RETURN(1)
|
|
GO
|
|
|
|
-- =================202504231642TBL_CHARACTER表索引=================
|
|
|
|
if not exists(select TOP 1 1 from sysindexes where id=object_id('TBL_CHARACTER') and name='IX_TBL_CHARACTER_FLD_USERID')
|
|
CREATE UNIQUE NONCLUSTERED INDEX [IX_TBL_CHARACTER_FLD_USERID] ON [dbo].[TBL_CHARACTER]
|
|
(
|
|
[FLD_USERID] ASC
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
|
GO
|
|
|
|
|
|
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
ALTER PROCEDURE [dbo].[HERO_INFO_ADD]
|
|
@MasterUserID VARCHAR(50),
|
|
@sChrName VARCHAR(50),
|
|
@btSex SMALLINT,
|
|
@btJob SMALLINT,
|
|
@sUserID VARCHAR(50),
|
|
@sServerID VARCHAR(50) = '',
|
|
@sMainServerID VARCHAR(50) = '',
|
|
@sMasterName VARCHAR(50) = ''
|
|
AS
|
|
BEGIN
|
|
IF EXISTS (SELECT FLD_ID FROM TBL_HERO WHERE (FLD_CHARACTER like @sChrName+'%') or (FLD_CHARACTER like 'S'+@sServerID+'_'+@sChrName+'%') )
|
|
RETURN(1)
|
|
|
|
DECLARE @nNum INT
|
|
DECLARE @IsFirstChar INT
|
|
DECLARE @iRegCount INT
|
|
|
|
SELECT TOP 1 @iRegCount = iRegCount
|
|
FROM dbo.TBL_CONFIG WITH(NOLOCK)
|
|
SET @iRegCount= ISNULL(@iRegCount, 0)
|
|
|
|
IF (@iRegCount <> 0)
|
|
BEGIN
|
|
DECLARE @nTotal INT
|
|
SELECT @nTotal = COUNT(DISTINCT FLD_HEROMASTERUSERID) FROM TBL_HERO WHERE FLD_DELETED = 0;
|
|
IF (@nTotal >= @iRegCount)
|
|
RETURN(7)
|
|
END
|
|
|
|
SELECT @nNum = COUNT(*) FROM TBL_HERO WHERE FLD_HEROMASTERUSERID=@MasterUserID AND (FLD_DELETED=0) AND FLD_SERVERID=@sServerID;
|
|
|
|
IF @nNum >= 1
|
|
RETURN(3)
|
|
|
|
IF @nNum >= 1
|
|
SET @IsFirstChar = 0
|
|
ELSE
|
|
SET @IsFirstChar = 1
|
|
|
|
INSERT INTO TBL_HERO
|
|
(
|
|
FLD_HEROMASTERUSERID,
|
|
FLD_USERID,
|
|
FLD_CHARACTER,
|
|
FLD_SEX,
|
|
FLD_JOB,
|
|
FLD_UPDATEDATETIME,
|
|
FLD_MAKEDATE,
|
|
FLD_SERVERID,
|
|
FLD_MASTERNAME
|
|
)
|
|
|
|
VALUES
|
|
(
|
|
@MasterUserID,
|
|
@sUserID,
|
|
@sChrName,
|
|
@btSex,
|
|
@btJob,
|
|
getdate(),
|
|
getdate(),
|
|
@sServerID,
|
|
@sMasterName
|
|
)
|
|
|
|
declare @new_sn bigint
|
|
declare @new_id int
|
|
set @new_id=@@identity
|
|
|
|
--本地默认区服ID1
|
|
|
|
set @new_sn= IIF(CAST(@sMainServerID AS BIGINT)=0,1,CAST(@sMainServerID AS BIGINT)) * POWER(CAST(2 AS BIGINT),32) + NEXT VALUE FOR dbo.SeqIden
|
|
|
|
update TBL_HERO set FLD_USERID=@new_sn where FLD_ID=@new_id
|
|
set @sUserId = @new_sn
|
|
|
|
RETURN(0)
|
|
|
|
END
|
|
GO
|
|
|
|
|
|
/****** Object: StoredProcedure [dbo].[HUM_INFO_ADD] Script Date: 2024/7/24 14:49:54 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <Description,,>
|
|
-- =============================================
|
|
ALTER PROCEDURE [dbo].[HUM_INFO_ADD]
|
|
@sAccount VARCHAR(128),
|
|
@sChrName VARCHAR(50),
|
|
@btSex SMALLINT,
|
|
@btJob SMALLINT,
|
|
@sUserID VARCHAR(50),
|
|
@sSdkId VARCHAR(50) = '',
|
|
@sServerID VARCHAR(50) = '',
|
|
@sMainServerID VARCHAR(50) = '',
|
|
@sHeroName VARCHAR(50) = '',
|
|
@sHeroID VARCHAR(50) = '',
|
|
@bWhite BIT = 0
|
|
AS
|
|
BEGIN
|
|
IF EXISTS (SELECT FLD_ID FROM TBL_CHARACTER WHERE (FLD_CHARACTER like @sChrName+'%') or (FLD_CHARACTER like 'S'+@sServerID+'_'+@sChrName+'%') )
|
|
RETURN(1)
|
|
|
|
DECLARE @nNum INT
|
|
DECLARE @IsFirstChar INT
|
|
DECLARE @iRegCount INT
|
|
DECLARE @iRegis INT
|
|
DECLARE @tStartTime DATETIME
|
|
DECLARE @tDisableTime DATETIME
|
|
DECLARE @DisableHFCount INT=0
|
|
DECLARE @HFCount INT=0
|
|
|
|
SELECT TOP 1 @iRegCount = iRegCount,@iRegis=Regis,@tStartTime=StartTime,@tDisableTime=DisableTime,@DisableHFCount=ISNULL(DisableHFCount,0),@HFCount=ISNULL(HfCount,0)
|
|
FROM dbo.TBL_CONFIG WITH(NOLOCK)
|
|
SET @iRegCount= ISNULL(@iRegCount, 0)
|
|
SET @iRegis= ISNULL(@iRegis, 0)
|
|
|
|
IF @DisableHFCount>0 AND @HFCount>=@DisableHFCount AND @bWhite=0
|
|
BEGIN
|
|
RETURN(7)
|
|
END
|
|
|
|
IF @tDisableTime IS NOT NULL AND GETDATE() > @tDisableTime and @bWhite=0
|
|
BEGIN
|
|
RETURN(7)
|
|
END
|
|
|
|
IF (@iRegis > 0) AND (@tStartTime IS NOT NULL) AND (@bWhite=0)
|
|
BEGIN
|
|
IF DATEDIFF(DAY,@tStartTime,GETDATE()) > @iRegis
|
|
RETURN(7)
|
|
END
|
|
|
|
IF (@iRegCount <> 0) AND (@bWhite=0)
|
|
BEGIN
|
|
DECLARE @nTotal INT
|
|
SELECT @nTotal = COUNT(DISTINCT FLD_ACCOUNT) FROM TBL_CHARACTER WHERE FLD_DELETED = 0;
|
|
IF (@nTotal >= @iRegCount)
|
|
RETURN(7)
|
|
END
|
|
|
|
SELECT @nNum = COUNT(*) FROM TBL_CHARACTER WHERE FLD_ACCOUNT=@sAccount AND (FLD_DELETED=0) AND FLD_SERVERID=@sServerID
|
|
|
|
IF @nNum >= 6
|
|
RETURN(3)
|
|
|
|
IF @nNum >= 1
|
|
SET @IsFirstChar = 0
|
|
ELSE
|
|
SET @IsFirstChar = 1
|
|
|
|
INSERT INTO TBL_CHARACTER
|
|
(
|
|
FLD_USERID,
|
|
FLD_CHARACTER,
|
|
FLD_ACCOUNT,
|
|
FLD_SEX,
|
|
FLD_JOB,
|
|
FLD_UPDATEDATETIME,
|
|
FLD_MAKEDATE,
|
|
FLD_ISFIRSTCHAR,
|
|
FLD_MAPNAME,
|
|
FLD_HOMEMAP,
|
|
FLD_SDKID,
|
|
FLD_SERVERID,
|
|
FLD_HEROUSERID,
|
|
FLD_HERONAME,
|
|
FLD_VARCLEARTIME
|
|
)
|
|
|
|
VALUES
|
|
(
|
|
@sUserID,
|
|
@sChrName,
|
|
@sAccount,
|
|
@btSex,
|
|
@btJob,
|
|
GETDATE(),
|
|
GETDATE(),
|
|
@IsFirstChar,
|
|
'',
|
|
'',
|
|
@sSdkId,
|
|
@sServerID,
|
|
@sHeroID,
|
|
@sHeroName,
|
|
GETDATE()
|
|
)
|
|
|
|
DECLARE @new_sn BIGINT
|
|
DECLARE @new_id INT
|
|
SET @new_id=@@identity
|
|
|
|
--本地默认区服ID1
|
|
SET @new_sn= IIF(CAST(@sMainServerID AS BIGINT)=0,1,CAST(@sMainServerID AS BIGINT)) * POWER(CAST(2 AS BIGINT),32) + NEXT VALUE FOR dbo.SeqIden
|
|
|
|
UPDATE TBL_CHARACTER SET FLD_USERID=@new_sn WHERE FLD_ID=@new_id
|
|
SET @sUserId = @new_sn
|
|
|
|
RETURN(0)
|
|
|
|
END
|
|
GO
|
|
|
|
-- =================202505212027增加PVP配置信息=================
|
|
|
|
IF NOT EXISTS (select name from syscolumns where id=object_id(N'TBL_CONFIG') AND NAME='PVPAddr')
|
|
BEGIN
|
|
ALTER TABLE TBL_CONFIG ADD PVPAddr [varchar](50) NULL;
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (select name from syscolumns where id=object_id(N'TBL_CONFIG') AND NAME='PVPAddr')
|
|
BEGIN
|
|
ALTER TABLE TBL_CONFIG ADD PVPAddr [varchar](50) NULL;
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (select name from syscolumns where id=object_id(N'TBL_CONFIG') AND NAME='PVPPort')
|
|
BEGIN
|
|
ALTER TABLE TBL_CONFIG ADD PVPPort [int] NULL;
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (select name from syscolumns where id=object_id(N'TBL_CONFIG') AND NAME='PVPState')
|
|
BEGIN
|
|
ALTER TABLE TBL_CONFIG ADD PVPState [int] NULL;
|
|
END
|
|
GO
|
|
-- =================202505212027增加中心服表=================
|
|
IF NOT EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[TBL_PVP_USER]') AND type IN ('U'))
|
|
BEGIN
|
|
CREATE TABLE [dbo].[TBL_PVP_USER](
|
|
[FLD_USERID] [varchar](50) NOT NULL,
|
|
[FLD_CHARNAME] [varchar](50) NULL,
|
|
[FLD_VALUE1] [int] NULL,
|
|
[FLD_VALUE2] [int] NULL,
|
|
[FLD_VALUE3] [int] NULL,
|
|
[FLD_WIN] [int] NULL,
|
|
[FLD_LOSE] [int] NULL,
|
|
[FLD_JOB] [int] NULL,
|
|
[FLD_SEX] [int] NULL,
|
|
[FLD_LEVEL] [int] NULL,
|
|
[FLD_DRESS] [int] NULL,
|
|
[FLD_WEAPON] [int] NULL,
|
|
[FLD_GAMENAME] [varchar](50) NULL,
|
|
[FLD_GAMEID] [int] NULL,
|
|
[FLD_SERVERID] [int] NULL,
|
|
[FLD_TUPDATETIME] [datetime] NULL,
|
|
CONSTRAINT [PK_TBL_PVP_USER] PRIMARY KEY CLUSTERED
|
|
(
|
|
[FLD_USERID] ASC
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
|
) ON [PRIMARY]
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|