Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Scroes CW

Newbie Spellweaver
Joined
Jan 26, 2007
Messages
80
Reaction score
0
Ok, finished.

spWinTheClanGame:
Code:
USE [GunzDB]
GO
/****** Object:  StoredProcedure [dbo].[spWinTheClanGame]    Script Date: 12/11/2007 14:40:03 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

/****** Object:  Stored Procedure dbo.spWinTheClanGame    Script Date: 5/10/2007 3:42:10 PM ******/

-- 클랜전 결과 업데이트  
ALTER  PROC [dbo].[spWinTheClanGame]  
 @WinnerCLID  int,  
 @LoserCLID  int,  
 @IsDrawGame  tinyint,  
 @WinnerPoint  int,  
 @LoserPoint  int,  
 @WinnerClanName  varchar(24),  
 @LoserClanName  varchar(24),  
 @RoundWins  tinyint,  
 @RoundLosses  tinyint,  
 @MapID   tinyint,  
 @GameType  tinyint,  
 @WinnerMembers  varchar(110),  
 @LoserMembers  varchar(110)  
AS  
 SET NOCOUNT ON -- 추가.  
  
 IF @IsDrawGame = 0  
 BEGIN  
  BEGIN TRAN  
  -- 이긴팀 Wins+1  
  UPDATE Clan SET Wins=Wins+1, Point=Point+@WinnerPoint, TotalPoint=TotalPoint+@WinnerPoint WHERE CLID=@WinnerCLID  
  IF 0 = @@ROWCOUNT BEGIN -- 여기 추가.  
   ROLLBACK TRAN  
   RETURN  
  END  
  
  -- 진팀 Losses+1  
  UPDATE Clan SET Losses=Losses+1, Point= dbo.fnGetMax(0, Point+(@LoserPoint)) WHERE CLID=@LoserCLID  
  IF 0 = @@ROWCOUNT BEGIN -- 여기 추가.  
   ROLLBACK TRAN  
   RETURN  
  END  
--  UPDATE Clan SET Point=0 WHERE CLID=@LoserCLID AND Point<0  
  
  -- 전적 로그를 남긴다.  
  INSERT INTO ClanGameLog(WinnerCLID, LoserCLID, WinnerClanName, LoserClanName, RoundWins, RoundLosses, MapID, GameType, RegDate, WinnerMembers, LoserMembers, WinnerPoint, LoserPoint)  
  VALUES (@WinnerCLID, @LoserCLID, @WinnerClanName, @LoserClanName, @RoundWins, @RoundLosses, @MapID, @GameType, GETDATE(), @WinnerMembers, @LoserMembers, @WinnerPoint, @LoserPoint)  
  IF 0 <> @@ERROR BEGIN -- 여기 추가.  
   ROLLBACK TRAN  
   RETURN  
  END  
  COMMIT TRAN  
 END  
 ELSE  
 BEGIN  
  UPDATE Clan SET Draws=Draws+1 WHERE CLID=@WinnerCLID OR CLID=@LoserCLID  
 END
fnGetMax
Code:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fnGetMax]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[fnGetMax]
GO

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

/****** Object:  Function fnGetMax   by tester001    Script Date: 12/11/2007 14:40:03 ******/
-- Function to return the highest of two numbers

CREATE function [dbo].[fnGetMax] (@num1 int, @num2 int)
returns int
as
begin
    if @num1 > @num2
    begin
        return @num1
    end
    return @num2
end



GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
How to use: Copy and paste that spWinTheClanGame in place of your old spWinTheClanGame, and Execute.
Right click at "GunzDB" and click "New Query". Paste fnGetMax, right click and click Execute.

Backup first, as always.
Thanks to tester001.

Now let's get quest to work >:D


Boton search please
 
Upvote 0
Back
Top