Guest HackHunter Posted July 11, 2011 Share Posted July 11, 2011 17:00:32 connect : [4806][201.255.22.210] 17:00:33 connect : [4807][190.224.207.143] 17:00:43 connect : [4808][201.250.238.79] 17:00:53 (4803)logout : [201.250.190.27] error-L1 : CloseClient INVALID_SOCKET 17:00:53 connect : [4809][190.224.207.253] error-L1 : CloseClient INVALID_SOCKET 17:00:56 connect : [4810][200.29.248.26] 17:00:57 connect : [4811][201.254.76.67] 17:00:59 join send : (4811)maxxxx error-L1 : CloseClient INVALID_SOCKET 17:00:59 login [201.254.76.67] : [maxxxx] numer:12791/ db:1 17:00:59 [maxxxx][] BillType : (3) Fix Eror-Query Analyzer if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[MEMB_STAT_GJ]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[MEMB_STAT_GJ] GO CREATE TABLE [dbo].[MEMB_STAT_GJ] ( [memb___id] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL , [name] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL , [serverName] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL , [serverCode] [int] NULL , [iP] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL , [TM] [datetime] NULL ) ON [PRIMARY] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[WZ_CONNECT_MEMB]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[WZ_CONNECT_MEMB] GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS OFF GO CREATE PROCEDURE WZ_CONNECT_MEMB @uid varchar(10), @server varchar(20), @uip varchar(20) AS Begin BEGIN TRANSACTION SET NOCOUNT ON IF EXISTS ( SELECT memb___id FROM MEMB_STAT WITH (READUNCOMMITTED) WHERE memb___id = @uid ) Begin UPDATE MEMB_STAT SET ip = @uip , connectstat = 1 , servername = @server , ConnectTM = (getdate()) WHERE memb___id = @uid End ELSE Begin INSERT INTO MEMB_STAT ( memb___id,ip,connectstat,servername) valueS (@uid,@uip,1,@server ) End IF(@@Error <> 0 ) ROLLBACK TRANSACTION ELSE COMMIT TRANSACTION --写入登录记录 IF EXISTS ( SELECT UserID FROM UserLogin WITH (READUNCOMMITTED) WHERE UserID = @uid ) Begin UPDATE UserLogin SET LoginIP=@uip,Server=@server,LoginTM = (getdate()),OnlineSec=0,GiveMoney=0,logoutTM=null WHERE UserID = @uid End ELSE Begin INSERT INTO UserLogin (UserID,LoginIP,Server,LoginTM,OnlineSec,GiveMoney ) values (@uid,@uip,@server,getdate(),0,0) End --自动封服务器不准进入的人物 declare @SmallestZS int declare @LargestZS int declare @Type int select @Type=Type from SetServerList where ServerName=@server if (@Type>0) begin select @SmallestZS=Smallest_ZS from SetServerList where ServerName=@server select @LargestZS=Largest_ZS from SetServerList where ServerName=@server if not (@SmallestZS is null) begin update character set ctlcode=(ctlcode | 0x81) where [name] not in ( SELECT NAME FROM WEB_ZS WHERE (ACC = @uid) AND (ZSCS >= @LargestZS) AND (ZSCS <= @SmallestZS) ) AND (AccountID = @uid) end end DELETE FROM MEMB_STAT_GJ WHERE (memb___id = @uid and servername=@server) update character set ctlcode=(ctlcode | 0x81) where [name] in ( SELECT name FROM MEMB_STAT_GJ WHERE (memb___id = @uid) ) AND (AccountID = @uid) SET NOCOUNT OFF End GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO Link to comment Share on other sites More sharing options...
Recommended Posts