- 中查找“彻底删除复制物品的方法”更多相关内容
- 中查找“彻底删除复制物品的方法”更多相关内容
- ·上一篇文章:传奇三细致调配爆率浅析
- ·下一篇文章:绝情塔地图连接文件
彻底删除复制物品的方法
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TBL_ALLITEM]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[TBL_ALLITEM] GO CREATE TABLE [dbo].[TBL_ALLITEM] ( [FLD_CHARACTER] [char] (15) COLLATE Chinese_PRC_CI_AS NOT NULL , [FLD_TYPE] [tinyint] NULL , [FLD_MAKEINDEX] [int] NOT NULL , [FLD_TID] [varchar] (30) NOT NULL , [FLD_INDEX] [int] NOT NULL , [Place] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO --首先删除玩家刚摘下来的装备,就是TBL_ITEM表中,FLD_INDEX=0的那些装备 DELETE FROM [game1].[dbo].[TBL_ITEM] WHERE [FLD_INDEX] = 0 --从玩家身上/包袱获取数据 INSERT INTO [game1].[dbo].[TBL_ALLITEM]([FLD_CHARACTER], [FLD_TYPE], [FLD_MAKEINDEX],[FLD_TID],[FLD_INDEX],[Place]) SELECT [FLD_CHARACTER], [FLD_TYPE], [FLD_MAKEINDEX], LTRIM(STR([FLD_MAKEINDEX]))+LTRIM(STR([FLD_INDEX])) AS FLD_TID,[FLD_INDEX],'身上' AS Place FROM [game1].[dbo].[TBL_ITEM] GO --从仓库获取数据 INSERT INTO [game1].[dbo].[TBL_ALLITEM]([FLD_CHARACTER], [FLD_TYPE], [FLD_MAKEINDEX],[FLD_TID],[FLD_INDEX],[Place]) SELECT [FLD_CHARACTER], [FLD_TYPE], [FLD_MAKEINDEX], LTRIM(STR([FLD_MAKEINDEX]))+LTRIM(STR([FLD_INDEX])) AS FLD_TID,[FLD_INDEX],'仓库' AS Place FROM [game1].[dbo].[TBL_SAVEDITEM] GO --从寄售获取数据 INSERT INTO [game1].[dbo].[TBL_ALLITEM]([FLD_CHARACTER], [FLD_TYPE], [FLD_MAKEINDEX],[FLD_TID],[FLD_INDEX],[Place]) SELECT [FLD_SELLWHO], [FLD_ITEMTYPE], [FLD_ITEM_MAKEINDEX], LTRIM(STR([FLD_ITEM_MAKEINDEX]))+LTRIM(STR([FLD_ITEM_INDEX])) AS FLD_TID,[FLD_ITEM_INDEX],'寄售' AS Place FROM [game1].[dbo].[TBL_ITEMMARKET] WHERE [GAME1].[DBO].[TBL_ITEMMARKET].[fld_sellok]=0 GO --记录将要删除的复制装备 if not exists (select * from dbo.sysobjects where id = object_id(N'[game1].[dbo].[TBL__DELLOG]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) CREATE TABLE [game1].[dbo].[TBL__DELLOG] ( [删除日期] datetime not null, [FLD_MAKEINDEX] [int] NOT NULL , [角色名] [char] (15) COLLATE Chinese_PRC_CI_AS NOT NULL , [装备代码] [int] NULL , [存放地点] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO INSERT INTO [game1].[dbo].[TBL__DELLOG]([删除日期],[FLD_MAKEINDEX],[装备代码],[角色名],[存放地点])--,[装备名称] SELECT getdate() as 删除日期,[FLD_MAKEINDEX] , [FLD_INDEX]-1 AS 装备代码,[FLD_CHARACTER] AS 角色名, [Place] AS 存放地点--,[Name] AS 装备名称 FROM [game1].[dbo].[TBL_ALLITEM] WHERE ((([FLD_TID]) In (SELECT [FLD_TID] FROM [TBL_ALLITEM] As Tmp GROUP BY [FLD_TID] HAVING Count([FLD_TID])>1 ))) ORDER BY [FLD_MAKEINDEX] GO --遂个删除复制装备 DECLARE @T_ID char (30),@I_MAKEINDEX int , @V_Place varchar (10) DECLARE D_ITEMS_cursor CURSOR FOR SELECT [FLD_TID],[FLD_MAKEINDEX],[Place] FROM [game1].[dbo].[TBL_ALLITEM] WHERE ((([FLD_TID]) In (SELECT [FLD_TID] FROM [TBL_ALLITEM] As Tmp GROUP BY [FLD_TID] HAVING Count([FLD_TID])>1 ))) ORDER BY [FLD_MAKEINDEX] OPEN D_ITEMS_cursor FETCH NEXT FROM D_ITEMS_cursor INTO @T_ID,@I_MAKEINDEX,@V_Place WHILE @@FETCH_STATUS = 0 BEGIN BEGIN IF @V_Place = '仓库' DELETE FROM [game1].[dbo].[TBL_SAVEDITEM] WHERE [FLD_MAKEINDEX] = @I_MAKEINDEX ELSE IF @V_Place = '身上' DELETE FROM [game1].[dbo].[TBL_ITEM] WHERE [FLD_MAKEINDEX] = @I_MAKEINDEX ELSE DELETE FROM [game1].[dbo].[TBL_ITEMMARKET] WHERE [FLD_ITEM_MAKEINDEX] = @I_MAKEINDEX END FETCH NEXT FROM D_ITEMS_cursor INTO @T_ID,@I_MAKEINDEX,@V_Place END CLOSE D_ITEMS_cursor DEALLOCATE D_ITEMS_cursor GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TBL_ALLITEM]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[TBL_ALLITEM] GO 在寄售的地方+了1个是否卖出的判断 然后建议把 mud3下的 market目录下的 marketsave目录 手动清空1下 很多商店里卖的垃圾 也有不少相同的 makeindex 使用了以上2个办法后 应该无相同的makeindex物品了 如果有漏洞 请大家提出商业完整版游戏发布站程序免费下载:www.98youx.com
Tags:
作者:佚名评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论